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 Mission service API entry point.
+ *
+ * @param credential the credential to use.
+ * @param profile the Azure profile for client.
+ * @return the Mission service API instance.
+ */
+ public MissionManager authenticate(TokenCredential credential, AzureProfile profile) {
+ Objects.requireNonNull(credential, "'credential' cannot be null.");
+ Objects.requireNonNull(profile, "'profile' cannot be null.");
+
+ String clientVersion = PROPERTIES.getOrDefault(SDK_VERSION, "UnknownVersion");
+
+ StringBuilder userAgentBuilder = new StringBuilder();
+ userAgentBuilder.append("azsdk-java")
+ .append("-")
+ .append("com.azure.resourcemanager.mission")
+ .append("/")
+ .append(clientVersion);
+ if (!Configuration.getGlobalConfiguration().get("AZURE_TELEMETRY_DISABLED", false)) {
+ userAgentBuilder.append(" (")
+ .append(Configuration.getGlobalConfiguration().get("java.version"))
+ .append("; ")
+ .append(Configuration.getGlobalConfiguration().get("os.name"))
+ .append("; ")
+ .append(Configuration.getGlobalConfiguration().get("os.version"))
+ .append("; auto-generated)");
+ } else {
+ userAgentBuilder.append(" (auto-generated)");
+ }
+
+ if (scopes.isEmpty()) {
+ scopes.add(profile.getEnvironment().getManagementEndpoint() + "/.default");
+ }
+ if (retryPolicy == null) {
+ if (retryOptions != null) {
+ retryPolicy = new RetryPolicy(retryOptions);
+ } else {
+ retryPolicy = new RetryPolicy("Retry-After", ChronoUnit.SECONDS);
+ }
+ }
+ List policies = new ArrayList<>();
+ policies.add(new UserAgentPolicy(userAgentBuilder.toString()));
+ policies.add(new AddHeadersFromContextPolicy());
+ policies.add(new RequestIdPolicy());
+ policies.addAll(this.policies.stream()
+ .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
+ .collect(Collectors.toList()));
+ HttpPolicyProviders.addBeforeRetryPolicies(policies);
+ policies.add(retryPolicy);
+ policies.add(new AddDatePolicy());
+ policies.add(new BearerTokenAuthenticationPolicy(credential, scopes.toArray(new String[0])));
+ policies.addAll(this.policies.stream()
+ .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
+ .collect(Collectors.toList()));
+ HttpPolicyProviders.addAfterRetryPolicies(policies);
+ policies.add(new HttpLoggingPolicy(httpLogOptions));
+ HttpPipeline httpPipeline = new HttpPipelineBuilder().httpClient(httpClient)
+ .policies(policies.toArray(new HttpPipelinePolicy[0]))
+ .build();
+ return new MissionManager(httpPipeline, profile, defaultPollInterval);
+ }
+ }
+
+ /**
+ * Gets the resource collection API of Approvals. It manages ApprovalResource.
+ *
+ * @return Resource collection API of Approvals.
+ */
+ public Approvals approvals() {
+ if (this.approvals == null) {
+ this.approvals = new ApprovalsImpl(clientObject.getApprovals(), this);
+ }
+ return approvals;
+ }
+
+ /**
+ * 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 Communities. It manages CommunityResource.
+ *
+ * @return Resource collection API of Communities.
+ */
+ public Communities communities() {
+ if (this.communities == null) {
+ this.communities = new CommunitiesImpl(clientObject.getCommunities(), this);
+ }
+ return communities;
+ }
+
+ /**
+ * Gets the resource collection API of CommunityEndpoints. It manages CommunityEndpointResource.
+ *
+ * @return Resource collection API of CommunityEndpoints.
+ */
+ public CommunityEndpoints communityEndpoints() {
+ if (this.communityEndpoints == null) {
+ this.communityEndpoints = new CommunityEndpointsImpl(clientObject.getCommunityEndpoints(), this);
+ }
+ return communityEndpoints;
+ }
+
+ /**
+ * Gets the resource collection API of TransitHubs. It manages TransitHubResource.
+ *
+ * @return Resource collection API of TransitHubs.
+ */
+ public TransitHubs transitHubs() {
+ if (this.transitHubs == null) {
+ this.transitHubs = new TransitHubsImpl(clientObject.getTransitHubs(), this);
+ }
+ return transitHubs;
+ }
+
+ /**
+ * Gets the resource collection API of EnclaveConnections. It manages EnclaveConnectionResource.
+ *
+ * @return Resource collection API of EnclaveConnections.
+ */
+ public EnclaveConnections enclaveConnections() {
+ if (this.enclaveConnections == null) {
+ this.enclaveConnections = new EnclaveConnectionsImpl(clientObject.getEnclaveConnections(), this);
+ }
+ return enclaveConnections;
+ }
+
+ /**
+ * Gets the resource collection API of VirtualEnclaves. It manages EnclaveResource.
+ *
+ * @return Resource collection API of VirtualEnclaves.
+ */
+ public VirtualEnclaves virtualEnclaves() {
+ if (this.virtualEnclaves == null) {
+ this.virtualEnclaves = new VirtualEnclavesImpl(clientObject.getVirtualEnclaves(), this);
+ }
+ return virtualEnclaves;
+ }
+
+ /**
+ * Gets the resource collection API of EnclaveEndpoints. It manages EnclaveEndpointResource.
+ *
+ * @return Resource collection API of EnclaveEndpoints.
+ */
+ public EnclaveEndpoints enclaveEndpoints() {
+ if (this.enclaveEndpoints == null) {
+ this.enclaveEndpoints = new EnclaveEndpointsImpl(clientObject.getEnclaveEndpoints(), this);
+ }
+ return enclaveEndpoints;
+ }
+
+ /**
+ * Gets the resource collection API of Workloads. It manages WorkloadResource.
+ *
+ * @return Resource collection API of Workloads.
+ */
+ public Workloads workloads() {
+ if (this.workloads == null) {
+ this.workloads = new WorkloadsImpl(clientObject.getWorkloads(), this);
+ }
+ return workloads;
+ }
+
+ /**
+ * Gets wrapped service client MissionClient providing direct access to the underlying auto-generated API
+ * implementation, based on Azure REST API.
+ *
+ * @return Wrapped service client MissionClient.
+ */
+ public MissionClient serviceClient() {
+ return this.clientObject;
+ }
+}
diff --git a/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/ApprovalsClient.java b/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/ApprovalsClient.java
new file mode 100644
index 000000000000..6b5c21f423fc
--- /dev/null
+++ b/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/ApprovalsClient.java
@@ -0,0 +1,310 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mission.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.mission.fluent.models.ApprovalResourceInner;
+import com.azure.resourcemanager.mission.fluent.models.InitiatorCallbackResponseInner;
+import com.azure.resourcemanager.mission.models.ApprovalPatchResource;
+import com.azure.resourcemanager.mission.models.InitiatorCallbackRequest;
+
+/**
+ * An instance of this class provides access to all the operations defined in ApprovalsClient.
+ */
+public interface ApprovalsClient {
+ /**
+ * List ApprovalResource resources by parent.
+ *
+ * @param resourceUri The fully qualified Azure Resource manager identifier of the 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 the response of a ApprovalResource list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByParent(String resourceUri);
+
+ /**
+ * List ApprovalResource resources by parent.
+ *
+ * @param resourceUri The fully qualified Azure Resource manager identifier of the 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 response of a ApprovalResource list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByParent(String resourceUri, Context context);
+
+ /**
+ * Get a ApprovalResource.
+ *
+ * @param resourceUri The fully qualified Azure Resource manager identifier of the resource.
+ * @param approvalName The name of the approvals 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 ApprovalResource along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceUri, String approvalName, Context context);
+
+ /**
+ * Get a ApprovalResource.
+ *
+ * @param resourceUri The fully qualified Azure Resource manager identifier of the resource.
+ * @param approvalName The name of the approvals 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 ApprovalResource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ApprovalResourceInner get(String resourceUri, String approvalName);
+
+ /**
+ * Create a ApprovalResource.
+ *
+ * @param resourceUri The fully qualified Azure Resource manager identifier of the resource.
+ * @param approvalName The name of the approvals 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 approval Model Resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ApprovalResourceInner> beginCreateOrUpdate(String resourceUri,
+ String approvalName, ApprovalResourceInner resource);
+
+ /**
+ * Create a ApprovalResource.
+ *
+ * @param resourceUri The fully qualified Azure Resource manager identifier of the resource.
+ * @param approvalName The name of the approvals 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 approval Model Resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ApprovalResourceInner> beginCreateOrUpdate(String resourceUri,
+ String approvalName, ApprovalResourceInner resource, Context context);
+
+ /**
+ * Create a ApprovalResource.
+ *
+ * @param resourceUri The fully qualified Azure Resource manager identifier of the resource.
+ * @param approvalName The name of the approvals 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 approval Model Resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ApprovalResourceInner createOrUpdate(String resourceUri, String approvalName, ApprovalResourceInner resource);
+
+ /**
+ * Create a ApprovalResource.
+ *
+ * @param resourceUri The fully qualified Azure Resource manager identifier of the resource.
+ * @param approvalName The name of the approvals 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 approval Model Resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ApprovalResourceInner createOrUpdate(String resourceUri, String approvalName, ApprovalResourceInner resource,
+ Context context);
+
+ /**
+ * Update a ApprovalResource.
+ *
+ * @param resourceUri The fully qualified Azure Resource manager identifier of the resource.
+ * @param approvalName The name of the approvals 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 approval Model Resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ApprovalResourceInner> beginUpdate(String resourceUri,
+ String approvalName, ApprovalPatchResource properties);
+
+ /**
+ * Update a ApprovalResource.
+ *
+ * @param resourceUri The fully qualified Azure Resource manager identifier of the resource.
+ * @param approvalName The name of the approvals 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 approval Model Resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ApprovalResourceInner> beginUpdate(String resourceUri,
+ String approvalName, ApprovalPatchResource properties, Context context);
+
+ /**
+ * Update a ApprovalResource.
+ *
+ * @param resourceUri The fully qualified Azure Resource manager identifier of the resource.
+ * @param approvalName The name of the approvals 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 approval Model Resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ApprovalResourceInner update(String resourceUri, String approvalName, ApprovalPatchResource properties);
+
+ /**
+ * Update a ApprovalResource.
+ *
+ * @param resourceUri The fully qualified Azure Resource manager identifier of the resource.
+ * @param approvalName The name of the approvals 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 approval Model Resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ApprovalResourceInner update(String resourceUri, String approvalName, ApprovalPatchResource properties,
+ Context context);
+
+ /**
+ * Delete a ApprovalResource.
+ *
+ * @param resourceUri The fully qualified Azure Resource manager identifier of the resource.
+ * @param approvalName The name of the approvals 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 the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceUri, String approvalName);
+
+ /**
+ * Delete a ApprovalResource.
+ *
+ * @param resourceUri The fully qualified Azure Resource manager identifier of the resource.
+ * @param approvalName The name of the approvals 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 SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceUri, String approvalName, Context context);
+
+ /**
+ * Delete a ApprovalResource.
+ *
+ * @param resourceUri The fully qualified Azure Resource manager identifier of the resource.
+ * @param approvalName The name of the approvals 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 resourceUri, String approvalName);
+
+ /**
+ * Delete a ApprovalResource.
+ *
+ * @param resourceUri The fully qualified Azure Resource manager identifier of the resource.
+ * @param approvalName The name of the approvals 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceUri, String approvalName, Context context);
+
+ /**
+ * Upon receiving approval or rejection from approver, this facilitates actions on approval resource.
+ *
+ * @param resourceUri The fully qualified Azure Resource manager identifier of the resource.
+ * @param approvalName The name of the approvals resource.
+ * @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 response body after handling of approvalCallbackRequest.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, InitiatorCallbackResponseInner>
+ beginInitiatorCallback(String resourceUri, String approvalName, InitiatorCallbackRequest body);
+
+ /**
+ * Upon receiving approval or rejection from approver, this facilitates actions on approval resource.
+ *
+ * @param resourceUri The fully qualified Azure Resource manager identifier of the resource.
+ * @param approvalName The name of the approvals resource.
+ * @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 response body after handling of approvalCallbackRequest.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, InitiatorCallbackResponseInner>
+ beginInitiatorCallback(String resourceUri, String approvalName, InitiatorCallbackRequest body, Context context);
+
+ /**
+ * Upon receiving approval or rejection from approver, this facilitates actions on approval resource.
+ *
+ * @param resourceUri The fully qualified Azure Resource manager identifier of the resource.
+ * @param approvalName The name of the approvals resource.
+ * @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 response body after handling of approvalCallbackRequest.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ InitiatorCallbackResponseInner initiatorCallback(String resourceUri, String approvalName,
+ InitiatorCallbackRequest body);
+
+ /**
+ * Upon receiving approval or rejection from approver, this facilitates actions on approval resource.
+ *
+ * @param resourceUri The fully qualified Azure Resource manager identifier of the resource.
+ * @param approvalName The name of the approvals resource.
+ * @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 response body after handling of approvalCallbackRequest.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ InitiatorCallbackResponseInner initiatorCallback(String resourceUri, String approvalName,
+ InitiatorCallbackRequest body, Context context);
+}
diff --git a/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/CommunitiesClient.java b/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/CommunitiesClient.java
new file mode 100644
index 000000000000..858e636d963f
--- /dev/null
+++ b/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/CommunitiesClient.java
@@ -0,0 +1,304 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mission.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.mission.fluent.models.CheckAddressSpaceAvailabilityResponseInner;
+import com.azure.resourcemanager.mission.fluent.models.CommunityResourceInner;
+import com.azure.resourcemanager.mission.models.CheckAddressSpaceAvailabilityRequest;
+import com.azure.resourcemanager.mission.models.CommunityPatchResource;
+
+/**
+ * An instance of this class provides access to all the operations defined in CommunitiesClient.
+ */
+public interface CommunitiesClient {
+ /**
+ * List CommunityResource resources by subscription ID.
+ *
+ * @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 CommunityResource list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * List CommunityResource resources by subscription ID.
+ *
+ * @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 CommunityResource list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+
+ /**
+ * List CommunityResource resources by 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 CommunityResource list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * List CommunityResource resources by 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 CommunityResource list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * Get a CommunityResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param communityName The name of the communityResource 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 CommunityResource along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(String resourceGroupName, String communityName,
+ Context context);
+
+ /**
+ * Get a CommunityResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param communityName The name of the communityResource 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 CommunityResource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CommunityResourceInner getByResourceGroup(String resourceGroupName, String communityName);
+
+ /**
+ * Create a CommunityResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param communityName The name of the communityResource 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 community Model Resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CommunityResourceInner> beginCreateOrUpdate(String resourceGroupName,
+ String communityName, CommunityResourceInner resource);
+
+ /**
+ * Create a CommunityResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param communityName The name of the communityResource 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 community Model Resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CommunityResourceInner> beginCreateOrUpdate(String resourceGroupName,
+ String communityName, CommunityResourceInner resource, Context context);
+
+ /**
+ * Create a CommunityResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param communityName The name of the communityResource 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 community Model Resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CommunityResourceInner createOrUpdate(String resourceGroupName, String communityName,
+ CommunityResourceInner resource);
+
+ /**
+ * Create a CommunityResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param communityName The name of the communityResource 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 community Model Resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CommunityResourceInner createOrUpdate(String resourceGroupName, String communityName,
+ CommunityResourceInner resource, Context context);
+
+ /**
+ * Update a CommunityResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param communityName The name of the communityResource 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 community Model Resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CommunityResourceInner> beginUpdate(String resourceGroupName,
+ String communityName, CommunityPatchResource properties);
+
+ /**
+ * Update a CommunityResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param communityName The name of the communityResource 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 community Model Resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CommunityResourceInner> beginUpdate(String resourceGroupName,
+ String communityName, CommunityPatchResource properties, Context context);
+
+ /**
+ * Update a CommunityResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param communityName The name of the communityResource 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 community Model Resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CommunityResourceInner update(String resourceGroupName, String communityName, CommunityPatchResource properties);
+
+ /**
+ * Update a CommunityResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param communityName The name of the communityResource 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 community Model Resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CommunityResourceInner update(String resourceGroupName, String communityName, CommunityPatchResource properties,
+ Context context);
+
+ /**
+ * Delete a CommunityResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param communityName The name of the communityResource 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 the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String communityName);
+
+ /**
+ * Delete a CommunityResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param communityName The name of the communityResource 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 SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String communityName, Context context);
+
+ /**
+ * Delete a CommunityResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param communityName The name of the communityResource 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 communityName);
+
+ /**
+ * Delete a CommunityResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param communityName The name of the communityResource 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String communityName, Context context);
+
+ /**
+ * Checks that the IP Address Space to be allocated for this Community is available.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param communityName The name of the communityResource Resource.
+ * @param checkAddressSpaceAvailabilityRequest Check IP Address Space request body.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response of availability of the requested address space along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response checkAddressSpaceAvailabilityWithResponse(
+ String resourceGroupName, String communityName,
+ CheckAddressSpaceAvailabilityRequest checkAddressSpaceAvailabilityRequest, Context context);
+
+ /**
+ * Checks that the IP Address Space to be allocated for this Community is available.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param communityName The name of the communityResource Resource.
+ * @param checkAddressSpaceAvailabilityRequest Check IP Address Space request body.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response of availability of the requested address space.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CheckAddressSpaceAvailabilityResponseInner checkAddressSpaceAvailability(String resourceGroupName,
+ String communityName, CheckAddressSpaceAvailabilityRequest checkAddressSpaceAvailabilityRequest);
+}
diff --git a/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/CommunityEndpointsClient.java b/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/CommunityEndpointsClient.java
new file mode 100644
index 000000000000..d24cd1e03602
--- /dev/null
+++ b/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/CommunityEndpointsClient.java
@@ -0,0 +1,441 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mission.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.mission.fluent.models.ApprovalCallbackResponseInner;
+import com.azure.resourcemanager.mission.fluent.models.ApprovalDeletionCallbackResponseInner;
+import com.azure.resourcemanager.mission.fluent.models.CommunityEndpointResourceInner;
+import com.azure.resourcemanager.mission.models.ApprovalCallbackRequest;
+import com.azure.resourcemanager.mission.models.ApprovalDeletionCallbackRequest;
+import com.azure.resourcemanager.mission.models.CommunityEndpointPatchResource;
+
+/**
+ * An instance of this class provides access to all the operations defined in CommunityEndpointsClient.
+ */
+public interface CommunityEndpointsClient {
+ /**
+ * List CommunityEndpointResource resources by subscription ID.
+ *
+ * @param communityName The name of the communityResource 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 the response of a CommunityEndpointResource list operation as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listBySubscription(String communityName);
+
+ /**
+ * List CommunityEndpointResource resources by subscription ID.
+ *
+ * @param communityName The name of the communityResource 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 response of a CommunityEndpointResource list operation as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listBySubscription(String communityName, Context context);
+
+ /**
+ * List CommunityEndpointResource resources by CommunityResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param communityName The name of the communityResource 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 the response of a CommunityEndpointResource list operation as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByCommunityResource(String resourceGroupName,
+ String communityName);
+
+ /**
+ * List CommunityEndpointResource resources by CommunityResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param communityName The name of the communityResource 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 response of a CommunityEndpointResource list operation as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByCommunityResource(String resourceGroupName,
+ String communityName, Context context);
+
+ /**
+ * Get a CommunityEndpointResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param communityName The name of the communityResource Resource.
+ * @param communityEndpointName The name of the Community Endpoint 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 CommunityEndpointResource along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String communityName,
+ String communityEndpointName, Context context);
+
+ /**
+ * Get a CommunityEndpointResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param communityName The name of the communityResource Resource.
+ * @param communityEndpointName The name of the Community Endpoint 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 CommunityEndpointResource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CommunityEndpointResourceInner get(String resourceGroupName, String communityName, String communityEndpointName);
+
+ /**
+ * Create a CommunityEndpointResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param communityName The name of the communityResource Resource.
+ * @param communityEndpointName The name of the Community Endpoint 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 communityEndpoint Model Resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CommunityEndpointResourceInner> beginCreateOrUpdate(
+ String resourceGroupName, String communityName, String communityEndpointName,
+ CommunityEndpointResourceInner resource);
+
+ /**
+ * Create a CommunityEndpointResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param communityName The name of the communityResource Resource.
+ * @param communityEndpointName The name of the Community Endpoint 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 communityEndpoint Model Resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CommunityEndpointResourceInner> beginCreateOrUpdate(
+ String resourceGroupName, String communityName, String communityEndpointName,
+ CommunityEndpointResourceInner resource, Context context);
+
+ /**
+ * Create a CommunityEndpointResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param communityName The name of the communityResource Resource.
+ * @param communityEndpointName The name of the Community Endpoint 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 communityEndpoint Model Resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CommunityEndpointResourceInner createOrUpdate(String resourceGroupName, String communityName,
+ String communityEndpointName, CommunityEndpointResourceInner resource);
+
+ /**
+ * Create a CommunityEndpointResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param communityName The name of the communityResource Resource.
+ * @param communityEndpointName The name of the Community Endpoint 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 communityEndpoint Model Resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CommunityEndpointResourceInner createOrUpdate(String resourceGroupName, String communityName,
+ String communityEndpointName, CommunityEndpointResourceInner resource, Context context);
+
+ /**
+ * Update a CommunityEndpointResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param communityName The name of the communityResource Resource.
+ * @param communityEndpointName The name of the Community Endpoint 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 communityEndpoint Model Resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CommunityEndpointResourceInner> beginUpdate(
+ String resourceGroupName, String communityName, String communityEndpointName,
+ CommunityEndpointPatchResource properties);
+
+ /**
+ * Update a CommunityEndpointResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param communityName The name of the communityResource Resource.
+ * @param communityEndpointName The name of the Community Endpoint 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 communityEndpoint Model Resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CommunityEndpointResourceInner> beginUpdate(
+ String resourceGroupName, String communityName, String communityEndpointName,
+ CommunityEndpointPatchResource properties, Context context);
+
+ /**
+ * Update a CommunityEndpointResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param communityName The name of the communityResource Resource.
+ * @param communityEndpointName The name of the Community Endpoint 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 communityEndpoint Model Resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CommunityEndpointResourceInner update(String resourceGroupName, String communityName, String communityEndpointName,
+ CommunityEndpointPatchResource properties);
+
+ /**
+ * Update a CommunityEndpointResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param communityName The name of the communityResource Resource.
+ * @param communityEndpointName The name of the Community Endpoint 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 communityEndpoint Model Resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CommunityEndpointResourceInner update(String resourceGroupName, String communityName, String communityEndpointName,
+ CommunityEndpointPatchResource properties, Context context);
+
+ /**
+ * Delete a CommunityEndpointResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param communityName The name of the communityResource Resource.
+ * @param communityEndpointName The name of the Community Endpoint 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 the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String communityName,
+ String communityEndpointName);
+
+ /**
+ * Delete a CommunityEndpointResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param communityName The name of the communityResource Resource.
+ * @param communityEndpointName The name of the Community Endpoint 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 SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String communityName,
+ String communityEndpointName, Context context);
+
+ /**
+ * Delete a CommunityEndpointResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param communityName The name of the communityResource Resource.
+ * @param communityEndpointName The name of the Community Endpoint 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 communityName, String communityEndpointName);
+
+ /**
+ * Delete a CommunityEndpointResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param communityName The name of the communityResource Resource.
+ * @param communityEndpointName The name of the Community Endpoint 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String communityName, String communityEndpointName, Context context);
+
+ /**
+ * Callback that triggers on approval state change.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param communityName The name of the communityResource Resource.
+ * @param communityEndpointName The name of the Community Endpoint Resource.
+ * @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 response body after handling of approvalCallbackRequest.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ApprovalCallbackResponseInner> beginApprovalCallback(
+ String resourceGroupName, String communityName, String communityEndpointName, ApprovalCallbackRequest body);
+
+ /**
+ * Callback that triggers on approval state change.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param communityName The name of the communityResource Resource.
+ * @param communityEndpointName The name of the Community Endpoint Resource.
+ * @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 response body after handling of approvalCallbackRequest.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ApprovalCallbackResponseInner> beginApprovalCallback(
+ String resourceGroupName, String communityName, String communityEndpointName, ApprovalCallbackRequest body,
+ Context context);
+
+ /**
+ * Callback that triggers on approval state change.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param communityName The name of the communityResource Resource.
+ * @param communityEndpointName The name of the Community Endpoint Resource.
+ * @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 response body after handling of approvalCallbackRequest.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ApprovalCallbackResponseInner approvalCallback(String resourceGroupName, String communityName,
+ String communityEndpointName, ApprovalCallbackRequest body);
+
+ /**
+ * Callback that triggers on approval state change.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param communityName The name of the communityResource Resource.
+ * @param communityEndpointName The name of the Community Endpoint Resource.
+ * @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 response body after handling of approvalCallbackRequest.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ApprovalCallbackResponseInner approvalCallback(String resourceGroupName, String communityName,
+ String communityEndpointName, ApprovalCallbackRequest body, Context context);
+
+ /**
+ * Callback that triggers on approval deletion state change.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param communityName The name of the communityResource Resource.
+ * @param communityEndpointName The name of the Community Endpoint Resource.
+ * @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 response body after handling of approvalDeletionCallbackRequest.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ApprovalDeletionCallbackResponseInner>
+ beginApprovalDeletionCallback(String resourceGroupName, String communityName, String communityEndpointName,
+ ApprovalDeletionCallbackRequest body);
+
+ /**
+ * Callback that triggers on approval deletion state change.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param communityName The name of the communityResource Resource.
+ * @param communityEndpointName The name of the Community Endpoint Resource.
+ * @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 response body after handling of approvalDeletionCallbackRequest.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ApprovalDeletionCallbackResponseInner>
+ beginApprovalDeletionCallback(String resourceGroupName, String communityName, String communityEndpointName,
+ ApprovalDeletionCallbackRequest body, Context context);
+
+ /**
+ * Callback that triggers on approval deletion state change.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param communityName The name of the communityResource Resource.
+ * @param communityEndpointName The name of the Community Endpoint Resource.
+ * @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 response body after handling of approvalDeletionCallbackRequest.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ApprovalDeletionCallbackResponseInner approvalDeletionCallback(String resourceGroupName, String communityName,
+ String communityEndpointName, ApprovalDeletionCallbackRequest body);
+
+ /**
+ * Callback that triggers on approval deletion state change.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param communityName The name of the communityResource Resource.
+ * @param communityEndpointName The name of the Community Endpoint Resource.
+ * @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 response body after handling of approvalDeletionCallbackRequest.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ApprovalDeletionCallbackResponseInner approvalDeletionCallback(String resourceGroupName, String communityName,
+ String communityEndpointName, ApprovalDeletionCallbackRequest body, Context context);
+}
diff --git a/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/EnclaveConnectionsClient.java b/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/EnclaveConnectionsClient.java
new file mode 100644
index 000000000000..410feedf8241
--- /dev/null
+++ b/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/EnclaveConnectionsClient.java
@@ -0,0 +1,408 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mission.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.mission.fluent.models.ApprovalCallbackResponseInner;
+import com.azure.resourcemanager.mission.fluent.models.ApprovalDeletionCallbackResponseInner;
+import com.azure.resourcemanager.mission.fluent.models.EnclaveConnectionResourceInner;
+import com.azure.resourcemanager.mission.models.ApprovalCallbackRequest;
+import com.azure.resourcemanager.mission.models.ApprovalDeletionCallbackRequest;
+import com.azure.resourcemanager.mission.models.EnclaveConnectionPatchResource;
+
+/**
+ * An instance of this class provides access to all the operations defined in EnclaveConnectionsClient.
+ */
+public interface EnclaveConnectionsClient {
+ /**
+ * List EnclaveConnectionResource resources by subscription ID.
+ *
+ * @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 EnclaveConnectionResource list operation as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * List EnclaveConnectionResource resources by subscription ID.
+ *
+ * @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 EnclaveConnectionResource list operation as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+
+ /**
+ * List EnclaveConnectionResource resources by 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 EnclaveConnectionResource list operation as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * List EnclaveConnectionResource resources by 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 EnclaveConnectionResource list operation as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * Get a EnclaveConnectionResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param enclaveConnectionName The name of the Enclave Connection 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 EnclaveConnectionResource along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(String resourceGroupName,
+ String enclaveConnectionName, Context context);
+
+ /**
+ * Get a EnclaveConnectionResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param enclaveConnectionName The name of the Enclave Connection 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 EnclaveConnectionResource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ EnclaveConnectionResourceInner getByResourceGroup(String resourceGroupName, String enclaveConnectionName);
+
+ /**
+ * Create a EnclaveConnectionResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param enclaveConnectionName The name of the Enclave Connection 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 enclaveConnection Model Resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, EnclaveConnectionResourceInner> beginCreateOrUpdate(
+ String resourceGroupName, String enclaveConnectionName, EnclaveConnectionResourceInner resource);
+
+ /**
+ * Create a EnclaveConnectionResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param enclaveConnectionName The name of the Enclave Connection 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 enclaveConnection Model Resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, EnclaveConnectionResourceInner> beginCreateOrUpdate(
+ String resourceGroupName, String enclaveConnectionName, EnclaveConnectionResourceInner resource,
+ Context context);
+
+ /**
+ * Create a EnclaveConnectionResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param enclaveConnectionName The name of the Enclave Connection 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 enclaveConnection Model Resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ EnclaveConnectionResourceInner createOrUpdate(String resourceGroupName, String enclaveConnectionName,
+ EnclaveConnectionResourceInner resource);
+
+ /**
+ * Create a EnclaveConnectionResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param enclaveConnectionName The name of the Enclave Connection 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 enclaveConnection Model Resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ EnclaveConnectionResourceInner createOrUpdate(String resourceGroupName, String enclaveConnectionName,
+ EnclaveConnectionResourceInner resource, Context context);
+
+ /**
+ * Update a EnclaveConnectionResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param enclaveConnectionName The name of the Enclave Connection 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 enclaveConnection Model Resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, EnclaveConnectionResourceInner>
+ beginUpdate(String resourceGroupName, String enclaveConnectionName, EnclaveConnectionPatchResource properties);
+
+ /**
+ * Update a EnclaveConnectionResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param enclaveConnectionName The name of the Enclave Connection 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 enclaveConnection Model Resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, EnclaveConnectionResourceInner> beginUpdate(
+ String resourceGroupName, String enclaveConnectionName, EnclaveConnectionPatchResource properties,
+ Context context);
+
+ /**
+ * Update a EnclaveConnectionResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param enclaveConnectionName The name of the Enclave Connection 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 enclaveConnection Model Resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ EnclaveConnectionResourceInner update(String resourceGroupName, String enclaveConnectionName,
+ EnclaveConnectionPatchResource properties);
+
+ /**
+ * Update a EnclaveConnectionResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param enclaveConnectionName The name of the Enclave Connection 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 enclaveConnection Model Resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ EnclaveConnectionResourceInner update(String resourceGroupName, String enclaveConnectionName,
+ EnclaveConnectionPatchResource properties, Context context);
+
+ /**
+ * Delete a EnclaveConnectionResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param enclaveConnectionName The name of the Enclave Connection 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 the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String enclaveConnectionName);
+
+ /**
+ * Delete a EnclaveConnectionResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param enclaveConnectionName The name of the Enclave Connection 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 SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String enclaveConnectionName,
+ Context context);
+
+ /**
+ * Delete a EnclaveConnectionResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param enclaveConnectionName The name of the Enclave Connection 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 enclaveConnectionName);
+
+ /**
+ * Delete a EnclaveConnectionResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param enclaveConnectionName The name of the Enclave Connection 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String enclaveConnectionName, Context context);
+
+ /**
+ * Callback that triggers on approval state change.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param enclaveConnectionName The name of the Enclave Connection Resource.
+ * @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 response body after handling of approvalCallbackRequest.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ApprovalCallbackResponseInner>
+ beginApprovalCallback(String resourceGroupName, String enclaveConnectionName, ApprovalCallbackRequest body);
+
+ /**
+ * Callback that triggers on approval state change.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param enclaveConnectionName The name of the Enclave Connection Resource.
+ * @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 response body after handling of approvalCallbackRequest.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ApprovalCallbackResponseInner> beginApprovalCallback(
+ String resourceGroupName, String enclaveConnectionName, ApprovalCallbackRequest body, Context context);
+
+ /**
+ * Callback that triggers on approval state change.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param enclaveConnectionName The name of the Enclave Connection Resource.
+ * @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 response body after handling of approvalCallbackRequest.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ApprovalCallbackResponseInner approvalCallback(String resourceGroupName, String enclaveConnectionName,
+ ApprovalCallbackRequest body);
+
+ /**
+ * Callback that triggers on approval state change.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param enclaveConnectionName The name of the Enclave Connection Resource.
+ * @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 response body after handling of approvalCallbackRequest.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ApprovalCallbackResponseInner approvalCallback(String resourceGroupName, String enclaveConnectionName,
+ ApprovalCallbackRequest body, Context context);
+
+ /**
+ * Callback that triggers on approval deletion state change.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param enclaveConnectionName The name of the Enclave Connection Resource.
+ * @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 response body after handling of approvalDeletionCallbackRequest.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ApprovalDeletionCallbackResponseInner>
+ beginApprovalDeletionCallback(String resourceGroupName, String enclaveConnectionName,
+ ApprovalDeletionCallbackRequest body);
+
+ /**
+ * Callback that triggers on approval deletion state change.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param enclaveConnectionName The name of the Enclave Connection Resource.
+ * @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 response body after handling of approvalDeletionCallbackRequest.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ApprovalDeletionCallbackResponseInner>
+ beginApprovalDeletionCallback(String resourceGroupName, String enclaveConnectionName,
+ ApprovalDeletionCallbackRequest body, Context context);
+
+ /**
+ * Callback that triggers on approval deletion state change.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param enclaveConnectionName The name of the Enclave Connection Resource.
+ * @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 response body after handling of approvalDeletionCallbackRequest.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ApprovalDeletionCallbackResponseInner approvalDeletionCallback(String resourceGroupName,
+ String enclaveConnectionName, ApprovalDeletionCallbackRequest body);
+
+ /**
+ * Callback that triggers on approval deletion state change.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param enclaveConnectionName The name of the Enclave Connection Resource.
+ * @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 response body after handling of approvalDeletionCallbackRequest.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ApprovalDeletionCallbackResponseInner approvalDeletionCallback(String resourceGroupName,
+ String enclaveConnectionName, ApprovalDeletionCallbackRequest body, Context context);
+}
diff --git a/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/EnclaveEndpointsClient.java b/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/EnclaveEndpointsClient.java
new file mode 100644
index 000000000000..5a15e554e965
--- /dev/null
+++ b/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/EnclaveEndpointsClient.java
@@ -0,0 +1,441 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mission.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.mission.fluent.models.ApprovalCallbackResponseInner;
+import com.azure.resourcemanager.mission.fluent.models.ApprovalDeletionCallbackResponseInner;
+import com.azure.resourcemanager.mission.fluent.models.EnclaveEndpointResourceInner;
+import com.azure.resourcemanager.mission.models.ApprovalCallbackRequest;
+import com.azure.resourcemanager.mission.models.ApprovalDeletionCallbackRequest;
+import com.azure.resourcemanager.mission.models.EnclaveEndpointPatchResource;
+
+/**
+ * An instance of this class provides access to all the operations defined in EnclaveEndpointsClient.
+ */
+public interface EnclaveEndpointsClient {
+ /**
+ * List EnclaveEndpointResource resources by subscription ID.
+ *
+ * @param virtualEnclaveName The name of the enclaveResource 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 the response of a EnclaveEndpointResource list operation as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listBySubscription(String virtualEnclaveName);
+
+ /**
+ * List EnclaveEndpointResource resources by subscription ID.
+ *
+ * @param virtualEnclaveName The name of the enclaveResource 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 response of a EnclaveEndpointResource list operation as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listBySubscription(String virtualEnclaveName, Context context);
+
+ /**
+ * List EnclaveEndpointResource resources by EnclaveResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualEnclaveName The name of the enclaveResource 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 the response of a EnclaveEndpointResource list operation as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByEnclaveResource(String resourceGroupName,
+ String virtualEnclaveName);
+
+ /**
+ * List EnclaveEndpointResource resources by EnclaveResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualEnclaveName The name of the enclaveResource 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 response of a EnclaveEndpointResource list operation as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByEnclaveResource(String resourceGroupName,
+ String virtualEnclaveName, Context context);
+
+ /**
+ * Get a EnclaveEndpointResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualEnclaveName The name of the enclaveResource Resource.
+ * @param enclaveEndpointName The name of the Enclave Endpoint 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 EnclaveEndpointResource along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String virtualEnclaveName,
+ String enclaveEndpointName, Context context);
+
+ /**
+ * Get a EnclaveEndpointResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualEnclaveName The name of the enclaveResource Resource.
+ * @param enclaveEndpointName The name of the Enclave Endpoint 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 EnclaveEndpointResource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ EnclaveEndpointResourceInner get(String resourceGroupName, String virtualEnclaveName, String enclaveEndpointName);
+
+ /**
+ * Create a EnclaveEndpointResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualEnclaveName The name of the enclaveResource Resource.
+ * @param enclaveEndpointName The name of the Enclave Endpoint 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 enclaveEndpoint Model Resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, EnclaveEndpointResourceInner> beginCreateOrUpdate(
+ String resourceGroupName, String virtualEnclaveName, String enclaveEndpointName,
+ EnclaveEndpointResourceInner resource);
+
+ /**
+ * Create a EnclaveEndpointResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualEnclaveName The name of the enclaveResource Resource.
+ * @param enclaveEndpointName The name of the Enclave Endpoint 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 enclaveEndpoint Model Resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, EnclaveEndpointResourceInner> beginCreateOrUpdate(
+ String resourceGroupName, String virtualEnclaveName, String enclaveEndpointName,
+ EnclaveEndpointResourceInner resource, Context context);
+
+ /**
+ * Create a EnclaveEndpointResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualEnclaveName The name of the enclaveResource Resource.
+ * @param enclaveEndpointName The name of the Enclave Endpoint 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 enclaveEndpoint Model Resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ EnclaveEndpointResourceInner createOrUpdate(String resourceGroupName, String virtualEnclaveName,
+ String enclaveEndpointName, EnclaveEndpointResourceInner resource);
+
+ /**
+ * Create a EnclaveEndpointResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualEnclaveName The name of the enclaveResource Resource.
+ * @param enclaveEndpointName The name of the Enclave Endpoint 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 enclaveEndpoint Model Resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ EnclaveEndpointResourceInner createOrUpdate(String resourceGroupName, String virtualEnclaveName,
+ String enclaveEndpointName, EnclaveEndpointResourceInner resource, Context context);
+
+ /**
+ * Update a EnclaveEndpointResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualEnclaveName The name of the enclaveResource Resource.
+ * @param enclaveEndpointName The name of the Enclave Endpoint 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 enclaveEndpoint Model Resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, EnclaveEndpointResourceInner> beginUpdate(
+ String resourceGroupName, String virtualEnclaveName, String enclaveEndpointName,
+ EnclaveEndpointPatchResource properties);
+
+ /**
+ * Update a EnclaveEndpointResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualEnclaveName The name of the enclaveResource Resource.
+ * @param enclaveEndpointName The name of the Enclave Endpoint 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 enclaveEndpoint Model Resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, EnclaveEndpointResourceInner> beginUpdate(
+ String resourceGroupName, String virtualEnclaveName, String enclaveEndpointName,
+ EnclaveEndpointPatchResource properties, Context context);
+
+ /**
+ * Update a EnclaveEndpointResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualEnclaveName The name of the enclaveResource Resource.
+ * @param enclaveEndpointName The name of the Enclave Endpoint 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 enclaveEndpoint Model Resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ EnclaveEndpointResourceInner update(String resourceGroupName, String virtualEnclaveName, String enclaveEndpointName,
+ EnclaveEndpointPatchResource properties);
+
+ /**
+ * Update a EnclaveEndpointResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualEnclaveName The name of the enclaveResource Resource.
+ * @param enclaveEndpointName The name of the Enclave Endpoint 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 enclaveEndpoint Model Resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ EnclaveEndpointResourceInner update(String resourceGroupName, String virtualEnclaveName, String enclaveEndpointName,
+ EnclaveEndpointPatchResource properties, Context context);
+
+ /**
+ * Delete a EnclaveEndpointResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualEnclaveName The name of the enclaveResource Resource.
+ * @param enclaveEndpointName The name of the Enclave Endpoint 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 the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String virtualEnclaveName,
+ String enclaveEndpointName);
+
+ /**
+ * Delete a EnclaveEndpointResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualEnclaveName The name of the enclaveResource Resource.
+ * @param enclaveEndpointName The name of the Enclave Endpoint 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 SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String virtualEnclaveName,
+ String enclaveEndpointName, Context context);
+
+ /**
+ * Delete a EnclaveEndpointResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualEnclaveName The name of the enclaveResource Resource.
+ * @param enclaveEndpointName The name of the Enclave Endpoint 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 virtualEnclaveName, String enclaveEndpointName);
+
+ /**
+ * Delete a EnclaveEndpointResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualEnclaveName The name of the enclaveResource Resource.
+ * @param enclaveEndpointName The name of the Enclave Endpoint 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String virtualEnclaveName, String enclaveEndpointName, Context context);
+
+ /**
+ * Callback that triggers on approval state change.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualEnclaveName The name of the enclaveResource Resource.
+ * @param enclaveEndpointName The name of the Enclave Endpoint Resource.
+ * @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 response body after handling of approvalCallbackRequest.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ApprovalCallbackResponseInner> beginApprovalCallback(
+ String resourceGroupName, String virtualEnclaveName, String enclaveEndpointName, ApprovalCallbackRequest body);
+
+ /**
+ * Callback that triggers on approval state change.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualEnclaveName The name of the enclaveResource Resource.
+ * @param enclaveEndpointName The name of the Enclave Endpoint Resource.
+ * @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 response body after handling of approvalCallbackRequest.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ApprovalCallbackResponseInner> beginApprovalCallback(
+ String resourceGroupName, String virtualEnclaveName, String enclaveEndpointName, ApprovalCallbackRequest body,
+ Context context);
+
+ /**
+ * Callback that triggers on approval state change.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualEnclaveName The name of the enclaveResource Resource.
+ * @param enclaveEndpointName The name of the Enclave Endpoint Resource.
+ * @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 response body after handling of approvalCallbackRequest.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ApprovalCallbackResponseInner approvalCallback(String resourceGroupName, String virtualEnclaveName,
+ String enclaveEndpointName, ApprovalCallbackRequest body);
+
+ /**
+ * Callback that triggers on approval state change.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualEnclaveName The name of the enclaveResource Resource.
+ * @param enclaveEndpointName The name of the Enclave Endpoint Resource.
+ * @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 response body after handling of approvalCallbackRequest.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ApprovalCallbackResponseInner approvalCallback(String resourceGroupName, String virtualEnclaveName,
+ String enclaveEndpointName, ApprovalCallbackRequest body, Context context);
+
+ /**
+ * Callback that triggers on approval deletion state change.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualEnclaveName The name of the enclaveResource Resource.
+ * @param enclaveEndpointName The name of the Enclave Endpoint Resource.
+ * @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 response body after handling of approvalDeletionCallbackRequest.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ApprovalDeletionCallbackResponseInner>
+ beginApprovalDeletionCallback(String resourceGroupName, String virtualEnclaveName, String enclaveEndpointName,
+ ApprovalDeletionCallbackRequest body);
+
+ /**
+ * Callback that triggers on approval deletion state change.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualEnclaveName The name of the enclaveResource Resource.
+ * @param enclaveEndpointName The name of the Enclave Endpoint Resource.
+ * @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 response body after handling of approvalDeletionCallbackRequest.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ApprovalDeletionCallbackResponseInner>
+ beginApprovalDeletionCallback(String resourceGroupName, String virtualEnclaveName, String enclaveEndpointName,
+ ApprovalDeletionCallbackRequest body, Context context);
+
+ /**
+ * Callback that triggers on approval deletion state change.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualEnclaveName The name of the enclaveResource Resource.
+ * @param enclaveEndpointName The name of the Enclave Endpoint Resource.
+ * @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 response body after handling of approvalDeletionCallbackRequest.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ApprovalDeletionCallbackResponseInner approvalDeletionCallback(String resourceGroupName, String virtualEnclaveName,
+ String enclaveEndpointName, ApprovalDeletionCallbackRequest body);
+
+ /**
+ * Callback that triggers on approval deletion state change.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualEnclaveName The name of the enclaveResource Resource.
+ * @param enclaveEndpointName The name of the Enclave Endpoint Resource.
+ * @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 response body after handling of approvalDeletionCallbackRequest.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ApprovalDeletionCallbackResponseInner approvalDeletionCallback(String resourceGroupName, String virtualEnclaveName,
+ String enclaveEndpointName, ApprovalDeletionCallbackRequest body, Context context);
+}
diff --git a/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/MissionClient.java b/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/MissionClient.java
new file mode 100644
index 000000000000..b51479f8e13c
--- /dev/null
+++ b/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/MissionClient.java
@@ -0,0 +1,111 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mission.fluent;
+
+import com.azure.core.http.HttpPipeline;
+import java.time.Duration;
+
+/**
+ * The interface for MissionClient class.
+ */
+public interface MissionClient {
+ /**
+ * 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 ApprovalsClient object to access its operations.
+ *
+ * @return the ApprovalsClient object.
+ */
+ ApprovalsClient getApprovals();
+
+ /**
+ * Gets the OperationsClient object to access its operations.
+ *
+ * @return the OperationsClient object.
+ */
+ OperationsClient getOperations();
+
+ /**
+ * Gets the CommunitiesClient object to access its operations.
+ *
+ * @return the CommunitiesClient object.
+ */
+ CommunitiesClient getCommunities();
+
+ /**
+ * Gets the CommunityEndpointsClient object to access its operations.
+ *
+ * @return the CommunityEndpointsClient object.
+ */
+ CommunityEndpointsClient getCommunityEndpoints();
+
+ /**
+ * Gets the TransitHubsClient object to access its operations.
+ *
+ * @return the TransitHubsClient object.
+ */
+ TransitHubsClient getTransitHubs();
+
+ /**
+ * Gets the EnclaveConnectionsClient object to access its operations.
+ *
+ * @return the EnclaveConnectionsClient object.
+ */
+ EnclaveConnectionsClient getEnclaveConnections();
+
+ /**
+ * Gets the VirtualEnclavesClient object to access its operations.
+ *
+ * @return the VirtualEnclavesClient object.
+ */
+ VirtualEnclavesClient getVirtualEnclaves();
+
+ /**
+ * Gets the EnclaveEndpointsClient object to access its operations.
+ *
+ * @return the EnclaveEndpointsClient object.
+ */
+ EnclaveEndpointsClient getEnclaveEndpoints();
+
+ /**
+ * Gets the WorkloadsClient object to access its operations.
+ *
+ * @return the WorkloadsClient object.
+ */
+ WorkloadsClient getWorkloads();
+}
diff --git a/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/OperationsClient.java b/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/OperationsClient.java
new file mode 100644
index 000000000000..e9cc9b15ab01
--- /dev/null
+++ b/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/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.mission.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.mission.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/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/TransitHubsClient.java b/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/TransitHubsClient.java
new file mode 100644
index 000000000000..e14de723fa4b
--- /dev/null
+++ b/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/TransitHubsClient.java
@@ -0,0 +1,294 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mission.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.mission.fluent.models.TransitHubResourceInner;
+import com.azure.resourcemanager.mission.models.TransitHubPatchResource;
+
+/**
+ * An instance of this class provides access to all the operations defined in TransitHubsClient.
+ */
+public interface TransitHubsClient {
+ /**
+ * List TransitHubResource resources by subscription ID.
+ *
+ * @param communityName The name of the communityResource 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 the response of a TransitHubResource list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listBySubscription(String communityName);
+
+ /**
+ * List TransitHubResource resources by subscription ID.
+ *
+ * @param communityName The name of the communityResource 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 response of a TransitHubResource list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listBySubscription(String communityName, Context context);
+
+ /**
+ * List TransitHubResource resources by CommunityResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param communityName The name of the communityResource 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 the response of a TransitHubResource list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByCommunityResource(String resourceGroupName, String communityName);
+
+ /**
+ * List TransitHubResource resources by CommunityResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param communityName The name of the communityResource 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 response of a TransitHubResource list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByCommunityResource(String resourceGroupName, String communityName,
+ Context context);
+
+ /**
+ * Get a TransitHubResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param communityName The name of the communityResource Resource.
+ * @param transitHubName The name of the TransitHub 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 TransitHubResource along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String communityName,
+ String transitHubName, Context context);
+
+ /**
+ * Get a TransitHubResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param communityName The name of the communityResource Resource.
+ * @param transitHubName The name of the TransitHub 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 TransitHubResource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ TransitHubResourceInner get(String resourceGroupName, String communityName, String transitHubName);
+
+ /**
+ * Create a TransitHubResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param communityName The name of the communityResource Resource.
+ * @param transitHubName The name of the TransitHub 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 transitHub Model Resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, TransitHubResourceInner> beginCreateOrUpdate(
+ String resourceGroupName, String communityName, String transitHubName, TransitHubResourceInner resource);
+
+ /**
+ * Create a TransitHubResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param communityName The name of the communityResource Resource.
+ * @param transitHubName The name of the TransitHub 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 transitHub Model Resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, TransitHubResourceInner> beginCreateOrUpdate(
+ String resourceGroupName, String communityName, String transitHubName, TransitHubResourceInner resource,
+ Context context);
+
+ /**
+ * Create a TransitHubResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param communityName The name of the communityResource Resource.
+ * @param transitHubName The name of the TransitHub 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 transitHub Model Resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ TransitHubResourceInner createOrUpdate(String resourceGroupName, String communityName, String transitHubName,
+ TransitHubResourceInner resource);
+
+ /**
+ * Create a TransitHubResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param communityName The name of the communityResource Resource.
+ * @param transitHubName The name of the TransitHub 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 transitHub Model Resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ TransitHubResourceInner createOrUpdate(String resourceGroupName, String communityName, String transitHubName,
+ TransitHubResourceInner resource, Context context);
+
+ /**
+ * Update a TransitHubResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param communityName The name of the communityResource Resource.
+ * @param transitHubName The name of the TransitHub 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 transitHub Model Resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, TransitHubResourceInner> beginUpdate(String resourceGroupName,
+ String communityName, String transitHubName, TransitHubPatchResource properties);
+
+ /**
+ * Update a TransitHubResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param communityName The name of the communityResource Resource.
+ * @param transitHubName The name of the TransitHub 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 transitHub Model Resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, TransitHubResourceInner> beginUpdate(String resourceGroupName,
+ String communityName, String transitHubName, TransitHubPatchResource properties, Context context);
+
+ /**
+ * Update a TransitHubResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param communityName The name of the communityResource Resource.
+ * @param transitHubName The name of the TransitHub 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 transitHub Model Resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ TransitHubResourceInner update(String resourceGroupName, String communityName, String transitHubName,
+ TransitHubPatchResource properties);
+
+ /**
+ * Update a TransitHubResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param communityName The name of the communityResource Resource.
+ * @param transitHubName The name of the TransitHub 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 transitHub Model Resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ TransitHubResourceInner update(String resourceGroupName, String communityName, String transitHubName,
+ TransitHubPatchResource properties, Context context);
+
+ /**
+ * Delete a TransitHubResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param communityName The name of the communityResource Resource.
+ * @param transitHubName The name of the TransitHub 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 the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String communityName,
+ String transitHubName);
+
+ /**
+ * Delete a TransitHubResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param communityName The name of the communityResource Resource.
+ * @param transitHubName The name of the TransitHub 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 SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String communityName,
+ String transitHubName, Context context);
+
+ /**
+ * Delete a TransitHubResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param communityName The name of the communityResource Resource.
+ * @param transitHubName The name of the TransitHub 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 communityName, String transitHubName);
+
+ /**
+ * Delete a TransitHubResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param communityName The name of the communityResource Resource.
+ * @param transitHubName The name of the TransitHub 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String communityName, String transitHubName, Context context);
+}
diff --git a/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/VirtualEnclavesClient.java b/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/VirtualEnclavesClient.java
new file mode 100644
index 000000000000..4fab9b26493b
--- /dev/null
+++ b/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/VirtualEnclavesClient.java
@@ -0,0 +1,402 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mission.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.mission.fluent.models.ApprovalCallbackResponseInner;
+import com.azure.resourcemanager.mission.fluent.models.ApprovalDeletionCallbackResponseInner;
+import com.azure.resourcemanager.mission.fluent.models.EnclaveResourceInner;
+import com.azure.resourcemanager.mission.models.ApprovalCallbackRequest;
+import com.azure.resourcemanager.mission.models.ApprovalDeletionCallbackRequest;
+import com.azure.resourcemanager.mission.models.VirtualEnclavePatchResource;
+
+/**
+ * An instance of this class provides access to all the operations defined in VirtualEnclavesClient.
+ */
+public interface VirtualEnclavesClient {
+ /**
+ * List EnclaveResource resources by subscription ID.
+ *
+ * @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 EnclaveResource list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * List EnclaveResource resources by subscription ID.
+ *
+ * @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 EnclaveResource list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+
+ /**
+ * List EnclaveResource resources by 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 EnclaveResource list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * List EnclaveResource resources by 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 EnclaveResource list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * Get a EnclaveResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualEnclaveName The name of the enclaveResource 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 EnclaveResource along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(String resourceGroupName, String virtualEnclaveName,
+ Context context);
+
+ /**
+ * Get a EnclaveResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualEnclaveName The name of the enclaveResource 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 EnclaveResource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ EnclaveResourceInner getByResourceGroup(String resourceGroupName, String virtualEnclaveName);
+
+ /**
+ * Create a EnclaveResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualEnclaveName The name of the enclaveResource 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 virtual Enclave Model Resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, EnclaveResourceInner> beginCreateOrUpdate(String resourceGroupName,
+ String virtualEnclaveName, EnclaveResourceInner resource);
+
+ /**
+ * Create a EnclaveResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualEnclaveName The name of the enclaveResource 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 virtual Enclave Model Resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, EnclaveResourceInner> beginCreateOrUpdate(String resourceGroupName,
+ String virtualEnclaveName, EnclaveResourceInner resource, Context context);
+
+ /**
+ * Create a EnclaveResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualEnclaveName The name of the enclaveResource 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 virtual Enclave Model Resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ EnclaveResourceInner createOrUpdate(String resourceGroupName, String virtualEnclaveName,
+ EnclaveResourceInner resource);
+
+ /**
+ * Create a EnclaveResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualEnclaveName The name of the enclaveResource 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 virtual Enclave Model Resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ EnclaveResourceInner createOrUpdate(String resourceGroupName, String virtualEnclaveName,
+ EnclaveResourceInner resource, Context context);
+
+ /**
+ * Update a EnclaveResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualEnclaveName The name of the enclaveResource 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 virtual Enclave Model Resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, EnclaveResourceInner> beginUpdate(String resourceGroupName,
+ String virtualEnclaveName, VirtualEnclavePatchResource properties);
+
+ /**
+ * Update a EnclaveResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualEnclaveName The name of the enclaveResource 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 virtual Enclave Model Resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, EnclaveResourceInner> beginUpdate(String resourceGroupName,
+ String virtualEnclaveName, VirtualEnclavePatchResource properties, Context context);
+
+ /**
+ * Update a EnclaveResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualEnclaveName The name of the enclaveResource 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 virtual Enclave Model Resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ EnclaveResourceInner update(String resourceGroupName, String virtualEnclaveName,
+ VirtualEnclavePatchResource properties);
+
+ /**
+ * Update a EnclaveResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualEnclaveName The name of the enclaveResource 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 virtual Enclave Model Resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ EnclaveResourceInner update(String resourceGroupName, String virtualEnclaveName,
+ VirtualEnclavePatchResource properties, Context context);
+
+ /**
+ * Delete a EnclaveResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualEnclaveName The name of the enclaveResource 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 the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String virtualEnclaveName);
+
+ /**
+ * Delete a EnclaveResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualEnclaveName The name of the enclaveResource 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 SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String virtualEnclaveName,
+ Context context);
+
+ /**
+ * Delete a EnclaveResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualEnclaveName The name of the enclaveResource 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 virtualEnclaveName);
+
+ /**
+ * Delete a EnclaveResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualEnclaveName The name of the enclaveResource 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String virtualEnclaveName, Context context);
+
+ /**
+ * Callback that triggers on approval state change.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualEnclaveName The name of the enclaveResource Resource.
+ * @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 response body after handling of approvalCallbackRequest.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ApprovalCallbackResponseInner>
+ beginApprovalCallback(String resourceGroupName, String virtualEnclaveName, ApprovalCallbackRequest body);
+
+ /**
+ * Callback that triggers on approval state change.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualEnclaveName The name of the enclaveResource Resource.
+ * @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 response body after handling of approvalCallbackRequest.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ApprovalCallbackResponseInner> beginApprovalCallback(
+ String resourceGroupName, String virtualEnclaveName, ApprovalCallbackRequest body, Context context);
+
+ /**
+ * Callback that triggers on approval state change.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualEnclaveName The name of the enclaveResource Resource.
+ * @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 response body after handling of approvalCallbackRequest.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ApprovalCallbackResponseInner approvalCallback(String resourceGroupName, String virtualEnclaveName,
+ ApprovalCallbackRequest body);
+
+ /**
+ * Callback that triggers on approval state change.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualEnclaveName The name of the enclaveResource Resource.
+ * @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 response body after handling of approvalCallbackRequest.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ApprovalCallbackResponseInner approvalCallback(String resourceGroupName, String virtualEnclaveName,
+ ApprovalCallbackRequest body, Context context);
+
+ /**
+ * Callback that triggers on approval deletion state change.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualEnclaveName The name of the enclaveResource Resource.
+ * @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 response body after handling of approvalDeletionCallbackRequest.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ApprovalDeletionCallbackResponseInner>
+ beginApprovalDeletionCallback(String resourceGroupName, String virtualEnclaveName,
+ ApprovalDeletionCallbackRequest body);
+
+ /**
+ * Callback that triggers on approval deletion state change.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualEnclaveName The name of the enclaveResource Resource.
+ * @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 response body after handling of approvalDeletionCallbackRequest.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ApprovalDeletionCallbackResponseInner>
+ beginApprovalDeletionCallback(String resourceGroupName, String virtualEnclaveName,
+ ApprovalDeletionCallbackRequest body, Context context);
+
+ /**
+ * Callback that triggers on approval deletion state change.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualEnclaveName The name of the enclaveResource Resource.
+ * @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 response body after handling of approvalDeletionCallbackRequest.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ApprovalDeletionCallbackResponseInner approvalDeletionCallback(String resourceGroupName, String virtualEnclaveName,
+ ApprovalDeletionCallbackRequest body);
+
+ /**
+ * Callback that triggers on approval deletion state change.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualEnclaveName The name of the enclaveResource Resource.
+ * @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 response body after handling of approvalDeletionCallbackRequest.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ApprovalDeletionCallbackResponseInner approvalDeletionCallback(String resourceGroupName, String virtualEnclaveName,
+ ApprovalDeletionCallbackRequest body, Context context);
+}
diff --git a/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/WorkloadsClient.java b/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/WorkloadsClient.java
new file mode 100644
index 000000000000..49a63019ebc3
--- /dev/null
+++ b/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/WorkloadsClient.java
@@ -0,0 +1,293 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mission.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.mission.fluent.models.WorkloadResourceInner;
+import com.azure.resourcemanager.mission.models.WorkloadPatchResource;
+
+/**
+ * An instance of this class provides access to all the operations defined in WorkloadsClient.
+ */
+public interface WorkloadsClient {
+ /**
+ * List WorkloadResource resources by subscription ID.
+ *
+ * @param virtualEnclaveName The name of the enclaveResource 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 the response of a WorkloadResource list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listBySubscription(String virtualEnclaveName);
+
+ /**
+ * List WorkloadResource resources by subscription ID.
+ *
+ * @param virtualEnclaveName The name of the enclaveResource 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 response of a WorkloadResource list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listBySubscription(String virtualEnclaveName, Context context);
+
+ /**
+ * List WorkloadResource resources by EnclaveResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualEnclaveName The name of the enclaveResource 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 the response of a WorkloadResource list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByEnclaveResource(String resourceGroupName, String virtualEnclaveName);
+
+ /**
+ * List WorkloadResource resources by EnclaveResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualEnclaveName The name of the enclaveResource 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 response of a WorkloadResource list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByEnclaveResource(String resourceGroupName, String virtualEnclaveName,
+ Context context);
+
+ /**
+ * Get a WorkloadResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualEnclaveName The name of the enclaveResource Resource.
+ * @param workloadName The name of the workloadResource 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 WorkloadResource along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String virtualEnclaveName,
+ String workloadName, Context context);
+
+ /**
+ * Get a WorkloadResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualEnclaveName The name of the enclaveResource Resource.
+ * @param workloadName The name of the workloadResource 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 WorkloadResource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ WorkloadResourceInner get(String resourceGroupName, String virtualEnclaveName, String workloadName);
+
+ /**
+ * Create a WorkloadResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualEnclaveName The name of the enclaveResource Resource.
+ * @param workloadName The name of the workloadResource 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 workload Model Resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, WorkloadResourceInner> beginCreateOrUpdate(String resourceGroupName,
+ String virtualEnclaveName, String workloadName, WorkloadResourceInner resource);
+
+ /**
+ * Create a WorkloadResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualEnclaveName The name of the enclaveResource Resource.
+ * @param workloadName The name of the workloadResource 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 workload Model Resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, WorkloadResourceInner> beginCreateOrUpdate(String resourceGroupName,
+ String virtualEnclaveName, String workloadName, WorkloadResourceInner resource, Context context);
+
+ /**
+ * Create a WorkloadResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualEnclaveName The name of the enclaveResource Resource.
+ * @param workloadName The name of the workloadResource 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 workload Model Resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ WorkloadResourceInner createOrUpdate(String resourceGroupName, String virtualEnclaveName, String workloadName,
+ WorkloadResourceInner resource);
+
+ /**
+ * Create a WorkloadResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualEnclaveName The name of the enclaveResource Resource.
+ * @param workloadName The name of the workloadResource 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 workload Model Resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ WorkloadResourceInner createOrUpdate(String resourceGroupName, String virtualEnclaveName, String workloadName,
+ WorkloadResourceInner resource, Context context);
+
+ /**
+ * Update a WorkloadResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualEnclaveName The name of the enclaveResource Resource.
+ * @param workloadName The name of the workloadResource 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 workload Model Resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, WorkloadResourceInner> beginUpdate(String resourceGroupName,
+ String virtualEnclaveName, String workloadName, WorkloadPatchResource properties);
+
+ /**
+ * Update a WorkloadResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualEnclaveName The name of the enclaveResource Resource.
+ * @param workloadName The name of the workloadResource 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 workload Model Resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, WorkloadResourceInner> beginUpdate(String resourceGroupName,
+ String virtualEnclaveName, String workloadName, WorkloadPatchResource properties, Context context);
+
+ /**
+ * Update a WorkloadResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualEnclaveName The name of the enclaveResource Resource.
+ * @param workloadName The name of the workloadResource 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 workload Model Resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ WorkloadResourceInner update(String resourceGroupName, String virtualEnclaveName, String workloadName,
+ WorkloadPatchResource properties);
+
+ /**
+ * Update a WorkloadResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualEnclaveName The name of the enclaveResource Resource.
+ * @param workloadName The name of the workloadResource 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 workload Model Resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ WorkloadResourceInner update(String resourceGroupName, String virtualEnclaveName, String workloadName,
+ WorkloadPatchResource properties, Context context);
+
+ /**
+ * Delete a WorkloadResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualEnclaveName The name of the enclaveResource Resource.
+ * @param workloadName The name of the workloadResource 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 the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String virtualEnclaveName,
+ String workloadName);
+
+ /**
+ * Delete a WorkloadResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualEnclaveName The name of the enclaveResource Resource.
+ * @param workloadName The name of the workloadResource 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 SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String virtualEnclaveName,
+ String workloadName, Context context);
+
+ /**
+ * Delete a WorkloadResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualEnclaveName The name of the enclaveResource Resource.
+ * @param workloadName The name of the workloadResource 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 virtualEnclaveName, String workloadName);
+
+ /**
+ * Delete a WorkloadResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualEnclaveName The name of the enclaveResource Resource.
+ * @param workloadName The name of the workloadResource 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String virtualEnclaveName, String workloadName, Context context);
+}
diff --git a/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/models/ApprovalCallbackResponseInner.java b/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/models/ApprovalCallbackResponseInner.java
new file mode 100644
index 000000000000..c4efbb541b4d
--- /dev/null
+++ b/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/models/ApprovalCallbackResponseInner.java
@@ -0,0 +1,103 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mission.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;
+
+/**
+ * Response body after handling of approvalCallbackRequest.
+ */
+@Fluent
+public final class ApprovalCallbackResponseInner implements JsonSerializable {
+ /*
+ * Confirmation message indicating the result of the operation.
+ */
+ private String message;
+
+ /**
+ * Creates an instance of ApprovalCallbackResponseInner class.
+ */
+ public ApprovalCallbackResponseInner() {
+ }
+
+ /**
+ * Get the message property: Confirmation message indicating the result of the operation.
+ *
+ * @return the message value.
+ */
+ public String message() {
+ return this.message;
+ }
+
+ /**
+ * Set the message property: Confirmation message indicating the result of the operation.
+ *
+ * @param message the message value to set.
+ * @return the ApprovalCallbackResponseInner object itself.
+ */
+ public ApprovalCallbackResponseInner withMessage(String message) {
+ this.message = message;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (message() == null) {
+ throw LOGGER.atError()
+ .log(new IllegalArgumentException(
+ "Missing required property message in model ApprovalCallbackResponseInner"));
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(ApprovalCallbackResponseInner.class);
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("message", this.message);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of ApprovalCallbackResponseInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of ApprovalCallbackResponseInner 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 ApprovalCallbackResponseInner.
+ */
+ public static ApprovalCallbackResponseInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ ApprovalCallbackResponseInner deserializedApprovalCallbackResponseInner
+ = new ApprovalCallbackResponseInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("message".equals(fieldName)) {
+ deserializedApprovalCallbackResponseInner.message = reader.getString();
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedApprovalCallbackResponseInner;
+ });
+ }
+}
diff --git a/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/models/ApprovalDeletionCallbackResponseInner.java b/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/models/ApprovalDeletionCallbackResponseInner.java
new file mode 100644
index 000000000000..f4dcec6ec861
--- /dev/null
+++ b/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/models/ApprovalDeletionCallbackResponseInner.java
@@ -0,0 +1,104 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mission.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;
+
+/**
+ * Response body after handling of approvalDeletionCallbackRequest.
+ */
+@Fluent
+public final class ApprovalDeletionCallbackResponseInner
+ implements JsonSerializable {
+ /*
+ * Confirmation message indicating the result of the operation.
+ */
+ private String message;
+
+ /**
+ * Creates an instance of ApprovalDeletionCallbackResponseInner class.
+ */
+ public ApprovalDeletionCallbackResponseInner() {
+ }
+
+ /**
+ * Get the message property: Confirmation message indicating the result of the operation.
+ *
+ * @return the message value.
+ */
+ public String message() {
+ return this.message;
+ }
+
+ /**
+ * Set the message property: Confirmation message indicating the result of the operation.
+ *
+ * @param message the message value to set.
+ * @return the ApprovalDeletionCallbackResponseInner object itself.
+ */
+ public ApprovalDeletionCallbackResponseInner withMessage(String message) {
+ this.message = message;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (message() == null) {
+ throw LOGGER.atError()
+ .log(new IllegalArgumentException(
+ "Missing required property message in model ApprovalDeletionCallbackResponseInner"));
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(ApprovalDeletionCallbackResponseInner.class);
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("message", this.message);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of ApprovalDeletionCallbackResponseInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of ApprovalDeletionCallbackResponseInner 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 ApprovalDeletionCallbackResponseInner.
+ */
+ public static ApprovalDeletionCallbackResponseInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ ApprovalDeletionCallbackResponseInner deserializedApprovalDeletionCallbackResponseInner
+ = new ApprovalDeletionCallbackResponseInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("message".equals(fieldName)) {
+ deserializedApprovalDeletionCallbackResponseInner.message = reader.getString();
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedApprovalDeletionCallbackResponseInner;
+ });
+ }
+}
diff --git a/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/models/ApprovalProperties.java b/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/models/ApprovalProperties.java
new file mode 100644
index 000000000000..236c38a24695
--- /dev/null
+++ b/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/models/ApprovalProperties.java
@@ -0,0 +1,306 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mission.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.CoreUtils;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.mission.models.Approver;
+import com.azure.resourcemanager.mission.models.ProvisioningState;
+import com.azure.resourcemanager.mission.models.RequestMetadata;
+import java.io.IOException;
+import java.time.OffsetDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.List;
+
+/**
+ * Approvals Resource Properties.
+ */
+@Fluent
+public final class ApprovalProperties implements JsonSerializable {
+ /*
+ * Provisioning State.
+ */
+ private ProvisioningState provisioningState;
+
+ /*
+ * Parameter for optimizing query results
+ */
+ private String parent1;
+
+ /*
+ * Parameter for optimizing query results
+ */
+ private String parent2;
+
+ /*
+ * Request metadata for the approval request.
+ */
+ private RequestMetadata requestMetadata;
+
+ /*
+ * List of approvers for the approval request
+ */
+ private List approvers;
+
+ /*
+ * Ticket ID for the approval request
+ */
+ private String ticketId;
+
+ /*
+ * Approval request creation time
+ */
+ private OffsetDateTime createdAt;
+
+ /*
+ * Approval request state change time, time at which approval request state changed from pending to approved or
+ * rejected.
+ */
+ private OffsetDateTime stateChangedAt;
+
+ /**
+ * Creates an instance of ApprovalProperties class.
+ */
+ public ApprovalProperties() {
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning State.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the parent1 property: Parameter for optimizing query results.
+ *
+ * @return the parent1 value.
+ */
+ public String parent1() {
+ return this.parent1;
+ }
+
+ /**
+ * Set the parent1 property: Parameter for optimizing query results.
+ *
+ * @param parent1 the parent1 value to set.
+ * @return the ApprovalProperties object itself.
+ */
+ public ApprovalProperties withParent1(String parent1) {
+ this.parent1 = parent1;
+ return this;
+ }
+
+ /**
+ * Get the parent2 property: Parameter for optimizing query results.
+ *
+ * @return the parent2 value.
+ */
+ public String parent2() {
+ return this.parent2;
+ }
+
+ /**
+ * Set the parent2 property: Parameter for optimizing query results.
+ *
+ * @param parent2 the parent2 value to set.
+ * @return the ApprovalProperties object itself.
+ */
+ public ApprovalProperties withParent2(String parent2) {
+ this.parent2 = parent2;
+ return this;
+ }
+
+ /**
+ * Get the requestMetadata property: Request metadata for the approval request.
+ *
+ * @return the requestMetadata value.
+ */
+ public RequestMetadata requestMetadata() {
+ return this.requestMetadata;
+ }
+
+ /**
+ * Set the requestMetadata property: Request metadata for the approval request.
+ *
+ * @param requestMetadata the requestMetadata value to set.
+ * @return the ApprovalProperties object itself.
+ */
+ public ApprovalProperties withRequestMetadata(RequestMetadata requestMetadata) {
+ this.requestMetadata = requestMetadata;
+ return this;
+ }
+
+ /**
+ * Get the approvers property: List of approvers for the approval request.
+ *
+ * @return the approvers value.
+ */
+ public List approvers() {
+ return this.approvers;
+ }
+
+ /**
+ * Set the approvers property: List of approvers for the approval request.
+ *
+ * @param approvers the approvers value to set.
+ * @return the ApprovalProperties object itself.
+ */
+ public ApprovalProperties withApprovers(List approvers) {
+ this.approvers = approvers;
+ return this;
+ }
+
+ /**
+ * Get the ticketId property: Ticket ID for the approval request.
+ *
+ * @return the ticketId value.
+ */
+ public String ticketId() {
+ return this.ticketId;
+ }
+
+ /**
+ * Set the ticketId property: Ticket ID for the approval request.
+ *
+ * @param ticketId the ticketId value to set.
+ * @return the ApprovalProperties object itself.
+ */
+ public ApprovalProperties withTicketId(String ticketId) {
+ this.ticketId = ticketId;
+ return this;
+ }
+
+ /**
+ * Get the createdAt property: Approval request creation time.
+ *
+ * @return the createdAt value.
+ */
+ public OffsetDateTime createdAt() {
+ return this.createdAt;
+ }
+
+ /**
+ * Set the createdAt property: Approval request creation time.
+ *
+ * @param createdAt the createdAt value to set.
+ * @return the ApprovalProperties object itself.
+ */
+ public ApprovalProperties withCreatedAt(OffsetDateTime createdAt) {
+ this.createdAt = createdAt;
+ return this;
+ }
+
+ /**
+ * Get the stateChangedAt property: Approval request state change time, time at which approval request state changed
+ * from pending to approved or rejected.
+ *
+ * @return the stateChangedAt value.
+ */
+ public OffsetDateTime stateChangedAt() {
+ return this.stateChangedAt;
+ }
+
+ /**
+ * Set the stateChangedAt property: Approval request state change time, time at which approval request state changed
+ * from pending to approved or rejected.
+ *
+ * @param stateChangedAt the stateChangedAt value to set.
+ * @return the ApprovalProperties object itself.
+ */
+ public ApprovalProperties withStateChangedAt(OffsetDateTime stateChangedAt) {
+ this.stateChangedAt = stateChangedAt;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (requestMetadata() == null) {
+ throw LOGGER.atError()
+ .log(new IllegalArgumentException(
+ "Missing required property requestMetadata in model ApprovalProperties"));
+ } else {
+ requestMetadata().validate();
+ }
+ if (approvers() != null) {
+ approvers().forEach(e -> e.validate());
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(ApprovalProperties.class);
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeJsonField("requestMetadata", this.requestMetadata);
+ jsonWriter.writeStringField("parent1", this.parent1);
+ jsonWriter.writeStringField("parent2", this.parent2);
+ jsonWriter.writeArrayField("approvers", this.approvers, (writer, element) -> writer.writeJson(element));
+ jsonWriter.writeStringField("ticketId", this.ticketId);
+ jsonWriter.writeStringField("createdAt",
+ this.createdAt == null ? null : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.createdAt));
+ jsonWriter.writeStringField("stateChangedAt",
+ this.stateChangedAt == null ? null : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.stateChangedAt));
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of ApprovalProperties from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of ApprovalProperties 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 ApprovalProperties.
+ */
+ public static ApprovalProperties fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ ApprovalProperties deserializedApprovalProperties = new ApprovalProperties();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("requestMetadata".equals(fieldName)) {
+ deserializedApprovalProperties.requestMetadata = RequestMetadata.fromJson(reader);
+ } else if ("provisioningState".equals(fieldName)) {
+ deserializedApprovalProperties.provisioningState = ProvisioningState.fromString(reader.getString());
+ } else if ("parent1".equals(fieldName)) {
+ deserializedApprovalProperties.parent1 = reader.getString();
+ } else if ("parent2".equals(fieldName)) {
+ deserializedApprovalProperties.parent2 = reader.getString();
+ } else if ("approvers".equals(fieldName)) {
+ List approvers = reader.readArray(reader1 -> Approver.fromJson(reader1));
+ deserializedApprovalProperties.approvers = approvers;
+ } else if ("ticketId".equals(fieldName)) {
+ deserializedApprovalProperties.ticketId = reader.getString();
+ } else if ("createdAt".equals(fieldName)) {
+ deserializedApprovalProperties.createdAt = reader
+ .getNullable(nonNullReader -> CoreUtils.parseBestOffsetDateTime(nonNullReader.getString()));
+ } else if ("stateChangedAt".equals(fieldName)) {
+ deserializedApprovalProperties.stateChangedAt = reader
+ .getNullable(nonNullReader -> CoreUtils.parseBestOffsetDateTime(nonNullReader.getString()));
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedApprovalProperties;
+ });
+ }
+}
diff --git a/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/models/ApprovalResourceInner.java b/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/models/ApprovalResourceInner.java
new file mode 100644
index 000000000000..b3de614bbeb7
--- /dev/null
+++ b/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/models/ApprovalResourceInner.java
@@ -0,0 +1,331 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mission.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.mission.models.Approver;
+import com.azure.resourcemanager.mission.models.ProvisioningState;
+import com.azure.resourcemanager.mission.models.RequestMetadata;
+import java.io.IOException;
+import java.time.OffsetDateTime;
+import java.util.List;
+
+/**
+ * Approval Model Resource.
+ */
+@Fluent
+public final class ApprovalResourceInner extends ProxyResource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ private ApprovalProperties innerProperties;
+
+ /*
+ * 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 ApprovalResourceInner class.
+ */
+ public ApprovalResourceInner() {
+ }
+
+ /**
+ * Get the innerProperties property: The resource-specific properties for this resource.
+ *
+ * @return the innerProperties value.
+ */
+ private ApprovalProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * 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;
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning State.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.innerProperties() == null ? null : this.innerProperties().provisioningState();
+ }
+
+ /**
+ * Get the parent1 property: Parameter for optimizing query results.
+ *
+ * @return the parent1 value.
+ */
+ public String parent1() {
+ return this.innerProperties() == null ? null : this.innerProperties().parent1();
+ }
+
+ /**
+ * Set the parent1 property: Parameter for optimizing query results.
+ *
+ * @param parent1 the parent1 value to set.
+ * @return the ApprovalResourceInner object itself.
+ */
+ public ApprovalResourceInner withParent1(String parent1) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ApprovalProperties();
+ }
+ this.innerProperties().withParent1(parent1);
+ return this;
+ }
+
+ /**
+ * Get the parent2 property: Parameter for optimizing query results.
+ *
+ * @return the parent2 value.
+ */
+ public String parent2() {
+ return this.innerProperties() == null ? null : this.innerProperties().parent2();
+ }
+
+ /**
+ * Set the parent2 property: Parameter for optimizing query results.
+ *
+ * @param parent2 the parent2 value to set.
+ * @return the ApprovalResourceInner object itself.
+ */
+ public ApprovalResourceInner withParent2(String parent2) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ApprovalProperties();
+ }
+ this.innerProperties().withParent2(parent2);
+ return this;
+ }
+
+ /**
+ * Get the requestMetadata property: Request metadata for the approval request.
+ *
+ * @return the requestMetadata value.
+ */
+ public RequestMetadata requestMetadata() {
+ return this.innerProperties() == null ? null : this.innerProperties().requestMetadata();
+ }
+
+ /**
+ * Set the requestMetadata property: Request metadata for the approval request.
+ *
+ * @param requestMetadata the requestMetadata value to set.
+ * @return the ApprovalResourceInner object itself.
+ */
+ public ApprovalResourceInner withRequestMetadata(RequestMetadata requestMetadata) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ApprovalProperties();
+ }
+ this.innerProperties().withRequestMetadata(requestMetadata);
+ return this;
+ }
+
+ /**
+ * Get the approvers property: List of approvers for the approval request.
+ *
+ * @return the approvers value.
+ */
+ public List approvers() {
+ return this.innerProperties() == null ? null : this.innerProperties().approvers();
+ }
+
+ /**
+ * Set the approvers property: List of approvers for the approval request.
+ *
+ * @param approvers the approvers value to set.
+ * @return the ApprovalResourceInner object itself.
+ */
+ public ApprovalResourceInner withApprovers(List approvers) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ApprovalProperties();
+ }
+ this.innerProperties().withApprovers(approvers);
+ return this;
+ }
+
+ /**
+ * Get the ticketId property: Ticket ID for the approval request.
+ *
+ * @return the ticketId value.
+ */
+ public String ticketId() {
+ return this.innerProperties() == null ? null : this.innerProperties().ticketId();
+ }
+
+ /**
+ * Set the ticketId property: Ticket ID for the approval request.
+ *
+ * @param ticketId the ticketId value to set.
+ * @return the ApprovalResourceInner object itself.
+ */
+ public ApprovalResourceInner withTicketId(String ticketId) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ApprovalProperties();
+ }
+ this.innerProperties().withTicketId(ticketId);
+ return this;
+ }
+
+ /**
+ * Get the createdAt property: Approval request creation time.
+ *
+ * @return the createdAt value.
+ */
+ public OffsetDateTime createdAt() {
+ return this.innerProperties() == null ? null : this.innerProperties().createdAt();
+ }
+
+ /**
+ * Set the createdAt property: Approval request creation time.
+ *
+ * @param createdAt the createdAt value to set.
+ * @return the ApprovalResourceInner object itself.
+ */
+ public ApprovalResourceInner withCreatedAt(OffsetDateTime createdAt) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ApprovalProperties();
+ }
+ this.innerProperties().withCreatedAt(createdAt);
+ return this;
+ }
+
+ /**
+ * Get the stateChangedAt property: Approval request state change time, time at which approval request state changed
+ * from pending to approved or rejected.
+ *
+ * @return the stateChangedAt value.
+ */
+ public OffsetDateTime stateChangedAt() {
+ return this.innerProperties() == null ? null : this.innerProperties().stateChangedAt();
+ }
+
+ /**
+ * Set the stateChangedAt property: Approval request state change time, time at which approval request state changed
+ * from pending to approved or rejected.
+ *
+ * @param stateChangedAt the stateChangedAt value to set.
+ * @return the ApprovalResourceInner object itself.
+ */
+ public ApprovalResourceInner withStateChangedAt(OffsetDateTime stateChangedAt) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ApprovalProperties();
+ }
+ this.innerProperties().withStateChangedAt(stateChangedAt);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeJsonField("properties", this.innerProperties);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of ApprovalResourceInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of ApprovalResourceInner 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 ApprovalResourceInner.
+ */
+ public static ApprovalResourceInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ ApprovalResourceInner deserializedApprovalResourceInner = new ApprovalResourceInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedApprovalResourceInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedApprovalResourceInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedApprovalResourceInner.type = reader.getString();
+ } else if ("properties".equals(fieldName)) {
+ deserializedApprovalResourceInner.innerProperties = ApprovalProperties.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedApprovalResourceInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedApprovalResourceInner;
+ });
+ }
+}
diff --git a/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/models/CheckAddressSpaceAvailabilityResponseInner.java b/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/models/CheckAddressSpaceAvailabilityResponseInner.java
new file mode 100644
index 000000000000..91d3333252d6
--- /dev/null
+++ b/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/models/CheckAddressSpaceAvailabilityResponseInner.java
@@ -0,0 +1,96 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mission.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+
+/**
+ * Response of availability of the requested address space.
+ */
+@Fluent
+public final class CheckAddressSpaceAvailabilityResponseInner
+ implements JsonSerializable {
+ /*
+ * Boolean representing whether the address space is available.
+ */
+ private boolean value;
+
+ /**
+ * Creates an instance of CheckAddressSpaceAvailabilityResponseInner class.
+ */
+ public CheckAddressSpaceAvailabilityResponseInner() {
+ }
+
+ /**
+ * Get the value property: Boolean representing whether the address space is available.
+ *
+ * @return the value value.
+ */
+ public boolean value() {
+ return this.value;
+ }
+
+ /**
+ * Set the value property: Boolean representing whether the address space is available.
+ *
+ * @param value the value value to set.
+ * @return the CheckAddressSpaceAvailabilityResponseInner object itself.
+ */
+ public CheckAddressSpaceAvailabilityResponseInner withValue(boolean value) {
+ this.value = value;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeBooleanField("value", this.value);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of CheckAddressSpaceAvailabilityResponseInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of CheckAddressSpaceAvailabilityResponseInner 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 CheckAddressSpaceAvailabilityResponseInner.
+ */
+ public static CheckAddressSpaceAvailabilityResponseInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ CheckAddressSpaceAvailabilityResponseInner deserializedCheckAddressSpaceAvailabilityResponseInner
+ = new CheckAddressSpaceAvailabilityResponseInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("value".equals(fieldName)) {
+ deserializedCheckAddressSpaceAvailabilityResponseInner.value = reader.getBoolean();
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedCheckAddressSpaceAvailabilityResponseInner;
+ });
+ }
+}
diff --git a/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/models/CommunityEndpointProperties.java b/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/models/CommunityEndpointProperties.java
new file mode 100644
index 000000000000..bb102c9d7edf
--- /dev/null
+++ b/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/models/CommunityEndpointProperties.java
@@ -0,0 +1,157 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mission.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.mission.models.CommunityEndpointDestinationRule;
+import com.azure.resourcemanager.mission.models.ProvisioningState;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * Community Endpoint Resource properties.
+ */
+@Fluent
+public final class CommunityEndpointProperties implements JsonSerializable {
+ /*
+ * Community Endpoint Rule Collection.
+ */
+ private List ruleCollection;
+
+ /*
+ * List of resource ids created by community endpoint.
+ */
+ private List resourceCollection;
+
+ /*
+ * Provisioning State.
+ */
+ private ProvisioningState provisioningState;
+
+ /**
+ * Creates an instance of CommunityEndpointProperties class.
+ */
+ public CommunityEndpointProperties() {
+ }
+
+ /**
+ * Get the ruleCollection property: Community Endpoint Rule Collection.
+ *
+ * @return the ruleCollection value.
+ */
+ public List ruleCollection() {
+ return this.ruleCollection;
+ }
+
+ /**
+ * Set the ruleCollection property: Community Endpoint Rule Collection.
+ *
+ * @param ruleCollection the ruleCollection value to set.
+ * @return the CommunityEndpointProperties object itself.
+ */
+ public CommunityEndpointProperties withRuleCollection(List ruleCollection) {
+ this.ruleCollection = ruleCollection;
+ return this;
+ }
+
+ /**
+ * Get the resourceCollection property: List of resource ids created by community endpoint.
+ *
+ * @return the resourceCollection value.
+ */
+ public List resourceCollection() {
+ return this.resourceCollection;
+ }
+
+ /**
+ * Set the resourceCollection property: List of resource ids created by community endpoint.
+ *
+ * @param resourceCollection the resourceCollection value to set.
+ * @return the CommunityEndpointProperties object itself.
+ */
+ public CommunityEndpointProperties withResourceCollection(List resourceCollection) {
+ this.resourceCollection = resourceCollection;
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning State.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (ruleCollection() == null) {
+ throw LOGGER.atError()
+ .log(new IllegalArgumentException(
+ "Missing required property ruleCollection in model CommunityEndpointProperties"));
+ } else {
+ ruleCollection().forEach(e -> e.validate());
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(CommunityEndpointProperties.class);
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeArrayField("ruleCollection", this.ruleCollection,
+ (writer, element) -> writer.writeJson(element));
+ jsonWriter.writeArrayField("resourceCollection", this.resourceCollection,
+ (writer, element) -> writer.writeString(element));
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of CommunityEndpointProperties from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of CommunityEndpointProperties 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 CommunityEndpointProperties.
+ */
+ public static CommunityEndpointProperties fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ CommunityEndpointProperties deserializedCommunityEndpointProperties = new CommunityEndpointProperties();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("ruleCollection".equals(fieldName)) {
+ List ruleCollection
+ = reader.readArray(reader1 -> CommunityEndpointDestinationRule.fromJson(reader1));
+ deserializedCommunityEndpointProperties.ruleCollection = ruleCollection;
+ } else if ("resourceCollection".equals(fieldName)) {
+ List resourceCollection = reader.readArray(reader1 -> reader1.getString());
+ deserializedCommunityEndpointProperties.resourceCollection = resourceCollection;
+ } else if ("provisioningState".equals(fieldName)) {
+ deserializedCommunityEndpointProperties.provisioningState
+ = ProvisioningState.fromString(reader.getString());
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedCommunityEndpointProperties;
+ });
+ }
+}
diff --git a/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/models/CommunityEndpointResourceInner.java b/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/models/CommunityEndpointResourceInner.java
new file mode 100644
index 000000000000..df77c2cba0f8
--- /dev/null
+++ b/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/models/CommunityEndpointResourceInner.java
@@ -0,0 +1,240 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mission.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.mission.models.CommunityEndpointDestinationRule;
+import com.azure.resourcemanager.mission.models.ProvisioningState;
+import java.io.IOException;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * CommunityEndpoint Model Resource.
+ */
+@Fluent
+public final class CommunityEndpointResourceInner extends Resource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ private CommunityEndpointProperties innerProperties;
+
+ /*
+ * 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 CommunityEndpointResourceInner class.
+ */
+ public CommunityEndpointResourceInner() {
+ }
+
+ /**
+ * Get the innerProperties property: The resource-specific properties for this resource.
+ *
+ * @return the innerProperties value.
+ */
+ private CommunityEndpointProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * 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 CommunityEndpointResourceInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public CommunityEndpointResourceInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Get the ruleCollection property: Community Endpoint Rule Collection.
+ *
+ * @return the ruleCollection value.
+ */
+ public List ruleCollection() {
+ return this.innerProperties() == null ? null : this.innerProperties().ruleCollection();
+ }
+
+ /**
+ * Set the ruleCollection property: Community Endpoint Rule Collection.
+ *
+ * @param ruleCollection the ruleCollection value to set.
+ * @return the CommunityEndpointResourceInner object itself.
+ */
+ public CommunityEndpointResourceInner withRuleCollection(List ruleCollection) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new CommunityEndpointProperties();
+ }
+ this.innerProperties().withRuleCollection(ruleCollection);
+ return this;
+ }
+
+ /**
+ * Get the resourceCollection property: List of resource ids created by community endpoint.
+ *
+ * @return the resourceCollection value.
+ */
+ public List resourceCollection() {
+ return this.innerProperties() == null ? null : this.innerProperties().resourceCollection();
+ }
+
+ /**
+ * Set the resourceCollection property: List of resource ids created by community endpoint.
+ *
+ * @param resourceCollection the resourceCollection value to set.
+ * @return the CommunityEndpointResourceInner object itself.
+ */
+ public CommunityEndpointResourceInner withResourceCollection(List resourceCollection) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new CommunityEndpointProperties();
+ }
+ this.innerProperties().withResourceCollection(resourceCollection);
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning State.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.innerProperties() == null ? null : this.innerProperties().provisioningState();
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().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.innerProperties);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of CommunityEndpointResourceInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of CommunityEndpointResourceInner 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 CommunityEndpointResourceInner.
+ */
+ public static CommunityEndpointResourceInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ CommunityEndpointResourceInner deserializedCommunityEndpointResourceInner
+ = new CommunityEndpointResourceInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedCommunityEndpointResourceInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedCommunityEndpointResourceInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedCommunityEndpointResourceInner.type = reader.getString();
+ } else if ("location".equals(fieldName)) {
+ deserializedCommunityEndpointResourceInner.withLocation(reader.getString());
+ } else if ("tags".equals(fieldName)) {
+ Map tags = reader.readMap(reader1 -> reader1.getString());
+ deserializedCommunityEndpointResourceInner.withTags(tags);
+ } else if ("properties".equals(fieldName)) {
+ deserializedCommunityEndpointResourceInner.innerProperties
+ = CommunityEndpointProperties.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedCommunityEndpointResourceInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedCommunityEndpointResourceInner;
+ });
+ }
+}
diff --git a/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/models/CommunityProperties.java b/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/models/CommunityProperties.java
new file mode 100644
index 000000000000..6eefe30f4712
--- /dev/null
+++ b/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/models/CommunityProperties.java
@@ -0,0 +1,328 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mission.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.mission.models.ApprovalSettings;
+import com.azure.resourcemanager.mission.models.GovernedServiceItem;
+import com.azure.resourcemanager.mission.models.MaintenanceModeConfiguration;
+import com.azure.resourcemanager.mission.models.ManagedResourceGroupConfiguration;
+import com.azure.resourcemanager.mission.models.ProvisioningState;
+import com.azure.resourcemanager.mission.models.RoleAssignmentItem;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * Community Resource Properties.
+ */
+@Fluent
+public final class CommunityProperties implements JsonSerializable {
+ /*
+ * Address Space.
+ */
+ private String addressSpace;
+
+ /*
+ * Dns Servers.
+ */
+ private List dnsServers;
+
+ /*
+ * Provisioning State.
+ */
+ private ProvisioningState provisioningState;
+
+ /*
+ * List of resource ids created by communities.
+ */
+ private List resourceCollection;
+
+ /*
+ * Managed resource group configuration.
+ */
+ private ManagedResourceGroupConfiguration managedResourceGroupConfiguration;
+
+ /*
+ * List of services governed by a community.
+ */
+ private List governedServiceList;
+
+ /*
+ * Community role assignments
+ */
+ private List communityRoleAssignments;
+
+ /*
+ * Approval requirements for various actions on the community's resources.
+ */
+ private ApprovalSettings approvalSettings;
+
+ /*
+ * Maintenance Mode configuration.
+ */
+ private MaintenanceModeConfiguration maintenanceModeConfiguration;
+
+ /**
+ * Creates an instance of CommunityProperties class.
+ */
+ public CommunityProperties() {
+ }
+
+ /**
+ * Get the addressSpace property: Address Space.
+ *
+ * @return the addressSpace value.
+ */
+ public String addressSpace() {
+ return this.addressSpace;
+ }
+
+ /**
+ * Set the addressSpace property: Address Space.
+ *
+ * @param addressSpace the addressSpace value to set.
+ * @return the CommunityProperties object itself.
+ */
+ public CommunityProperties withAddressSpace(String addressSpace) {
+ this.addressSpace = addressSpace;
+ return this;
+ }
+
+ /**
+ * Get the dnsServers property: Dns Servers.
+ *
+ * @return the dnsServers value.
+ */
+ public List dnsServers() {
+ return this.dnsServers;
+ }
+
+ /**
+ * Set the dnsServers property: Dns Servers.
+ *
+ * @param dnsServers the dnsServers value to set.
+ * @return the CommunityProperties object itself.
+ */
+ public CommunityProperties withDnsServers(List dnsServers) {
+ this.dnsServers = dnsServers;
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning State.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the resourceCollection property: List of resource ids created by communities.
+ *
+ * @return the resourceCollection value.
+ */
+ public List resourceCollection() {
+ return this.resourceCollection;
+ }
+
+ /**
+ * Get the managedResourceGroupConfiguration property: Managed resource group configuration.
+ *
+ * @return the managedResourceGroupConfiguration value.
+ */
+ public ManagedResourceGroupConfiguration managedResourceGroupConfiguration() {
+ return this.managedResourceGroupConfiguration;
+ }
+
+ /**
+ * Set the managedResourceGroupConfiguration property: Managed resource group configuration.
+ *
+ * @param managedResourceGroupConfiguration the managedResourceGroupConfiguration value to set.
+ * @return the CommunityProperties object itself.
+ */
+ public CommunityProperties
+ withManagedResourceGroupConfiguration(ManagedResourceGroupConfiguration managedResourceGroupConfiguration) {
+ this.managedResourceGroupConfiguration = managedResourceGroupConfiguration;
+ return this;
+ }
+
+ /**
+ * Get the governedServiceList property: List of services governed by a community.
+ *
+ * @return the governedServiceList value.
+ */
+ public List governedServiceList() {
+ return this.governedServiceList;
+ }
+
+ /**
+ * Set the governedServiceList property: List of services governed by a community.
+ *
+ * @param governedServiceList the governedServiceList value to set.
+ * @return the CommunityProperties object itself.
+ */
+ public CommunityProperties withGovernedServiceList(List governedServiceList) {
+ this.governedServiceList = governedServiceList;
+ return this;
+ }
+
+ /**
+ * Get the communityRoleAssignments property: Community role assignments.
+ *
+ * @return the communityRoleAssignments value.
+ */
+ public List communityRoleAssignments() {
+ return this.communityRoleAssignments;
+ }
+
+ /**
+ * Set the communityRoleAssignments property: Community role assignments.
+ *
+ * @param communityRoleAssignments the communityRoleAssignments value to set.
+ * @return the CommunityProperties object itself.
+ */
+ public CommunityProperties withCommunityRoleAssignments(List communityRoleAssignments) {
+ this.communityRoleAssignments = communityRoleAssignments;
+ return this;
+ }
+
+ /**
+ * Get the approvalSettings property: Approval requirements for various actions on the community's resources.
+ *
+ * @return the approvalSettings value.
+ */
+ public ApprovalSettings approvalSettings() {
+ return this.approvalSettings;
+ }
+
+ /**
+ * Set the approvalSettings property: Approval requirements for various actions on the community's resources.
+ *
+ * @param approvalSettings the approvalSettings value to set.
+ * @return the CommunityProperties object itself.
+ */
+ public CommunityProperties withApprovalSettings(ApprovalSettings approvalSettings) {
+ this.approvalSettings = approvalSettings;
+ return this;
+ }
+
+ /**
+ * Get the maintenanceModeConfiguration property: Maintenance Mode configuration.
+ *
+ * @return the maintenanceModeConfiguration value.
+ */
+ public MaintenanceModeConfiguration maintenanceModeConfiguration() {
+ return this.maintenanceModeConfiguration;
+ }
+
+ /**
+ * Set the maintenanceModeConfiguration property: Maintenance Mode configuration.
+ *
+ * @param maintenanceModeConfiguration the maintenanceModeConfiguration value to set.
+ * @return the CommunityProperties object itself.
+ */
+ public CommunityProperties
+ withMaintenanceModeConfiguration(MaintenanceModeConfiguration maintenanceModeConfiguration) {
+ this.maintenanceModeConfiguration = maintenanceModeConfiguration;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (managedResourceGroupConfiguration() != null) {
+ managedResourceGroupConfiguration().validate();
+ }
+ if (governedServiceList() != null) {
+ governedServiceList().forEach(e -> e.validate());
+ }
+ if (communityRoleAssignments() != null) {
+ communityRoleAssignments().forEach(e -> e.validate());
+ }
+ if (approvalSettings() != null) {
+ approvalSettings().validate();
+ }
+ if (maintenanceModeConfiguration() != null) {
+ maintenanceModeConfiguration().validate();
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("addressSpace", this.addressSpace);
+ jsonWriter.writeArrayField("dnsServers", this.dnsServers, (writer, element) -> writer.writeString(element));
+ jsonWriter.writeJsonField("managedResourceGroupConfiguration", this.managedResourceGroupConfiguration);
+ jsonWriter.writeArrayField("governedServiceList", this.governedServiceList,
+ (writer, element) -> writer.writeJson(element));
+ jsonWriter.writeArrayField("communityRoleAssignments", this.communityRoleAssignments,
+ (writer, element) -> writer.writeJson(element));
+ jsonWriter.writeJsonField("approvalSettings", this.approvalSettings);
+ jsonWriter.writeJsonField("maintenanceModeConfiguration", this.maintenanceModeConfiguration);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of CommunityProperties from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of CommunityProperties 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 CommunityProperties.
+ */
+ public static CommunityProperties fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ CommunityProperties deserializedCommunityProperties = new CommunityProperties();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("addressSpace".equals(fieldName)) {
+ deserializedCommunityProperties.addressSpace = reader.getString();
+ } else if ("dnsServers".equals(fieldName)) {
+ List dnsServers = reader.readArray(reader1 -> reader1.getString());
+ deserializedCommunityProperties.dnsServers = dnsServers;
+ } else if ("provisioningState".equals(fieldName)) {
+ deserializedCommunityProperties.provisioningState
+ = ProvisioningState.fromString(reader.getString());
+ } else if ("resourceCollection".equals(fieldName)) {
+ List resourceCollection = reader.readArray(reader1 -> reader1.getString());
+ deserializedCommunityProperties.resourceCollection = resourceCollection;
+ } else if ("managedResourceGroupConfiguration".equals(fieldName)) {
+ deserializedCommunityProperties.managedResourceGroupConfiguration
+ = ManagedResourceGroupConfiguration.fromJson(reader);
+ } else if ("governedServiceList".equals(fieldName)) {
+ List governedServiceList
+ = reader.readArray(reader1 -> GovernedServiceItem.fromJson(reader1));
+ deserializedCommunityProperties.governedServiceList = governedServiceList;
+ } else if ("communityRoleAssignments".equals(fieldName)) {
+ List communityRoleAssignments
+ = reader.readArray(reader1 -> RoleAssignmentItem.fromJson(reader1));
+ deserializedCommunityProperties.communityRoleAssignments = communityRoleAssignments;
+ } else if ("approvalSettings".equals(fieldName)) {
+ deserializedCommunityProperties.approvalSettings = ApprovalSettings.fromJson(reader);
+ } else if ("maintenanceModeConfiguration".equals(fieldName)) {
+ deserializedCommunityProperties.maintenanceModeConfiguration
+ = MaintenanceModeConfiguration.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedCommunityProperties;
+ });
+ }
+}
diff --git a/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/models/CommunityResourceInner.java b/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/models/CommunityResourceInner.java
new file mode 100644
index 000000000000..58e477f6b28e
--- /dev/null
+++ b/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/models/CommunityResourceInner.java
@@ -0,0 +1,400 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mission.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.mission.models.ApprovalSettings;
+import com.azure.resourcemanager.mission.models.GovernedServiceItem;
+import com.azure.resourcemanager.mission.models.MaintenanceModeConfiguration;
+import com.azure.resourcemanager.mission.models.ManagedResourceGroupConfiguration;
+import com.azure.resourcemanager.mission.models.ManagedServiceIdentity;
+import com.azure.resourcemanager.mission.models.ProvisioningState;
+import com.azure.resourcemanager.mission.models.RoleAssignmentItem;
+import java.io.IOException;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Community Model Resource.
+ */
+@Fluent
+public final class CommunityResourceInner extends Resource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ private CommunityProperties innerProperties;
+
+ /*
+ * 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 CommunityResourceInner class.
+ */
+ public CommunityResourceInner() {
+ }
+
+ /**
+ * Get the innerProperties property: The resource-specific properties for this resource.
+ *
+ * @return the innerProperties value.
+ */
+ private CommunityProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * 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 CommunityResourceInner object itself.
+ */
+ public CommunityResourceInner 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 CommunityResourceInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public CommunityResourceInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Get the addressSpace property: Address Space.
+ *
+ * @return the addressSpace value.
+ */
+ public String addressSpace() {
+ return this.innerProperties() == null ? null : this.innerProperties().addressSpace();
+ }
+
+ /**
+ * Set the addressSpace property: Address Space.
+ *
+ * @param addressSpace the addressSpace value to set.
+ * @return the CommunityResourceInner object itself.
+ */
+ public CommunityResourceInner withAddressSpace(String addressSpace) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new CommunityProperties();
+ }
+ this.innerProperties().withAddressSpace(addressSpace);
+ return this;
+ }
+
+ /**
+ * Get the dnsServers property: Dns Servers.
+ *
+ * @return the dnsServers value.
+ */
+ public List dnsServers() {
+ return this.innerProperties() == null ? null : this.innerProperties().dnsServers();
+ }
+
+ /**
+ * Set the dnsServers property: Dns Servers.
+ *
+ * @param dnsServers the dnsServers value to set.
+ * @return the CommunityResourceInner object itself.
+ */
+ public CommunityResourceInner withDnsServers(List dnsServers) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new CommunityProperties();
+ }
+ this.innerProperties().withDnsServers(dnsServers);
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning State.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.innerProperties() == null ? null : this.innerProperties().provisioningState();
+ }
+
+ /**
+ * Get the resourceCollection property: List of resource ids created by communities.
+ *
+ * @return the resourceCollection value.
+ */
+ public List resourceCollection() {
+ return this.innerProperties() == null ? null : this.innerProperties().resourceCollection();
+ }
+
+ /**
+ * Get the managedResourceGroupConfiguration property: Managed resource group configuration.
+ *
+ * @return the managedResourceGroupConfiguration value.
+ */
+ public ManagedResourceGroupConfiguration managedResourceGroupConfiguration() {
+ return this.innerProperties() == null ? null : this.innerProperties().managedResourceGroupConfiguration();
+ }
+
+ /**
+ * Set the managedResourceGroupConfiguration property: Managed resource group configuration.
+ *
+ * @param managedResourceGroupConfiguration the managedResourceGroupConfiguration value to set.
+ * @return the CommunityResourceInner object itself.
+ */
+ public CommunityResourceInner
+ withManagedResourceGroupConfiguration(ManagedResourceGroupConfiguration managedResourceGroupConfiguration) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new CommunityProperties();
+ }
+ this.innerProperties().withManagedResourceGroupConfiguration(managedResourceGroupConfiguration);
+ return this;
+ }
+
+ /**
+ * Get the governedServiceList property: List of services governed by a community.
+ *
+ * @return the governedServiceList value.
+ */
+ public List governedServiceList() {
+ return this.innerProperties() == null ? null : this.innerProperties().governedServiceList();
+ }
+
+ /**
+ * Set the governedServiceList property: List of services governed by a community.
+ *
+ * @param governedServiceList the governedServiceList value to set.
+ * @return the CommunityResourceInner object itself.
+ */
+ public CommunityResourceInner withGovernedServiceList(List governedServiceList) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new CommunityProperties();
+ }
+ this.innerProperties().withGovernedServiceList(governedServiceList);
+ return this;
+ }
+
+ /**
+ * Get the communityRoleAssignments property: Community role assignments.
+ *
+ * @return the communityRoleAssignments value.
+ */
+ public List communityRoleAssignments() {
+ return this.innerProperties() == null ? null : this.innerProperties().communityRoleAssignments();
+ }
+
+ /**
+ * Set the communityRoleAssignments property: Community role assignments.
+ *
+ * @param communityRoleAssignments the communityRoleAssignments value to set.
+ * @return the CommunityResourceInner object itself.
+ */
+ public CommunityResourceInner withCommunityRoleAssignments(List communityRoleAssignments) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new CommunityProperties();
+ }
+ this.innerProperties().withCommunityRoleAssignments(communityRoleAssignments);
+ return this;
+ }
+
+ /**
+ * Get the approvalSettings property: Approval requirements for various actions on the community's resources.
+ *
+ * @return the approvalSettings value.
+ */
+ public ApprovalSettings approvalSettings() {
+ return this.innerProperties() == null ? null : this.innerProperties().approvalSettings();
+ }
+
+ /**
+ * Set the approvalSettings property: Approval requirements for various actions on the community's resources.
+ *
+ * @param approvalSettings the approvalSettings value to set.
+ * @return the CommunityResourceInner object itself.
+ */
+ public CommunityResourceInner withApprovalSettings(ApprovalSettings approvalSettings) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new CommunityProperties();
+ }
+ this.innerProperties().withApprovalSettings(approvalSettings);
+ return this;
+ }
+
+ /**
+ * Get the maintenanceModeConfiguration property: Maintenance Mode configuration.
+ *
+ * @return the maintenanceModeConfiguration value.
+ */
+ public MaintenanceModeConfiguration maintenanceModeConfiguration() {
+ return this.innerProperties() == null ? null : this.innerProperties().maintenanceModeConfiguration();
+ }
+
+ /**
+ * Set the maintenanceModeConfiguration property: Maintenance Mode configuration.
+ *
+ * @param maintenanceModeConfiguration the maintenanceModeConfiguration value to set.
+ * @return the CommunityResourceInner object itself.
+ */
+ public CommunityResourceInner
+ withMaintenanceModeConfiguration(MaintenanceModeConfiguration maintenanceModeConfiguration) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new CommunityProperties();
+ }
+ this.innerProperties().withMaintenanceModeConfiguration(maintenanceModeConfiguration);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().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.innerProperties);
+ jsonWriter.writeJsonField("identity", this.identity);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of CommunityResourceInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of CommunityResourceInner 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 CommunityResourceInner.
+ */
+ public static CommunityResourceInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ CommunityResourceInner deserializedCommunityResourceInner = new CommunityResourceInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedCommunityResourceInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedCommunityResourceInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedCommunityResourceInner.type = reader.getString();
+ } else if ("location".equals(fieldName)) {
+ deserializedCommunityResourceInner.withLocation(reader.getString());
+ } else if ("tags".equals(fieldName)) {
+ Map tags = reader.readMap(reader1 -> reader1.getString());
+ deserializedCommunityResourceInner.withTags(tags);
+ } else if ("properties".equals(fieldName)) {
+ deserializedCommunityResourceInner.innerProperties = CommunityProperties.fromJson(reader);
+ } else if ("identity".equals(fieldName)) {
+ deserializedCommunityResourceInner.identity = ManagedServiceIdentity.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedCommunityResourceInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedCommunityResourceInner;
+ });
+ }
+}
diff --git a/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/models/EnclaveConnectionProperties.java b/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/models/EnclaveConnectionProperties.java
new file mode 100644
index 000000000000..1ccc78b1ca35
--- /dev/null
+++ b/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/models/EnclaveConnectionProperties.java
@@ -0,0 +1,303 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mission.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.mission.models.EnclaveConnectionState;
+import com.azure.resourcemanager.mission.models.ProvisioningState;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * Enclave Connection Resource properties.
+ */
+@Fluent
+public final class EnclaveConnectionProperties implements JsonSerializable {
+ /*
+ * The state of the enclaveConnection.
+ */
+ private EnclaveConnectionState state;
+
+ /*
+ * Community Resource Id.
+ */
+ private String communityResourceId;
+
+ /*
+ * Source Resource Id.
+ */
+ private String sourceResourceId;
+
+ /*
+ * Source CIDR.
+ */
+ private String sourceCidr;
+
+ /*
+ * Source IP group Resource Id.
+ */
+ private String ipGroup;
+
+ /*
+ * Destination Endpoint Resource Id.
+ */
+ private String destinationEndpointId;
+
+ /*
+ * Provisioning State.
+ */
+ private ProvisioningState provisioningState;
+
+ /*
+ * List of resource ids modified by enclave Connections.
+ */
+ private List resourceCollection;
+
+ /**
+ * Creates an instance of EnclaveConnectionProperties class.
+ */
+ public EnclaveConnectionProperties() {
+ }
+
+ /**
+ * Get the state property: The state of the enclaveConnection.
+ *
+ * @return the state value.
+ */
+ public EnclaveConnectionState state() {
+ return this.state;
+ }
+
+ /**
+ * Set the state property: The state of the enclaveConnection.
+ *
+ * @param state the state value to set.
+ * @return the EnclaveConnectionProperties object itself.
+ */
+ public EnclaveConnectionProperties withState(EnclaveConnectionState state) {
+ this.state = state;
+ return this;
+ }
+
+ /**
+ * Get the communityResourceId property: Community Resource Id.
+ *
+ * @return the communityResourceId value.
+ */
+ public String communityResourceId() {
+ return this.communityResourceId;
+ }
+
+ /**
+ * Set the communityResourceId property: Community Resource Id.
+ *
+ * @param communityResourceId the communityResourceId value to set.
+ * @return the EnclaveConnectionProperties object itself.
+ */
+ public EnclaveConnectionProperties withCommunityResourceId(String communityResourceId) {
+ this.communityResourceId = communityResourceId;
+ return this;
+ }
+
+ /**
+ * Get the sourceResourceId property: Source Resource Id.
+ *
+ * @return the sourceResourceId value.
+ */
+ public String sourceResourceId() {
+ return this.sourceResourceId;
+ }
+
+ /**
+ * Set the sourceResourceId property: Source Resource Id.
+ *
+ * @param sourceResourceId the sourceResourceId value to set.
+ * @return the EnclaveConnectionProperties object itself.
+ */
+ public EnclaveConnectionProperties withSourceResourceId(String sourceResourceId) {
+ this.sourceResourceId = sourceResourceId;
+ return this;
+ }
+
+ /**
+ * Get the sourceCidr property: Source CIDR.
+ *
+ * @return the sourceCidr value.
+ */
+ public String sourceCidr() {
+ return this.sourceCidr;
+ }
+
+ /**
+ * Set the sourceCidr property: Source CIDR.
+ *
+ * @param sourceCidr the sourceCidr value to set.
+ * @return the EnclaveConnectionProperties object itself.
+ */
+ public EnclaveConnectionProperties withSourceCidr(String sourceCidr) {
+ this.sourceCidr = sourceCidr;
+ return this;
+ }
+
+ /**
+ * Get the ipGroup property: Source IP group Resource Id.
+ *
+ * @return the ipGroup value.
+ */
+ public String ipGroup() {
+ return this.ipGroup;
+ }
+
+ /**
+ * Set the ipGroup property: Source IP group Resource Id.
+ *
+ * @param ipGroup the ipGroup value to set.
+ * @return the EnclaveConnectionProperties object itself.
+ */
+ public EnclaveConnectionProperties withIpGroup(String ipGroup) {
+ this.ipGroup = ipGroup;
+ return this;
+ }
+
+ /**
+ * Get the destinationEndpointId property: Destination Endpoint Resource Id.
+ *
+ * @return the destinationEndpointId value.
+ */
+ public String destinationEndpointId() {
+ return this.destinationEndpointId;
+ }
+
+ /**
+ * Set the destinationEndpointId property: Destination Endpoint Resource Id.
+ *
+ * @param destinationEndpointId the destinationEndpointId value to set.
+ * @return the EnclaveConnectionProperties object itself.
+ */
+ public EnclaveConnectionProperties withDestinationEndpointId(String destinationEndpointId) {
+ this.destinationEndpointId = destinationEndpointId;
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning State.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the resourceCollection property: List of resource ids modified by enclave Connections.
+ *
+ * @return the resourceCollection value.
+ */
+ public List resourceCollection() {
+ return this.resourceCollection;
+ }
+
+ /**
+ * Set the resourceCollection property: List of resource ids modified by enclave Connections.
+ *
+ * @param resourceCollection the resourceCollection value to set.
+ * @return the EnclaveConnectionProperties object itself.
+ */
+ public EnclaveConnectionProperties withResourceCollection(List resourceCollection) {
+ this.resourceCollection = resourceCollection;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (communityResourceId() == null) {
+ throw LOGGER.atError()
+ .log(new IllegalArgumentException(
+ "Missing required property communityResourceId in model EnclaveConnectionProperties"));
+ }
+ if (sourceResourceId() == null) {
+ throw LOGGER.atError()
+ .log(new IllegalArgumentException(
+ "Missing required property sourceResourceId in model EnclaveConnectionProperties"));
+ }
+ if (destinationEndpointId() == null) {
+ throw LOGGER.atError()
+ .log(new IllegalArgumentException(
+ "Missing required property destinationEndpointId in model EnclaveConnectionProperties"));
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(EnclaveConnectionProperties.class);
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("communityResourceId", this.communityResourceId);
+ jsonWriter.writeStringField("sourceResourceId", this.sourceResourceId);
+ jsonWriter.writeStringField("destinationEndpointId", this.destinationEndpointId);
+ jsonWriter.writeStringField("state", this.state == null ? null : this.state.toString());
+ jsonWriter.writeStringField("sourceCidr", this.sourceCidr);
+ jsonWriter.writeStringField("ipGroup", this.ipGroup);
+ jsonWriter.writeArrayField("resourceCollection", this.resourceCollection,
+ (writer, element) -> writer.writeString(element));
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of EnclaveConnectionProperties from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of EnclaveConnectionProperties 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 EnclaveConnectionProperties.
+ */
+ public static EnclaveConnectionProperties fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ EnclaveConnectionProperties deserializedEnclaveConnectionProperties = new EnclaveConnectionProperties();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("communityResourceId".equals(fieldName)) {
+ deserializedEnclaveConnectionProperties.communityResourceId = reader.getString();
+ } else if ("sourceResourceId".equals(fieldName)) {
+ deserializedEnclaveConnectionProperties.sourceResourceId = reader.getString();
+ } else if ("destinationEndpointId".equals(fieldName)) {
+ deserializedEnclaveConnectionProperties.destinationEndpointId = reader.getString();
+ } else if ("state".equals(fieldName)) {
+ deserializedEnclaveConnectionProperties.state
+ = EnclaveConnectionState.fromString(reader.getString());
+ } else if ("sourceCidr".equals(fieldName)) {
+ deserializedEnclaveConnectionProperties.sourceCidr = reader.getString();
+ } else if ("ipGroup".equals(fieldName)) {
+ deserializedEnclaveConnectionProperties.ipGroup = reader.getString();
+ } else if ("provisioningState".equals(fieldName)) {
+ deserializedEnclaveConnectionProperties.provisioningState
+ = ProvisioningState.fromString(reader.getString());
+ } else if ("resourceCollection".equals(fieldName)) {
+ List resourceCollection = reader.readArray(reader1 -> reader1.getString());
+ deserializedEnclaveConnectionProperties.resourceCollection = resourceCollection;
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedEnclaveConnectionProperties;
+ });
+ }
+}
diff --git a/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/models/EnclaveConnectionResourceInner.java b/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/models/EnclaveConnectionResourceInner.java
new file mode 100644
index 000000000000..cab19a9f5f90
--- /dev/null
+++ b/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/models/EnclaveConnectionResourceInner.java
@@ -0,0 +1,355 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mission.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.mission.models.EnclaveConnectionState;
+import com.azure.resourcemanager.mission.models.ProvisioningState;
+import java.io.IOException;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * EnclaveConnection Model Resource.
+ */
+@Fluent
+public final class EnclaveConnectionResourceInner extends Resource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ private EnclaveConnectionProperties innerProperties;
+
+ /*
+ * 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 EnclaveConnectionResourceInner class.
+ */
+ public EnclaveConnectionResourceInner() {
+ }
+
+ /**
+ * Get the innerProperties property: The resource-specific properties for this resource.
+ *
+ * @return the innerProperties value.
+ */
+ private EnclaveConnectionProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * 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 EnclaveConnectionResourceInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public EnclaveConnectionResourceInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Get the state property: The state of the enclaveConnection.
+ *
+ * @return the state value.
+ */
+ public EnclaveConnectionState state() {
+ return this.innerProperties() == null ? null : this.innerProperties().state();
+ }
+
+ /**
+ * Set the state property: The state of the enclaveConnection.
+ *
+ * @param state the state value to set.
+ * @return the EnclaveConnectionResourceInner object itself.
+ */
+ public EnclaveConnectionResourceInner withState(EnclaveConnectionState state) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new EnclaveConnectionProperties();
+ }
+ this.innerProperties().withState(state);
+ return this;
+ }
+
+ /**
+ * Get the communityResourceId property: Community Resource Id.
+ *
+ * @return the communityResourceId value.
+ */
+ public String communityResourceId() {
+ return this.innerProperties() == null ? null : this.innerProperties().communityResourceId();
+ }
+
+ /**
+ * Set the communityResourceId property: Community Resource Id.
+ *
+ * @param communityResourceId the communityResourceId value to set.
+ * @return the EnclaveConnectionResourceInner object itself.
+ */
+ public EnclaveConnectionResourceInner withCommunityResourceId(String communityResourceId) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new EnclaveConnectionProperties();
+ }
+ this.innerProperties().withCommunityResourceId(communityResourceId);
+ return this;
+ }
+
+ /**
+ * Get the sourceResourceId property: Source Resource Id.
+ *
+ * @return the sourceResourceId value.
+ */
+ public String sourceResourceId() {
+ return this.innerProperties() == null ? null : this.innerProperties().sourceResourceId();
+ }
+
+ /**
+ * Set the sourceResourceId property: Source Resource Id.
+ *
+ * @param sourceResourceId the sourceResourceId value to set.
+ * @return the EnclaveConnectionResourceInner object itself.
+ */
+ public EnclaveConnectionResourceInner withSourceResourceId(String sourceResourceId) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new EnclaveConnectionProperties();
+ }
+ this.innerProperties().withSourceResourceId(sourceResourceId);
+ return this;
+ }
+
+ /**
+ * Get the sourceCidr property: Source CIDR.
+ *
+ * @return the sourceCidr value.
+ */
+ public String sourceCidr() {
+ return this.innerProperties() == null ? null : this.innerProperties().sourceCidr();
+ }
+
+ /**
+ * Set the sourceCidr property: Source CIDR.
+ *
+ * @param sourceCidr the sourceCidr value to set.
+ * @return the EnclaveConnectionResourceInner object itself.
+ */
+ public EnclaveConnectionResourceInner withSourceCidr(String sourceCidr) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new EnclaveConnectionProperties();
+ }
+ this.innerProperties().withSourceCidr(sourceCidr);
+ return this;
+ }
+
+ /**
+ * Get the ipGroup property: Source IP group Resource Id.
+ *
+ * @return the ipGroup value.
+ */
+ public String ipGroup() {
+ return this.innerProperties() == null ? null : this.innerProperties().ipGroup();
+ }
+
+ /**
+ * Set the ipGroup property: Source IP group Resource Id.
+ *
+ * @param ipGroup the ipGroup value to set.
+ * @return the EnclaveConnectionResourceInner object itself.
+ */
+ public EnclaveConnectionResourceInner withIpGroup(String ipGroup) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new EnclaveConnectionProperties();
+ }
+ this.innerProperties().withIpGroup(ipGroup);
+ return this;
+ }
+
+ /**
+ * Get the destinationEndpointId property: Destination Endpoint Resource Id.
+ *
+ * @return the destinationEndpointId value.
+ */
+ public String destinationEndpointId() {
+ return this.innerProperties() == null ? null : this.innerProperties().destinationEndpointId();
+ }
+
+ /**
+ * Set the destinationEndpointId property: Destination Endpoint Resource Id.
+ *
+ * @param destinationEndpointId the destinationEndpointId value to set.
+ * @return the EnclaveConnectionResourceInner object itself.
+ */
+ public EnclaveConnectionResourceInner withDestinationEndpointId(String destinationEndpointId) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new EnclaveConnectionProperties();
+ }
+ this.innerProperties().withDestinationEndpointId(destinationEndpointId);
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning State.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.innerProperties() == null ? null : this.innerProperties().provisioningState();
+ }
+
+ /**
+ * Get the resourceCollection property: List of resource ids modified by enclave Connections.
+ *
+ * @return the resourceCollection value.
+ */
+ public List resourceCollection() {
+ return this.innerProperties() == null ? null : this.innerProperties().resourceCollection();
+ }
+
+ /**
+ * Set the resourceCollection property: List of resource ids modified by enclave Connections.
+ *
+ * @param resourceCollection the resourceCollection value to set.
+ * @return the EnclaveConnectionResourceInner object itself.
+ */
+ public EnclaveConnectionResourceInner withResourceCollection(List resourceCollection) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new EnclaveConnectionProperties();
+ }
+ this.innerProperties().withResourceCollection(resourceCollection);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().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.innerProperties);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of EnclaveConnectionResourceInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of EnclaveConnectionResourceInner 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 EnclaveConnectionResourceInner.
+ */
+ public static EnclaveConnectionResourceInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ EnclaveConnectionResourceInner deserializedEnclaveConnectionResourceInner
+ = new EnclaveConnectionResourceInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedEnclaveConnectionResourceInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedEnclaveConnectionResourceInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedEnclaveConnectionResourceInner.type = reader.getString();
+ } else if ("location".equals(fieldName)) {
+ deserializedEnclaveConnectionResourceInner.withLocation(reader.getString());
+ } else if ("tags".equals(fieldName)) {
+ Map tags = reader.readMap(reader1 -> reader1.getString());
+ deserializedEnclaveConnectionResourceInner.withTags(tags);
+ } else if ("properties".equals(fieldName)) {
+ deserializedEnclaveConnectionResourceInner.innerProperties
+ = EnclaveConnectionProperties.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedEnclaveConnectionResourceInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedEnclaveConnectionResourceInner;
+ });
+ }
+}
diff --git a/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/models/EnclaveEndpointProperties.java b/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/models/EnclaveEndpointProperties.java
new file mode 100644
index 000000000000..83fc49b93ba2
--- /dev/null
+++ b/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/models/EnclaveEndpointProperties.java
@@ -0,0 +1,157 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mission.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.mission.models.EnclaveEndpointDestinationRule;
+import com.azure.resourcemanager.mission.models.ProvisioningState;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * Enclave Endpoint Resource properties.
+ */
+@Fluent
+public final class EnclaveEndpointProperties implements JsonSerializable {
+ /*
+ * Enclave Endpoint Rule Collection.
+ */
+ private List ruleCollection;
+
+ /*
+ * List of resource ids created by community endpoint.
+ */
+ private List resourceCollection;
+
+ /*
+ * Provisioning State.
+ */
+ private ProvisioningState provisioningState;
+
+ /**
+ * Creates an instance of EnclaveEndpointProperties class.
+ */
+ public EnclaveEndpointProperties() {
+ }
+
+ /**
+ * Get the ruleCollection property: Enclave Endpoint Rule Collection.
+ *
+ * @return the ruleCollection value.
+ */
+ public List ruleCollection() {
+ return this.ruleCollection;
+ }
+
+ /**
+ * Set the ruleCollection property: Enclave Endpoint Rule Collection.
+ *
+ * @param ruleCollection the ruleCollection value to set.
+ * @return the EnclaveEndpointProperties object itself.
+ */
+ public EnclaveEndpointProperties withRuleCollection(List ruleCollection) {
+ this.ruleCollection = ruleCollection;
+ return this;
+ }
+
+ /**
+ * Get the resourceCollection property: List of resource ids created by community endpoint.
+ *
+ * @return the resourceCollection value.
+ */
+ public List resourceCollection() {
+ return this.resourceCollection;
+ }
+
+ /**
+ * Set the resourceCollection property: List of resource ids created by community endpoint.
+ *
+ * @param resourceCollection the resourceCollection value to set.
+ * @return the EnclaveEndpointProperties object itself.
+ */
+ public EnclaveEndpointProperties withResourceCollection(List resourceCollection) {
+ this.resourceCollection = resourceCollection;
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning State.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (ruleCollection() == null) {
+ throw LOGGER.atError()
+ .log(new IllegalArgumentException(
+ "Missing required property ruleCollection in model EnclaveEndpointProperties"));
+ } else {
+ ruleCollection().forEach(e -> e.validate());
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(EnclaveEndpointProperties.class);
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeArrayField("ruleCollection", this.ruleCollection,
+ (writer, element) -> writer.writeJson(element));
+ jsonWriter.writeArrayField("resourceCollection", this.resourceCollection,
+ (writer, element) -> writer.writeString(element));
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of EnclaveEndpointProperties from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of EnclaveEndpointProperties 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 EnclaveEndpointProperties.
+ */
+ public static EnclaveEndpointProperties fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ EnclaveEndpointProperties deserializedEnclaveEndpointProperties = new EnclaveEndpointProperties();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("ruleCollection".equals(fieldName)) {
+ List ruleCollection
+ = reader.readArray(reader1 -> EnclaveEndpointDestinationRule.fromJson(reader1));
+ deserializedEnclaveEndpointProperties.ruleCollection = ruleCollection;
+ } else if ("resourceCollection".equals(fieldName)) {
+ List resourceCollection = reader.readArray(reader1 -> reader1.getString());
+ deserializedEnclaveEndpointProperties.resourceCollection = resourceCollection;
+ } else if ("provisioningState".equals(fieldName)) {
+ deserializedEnclaveEndpointProperties.provisioningState
+ = ProvisioningState.fromString(reader.getString());
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedEnclaveEndpointProperties;
+ });
+ }
+}
diff --git a/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/models/EnclaveEndpointResourceInner.java b/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/models/EnclaveEndpointResourceInner.java
new file mode 100644
index 000000000000..bc371c9c64ac
--- /dev/null
+++ b/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/models/EnclaveEndpointResourceInner.java
@@ -0,0 +1,239 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mission.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.mission.models.EnclaveEndpointDestinationRule;
+import com.azure.resourcemanager.mission.models.ProvisioningState;
+import java.io.IOException;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * EnclaveEndpoint Model Resource.
+ */
+@Fluent
+public final class EnclaveEndpointResourceInner extends Resource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ private EnclaveEndpointProperties innerProperties;
+
+ /*
+ * 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 EnclaveEndpointResourceInner class.
+ */
+ public EnclaveEndpointResourceInner() {
+ }
+
+ /**
+ * Get the innerProperties property: The resource-specific properties for this resource.
+ *
+ * @return the innerProperties value.
+ */
+ private EnclaveEndpointProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * 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 EnclaveEndpointResourceInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public EnclaveEndpointResourceInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Get the ruleCollection property: Enclave Endpoint Rule Collection.
+ *
+ * @return the ruleCollection value.
+ */
+ public List ruleCollection() {
+ return this.innerProperties() == null ? null : this.innerProperties().ruleCollection();
+ }
+
+ /**
+ * Set the ruleCollection property: Enclave Endpoint Rule Collection.
+ *
+ * @param ruleCollection the ruleCollection value to set.
+ * @return the EnclaveEndpointResourceInner object itself.
+ */
+ public EnclaveEndpointResourceInner withRuleCollection(List ruleCollection) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new EnclaveEndpointProperties();
+ }
+ this.innerProperties().withRuleCollection(ruleCollection);
+ return this;
+ }
+
+ /**
+ * Get the resourceCollection property: List of resource ids created by community endpoint.
+ *
+ * @return the resourceCollection value.
+ */
+ public List resourceCollection() {
+ return this.innerProperties() == null ? null : this.innerProperties().resourceCollection();
+ }
+
+ /**
+ * Set the resourceCollection property: List of resource ids created by community endpoint.
+ *
+ * @param resourceCollection the resourceCollection value to set.
+ * @return the EnclaveEndpointResourceInner object itself.
+ */
+ public EnclaveEndpointResourceInner withResourceCollection(List resourceCollection) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new EnclaveEndpointProperties();
+ }
+ this.innerProperties().withResourceCollection(resourceCollection);
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning State.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.innerProperties() == null ? null : this.innerProperties().provisioningState();
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().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.innerProperties);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of EnclaveEndpointResourceInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of EnclaveEndpointResourceInner 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 EnclaveEndpointResourceInner.
+ */
+ public static EnclaveEndpointResourceInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ EnclaveEndpointResourceInner deserializedEnclaveEndpointResourceInner = new EnclaveEndpointResourceInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedEnclaveEndpointResourceInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedEnclaveEndpointResourceInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedEnclaveEndpointResourceInner.type = reader.getString();
+ } else if ("location".equals(fieldName)) {
+ deserializedEnclaveEndpointResourceInner.withLocation(reader.getString());
+ } else if ("tags".equals(fieldName)) {
+ Map tags = reader.readMap(reader1 -> reader1.getString());
+ deserializedEnclaveEndpointResourceInner.withTags(tags);
+ } else if ("properties".equals(fieldName)) {
+ deserializedEnclaveEndpointResourceInner.innerProperties
+ = EnclaveEndpointProperties.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedEnclaveEndpointResourceInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedEnclaveEndpointResourceInner;
+ });
+ }
+}
diff --git a/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/models/EnclaveResourceInner.java b/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/models/EnclaveResourceInner.java
new file mode 100644
index 000000000000..2a22d602b5ad
--- /dev/null
+++ b/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/models/EnclaveResourceInner.java
@@ -0,0 +1,447 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mission.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.mission.models.EnclaveAddressSpaces;
+import com.azure.resourcemanager.mission.models.EnclaveDefaultSettings;
+import com.azure.resourcemanager.mission.models.EnclaveVirtualNetwork;
+import com.azure.resourcemanager.mission.models.MaintenanceModeConfiguration;
+import com.azure.resourcemanager.mission.models.ManagedResourceGroupConfiguration;
+import com.azure.resourcemanager.mission.models.ManagedServiceIdentity;
+import com.azure.resourcemanager.mission.models.ProvisioningState;
+import com.azure.resourcemanager.mission.models.RoleAssignmentItem;
+import java.io.IOException;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Virtual Enclave Model Resource.
+ */
+@Fluent
+public final class EnclaveResourceInner extends Resource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ private VirtualEnclaveProperties innerProperties;
+
+ /*
+ * 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 EnclaveResourceInner class.
+ */
+ public EnclaveResourceInner() {
+ }
+
+ /**
+ * Get the innerProperties property: The resource-specific properties for this resource.
+ *
+ * @return the innerProperties value.
+ */
+ private VirtualEnclaveProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * 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 EnclaveResourceInner object itself.
+ */
+ public EnclaveResourceInner 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 EnclaveResourceInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public EnclaveResourceInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning State.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.innerProperties() == null ? null : this.innerProperties().provisioningState();
+ }
+
+ /**
+ * Get the enclaveVirtualNetwork property: Virtual Network.
+ *
+ * @return the enclaveVirtualNetwork value.
+ */
+ public EnclaveVirtualNetwork enclaveVirtualNetwork() {
+ return this.innerProperties() == null ? null : this.innerProperties().enclaveVirtualNetwork();
+ }
+
+ /**
+ * Set the enclaveVirtualNetwork property: Virtual Network.
+ *
+ * @param enclaveVirtualNetwork the enclaveVirtualNetwork value to set.
+ * @return the EnclaveResourceInner object itself.
+ */
+ public EnclaveResourceInner withEnclaveVirtualNetwork(EnclaveVirtualNetwork enclaveVirtualNetwork) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new VirtualEnclaveProperties();
+ }
+ this.innerProperties().withEnclaveVirtualNetwork(enclaveVirtualNetwork);
+ return this;
+ }
+
+ /**
+ * Get the enclaveAddressSpaces property: Enclave Address Spaces.
+ *
+ * @return the enclaveAddressSpaces value.
+ */
+ public EnclaveAddressSpaces enclaveAddressSpaces() {
+ return this.innerProperties() == null ? null : this.innerProperties().enclaveAddressSpaces();
+ }
+
+ /**
+ * Get the communityResourceId property: Community Resource Id.
+ *
+ * @return the communityResourceId value.
+ */
+ public String communityResourceId() {
+ return this.innerProperties() == null ? null : this.innerProperties().communityResourceId();
+ }
+
+ /**
+ * Set the communityResourceId property: Community Resource Id.
+ *
+ * @param communityResourceId the communityResourceId value to set.
+ * @return the EnclaveResourceInner object itself.
+ */
+ public EnclaveResourceInner withCommunityResourceId(String communityResourceId) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new VirtualEnclaveProperties();
+ }
+ this.innerProperties().withCommunityResourceId(communityResourceId);
+ return this;
+ }
+
+ /**
+ * Get the enclaveDefaultSettings property: Default Settings.
+ *
+ * @return the enclaveDefaultSettings value.
+ */
+ public EnclaveDefaultSettings enclaveDefaultSettings() {
+ return this.innerProperties() == null ? null : this.innerProperties().enclaveDefaultSettings();
+ }
+
+ /**
+ * Set the enclaveDefaultSettings property: Default Settings.
+ *
+ * @param enclaveDefaultSettings the enclaveDefaultSettings value to set.
+ * @return the EnclaveResourceInner object itself.
+ */
+ public EnclaveResourceInner withEnclaveDefaultSettings(EnclaveDefaultSettings enclaveDefaultSettings) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new VirtualEnclaveProperties();
+ }
+ this.innerProperties().withEnclaveDefaultSettings(enclaveDefaultSettings);
+ return this;
+ }
+
+ /**
+ * Get the resourceCollection property: List of resource ids created by Virtual Enclave.
+ *
+ * @return the resourceCollection value.
+ */
+ public List resourceCollection() {
+ return this.innerProperties() == null ? null : this.innerProperties().resourceCollection();
+ }
+
+ /**
+ * Set the resourceCollection property: List of resource ids created by Virtual Enclave.
+ *
+ * @param resourceCollection the resourceCollection value to set.
+ * @return the EnclaveResourceInner object itself.
+ */
+ public EnclaveResourceInner withResourceCollection(List resourceCollection) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new VirtualEnclaveProperties();
+ }
+ this.innerProperties().withResourceCollection(resourceCollection);
+ return this;
+ }
+
+ /**
+ * Get the managedResourceGroupConfiguration property: Managed resource group configuration.
+ *
+ * @return the managedResourceGroupConfiguration value.
+ */
+ public ManagedResourceGroupConfiguration managedResourceGroupConfiguration() {
+ return this.innerProperties() == null ? null : this.innerProperties().managedResourceGroupConfiguration();
+ }
+
+ /**
+ * Set the managedResourceGroupConfiguration property: Managed resource group configuration.
+ *
+ * @param managedResourceGroupConfiguration the managedResourceGroupConfiguration value to set.
+ * @return the EnclaveResourceInner object itself.
+ */
+ public EnclaveResourceInner
+ withManagedResourceGroupConfiguration(ManagedResourceGroupConfiguration managedResourceGroupConfiguration) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new VirtualEnclaveProperties();
+ }
+ this.innerProperties().withManagedResourceGroupConfiguration(managedResourceGroupConfiguration);
+ return this;
+ }
+
+ /**
+ * Get the maintenanceModeConfiguration property: Maintenance Mode configuration.
+ *
+ * @return the maintenanceModeConfiguration value.
+ */
+ public MaintenanceModeConfiguration maintenanceModeConfiguration() {
+ return this.innerProperties() == null ? null : this.innerProperties().maintenanceModeConfiguration();
+ }
+
+ /**
+ * Set the maintenanceModeConfiguration property: Maintenance Mode configuration.
+ *
+ * @param maintenanceModeConfiguration the maintenanceModeConfiguration value to set.
+ * @return the EnclaveResourceInner object itself.
+ */
+ public EnclaveResourceInner
+ withMaintenanceModeConfiguration(MaintenanceModeConfiguration maintenanceModeConfiguration) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new VirtualEnclaveProperties();
+ }
+ this.innerProperties().withMaintenanceModeConfiguration(maintenanceModeConfiguration);
+ return this;
+ }
+
+ /**
+ * Get the bastionEnabled property: Deploy Bastion service (True or False).
+ *
+ * @return the bastionEnabled value.
+ */
+ public Boolean bastionEnabled() {
+ return this.innerProperties() == null ? null : this.innerProperties().bastionEnabled();
+ }
+
+ /**
+ * Set the bastionEnabled property: Deploy Bastion service (True or False).
+ *
+ * @param bastionEnabled the bastionEnabled value to set.
+ * @return the EnclaveResourceInner object itself.
+ */
+ public EnclaveResourceInner withBastionEnabled(Boolean bastionEnabled) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new VirtualEnclaveProperties();
+ }
+ this.innerProperties().withBastionEnabled(bastionEnabled);
+ return this;
+ }
+
+ /**
+ * Get the enclaveRoleAssignments property: Enclave role assignments.
+ *
+ * @return the enclaveRoleAssignments value.
+ */
+ public List enclaveRoleAssignments() {
+ return this.innerProperties() == null ? null : this.innerProperties().enclaveRoleAssignments();
+ }
+
+ /**
+ * Set the enclaveRoleAssignments property: Enclave role assignments.
+ *
+ * @param enclaveRoleAssignments the enclaveRoleAssignments value to set.
+ * @return the EnclaveResourceInner object itself.
+ */
+ public EnclaveResourceInner withEnclaveRoleAssignments(List enclaveRoleAssignments) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new VirtualEnclaveProperties();
+ }
+ this.innerProperties().withEnclaveRoleAssignments(enclaveRoleAssignments);
+ return this;
+ }
+
+ /**
+ * Get the workloadRoleAssignments property: Workload role assignments.
+ *
+ * @return the workloadRoleAssignments value.
+ */
+ public List workloadRoleAssignments() {
+ return this.innerProperties() == null ? null : this.innerProperties().workloadRoleAssignments();
+ }
+
+ /**
+ * Set the workloadRoleAssignments property: Workload role assignments.
+ *
+ * @param workloadRoleAssignments the workloadRoleAssignments value to set.
+ * @return the EnclaveResourceInner object itself.
+ */
+ public EnclaveResourceInner withWorkloadRoleAssignments(List workloadRoleAssignments) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new VirtualEnclaveProperties();
+ }
+ this.innerProperties().withWorkloadRoleAssignments(workloadRoleAssignments);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().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.innerProperties);
+ jsonWriter.writeJsonField("identity", this.identity);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of EnclaveResourceInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of EnclaveResourceInner 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 EnclaveResourceInner.
+ */
+ public static EnclaveResourceInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ EnclaveResourceInner deserializedEnclaveResourceInner = new EnclaveResourceInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedEnclaveResourceInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedEnclaveResourceInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedEnclaveResourceInner.type = reader.getString();
+ } else if ("location".equals(fieldName)) {
+ deserializedEnclaveResourceInner.withLocation(reader.getString());
+ } else if ("tags".equals(fieldName)) {
+ Map tags = reader.readMap(reader1 -> reader1.getString());
+ deserializedEnclaveResourceInner.withTags(tags);
+ } else if ("properties".equals(fieldName)) {
+ deserializedEnclaveResourceInner.innerProperties = VirtualEnclaveProperties.fromJson(reader);
+ } else if ("identity".equals(fieldName)) {
+ deserializedEnclaveResourceInner.identity = ManagedServiceIdentity.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedEnclaveResourceInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedEnclaveResourceInner;
+ });
+ }
+}
diff --git a/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/models/InitiatorCallbackResponseInner.java b/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/models/InitiatorCallbackResponseInner.java
new file mode 100644
index 000000000000..db48b1a691fe
--- /dev/null
+++ b/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/models/InitiatorCallbackResponseInner.java
@@ -0,0 +1,103 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mission.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;
+
+/**
+ * Response body after handling of approvalCallbackRequest.
+ */
+@Fluent
+public final class InitiatorCallbackResponseInner implements JsonSerializable {
+ /*
+ * Confirmation message indicating the result of the operation.
+ */
+ private String message;
+
+ /**
+ * Creates an instance of InitiatorCallbackResponseInner class.
+ */
+ public InitiatorCallbackResponseInner() {
+ }
+
+ /**
+ * Get the message property: Confirmation message indicating the result of the operation.
+ *
+ * @return the message value.
+ */
+ public String message() {
+ return this.message;
+ }
+
+ /**
+ * Set the message property: Confirmation message indicating the result of the operation.
+ *
+ * @param message the message value to set.
+ * @return the InitiatorCallbackResponseInner object itself.
+ */
+ public InitiatorCallbackResponseInner withMessage(String message) {
+ this.message = message;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (message() == null) {
+ throw LOGGER.atError()
+ .log(new IllegalArgumentException(
+ "Missing required property message in model InitiatorCallbackResponseInner"));
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(InitiatorCallbackResponseInner.class);
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("message", this.message);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of InitiatorCallbackResponseInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of InitiatorCallbackResponseInner 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 InitiatorCallbackResponseInner.
+ */
+ public static InitiatorCallbackResponseInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ InitiatorCallbackResponseInner deserializedInitiatorCallbackResponseInner
+ = new InitiatorCallbackResponseInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("message".equals(fieldName)) {
+ deserializedInitiatorCallbackResponseInner.message = reader.getString();
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedInitiatorCallbackResponseInner;
+ });
+ }
+}
diff --git a/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/models/OperationInner.java b/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/models/OperationInner.java
new file mode 100644
index 000000000000..316b7ee31c4a
--- /dev/null
+++ b/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/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.mission.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.mission.models.ActionType;
+import com.azure.resourcemanager.mission.models.OperationDisplay;
+import com.azure.resourcemanager.mission.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/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/models/TransitHubProperties.java b/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/models/TransitHubProperties.java
new file mode 100644
index 000000000000..5aea7db04ada
--- /dev/null
+++ b/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/models/TransitHubProperties.java
@@ -0,0 +1,175 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mission.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.mission.models.ProvisioningState;
+import com.azure.resourcemanager.mission.models.TransitHubState;
+import com.azure.resourcemanager.mission.models.TransitOption;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * Describes the properties of an Transit Hub.
+ */
+@Fluent
+public final class TransitHubProperties implements JsonSerializable {
+ /*
+ * The status of the last operation.
+ */
+ private ProvisioningState provisioningState;
+
+ /*
+ * The state of the transitHub.
+ */
+ private TransitHubState state;
+
+ /*
+ * The TransitOption of the transitHub.
+ */
+ private TransitOption transitOption;
+
+ /*
+ * List of resource ids modified by transitHubs.
+ */
+ private List resourceCollection;
+
+ /**
+ * Creates an instance of TransitHubProperties class.
+ */
+ public TransitHubProperties() {
+ }
+
+ /**
+ * Get the provisioningState property: The status of the last operation.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the state property: The state of the transitHub.
+ *
+ * @return the state value.
+ */
+ public TransitHubState state() {
+ return this.state;
+ }
+
+ /**
+ * Set the state property: The state of the transitHub.
+ *
+ * @param state the state value to set.
+ * @return the TransitHubProperties object itself.
+ */
+ public TransitHubProperties withState(TransitHubState state) {
+ this.state = state;
+ return this;
+ }
+
+ /**
+ * Get the transitOption property: The TransitOption of the transitHub.
+ *
+ * @return the transitOption value.
+ */
+ public TransitOption transitOption() {
+ return this.transitOption;
+ }
+
+ /**
+ * Set the transitOption property: The TransitOption of the transitHub.
+ *
+ * @param transitOption the transitOption value to set.
+ * @return the TransitHubProperties object itself.
+ */
+ public TransitHubProperties withTransitOption(TransitOption transitOption) {
+ this.transitOption = transitOption;
+ return this;
+ }
+
+ /**
+ * Get the resourceCollection property: List of resource ids modified by transitHubs.
+ *
+ * @return the resourceCollection value.
+ */
+ public List resourceCollection() {
+ return this.resourceCollection;
+ }
+
+ /**
+ * Set the resourceCollection property: List of resource ids modified by transitHubs.
+ *
+ * @param resourceCollection the resourceCollection value to set.
+ * @return the TransitHubProperties object itself.
+ */
+ public TransitHubProperties withResourceCollection(List resourceCollection) {
+ this.resourceCollection = resourceCollection;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (transitOption() != null) {
+ transitOption().validate();
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("state", this.state == null ? null : this.state.toString());
+ jsonWriter.writeJsonField("transitOption", this.transitOption);
+ jsonWriter.writeArrayField("resourceCollection", this.resourceCollection,
+ (writer, element) -> writer.writeString(element));
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of TransitHubProperties from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of TransitHubProperties 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 TransitHubProperties.
+ */
+ public static TransitHubProperties fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ TransitHubProperties deserializedTransitHubProperties = new TransitHubProperties();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("provisioningState".equals(fieldName)) {
+ deserializedTransitHubProperties.provisioningState
+ = ProvisioningState.fromString(reader.getString());
+ } else if ("state".equals(fieldName)) {
+ deserializedTransitHubProperties.state = TransitHubState.fromString(reader.getString());
+ } else if ("transitOption".equals(fieldName)) {
+ deserializedTransitHubProperties.transitOption = TransitOption.fromJson(reader);
+ } else if ("resourceCollection".equals(fieldName)) {
+ List resourceCollection = reader.readArray(reader1 -> reader1.getString());
+ deserializedTransitHubProperties.resourceCollection = resourceCollection;
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedTransitHubProperties;
+ });
+ }
+}
diff --git a/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/models/TransitHubResourceInner.java b/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/models/TransitHubResourceInner.java
new file mode 100644
index 000000000000..f57dc64de004
--- /dev/null
+++ b/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/models/TransitHubResourceInner.java
@@ -0,0 +1,262 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mission.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.mission.models.ProvisioningState;
+import com.azure.resourcemanager.mission.models.TransitHubState;
+import com.azure.resourcemanager.mission.models.TransitOption;
+import java.io.IOException;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * TransitHub Model Resource.
+ */
+@Fluent
+public final class TransitHubResourceInner extends Resource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ private TransitHubProperties innerProperties;
+
+ /*
+ * 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 TransitHubResourceInner class.
+ */
+ public TransitHubResourceInner() {
+ }
+
+ /**
+ * Get the innerProperties property: The resource-specific properties for this resource.
+ *
+ * @return the innerProperties value.
+ */
+ private TransitHubProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * 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 TransitHubResourceInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public TransitHubResourceInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: The status of the last operation.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.innerProperties() == null ? null : this.innerProperties().provisioningState();
+ }
+
+ /**
+ * Get the state property: The state of the transitHub.
+ *
+ * @return the state value.
+ */
+ public TransitHubState state() {
+ return this.innerProperties() == null ? null : this.innerProperties().state();
+ }
+
+ /**
+ * Set the state property: The state of the transitHub.
+ *
+ * @param state the state value to set.
+ * @return the TransitHubResourceInner object itself.
+ */
+ public TransitHubResourceInner withState(TransitHubState state) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new TransitHubProperties();
+ }
+ this.innerProperties().withState(state);
+ return this;
+ }
+
+ /**
+ * Get the transitOption property: The TransitOption of the transitHub.
+ *
+ * @return the transitOption value.
+ */
+ public TransitOption transitOption() {
+ return this.innerProperties() == null ? null : this.innerProperties().transitOption();
+ }
+
+ /**
+ * Set the transitOption property: The TransitOption of the transitHub.
+ *
+ * @param transitOption the transitOption value to set.
+ * @return the TransitHubResourceInner object itself.
+ */
+ public TransitHubResourceInner withTransitOption(TransitOption transitOption) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new TransitHubProperties();
+ }
+ this.innerProperties().withTransitOption(transitOption);
+ return this;
+ }
+
+ /**
+ * Get the resourceCollection property: List of resource ids modified by transitHubs.
+ *
+ * @return the resourceCollection value.
+ */
+ public List resourceCollection() {
+ return this.innerProperties() == null ? null : this.innerProperties().resourceCollection();
+ }
+
+ /**
+ * Set the resourceCollection property: List of resource ids modified by transitHubs.
+ *
+ * @param resourceCollection the resourceCollection value to set.
+ * @return the TransitHubResourceInner object itself.
+ */
+ public TransitHubResourceInner withResourceCollection(List resourceCollection) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new TransitHubProperties();
+ }
+ this.innerProperties().withResourceCollection(resourceCollection);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().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.innerProperties);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of TransitHubResourceInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of TransitHubResourceInner 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 TransitHubResourceInner.
+ */
+ public static TransitHubResourceInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ TransitHubResourceInner deserializedTransitHubResourceInner = new TransitHubResourceInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedTransitHubResourceInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedTransitHubResourceInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedTransitHubResourceInner.type = reader.getString();
+ } else if ("location".equals(fieldName)) {
+ deserializedTransitHubResourceInner.withLocation(reader.getString());
+ } else if ("tags".equals(fieldName)) {
+ Map tags = reader.readMap(reader1 -> reader1.getString());
+ deserializedTransitHubResourceInner.withTags(tags);
+ } else if ("properties".equals(fieldName)) {
+ deserializedTransitHubResourceInner.innerProperties = TransitHubProperties.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedTransitHubResourceInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedTransitHubResourceInner;
+ });
+ }
+}
diff --git a/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/models/VirtualEnclaveProperties.java b/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/models/VirtualEnclaveProperties.java
new file mode 100644
index 000000000000..5622f2bb112f
--- /dev/null
+++ b/sdk/mission/azure-resourcemanager-mission/src/main/java/com/azure/resourcemanager/mission/fluent/models/VirtualEnclaveProperties.java
@@ -0,0 +1,405 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mission.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.mission.models.EnclaveAddressSpaces;
+import com.azure.resourcemanager.mission.models.EnclaveDefaultSettings;
+import com.azure.resourcemanager.mission.models.EnclaveVirtualNetwork;
+import com.azure.resourcemanager.mission.models.MaintenanceModeConfiguration;
+import com.azure.resourcemanager.mission.models.ManagedResourceGroupConfiguration;
+import com.azure.resourcemanager.mission.models.ProvisioningState;
+import com.azure.resourcemanager.mission.models.RoleAssignmentItem;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * Virtual Enclave Resource properties.
+ */
+@Fluent
+public final class VirtualEnclaveProperties implements JsonSerializable {
+ /*
+ * Provisioning State.
+ */
+ private ProvisioningState provisioningState;
+
+ /*
+ * Virtual Network.
+ */
+ private EnclaveVirtualNetwork enclaveVirtualNetwork;
+
+ /*
+ * Enclave Address Spaces
+ */
+ private EnclaveAddressSpaces enclaveAddressSpaces;
+
+ /*
+ * Community Resource Id.
+ */
+ private String communityResourceId;
+
+ /*
+ * Default Settings
+ */
+ private EnclaveDefaultSettings enclaveDefaultSettings;
+
+ /*
+ * List of resource ids created by Virtual Enclave.
+ */
+ private List resourceCollection;
+
+ /*
+ * Managed resource group configuration.
+ */
+ private ManagedResourceGroupConfiguration managedResourceGroupConfiguration;
+
+ /*
+ * Maintenance Mode configuration.
+ */
+ private MaintenanceModeConfiguration maintenanceModeConfiguration;
+
+ /*
+ * Deploy Bastion service (True or False).
+ */
+ private Boolean bastionEnabled;
+
+ /*
+ * Enclave role assignments
+ */
+ private List enclaveRoleAssignments;
+
+ /*
+ * Workload role assignments
+ */
+ private List workloadRoleAssignments;
+
+ /**
+ * Creates an instance of VirtualEnclaveProperties class.
+ */
+ public VirtualEnclaveProperties() {
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning State.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the enclaveVirtualNetwork property: Virtual Network.
+ *
+ * @return the enclaveVirtualNetwork value.
+ */
+ public EnclaveVirtualNetwork enclaveVirtualNetwork() {
+ return this.enclaveVirtualNetwork;
+ }
+
+ /**
+ * Set the enclaveVirtualNetwork property: Virtual Network.
+ *
+ * @param enclaveVirtualNetwork the enclaveVirtualNetwork value to set.
+ * @return the VirtualEnclaveProperties object itself.
+ */
+ public VirtualEnclaveProperties withEnclaveVirtualNetwork(EnclaveVirtualNetwork enclaveVirtualNetwork) {
+ this.enclaveVirtualNetwork = enclaveVirtualNetwork;
+ return this;
+ }
+
+ /**
+ * Get the enclaveAddressSpaces property: Enclave Address Spaces.
+ *
+ * @return the enclaveAddressSpaces value.
+ */
+ public EnclaveAddressSpaces enclaveAddressSpaces() {
+ return this.enclaveAddressSpaces;
+ }
+
+ /**
+ * Get the communityResourceId property: Community Resource Id.
+ *
+ * @return the communityResourceId value.
+ */
+ public String communityResourceId() {
+ return this.communityResourceId;
+ }
+
+ /**
+ * Set the communityResourceId property: Community Resource Id.
+ *
+ * @param communityResourceId the communityResourceId value to set.
+ * @return the VirtualEnclaveProperties object itself.
+ */
+ public VirtualEnclaveProperties withCommunityResourceId(String communityResourceId) {
+ this.communityResourceId = communityResourceId;
+ return this;
+ }
+
+ /**
+ * Get the enclaveDefaultSettings property: Default Settings.
+ *
+ * @return the enclaveDefaultSettings value.
+ */
+ public EnclaveDefaultSettings enclaveDefaultSettings() {
+ return this.enclaveDefaultSettings;
+ }
+
+ /**
+ * Set the enclaveDefaultSettings property: Default Settings.
+ *
+ * @param enclaveDefaultSettings the enclaveDefaultSettings value to set.
+ * @return the VirtualEnclaveProperties object itself.
+ */
+ public VirtualEnclaveProperties withEnclaveDefaultSettings(EnclaveDefaultSettings enclaveDefaultSettings) {
+ this.enclaveDefaultSettings = enclaveDefaultSettings;
+ return this;
+ }
+
+ /**
+ * Get the resourceCollection property: List of resource ids created by Virtual Enclave.
+ *
+ * @return the resourceCollection value.
+ */
+ public List resourceCollection() {
+ return this.resourceCollection;
+ }
+
+ /**
+ * Set the resourceCollection property: List of resource ids created by Virtual Enclave.
+ *
+ * @param resourceCollection the resourceCollection value to set.
+ * @return the VirtualEnclaveProperties object itself.
+ */
+ public VirtualEnclaveProperties withResourceCollection(List