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 sovereign service API entry point.
+ *
+ * @param credential the credential to use.
+ * @param profile the Azure profile for client.
+ * @return the sovereign service API instance.
+ */
+ public SovereignManager 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.sovereign")
+ .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 BearerTokenAuthenticationPolicy(credential, scopes.toArray(new String[0])));
+ policies.addAll(this.policies.stream()
+ .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
+ .collect(Collectors.toList()));
+ HttpPolicyProviders.addAfterRetryPolicies(policies);
+ policies.add(new HttpLoggingPolicy(httpLogOptions));
+ HttpPipeline httpPipeline = new HttpPipelineBuilder().httpClient(httpClient)
+ .policies(policies.toArray(new HttpPipelinePolicy[0]))
+ .build();
+ return new SovereignManager(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 LandingZoneAccountOperations. It manages LandingZoneAccountResource.
+ *
+ * @return Resource collection API of LandingZoneAccountOperations.
+ */
+ public LandingZoneAccountOperations landingZoneAccountOperations() {
+ if (this.landingZoneAccountOperations == null) {
+ this.landingZoneAccountOperations
+ = new LandingZoneAccountOperationsImpl(clientObject.getLandingZoneAccountOperations(), this);
+ }
+ return landingZoneAccountOperations;
+ }
+
+ /**
+ * Gets the resource collection API of LandingZoneConfigurationOperations. It manages
+ * LandingZoneConfigurationResource.
+ *
+ * @return Resource collection API of LandingZoneConfigurationOperations.
+ */
+ public LandingZoneConfigurationOperations landingZoneConfigurationOperations() {
+ if (this.landingZoneConfigurationOperations == null) {
+ this.landingZoneConfigurationOperations = new LandingZoneConfigurationOperationsImpl(
+ clientObject.getLandingZoneConfigurationOperations(), this);
+ }
+ return landingZoneConfigurationOperations;
+ }
+
+ /**
+ * Gets the resource collection API of LandingZoneRegistrationOperations. It manages
+ * LandingZoneRegistrationResource.
+ *
+ * @return Resource collection API of LandingZoneRegistrationOperations.
+ */
+ public LandingZoneRegistrationOperations landingZoneRegistrationOperations() {
+ if (this.landingZoneRegistrationOperations == null) {
+ this.landingZoneRegistrationOperations
+ = new LandingZoneRegistrationOperationsImpl(clientObject.getLandingZoneRegistrationOperations(), this);
+ }
+ return landingZoneRegistrationOperations;
+ }
+
+ /**
+ * Gets wrapped service client MicrosoftSovereign providing direct access to the underlying auto-generated API
+ * implementation, based on Azure REST API.
+ *
+ * @return Wrapped service client MicrosoftSovereign.
+ */
+ public MicrosoftSovereign serviceClient() {
+ return this.clientObject;
+ }
+}
diff --git a/sdk/sovereign/azure-resourcemanager-sovereign/src/main/java/com/azure/resourcemanager/sovereign/fluent/LandingZoneAccountOperationsClient.java b/sdk/sovereign/azure-resourcemanager-sovereign/src/main/java/com/azure/resourcemanager/sovereign/fluent/LandingZoneAccountOperationsClient.java
new file mode 100644
index 000000000000..60099082dcd9
--- /dev/null
+++ b/sdk/sovereign/azure-resourcemanager-sovereign/src/main/java/com/azure/resourcemanager/sovereign/fluent/LandingZoneAccountOperationsClient.java
@@ -0,0 +1,278 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.sovereign.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.sovereign.fluent.models.LandingZoneAccountResourceInner;
+import com.azure.resourcemanager.sovereign.models.LandingZoneAccountResourceUpdate;
+
+/**
+ * An instance of this class provides access to all the operations defined in LandingZoneAccountOperationsClient.
+ */
+public interface LandingZoneAccountOperationsClient {
+ /**
+ * List the landing zone accounts within a subscription.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a LandingZoneAccountResource list operation as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * List the landing zone accounts within a subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a LandingZoneAccountResource list operation as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+
+ /**
+ * List the landing zone accounts within a resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a LandingZoneAccountResource list operation as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * List the landing zone accounts within a resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a LandingZoneAccountResource list operation as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * Get a landing zone account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a landing zone account along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(String resourceGroupName,
+ String landingZoneAccountName, Context context);
+
+ /**
+ * Get a landing zone account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a landing zone account.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ LandingZoneAccountResourceInner getByResourceGroup(String resourceGroupName, String landingZoneAccountName);
+
+ /**
+ * Create a landing zone account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param resource Resource create parameters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the Landing zone account resource type.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, LandingZoneAccountResourceInner>
+ beginCreate(String resourceGroupName, String landingZoneAccountName, LandingZoneAccountResourceInner resource);
+
+ /**
+ * Create a landing zone account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param resource Resource create parameters.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the Landing zone account resource type.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, LandingZoneAccountResourceInner> beginCreate(
+ String resourceGroupName, String landingZoneAccountName, LandingZoneAccountResourceInner resource,
+ Context context);
+
+ /**
+ * Create a landing zone account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param resource Resource create parameters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the Landing zone account resource type.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ LandingZoneAccountResourceInner create(String resourceGroupName, String landingZoneAccountName,
+ LandingZoneAccountResourceInner resource);
+
+ /**
+ * Create a landing zone account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param resource Resource create parameters.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the Landing zone account resource type.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ LandingZoneAccountResourceInner create(String resourceGroupName, String landingZoneAccountName,
+ LandingZoneAccountResourceInner resource, Context context);
+
+ /**
+ * Update a landing zone account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param properties The resource properties to be updated.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the Landing zone account resource type.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, LandingZoneAccountResourceInner> beginUpdate(
+ String resourceGroupName, String landingZoneAccountName, LandingZoneAccountResourceUpdate properties);
+
+ /**
+ * Update a landing zone account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param properties The resource properties to be updated.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the Landing zone account resource type.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, LandingZoneAccountResourceInner> beginUpdate(
+ String resourceGroupName, String landingZoneAccountName, LandingZoneAccountResourceUpdate properties,
+ Context context);
+
+ /**
+ * Update a landing zone account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param properties The resource properties to be updated.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the Landing zone account resource type.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ LandingZoneAccountResourceInner update(String resourceGroupName, String landingZoneAccountName,
+ LandingZoneAccountResourceUpdate properties);
+
+ /**
+ * Update a landing zone account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param properties The resource properties to be updated.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the Landing zone account resource type.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ LandingZoneAccountResourceInner update(String resourceGroupName, String landingZoneAccountName,
+ LandingZoneAccountResourceUpdate properties, Context context);
+
+ /**
+ * Deletes a landing zone account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String landingZoneAccountName);
+
+ /**
+ * Deletes a landing zone account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String landingZoneAccountName,
+ Context context);
+
+ /**
+ * Deletes a landing zone account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String landingZoneAccountName);
+
+ /**
+ * Deletes a landing zone account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String landingZoneAccountName, Context context);
+}
diff --git a/sdk/sovereign/azure-resourcemanager-sovereign/src/main/java/com/azure/resourcemanager/sovereign/fluent/LandingZoneConfigurationOperationsClient.java b/sdk/sovereign/azure-resourcemanager-sovereign/src/main/java/com/azure/resourcemanager/sovereign/fluent/LandingZoneConfigurationOperationsClient.java
new file mode 100644
index 000000000000..51bc0445efae
--- /dev/null
+++ b/sdk/sovereign/azure-resourcemanager-sovereign/src/main/java/com/azure/resourcemanager/sovereign/fluent/LandingZoneConfigurationOperationsClient.java
@@ -0,0 +1,521 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.sovereign.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.sovereign.fluent.models.CreateLandingZoneConfigurationCopyResponseInner;
+import com.azure.resourcemanager.sovereign.fluent.models.GenerateLandingZoneResponseInner;
+import com.azure.resourcemanager.sovereign.fluent.models.LandingZoneConfigurationResourceInner;
+import com.azure.resourcemanager.sovereign.fluent.models.UpdateAuthoringStatusResponseInner;
+import com.azure.resourcemanager.sovereign.models.CreateLandingZoneConfigurationCopyRequest;
+import com.azure.resourcemanager.sovereign.models.GenerateLandingZoneRequest;
+import com.azure.resourcemanager.sovereign.models.LandingZoneConfigurationResourceUpdate;
+import com.azure.resourcemanager.sovereign.models.UpdateAuthoringStatusRequest;
+
+/**
+ * An instance of this class provides access to all the operations defined in LandingZoneConfigurationOperationsClient.
+ */
+public interface LandingZoneConfigurationOperationsClient {
+ /**
+ * List the landing zone configurations within a subscription.
+ *
+ * @param landingZoneAccountName The landing zone account.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a LandingZoneConfigurationResource list operation as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listBySubscription(String landingZoneAccountName);
+
+ /**
+ * List the landing zone configurations within a subscription.
+ *
+ * @param landingZoneAccountName The landing zone account.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a LandingZoneConfigurationResource list operation as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listBySubscription(String landingZoneAccountName,
+ Context context);
+
+ /**
+ * List the landing zone configurations within a resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a LandingZoneConfigurationResource list operation as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName,
+ String landingZoneAccountName);
+
+ /**
+ * List the landing zone configurations within a resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a LandingZoneConfigurationResource list operation as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName,
+ String landingZoneAccountName, Context context);
+
+ /**
+ * Get a landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a landing zone configuration along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName,
+ String landingZoneAccountName, String landingZoneConfigurationName, Context context);
+
+ /**
+ * Get a landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a landing zone configuration.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ LandingZoneConfigurationResourceInner get(String resourceGroupName, String landingZoneAccountName,
+ String landingZoneConfigurationName);
+
+ /**
+ * Create a landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param resource Resource create parameters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of concrete proxy resource types can be created by aliasing this type
+ * using a specific property type.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, LandingZoneConfigurationResourceInner> beginCreate(
+ String resourceGroupName, String landingZoneAccountName, String landingZoneConfigurationName,
+ LandingZoneConfigurationResourceInner resource);
+
+ /**
+ * Create a landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param resource Resource create parameters.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of concrete proxy resource types can be created by aliasing this type
+ * using a specific property type.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, LandingZoneConfigurationResourceInner> beginCreate(
+ String resourceGroupName, String landingZoneAccountName, String landingZoneConfigurationName,
+ LandingZoneConfigurationResourceInner resource, Context context);
+
+ /**
+ * Create a landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param resource Resource create parameters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return concrete proxy resource types can be created by aliasing this type using a specific property type.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ LandingZoneConfigurationResourceInner create(String resourceGroupName, String landingZoneAccountName,
+ String landingZoneConfigurationName, LandingZoneConfigurationResourceInner resource);
+
+ /**
+ * Create a landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param resource Resource create parameters.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return concrete proxy resource types can be created by aliasing this type using a specific property type.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ LandingZoneConfigurationResourceInner create(String resourceGroupName, String landingZoneAccountName,
+ String landingZoneConfigurationName, LandingZoneConfigurationResourceInner resource, Context context);
+
+ /**
+ * Update a landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param properties The resource properties to be updated.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of concrete proxy resource types can be created by aliasing this type
+ * using a specific property type.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, LandingZoneConfigurationResourceInner> beginUpdate(
+ String resourceGroupName, String landingZoneAccountName, String landingZoneConfigurationName,
+ LandingZoneConfigurationResourceUpdate properties);
+
+ /**
+ * Update a landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param properties The resource properties to be updated.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of concrete proxy resource types can be created by aliasing this type
+ * using a specific property type.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, LandingZoneConfigurationResourceInner> beginUpdate(
+ String resourceGroupName, String landingZoneAccountName, String landingZoneConfigurationName,
+ LandingZoneConfigurationResourceUpdate properties, Context context);
+
+ /**
+ * Update a landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param properties The resource properties to be updated.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return concrete proxy resource types can be created by aliasing this type using a specific property type.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ LandingZoneConfigurationResourceInner update(String resourceGroupName, String landingZoneAccountName,
+ String landingZoneConfigurationName, LandingZoneConfigurationResourceUpdate properties);
+
+ /**
+ * Update a landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param properties The resource properties to be updated.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return concrete proxy resource types can be created by aliasing this type using a specific property type.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ LandingZoneConfigurationResourceInner update(String resourceGroupName, String landingZoneAccountName,
+ String landingZoneConfigurationName, LandingZoneConfigurationResourceUpdate properties, Context context);
+
+ /**
+ * Delete a landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String landingZoneAccountName,
+ String landingZoneConfigurationName);
+
+ /**
+ * Delete a landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String landingZoneAccountName,
+ String landingZoneConfigurationName, Context context);
+
+ /**
+ * Delete a landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String landingZoneAccountName, String landingZoneConfigurationName);
+
+ /**
+ * Delete a landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String landingZoneAccountName, String landingZoneConfigurationName,
+ Context context);
+
+ /**
+ * Create a duplicate of the landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param body The content of the action request.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the response of the create duplicate landing zone configuration.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CreateLandingZoneConfigurationCopyResponseInner>
+ beginCreateCopy(String resourceGroupName, String landingZoneAccountName, String landingZoneConfigurationName,
+ CreateLandingZoneConfigurationCopyRequest body);
+
+ /**
+ * Create a duplicate of the landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param body The content of the action request.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the response of the create duplicate landing zone configuration.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CreateLandingZoneConfigurationCopyResponseInner>
+ beginCreateCopy(String resourceGroupName, String landingZoneAccountName, String landingZoneConfigurationName,
+ CreateLandingZoneConfigurationCopyRequest body, Context context);
+
+ /**
+ * Create a duplicate of the landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param body The content of the action request.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of the create duplicate landing zone configuration.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CreateLandingZoneConfigurationCopyResponseInner createCopy(String resourceGroupName, String landingZoneAccountName,
+ String landingZoneConfigurationName, CreateLandingZoneConfigurationCopyRequest body);
+
+ /**
+ * Create a duplicate of the landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param body The content of the action request.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of the create duplicate landing zone configuration.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CreateLandingZoneConfigurationCopyResponseInner createCopy(String resourceGroupName, String landingZoneAccountName,
+ String landingZoneConfigurationName, CreateLandingZoneConfigurationCopyRequest body, Context context);
+
+ /**
+ * Generate infrastructure as code (IaC) for a landing zone deployment.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param body The content of the action request.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the response payload for generating infrastructure-as-code for the
+ * landing zone.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, GenerateLandingZoneResponseInner> beginGenerateLandingZone(
+ String resourceGroupName, String landingZoneAccountName, String landingZoneConfigurationName,
+ GenerateLandingZoneRequest body);
+
+ /**
+ * Generate infrastructure as code (IaC) for a landing zone deployment.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param body The content of the action request.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the response payload for generating infrastructure-as-code for the
+ * landing zone.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, GenerateLandingZoneResponseInner> beginGenerateLandingZone(
+ String resourceGroupName, String landingZoneAccountName, String landingZoneConfigurationName,
+ GenerateLandingZoneRequest body, Context context);
+
+ /**
+ * Generate infrastructure as code (IaC) for a landing zone deployment.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param body The content of the action request.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response payload for generating infrastructure-as-code for the landing zone.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ GenerateLandingZoneResponseInner generateLandingZone(String resourceGroupName, String landingZoneAccountName,
+ String landingZoneConfigurationName, GenerateLandingZoneRequest body);
+
+ /**
+ * Generate infrastructure as code (IaC) for a landing zone deployment.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param body The content of the action request.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response payload for generating infrastructure-as-code for the landing zone.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ GenerateLandingZoneResponseInner generateLandingZone(String resourceGroupName, String landingZoneAccountName,
+ String landingZoneConfigurationName, GenerateLandingZoneRequest body, Context context);
+
+ /**
+ * Update the authoring status on a landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param body The content of the action request.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the response for authoring status update request.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, UpdateAuthoringStatusResponseInner>
+ beginUpdateAuthoringStatus(String resourceGroupName, String landingZoneAccountName,
+ String landingZoneConfigurationName, UpdateAuthoringStatusRequest body);
+
+ /**
+ * Update the authoring status on a landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param body The content of the action request.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the response for authoring status update request.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, UpdateAuthoringStatusResponseInner>
+ beginUpdateAuthoringStatus(String resourceGroupName, String landingZoneAccountName,
+ String landingZoneConfigurationName, UpdateAuthoringStatusRequest body, Context context);
+
+ /**
+ * Update the authoring status on a landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param body The content of the action request.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response for authoring status update request.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ UpdateAuthoringStatusResponseInner updateAuthoringStatus(String resourceGroupName, String landingZoneAccountName,
+ String landingZoneConfigurationName, UpdateAuthoringStatusRequest body);
+
+ /**
+ * Update the authoring status on a landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param body The content of the action request.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response for authoring status update request.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ UpdateAuthoringStatusResponseInner updateAuthoringStatus(String resourceGroupName, String landingZoneAccountName,
+ String landingZoneConfigurationName, UpdateAuthoringStatusRequest body, Context context);
+}
diff --git a/sdk/sovereign/azure-resourcemanager-sovereign/src/main/java/com/azure/resourcemanager/sovereign/fluent/LandingZoneRegistrationOperationsClient.java b/sdk/sovereign/azure-resourcemanager-sovereign/src/main/java/com/azure/resourcemanager/sovereign/fluent/LandingZoneRegistrationOperationsClient.java
new file mode 100644
index 000000000000..524f039c5c45
--- /dev/null
+++ b/sdk/sovereign/azure-resourcemanager-sovereign/src/main/java/com/azure/resourcemanager/sovereign/fluent/LandingZoneRegistrationOperationsClient.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.sovereign.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.sovereign.fluent.models.LandingZoneRegistrationResourceInner;
+import com.azure.resourcemanager.sovereign.models.LandingZoneRegistrationResourceUpdate;
+
+/**
+ * An instance of this class provides access to all the operations defined in LandingZoneRegistrationOperationsClient.
+ */
+public interface LandingZoneRegistrationOperationsClient {
+ /**
+ * List the landing zone registrations within a subscription.
+ *
+ * @param landingZoneAccountName The landing zone account.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a LandingZoneRegistrationResource list operation as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listBySubscription(String landingZoneAccountName);
+
+ /**
+ * List the landing zone registrations within a subscription.
+ *
+ * @param landingZoneAccountName The landing zone account.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a LandingZoneRegistrationResource list operation as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listBySubscription(String landingZoneAccountName,
+ Context context);
+
+ /**
+ * List the landing zone registrations within a resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a LandingZoneRegistrationResource list operation as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName,
+ String landingZoneAccountName);
+
+ /**
+ * List the landing zone registrations within a resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a LandingZoneRegistrationResource list operation as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName,
+ String landingZoneAccountName, Context context);
+
+ /**
+ * Get a landing zone registration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneRegistrationName The name of the landing zone registration resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a landing zone registration along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName,
+ String landingZoneAccountName, String landingZoneRegistrationName, Context context);
+
+ /**
+ * Get a landing zone registration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneRegistrationName The name of the landing zone registration resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a landing zone registration.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ LandingZoneRegistrationResourceInner get(String resourceGroupName, String landingZoneAccountName,
+ String landingZoneRegistrationName);
+
+ /**
+ * Create a landing zone registration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneRegistrationName The name of the landing zone registration resource.
+ * @param resource Resource create parameters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the Landing zone registration resource type.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, LandingZoneRegistrationResourceInner> beginCreate(
+ String resourceGroupName, String landingZoneAccountName, String landingZoneRegistrationName,
+ LandingZoneRegistrationResourceInner resource);
+
+ /**
+ * Create a landing zone registration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneRegistrationName The name of the landing zone registration resource.
+ * @param resource Resource create parameters.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the Landing zone registration resource type.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, LandingZoneRegistrationResourceInner> beginCreate(
+ String resourceGroupName, String landingZoneAccountName, String landingZoneRegistrationName,
+ LandingZoneRegistrationResourceInner resource, Context context);
+
+ /**
+ * Create a landing zone registration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneRegistrationName The name of the landing zone registration resource.
+ * @param resource Resource create parameters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the Landing zone registration resource type.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ LandingZoneRegistrationResourceInner create(String resourceGroupName, String landingZoneAccountName,
+ String landingZoneRegistrationName, LandingZoneRegistrationResourceInner resource);
+
+ /**
+ * Create a landing zone registration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneRegistrationName The name of the landing zone registration resource.
+ * @param resource Resource create parameters.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the Landing zone registration resource type.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ LandingZoneRegistrationResourceInner create(String resourceGroupName, String landingZoneAccountName,
+ String landingZoneRegistrationName, LandingZoneRegistrationResourceInner resource, Context context);
+
+ /**
+ * Update a landing zone registration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneRegistrationName The name of the landing zone registration resource.
+ * @param properties The resource properties to be updated.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the Landing zone registration resource type.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, LandingZoneRegistrationResourceInner> beginUpdate(
+ String resourceGroupName, String landingZoneAccountName, String landingZoneRegistrationName,
+ LandingZoneRegistrationResourceUpdate properties);
+
+ /**
+ * Update a landing zone registration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneRegistrationName The name of the landing zone registration resource.
+ * @param properties The resource properties to be updated.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the Landing zone registration resource type.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, LandingZoneRegistrationResourceInner> beginUpdate(
+ String resourceGroupName, String landingZoneAccountName, String landingZoneRegistrationName,
+ LandingZoneRegistrationResourceUpdate properties, Context context);
+
+ /**
+ * Update a landing zone registration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneRegistrationName The name of the landing zone registration resource.
+ * @param properties The resource properties to be updated.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the Landing zone registration resource type.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ LandingZoneRegistrationResourceInner update(String resourceGroupName, String landingZoneAccountName,
+ String landingZoneRegistrationName, LandingZoneRegistrationResourceUpdate properties);
+
+ /**
+ * Update a landing zone registration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneRegistrationName The name of the landing zone registration resource.
+ * @param properties The resource properties to be updated.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the Landing zone registration resource type.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ LandingZoneRegistrationResourceInner update(String resourceGroupName, String landingZoneAccountName,
+ String landingZoneRegistrationName, LandingZoneRegistrationResourceUpdate properties, Context context);
+
+ /**
+ * Delete a landing zone registration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneRegistrationName The name of the landing zone registration resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(String resourceGroupName, String landingZoneAccountName,
+ String landingZoneRegistrationName, Context context);
+
+ /**
+ * Delete a landing zone registration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneRegistrationName The name of the landing zone registration resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String landingZoneAccountName, String landingZoneRegistrationName);
+}
diff --git a/sdk/sovereign/azure-resourcemanager-sovereign/src/main/java/com/azure/resourcemanager/sovereign/fluent/MicrosoftSovereign.java b/sdk/sovereign/azure-resourcemanager-sovereign/src/main/java/com/azure/resourcemanager/sovereign/fluent/MicrosoftSovereign.java
new file mode 100644
index 000000000000..69295c282e17
--- /dev/null
+++ b/sdk/sovereign/azure-resourcemanager-sovereign/src/main/java/com/azure/resourcemanager/sovereign/fluent/MicrosoftSovereign.java
@@ -0,0 +1,76 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.sovereign.fluent;
+
+import com.azure.core.http.HttpPipeline;
+import java.time.Duration;
+
+/**
+ * The interface for MicrosoftSovereign class.
+ */
+public interface MicrosoftSovereign {
+ /**
+ * Gets The ID of the target subscription. The value must be an UUID.
+ *
+ * @return the subscriptionId value.
+ */
+ String getSubscriptionId();
+
+ /**
+ * Gets server parameter.
+ *
+ * @return the endpoint value.
+ */
+ String getEndpoint();
+
+ /**
+ * Gets Api Version.
+ *
+ * @return the apiVersion value.
+ */
+ String getApiVersion();
+
+ /**
+ * Gets The HTTP pipeline to send requests through.
+ *
+ * @return the httpPipeline value.
+ */
+ HttpPipeline getHttpPipeline();
+
+ /**
+ * Gets The default poll interval for long-running operation.
+ *
+ * @return the defaultPollInterval value.
+ */
+ Duration getDefaultPollInterval();
+
+ /**
+ * Gets the OperationsClient object to access its operations.
+ *
+ * @return the OperationsClient object.
+ */
+ OperationsClient getOperations();
+
+ /**
+ * Gets the LandingZoneAccountOperationsClient object to access its operations.
+ *
+ * @return the LandingZoneAccountOperationsClient object.
+ */
+ LandingZoneAccountOperationsClient getLandingZoneAccountOperations();
+
+ /**
+ * Gets the LandingZoneConfigurationOperationsClient object to access its operations.
+ *
+ * @return the LandingZoneConfigurationOperationsClient object.
+ */
+ LandingZoneConfigurationOperationsClient getLandingZoneConfigurationOperations();
+
+ /**
+ * Gets the LandingZoneRegistrationOperationsClient object to access its operations.
+ *
+ * @return the LandingZoneRegistrationOperationsClient object.
+ */
+ LandingZoneRegistrationOperationsClient getLandingZoneRegistrationOperations();
+}
diff --git a/sdk/sovereign/azure-resourcemanager-sovereign/src/main/java/com/azure/resourcemanager/sovereign/fluent/OperationsClient.java b/sdk/sovereign/azure-resourcemanager-sovereign/src/main/java/com/azure/resourcemanager/sovereign/fluent/OperationsClient.java
new file mode 100644
index 000000000000..02ded4044d7a
--- /dev/null
+++ b/sdk/sovereign/azure-resourcemanager-sovereign/src/main/java/com/azure/resourcemanager/sovereign/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.sovereign.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.sovereign.fluent.models.OperationInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in OperationsClient.
+ */
+public interface OperationsClient {
+ /**
+ * List the operations for the provider.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of REST API operations supported by an Azure Resource Provider as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * List the operations for the provider.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of REST API operations supported by an Azure Resource Provider as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+}
diff --git a/sdk/sovereign/azure-resourcemanager-sovereign/src/main/java/com/azure/resourcemanager/sovereign/fluent/models/CreateLandingZoneConfigurationCopyResponseInner.java b/sdk/sovereign/azure-resourcemanager-sovereign/src/main/java/com/azure/resourcemanager/sovereign/fluent/models/CreateLandingZoneConfigurationCopyResponseInner.java
new file mode 100644
index 000000000000..273f327a01e4
--- /dev/null
+++ b/sdk/sovereign/azure-resourcemanager-sovereign/src/main/java/com/azure/resourcemanager/sovereign/fluent/models/CreateLandingZoneConfigurationCopyResponseInner.java
@@ -0,0 +1,106 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.sovereign.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+
+/**
+ * The response of the create duplicate landing zone configuration.
+ */
+@Fluent
+public final class CreateLandingZoneConfigurationCopyResponseInner
+ implements JsonSerializable {
+ /*
+ * The ID of the duplicate landing zone configuration resource.
+ */
+ private String copiedLandingZoneConfigurationId;
+
+ /**
+ * Creates an instance of CreateLandingZoneConfigurationCopyResponseInner class.
+ */
+ public CreateLandingZoneConfigurationCopyResponseInner() {
+ }
+
+ /**
+ * Get the copiedLandingZoneConfigurationId property: The ID of the duplicate landing zone configuration resource.
+ *
+ * @return the copiedLandingZoneConfigurationId value.
+ */
+ public String copiedLandingZoneConfigurationId() {
+ return this.copiedLandingZoneConfigurationId;
+ }
+
+ /**
+ * Set the copiedLandingZoneConfigurationId property: The ID of the duplicate landing zone configuration resource.
+ *
+ * @param copiedLandingZoneConfigurationId the copiedLandingZoneConfigurationId value to set.
+ * @return the CreateLandingZoneConfigurationCopyResponseInner object itself.
+ */
+ public CreateLandingZoneConfigurationCopyResponseInner
+ withCopiedLandingZoneConfigurationId(String copiedLandingZoneConfigurationId) {
+ this.copiedLandingZoneConfigurationId = copiedLandingZoneConfigurationId;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (copiedLandingZoneConfigurationId() == null) {
+ throw LOGGER.atError()
+ .log(new IllegalArgumentException(
+ "Missing required property copiedLandingZoneConfigurationId in model CreateLandingZoneConfigurationCopyResponseInner"));
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(CreateLandingZoneConfigurationCopyResponseInner.class);
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("copiedLandingZoneConfigurationId", this.copiedLandingZoneConfigurationId);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of CreateLandingZoneConfigurationCopyResponseInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of CreateLandingZoneConfigurationCopyResponseInner if the JsonReader was pointing to an
+ * instance of it, or null if it was pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the CreateLandingZoneConfigurationCopyResponseInner.
+ */
+ public static CreateLandingZoneConfigurationCopyResponseInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ CreateLandingZoneConfigurationCopyResponseInner deserializedCreateLandingZoneConfigurationCopyResponseInner
+ = new CreateLandingZoneConfigurationCopyResponseInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("copiedLandingZoneConfigurationId".equals(fieldName)) {
+ deserializedCreateLandingZoneConfigurationCopyResponseInner.copiedLandingZoneConfigurationId
+ = reader.getString();
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedCreateLandingZoneConfigurationCopyResponseInner;
+ });
+ }
+}
diff --git a/sdk/sovereign/azure-resourcemanager-sovereign/src/main/java/com/azure/resourcemanager/sovereign/fluent/models/GenerateLandingZoneResponseInner.java b/sdk/sovereign/azure-resourcemanager-sovereign/src/main/java/com/azure/resourcemanager/sovereign/fluent/models/GenerateLandingZoneResponseInner.java
new file mode 100644
index 000000000000..a10ed1ca46cf
--- /dev/null
+++ b/sdk/sovereign/azure-resourcemanager-sovereign/src/main/java/com/azure/resourcemanager/sovereign/fluent/models/GenerateLandingZoneResponseInner.java
@@ -0,0 +1,296 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.sovereign.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+
+/**
+ * The response payload for generating infrastructure-as-code for the landing zone.
+ */
+@Fluent
+public final class GenerateLandingZoneResponseInner implements JsonSerializable {
+ /*
+ * The parent management group name of the landing zone deployment.
+ */
+ private String topLevelMgDisplayName;
+
+ /*
+ * The name of the Landing zone configuration resource.
+ */
+ private String landingZoneConfigurationName;
+
+ /*
+ * The url to access the generated code.
+ */
+ private String generatedCodeUrl;
+
+ /*
+ * The storage account name to access the generated code.
+ */
+ private String storageAccountName;
+
+ /*
+ * The storage account container to access the generated code.
+ */
+ private String containerName;
+
+ /*
+ * The storage account blob name to access the generated code.
+ */
+ private String blobName;
+
+ /*
+ * The generated code content in JSON string format.
+ */
+ private String generatedArmTemplate;
+
+ /**
+ * Creates an instance of GenerateLandingZoneResponseInner class.
+ */
+ public GenerateLandingZoneResponseInner() {
+ }
+
+ /**
+ * Get the topLevelMgDisplayName property: The parent management group name of the landing zone deployment.
+ *
+ * @return the topLevelMgDisplayName value.
+ */
+ public String topLevelMgDisplayName() {
+ return this.topLevelMgDisplayName;
+ }
+
+ /**
+ * Set the topLevelMgDisplayName property: The parent management group name of the landing zone deployment.
+ *
+ * @param topLevelMgDisplayName the topLevelMgDisplayName value to set.
+ * @return the GenerateLandingZoneResponseInner object itself.
+ */
+ public GenerateLandingZoneResponseInner withTopLevelMgDisplayName(String topLevelMgDisplayName) {
+ this.topLevelMgDisplayName = topLevelMgDisplayName;
+ return this;
+ }
+
+ /**
+ * Get the landingZoneConfigurationName property: The name of the Landing zone configuration resource.
+ *
+ * @return the landingZoneConfigurationName value.
+ */
+ public String landingZoneConfigurationName() {
+ return this.landingZoneConfigurationName;
+ }
+
+ /**
+ * Set the landingZoneConfigurationName property: The name of the Landing zone configuration resource.
+ *
+ * @param landingZoneConfigurationName the landingZoneConfigurationName value to set.
+ * @return the GenerateLandingZoneResponseInner object itself.
+ */
+ public GenerateLandingZoneResponseInner withLandingZoneConfigurationName(String landingZoneConfigurationName) {
+ this.landingZoneConfigurationName = landingZoneConfigurationName;
+ return this;
+ }
+
+ /**
+ * Get the generatedCodeUrl property: The url to access the generated code.
+ *
+ * @return the generatedCodeUrl value.
+ */
+ public String generatedCodeUrl() {
+ return this.generatedCodeUrl;
+ }
+
+ /**
+ * Set the generatedCodeUrl property: The url to access the generated code.
+ *
+ * @param generatedCodeUrl the generatedCodeUrl value to set.
+ * @return the GenerateLandingZoneResponseInner object itself.
+ */
+ public GenerateLandingZoneResponseInner withGeneratedCodeUrl(String generatedCodeUrl) {
+ this.generatedCodeUrl = generatedCodeUrl;
+ return this;
+ }
+
+ /**
+ * Get the storageAccountName property: The storage account name to access the generated code.
+ *
+ * @return the storageAccountName value.
+ */
+ public String storageAccountName() {
+ return this.storageAccountName;
+ }
+
+ /**
+ * Set the storageAccountName property: The storage account name to access the generated code.
+ *
+ * @param storageAccountName the storageAccountName value to set.
+ * @return the GenerateLandingZoneResponseInner object itself.
+ */
+ public GenerateLandingZoneResponseInner withStorageAccountName(String storageAccountName) {
+ this.storageAccountName = storageAccountName;
+ return this;
+ }
+
+ /**
+ * Get the containerName property: The storage account container to access the generated code.
+ *
+ * @return the containerName value.
+ */
+ public String containerName() {
+ return this.containerName;
+ }
+
+ /**
+ * Set the containerName property: The storage account container to access the generated code.
+ *
+ * @param containerName the containerName value to set.
+ * @return the GenerateLandingZoneResponseInner object itself.
+ */
+ public GenerateLandingZoneResponseInner withContainerName(String containerName) {
+ this.containerName = containerName;
+ return this;
+ }
+
+ /**
+ * Get the blobName property: The storage account blob name to access the generated code.
+ *
+ * @return the blobName value.
+ */
+ public String blobName() {
+ return this.blobName;
+ }
+
+ /**
+ * Set the blobName property: The storage account blob name to access the generated code.
+ *
+ * @param blobName the blobName value to set.
+ * @return the GenerateLandingZoneResponseInner object itself.
+ */
+ public GenerateLandingZoneResponseInner withBlobName(String blobName) {
+ this.blobName = blobName;
+ return this;
+ }
+
+ /**
+ * Get the generatedArmTemplate property: The generated code content in JSON string format.
+ *
+ * @return the generatedArmTemplate value.
+ */
+ public String generatedArmTemplate() {
+ return this.generatedArmTemplate;
+ }
+
+ /**
+ * Set the generatedArmTemplate property: The generated code content in JSON string format.
+ *
+ * @param generatedArmTemplate the generatedArmTemplate value to set.
+ * @return the GenerateLandingZoneResponseInner object itself.
+ */
+ public GenerateLandingZoneResponseInner withGeneratedArmTemplate(String generatedArmTemplate) {
+ this.generatedArmTemplate = generatedArmTemplate;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (topLevelMgDisplayName() == null) {
+ throw LOGGER.atError()
+ .log(new IllegalArgumentException(
+ "Missing required property topLevelMgDisplayName in model GenerateLandingZoneResponseInner"));
+ }
+ if (landingZoneConfigurationName() == null) {
+ throw LOGGER.atError()
+ .log(new IllegalArgumentException(
+ "Missing required property landingZoneConfigurationName in model GenerateLandingZoneResponseInner"));
+ }
+ if (generatedCodeUrl() == null) {
+ throw LOGGER.atError()
+ .log(new IllegalArgumentException(
+ "Missing required property generatedCodeUrl in model GenerateLandingZoneResponseInner"));
+ }
+ if (storageAccountName() == null) {
+ throw LOGGER.atError()
+ .log(new IllegalArgumentException(
+ "Missing required property storageAccountName in model GenerateLandingZoneResponseInner"));
+ }
+ if (containerName() == null) {
+ throw LOGGER.atError()
+ .log(new IllegalArgumentException(
+ "Missing required property containerName in model GenerateLandingZoneResponseInner"));
+ }
+ if (blobName() == null) {
+ throw LOGGER.atError()
+ .log(new IllegalArgumentException(
+ "Missing required property blobName in model GenerateLandingZoneResponseInner"));
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(GenerateLandingZoneResponseInner.class);
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("topLevelMgDisplayName", this.topLevelMgDisplayName);
+ jsonWriter.writeStringField("landingZoneConfigurationName", this.landingZoneConfigurationName);
+ jsonWriter.writeStringField("generatedCodeUrl", this.generatedCodeUrl);
+ jsonWriter.writeStringField("storageAccountName", this.storageAccountName);
+ jsonWriter.writeStringField("containerName", this.containerName);
+ jsonWriter.writeStringField("blobName", this.blobName);
+ jsonWriter.writeStringField("generatedArmTemplate", this.generatedArmTemplate);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of GenerateLandingZoneResponseInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of GenerateLandingZoneResponseInner if the JsonReader was pointing to an instance of it, or
+ * null if it was pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the GenerateLandingZoneResponseInner.
+ */
+ public static GenerateLandingZoneResponseInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ GenerateLandingZoneResponseInner deserializedGenerateLandingZoneResponseInner
+ = new GenerateLandingZoneResponseInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("topLevelMgDisplayName".equals(fieldName)) {
+ deserializedGenerateLandingZoneResponseInner.topLevelMgDisplayName = reader.getString();
+ } else if ("landingZoneConfigurationName".equals(fieldName)) {
+ deserializedGenerateLandingZoneResponseInner.landingZoneConfigurationName = reader.getString();
+ } else if ("generatedCodeUrl".equals(fieldName)) {
+ deserializedGenerateLandingZoneResponseInner.generatedCodeUrl = reader.getString();
+ } else if ("storageAccountName".equals(fieldName)) {
+ deserializedGenerateLandingZoneResponseInner.storageAccountName = reader.getString();
+ } else if ("containerName".equals(fieldName)) {
+ deserializedGenerateLandingZoneResponseInner.containerName = reader.getString();
+ } else if ("blobName".equals(fieldName)) {
+ deserializedGenerateLandingZoneResponseInner.blobName = reader.getString();
+ } else if ("generatedArmTemplate".equals(fieldName)) {
+ deserializedGenerateLandingZoneResponseInner.generatedArmTemplate = reader.getString();
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedGenerateLandingZoneResponseInner;
+ });
+ }
+}
diff --git a/sdk/sovereign/azure-resourcemanager-sovereign/src/main/java/com/azure/resourcemanager/sovereign/fluent/models/LandingZoneAccountResourceInner.java b/sdk/sovereign/azure-resourcemanager-sovereign/src/main/java/com/azure/resourcemanager/sovereign/fluent/models/LandingZoneAccountResourceInner.java
new file mode 100644
index 000000000000..9ce200dda438
--- /dev/null
+++ b/sdk/sovereign/azure-resourcemanager-sovereign/src/main/java/com/azure/resourcemanager/sovereign/fluent/models/LandingZoneAccountResourceInner.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.sovereign.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.Resource;
+import com.azure.core.management.SystemData;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.sovereign.models.LandingZoneAccountResourceProperties;
+import com.azure.resourcemanager.sovereign.models.ManagedServiceIdentity;
+import java.io.IOException;
+import java.util.Map;
+
+/**
+ * The Landing zone account resource type. A Landing zone account is the container for configuring, deploying and
+ * managing multiple landing zones.
+ */
+@Fluent
+public final class LandingZoneAccountResourceInner extends Resource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ private LandingZoneAccountResourceProperties properties;
+
+ /*
+ * The managed service identities assigned to this resource.
+ */
+ private ManagedServiceIdentity identity;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ private SystemData systemData;
+
+ /*
+ * The type of the resource.
+ */
+ private String type;
+
+ /*
+ * The name of the resource.
+ */
+ private String name;
+
+ /*
+ * Fully qualified resource Id for the resource.
+ */
+ private String id;
+
+ /**
+ * Creates an instance of LandingZoneAccountResourceInner class.
+ */
+ public LandingZoneAccountResourceInner() {
+ }
+
+ /**
+ * Get the properties property: The resource-specific properties for this resource.
+ *
+ * @return the properties value.
+ */
+ public LandingZoneAccountResourceProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The resource-specific properties for this resource.
+ *
+ * @param properties the properties value to set.
+ * @return the LandingZoneAccountResourceInner object itself.
+ */
+ public LandingZoneAccountResourceInner withProperties(LandingZoneAccountResourceProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the identity property: The managed service identities assigned to this resource.
+ *
+ * @return the identity value.
+ */
+ public ManagedServiceIdentity identity() {
+ return this.identity;
+ }
+
+ /**
+ * Set the identity property: The managed service identities assigned to this resource.
+ *
+ * @param identity the identity value to set.
+ * @return the LandingZoneAccountResourceInner object itself.
+ */
+ public LandingZoneAccountResourceInner withIdentity(ManagedServiceIdentity identity) {
+ this.identity = identity;
+ return this;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the type property: The type of the resource.
+ *
+ * @return the type value.
+ */
+ @Override
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the name property: The name of the resource.
+ *
+ * @return the name value.
+ */
+ @Override
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the id property: Fully qualified resource Id for the resource.
+ *
+ * @return the id value.
+ */
+ @Override
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public LandingZoneAccountResourceInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public LandingZoneAccountResourceInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (properties() != null) {
+ properties().validate();
+ }
+ if (identity() != null) {
+ identity().validate();
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("location", location());
+ jsonWriter.writeMapField("tags", tags(), (writer, element) -> writer.writeString(element));
+ jsonWriter.writeJsonField("properties", this.properties);
+ jsonWriter.writeJsonField("identity", this.identity);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of LandingZoneAccountResourceInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of LandingZoneAccountResourceInner if the JsonReader was pointing to an instance of it, or
+ * null if it was pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the LandingZoneAccountResourceInner.
+ */
+ public static LandingZoneAccountResourceInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ LandingZoneAccountResourceInner deserializedLandingZoneAccountResourceInner
+ = new LandingZoneAccountResourceInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedLandingZoneAccountResourceInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedLandingZoneAccountResourceInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedLandingZoneAccountResourceInner.type = reader.getString();
+ } else if ("location".equals(fieldName)) {
+ deserializedLandingZoneAccountResourceInner.withLocation(reader.getString());
+ } else if ("tags".equals(fieldName)) {
+ Map tags = reader.readMap(reader1 -> reader1.getString());
+ deserializedLandingZoneAccountResourceInner.withTags(tags);
+ } else if ("properties".equals(fieldName)) {
+ deserializedLandingZoneAccountResourceInner.properties
+ = LandingZoneAccountResourceProperties.fromJson(reader);
+ } else if ("identity".equals(fieldName)) {
+ deserializedLandingZoneAccountResourceInner.identity = ManagedServiceIdentity.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedLandingZoneAccountResourceInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedLandingZoneAccountResourceInner;
+ });
+ }
+}
diff --git a/sdk/sovereign/azure-resourcemanager-sovereign/src/main/java/com/azure/resourcemanager/sovereign/fluent/models/LandingZoneConfigurationResourceInner.java b/sdk/sovereign/azure-resourcemanager-sovereign/src/main/java/com/azure/resourcemanager/sovereign/fluent/models/LandingZoneConfigurationResourceInner.java
new file mode 100644
index 000000000000..5a6eff4c258a
--- /dev/null
+++ b/sdk/sovereign/azure-resourcemanager-sovereign/src/main/java/com/azure/resourcemanager/sovereign/fluent/models/LandingZoneConfigurationResourceInner.java
@@ -0,0 +1,168 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.sovereign.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.sovereign.models.LandingZoneConfigurationResourceProperties;
+import java.io.IOException;
+
+/**
+ * Concrete proxy resource types can be created by aliasing this type using a specific property type.
+ */
+@Fluent
+public final class LandingZoneConfigurationResourceInner extends ProxyResource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ private LandingZoneConfigurationResourceProperties properties;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ private SystemData systemData;
+
+ /*
+ * The type of the resource.
+ */
+ private String type;
+
+ /*
+ * The name of the resource.
+ */
+ private String name;
+
+ /*
+ * Fully qualified resource Id for the resource.
+ */
+ private String id;
+
+ /**
+ * Creates an instance of LandingZoneConfigurationResourceInner class.
+ */
+ public LandingZoneConfigurationResourceInner() {
+ }
+
+ /**
+ * Get the properties property: The resource-specific properties for this resource.
+ *
+ * @return the properties value.
+ */
+ public LandingZoneConfigurationResourceProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The resource-specific properties for this resource.
+ *
+ * @param properties the properties value to set.
+ * @return the LandingZoneConfigurationResourceInner object itself.
+ */
+ public LandingZoneConfigurationResourceInner withProperties(LandingZoneConfigurationResourceProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the type property: The type of the resource.
+ *
+ * @return the type value.
+ */
+ @Override
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the name property: The name of the resource.
+ *
+ * @return the name value.
+ */
+ @Override
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the id property: Fully qualified resource Id for the resource.
+ *
+ * @return the id value.
+ */
+ @Override
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (properties() != null) {
+ properties().validate();
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeJsonField("properties", this.properties);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of LandingZoneConfigurationResourceInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of LandingZoneConfigurationResourceInner if the JsonReader was pointing to an instance of it,
+ * or null if it was pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the LandingZoneConfigurationResourceInner.
+ */
+ public static LandingZoneConfigurationResourceInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ LandingZoneConfigurationResourceInner deserializedLandingZoneConfigurationResourceInner
+ = new LandingZoneConfigurationResourceInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedLandingZoneConfigurationResourceInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedLandingZoneConfigurationResourceInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedLandingZoneConfigurationResourceInner.type = reader.getString();
+ } else if ("properties".equals(fieldName)) {
+ deserializedLandingZoneConfigurationResourceInner.properties
+ = LandingZoneConfigurationResourceProperties.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedLandingZoneConfigurationResourceInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedLandingZoneConfigurationResourceInner;
+ });
+ }
+}
diff --git a/sdk/sovereign/azure-resourcemanager-sovereign/src/main/java/com/azure/resourcemanager/sovereign/fluent/models/LandingZoneRegistrationResourceInner.java b/sdk/sovereign/azure-resourcemanager-sovereign/src/main/java/com/azure/resourcemanager/sovereign/fluent/models/LandingZoneRegistrationResourceInner.java
new file mode 100644
index 000000000000..5c4f2406892d
--- /dev/null
+++ b/sdk/sovereign/azure-resourcemanager-sovereign/src/main/java/com/azure/resourcemanager/sovereign/fluent/models/LandingZoneRegistrationResourceInner.java
@@ -0,0 +1,168 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.sovereign.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.sovereign.models.LandingZoneRegistrationResourceProperties;
+import java.io.IOException;
+
+/**
+ * The Landing zone registration resource type.
+ */
+@Fluent
+public final class LandingZoneRegistrationResourceInner extends ProxyResource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ private LandingZoneRegistrationResourceProperties properties;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ private SystemData systemData;
+
+ /*
+ * The type of the resource.
+ */
+ private String type;
+
+ /*
+ * The name of the resource.
+ */
+ private String name;
+
+ /*
+ * Fully qualified resource Id for the resource.
+ */
+ private String id;
+
+ /**
+ * Creates an instance of LandingZoneRegistrationResourceInner class.
+ */
+ public LandingZoneRegistrationResourceInner() {
+ }
+
+ /**
+ * Get the properties property: The resource-specific properties for this resource.
+ *
+ * @return the properties value.
+ */
+ public LandingZoneRegistrationResourceProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The resource-specific properties for this resource.
+ *
+ * @param properties the properties value to set.
+ * @return the LandingZoneRegistrationResourceInner object itself.
+ */
+ public LandingZoneRegistrationResourceInner withProperties(LandingZoneRegistrationResourceProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the type property: The type of the resource.
+ *
+ * @return the type value.
+ */
+ @Override
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the name property: The name of the resource.
+ *
+ * @return the name value.
+ */
+ @Override
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the id property: Fully qualified resource Id for the resource.
+ *
+ * @return the id value.
+ */
+ @Override
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (properties() != null) {
+ properties().validate();
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeJsonField("properties", this.properties);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of LandingZoneRegistrationResourceInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of LandingZoneRegistrationResourceInner if the JsonReader was pointing to an instance of it,
+ * or null if it was pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the LandingZoneRegistrationResourceInner.
+ */
+ public static LandingZoneRegistrationResourceInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ LandingZoneRegistrationResourceInner deserializedLandingZoneRegistrationResourceInner
+ = new LandingZoneRegistrationResourceInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedLandingZoneRegistrationResourceInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedLandingZoneRegistrationResourceInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedLandingZoneRegistrationResourceInner.type = reader.getString();
+ } else if ("properties".equals(fieldName)) {
+ deserializedLandingZoneRegistrationResourceInner.properties
+ = LandingZoneRegistrationResourceProperties.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedLandingZoneRegistrationResourceInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedLandingZoneRegistrationResourceInner;
+ });
+ }
+}
diff --git a/sdk/sovereign/azure-resourcemanager-sovereign/src/main/java/com/azure/resourcemanager/sovereign/fluent/models/OperationInner.java b/sdk/sovereign/azure-resourcemanager-sovereign/src/main/java/com/azure/resourcemanager/sovereign/fluent/models/OperationInner.java
new file mode 100644
index 000000000000..723f4a490d02
--- /dev/null
+++ b/sdk/sovereign/azure-resourcemanager-sovereign/src/main/java/com/azure/resourcemanager/sovereign/fluent/models/OperationInner.java
@@ -0,0 +1,172 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.sovereign.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.sovereign.models.ActionType;
+import com.azure.resourcemanager.sovereign.models.OperationDisplay;
+import com.azure.resourcemanager.sovereign.models.Origin;
+import java.io.IOException;
+
+/**
+ * REST API Operation
+ *
+ * Details of a REST API operation, returned from the Resource Provider Operations API.
+ */
+@Fluent
+public final class OperationInner implements JsonSerializable {
+ /*
+ * The name of the operation, as per Resource-Based Access Control (RBAC). Examples:
+ * "Microsoft.Compute/virtualMachines/write", "Microsoft.Compute/virtualMachines/capture/action"
+ */
+ private String name;
+
+ /*
+ * Whether the operation applies to data-plane. This is "true" for data-plane operations and "false" for
+ * ARM/control-plane operations.
+ */
+ private Boolean isDataAction;
+
+ /*
+ * Localized display information for this particular operation.
+ */
+ private OperationDisplay display;
+
+ /*
+ * The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX. Default
+ * value is "user,system"
+ */
+ private Origin origin;
+
+ /*
+ * Enum. Indicates the action type. "Internal" refers to actions that are for internal only APIs.
+ */
+ private ActionType actionType;
+
+ /**
+ * Creates an instance of OperationInner class.
+ */
+ public OperationInner() {
+ }
+
+ /**
+ * Get the name property: The name of the operation, as per Resource-Based Access Control (RBAC). Examples:
+ * "Microsoft.Compute/virtualMachines/write", "Microsoft.Compute/virtualMachines/capture/action".
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the isDataAction property: Whether the operation applies to data-plane. This is "true" for data-plane
+ * operations and "false" for ARM/control-plane operations.
+ *
+ * @return the isDataAction value.
+ */
+ public Boolean isDataAction() {
+ return this.isDataAction;
+ }
+
+ /**
+ * Get the display property: Localized display information for this particular operation.
+ *
+ * @return the display value.
+ */
+ public OperationDisplay display() {
+ return this.display;
+ }
+
+ /**
+ * Set the display property: Localized display information for this particular operation.
+ *
+ * @param display the display value to set.
+ * @return the OperationInner object itself.
+ */
+ public OperationInner withDisplay(OperationDisplay display) {
+ this.display = display;
+ return this;
+ }
+
+ /**
+ * Get the origin property: The intended executor of the operation; as in Resource Based Access Control (RBAC) and
+ * audit logs UX. Default value is "user,system".
+ *
+ * @return the origin value.
+ */
+ public Origin origin() {
+ return this.origin;
+ }
+
+ /**
+ * Get the actionType property: Enum. Indicates the action type. "Internal" refers to actions that are for internal
+ * only APIs.
+ *
+ * @return the actionType value.
+ */
+ public ActionType actionType() {
+ return this.actionType;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (display() != null) {
+ display().validate();
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeJsonField("display", this.display);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of OperationInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of OperationInner if the JsonReader was pointing to an instance of it, or null if it was
+ * pointing to JSON null.
+ * @throws IOException If an error occurs while reading the OperationInner.
+ */
+ public static OperationInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ OperationInner deserializedOperationInner = new OperationInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("name".equals(fieldName)) {
+ deserializedOperationInner.name = reader.getString();
+ } else if ("isDataAction".equals(fieldName)) {
+ deserializedOperationInner.isDataAction = reader.getNullable(JsonReader::getBoolean);
+ } else if ("display".equals(fieldName)) {
+ deserializedOperationInner.display = OperationDisplay.fromJson(reader);
+ } else if ("origin".equals(fieldName)) {
+ deserializedOperationInner.origin = Origin.fromString(reader.getString());
+ } else if ("actionType".equals(fieldName)) {
+ deserializedOperationInner.actionType = ActionType.fromString(reader.getString());
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedOperationInner;
+ });
+ }
+}
diff --git a/sdk/sovereign/azure-resourcemanager-sovereign/src/main/java/com/azure/resourcemanager/sovereign/fluent/models/UpdateAuthoringStatusResponseInner.java b/sdk/sovereign/azure-resourcemanager-sovereign/src/main/java/com/azure/resourcemanager/sovereign/fluent/models/UpdateAuthoringStatusResponseInner.java
new file mode 100644
index 000000000000..929c77d67262
--- /dev/null
+++ b/sdk/sovereign/azure-resourcemanager-sovereign/src/main/java/com/azure/resourcemanager/sovereign/fluent/models/UpdateAuthoringStatusResponseInner.java
@@ -0,0 +1,139 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.sovereign.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.sovereign.models.AuthoringStatus;
+import java.io.IOException;
+
+/**
+ * The response for authoring status update request.
+ */
+@Fluent
+public final class UpdateAuthoringStatusResponseInner implements JsonSerializable {
+ /*
+ * The name of the landing zone configuration resource.
+ */
+ private String landingZoneConfigurationName;
+
+ /*
+ * The authoring status value to be updated.
+ */
+ private AuthoringStatus authoringStatus;
+
+ /**
+ * Creates an instance of UpdateAuthoringStatusResponseInner class.
+ */
+ public UpdateAuthoringStatusResponseInner() {
+ }
+
+ /**
+ * Get the landingZoneConfigurationName property: The name of the landing zone configuration resource.
+ *
+ * @return the landingZoneConfigurationName value.
+ */
+ public String landingZoneConfigurationName() {
+ return this.landingZoneConfigurationName;
+ }
+
+ /**
+ * Set the landingZoneConfigurationName property: The name of the landing zone configuration resource.
+ *
+ * @param landingZoneConfigurationName the landingZoneConfigurationName value to set.
+ * @return the UpdateAuthoringStatusResponseInner object itself.
+ */
+ public UpdateAuthoringStatusResponseInner withLandingZoneConfigurationName(String landingZoneConfigurationName) {
+ this.landingZoneConfigurationName = landingZoneConfigurationName;
+ return this;
+ }
+
+ /**
+ * Get the authoringStatus property: The authoring status value to be updated.
+ *
+ * @return the authoringStatus value.
+ */
+ public AuthoringStatus authoringStatus() {
+ return this.authoringStatus;
+ }
+
+ /**
+ * Set the authoringStatus property: The authoring status value to be updated.
+ *
+ * @param authoringStatus the authoringStatus value to set.
+ * @return the UpdateAuthoringStatusResponseInner object itself.
+ */
+ public UpdateAuthoringStatusResponseInner withAuthoringStatus(AuthoringStatus authoringStatus) {
+ this.authoringStatus = authoringStatus;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (landingZoneConfigurationName() == null) {
+ throw LOGGER.atError()
+ .log(new IllegalArgumentException(
+ "Missing required property landingZoneConfigurationName in model UpdateAuthoringStatusResponseInner"));
+ }
+ if (authoringStatus() == null) {
+ throw LOGGER.atError()
+ .log(new IllegalArgumentException(
+ "Missing required property authoringStatus in model UpdateAuthoringStatusResponseInner"));
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(UpdateAuthoringStatusResponseInner.class);
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("landingZoneConfigurationName", this.landingZoneConfigurationName);
+ jsonWriter.writeStringField("authoringStatus",
+ this.authoringStatus == null ? null : this.authoringStatus.toString());
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of UpdateAuthoringStatusResponseInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of UpdateAuthoringStatusResponseInner if the JsonReader was pointing to an instance of it, or
+ * null if it was pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the UpdateAuthoringStatusResponseInner.
+ */
+ public static UpdateAuthoringStatusResponseInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ UpdateAuthoringStatusResponseInner deserializedUpdateAuthoringStatusResponseInner
+ = new UpdateAuthoringStatusResponseInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("landingZoneConfigurationName".equals(fieldName)) {
+ deserializedUpdateAuthoringStatusResponseInner.landingZoneConfigurationName = reader.getString();
+ } else if ("authoringStatus".equals(fieldName)) {
+ deserializedUpdateAuthoringStatusResponseInner.authoringStatus
+ = AuthoringStatus.fromString(reader.getString());
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedUpdateAuthoringStatusResponseInner;
+ });
+ }
+}
diff --git a/sdk/sovereign/azure-resourcemanager-sovereign/src/main/java/com/azure/resourcemanager/sovereign/fluent/models/package-info.java b/sdk/sovereign/azure-resourcemanager-sovereign/src/main/java/com/azure/resourcemanager/sovereign/fluent/models/package-info.java
new file mode 100644
index 000000000000..a6d0fbf08560
--- /dev/null
+++ b/sdk/sovereign/azure-resourcemanager-sovereign/src/main/java/com/azure/resourcemanager/sovereign/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 MicrosoftSovereign.
+ * null.
+ */
+package com.azure.resourcemanager.sovereign.fluent.models;
diff --git a/sdk/sovereign/azure-resourcemanager-sovereign/src/main/java/com/azure/resourcemanager/sovereign/fluent/package-info.java b/sdk/sovereign/azure-resourcemanager-sovereign/src/main/java/com/azure/resourcemanager/sovereign/fluent/package-info.java
new file mode 100644
index 000000000000..54e6924d9485
--- /dev/null
+++ b/sdk/sovereign/azure-resourcemanager-sovereign/src/main/java/com/azure/resourcemanager/sovereign/fluent/package-info.java
@@ -0,0 +1,9 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+/**
+ * Package containing the service clients for MicrosoftSovereign.
+ * null.
+ */
+package com.azure.resourcemanager.sovereign.fluent;
diff --git a/sdk/sovereign/azure-resourcemanager-sovereign/src/main/java/com/azure/resourcemanager/sovereign/implementation/CreateLandingZoneConfigurationCopyResponseImpl.java b/sdk/sovereign/azure-resourcemanager-sovereign/src/main/java/com/azure/resourcemanager/sovereign/implementation/CreateLandingZoneConfigurationCopyResponseImpl.java
new file mode 100644
index 000000000000..7f64265464a2
--- /dev/null
+++ b/sdk/sovereign/azure-resourcemanager-sovereign/src/main/java/com/azure/resourcemanager/sovereign/implementation/CreateLandingZoneConfigurationCopyResponseImpl.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.sovereign.implementation;
+
+import com.azure.resourcemanager.sovereign.fluent.models.CreateLandingZoneConfigurationCopyResponseInner;
+import com.azure.resourcemanager.sovereign.models.CreateLandingZoneConfigurationCopyResponse;
+
+public final class CreateLandingZoneConfigurationCopyResponseImpl
+ implements CreateLandingZoneConfigurationCopyResponse {
+ private CreateLandingZoneConfigurationCopyResponseInner innerObject;
+
+ private final com.azure.resourcemanager.sovereign.SovereignManager serviceManager;
+
+ CreateLandingZoneConfigurationCopyResponseImpl(CreateLandingZoneConfigurationCopyResponseInner innerObject,
+ com.azure.resourcemanager.sovereign.SovereignManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ }
+
+ public String copiedLandingZoneConfigurationId() {
+ return this.innerModel().copiedLandingZoneConfigurationId();
+ }
+
+ public CreateLandingZoneConfigurationCopyResponseInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.sovereign.SovereignManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/sovereign/azure-resourcemanager-sovereign/src/main/java/com/azure/resourcemanager/sovereign/implementation/GenerateLandingZoneResponseImpl.java b/sdk/sovereign/azure-resourcemanager-sovereign/src/main/java/com/azure/resourcemanager/sovereign/implementation/GenerateLandingZoneResponseImpl.java
new file mode 100644
index 000000000000..856b420221b8
--- /dev/null
+++ b/sdk/sovereign/azure-resourcemanager-sovereign/src/main/java/com/azure/resourcemanager/sovereign/implementation/GenerateLandingZoneResponseImpl.java
@@ -0,0 +1,56 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.sovereign.implementation;
+
+import com.azure.resourcemanager.sovereign.fluent.models.GenerateLandingZoneResponseInner;
+import com.azure.resourcemanager.sovereign.models.GenerateLandingZoneResponse;
+
+public final class GenerateLandingZoneResponseImpl implements GenerateLandingZoneResponse {
+ private GenerateLandingZoneResponseInner innerObject;
+
+ private final com.azure.resourcemanager.sovereign.SovereignManager serviceManager;
+
+ GenerateLandingZoneResponseImpl(GenerateLandingZoneResponseInner innerObject,
+ com.azure.resourcemanager.sovereign.SovereignManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ }
+
+ public String topLevelMgDisplayName() {
+ return this.innerModel().topLevelMgDisplayName();
+ }
+
+ public String landingZoneConfigurationName() {
+ return this.innerModel().landingZoneConfigurationName();
+ }
+
+ public String generatedCodeUrl() {
+ return this.innerModel().generatedCodeUrl();
+ }
+
+ public String storageAccountName() {
+ return this.innerModel().storageAccountName();
+ }
+
+ public String containerName() {
+ return this.innerModel().containerName();
+ }
+
+ public String blobName() {
+ return this.innerModel().blobName();
+ }
+
+ public String generatedArmTemplate() {
+ return this.innerModel().generatedArmTemplate();
+ }
+
+ public GenerateLandingZoneResponseInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.sovereign.SovereignManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/sovereign/azure-resourcemanager-sovereign/src/main/java/com/azure/resourcemanager/sovereign/implementation/LandingZoneAccountOperationsClientImpl.java b/sdk/sovereign/azure-resourcemanager-sovereign/src/main/java/com/azure/resourcemanager/sovereign/implementation/LandingZoneAccountOperationsClientImpl.java
new file mode 100644
index 000000000000..89f3a4940a37
--- /dev/null
+++ b/sdk/sovereign/azure-resourcemanager-sovereign/src/main/java/com/azure/resourcemanager/sovereign/implementation/LandingZoneAccountOperationsClientImpl.java
@@ -0,0 +1,1312 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.sovereign.implementation;
+
+import com.azure.core.annotation.BodyParam;
+import com.azure.core.annotation.Delete;
+import com.azure.core.annotation.ExpectedResponses;
+import com.azure.core.annotation.Get;
+import com.azure.core.annotation.HeaderParam;
+import com.azure.core.annotation.Headers;
+import com.azure.core.annotation.Host;
+import com.azure.core.annotation.HostParam;
+import com.azure.core.annotation.Patch;
+import com.azure.core.annotation.PathParam;
+import com.azure.core.annotation.Put;
+import com.azure.core.annotation.QueryParam;
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceInterface;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.annotation.UnexpectedResponseExceptionType;
+import com.azure.core.http.rest.PagedFlux;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.PagedResponse;
+import com.azure.core.http.rest.PagedResponseBase;
+import com.azure.core.http.rest.Response;
+import com.azure.core.http.rest.RestProxy;
+import com.azure.core.management.exception.ManagementException;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.FluxUtil;
+import com.azure.core.util.polling.PollerFlux;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.sovereign.fluent.LandingZoneAccountOperationsClient;
+import com.azure.resourcemanager.sovereign.fluent.models.LandingZoneAccountResourceInner;
+import com.azure.resourcemanager.sovereign.models.LandingZoneAccountResourceListResult;
+import com.azure.resourcemanager.sovereign.models.LandingZoneAccountResourceUpdate;
+import java.nio.ByteBuffer;
+import reactor.core.publisher.Flux;
+import reactor.core.publisher.Mono;
+
+/**
+ * An instance of this class provides access to all the operations defined in LandingZoneAccountOperationsClient.
+ */
+public final class LandingZoneAccountOperationsClientImpl implements LandingZoneAccountOperationsClient {
+ /**
+ * The proxy service used to perform REST calls.
+ */
+ private final LandingZoneAccountOperationsService service;
+
+ /**
+ * The service client containing this operation class.
+ */
+ private final MicrosoftSovereignImpl client;
+
+ /**
+ * Initializes an instance of LandingZoneAccountOperationsClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ LandingZoneAccountOperationsClientImpl(MicrosoftSovereignImpl client) {
+ this.service = RestProxy.create(LandingZoneAccountOperationsService.class, client.getHttpPipeline(),
+ client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for MicrosoftSovereignLandingZoneAccountOperations to be used by the
+ * proxy service to perform REST calls.
+ */
+ @Host("{$host}")
+ @ServiceInterface(name = "MicrosoftSovereignLa")
+ public interface LandingZoneAccountOperationsService {
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/providers/Microsoft.Sovereign/landingZoneAccounts")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> list(@HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sovereign/landingZoneAccounts")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByResourceGroup(@HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName, @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sovereign/landingZoneAccounts/{landingZoneAccountName}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> getByResourceGroup(@HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("landingZoneAccountName") String landingZoneAccountName, @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Put("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sovereign/landingZoneAccounts/{landingZoneAccountName}")
+ @ExpectedResponses({ 200, 201 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> create(@HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("landingZoneAccountName") String landingZoneAccountName,
+ @BodyParam("application/json") LandingZoneAccountResourceInner resource,
+ @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Patch("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sovereign/landingZoneAccounts/{landingZoneAccountName}")
+ @ExpectedResponses({ 200, 202 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> update(@HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("landingZoneAccountName") String landingZoneAccountName,
+ @BodyParam("application/json") LandingZoneAccountResourceUpdate properties,
+ @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Delete("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sovereign/landingZoneAccounts/{landingZoneAccountName}")
+ @ExpectedResponses({ 202, 204 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> delete(@HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("landingZoneAccountName") String landingZoneAccountName, @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("{nextLink}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listBySubscriptionNext(
+ @PathParam(value = "nextLink", encoded = true) String nextLink, @HostParam("$host") String endpoint,
+ @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("{nextLink}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByResourceGroupNext(
+ @PathParam(value = "nextLink", encoded = true) String nextLink, @HostParam("$host") String endpoint,
+ @HeaderParam("Accept") String accept, Context context);
+ }
+
+ /**
+ * List the landing zone accounts within a subscription.
+ *
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a LandingZoneAccountResource list operation 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.getApiVersion(),
+ this.client.getSubscriptionId(), accept, context))
+ .>map(res -> new PagedResponseBase<>(res.getRequest(),
+ res.getStatusCode(), res.getHeaders(), res.getValue().value(), res.getValue().nextLink(), null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * List the landing zone accounts within a subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a LandingZoneAccountResource list operation 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.getApiVersion(), this.client.getSubscriptionId(), accept,
+ context)
+ .map(res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(),
+ res.getValue().value(), res.getValue().nextLink(), null));
+ }
+
+ /**
+ * List the landing zone accounts within a subscription.
+ *
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a LandingZoneAccountResource list operation as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listAsync() {
+ return new PagedFlux<>(() -> listSinglePageAsync(),
+ nextLink -> listBySubscriptionNextSinglePageAsync(nextLink));
+ }
+
+ /**
+ * List the landing zone accounts within a subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a LandingZoneAccountResource list operation as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listAsync(Context context) {
+ return new PagedFlux<>(() -> listSinglePageAsync(context),
+ nextLink -> listBySubscriptionNextSinglePageAsync(nextLink, context));
+ }
+
+ /**
+ * List the landing zone accounts within a subscription.
+ *
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a LandingZoneAccountResource list operation as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable list() {
+ return new PagedIterable<>(listAsync());
+ }
+
+ /**
+ * List the landing zone accounts within a subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a LandingZoneAccountResource list operation as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable list(Context context) {
+ return new PagedIterable<>(listAsync(context));
+ }
+
+ /**
+ * List the landing zone accounts within a resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a LandingZoneAccountResource list operation along with {@link PagedResponse} on
+ * successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>
+ listByResourceGroupSinglePageAsync(String resourceGroupName) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.listByResourceGroup(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, accept, context))
+ .>map(res -> new PagedResponseBase<>(res.getRequest(),
+ res.getStatusCode(), res.getHeaders(), res.getValue().value(), res.getValue().nextLink(), null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * List the landing zone accounts within a resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a LandingZoneAccountResource list operation 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.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, accept, context)
+ .map(res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(),
+ res.getValue().value(), res.getValue().nextLink(), null));
+ }
+
+ /**
+ * List the landing zone accounts within a resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a LandingZoneAccountResource list operation as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listByResourceGroupAsync(String resourceGroupName) {
+ return new PagedFlux<>(() -> listByResourceGroupSinglePageAsync(resourceGroupName),
+ nextLink -> listByResourceGroupNextSinglePageAsync(nextLink));
+ }
+
+ /**
+ * List the landing zone accounts within a resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a LandingZoneAccountResource list operation 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));
+ }
+
+ /**
+ * List the landing zone accounts within a resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a LandingZoneAccountResource list operation as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByResourceGroup(String resourceGroupName) {
+ return new PagedIterable<>(listByResourceGroupAsync(resourceGroupName));
+ }
+
+ /**
+ * List the landing zone accounts within a resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a LandingZoneAccountResource list operation as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByResourceGroup(String resourceGroupName,
+ Context context) {
+ return new PagedIterable<>(listByResourceGroupAsync(resourceGroupName, context));
+ }
+
+ /**
+ * Get a landing zone account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a landing zone account along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>
+ getByResourceGroupWithResponseAsync(String resourceGroupName, String landingZoneAccountName) {
+ 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 (landingZoneAccountName == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter landingZoneAccountName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.getByResourceGroup(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, landingZoneAccountName, accept, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Get a landing zone account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a landing zone account along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>
+ getByResourceGroupWithResponseAsync(String resourceGroupName, String landingZoneAccountName, 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 (landingZoneAccountName == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter landingZoneAccountName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service.getByResourceGroup(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, landingZoneAccountName, accept, context);
+ }
+
+ /**
+ * Get a landing zone account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a landing zone account on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono getByResourceGroupAsync(String resourceGroupName,
+ String landingZoneAccountName) {
+ return getByResourceGroupWithResponseAsync(resourceGroupName, landingZoneAccountName)
+ .flatMap(res -> Mono.justOrEmpty(res.getValue()));
+ }
+
+ /**
+ * Get a landing zone account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a landing zone account along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getByResourceGroupWithResponse(String resourceGroupName,
+ String landingZoneAccountName, Context context) {
+ return getByResourceGroupWithResponseAsync(resourceGroupName, landingZoneAccountName, context).block();
+ }
+
+ /**
+ * Get a landing zone account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a landing zone account.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public LandingZoneAccountResourceInner getByResourceGroup(String resourceGroupName, String landingZoneAccountName) {
+ return getByResourceGroupWithResponse(resourceGroupName, landingZoneAccountName, Context.NONE).getValue();
+ }
+
+ /**
+ * Create a landing zone account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param resource Resource create parameters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the Landing zone account resource type along with {@link Response} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> createWithResponseAsync(String resourceGroupName,
+ String landingZoneAccountName, LandingZoneAccountResourceInner resource) {
+ 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 (landingZoneAccountName == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter landingZoneAccountName is required and cannot be null."));
+ }
+ if (resource == null) {
+ return Mono.error(new IllegalArgumentException("Parameter resource is required and cannot be null."));
+ } else {
+ resource.validate();
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.create(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, landingZoneAccountName, resource, accept, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Create a landing zone account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param resource Resource create parameters.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the Landing zone account resource type along with {@link Response} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> createWithResponseAsync(String resourceGroupName,
+ String landingZoneAccountName, LandingZoneAccountResourceInner resource, 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 (landingZoneAccountName == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter landingZoneAccountName is required and cannot be null."));
+ }
+ if (resource == null) {
+ return Mono.error(new IllegalArgumentException("Parameter resource is required and cannot be null."));
+ } else {
+ resource.validate();
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service.create(this.client.getEndpoint(), this.client.getApiVersion(), this.client.getSubscriptionId(),
+ resourceGroupName, landingZoneAccountName, resource, accept, context);
+ }
+
+ /**
+ * Create a landing zone account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param resource Resource create parameters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link PollerFlux} for polling of the Landing zone account resource type.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, LandingZoneAccountResourceInner> beginCreateAsync(
+ String resourceGroupName, String landingZoneAccountName, LandingZoneAccountResourceInner resource) {
+ Mono>> mono
+ = createWithResponseAsync(resourceGroupName, landingZoneAccountName, resource);
+ return this.client.getLroResult(mono,
+ this.client.getHttpPipeline(), LandingZoneAccountResourceInner.class, LandingZoneAccountResourceInner.class,
+ this.client.getContext());
+ }
+
+ /**
+ * Create a landing zone account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param resource Resource create parameters.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link PollerFlux} for polling of the Landing zone account resource type.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, LandingZoneAccountResourceInner> beginCreateAsync(
+ String resourceGroupName, String landingZoneAccountName, LandingZoneAccountResourceInner resource,
+ Context context) {
+ context = this.client.mergeContext(context);
+ Mono>> mono
+ = createWithResponseAsync(resourceGroupName, landingZoneAccountName, resource, context);
+ return this.client.getLroResult(mono,
+ this.client.getHttpPipeline(), LandingZoneAccountResourceInner.class, LandingZoneAccountResourceInner.class,
+ context);
+ }
+
+ /**
+ * Create a landing zone account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param resource Resource create parameters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the Landing zone account resource type.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, LandingZoneAccountResourceInner>
+ beginCreate(String resourceGroupName, String landingZoneAccountName, LandingZoneAccountResourceInner resource) {
+ return this.beginCreateAsync(resourceGroupName, landingZoneAccountName, resource).getSyncPoller();
+ }
+
+ /**
+ * Create a landing zone account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param resource Resource create parameters.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the Landing zone account resource type.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, LandingZoneAccountResourceInner> beginCreate(
+ String resourceGroupName, String landingZoneAccountName, LandingZoneAccountResourceInner resource,
+ Context context) {
+ return this.beginCreateAsync(resourceGroupName, landingZoneAccountName, resource, context).getSyncPoller();
+ }
+
+ /**
+ * Create a landing zone account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param resource Resource create parameters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the Landing zone account resource type on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono createAsync(String resourceGroupName, String landingZoneAccountName,
+ LandingZoneAccountResourceInner resource) {
+ return beginCreateAsync(resourceGroupName, landingZoneAccountName, resource).last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Create a landing zone account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param resource Resource create parameters.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the Landing zone account resource type on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono createAsync(String resourceGroupName, String landingZoneAccountName,
+ LandingZoneAccountResourceInner resource, Context context) {
+ return beginCreateAsync(resourceGroupName, landingZoneAccountName, resource, context).last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Create a landing zone account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param resource Resource create parameters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the Landing zone account resource type.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public LandingZoneAccountResourceInner create(String resourceGroupName, String landingZoneAccountName,
+ LandingZoneAccountResourceInner resource) {
+ return createAsync(resourceGroupName, landingZoneAccountName, resource).block();
+ }
+
+ /**
+ * Create a landing zone account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param resource Resource create parameters.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the Landing zone account resource type.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public LandingZoneAccountResourceInner create(String resourceGroupName, String landingZoneAccountName,
+ LandingZoneAccountResourceInner resource, Context context) {
+ return createAsync(resourceGroupName, landingZoneAccountName, resource, context).block();
+ }
+
+ /**
+ * Update a landing zone account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param properties The resource properties to be updated.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the Landing zone account resource type along with {@link Response} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> updateWithResponseAsync(String resourceGroupName,
+ String landingZoneAccountName, LandingZoneAccountResourceUpdate properties) {
+ 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 (landingZoneAccountName == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter landingZoneAccountName is required and cannot be null."));
+ }
+ if (properties == null) {
+ return Mono.error(new IllegalArgumentException("Parameter properties is required and cannot be null."));
+ } else {
+ properties.validate();
+ }
+ final String accept = "application/json";
+ return FluxUtil.withContext(context -> service.update(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, landingZoneAccountName, properties, accept, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Update a landing zone account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param properties The resource properties to be updated.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the Landing zone account resource type along with {@link Response} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> updateWithResponseAsync(String resourceGroupName,
+ String landingZoneAccountName, LandingZoneAccountResourceUpdate properties, 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 (landingZoneAccountName == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter landingZoneAccountName is required and cannot be null."));
+ }
+ if (properties == null) {
+ return Mono.error(new IllegalArgumentException("Parameter properties is required and cannot be null."));
+ } else {
+ properties.validate();
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service.update(this.client.getEndpoint(), this.client.getApiVersion(), this.client.getSubscriptionId(),
+ resourceGroupName, landingZoneAccountName, properties, accept, context);
+ }
+
+ /**
+ * Update a landing zone account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param properties The resource properties to be updated.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link PollerFlux} for polling of the Landing zone account resource type.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, LandingZoneAccountResourceInner> beginUpdateAsync(
+ String resourceGroupName, String landingZoneAccountName, LandingZoneAccountResourceUpdate properties) {
+ Mono>> mono
+ = updateWithResponseAsync(resourceGroupName, landingZoneAccountName, properties);
+ return this.client.getLroResult(mono,
+ this.client.getHttpPipeline(), LandingZoneAccountResourceInner.class, LandingZoneAccountResourceInner.class,
+ this.client.getContext());
+ }
+
+ /**
+ * Update a landing zone account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param properties The resource properties to be updated.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link PollerFlux} for polling of the Landing zone account resource type.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, LandingZoneAccountResourceInner> beginUpdateAsync(
+ String resourceGroupName, String landingZoneAccountName, LandingZoneAccountResourceUpdate properties,
+ Context context) {
+ context = this.client.mergeContext(context);
+ Mono>> mono
+ = updateWithResponseAsync(resourceGroupName, landingZoneAccountName, properties, context);
+ return this.client.getLroResult(mono,
+ this.client.getHttpPipeline(), LandingZoneAccountResourceInner.class, LandingZoneAccountResourceInner.class,
+ context);
+ }
+
+ /**
+ * Update a landing zone account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param properties The resource properties to be updated.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the Landing zone account resource type.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, LandingZoneAccountResourceInner> beginUpdate(
+ String resourceGroupName, String landingZoneAccountName, LandingZoneAccountResourceUpdate properties) {
+ return this.beginUpdateAsync(resourceGroupName, landingZoneAccountName, properties).getSyncPoller();
+ }
+
+ /**
+ * Update a landing zone account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param properties The resource properties to be updated.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the Landing zone account resource type.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, LandingZoneAccountResourceInner> beginUpdate(
+ String resourceGroupName, String landingZoneAccountName, LandingZoneAccountResourceUpdate properties,
+ Context context) {
+ return this.beginUpdateAsync(resourceGroupName, landingZoneAccountName, properties, context).getSyncPoller();
+ }
+
+ /**
+ * Update a landing zone account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param properties The resource properties to be updated.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the Landing zone account resource type on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono updateAsync(String resourceGroupName, String landingZoneAccountName,
+ LandingZoneAccountResourceUpdate properties) {
+ return beginUpdateAsync(resourceGroupName, landingZoneAccountName, properties).last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Update a landing zone account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param properties The resource properties to be updated.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the Landing zone account resource type on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono updateAsync(String resourceGroupName, String landingZoneAccountName,
+ LandingZoneAccountResourceUpdate properties, Context context) {
+ return beginUpdateAsync(resourceGroupName, landingZoneAccountName, properties, context).last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Update a landing zone account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param properties The resource properties to be updated.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the Landing zone account resource type.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public LandingZoneAccountResourceInner update(String resourceGroupName, String landingZoneAccountName,
+ LandingZoneAccountResourceUpdate properties) {
+ return updateAsync(resourceGroupName, landingZoneAccountName, properties).block();
+ }
+
+ /**
+ * Update a landing zone account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param properties The resource properties to be updated.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the Landing zone account resource type.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public LandingZoneAccountResourceInner update(String resourceGroupName, String landingZoneAccountName,
+ LandingZoneAccountResourceUpdate properties, Context context) {
+ return updateAsync(resourceGroupName, landingZoneAccountName, properties, context).block();
+ }
+
+ /**
+ * Deletes a landing zone account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> deleteWithResponseAsync(String resourceGroupName,
+ String landingZoneAccountName) {
+ 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 (landingZoneAccountName == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter landingZoneAccountName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.delete(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, landingZoneAccountName, accept, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Deletes a landing zone account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> deleteWithResponseAsync(String resourceGroupName,
+ String landingZoneAccountName, 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 (landingZoneAccountName == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter landingZoneAccountName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service.delete(this.client.getEndpoint(), this.client.getApiVersion(), this.client.getSubscriptionId(),
+ resourceGroupName, landingZoneAccountName, accept, context);
+ }
+
+ /**
+ * Deletes a landing zone account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link PollerFlux} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, Void> beginDeleteAsync(String resourceGroupName,
+ String landingZoneAccountName) {
+ Mono>> mono = deleteWithResponseAsync(resourceGroupName, landingZoneAccountName);
+ return this.client.getLroResult(mono, this.client.getHttpPipeline(), Void.class, Void.class,
+ this.client.getContext());
+ }
+
+ /**
+ * Deletes a landing zone account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link PollerFlux} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, Void> beginDeleteAsync(String resourceGroupName, String landingZoneAccountName,
+ Context context) {
+ context = this.client.mergeContext(context);
+ Mono>> mono
+ = deleteWithResponseAsync(resourceGroupName, landingZoneAccountName, context);
+ return this.client.getLroResult(mono, this.client.getHttpPipeline(), Void.class, Void.class,
+ context);
+ }
+
+ /**
+ * Deletes a landing zone account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, Void> beginDelete(String resourceGroupName, String landingZoneAccountName) {
+ return this.beginDeleteAsync(resourceGroupName, landingZoneAccountName).getSyncPoller();
+ }
+
+ /**
+ * Deletes a landing zone account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, Void> beginDelete(String resourceGroupName, String landingZoneAccountName,
+ Context context) {
+ return this.beginDeleteAsync(resourceGroupName, landingZoneAccountName, context).getSyncPoller();
+ }
+
+ /**
+ * Deletes a landing zone account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return A {@link Mono} that completes when a successful response is received.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono deleteAsync(String resourceGroupName, String landingZoneAccountName) {
+ return beginDeleteAsync(resourceGroupName, landingZoneAccountName).last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Deletes a landing zone account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return A {@link Mono} that completes when a successful response is received.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono deleteAsync(String resourceGroupName, String landingZoneAccountName, Context context) {
+ return beginDeleteAsync(resourceGroupName, landingZoneAccountName, context).last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Deletes a landing zone account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public void delete(String resourceGroupName, String landingZoneAccountName) {
+ deleteAsync(resourceGroupName, landingZoneAccountName).block();
+ }
+
+ /**
+ * Deletes a landing zone account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public void delete(String resourceGroupName, String landingZoneAccountName, Context context) {
+ deleteAsync(resourceGroupName, landingZoneAccountName, context).block();
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The URL to get the next list of items.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a LandingZoneAccountResource list operation 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 URL to get the next list of items.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a LandingZoneAccountResource list operation 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));
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The URL to get the next list of items.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a LandingZoneAccountResource list operation 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 URL to get the next list of items.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a LandingZoneAccountResource list operation 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));
+ }
+}
diff --git a/sdk/sovereign/azure-resourcemanager-sovereign/src/main/java/com/azure/resourcemanager/sovereign/implementation/LandingZoneAccountOperationsImpl.java b/sdk/sovereign/azure-resourcemanager-sovereign/src/main/java/com/azure/resourcemanager/sovereign/implementation/LandingZoneAccountOperationsImpl.java
new file mode 100644
index 000000000000..51e7eceb64cb
--- /dev/null
+++ b/sdk/sovereign/azure-resourcemanager-sovereign/src/main/java/com/azure/resourcemanager/sovereign/implementation/LandingZoneAccountOperationsImpl.java
@@ -0,0 +1,153 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.sovereign.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.sovereign.fluent.LandingZoneAccountOperationsClient;
+import com.azure.resourcemanager.sovereign.fluent.models.LandingZoneAccountResourceInner;
+import com.azure.resourcemanager.sovereign.models.LandingZoneAccountOperations;
+import com.azure.resourcemanager.sovereign.models.LandingZoneAccountResource;
+
+public final class LandingZoneAccountOperationsImpl implements LandingZoneAccountOperations {
+ private static final ClientLogger LOGGER = new ClientLogger(LandingZoneAccountOperationsImpl.class);
+
+ private final LandingZoneAccountOperationsClient innerClient;
+
+ private final com.azure.resourcemanager.sovereign.SovereignManager serviceManager;
+
+ public LandingZoneAccountOperationsImpl(LandingZoneAccountOperationsClient innerClient,
+ com.azure.resourcemanager.sovereign.SovereignManager serviceManager) {
+ this.innerClient = innerClient;
+ this.serviceManager = serviceManager;
+ }
+
+ public PagedIterable list() {
+ PagedIterable inner = this.serviceClient().list();
+ return ResourceManagerUtils.mapPage(inner,
+ inner1 -> new LandingZoneAccountResourceImpl(inner1, this.manager()));
+ }
+
+ public PagedIterable list(Context context) {
+ PagedIterable inner = this.serviceClient().list(context);
+ return ResourceManagerUtils.mapPage(inner,
+ inner1 -> new LandingZoneAccountResourceImpl(inner1, this.manager()));
+ }
+
+ public PagedIterable listByResourceGroup(String resourceGroupName) {
+ PagedIterable inner
+ = this.serviceClient().listByResourceGroup(resourceGroupName);
+ return ResourceManagerUtils.mapPage(inner,
+ inner1 -> new LandingZoneAccountResourceImpl(inner1, this.manager()));
+ }
+
+ public PagedIterable listByResourceGroup(String resourceGroupName, Context context) {
+ PagedIterable inner
+ = this.serviceClient().listByResourceGroup(resourceGroupName, context);
+ return ResourceManagerUtils.mapPage(inner,
+ inner1 -> new LandingZoneAccountResourceImpl(inner1, this.manager()));
+ }
+
+ public Response getByResourceGroupWithResponse(String resourceGroupName,
+ String landingZoneAccountName, Context context) {
+ Response inner
+ = this.serviceClient().getByResourceGroupWithResponse(resourceGroupName, landingZoneAccountName, context);
+ if (inner != null) {
+ return new SimpleResponse<>(inner.getRequest(), inner.getStatusCode(), inner.getHeaders(),
+ new LandingZoneAccountResourceImpl(inner.getValue(), this.manager()));
+ } else {
+ return null;
+ }
+ }
+
+ public LandingZoneAccountResource getByResourceGroup(String resourceGroupName, String landingZoneAccountName) {
+ LandingZoneAccountResourceInner inner
+ = this.serviceClient().getByResourceGroup(resourceGroupName, landingZoneAccountName);
+ if (inner != null) {
+ return new LandingZoneAccountResourceImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ public void deleteByResourceGroup(String resourceGroupName, String landingZoneAccountName) {
+ this.serviceClient().delete(resourceGroupName, landingZoneAccountName);
+ }
+
+ public void delete(String resourceGroupName, String landingZoneAccountName, Context context) {
+ this.serviceClient().delete(resourceGroupName, landingZoneAccountName, context);
+ }
+
+ public LandingZoneAccountResource getById(String id) {
+ String resourceGroupName = ResourceManagerUtils.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 landingZoneAccountName = ResourceManagerUtils.getValueFromIdByName(id, "landingZoneAccounts");
+ if (landingZoneAccountName == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'landingZoneAccounts'.", id)));
+ }
+ return this.getByResourceGroupWithResponse(resourceGroupName, landingZoneAccountName, Context.NONE).getValue();
+ }
+
+ public Response getByIdWithResponse(String id, Context context) {
+ String resourceGroupName = ResourceManagerUtils.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 landingZoneAccountName = ResourceManagerUtils.getValueFromIdByName(id, "landingZoneAccounts");
+ if (landingZoneAccountName == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'landingZoneAccounts'.", id)));
+ }
+ return this.getByResourceGroupWithResponse(resourceGroupName, landingZoneAccountName, context);
+ }
+
+ public void deleteById(String id) {
+ String resourceGroupName = ResourceManagerUtils.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 landingZoneAccountName = ResourceManagerUtils.getValueFromIdByName(id, "landingZoneAccounts");
+ if (landingZoneAccountName == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'landingZoneAccounts'.", id)));
+ }
+ this.delete(resourceGroupName, landingZoneAccountName, Context.NONE);
+ }
+
+ public void deleteByIdWithResponse(String id, Context context) {
+ String resourceGroupName = ResourceManagerUtils.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 landingZoneAccountName = ResourceManagerUtils.getValueFromIdByName(id, "landingZoneAccounts");
+ if (landingZoneAccountName == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'landingZoneAccounts'.", id)));
+ }
+ this.delete(resourceGroupName, landingZoneAccountName, context);
+ }
+
+ private LandingZoneAccountOperationsClient serviceClient() {
+ return this.innerClient;
+ }
+
+ private com.azure.resourcemanager.sovereign.SovereignManager manager() {
+ return this.serviceManager;
+ }
+
+ public LandingZoneAccountResourceImpl define(String name) {
+ return new LandingZoneAccountResourceImpl(name, this.manager());
+ }
+}
diff --git a/sdk/sovereign/azure-resourcemanager-sovereign/src/main/java/com/azure/resourcemanager/sovereign/implementation/LandingZoneAccountResourceImpl.java b/sdk/sovereign/azure-resourcemanager-sovereign/src/main/java/com/azure/resourcemanager/sovereign/implementation/LandingZoneAccountResourceImpl.java
new file mode 100644
index 000000000000..3fc9ed2fd356
--- /dev/null
+++ b/sdk/sovereign/azure-resourcemanager-sovereign/src/main/java/com/azure/resourcemanager/sovereign/implementation/LandingZoneAccountResourceImpl.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.sovereign.implementation;
+
+import com.azure.core.management.Region;
+import com.azure.core.management.SystemData;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.sovereign.fluent.models.LandingZoneAccountResourceInner;
+import com.azure.resourcemanager.sovereign.models.AzureResourceManagerCommonTypesManagedServiceIdentityUpdate;
+import com.azure.resourcemanager.sovereign.models.LandingZoneAccountResource;
+import com.azure.resourcemanager.sovereign.models.LandingZoneAccountResourceProperties;
+import com.azure.resourcemanager.sovereign.models.LandingZoneAccountResourcePropertiesUpdate;
+import com.azure.resourcemanager.sovereign.models.LandingZoneAccountResourceUpdate;
+import com.azure.resourcemanager.sovereign.models.ManagedServiceIdentity;
+import java.util.Collections;
+import java.util.Map;
+
+public final class LandingZoneAccountResourceImpl
+ implements LandingZoneAccountResource, LandingZoneAccountResource.Definition, LandingZoneAccountResource.Update {
+ private LandingZoneAccountResourceInner innerObject;
+
+ private final com.azure.resourcemanager.sovereign.SovereignManager 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 LandingZoneAccountResourceProperties properties() {
+ return this.innerModel().properties();
+ }
+
+ public ManagedServiceIdentity identity() {
+ return this.innerModel().identity();
+ }
+
+ public SystemData systemData() {
+ return this.innerModel().systemData();
+ }
+
+ public Region region() {
+ return Region.fromName(this.regionName());
+ }
+
+ public String regionName() {
+ return this.location();
+ }
+
+ public String resourceGroupName() {
+ return resourceGroupName;
+ }
+
+ public LandingZoneAccountResourceInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.sovereign.SovereignManager manager() {
+ return this.serviceManager;
+ }
+
+ private String resourceGroupName;
+
+ private String landingZoneAccountName;
+
+ private LandingZoneAccountResourceUpdate updateProperties;
+
+ public LandingZoneAccountResourceImpl withExistingResourceGroup(String resourceGroupName) {
+ this.resourceGroupName = resourceGroupName;
+ return this;
+ }
+
+ public LandingZoneAccountResource create() {
+ this.innerObject = serviceManager.serviceClient()
+ .getLandingZoneAccountOperations()
+ .create(resourceGroupName, landingZoneAccountName, this.innerModel(), Context.NONE);
+ return this;
+ }
+
+ public LandingZoneAccountResource create(Context context) {
+ this.innerObject = serviceManager.serviceClient()
+ .getLandingZoneAccountOperations()
+ .create(resourceGroupName, landingZoneAccountName, this.innerModel(), context);
+ return this;
+ }
+
+ LandingZoneAccountResourceImpl(String name, com.azure.resourcemanager.sovereign.SovereignManager serviceManager) {
+ this.innerObject = new LandingZoneAccountResourceInner();
+ this.serviceManager = serviceManager;
+ this.landingZoneAccountName = name;
+ }
+
+ public LandingZoneAccountResourceImpl update() {
+ this.updateProperties = new LandingZoneAccountResourceUpdate();
+ return this;
+ }
+
+ public LandingZoneAccountResource apply() {
+ this.innerObject = serviceManager.serviceClient()
+ .getLandingZoneAccountOperations()
+ .update(resourceGroupName, landingZoneAccountName, updateProperties, Context.NONE);
+ return this;
+ }
+
+ public LandingZoneAccountResource apply(Context context) {
+ this.innerObject = serviceManager.serviceClient()
+ .getLandingZoneAccountOperations()
+ .update(resourceGroupName, landingZoneAccountName, updateProperties, context);
+ return this;
+ }
+
+ LandingZoneAccountResourceImpl(LandingZoneAccountResourceInner innerObject,
+ com.azure.resourcemanager.sovereign.SovereignManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ this.resourceGroupName = ResourceManagerUtils.getValueFromIdByName(innerObject.id(), "resourceGroups");
+ this.landingZoneAccountName
+ = ResourceManagerUtils.getValueFromIdByName(innerObject.id(), "landingZoneAccounts");
+ }
+
+ public LandingZoneAccountResource refresh() {
+ this.innerObject = serviceManager.serviceClient()
+ .getLandingZoneAccountOperations()
+ .getByResourceGroupWithResponse(resourceGroupName, landingZoneAccountName, Context.NONE)
+ .getValue();
+ return this;
+ }
+
+ public LandingZoneAccountResource refresh(Context context) {
+ this.innerObject = serviceManager.serviceClient()
+ .getLandingZoneAccountOperations()
+ .getByResourceGroupWithResponse(resourceGroupName, landingZoneAccountName, context)
+ .getValue();
+ return this;
+ }
+
+ public LandingZoneAccountResourceImpl withRegion(Region location) {
+ this.innerModel().withLocation(location.toString());
+ return this;
+ }
+
+ public LandingZoneAccountResourceImpl withRegion(String location) {
+ this.innerModel().withLocation(location);
+ return this;
+ }
+
+ public LandingZoneAccountResourceImpl withTags(Map tags) {
+ if (isInCreateMode()) {
+ this.innerModel().withTags(tags);
+ return this;
+ } else {
+ this.updateProperties.withTags(tags);
+ return this;
+ }
+ }
+
+ public LandingZoneAccountResourceImpl withProperties(LandingZoneAccountResourceProperties properties) {
+ this.innerModel().withProperties(properties);
+ return this;
+ }
+
+ public LandingZoneAccountResourceImpl withIdentity(ManagedServiceIdentity identity) {
+ this.innerModel().withIdentity(identity);
+ return this;
+ }
+
+ public LandingZoneAccountResourceImpl withProperties(LandingZoneAccountResourcePropertiesUpdate properties) {
+ this.updateProperties.withProperties(properties);
+ return this;
+ }
+
+ public LandingZoneAccountResourceImpl
+ withIdentity(AzureResourceManagerCommonTypesManagedServiceIdentityUpdate identity) {
+ this.updateProperties.withIdentity(identity);
+ return this;
+ }
+
+ private boolean isInCreateMode() {
+ return this.innerModel().id() == null;
+ }
+}
diff --git a/sdk/sovereign/azure-resourcemanager-sovereign/src/main/java/com/azure/resourcemanager/sovereign/implementation/LandingZoneConfigurationOperationsClientImpl.java b/sdk/sovereign/azure-resourcemanager-sovereign/src/main/java/com/azure/resourcemanager/sovereign/implementation/LandingZoneConfigurationOperationsClientImpl.java
new file mode 100644
index 000000000000..1f30874dfaa1
--- /dev/null
+++ b/sdk/sovereign/azure-resourcemanager-sovereign/src/main/java/com/azure/resourcemanager/sovereign/implementation/LandingZoneConfigurationOperationsClientImpl.java
@@ -0,0 +1,2352 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.sovereign.implementation;
+
+import com.azure.core.annotation.BodyParam;
+import com.azure.core.annotation.Delete;
+import com.azure.core.annotation.ExpectedResponses;
+import com.azure.core.annotation.Get;
+import com.azure.core.annotation.HeaderParam;
+import com.azure.core.annotation.Headers;
+import com.azure.core.annotation.Host;
+import com.azure.core.annotation.HostParam;
+import com.azure.core.annotation.Patch;
+import com.azure.core.annotation.PathParam;
+import com.azure.core.annotation.Post;
+import com.azure.core.annotation.Put;
+import com.azure.core.annotation.QueryParam;
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceInterface;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.annotation.UnexpectedResponseExceptionType;
+import com.azure.core.http.rest.PagedFlux;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.PagedResponse;
+import com.azure.core.http.rest.PagedResponseBase;
+import com.azure.core.http.rest.Response;
+import com.azure.core.http.rest.RestProxy;
+import com.azure.core.management.exception.ManagementException;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.FluxUtil;
+import com.azure.core.util.polling.PollerFlux;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.sovereign.fluent.LandingZoneConfigurationOperationsClient;
+import com.azure.resourcemanager.sovereign.fluent.models.CreateLandingZoneConfigurationCopyResponseInner;
+import com.azure.resourcemanager.sovereign.fluent.models.GenerateLandingZoneResponseInner;
+import com.azure.resourcemanager.sovereign.fluent.models.LandingZoneConfigurationResourceInner;
+import com.azure.resourcemanager.sovereign.fluent.models.UpdateAuthoringStatusResponseInner;
+import com.azure.resourcemanager.sovereign.models.CreateLandingZoneConfigurationCopyRequest;
+import com.azure.resourcemanager.sovereign.models.GenerateLandingZoneRequest;
+import com.azure.resourcemanager.sovereign.models.LandingZoneConfigurationResourceListResult;
+import com.azure.resourcemanager.sovereign.models.LandingZoneConfigurationResourceUpdate;
+import com.azure.resourcemanager.sovereign.models.UpdateAuthoringStatusRequest;
+import java.nio.ByteBuffer;
+import reactor.core.publisher.Flux;
+import reactor.core.publisher.Mono;
+
+/**
+ * An instance of this class provides access to all the operations defined in LandingZoneConfigurationOperationsClient.
+ */
+public final class LandingZoneConfigurationOperationsClientImpl implements LandingZoneConfigurationOperationsClient {
+ /**
+ * The proxy service used to perform REST calls.
+ */
+ private final LandingZoneConfigurationOperationsService service;
+
+ /**
+ * The service client containing this operation class.
+ */
+ private final MicrosoftSovereignImpl client;
+
+ /**
+ * Initializes an instance of LandingZoneConfigurationOperationsClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ LandingZoneConfigurationOperationsClientImpl(MicrosoftSovereignImpl client) {
+ this.service = RestProxy.create(LandingZoneConfigurationOperationsService.class, client.getHttpPipeline(),
+ client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for MicrosoftSovereignLandingZoneConfigurationOperations to be used by
+ * the proxy service to perform REST calls.
+ */
+ @Host("{$host}")
+ @ServiceInterface(name = "MicrosoftSovereignLa")
+ public interface LandingZoneConfigurationOperationsService {
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/providers/Microsoft.Sovereign/landingZoneAccounts/{landingZoneAccountName}/landingZoneConfigurations")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listBySubscription(
+ @HostParam("$host") String endpoint, @QueryParam("api-version") String apiVersion,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("landingZoneAccountName") String landingZoneAccountName, @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sovereign/landingZoneAccounts/{landingZoneAccountName}/landingZoneConfigurations")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByResourceGroup(
+ @HostParam("$host") String endpoint, @QueryParam("api-version") String apiVersion,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("landingZoneAccountName") String landingZoneAccountName, @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sovereign/landingZoneAccounts/{landingZoneAccountName}/landingZoneConfigurations/{landingZoneConfigurationName}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> get(@HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("landingZoneAccountName") String landingZoneAccountName,
+ @PathParam("landingZoneConfigurationName") String landingZoneConfigurationName,
+ @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Put("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sovereign/landingZoneAccounts/{landingZoneAccountName}/landingZoneConfigurations/{landingZoneConfigurationName}")
+ @ExpectedResponses({ 200, 201 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> create(@HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("landingZoneAccountName") String landingZoneAccountName,
+ @PathParam("landingZoneConfigurationName") String landingZoneConfigurationName,
+ @BodyParam("application/json") LandingZoneConfigurationResourceInner resource,
+ @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Patch("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sovereign/landingZoneAccounts/{landingZoneAccountName}/landingZoneConfigurations/{landingZoneConfigurationName}")
+ @ExpectedResponses({ 200, 202 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> update(@HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("landingZoneAccountName") String landingZoneAccountName,
+ @PathParam("landingZoneConfigurationName") String landingZoneConfigurationName,
+ @BodyParam("application/json") LandingZoneConfigurationResourceUpdate properties,
+ @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Delete("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sovereign/landingZoneAccounts/{landingZoneAccountName}/landingZoneConfigurations/{landingZoneConfigurationName}")
+ @ExpectedResponses({ 202, 204 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> delete(@HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("landingZoneAccountName") String landingZoneAccountName,
+ @PathParam("landingZoneConfigurationName") String landingZoneConfigurationName,
+ @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Post("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sovereign/landingZoneAccounts/{landingZoneAccountName}/landingZoneConfigurations/{landingZoneConfigurationName}/createCopy")
+ @ExpectedResponses({ 200, 202 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> createCopy(@HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("landingZoneAccountName") String landingZoneAccountName,
+ @PathParam("landingZoneConfigurationName") String landingZoneConfigurationName,
+ @BodyParam("application/json") CreateLandingZoneConfigurationCopyRequest body,
+ @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Post("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sovereign/landingZoneAccounts/{landingZoneAccountName}/landingZoneConfigurations/{landingZoneConfigurationName}/generateLandingZone")
+ @ExpectedResponses({ 200, 202 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> generateLandingZone(@HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("landingZoneAccountName") String landingZoneAccountName,
+ @PathParam("landingZoneConfigurationName") String landingZoneConfigurationName,
+ @BodyParam("application/json") GenerateLandingZoneRequest body, @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Post("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sovereign/landingZoneAccounts/{landingZoneAccountName}/landingZoneConfigurations/{landingZoneConfigurationName}/updateAuthoringStatus")
+ @ExpectedResponses({ 200, 202 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> updateAuthoringStatus(@HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("landingZoneAccountName") String landingZoneAccountName,
+ @PathParam("landingZoneConfigurationName") String landingZoneConfigurationName,
+ @BodyParam("application/json") UpdateAuthoringStatusRequest body, @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("{nextLink}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listBySubscriptionNext(
+ @PathParam(value = "nextLink", encoded = true) String nextLink, @HostParam("$host") String endpoint,
+ @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("{nextLink}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByResourceGroupNext(
+ @PathParam(value = "nextLink", encoded = true) String nextLink, @HostParam("$host") String endpoint,
+ @HeaderParam("Accept") String accept, Context context);
+ }
+
+ /**
+ * List the landing zone configurations within a subscription.
+ *
+ * @param landingZoneAccountName The landing zone account.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a LandingZoneConfigurationResource list operation along with {@link PagedResponse} on
+ * successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>
+ listBySubscriptionSinglePageAsync(String landingZoneAccountName) {
+ 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 (landingZoneAccountName == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter landingZoneAccountName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.listBySubscription(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), landingZoneAccountName, 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()));
+ }
+
+ /**
+ * List the landing zone configurations within a subscription.
+ *
+ * @param landingZoneAccountName The landing zone account.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a LandingZoneConfigurationResource list operation along with {@link PagedResponse} on
+ * successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>
+ listBySubscriptionSinglePageAsync(String landingZoneAccountName, 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 (landingZoneAccountName == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter landingZoneAccountName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .listBySubscription(this.client.getEndpoint(), this.client.getApiVersion(), this.client.getSubscriptionId(),
+ landingZoneAccountName, accept, context)
+ .map(res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(),
+ res.getValue().value(), res.getValue().nextLink(), null));
+ }
+
+ /**
+ * List the landing zone configurations within a subscription.
+ *
+ * @param landingZoneAccountName The landing zone account.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a LandingZoneConfigurationResource list operation as paginated response with
+ * {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listBySubscriptionAsync(String landingZoneAccountName) {
+ return new PagedFlux<>(() -> listBySubscriptionSinglePageAsync(landingZoneAccountName),
+ nextLink -> listBySubscriptionNextSinglePageAsync(nextLink));
+ }
+
+ /**
+ * List the landing zone configurations within a subscription.
+ *
+ * @param landingZoneAccountName The landing zone account.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a LandingZoneConfigurationResource list operation as paginated response with
+ * {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listBySubscriptionAsync(String landingZoneAccountName,
+ Context context) {
+ return new PagedFlux<>(() -> listBySubscriptionSinglePageAsync(landingZoneAccountName, context),
+ nextLink -> listBySubscriptionNextSinglePageAsync(nextLink, context));
+ }
+
+ /**
+ * List the landing zone configurations within a subscription.
+ *
+ * @param landingZoneAccountName The landing zone account.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a LandingZoneConfigurationResource list operation as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listBySubscription(String landingZoneAccountName) {
+ return new PagedIterable<>(listBySubscriptionAsync(landingZoneAccountName));
+ }
+
+ /**
+ * List the landing zone configurations within a subscription.
+ *
+ * @param landingZoneAccountName The landing zone account.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a LandingZoneConfigurationResource list operation as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listBySubscription(String landingZoneAccountName,
+ Context context) {
+ return new PagedIterable<>(listBySubscriptionAsync(landingZoneAccountName, context));
+ }
+
+ /**
+ * List the landing zone configurations within a resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a LandingZoneConfigurationResource list operation along with {@link PagedResponse} on
+ * successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>
+ listByResourceGroupSinglePageAsync(String resourceGroupName, String landingZoneAccountName) {
+ 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 (landingZoneAccountName == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter landingZoneAccountName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.listByResourceGroup(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, landingZoneAccountName, 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()));
+ }
+
+ /**
+ * List the landing zone configurations within a resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a LandingZoneConfigurationResource list operation along with {@link PagedResponse} on
+ * successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>
+ listByResourceGroupSinglePageAsync(String resourceGroupName, String landingZoneAccountName, 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 (landingZoneAccountName == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter landingZoneAccountName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .listByResourceGroup(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, landingZoneAccountName, accept, context)
+ .map(res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(),
+ res.getValue().value(), res.getValue().nextLink(), null));
+ }
+
+ /**
+ * List the landing zone configurations within a resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a LandingZoneConfigurationResource list operation as paginated response with
+ * {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listByResourceGroupAsync(String resourceGroupName,
+ String landingZoneAccountName) {
+ return new PagedFlux<>(() -> listByResourceGroupSinglePageAsync(resourceGroupName, landingZoneAccountName),
+ nextLink -> listByResourceGroupNextSinglePageAsync(nextLink));
+ }
+
+ /**
+ * List the landing zone configurations within a resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a LandingZoneConfigurationResource list operation as paginated response with
+ * {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listByResourceGroupAsync(String resourceGroupName,
+ String landingZoneAccountName, Context context) {
+ return new PagedFlux<>(
+ () -> listByResourceGroupSinglePageAsync(resourceGroupName, landingZoneAccountName, context),
+ nextLink -> listByResourceGroupNextSinglePageAsync(nextLink, context));
+ }
+
+ /**
+ * List the landing zone configurations within a resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a LandingZoneConfigurationResource list operation as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByResourceGroup(String resourceGroupName,
+ String landingZoneAccountName) {
+ return new PagedIterable<>(listByResourceGroupAsync(resourceGroupName, landingZoneAccountName));
+ }
+
+ /**
+ * List the landing zone configurations within a resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a LandingZoneConfigurationResource list operation as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByResourceGroup(String resourceGroupName,
+ String landingZoneAccountName, Context context) {
+ return new PagedIterable<>(listByResourceGroupAsync(resourceGroupName, landingZoneAccountName, context));
+ }
+
+ /**
+ * Get a landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a landing zone configuration along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getWithResponseAsync(String resourceGroupName,
+ String landingZoneAccountName, String landingZoneConfigurationName) {
+ 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 (landingZoneAccountName == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter landingZoneAccountName is required and cannot be null."));
+ }
+ if (landingZoneConfigurationName == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter landingZoneConfigurationName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.get(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, landingZoneAccountName,
+ landingZoneConfigurationName, accept, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Get a landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a landing zone configuration along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getWithResponseAsync(String resourceGroupName,
+ String landingZoneAccountName, String landingZoneConfigurationName, 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 (landingZoneAccountName == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter landingZoneAccountName is required and cannot be null."));
+ }
+ if (landingZoneConfigurationName == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter landingZoneConfigurationName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service.get(this.client.getEndpoint(), this.client.getApiVersion(), this.client.getSubscriptionId(),
+ resourceGroupName, landingZoneAccountName, landingZoneConfigurationName, accept, context);
+ }
+
+ /**
+ * Get a landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a landing zone configuration on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono getAsync(String resourceGroupName,
+ String landingZoneAccountName, String landingZoneConfigurationName) {
+ return getWithResponseAsync(resourceGroupName, landingZoneAccountName, landingZoneConfigurationName)
+ .flatMap(res -> Mono.justOrEmpty(res.getValue()));
+ }
+
+ /**
+ * Get a landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a landing zone configuration along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getWithResponse(String resourceGroupName,
+ String landingZoneAccountName, String landingZoneConfigurationName, Context context) {
+ return getWithResponseAsync(resourceGroupName, landingZoneAccountName, landingZoneConfigurationName, context)
+ .block();
+ }
+
+ /**
+ * Get a landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a landing zone configuration.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public LandingZoneConfigurationResourceInner get(String resourceGroupName, String landingZoneAccountName,
+ String landingZoneConfigurationName) {
+ return getWithResponse(resourceGroupName, landingZoneAccountName, landingZoneConfigurationName, Context.NONE)
+ .getValue();
+ }
+
+ /**
+ * Create a landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param resource Resource create parameters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return concrete proxy resource types can be created by aliasing this type using a specific property type along
+ * with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> createWithResponseAsync(String resourceGroupName,
+ String landingZoneAccountName, String landingZoneConfigurationName,
+ LandingZoneConfigurationResourceInner resource) {
+ 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 (landingZoneAccountName == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter landingZoneAccountName is required and cannot be null."));
+ }
+ if (landingZoneConfigurationName == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter landingZoneConfigurationName is required and cannot be null."));
+ }
+ if (resource == null) {
+ return Mono.error(new IllegalArgumentException("Parameter resource is required and cannot be null."));
+ } else {
+ resource.validate();
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.create(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, landingZoneAccountName,
+ landingZoneConfigurationName, resource, accept, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Create a landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param resource Resource create parameters.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return concrete proxy resource types can be created by aliasing this type using a specific property type along
+ * with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> createWithResponseAsync(String resourceGroupName,
+ String landingZoneAccountName, String landingZoneConfigurationName,
+ LandingZoneConfigurationResourceInner resource, 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 (landingZoneAccountName == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter landingZoneAccountName is required and cannot be null."));
+ }
+ if (landingZoneConfigurationName == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter landingZoneConfigurationName is required and cannot be null."));
+ }
+ if (resource == null) {
+ return Mono.error(new IllegalArgumentException("Parameter resource is required and cannot be null."));
+ } else {
+ resource.validate();
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service.create(this.client.getEndpoint(), this.client.getApiVersion(), this.client.getSubscriptionId(),
+ resourceGroupName, landingZoneAccountName, landingZoneConfigurationName, resource, accept, context);
+ }
+
+ /**
+ * Create a landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param resource Resource create parameters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link PollerFlux} for polling of concrete proxy resource types can be created by aliasing this type
+ * using a specific property type.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, LandingZoneConfigurationResourceInner>
+ beginCreateAsync(String resourceGroupName, String landingZoneAccountName, String landingZoneConfigurationName,
+ LandingZoneConfigurationResourceInner resource) {
+ Mono>> mono = createWithResponseAsync(resourceGroupName, landingZoneAccountName,
+ landingZoneConfigurationName, resource);
+ return this.client.getLroResult(
+ mono, this.client.getHttpPipeline(), LandingZoneConfigurationResourceInner.class,
+ LandingZoneConfigurationResourceInner.class, this.client.getContext());
+ }
+
+ /**
+ * Create a landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param resource Resource create parameters.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link PollerFlux} for polling of concrete proxy resource types can be created by aliasing this type
+ * using a specific property type.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, LandingZoneConfigurationResourceInner>
+ beginCreateAsync(String resourceGroupName, String landingZoneAccountName, String landingZoneConfigurationName,
+ LandingZoneConfigurationResourceInner resource, Context context) {
+ context = this.client.mergeContext(context);
+ Mono>> mono = createWithResponseAsync(resourceGroupName, landingZoneAccountName,
+ landingZoneConfigurationName, resource, context);
+ return this.client.getLroResult(
+ mono, this.client.getHttpPipeline(), LandingZoneConfigurationResourceInner.class,
+ LandingZoneConfigurationResourceInner.class, context);
+ }
+
+ /**
+ * Create a landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param resource Resource create parameters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of concrete proxy resource types can be created by aliasing this type
+ * using a specific property type.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, LandingZoneConfigurationResourceInner>
+ beginCreate(String resourceGroupName, String landingZoneAccountName, String landingZoneConfigurationName,
+ LandingZoneConfigurationResourceInner resource) {
+ return this.beginCreateAsync(resourceGroupName, landingZoneAccountName, landingZoneConfigurationName, resource)
+ .getSyncPoller();
+ }
+
+ /**
+ * Create a landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param resource Resource create parameters.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of concrete proxy resource types can be created by aliasing this type
+ * using a specific property type.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, LandingZoneConfigurationResourceInner>
+ beginCreate(String resourceGroupName, String landingZoneAccountName, String landingZoneConfigurationName,
+ LandingZoneConfigurationResourceInner resource, Context context) {
+ return this
+ .beginCreateAsync(resourceGroupName, landingZoneAccountName, landingZoneConfigurationName, resource,
+ context)
+ .getSyncPoller();
+ }
+
+ /**
+ * Create a landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param resource Resource create parameters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return concrete proxy resource types can be created by aliasing this type using a specific property type on
+ * successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono createAsync(String resourceGroupName,
+ String landingZoneAccountName, String landingZoneConfigurationName,
+ LandingZoneConfigurationResourceInner resource) {
+ return beginCreateAsync(resourceGroupName, landingZoneAccountName, landingZoneConfigurationName, resource)
+ .last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Create a landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param resource Resource create parameters.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return concrete proxy resource types can be created by aliasing this type using a specific property type on
+ * successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono createAsync(String resourceGroupName,
+ String landingZoneAccountName, String landingZoneConfigurationName,
+ LandingZoneConfigurationResourceInner resource, Context context) {
+ return beginCreateAsync(resourceGroupName, landingZoneAccountName, landingZoneConfigurationName, resource,
+ context).last().flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Create a landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param resource Resource create parameters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return concrete proxy resource types can be created by aliasing this type using a specific property type.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public LandingZoneConfigurationResourceInner create(String resourceGroupName, String landingZoneAccountName,
+ String landingZoneConfigurationName, LandingZoneConfigurationResourceInner resource) {
+ return createAsync(resourceGroupName, landingZoneAccountName, landingZoneConfigurationName, resource).block();
+ }
+
+ /**
+ * Create a landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param resource Resource create parameters.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return concrete proxy resource types can be created by aliasing this type using a specific property type.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public LandingZoneConfigurationResourceInner create(String resourceGroupName, String landingZoneAccountName,
+ String landingZoneConfigurationName, LandingZoneConfigurationResourceInner resource, Context context) {
+ return createAsync(resourceGroupName, landingZoneAccountName, landingZoneConfigurationName, resource, context)
+ .block();
+ }
+
+ /**
+ * Update a landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param properties The resource properties to be updated.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return concrete proxy resource types can be created by aliasing this type using a specific property type along
+ * with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> updateWithResponseAsync(String resourceGroupName,
+ String landingZoneAccountName, String landingZoneConfigurationName,
+ LandingZoneConfigurationResourceUpdate properties) {
+ 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 (landingZoneAccountName == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter landingZoneAccountName is required and cannot be null."));
+ }
+ if (landingZoneConfigurationName == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter landingZoneConfigurationName is required and cannot be null."));
+ }
+ if (properties == null) {
+ return Mono.error(new IllegalArgumentException("Parameter properties is required and cannot be null."));
+ } else {
+ properties.validate();
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.update(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, landingZoneAccountName,
+ landingZoneConfigurationName, properties, accept, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Update a landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param properties The resource properties to be updated.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return concrete proxy resource types can be created by aliasing this type using a specific property type along
+ * with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> updateWithResponseAsync(String resourceGroupName,
+ String landingZoneAccountName, String landingZoneConfigurationName,
+ LandingZoneConfigurationResourceUpdate properties, 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 (landingZoneAccountName == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter landingZoneAccountName is required and cannot be null."));
+ }
+ if (landingZoneConfigurationName == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter landingZoneConfigurationName is required and cannot be null."));
+ }
+ if (properties == null) {
+ return Mono.error(new IllegalArgumentException("Parameter properties is required and cannot be null."));
+ } else {
+ properties.validate();
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service.update(this.client.getEndpoint(), this.client.getApiVersion(), this.client.getSubscriptionId(),
+ resourceGroupName, landingZoneAccountName, landingZoneConfigurationName, properties, accept, context);
+ }
+
+ /**
+ * Update a landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param properties The resource properties to be updated.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link PollerFlux} for polling of concrete proxy resource types can be created by aliasing this type
+ * using a specific property type.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, LandingZoneConfigurationResourceInner>
+ beginUpdateAsync(String resourceGroupName, String landingZoneAccountName, String landingZoneConfigurationName,
+ LandingZoneConfigurationResourceUpdate properties) {
+ Mono>> mono = updateWithResponseAsync(resourceGroupName, landingZoneAccountName,
+ landingZoneConfigurationName, properties);
+ return this.client.getLroResult(
+ mono, this.client.getHttpPipeline(), LandingZoneConfigurationResourceInner.class,
+ LandingZoneConfigurationResourceInner.class, this.client.getContext());
+ }
+
+ /**
+ * Update a landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param properties The resource properties to be updated.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link PollerFlux} for polling of concrete proxy resource types can be created by aliasing this type
+ * using a specific property type.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, LandingZoneConfigurationResourceInner>
+ beginUpdateAsync(String resourceGroupName, String landingZoneAccountName, String landingZoneConfigurationName,
+ LandingZoneConfigurationResourceUpdate properties, Context context) {
+ context = this.client.mergeContext(context);
+ Mono>> mono = updateWithResponseAsync(resourceGroupName, landingZoneAccountName,
+ landingZoneConfigurationName, properties, context);
+ return this.client.getLroResult(
+ mono, this.client.getHttpPipeline(), LandingZoneConfigurationResourceInner.class,
+ LandingZoneConfigurationResourceInner.class, context);
+ }
+
+ /**
+ * Update a landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param properties The resource properties to be updated.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of concrete proxy resource types can be created by aliasing this type
+ * using a specific property type.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, LandingZoneConfigurationResourceInner>
+ beginUpdate(String resourceGroupName, String landingZoneAccountName, String landingZoneConfigurationName,
+ LandingZoneConfigurationResourceUpdate properties) {
+ return this
+ .beginUpdateAsync(resourceGroupName, landingZoneAccountName, landingZoneConfigurationName, properties)
+ .getSyncPoller();
+ }
+
+ /**
+ * Update a landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param properties The resource properties to be updated.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of concrete proxy resource types can be created by aliasing this type
+ * using a specific property type.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, LandingZoneConfigurationResourceInner>
+ beginUpdate(String resourceGroupName, String landingZoneAccountName, String landingZoneConfigurationName,
+ LandingZoneConfigurationResourceUpdate properties, Context context) {
+ return this
+ .beginUpdateAsync(resourceGroupName, landingZoneAccountName, landingZoneConfigurationName, properties,
+ context)
+ .getSyncPoller();
+ }
+
+ /**
+ * Update a landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param properties The resource properties to be updated.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return concrete proxy resource types can be created by aliasing this type using a specific property type on
+ * successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono updateAsync(String resourceGroupName,
+ String landingZoneAccountName, String landingZoneConfigurationName,
+ LandingZoneConfigurationResourceUpdate properties) {
+ return beginUpdateAsync(resourceGroupName, landingZoneAccountName, landingZoneConfigurationName, properties)
+ .last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Update a landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param properties The resource properties to be updated.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return concrete proxy resource types can be created by aliasing this type using a specific property type on
+ * successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono updateAsync(String resourceGroupName,
+ String landingZoneAccountName, String landingZoneConfigurationName,
+ LandingZoneConfigurationResourceUpdate properties, Context context) {
+ return beginUpdateAsync(resourceGroupName, landingZoneAccountName, landingZoneConfigurationName, properties,
+ context).last().flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Update a landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param properties The resource properties to be updated.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return concrete proxy resource types can be created by aliasing this type using a specific property type.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public LandingZoneConfigurationResourceInner update(String resourceGroupName, String landingZoneAccountName,
+ String landingZoneConfigurationName, LandingZoneConfigurationResourceUpdate properties) {
+ return updateAsync(resourceGroupName, landingZoneAccountName, landingZoneConfigurationName, properties).block();
+ }
+
+ /**
+ * Update a landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param properties The resource properties to be updated.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return concrete proxy resource types can be created by aliasing this type using a specific property type.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public LandingZoneConfigurationResourceInner update(String resourceGroupName, String landingZoneAccountName,
+ String landingZoneConfigurationName, LandingZoneConfigurationResourceUpdate properties, Context context) {
+ return updateAsync(resourceGroupName, landingZoneAccountName, landingZoneConfigurationName, properties, context)
+ .block();
+ }
+
+ /**
+ * Delete a landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> deleteWithResponseAsync(String resourceGroupName,
+ String landingZoneAccountName, String landingZoneConfigurationName) {
+ 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 (landingZoneAccountName == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter landingZoneAccountName is required and cannot be null."));
+ }
+ if (landingZoneConfigurationName == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter landingZoneConfigurationName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.delete(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, landingZoneAccountName,
+ landingZoneConfigurationName, accept, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Delete a landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> deleteWithResponseAsync(String resourceGroupName,
+ String landingZoneAccountName, String landingZoneConfigurationName, 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 (landingZoneAccountName == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter landingZoneAccountName is required and cannot be null."));
+ }
+ if (landingZoneConfigurationName == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter landingZoneConfigurationName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service.delete(this.client.getEndpoint(), this.client.getApiVersion(), this.client.getSubscriptionId(),
+ resourceGroupName, landingZoneAccountName, landingZoneConfigurationName, accept, context);
+ }
+
+ /**
+ * Delete a landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link PollerFlux} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, Void> beginDeleteAsync(String resourceGroupName, String landingZoneAccountName,
+ String landingZoneConfigurationName) {
+ Mono>> mono
+ = deleteWithResponseAsync(resourceGroupName, landingZoneAccountName, landingZoneConfigurationName);
+ return this.client.getLroResult(mono, this.client.getHttpPipeline(), Void.class, Void.class,
+ this.client.getContext());
+ }
+
+ /**
+ * Delete a landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link PollerFlux} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, Void> beginDeleteAsync(String resourceGroupName, String landingZoneAccountName,
+ String landingZoneConfigurationName, Context context) {
+ context = this.client.mergeContext(context);
+ Mono>> mono
+ = deleteWithResponseAsync(resourceGroupName, landingZoneAccountName, landingZoneConfigurationName, context);
+ return this.client.getLroResult(mono, this.client.getHttpPipeline(), Void.class, Void.class,
+ context);
+ }
+
+ /**
+ * Delete a landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, Void> beginDelete(String resourceGroupName, String landingZoneAccountName,
+ String landingZoneConfigurationName) {
+ return this.beginDeleteAsync(resourceGroupName, landingZoneAccountName, landingZoneConfigurationName)
+ .getSyncPoller();
+ }
+
+ /**
+ * Delete a landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, Void> beginDelete(String resourceGroupName, String landingZoneAccountName,
+ String landingZoneConfigurationName, Context context) {
+ return this.beginDeleteAsync(resourceGroupName, landingZoneAccountName, landingZoneConfigurationName, context)
+ .getSyncPoller();
+ }
+
+ /**
+ * Delete a landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return A {@link Mono} that completes when a successful response is received.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono deleteAsync(String resourceGroupName, String landingZoneAccountName,
+ String landingZoneConfigurationName) {
+ return beginDeleteAsync(resourceGroupName, landingZoneAccountName, landingZoneConfigurationName).last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Delete a landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return A {@link Mono} that completes when a successful response is received.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono deleteAsync(String resourceGroupName, String landingZoneAccountName,
+ String landingZoneConfigurationName, Context context) {
+ return beginDeleteAsync(resourceGroupName, landingZoneAccountName, landingZoneConfigurationName, context).last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Delete a landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public void delete(String resourceGroupName, String landingZoneAccountName, String landingZoneConfigurationName) {
+ deleteAsync(resourceGroupName, landingZoneAccountName, landingZoneConfigurationName).block();
+ }
+
+ /**
+ * Delete a landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public void delete(String resourceGroupName, String landingZoneAccountName, String landingZoneConfigurationName,
+ Context context) {
+ deleteAsync(resourceGroupName, landingZoneAccountName, landingZoneConfigurationName, context).block();
+ }
+
+ /**
+ * Create a duplicate of the landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param body The content of the action request.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of the create duplicate landing zone configuration along with {@link Response} on successful
+ * completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> createCopyWithResponseAsync(String resourceGroupName,
+ String landingZoneAccountName, String landingZoneConfigurationName,
+ CreateLandingZoneConfigurationCopyRequest body) {
+ 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 (landingZoneAccountName == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter landingZoneAccountName is required and cannot be null."));
+ }
+ if (landingZoneConfigurationName == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter landingZoneConfigurationName is required and cannot be null."));
+ }
+ if (body == null) {
+ return Mono.error(new IllegalArgumentException("Parameter body is required and cannot be null."));
+ } else {
+ body.validate();
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.createCopy(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, landingZoneAccountName,
+ landingZoneConfigurationName, body, accept, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Create a duplicate of the landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param body The content of the action request.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of the create duplicate landing zone configuration along with {@link Response} on successful
+ * completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> createCopyWithResponseAsync(String resourceGroupName,
+ String landingZoneAccountName, String landingZoneConfigurationName,
+ CreateLandingZoneConfigurationCopyRequest body, 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 (landingZoneAccountName == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter landingZoneAccountName is required and cannot be null."));
+ }
+ if (landingZoneConfigurationName == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter landingZoneConfigurationName is required and cannot be null."));
+ }
+ if (body == null) {
+ return Mono.error(new IllegalArgumentException("Parameter body is required and cannot be null."));
+ } else {
+ body.validate();
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service.createCopy(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, landingZoneAccountName, landingZoneConfigurationName,
+ body, accept, context);
+ }
+
+ /**
+ * Create a duplicate of the landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param body The content of the action request.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link PollerFlux} for polling of the response of the create duplicate landing zone configuration.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private
+ PollerFlux, CreateLandingZoneConfigurationCopyResponseInner>
+ beginCreateCopyAsync(String resourceGroupName, String landingZoneAccountName,
+ String landingZoneConfigurationName, CreateLandingZoneConfigurationCopyRequest body) {
+ Mono>> mono = createCopyWithResponseAsync(resourceGroupName, landingZoneAccountName,
+ landingZoneConfigurationName, body);
+ return this.client
+ .getLroResult(
+ mono, this.client.getHttpPipeline(), CreateLandingZoneConfigurationCopyResponseInner.class,
+ CreateLandingZoneConfigurationCopyResponseInner.class, this.client.getContext());
+ }
+
+ /**
+ * Create a duplicate of the landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param body The content of the action request.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link PollerFlux} for polling of the response of the create duplicate landing zone configuration.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private
+ PollerFlux, CreateLandingZoneConfigurationCopyResponseInner>
+ beginCreateCopyAsync(String resourceGroupName, String landingZoneAccountName,
+ String landingZoneConfigurationName, CreateLandingZoneConfigurationCopyRequest body, Context context) {
+ context = this.client.mergeContext(context);
+ Mono>> mono = createCopyWithResponseAsync(resourceGroupName, landingZoneAccountName,
+ landingZoneConfigurationName, body, context);
+ return this.client
+ .getLroResult(
+ mono, this.client.getHttpPipeline(), CreateLandingZoneConfigurationCopyResponseInner.class,
+ CreateLandingZoneConfigurationCopyResponseInner.class, context);
+ }
+
+ /**
+ * Create a duplicate of the landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param body The content of the action request.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the response of the create duplicate landing zone configuration.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public
+ SyncPoller, CreateLandingZoneConfigurationCopyResponseInner>
+ beginCreateCopy(String resourceGroupName, String landingZoneAccountName, String landingZoneConfigurationName,
+ CreateLandingZoneConfigurationCopyRequest body) {
+ return this.beginCreateCopyAsync(resourceGroupName, landingZoneAccountName, landingZoneConfigurationName, body)
+ .getSyncPoller();
+ }
+
+ /**
+ * Create a duplicate of the landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param body The content of the action request.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the response of the create duplicate landing zone configuration.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public
+ SyncPoller, CreateLandingZoneConfigurationCopyResponseInner>
+ beginCreateCopy(String resourceGroupName, String landingZoneAccountName, String landingZoneConfigurationName,
+ CreateLandingZoneConfigurationCopyRequest body, Context context) {
+ return this
+ .beginCreateCopyAsync(resourceGroupName, landingZoneAccountName, landingZoneConfigurationName, body,
+ context)
+ .getSyncPoller();
+ }
+
+ /**
+ * Create a duplicate of the landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param body The content of the action request.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of the create duplicate landing zone configuration on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono createCopyAsync(String resourceGroupName,
+ String landingZoneAccountName, String landingZoneConfigurationName,
+ CreateLandingZoneConfigurationCopyRequest body) {
+ return beginCreateCopyAsync(resourceGroupName, landingZoneAccountName, landingZoneConfigurationName, body)
+ .last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Create a duplicate of the landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param body The content of the action request.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of the create duplicate landing zone configuration on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono createCopyAsync(String resourceGroupName,
+ String landingZoneAccountName, String landingZoneConfigurationName,
+ CreateLandingZoneConfigurationCopyRequest body, Context context) {
+ return beginCreateCopyAsync(resourceGroupName, landingZoneAccountName, landingZoneConfigurationName, body,
+ context).last().flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Create a duplicate of the landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param body The content of the action request.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of the create duplicate landing zone configuration.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public CreateLandingZoneConfigurationCopyResponseInner createCopy(String resourceGroupName,
+ String landingZoneAccountName, String landingZoneConfigurationName,
+ CreateLandingZoneConfigurationCopyRequest body) {
+ return createCopyAsync(resourceGroupName, landingZoneAccountName, landingZoneConfigurationName, body).block();
+ }
+
+ /**
+ * Create a duplicate of the landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param body The content of the action request.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of the create duplicate landing zone configuration.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public CreateLandingZoneConfigurationCopyResponseInner createCopy(String resourceGroupName,
+ String landingZoneAccountName, String landingZoneConfigurationName,
+ CreateLandingZoneConfigurationCopyRequest body, Context context) {
+ return createCopyAsync(resourceGroupName, landingZoneAccountName, landingZoneConfigurationName, body, context)
+ .block();
+ }
+
+ /**
+ * Generate infrastructure as code (IaC) for a landing zone deployment.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param body The content of the action request.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response payload for generating infrastructure-as-code for the landing zone along with
+ * {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> generateLandingZoneWithResponseAsync(String resourceGroupName,
+ String landingZoneAccountName, String landingZoneConfigurationName, GenerateLandingZoneRequest body) {
+ 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 (landingZoneAccountName == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter landingZoneAccountName is required and cannot be null."));
+ }
+ if (landingZoneConfigurationName == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter landingZoneConfigurationName is required and cannot be null."));
+ }
+ if (body == null) {
+ return Mono.error(new IllegalArgumentException("Parameter body is required and cannot be null."));
+ } else {
+ body.validate();
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.generateLandingZone(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, landingZoneAccountName,
+ landingZoneConfigurationName, body, accept, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Generate infrastructure as code (IaC) for a landing zone deployment.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param body The content of the action request.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response payload for generating infrastructure-as-code for the landing zone along with
+ * {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> generateLandingZoneWithResponseAsync(String resourceGroupName,
+ String landingZoneAccountName, String landingZoneConfigurationName, GenerateLandingZoneRequest body,
+ 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 (landingZoneAccountName == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter landingZoneAccountName is required and cannot be null."));
+ }
+ if (landingZoneConfigurationName == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter landingZoneConfigurationName is required and cannot be null."));
+ }
+ if (body == null) {
+ return Mono.error(new IllegalArgumentException("Parameter body is required and cannot be null."));
+ } else {
+ body.validate();
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service.generateLandingZone(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, landingZoneAccountName, landingZoneConfigurationName,
+ body, accept, context);
+ }
+
+ /**
+ * Generate infrastructure as code (IaC) for a landing zone deployment.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param body The content of the action request.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link PollerFlux} for polling of the response payload for generating infrastructure-as-code for the
+ * landing zone.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, GenerateLandingZoneResponseInner>
+ beginGenerateLandingZoneAsync(String resourceGroupName, String landingZoneAccountName,
+ String landingZoneConfigurationName, GenerateLandingZoneRequest body) {
+ Mono>> mono = generateLandingZoneWithResponseAsync(resourceGroupName,
+ landingZoneAccountName, landingZoneConfigurationName, body);
+ return this.client.getLroResult(mono,
+ this.client.getHttpPipeline(), GenerateLandingZoneResponseInner.class,
+ GenerateLandingZoneResponseInner.class, this.client.getContext());
+ }
+
+ /**
+ * Generate infrastructure as code (IaC) for a landing zone deployment.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param body The content of the action request.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link PollerFlux} for polling of the response payload for generating infrastructure-as-code for the
+ * landing zone.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, GenerateLandingZoneResponseInner>
+ beginGenerateLandingZoneAsync(String resourceGroupName, String landingZoneAccountName,
+ String landingZoneConfigurationName, GenerateLandingZoneRequest body, Context context) {
+ context = this.client.mergeContext(context);
+ Mono>> mono = generateLandingZoneWithResponseAsync(resourceGroupName,
+ landingZoneAccountName, landingZoneConfigurationName, body, context);
+ return this.client.getLroResult(mono,
+ this.client.getHttpPipeline(), GenerateLandingZoneResponseInner.class,
+ GenerateLandingZoneResponseInner.class, context);
+ }
+
+ /**
+ * Generate infrastructure as code (IaC) for a landing zone deployment.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param body The content of the action request.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the response payload for generating infrastructure-as-code for the
+ * landing zone.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, GenerateLandingZoneResponseInner>
+ beginGenerateLandingZone(String resourceGroupName, String landingZoneAccountName,
+ String landingZoneConfigurationName, GenerateLandingZoneRequest body) {
+ return this
+ .beginGenerateLandingZoneAsync(resourceGroupName, landingZoneAccountName, landingZoneConfigurationName,
+ body)
+ .getSyncPoller();
+ }
+
+ /**
+ * Generate infrastructure as code (IaC) for a landing zone deployment.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param body The content of the action request.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the response payload for generating infrastructure-as-code for the
+ * landing zone.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, GenerateLandingZoneResponseInner>
+ beginGenerateLandingZone(String resourceGroupName, String landingZoneAccountName,
+ String landingZoneConfigurationName, GenerateLandingZoneRequest body, Context context) {
+ return this
+ .beginGenerateLandingZoneAsync(resourceGroupName, landingZoneAccountName, landingZoneConfigurationName,
+ body, context)
+ .getSyncPoller();
+ }
+
+ /**
+ * Generate infrastructure as code (IaC) for a landing zone deployment.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param body The content of the action request.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response payload for generating infrastructure-as-code for the landing zone on successful completion
+ * of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono generateLandingZoneAsync(String resourceGroupName,
+ String landingZoneAccountName, String landingZoneConfigurationName, GenerateLandingZoneRequest body) {
+ return beginGenerateLandingZoneAsync(resourceGroupName, landingZoneAccountName, landingZoneConfigurationName,
+ body).last().flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Generate infrastructure as code (IaC) for a landing zone deployment.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param body The content of the action request.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response payload for generating infrastructure-as-code for the landing zone on successful completion
+ * of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono generateLandingZoneAsync(String resourceGroupName,
+ String landingZoneAccountName, String landingZoneConfigurationName, GenerateLandingZoneRequest body,
+ Context context) {
+ return beginGenerateLandingZoneAsync(resourceGroupName, landingZoneAccountName, landingZoneConfigurationName,
+ body, context).last().flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Generate infrastructure as code (IaC) for a landing zone deployment.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param body The content of the action request.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response payload for generating infrastructure-as-code for the landing zone.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public GenerateLandingZoneResponseInner generateLandingZone(String resourceGroupName, String landingZoneAccountName,
+ String landingZoneConfigurationName, GenerateLandingZoneRequest body) {
+ return generateLandingZoneAsync(resourceGroupName, landingZoneAccountName, landingZoneConfigurationName, body)
+ .block();
+ }
+
+ /**
+ * Generate infrastructure as code (IaC) for a landing zone deployment.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param body The content of the action request.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response payload for generating infrastructure-as-code for the landing zone.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public GenerateLandingZoneResponseInner generateLandingZone(String resourceGroupName, String landingZoneAccountName,
+ String landingZoneConfigurationName, GenerateLandingZoneRequest body, Context context) {
+ return generateLandingZoneAsync(resourceGroupName, landingZoneAccountName, landingZoneConfigurationName, body,
+ context).block();
+ }
+
+ /**
+ * Update the authoring status on a landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param body The content of the action request.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response for authoring status update request along with {@link Response} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> updateAuthoringStatusWithResponseAsync(String resourceGroupName,
+ String landingZoneAccountName, String landingZoneConfigurationName, UpdateAuthoringStatusRequest body) {
+ 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 (landingZoneAccountName == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter landingZoneAccountName is required and cannot be null."));
+ }
+ if (landingZoneConfigurationName == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter landingZoneConfigurationName is required and cannot be null."));
+ }
+ if (body == null) {
+ return Mono.error(new IllegalArgumentException("Parameter body is required and cannot be null."));
+ } else {
+ body.validate();
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.updateAuthoringStatus(this.client.getEndpoint(),
+ this.client.getApiVersion(), this.client.getSubscriptionId(), resourceGroupName, landingZoneAccountName,
+ landingZoneConfigurationName, body, accept, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Update the authoring status on a landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param body The content of the action request.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response for authoring status update request along with {@link Response} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> updateAuthoringStatusWithResponseAsync(String resourceGroupName,
+ String landingZoneAccountName, String landingZoneConfigurationName, UpdateAuthoringStatusRequest body,
+ 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 (landingZoneAccountName == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter landingZoneAccountName is required and cannot be null."));
+ }
+ if (landingZoneConfigurationName == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter landingZoneConfigurationName is required and cannot be null."));
+ }
+ if (body == null) {
+ return Mono.error(new IllegalArgumentException("Parameter body is required and cannot be null."));
+ } else {
+ body.validate();
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service.updateAuthoringStatus(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, landingZoneAccountName, landingZoneConfigurationName,
+ body, accept, context);
+ }
+
+ /**
+ * Update the authoring status on a landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param body The content of the action request.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link PollerFlux} for polling of the response for authoring status update request.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, UpdateAuthoringStatusResponseInner>
+ beginUpdateAuthoringStatusAsync(String resourceGroupName, String landingZoneAccountName,
+ String landingZoneConfigurationName, UpdateAuthoringStatusRequest body) {
+ Mono>> mono = updateAuthoringStatusWithResponseAsync(resourceGroupName,
+ landingZoneAccountName, landingZoneConfigurationName, body);
+ return this.client.getLroResult(mono,
+ this.client.getHttpPipeline(), UpdateAuthoringStatusResponseInner.class,
+ UpdateAuthoringStatusResponseInner.class, this.client.getContext());
+ }
+
+ /**
+ * Update the authoring status on a landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param body The content of the action request.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link PollerFlux} for polling of the response for authoring status update request.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, UpdateAuthoringStatusResponseInner>
+ beginUpdateAuthoringStatusAsync(String resourceGroupName, String landingZoneAccountName,
+ String landingZoneConfigurationName, UpdateAuthoringStatusRequest body, Context context) {
+ context = this.client.mergeContext(context);
+ Mono>> mono = updateAuthoringStatusWithResponseAsync(resourceGroupName,
+ landingZoneAccountName, landingZoneConfigurationName, body, context);
+ return this.client.getLroResult(mono,
+ this.client.getHttpPipeline(), UpdateAuthoringStatusResponseInner.class,
+ UpdateAuthoringStatusResponseInner.class, context);
+ }
+
+ /**
+ * Update the authoring status on a landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param body The content of the action request.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the response for authoring status update request.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, UpdateAuthoringStatusResponseInner>
+ beginUpdateAuthoringStatus(String resourceGroupName, String landingZoneAccountName,
+ String landingZoneConfigurationName, UpdateAuthoringStatusRequest body) {
+ return this
+ .beginUpdateAuthoringStatusAsync(resourceGroupName, landingZoneAccountName, landingZoneConfigurationName,
+ body)
+ .getSyncPoller();
+ }
+
+ /**
+ * Update the authoring status on a landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param body The content of the action request.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the response for authoring status update request.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, UpdateAuthoringStatusResponseInner>
+ beginUpdateAuthoringStatus(String resourceGroupName, String landingZoneAccountName,
+ String landingZoneConfigurationName, UpdateAuthoringStatusRequest body, Context context) {
+ return this
+ .beginUpdateAuthoringStatusAsync(resourceGroupName, landingZoneAccountName, landingZoneConfigurationName,
+ body, context)
+ .getSyncPoller();
+ }
+
+ /**
+ * Update the authoring status on a landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param body The content of the action request.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response for authoring status update request on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono updateAuthoringStatusAsync(String resourceGroupName,
+ String landingZoneAccountName, String landingZoneConfigurationName, UpdateAuthoringStatusRequest body) {
+ return beginUpdateAuthoringStatusAsync(resourceGroupName, landingZoneAccountName, landingZoneConfigurationName,
+ body).last().flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Update the authoring status on a landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param body The content of the action request.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response for authoring status update request on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono updateAuthoringStatusAsync(String resourceGroupName,
+ String landingZoneAccountName, String landingZoneConfigurationName, UpdateAuthoringStatusRequest body,
+ Context context) {
+ return beginUpdateAuthoringStatusAsync(resourceGroupName, landingZoneAccountName, landingZoneConfigurationName,
+ body, context).last().flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Update the authoring status on a landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param body The content of the action request.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response for authoring status update request.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public UpdateAuthoringStatusResponseInner updateAuthoringStatus(String resourceGroupName,
+ String landingZoneAccountName, String landingZoneConfigurationName, UpdateAuthoringStatusRequest body) {
+ return updateAuthoringStatusAsync(resourceGroupName, landingZoneAccountName, landingZoneConfigurationName, body)
+ .block();
+ }
+
+ /**
+ * Update the authoring status on a landing zone configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param landingZoneAccountName The landing zone account.
+ * @param landingZoneConfigurationName The landing zone configuration name.
+ * @param body The content of the action request.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response for authoring status update request.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public UpdateAuthoringStatusResponseInner updateAuthoringStatus(String resourceGroupName,
+ String landingZoneAccountName, String landingZoneConfigurationName, UpdateAuthoringStatusRequest body,
+ Context context) {
+ return updateAuthoringStatusAsync(resourceGroupName, landingZoneAccountName, landingZoneConfigurationName, body,
+ context).block();
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The URL to get the next list of items.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a LandingZoneConfigurationResource list operation 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 URL to get the next list of items.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a LandingZoneConfigurationResource list operation 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));
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The URL to get the next list of items.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a LandingZoneConfigurationResource list operation 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 URL to get the next list of items.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a LandingZoneConfigurationResource list operation 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));
+ }
+}
diff --git a/sdk/sovereign/azure-resourcemanager-sovereign/src/main/java/com/azure/resourcemanager/sovereign/implementation/LandingZoneConfigurationOperationsImpl.java b/sdk/sovereign/azure-resourcemanager-sovereign/src/main/java/com/azure/resourcemanager/sovereign/implementation/LandingZoneConfigurationOperationsImpl.java
new file mode 100644
index 000000000000..562045045fcb
--- /dev/null
+++ b/sdk/sovereign/azure-resourcemanager-sovereign/src/main/java/com/azure/resourcemanager/sovereign/implementation/LandingZoneConfigurationOperationsImpl.java
@@ -0,0 +1,265 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.sovereign.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.sovereign.fluent.LandingZoneConfigurationOperationsClient;
+import com.azure.resourcemanager.sovereign.fluent.models.CreateLandingZoneConfigurationCopyResponseInner;
+import com.azure.resourcemanager.sovereign.fluent.models.GenerateLandingZoneResponseInner;
+import com.azure.resourcemanager.sovereign.fluent.models.LandingZoneConfigurationResourceInner;
+import com.azure.resourcemanager.sovereign.fluent.models.UpdateAuthoringStatusResponseInner;
+import com.azure.resourcemanager.sovereign.models.CreateLandingZoneConfigurationCopyRequest;
+import com.azure.resourcemanager.sovereign.models.CreateLandingZoneConfigurationCopyResponse;
+import com.azure.resourcemanager.sovereign.models.GenerateLandingZoneRequest;
+import com.azure.resourcemanager.sovereign.models.GenerateLandingZoneResponse;
+import com.azure.resourcemanager.sovereign.models.LandingZoneConfigurationOperations;
+import com.azure.resourcemanager.sovereign.models.LandingZoneConfigurationResource;
+import com.azure.resourcemanager.sovereign.models.UpdateAuthoringStatusRequest;
+import com.azure.resourcemanager.sovereign.models.UpdateAuthoringStatusResponse;
+
+public final class LandingZoneConfigurationOperationsImpl implements LandingZoneConfigurationOperations {
+ private static final ClientLogger LOGGER = new ClientLogger(LandingZoneConfigurationOperationsImpl.class);
+
+ private final LandingZoneConfigurationOperationsClient innerClient;
+
+ private final com.azure.resourcemanager.sovereign.SovereignManager serviceManager;
+
+ public LandingZoneConfigurationOperationsImpl(LandingZoneConfigurationOperationsClient innerClient,
+ com.azure.resourcemanager.sovereign.SovereignManager serviceManager) {
+ this.innerClient = innerClient;
+ this.serviceManager = serviceManager;
+ }
+
+ public PagedIterable listBySubscription(String landingZoneAccountName) {
+ PagedIterable inner
+ = this.serviceClient().listBySubscription(landingZoneAccountName);
+ return ResourceManagerUtils.mapPage(inner,
+ inner1 -> new LandingZoneConfigurationResourceImpl(inner1, this.manager()));
+ }
+
+ public PagedIterable listBySubscription(String landingZoneAccountName,
+ Context context) {
+ PagedIterable inner
+ = this.serviceClient().listBySubscription(landingZoneAccountName, context);
+ return ResourceManagerUtils.mapPage(inner,
+ inner1 -> new LandingZoneConfigurationResourceImpl(inner1, this.manager()));
+ }
+
+ public PagedIterable