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 ContainerRegistry service API entry point.
+ *
+ * @param credential the credential to use.
+ * @param profile the Azure profile for client.
+ * @return the ContainerRegistry service API instance.
+ */
+ public ContainerRegistryManager 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.containerregistry.generated")
+ .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 ContainerRegistryManager(httpPipeline, profile, defaultPollInterval);
+ }
+ }
+
+ /**
+ * Gets the resource collection API of CacheRules. It manages CacheRule.
+ *
+ * @return Resource collection API of CacheRules.
+ */
+ public CacheRules cacheRules() {
+ if (this.cacheRules == null) {
+ this.cacheRules = new CacheRulesImpl(clientObject.getCacheRules(), this);
+ }
+ return cacheRules;
+ }
+
+ /**
+ * Gets the resource collection API of ConnectedRegistries. It manages ConnectedRegistry.
+ *
+ * @return Resource collection API of ConnectedRegistries.
+ */
+ public ConnectedRegistries connectedRegistries() {
+ if (this.connectedRegistries == null) {
+ this.connectedRegistries = new ConnectedRegistriesImpl(clientObject.getConnectedRegistries(), this);
+ }
+ return connectedRegistries;
+ }
+
+ /**
+ * Gets the resource collection API of CredentialSets. It manages CredentialSet.
+ *
+ * @return Resource collection API of CredentialSets.
+ */
+ public CredentialSets credentialSets() {
+ if (this.credentialSets == null) {
+ this.credentialSets = new CredentialSetsImpl(clientObject.getCredentialSets(), this);
+ }
+ return credentialSets;
+ }
+
+ /**
+ * Gets the resource collection API of Registries. It manages Registry.
+ *
+ * @return Resource collection API of Registries.
+ */
+ public Registries registries() {
+ if (this.registries == null) {
+ this.registries = new RegistriesImpl(clientObject.getRegistries(), this);
+ }
+ return registries;
+ }
+
+ /**
+ * 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 PrivateEndpointConnections. It manages PrivateEndpointConnection.
+ *
+ * @return Resource collection API of PrivateEndpointConnections.
+ */
+ public PrivateEndpointConnections privateEndpointConnections() {
+ if (this.privateEndpointConnections == null) {
+ this.privateEndpointConnections
+ = new PrivateEndpointConnectionsImpl(clientObject.getPrivateEndpointConnections(), this);
+ }
+ return privateEndpointConnections;
+ }
+
+ /**
+ * Gets the resource collection API of Replications. It manages Replication.
+ *
+ * @return Resource collection API of Replications.
+ */
+ public Replications replications() {
+ if (this.replications == null) {
+ this.replications = new ReplicationsImpl(clientObject.getReplications(), this);
+ }
+ return replications;
+ }
+
+ /**
+ * Gets the resource collection API of ScopeMaps. It manages ScopeMap.
+ *
+ * @return Resource collection API of ScopeMaps.
+ */
+ public ScopeMaps scopeMaps() {
+ if (this.scopeMaps == null) {
+ this.scopeMaps = new ScopeMapsImpl(clientObject.getScopeMaps(), this);
+ }
+ return scopeMaps;
+ }
+
+ /**
+ * Gets the resource collection API of Tokens. It manages Token.
+ *
+ * @return Resource collection API of Tokens.
+ */
+ public Tokens tokens() {
+ if (this.tokens == null) {
+ this.tokens = new TokensImpl(clientObject.getTokens(), this);
+ }
+ return tokens;
+ }
+
+ /**
+ * Gets the resource collection API of Webhooks. It manages Webhook.
+ *
+ * @return Resource collection API of Webhooks.
+ */
+ public Webhooks webhooks() {
+ if (this.webhooks == null) {
+ this.webhooks = new WebhooksImpl(clientObject.getWebhooks(), this);
+ }
+ return webhooks;
+ }
+
+ /**
+ * Gets the resource collection API of AgentPools. It manages AgentPool.
+ *
+ * @return Resource collection API of AgentPools.
+ */
+ public AgentPools agentPools() {
+ if (this.agentPools == null) {
+ this.agentPools = new AgentPoolsImpl(clientObject.getAgentPools(), this);
+ }
+ return agentPools;
+ }
+
+ /**
+ * Gets the resource collection API of Runs.
+ *
+ * @return Resource collection API of Runs.
+ */
+ public Runs runs() {
+ if (this.runs == null) {
+ this.runs = new RunsImpl(clientObject.getRuns(), this);
+ }
+ return runs;
+ }
+
+ /**
+ * Gets the resource collection API of TaskRuns. It manages TaskRun.
+ *
+ * @return Resource collection API of TaskRuns.
+ */
+ public TaskRuns taskRuns() {
+ if (this.taskRuns == null) {
+ this.taskRuns = new TaskRunsImpl(clientObject.getTaskRuns(), this);
+ }
+ return taskRuns;
+ }
+
+ /**
+ * Gets the resource collection API of Tasks. It manages Task.
+ *
+ * @return Resource collection API of Tasks.
+ */
+ public Tasks tasks() {
+ if (this.tasks == null) {
+ this.tasks = new TasksImpl(clientObject.getTasks(), this);
+ }
+ return tasks;
+ }
+
+ /**
+ * Gets wrapped service client ContainerRegistryManagementClient providing direct access to the underlying
+ * auto-generated API implementation, based on Azure REST API.
+ *
+ * @return Wrapped service client ContainerRegistryManagementClient.
+ */
+ public ContainerRegistryManagementClient serviceClient() {
+ return this.clientObject;
+ }
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/AgentPoolsClient.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/AgentPoolsClient.java
new file mode 100644
index 000000000000..9b8901a9c1af
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/AgentPoolsClient.java
@@ -0,0 +1,297 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerregistry.generated.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.containerregistry.generated.fluent.models.AgentPoolInner;
+import com.azure.resourcemanager.containerregistry.generated.fluent.models.AgentPoolQueueStatusInner;
+import com.azure.resourcemanager.containerregistry.generated.models.AgentPoolUpdateParameters;
+
+/**
+ * An instance of this class provides access to all the operations defined in AgentPoolsClient.
+ */
+public interface AgentPoolsClient {
+ /**
+ * Gets the detailed information for a given agent pool.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param agentPoolName The name of the agent pool.
+ * @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 detailed information for a given agent pool along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String registryName, String agentPoolName,
+ Context context);
+
+ /**
+ * Gets the detailed information for a given agent pool.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param agentPoolName The name of the agent pool.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the detailed information for a given agent pool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AgentPoolInner get(String resourceGroupName, String registryName, String agentPoolName);
+
+ /**
+ * Creates an agent pool for a container registry with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param agentPoolName The name of the agent pool.
+ * @param agentPool The parameters of an agent pool that needs to scheduled.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the agentpool that has the ARM resource and properties.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, AgentPoolInner> beginCreate(String resourceGroupName, String registryName,
+ String agentPoolName, AgentPoolInner agentPool);
+
+ /**
+ * Creates an agent pool for a container registry with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param agentPoolName The name of the agent pool.
+ * @param agentPool The parameters of an agent pool that needs to scheduled.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the agentpool that has the ARM resource and properties.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, AgentPoolInner> beginCreate(String resourceGroupName, String registryName,
+ String agentPoolName, AgentPoolInner agentPool, Context context);
+
+ /**
+ * Creates an agent pool for a container registry with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param agentPoolName The name of the agent pool.
+ * @param agentPool The parameters of an agent pool that needs to scheduled.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the agentpool that has the ARM resource and properties.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AgentPoolInner create(String resourceGroupName, String registryName, String agentPoolName,
+ AgentPoolInner agentPool);
+
+ /**
+ * Creates an agent pool for a container registry with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param agentPoolName The name of the agent pool.
+ * @param agentPool The parameters of an agent pool that needs to scheduled.
+ * @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 agentpool that has the ARM resource and properties.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AgentPoolInner create(String resourceGroupName, String registryName, String agentPoolName, AgentPoolInner agentPool,
+ Context context);
+
+ /**
+ * Deletes a specified agent pool resource.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param agentPoolName The name of the agent pool.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 registryName, String agentPoolName);
+
+ /**
+ * Deletes a specified agent pool resource.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param agentPoolName The name of the agent pool.
+ * @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 registryName, String agentPoolName,
+ Context context);
+
+ /**
+ * Deletes a specified agent pool resource.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param agentPoolName The name of the agent pool.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 registryName, String agentPoolName);
+
+ /**
+ * Deletes a specified agent pool resource.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param agentPoolName The name of the agent pool.
+ * @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 registryName, String agentPoolName, Context context);
+
+ /**
+ * Updates an agent pool with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param agentPoolName The name of the agent pool.
+ * @param updateParameters The parameters for updating an agent pool.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the agentpool that has the ARM resource and properties.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, AgentPoolInner> beginUpdate(String resourceGroupName, String registryName,
+ String agentPoolName, AgentPoolUpdateParameters updateParameters);
+
+ /**
+ * Updates an agent pool with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param agentPoolName The name of the agent pool.
+ * @param updateParameters The parameters for updating an agent pool.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the agentpool that has the ARM resource and properties.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, AgentPoolInner> beginUpdate(String resourceGroupName, String registryName,
+ String agentPoolName, AgentPoolUpdateParameters updateParameters, Context context);
+
+ /**
+ * Updates an agent pool with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param agentPoolName The name of the agent pool.
+ * @param updateParameters The parameters for updating an agent pool.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the agentpool that has the ARM resource and properties.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AgentPoolInner update(String resourceGroupName, String registryName, String agentPoolName,
+ AgentPoolUpdateParameters updateParameters);
+
+ /**
+ * Updates an agent pool with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param agentPoolName The name of the agent pool.
+ * @param updateParameters The parameters for updating an agent pool.
+ * @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 agentpool that has the ARM resource and properties.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AgentPoolInner update(String resourceGroupName, String registryName, String agentPoolName,
+ AgentPoolUpdateParameters updateParameters, Context context);
+
+ /**
+ * Lists all the agent pools for a specified container registry.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the collection of agent pools as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String registryName);
+
+ /**
+ * Lists all the agent pools for a specified container registry.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @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 collection of agent pools as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String registryName, Context context);
+
+ /**
+ * Gets the count of queued runs for a given agent pool.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param agentPoolName The name of the agent pool.
+ * @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 count of queued runs for a given agent pool along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getQueueStatusWithResponse(String resourceGroupName, String registryName,
+ String agentPoolName, Context context);
+
+ /**
+ * Gets the count of queued runs for a given agent pool.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param agentPoolName The name of the agent pool.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the count of queued runs for a given agent pool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AgentPoolQueueStatusInner getQueueStatus(String resourceGroupName, String registryName, String agentPoolName);
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/CacheRulesClient.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/CacheRulesClient.java
new file mode 100644
index 000000000000..38247cfa553e
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/CacheRulesClient.java
@@ -0,0 +1,268 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerregistry.generated.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.containerregistry.generated.fluent.models.CacheRuleInner;
+import com.azure.resourcemanager.containerregistry.generated.models.CacheRuleUpdateParameters;
+
+/**
+ * An instance of this class provides access to all the operations defined in CacheRulesClient.
+ */
+public interface CacheRulesClient {
+ /**
+ * Lists all cache rule resources for the specified container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the result of a request to list cache rules for a container registry as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String registryName);
+
+ /**
+ * Lists all cache rule resources for the specified container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @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 result of a request to list cache rules for a container registry as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String registryName, Context context);
+
+ /**
+ * Gets the properties of the specified cache rule resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param cacheRuleName The name of the cache rule.
+ * @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 properties of the specified cache rule resource along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String registryName, String cacheRuleName,
+ Context context);
+
+ /**
+ * Gets the properties of the specified cache rule resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param cacheRuleName The name of the cache rule.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the properties of the specified cache rule resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CacheRuleInner get(String resourceGroupName, String registryName, String cacheRuleName);
+
+ /**
+ * Creates a cache rule for a container registry with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param cacheRuleName The name of the cache rule.
+ * @param cacheRuleCreateParameters The parameters for creating a cache rule.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 an object that represents a cache rule for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CacheRuleInner> beginCreate(String resourceGroupName, String registryName,
+ String cacheRuleName, CacheRuleInner cacheRuleCreateParameters);
+
+ /**
+ * Creates a cache rule for a container registry with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param cacheRuleName The name of the cache rule.
+ * @param cacheRuleCreateParameters The parameters for creating a cache rule.
+ * @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 an object that represents a cache rule for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CacheRuleInner> beginCreate(String resourceGroupName, String registryName,
+ String cacheRuleName, CacheRuleInner cacheRuleCreateParameters, Context context);
+
+ /**
+ * Creates a cache rule for a container registry with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param cacheRuleName The name of the cache rule.
+ * @param cacheRuleCreateParameters The parameters for creating a cache rule.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an object that represents a cache rule for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CacheRuleInner create(String resourceGroupName, String registryName, String cacheRuleName,
+ CacheRuleInner cacheRuleCreateParameters);
+
+ /**
+ * Creates a cache rule for a container registry with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param cacheRuleName The name of the cache rule.
+ * @param cacheRuleCreateParameters The parameters for creating a cache rule.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an object that represents a cache rule for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CacheRuleInner create(String resourceGroupName, String registryName, String cacheRuleName,
+ CacheRuleInner cacheRuleCreateParameters, Context context);
+
+ /**
+ * Deletes a cache rule resource from a container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param cacheRuleName The name of the cache rule.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 registryName, String cacheRuleName);
+
+ /**
+ * Deletes a cache rule resource from a container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param cacheRuleName The name of the cache rule.
+ * @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 registryName, String cacheRuleName,
+ Context context);
+
+ /**
+ * Deletes a cache rule resource from a container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param cacheRuleName The name of the cache rule.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 registryName, String cacheRuleName);
+
+ /**
+ * Deletes a cache rule resource from a container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param cacheRuleName The name of the cache rule.
+ * @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 registryName, String cacheRuleName, Context context);
+
+ /**
+ * Updates a cache rule for a container registry with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param cacheRuleName The name of the cache rule.
+ * @param cacheRuleUpdateParameters The parameters for updating a cache rule.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 an object that represents a cache rule for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CacheRuleInner> beginUpdate(String resourceGroupName, String registryName,
+ String cacheRuleName, CacheRuleUpdateParameters cacheRuleUpdateParameters);
+
+ /**
+ * Updates a cache rule for a container registry with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param cacheRuleName The name of the cache rule.
+ * @param cacheRuleUpdateParameters The parameters for updating a cache rule.
+ * @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 an object that represents a cache rule for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CacheRuleInner> beginUpdate(String resourceGroupName, String registryName,
+ String cacheRuleName, CacheRuleUpdateParameters cacheRuleUpdateParameters, Context context);
+
+ /**
+ * Updates a cache rule for a container registry with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param cacheRuleName The name of the cache rule.
+ * @param cacheRuleUpdateParameters The parameters for updating a cache rule.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an object that represents a cache rule for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CacheRuleInner update(String resourceGroupName, String registryName, String cacheRuleName,
+ CacheRuleUpdateParameters cacheRuleUpdateParameters);
+
+ /**
+ * Updates a cache rule for a container registry with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param cacheRuleName The name of the cache rule.
+ * @param cacheRuleUpdateParameters The parameters for updating a cache rule.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an object that represents a cache rule for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CacheRuleInner update(String resourceGroupName, String registryName, String cacheRuleName,
+ CacheRuleUpdateParameters cacheRuleUpdateParameters, Context context);
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/ConnectedRegistriesClient.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/ConnectedRegistriesClient.java
new file mode 100644
index 000000000000..55b6825acd58
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/ConnectedRegistriesClient.java
@@ -0,0 +1,338 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerregistry.generated.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.containerregistry.generated.fluent.models.ConnectedRegistryInner;
+import com.azure.resourcemanager.containerregistry.generated.models.ConnectedRegistryUpdateParameters;
+
+/**
+ * An instance of this class provides access to all the operations defined in ConnectedRegistriesClient.
+ */
+public interface ConnectedRegistriesClient {
+ /**
+ * Gets the properties of the connected registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param connectedRegistryName The name of the connected registry.
+ * @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 properties of the connected registry along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String registryName,
+ String connectedRegistryName, Context context);
+
+ /**
+ * Gets the properties of the connected registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param connectedRegistryName The name of the connected registry.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the properties of the connected registry.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ConnectedRegistryInner get(String resourceGroupName, String registryName, String connectedRegistryName);
+
+ /**
+ * Creates a connected registry for a container registry with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param connectedRegistryName The name of the connected registry.
+ * @param connectedRegistryCreateParameters The parameters for creating a connectedRegistry.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 an object that represents a connected registry for a container
+ * registry.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ConnectedRegistryInner> beginCreate(String resourceGroupName,
+ String registryName, String connectedRegistryName, ConnectedRegistryInner connectedRegistryCreateParameters);
+
+ /**
+ * Creates a connected registry for a container registry with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param connectedRegistryName The name of the connected registry.
+ * @param connectedRegistryCreateParameters The parameters for creating a connectedRegistry.
+ * @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 an object that represents a connected registry for a container
+ * registry.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ConnectedRegistryInner> beginCreate(String resourceGroupName,
+ String registryName, String connectedRegistryName, ConnectedRegistryInner connectedRegistryCreateParameters,
+ Context context);
+
+ /**
+ * Creates a connected registry for a container registry with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param connectedRegistryName The name of the connected registry.
+ * @param connectedRegistryCreateParameters The parameters for creating a connectedRegistry.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an object that represents a connected registry for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ConnectedRegistryInner create(String resourceGroupName, String registryName, String connectedRegistryName,
+ ConnectedRegistryInner connectedRegistryCreateParameters);
+
+ /**
+ * Creates a connected registry for a container registry with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param connectedRegistryName The name of the connected registry.
+ * @param connectedRegistryCreateParameters The parameters for creating a connectedRegistry.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an object that represents a connected registry for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ConnectedRegistryInner create(String resourceGroupName, String registryName, String connectedRegistryName,
+ ConnectedRegistryInner connectedRegistryCreateParameters, Context context);
+
+ /**
+ * Updates a connected registry with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param connectedRegistryName The name of the connected registry.
+ * @param connectedRegistryUpdateParameters The parameters for updating a connectedRegistry.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 an object that represents a connected registry for a container
+ * registry.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ConnectedRegistryInner> beginUpdate(String resourceGroupName,
+ String registryName, String connectedRegistryName,
+ ConnectedRegistryUpdateParameters connectedRegistryUpdateParameters);
+
+ /**
+ * Updates a connected registry with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param connectedRegistryName The name of the connected registry.
+ * @param connectedRegistryUpdateParameters The parameters for updating a connectedRegistry.
+ * @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 an object that represents a connected registry for a container
+ * registry.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ConnectedRegistryInner> beginUpdate(String resourceGroupName,
+ String registryName, String connectedRegistryName,
+ ConnectedRegistryUpdateParameters connectedRegistryUpdateParameters, Context context);
+
+ /**
+ * Updates a connected registry with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param connectedRegistryName The name of the connected registry.
+ * @param connectedRegistryUpdateParameters The parameters for updating a connectedRegistry.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an object that represents a connected registry for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ConnectedRegistryInner update(String resourceGroupName, String registryName, String connectedRegistryName,
+ ConnectedRegistryUpdateParameters connectedRegistryUpdateParameters);
+
+ /**
+ * Updates a connected registry with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param connectedRegistryName The name of the connected registry.
+ * @param connectedRegistryUpdateParameters The parameters for updating a connectedRegistry.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an object that represents a connected registry for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ConnectedRegistryInner update(String resourceGroupName, String registryName, String connectedRegistryName,
+ ConnectedRegistryUpdateParameters connectedRegistryUpdateParameters, Context context);
+
+ /**
+ * Deletes a connected registry from a container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param connectedRegistryName The name of the connected registry.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 registryName,
+ String connectedRegistryName);
+
+ /**
+ * Deletes a connected registry from a container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param connectedRegistryName The name of the connected registry.
+ * @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 registryName,
+ String connectedRegistryName, Context context);
+
+ /**
+ * Deletes a connected registry from a container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param connectedRegistryName The name of the connected registry.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 registryName, String connectedRegistryName);
+
+ /**
+ * Deletes a connected registry from a container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param connectedRegistryName The name of the connected registry.
+ * @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 registryName, String connectedRegistryName, Context context);
+
+ /**
+ * Lists all connected registries for the specified container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the result of a request to list connected registries for a container registry as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String registryName);
+
+ /**
+ * Lists all connected registries for the specified container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param filter An OData filter expression that describes a subset of connectedRegistries to return. The parameters
+ * that can be filtered are parent.id (the resource id of the connectedRegistry parent), mode, and connectionState.
+ * The supported operator is eq.
+ * @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 result of a request to list connected registries for a container registry as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String registryName, String filter,
+ Context context);
+
+ /**
+ * Deactivates the connected registry instance.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param connectedRegistryName The name of the connected registry.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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> beginDeactivate(String resourceGroupName, String registryName,
+ String connectedRegistryName);
+
+ /**
+ * Deactivates the connected registry instance.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param connectedRegistryName The name of the connected registry.
+ * @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> beginDeactivate(String resourceGroupName, String registryName,
+ String connectedRegistryName, Context context);
+
+ /**
+ * Deactivates the connected registry instance.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param connectedRegistryName The name of the connected registry.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 deactivate(String resourceGroupName, String registryName, String connectedRegistryName);
+
+ /**
+ * Deactivates the connected registry instance.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param connectedRegistryName The name of the connected registry.
+ * @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 deactivate(String resourceGroupName, String registryName, String connectedRegistryName, Context context);
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/ContainerRegistryManagementClient.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/ContainerRegistryManagementClient.java
new file mode 100644
index 000000000000..4ead888ecbe3
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/ContainerRegistryManagementClient.java
@@ -0,0 +1,139 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerregistry.generated.fluent;
+
+import com.azure.core.http.HttpPipeline;
+import java.time.Duration;
+
+/**
+ * The interface for ContainerRegistryManagementClient class.
+ */
+public interface ContainerRegistryManagementClient {
+ /**
+ * 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 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 CacheRulesClient object to access its operations.
+ *
+ * @return the CacheRulesClient object.
+ */
+ CacheRulesClient getCacheRules();
+
+ /**
+ * Gets the ConnectedRegistriesClient object to access its operations.
+ *
+ * @return the ConnectedRegistriesClient object.
+ */
+ ConnectedRegistriesClient getConnectedRegistries();
+
+ /**
+ * Gets the CredentialSetsClient object to access its operations.
+ *
+ * @return the CredentialSetsClient object.
+ */
+ CredentialSetsClient getCredentialSets();
+
+ /**
+ * Gets the RegistriesClient object to access its operations.
+ *
+ * @return the RegistriesClient object.
+ */
+ RegistriesClient getRegistries();
+
+ /**
+ * Gets the OperationsClient object to access its operations.
+ *
+ * @return the OperationsClient object.
+ */
+ OperationsClient getOperations();
+
+ /**
+ * Gets the PrivateEndpointConnectionsClient object to access its operations.
+ *
+ * @return the PrivateEndpointConnectionsClient object.
+ */
+ PrivateEndpointConnectionsClient getPrivateEndpointConnections();
+
+ /**
+ * Gets the ReplicationsClient object to access its operations.
+ *
+ * @return the ReplicationsClient object.
+ */
+ ReplicationsClient getReplications();
+
+ /**
+ * Gets the ScopeMapsClient object to access its operations.
+ *
+ * @return the ScopeMapsClient object.
+ */
+ ScopeMapsClient getScopeMaps();
+
+ /**
+ * Gets the TokensClient object to access its operations.
+ *
+ * @return the TokensClient object.
+ */
+ TokensClient getTokens();
+
+ /**
+ * Gets the WebhooksClient object to access its operations.
+ *
+ * @return the WebhooksClient object.
+ */
+ WebhooksClient getWebhooks();
+
+ /**
+ * Gets the AgentPoolsClient object to access its operations.
+ *
+ * @return the AgentPoolsClient object.
+ */
+ AgentPoolsClient getAgentPools();
+
+ /**
+ * Gets the RunsClient object to access its operations.
+ *
+ * @return the RunsClient object.
+ */
+ RunsClient getRuns();
+
+ /**
+ * Gets the TaskRunsClient object to access its operations.
+ *
+ * @return the TaskRunsClient object.
+ */
+ TaskRunsClient getTaskRuns();
+
+ /**
+ * Gets the TasksClient object to access its operations.
+ *
+ * @return the TasksClient object.
+ */
+ TasksClient getTasks();
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/CredentialSetsClient.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/CredentialSetsClient.java
new file mode 100644
index 000000000000..58899a7e6609
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/CredentialSetsClient.java
@@ -0,0 +1,275 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerregistry.generated.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.containerregistry.generated.fluent.models.CredentialSetInner;
+import com.azure.resourcemanager.containerregistry.generated.models.CredentialSetUpdateParameters;
+
+/**
+ * An instance of this class provides access to all the operations defined in CredentialSetsClient.
+ */
+public interface CredentialSetsClient {
+ /**
+ * Lists all credential set resources for the specified container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the result of a request to list credential sets for a container registry as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String registryName);
+
+ /**
+ * Lists all credential set resources for the specified container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @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 result of a request to list credential sets for a container registry as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String registryName, Context context);
+
+ /**
+ * Gets the properties of the specified credential set resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param credentialSetName The name of the credential set.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the properties of the specified credential set resource along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String registryName,
+ String credentialSetName, Context context);
+
+ /**
+ * Gets the properties of the specified credential set resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param credentialSetName The name of the credential set.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the properties of the specified credential set resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CredentialSetInner get(String resourceGroupName, String registryName, String credentialSetName);
+
+ /**
+ * Creates a credential set for a container registry with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param credentialSetName The name of the credential set.
+ * @param credentialSetCreateParameters The parameters for creating a credential set.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of an object that represents a credential set resource for a container
+ * registry.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CredentialSetInner> beginCreate(String resourceGroupName,
+ String registryName, String credentialSetName, CredentialSetInner credentialSetCreateParameters);
+
+ /**
+ * Creates a credential set for a container registry with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param credentialSetName The name of the credential set.
+ * @param credentialSetCreateParameters The parameters for creating a credential set.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of an object that represents a credential set resource for a container
+ * registry.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CredentialSetInner> beginCreate(String resourceGroupName,
+ String registryName, String credentialSetName, CredentialSetInner credentialSetCreateParameters,
+ Context context);
+
+ /**
+ * Creates a credential set for a container registry with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param credentialSetName The name of the credential set.
+ * @param credentialSetCreateParameters The parameters for creating a credential set.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an object that represents a credential set resource for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CredentialSetInner create(String resourceGroupName, String registryName, String credentialSetName,
+ CredentialSetInner credentialSetCreateParameters);
+
+ /**
+ * Creates a credential set for a container registry with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param credentialSetName The name of the credential set.
+ * @param credentialSetCreateParameters The parameters for creating a credential set.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an object that represents a credential set resource for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CredentialSetInner create(String resourceGroupName, String registryName, String credentialSetName,
+ CredentialSetInner credentialSetCreateParameters, Context context);
+
+ /**
+ * Deletes a credential set from a container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param credentialSetName The name of the credential set.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String registryName,
+ String credentialSetName);
+
+ /**
+ * Deletes a credential set from a container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param credentialSetName The name of the credential set.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String registryName,
+ String credentialSetName, Context context);
+
+ /**
+ * Deletes a credential set from a container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param credentialSetName The name of the credential set.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String registryName, String credentialSetName);
+
+ /**
+ * Deletes a credential set from a container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param credentialSetName The name of the credential set.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String registryName, String credentialSetName, Context context);
+
+ /**
+ * Updates a credential set for a container registry with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param credentialSetName The name of the credential set.
+ * @param credentialSetUpdateParameters The parameters for updating a credential set.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of an object that represents a credential set resource for a container
+ * registry.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CredentialSetInner> beginUpdate(String resourceGroupName,
+ String registryName, String credentialSetName, CredentialSetUpdateParameters credentialSetUpdateParameters);
+
+ /**
+ * Updates a credential set for a container registry with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param credentialSetName The name of the credential set.
+ * @param credentialSetUpdateParameters The parameters for updating a credential set.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of an object that represents a credential set resource for a container
+ * registry.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CredentialSetInner> beginUpdate(String resourceGroupName,
+ String registryName, String credentialSetName, CredentialSetUpdateParameters credentialSetUpdateParameters,
+ Context context);
+
+ /**
+ * Updates a credential set for a container registry with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param credentialSetName The name of the credential set.
+ * @param credentialSetUpdateParameters The parameters for updating a credential set.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an object that represents a credential set resource for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CredentialSetInner update(String resourceGroupName, String registryName, String credentialSetName,
+ CredentialSetUpdateParameters credentialSetUpdateParameters);
+
+ /**
+ * Updates a credential set for a container registry with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param credentialSetName The name of the credential set.
+ * @param credentialSetUpdateParameters The parameters for updating a credential set.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an object that represents a credential set resource for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CredentialSetInner update(String resourceGroupName, String registryName, String credentialSetName,
+ CredentialSetUpdateParameters credentialSetUpdateParameters, Context context);
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/OperationsClient.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/OperationsClient.java
new file mode 100644
index 000000000000..d774e6902c85
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/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.containerregistry.generated.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.containerregistry.generated.fluent.models.OperationDefinitionInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in OperationsClient.
+ */
+public interface OperationsClient {
+ /**
+ * Lists all of the available Azure Container Registry REST API operations.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the result of a request to list container registry operations as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Lists all of the available Azure Container Registry REST API operations.
+ *
+ * @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 result of a request to list container registry operations as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/PrivateEndpointConnectionsClient.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/PrivateEndpointConnectionsClient.java
new file mode 100644
index 000000000000..44a41cfe31a3
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/PrivateEndpointConnectionsClient.java
@@ -0,0 +1,209 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerregistry.generated.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.containerregistry.generated.fluent.models.PrivateEndpointConnectionInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in PrivateEndpointConnectionsClient.
+ */
+public interface PrivateEndpointConnectionsClient {
+ /**
+ * List all private endpoint connections in a container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the result of a request to list private endpoint connections for a container registry as paginated
+ * response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String registryName);
+
+ /**
+ * List all private endpoint connections in a container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @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 result of a request to list private endpoint connections for a container registry as paginated
+ * response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String registryName, Context context);
+
+ /**
+ * Get the specified private endpoint connection associated with the container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param privateEndpointConnectionName The name of the private endpoint connection.
+ * @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 specified private endpoint connection associated with the container registry along with
+ * {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String registryName,
+ String privateEndpointConnectionName, Context context);
+
+ /**
+ * Get the specified private endpoint connection associated with the container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param privateEndpointConnectionName The name of the private endpoint connection.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the specified private endpoint connection associated with the container registry.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ PrivateEndpointConnectionInner get(String resourceGroupName, String registryName,
+ String privateEndpointConnectionName);
+
+ /**
+ * Update the state of specified private endpoint connection associated with the container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param privateEndpointConnectionName The name of the private endpoint connection.
+ * @param privateEndpointConnection The parameters for creating a private endpoint connection.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 an object that represents a private endpoint connection for a
+ * container registry.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, PrivateEndpointConnectionInner> beginCreateOrUpdate(
+ String resourceGroupName, String registryName, String privateEndpointConnectionName,
+ PrivateEndpointConnectionInner privateEndpointConnection);
+
+ /**
+ * Update the state of specified private endpoint connection associated with the container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param privateEndpointConnectionName The name of the private endpoint connection.
+ * @param privateEndpointConnection The parameters for creating a private endpoint connection.
+ * @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 an object that represents a private endpoint connection for a
+ * container registry.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, PrivateEndpointConnectionInner> beginCreateOrUpdate(
+ String resourceGroupName, String registryName, String privateEndpointConnectionName,
+ PrivateEndpointConnectionInner privateEndpointConnection, Context context);
+
+ /**
+ * Update the state of specified private endpoint connection associated with the container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param privateEndpointConnectionName The name of the private endpoint connection.
+ * @param privateEndpointConnection The parameters for creating a private endpoint connection.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an object that represents a private endpoint connection for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ PrivateEndpointConnectionInner createOrUpdate(String resourceGroupName, String registryName,
+ String privateEndpointConnectionName, PrivateEndpointConnectionInner privateEndpointConnection);
+
+ /**
+ * Update the state of specified private endpoint connection associated with the container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param privateEndpointConnectionName The name of the private endpoint connection.
+ * @param privateEndpointConnection The parameters for creating a private endpoint connection.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an object that represents a private endpoint connection for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ PrivateEndpointConnectionInner createOrUpdate(String resourceGroupName, String registryName,
+ String privateEndpointConnectionName, PrivateEndpointConnectionInner privateEndpointConnection,
+ Context context);
+
+ /**
+ * Deletes the specified private endpoint connection associated with the container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param privateEndpointConnectionName The name of the private endpoint connection.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 registryName,
+ String privateEndpointConnectionName);
+
+ /**
+ * Deletes the specified private endpoint connection associated with the container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param privateEndpointConnectionName The name of the private endpoint connection.
+ * @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 registryName,
+ String privateEndpointConnectionName, Context context);
+
+ /**
+ * Deletes the specified private endpoint connection associated with the container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param privateEndpointConnectionName The name of the private endpoint connection.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 registryName, String privateEndpointConnectionName);
+
+ /**
+ * Deletes the specified private endpoint connection associated with the container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param privateEndpointConnectionName The name of the private endpoint connection.
+ * @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 registryName, String privateEndpointConnectionName, Context context);
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/RegistriesClient.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/RegistriesClient.java
new file mode 100644
index 000000000000..93ba3df56727
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/RegistriesClient.java
@@ -0,0 +1,668 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerregistry.generated.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.containerregistry.generated.fluent.models.GenerateCredentialsResultInner;
+import com.azure.resourcemanager.containerregistry.generated.fluent.models.PrivateLinkResourceInner;
+import com.azure.resourcemanager.containerregistry.generated.fluent.models.RegistryInner;
+import com.azure.resourcemanager.containerregistry.generated.fluent.models.RegistryListCredentialsResultInner;
+import com.azure.resourcemanager.containerregistry.generated.fluent.models.RegistryNameStatusInner;
+import com.azure.resourcemanager.containerregistry.generated.fluent.models.RegistryUsageListResultInner;
+import com.azure.resourcemanager.containerregistry.generated.fluent.models.RunInner;
+import com.azure.resourcemanager.containerregistry.generated.fluent.models.SourceUploadDefinitionInner;
+import com.azure.resourcemanager.containerregistry.generated.models.GenerateCredentialsParameters;
+import com.azure.resourcemanager.containerregistry.generated.models.ImportImageParameters;
+import com.azure.resourcemanager.containerregistry.generated.models.RegenerateCredentialParameters;
+import com.azure.resourcemanager.containerregistry.generated.models.RegistryNameCheckRequest;
+import com.azure.resourcemanager.containerregistry.generated.models.RegistryUpdateParameters;
+import com.azure.resourcemanager.containerregistry.generated.models.RunRequest;
+
+/**
+ * An instance of this class provides access to all the operations defined in RegistriesClient.
+ */
+public interface RegistriesClient {
+ /**
+ * Copies an image to this container registry from the specified container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param parameters The parameters specifying the image to copy and the source container registry.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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> beginImportImage(String resourceGroupName, String registryName,
+ ImportImageParameters parameters);
+
+ /**
+ * Copies an image to this container registry from the specified container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param parameters The parameters specifying the image to copy and the source container registry.
+ * @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> beginImportImage(String resourceGroupName, String registryName,
+ ImportImageParameters parameters, Context context);
+
+ /**
+ * Copies an image to this container registry from the specified container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param parameters The parameters specifying the image to copy and the source container registry.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 importImage(String resourceGroupName, String registryName, ImportImageParameters parameters);
+
+ /**
+ * Copies an image to this container registry from the specified container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param parameters The parameters specifying the image to copy and the source container registry.
+ * @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 importImage(String resourceGroupName, String registryName, ImportImageParameters parameters, Context context);
+
+ /**
+ * Checks whether the container registry name is available for use. The name must contain only alphanumeric
+ * characters, be globally unique, and between 5 and 50 characters in length.
+ *
+ * @param registryNameCheckRequest The object containing information for the availability 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 result of a request to check the availability of a container registry name along with
+ * {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response
+ checkNameAvailabilityWithResponse(RegistryNameCheckRequest registryNameCheckRequest, Context context);
+
+ /**
+ * Checks whether the container registry name is available for use. The name must contain only alphanumeric
+ * characters, be globally unique, and between 5 and 50 characters in length.
+ *
+ * @param registryNameCheckRequest The object containing information for the availability 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 result of a request to check the availability of a container registry name.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RegistryNameStatusInner checkNameAvailability(RegistryNameCheckRequest registryNameCheckRequest);
+
+ /**
+ * Lists all the container registries under the specified subscription.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the result of a request to list container registries as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Lists all the container registries under the specified subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the result of a request to list container registries as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+
+ /**
+ * Lists all the container registries under the specified 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 result of a request to list container registries as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Lists all the container registries under the specified 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 result of a request to list container registries as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * Gets the properties of the specified container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @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 properties of the specified container registry along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(String resourceGroupName, String registryName,
+ Context context);
+
+ /**
+ * Gets the properties of the specified container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the properties of the specified container registry.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RegistryInner getByResourceGroup(String resourceGroupName, String registryName);
+
+ /**
+ * Creates a container registry with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param registry The parameters for creating a container registry.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 an object that represents a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, RegistryInner> beginCreate(String resourceGroupName, String registryName,
+ RegistryInner registry);
+
+ /**
+ * Creates a container registry with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param registry The parameters for creating a container registry.
+ * @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 an object that represents a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, RegistryInner> beginCreate(String resourceGroupName, String registryName,
+ RegistryInner registry, Context context);
+
+ /**
+ * Creates a container registry with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param registry The parameters for creating a container registry.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an object that represents a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RegistryInner create(String resourceGroupName, String registryName, RegistryInner registry);
+
+ /**
+ * Creates a container registry with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param registry The parameters for creating a container registry.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an object that represents a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RegistryInner create(String resourceGroupName, String registryName, RegistryInner registry, Context context);
+
+ /**
+ * Deletes a container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 registryName);
+
+ /**
+ * Deletes a container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @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 registryName, Context context);
+
+ /**
+ * Deletes a container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 registryName);
+
+ /**
+ * Deletes a container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @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 registryName, Context context);
+
+ /**
+ * Updates a container registry with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param registryUpdateParameters The parameters for updating a container registry.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 an object that represents a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, RegistryInner> beginUpdate(String resourceGroupName, String registryName,
+ RegistryUpdateParameters registryUpdateParameters);
+
+ /**
+ * Updates a container registry with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param registryUpdateParameters The parameters for updating a container registry.
+ * @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 an object that represents a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, RegistryInner> beginUpdate(String resourceGroupName, String registryName,
+ RegistryUpdateParameters registryUpdateParameters, Context context);
+
+ /**
+ * Updates a container registry with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param registryUpdateParameters The parameters for updating a container registry.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an object that represents a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RegistryInner update(String resourceGroupName, String registryName,
+ RegistryUpdateParameters registryUpdateParameters);
+
+ /**
+ * Updates a container registry with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param registryUpdateParameters The parameters for updating a container registry.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an object that represents a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RegistryInner update(String resourceGroupName, String registryName,
+ RegistryUpdateParameters registryUpdateParameters, Context context);
+
+ /**
+ * Gets the quota usages for the specified container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @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 quota usages for the specified container registry along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response listUsagesWithResponse(String resourceGroupName, String registryName,
+ Context context);
+
+ /**
+ * Gets the quota usages for the specified container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the quota usages for the specified container registry.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RegistryUsageListResultInner listUsages(String resourceGroupName, String registryName);
+
+ /**
+ * Lists the private link resources for a container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the result of a request to list private link resources for a container registry as paginated response
+ * with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listPrivateLinkResources(String resourceGroupName, String registryName);
+
+ /**
+ * Lists the private link resources for a container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @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 result of a request to list private link resources for a container registry as paginated response
+ * with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listPrivateLinkResources(String resourceGroupName, String registryName,
+ Context context);
+
+ /**
+ * Gets a private link resource by a specified group name for a container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param groupName The name of the private link 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 private link resource by a specified group name for a container registry along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getPrivateLinkResourceWithResponse(String resourceGroupName, String registryName,
+ String groupName, Context context);
+
+ /**
+ * Gets a private link resource by a specified group name for a container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param groupName The name of the private link 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 private link resource by a specified group name for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ PrivateLinkResourceInner getPrivateLinkResource(String resourceGroupName, String registryName, String groupName);
+
+ /**
+ * Lists the login credentials for the specified container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @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 from the ListCredentials operation along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response listCredentialsWithResponse(String resourceGroupName,
+ String registryName, Context context);
+
+ /**
+ * Lists the login credentials for the specified container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 from the ListCredentials operation.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RegistryListCredentialsResultInner listCredentials(String resourceGroupName, String registryName);
+
+ /**
+ * Regenerates one of the login credentials for the specified container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param regenerateCredentialParameters Specifies name of the password which should be regenerated -- password or
+ * password2.
+ * @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 from the ListCredentials operation along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response regenerateCredentialWithResponse(String resourceGroupName,
+ String registryName, RegenerateCredentialParameters regenerateCredentialParameters, Context context);
+
+ /**
+ * Regenerates one of the login credentials for the specified container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param regenerateCredentialParameters Specifies name of the password which should be regenerated -- password or
+ * password2.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 from the ListCredentials operation.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RegistryListCredentialsResultInner regenerateCredential(String resourceGroupName, String registryName,
+ RegenerateCredentialParameters regenerateCredentialParameters);
+
+ /**
+ * Generate keys for a token of a specified container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param generateCredentialsParameters The parameters for generating credentials.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the response from the GenerateCredentials operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, GenerateCredentialsResultInner> beginGenerateCredentials(
+ String resourceGroupName, String registryName, GenerateCredentialsParameters generateCredentialsParameters);
+
+ /**
+ * Generate keys for a token of a specified container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param generateCredentialsParameters The parameters for generating credentials.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the response from the GenerateCredentials operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, GenerateCredentialsResultInner> beginGenerateCredentials(
+ String resourceGroupName, String registryName, GenerateCredentialsParameters generateCredentialsParameters,
+ Context context);
+
+ /**
+ * Generate keys for a token of a specified container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param generateCredentialsParameters The parameters for generating credentials.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 from the GenerateCredentials operation.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ GenerateCredentialsResultInner generateCredentials(String resourceGroupName, String registryName,
+ GenerateCredentialsParameters generateCredentialsParameters);
+
+ /**
+ * Generate keys for a token of a specified container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param generateCredentialsParameters The parameters for generating credentials.
+ * @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 from the GenerateCredentials operation.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ GenerateCredentialsResultInner generateCredentials(String resourceGroupName, String registryName,
+ GenerateCredentialsParameters generateCredentialsParameters, Context context);
+
+ /**
+ * Schedules a new run based on the request parameters and add it to the run queue.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param runRequest The parameters of a run that needs to scheduled.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 run resource properties.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, RunInner> beginScheduleRun(String resourceGroupName, String registryName,
+ RunRequest runRequest);
+
+ /**
+ * Schedules a new run based on the request parameters and add it to the run queue.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param runRequest The parameters of a run that needs to scheduled.
+ * @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 run resource properties.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, RunInner> beginScheduleRun(String resourceGroupName, String registryName,
+ RunRequest runRequest, Context context);
+
+ /**
+ * Schedules a new run based on the request parameters and add it to the run queue.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param runRequest The parameters of a run that needs to scheduled.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return run resource properties.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RunInner scheduleRun(String resourceGroupName, String registryName, RunRequest runRequest);
+
+ /**
+ * Schedules a new run based on the request parameters and add it to the run queue.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param runRequest The parameters of a run that needs to scheduled.
+ * @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 run resource properties.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RunInner scheduleRun(String resourceGroupName, String registryName, RunRequest runRequest, Context context);
+
+ /**
+ * Get the upload location for the user to be able to upload the source.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @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 upload location for the user to be able to upload the source along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getBuildSourceUploadUrlWithResponse(String resourceGroupName,
+ String registryName, Context context);
+
+ /**
+ * Get the upload location for the user to be able to upload the source.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the upload location for the user to be able to upload the source.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SourceUploadDefinitionInner getBuildSourceUploadUrl(String resourceGroupName, String registryName);
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/ReplicationsClient.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/ReplicationsClient.java
new file mode 100644
index 000000000000..c45c78e014c0
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/ReplicationsClient.java
@@ -0,0 +1,270 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerregistry.generated.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.containerregistry.generated.fluent.models.ReplicationInner;
+import com.azure.resourcemanager.containerregistry.generated.models.ReplicationUpdateParameters;
+
+/**
+ * An instance of this class provides access to all the operations defined in ReplicationsClient.
+ */
+public interface ReplicationsClient {
+ /**
+ * Lists all the replications for the specified container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the result of a request to list replications for a container registry as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String registryName);
+
+ /**
+ * Lists all the replications for the specified container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @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 result of a request to list replications for a container registry as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String registryName, Context context);
+
+ /**
+ * Gets the properties of the specified replication.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param replicationName The name of the replication.
+ * @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 properties of the specified replication along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String registryName, String replicationName,
+ Context context);
+
+ /**
+ * Gets the properties of the specified replication.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param replicationName The name of the replication.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the properties of the specified replication.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ReplicationInner get(String resourceGroupName, String registryName, String replicationName);
+
+ /**
+ * Creates a replication for a container registry with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param replicationName The name of the replication.
+ * @param replication The parameters for creating a replication.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 an object that represents a replication for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ReplicationInner> beginCreate(String resourceGroupName,
+ String registryName, String replicationName, ReplicationInner replication);
+
+ /**
+ * Creates a replication for a container registry with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param replicationName The name of the replication.
+ * @param replication The parameters for creating a replication.
+ * @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 an object that represents a replication for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ReplicationInner> beginCreate(String resourceGroupName,
+ String registryName, String replicationName, ReplicationInner replication, Context context);
+
+ /**
+ * Creates a replication for a container registry with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param replicationName The name of the replication.
+ * @param replication The parameters for creating a replication.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an object that represents a replication for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ReplicationInner create(String resourceGroupName, String registryName, String replicationName,
+ ReplicationInner replication);
+
+ /**
+ * Creates a replication for a container registry with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param replicationName The name of the replication.
+ * @param replication The parameters for creating a replication.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an object that represents a replication for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ReplicationInner create(String resourceGroupName, String registryName, String replicationName,
+ ReplicationInner replication, Context context);
+
+ /**
+ * Deletes a replication from a container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param replicationName The name of the replication.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 registryName,
+ String replicationName);
+
+ /**
+ * Deletes a replication from a container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param replicationName The name of the replication.
+ * @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 registryName,
+ String replicationName, Context context);
+
+ /**
+ * Deletes a replication from a container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param replicationName The name of the replication.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 registryName, String replicationName);
+
+ /**
+ * Deletes a replication from a container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param replicationName The name of the replication.
+ * @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 registryName, String replicationName, Context context);
+
+ /**
+ * Updates a replication for a container registry with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param replicationName The name of the replication.
+ * @param replicationUpdateParameters The parameters for updating a replication.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 an object that represents a replication for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ReplicationInner> beginUpdate(String resourceGroupName,
+ String registryName, String replicationName, ReplicationUpdateParameters replicationUpdateParameters);
+
+ /**
+ * Updates a replication for a container registry with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param replicationName The name of the replication.
+ * @param replicationUpdateParameters The parameters for updating a replication.
+ * @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 an object that represents a replication for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ReplicationInner> beginUpdate(String resourceGroupName,
+ String registryName, String replicationName, ReplicationUpdateParameters replicationUpdateParameters,
+ Context context);
+
+ /**
+ * Updates a replication for a container registry with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param replicationName The name of the replication.
+ * @param replicationUpdateParameters The parameters for updating a replication.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an object that represents a replication for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ReplicationInner update(String resourceGroupName, String registryName, String replicationName,
+ ReplicationUpdateParameters replicationUpdateParameters);
+
+ /**
+ * Updates a replication for a container registry with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param replicationName The name of the replication.
+ * @param replicationUpdateParameters The parameters for updating a replication.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an object that represents a replication for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ReplicationInner update(String resourceGroupName, String registryName, String replicationName,
+ ReplicationUpdateParameters replicationUpdateParameters, Context context);
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/RunsClient.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/RunsClient.java
new file mode 100644
index 000000000000..eb41b1a57485
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/RunsClient.java
@@ -0,0 +1,234 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerregistry.generated.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.containerregistry.generated.fluent.models.RunGetLogResultInner;
+import com.azure.resourcemanager.containerregistry.generated.fluent.models.RunInner;
+import com.azure.resourcemanager.containerregistry.generated.models.RunUpdateParameters;
+
+/**
+ * An instance of this class provides access to all the operations defined in RunsClient.
+ */
+public interface RunsClient {
+ /**
+ * Gets all the runs for a registry.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all the runs for a registry as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String registryName);
+
+ /**
+ * Gets all the runs for a registry.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param filter The runs filter to apply on the operation. Arithmetic operators are not supported. The allowed
+ * string function is 'contains'. All logical operators except 'Not', 'Has', 'All' are allowed.
+ * @param top $top is supported for get list of runs, which limits the maximum number of runs to return.
+ * @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 all the runs for a registry as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String registryName, String filter, Integer top,
+ Context context);
+
+ /**
+ * Gets the detailed information for a given run.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param runId The run 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 detailed information for a given run along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String registryName, String runId, Context context);
+
+ /**
+ * Gets the detailed information for a given run.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param runId The run ID.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the detailed information for a given run.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RunInner get(String resourceGroupName, String registryName, String runId);
+
+ /**
+ * Patch the run properties.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param runId The run ID.
+ * @param runUpdateParameters The run update properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 run resource properties.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, RunInner> beginUpdate(String resourceGroupName, String registryName, String runId,
+ RunUpdateParameters runUpdateParameters);
+
+ /**
+ * Patch the run properties.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param runId The run ID.
+ * @param runUpdateParameters The run update properties.
+ * @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 run resource properties.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, RunInner> beginUpdate(String resourceGroupName, String registryName, String runId,
+ RunUpdateParameters runUpdateParameters, Context context);
+
+ /**
+ * Patch the run properties.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param runId The run ID.
+ * @param runUpdateParameters The run update properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return run resource properties.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RunInner update(String resourceGroupName, String registryName, String runId,
+ RunUpdateParameters runUpdateParameters);
+
+ /**
+ * Patch the run properties.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param runId The run ID.
+ * @param runUpdateParameters The run update properties.
+ * @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 run resource properties.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RunInner update(String resourceGroupName, String registryName, String runId,
+ RunUpdateParameters runUpdateParameters, Context context);
+
+ /**
+ * Gets a link to download the run logs.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param runId The run 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 a link to download the run logs along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getLogSasUrlWithResponse(String resourceGroupName, String registryName, String runId,
+ Context context);
+
+ /**
+ * Gets a link to download the run logs.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param runId The run ID.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a link to download the run logs.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RunGetLogResultInner getLogSasUrl(String resourceGroupName, String registryName, String runId);
+
+ /**
+ * Cancel an existing run.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param runId The run ID.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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> beginCancel(String resourceGroupName, String registryName, String runId);
+
+ /**
+ * Cancel an existing run.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param runId The run 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginCancel(String resourceGroupName, String registryName, String runId,
+ Context context);
+
+ /**
+ * Cancel an existing run.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param runId The run ID.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 cancel(String resourceGroupName, String registryName, String runId);
+
+ /**
+ * Cancel an existing run.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param runId The run 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void cancel(String resourceGroupName, String registryName, String runId, Context context);
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/ScopeMapsClient.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/ScopeMapsClient.java
new file mode 100644
index 000000000000..7ea4e8d2e094
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/ScopeMapsClient.java
@@ -0,0 +1,268 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerregistry.generated.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.containerregistry.generated.fluent.models.ScopeMapInner;
+import com.azure.resourcemanager.containerregistry.generated.models.ScopeMapUpdateParameters;
+
+/**
+ * An instance of this class provides access to all the operations defined in ScopeMapsClient.
+ */
+public interface ScopeMapsClient {
+ /**
+ * Lists all the scope maps for the specified container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the result of a request to list scope maps for a container registry as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String registryName);
+
+ /**
+ * Lists all the scope maps for the specified container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @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 result of a request to list scope maps for a container registry as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String registryName, Context context);
+
+ /**
+ * Gets the properties of the specified scope map.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param scopeMapName The name of the scope map.
+ * @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 properties of the specified scope map along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String registryName, String scopeMapName,
+ Context context);
+
+ /**
+ * Gets the properties of the specified scope map.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param scopeMapName The name of the scope map.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the properties of the specified scope map.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ScopeMapInner get(String resourceGroupName, String registryName, String scopeMapName);
+
+ /**
+ * Creates a scope map for a container registry with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param scopeMapName The name of the scope map.
+ * @param scopeMapCreateParameters The parameters for creating a scope map.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 an object that represents a scope map for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ScopeMapInner> beginCreate(String resourceGroupName, String registryName,
+ String scopeMapName, ScopeMapInner scopeMapCreateParameters);
+
+ /**
+ * Creates a scope map for a container registry with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param scopeMapName The name of the scope map.
+ * @param scopeMapCreateParameters The parameters for creating a scope map.
+ * @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 an object that represents a scope map for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ScopeMapInner> beginCreate(String resourceGroupName, String registryName,
+ String scopeMapName, ScopeMapInner scopeMapCreateParameters, Context context);
+
+ /**
+ * Creates a scope map for a container registry with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param scopeMapName The name of the scope map.
+ * @param scopeMapCreateParameters The parameters for creating a scope map.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an object that represents a scope map for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ScopeMapInner create(String resourceGroupName, String registryName, String scopeMapName,
+ ScopeMapInner scopeMapCreateParameters);
+
+ /**
+ * Creates a scope map for a container registry with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param scopeMapName The name of the scope map.
+ * @param scopeMapCreateParameters The parameters for creating a scope map.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an object that represents a scope map for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ScopeMapInner create(String resourceGroupName, String registryName, String scopeMapName,
+ ScopeMapInner scopeMapCreateParameters, Context context);
+
+ /**
+ * Deletes a scope map from a container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param scopeMapName The name of the scope map.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 registryName, String scopeMapName);
+
+ /**
+ * Deletes a scope map from a container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param scopeMapName The name of the scope map.
+ * @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 registryName, String scopeMapName,
+ Context context);
+
+ /**
+ * Deletes a scope map from a container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param scopeMapName The name of the scope map.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 registryName, String scopeMapName);
+
+ /**
+ * Deletes a scope map from a container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param scopeMapName The name of the scope map.
+ * @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 registryName, String scopeMapName, Context context);
+
+ /**
+ * Updates a scope map with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param scopeMapName The name of the scope map.
+ * @param scopeMapUpdateParameters The parameters for updating a scope map.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 an object that represents a scope map for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ScopeMapInner> beginUpdate(String resourceGroupName, String registryName,
+ String scopeMapName, ScopeMapUpdateParameters scopeMapUpdateParameters);
+
+ /**
+ * Updates a scope map with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param scopeMapName The name of the scope map.
+ * @param scopeMapUpdateParameters The parameters for updating a scope map.
+ * @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 an object that represents a scope map for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ScopeMapInner> beginUpdate(String resourceGroupName, String registryName,
+ String scopeMapName, ScopeMapUpdateParameters scopeMapUpdateParameters, Context context);
+
+ /**
+ * Updates a scope map with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param scopeMapName The name of the scope map.
+ * @param scopeMapUpdateParameters The parameters for updating a scope map.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an object that represents a scope map for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ScopeMapInner update(String resourceGroupName, String registryName, String scopeMapName,
+ ScopeMapUpdateParameters scopeMapUpdateParameters);
+
+ /**
+ * Updates a scope map with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param scopeMapName The name of the scope map.
+ * @param scopeMapUpdateParameters The parameters for updating a scope map.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an object that represents a scope map for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ScopeMapInner update(String resourceGroupName, String registryName, String scopeMapName,
+ ScopeMapUpdateParameters scopeMapUpdateParameters, Context context);
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/TaskRunsClient.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/TaskRunsClient.java
new file mode 100644
index 000000000000..85de0b4b789c
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/TaskRunsClient.java
@@ -0,0 +1,295 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerregistry.generated.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.containerregistry.generated.fluent.models.TaskRunInner;
+import com.azure.resourcemanager.containerregistry.generated.models.TaskRunUpdateParameters;
+
+/**
+ * An instance of this class provides access to all the operations defined in TaskRunsClient.
+ */
+public interface TaskRunsClient {
+ /**
+ * Gets the detailed information for a given task run.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param taskRunName The name of the task run.
+ * @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 detailed information for a given task run along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String registryName, String taskRunName,
+ Context context);
+
+ /**
+ * Gets the detailed information for a given task run.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param taskRunName The name of the task run.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the detailed information for a given task run.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ TaskRunInner get(String resourceGroupName, String registryName, String taskRunName);
+
+ /**
+ * Creates a task run for a container registry with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param taskRunName The name of the task run.
+ * @param taskRun The parameters of a run that needs to scheduled.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the task run that has the ARM resource and properties.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, TaskRunInner> beginCreate(String resourceGroupName, String registryName,
+ String taskRunName, TaskRunInner taskRun);
+
+ /**
+ * Creates a task run for a container registry with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param taskRunName The name of the task run.
+ * @param taskRun The parameters of a run that needs to scheduled.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the task run that has the ARM resource and properties.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, TaskRunInner> beginCreate(String resourceGroupName, String registryName,
+ String taskRunName, TaskRunInner taskRun, Context context);
+
+ /**
+ * Creates a task run for a container registry with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param taskRunName The name of the task run.
+ * @param taskRun The parameters of a run that needs to scheduled.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the task run that has the ARM resource and properties.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ TaskRunInner create(String resourceGroupName, String registryName, String taskRunName, TaskRunInner taskRun);
+
+ /**
+ * Creates a task run for a container registry with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param taskRunName The name of the task run.
+ * @param taskRun The parameters of a run that needs to scheduled.
+ * @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 task run that has the ARM resource and properties.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ TaskRunInner create(String resourceGroupName, String registryName, String taskRunName, TaskRunInner taskRun,
+ Context context);
+
+ /**
+ * Deletes a specified task run resource.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param taskRunName The name of the task run.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 registryName, String taskRunName);
+
+ /**
+ * Deletes a specified task run resource.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param taskRunName The name of the task run.
+ * @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 registryName, String taskRunName,
+ Context context);
+
+ /**
+ * Deletes a specified task run resource.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param taskRunName The name of the task run.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 registryName, String taskRunName);
+
+ /**
+ * Deletes a specified task run resource.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param taskRunName The name of the task run.
+ * @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 registryName, String taskRunName, Context context);
+
+ /**
+ * Updates a task run with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param taskRunName The name of the task run.
+ * @param updateParameters The parameters for updating a task run.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the task run that has the ARM resource and properties.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, TaskRunInner> beginUpdate(String resourceGroupName, String registryName,
+ String taskRunName, TaskRunUpdateParameters updateParameters);
+
+ /**
+ * Updates a task run with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param taskRunName The name of the task run.
+ * @param updateParameters The parameters for updating a task run.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the task run that has the ARM resource and properties.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, TaskRunInner> beginUpdate(String resourceGroupName, String registryName,
+ String taskRunName, TaskRunUpdateParameters updateParameters, Context context);
+
+ /**
+ * Updates a task run with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param taskRunName The name of the task run.
+ * @param updateParameters The parameters for updating a task run.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the task run that has the ARM resource and properties.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ TaskRunInner update(String resourceGroupName, String registryName, String taskRunName,
+ TaskRunUpdateParameters updateParameters);
+
+ /**
+ * Updates a task run with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param taskRunName The name of the task run.
+ * @param updateParameters The parameters for updating a task run.
+ * @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 task run that has the ARM resource and properties.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ TaskRunInner update(String resourceGroupName, String registryName, String taskRunName,
+ TaskRunUpdateParameters updateParameters, Context context);
+
+ /**
+ * Gets the detailed information for a given task run that includes all secrets.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param taskRunName The name of the task run.
+ * @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 detailed information for a given task run that includes all secrets along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getDetailsWithResponse(String resourceGroupName, String registryName, String taskRunName,
+ Context context);
+
+ /**
+ * Gets the detailed information for a given task run that includes all secrets.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param taskRunName The name of the task run.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the detailed information for a given task run that includes all secrets.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ TaskRunInner getDetails(String resourceGroupName, String registryName, String taskRunName);
+
+ /**
+ * Lists all the task runs for a specified container registry.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the collection of task runs as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String registryName);
+
+ /**
+ * Lists all the task runs for a specified container registry.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @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 collection of task runs as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String registryName, Context context);
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/TasksClient.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/TasksClient.java
new file mode 100644
index 000000000000..e411a3aa5b34
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/TasksClient.java
@@ -0,0 +1,295 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerregistry.generated.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.containerregistry.generated.fluent.models.TaskInner;
+import com.azure.resourcemanager.containerregistry.generated.models.TaskUpdateParameters;
+
+/**
+ * An instance of this class provides access to all the operations defined in TasksClient.
+ */
+public interface TasksClient {
+ /**
+ * Lists all the tasks for a specified container registry.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the collection of tasks as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String registryName);
+
+ /**
+ * Lists all the tasks for a specified container registry.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @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 collection of tasks as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String registryName, Context context);
+
+ /**
+ * Get the properties of a specified task.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param taskName The name of the container registry task.
+ * @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 properties of a specified task along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String registryName, String taskName,
+ Context context);
+
+ /**
+ * Get the properties of a specified task.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param taskName The name of the container registry task.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the properties of a specified task.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ TaskInner get(String resourceGroupName, String registryName, String taskName);
+
+ /**
+ * Creates a task for a container registry with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param taskName The name of the container registry task.
+ * @param taskCreateParameters The parameters for creating a task.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the task that has the ARM resource and task properties.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, TaskInner> beginCreate(String resourceGroupName, String registryName,
+ String taskName, TaskInner taskCreateParameters);
+
+ /**
+ * Creates a task for a container registry with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param taskName The name of the container registry task.
+ * @param taskCreateParameters The parameters for creating a task.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the task that has the ARM resource and task properties.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, TaskInner> beginCreate(String resourceGroupName, String registryName,
+ String taskName, TaskInner taskCreateParameters, Context context);
+
+ /**
+ * Creates a task for a container registry with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param taskName The name of the container registry task.
+ * @param taskCreateParameters The parameters for creating a task.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the task that has the ARM resource and task properties.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ TaskInner create(String resourceGroupName, String registryName, String taskName, TaskInner taskCreateParameters);
+
+ /**
+ * Creates a task for a container registry with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param taskName The name of the container registry task.
+ * @param taskCreateParameters The parameters for creating a task.
+ * @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 task that has the ARM resource and task properties.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ TaskInner create(String resourceGroupName, String registryName, String taskName, TaskInner taskCreateParameters,
+ Context context);
+
+ /**
+ * Deletes a specified task.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param taskName The name of the container registry task.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 registryName, String taskName);
+
+ /**
+ * Deletes a specified task.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param taskName The name of the container registry task.
+ * @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 registryName, String taskName,
+ Context context);
+
+ /**
+ * Deletes a specified task.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param taskName The name of the container registry task.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 registryName, String taskName);
+
+ /**
+ * Deletes a specified task.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param taskName The name of the container registry task.
+ * @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 registryName, String taskName, Context context);
+
+ /**
+ * Updates a task with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param taskName The name of the container registry task.
+ * @param taskUpdateParameters The parameters for updating a task.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the task that has the ARM resource and task properties.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, TaskInner> beginUpdate(String resourceGroupName, String registryName,
+ String taskName, TaskUpdateParameters taskUpdateParameters);
+
+ /**
+ * Updates a task with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param taskName The name of the container registry task.
+ * @param taskUpdateParameters The parameters for updating a task.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the task that has the ARM resource and task properties.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, TaskInner> beginUpdate(String resourceGroupName, String registryName,
+ String taskName, TaskUpdateParameters taskUpdateParameters, Context context);
+
+ /**
+ * Updates a task with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param taskName The name of the container registry task.
+ * @param taskUpdateParameters The parameters for updating a task.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the task that has the ARM resource and task properties.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ TaskInner update(String resourceGroupName, String registryName, String taskName,
+ TaskUpdateParameters taskUpdateParameters);
+
+ /**
+ * Updates a task with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param taskName The name of the container registry task.
+ * @param taskUpdateParameters The parameters for updating a task.
+ * @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 task that has the ARM resource and task properties.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ TaskInner update(String resourceGroupName, String registryName, String taskName,
+ TaskUpdateParameters taskUpdateParameters, Context context);
+
+ /**
+ * Returns a task with extended information that includes all secrets.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param taskName The name of the container registry task.
+ * @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 task that has the ARM resource and task properties along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getDetailsWithResponse(String resourceGroupName, String registryName, String taskName,
+ Context context);
+
+ /**
+ * Returns a task with extended information that includes all secrets.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param taskName The name of the container registry task.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the task that has the ARM resource and task properties.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ TaskInner getDetails(String resourceGroupName, String registryName, String taskName);
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/TokensClient.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/TokensClient.java
new file mode 100644
index 000000000000..9d107b04adac
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/TokensClient.java
@@ -0,0 +1,268 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerregistry.generated.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.containerregistry.generated.fluent.models.TokenInner;
+import com.azure.resourcemanager.containerregistry.generated.models.TokenUpdateParameters;
+
+/**
+ * An instance of this class provides access to all the operations defined in TokensClient.
+ */
+public interface TokensClient {
+ /**
+ * Lists all the tokens for the specified container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the result of a request to list tokens for a container registry as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String registryName);
+
+ /**
+ * Lists all the tokens for the specified container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @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 result of a request to list tokens for a container registry as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String registryName, Context context);
+
+ /**
+ * Gets the properties of the specified token.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param tokenName The name of the token.
+ * @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 properties of the specified token along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String registryName, String tokenName,
+ Context context);
+
+ /**
+ * Gets the properties of the specified token.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param tokenName The name of the token.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the properties of the specified token.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ TokenInner get(String resourceGroupName, String registryName, String tokenName);
+
+ /**
+ * Creates a token for a container registry with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param tokenName The name of the token.
+ * @param tokenCreateParameters The parameters for creating a token.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 an object that represents a token for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, TokenInner> beginCreate(String resourceGroupName, String registryName,
+ String tokenName, TokenInner tokenCreateParameters);
+
+ /**
+ * Creates a token for a container registry with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param tokenName The name of the token.
+ * @param tokenCreateParameters The parameters for creating a token.
+ * @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 an object that represents a token for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, TokenInner> beginCreate(String resourceGroupName, String registryName,
+ String tokenName, TokenInner tokenCreateParameters, Context context);
+
+ /**
+ * Creates a token for a container registry with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param tokenName The name of the token.
+ * @param tokenCreateParameters The parameters for creating a token.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an object that represents a token for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ TokenInner create(String resourceGroupName, String registryName, String tokenName,
+ TokenInner tokenCreateParameters);
+
+ /**
+ * Creates a token for a container registry with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param tokenName The name of the token.
+ * @param tokenCreateParameters The parameters for creating a token.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an object that represents a token for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ TokenInner create(String resourceGroupName, String registryName, String tokenName, TokenInner tokenCreateParameters,
+ Context context);
+
+ /**
+ * Deletes a token from a container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param tokenName The name of the token.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 registryName, String tokenName);
+
+ /**
+ * Deletes a token from a container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param tokenName The name of the token.
+ * @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 registryName, String tokenName,
+ Context context);
+
+ /**
+ * Deletes a token from a container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param tokenName The name of the token.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 registryName, String tokenName);
+
+ /**
+ * Deletes a token from a container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param tokenName The name of the token.
+ * @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 registryName, String tokenName, Context context);
+
+ /**
+ * Updates a token with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param tokenName The name of the token.
+ * @param tokenUpdateParameters The parameters for updating a token.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 an object that represents a token for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, TokenInner> beginUpdate(String resourceGroupName, String registryName,
+ String tokenName, TokenUpdateParameters tokenUpdateParameters);
+
+ /**
+ * Updates a token with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param tokenName The name of the token.
+ * @param tokenUpdateParameters The parameters for updating a token.
+ * @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 an object that represents a token for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, TokenInner> beginUpdate(String resourceGroupName, String registryName,
+ String tokenName, TokenUpdateParameters tokenUpdateParameters, Context context);
+
+ /**
+ * Updates a token with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param tokenName The name of the token.
+ * @param tokenUpdateParameters The parameters for updating a token.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an object that represents a token for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ TokenInner update(String resourceGroupName, String registryName, String tokenName,
+ TokenUpdateParameters tokenUpdateParameters);
+
+ /**
+ * Updates a token with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param tokenName The name of the token.
+ * @param tokenUpdateParameters The parameters for updating a token.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an object that represents a token for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ TokenInner update(String resourceGroupName, String registryName, String tokenName,
+ TokenUpdateParameters tokenUpdateParameters, Context context);
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/WebhooksClient.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/WebhooksClient.java
new file mode 100644
index 000000000000..16e9f773472b
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/WebhooksClient.java
@@ -0,0 +1,362 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerregistry.generated.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.containerregistry.generated.fluent.models.CallbackConfigInner;
+import com.azure.resourcemanager.containerregistry.generated.fluent.models.EventInfoInner;
+import com.azure.resourcemanager.containerregistry.generated.fluent.models.EventInner;
+import com.azure.resourcemanager.containerregistry.generated.fluent.models.WebhookInner;
+import com.azure.resourcemanager.containerregistry.generated.models.WebhookCreateParameters;
+import com.azure.resourcemanager.containerregistry.generated.models.WebhookUpdateParameters;
+
+/**
+ * An instance of this class provides access to all the operations defined in WebhooksClient.
+ */
+public interface WebhooksClient {
+ /**
+ * Lists all the webhooks for the specified container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the result of a request to list webhooks for a container registry as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String registryName);
+
+ /**
+ * Lists all the webhooks for the specified container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @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 result of a request to list webhooks for a container registry as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String registryName, Context context);
+
+ /**
+ * Gets the properties of the specified webhook.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param webhookName The name of the webhook.
+ * @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 properties of the specified webhook along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String registryName, String webhookName,
+ Context context);
+
+ /**
+ * Gets the properties of the specified webhook.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param webhookName The name of the webhook.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the properties of the specified webhook.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ WebhookInner get(String resourceGroupName, String registryName, String webhookName);
+
+ /**
+ * Creates a webhook for a container registry with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param webhookName The name of the webhook.
+ * @param webhookCreateParameters The parameters for creating a webhook.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 an object that represents a webhook for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, WebhookInner> beginCreate(String resourceGroupName, String registryName,
+ String webhookName, WebhookCreateParameters webhookCreateParameters);
+
+ /**
+ * Creates a webhook for a container registry with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param webhookName The name of the webhook.
+ * @param webhookCreateParameters The parameters for creating a webhook.
+ * @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 an object that represents a webhook for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, WebhookInner> beginCreate(String resourceGroupName, String registryName,
+ String webhookName, WebhookCreateParameters webhookCreateParameters, Context context);
+
+ /**
+ * Creates a webhook for a container registry with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param webhookName The name of the webhook.
+ * @param webhookCreateParameters The parameters for creating a webhook.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an object that represents a webhook for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ WebhookInner create(String resourceGroupName, String registryName, String webhookName,
+ WebhookCreateParameters webhookCreateParameters);
+
+ /**
+ * Creates a webhook for a container registry with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param webhookName The name of the webhook.
+ * @param webhookCreateParameters The parameters for creating a webhook.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an object that represents a webhook for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ WebhookInner create(String resourceGroupName, String registryName, String webhookName,
+ WebhookCreateParameters webhookCreateParameters, Context context);
+
+ /**
+ * Deletes a webhook from a container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param webhookName The name of the webhook.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 registryName, String webhookName);
+
+ /**
+ * Deletes a webhook from a container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param webhookName The name of the webhook.
+ * @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 registryName, String webhookName,
+ Context context);
+
+ /**
+ * Deletes a webhook from a container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param webhookName The name of the webhook.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 registryName, String webhookName);
+
+ /**
+ * Deletes a webhook from a container registry.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param webhookName The name of the webhook.
+ * @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 registryName, String webhookName, Context context);
+
+ /**
+ * Updates a webhook with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param webhookName The name of the webhook.
+ * @param webhookUpdateParameters The parameters for updating a webhook.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 an object that represents a webhook for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, WebhookInner> beginUpdate(String resourceGroupName, String registryName,
+ String webhookName, WebhookUpdateParameters webhookUpdateParameters);
+
+ /**
+ * Updates a webhook with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param webhookName The name of the webhook.
+ * @param webhookUpdateParameters The parameters for updating a webhook.
+ * @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 an object that represents a webhook for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, WebhookInner> beginUpdate(String resourceGroupName, String registryName,
+ String webhookName, WebhookUpdateParameters webhookUpdateParameters, Context context);
+
+ /**
+ * Updates a webhook with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param webhookName The name of the webhook.
+ * @param webhookUpdateParameters The parameters for updating a webhook.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an object that represents a webhook for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ WebhookInner update(String resourceGroupName, String registryName, String webhookName,
+ WebhookUpdateParameters webhookUpdateParameters);
+
+ /**
+ * Updates a webhook with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param webhookName The name of the webhook.
+ * @param webhookUpdateParameters The parameters for updating a webhook.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an object that represents a webhook for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ WebhookInner update(String resourceGroupName, String registryName, String webhookName,
+ WebhookUpdateParameters webhookUpdateParameters, Context context);
+
+ /**
+ * Triggers a ping event to be sent to the webhook.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param webhookName The name of the webhook.
+ * @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 basic information of an event along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response pingWithResponse(String resourceGroupName, String registryName, String webhookName,
+ Context context);
+
+ /**
+ * Triggers a ping event to be sent to the webhook.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param webhookName The name of the webhook.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the basic information of an event.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ EventInfoInner ping(String resourceGroupName, String registryName, String webhookName);
+
+ /**
+ * Lists recent events for the specified webhook.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param webhookName The name of the webhook.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the result of a request to list events for a webhook as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listEvents(String resourceGroupName, String registryName, String webhookName);
+
+ /**
+ * Lists recent events for the specified webhook.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param webhookName The name of the webhook.
+ * @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 result of a request to list events for a webhook as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listEvents(String resourceGroupName, String registryName, String webhookName,
+ Context context);
+
+ /**
+ * Gets the configuration of service URI and custom headers for the webhook.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param webhookName The name of the webhook.
+ * @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 configuration of service URI and custom headers for the webhook along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getCallbackConfigWithResponse(String resourceGroupName, String registryName,
+ String webhookName, Context context);
+
+ /**
+ * Gets the configuration of service URI and custom headers for the webhook.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param webhookName The name of the webhook.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the configuration of service URI and custom headers for the webhook.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CallbackConfigInner getCallbackConfig(String resourceGroupName, String registryName, String webhookName);
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/AgentPoolInner.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/AgentPoolInner.java
new file mode 100644
index 000000000000..a66bfc8ed566
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/AgentPoolInner.java
@@ -0,0 +1,284 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerregistry.generated.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.containerregistry.generated.models.OS;
+import com.azure.resourcemanager.containerregistry.generated.models.ProvisioningState;
+import java.io.IOException;
+import java.util.Map;
+
+/**
+ * The agentpool that has the ARM resource and properties.
+ * The agentpool will have all information to create an agent pool.
+ */
+@Fluent
+public final class AgentPoolInner extends Resource {
+ /*
+ * The properties associated with the agent pool
+ */
+ private AgentPoolProperties innerProperties;
+
+ /*
+ * Metadata pertaining to creation and last modification of the resource.
+ */
+ 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 AgentPoolInner class.
+ */
+ public AgentPoolInner() {
+ }
+
+ /**
+ * Get the innerProperties property: The properties associated with the agent pool.
+ *
+ * @return the innerProperties value.
+ */
+ private AgentPoolProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the systemData property: Metadata pertaining to creation and last modification of the resource.
+ *
+ * @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 AgentPoolInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public AgentPoolInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Get the count property: The count of agent machine.
+ *
+ * @return the count value.
+ */
+ public Integer count() {
+ return this.innerProperties() == null ? null : this.innerProperties().count();
+ }
+
+ /**
+ * Set the count property: The count of agent machine.
+ *
+ * @param count the count value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withCount(Integer count) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AgentPoolProperties();
+ }
+ this.innerProperties().withCount(count);
+ return this;
+ }
+
+ /**
+ * Get the tier property: The Tier of agent machine.
+ *
+ * @return the tier value.
+ */
+ public String tier() {
+ return this.innerProperties() == null ? null : this.innerProperties().tier();
+ }
+
+ /**
+ * Set the tier property: The Tier of agent machine.
+ *
+ * @param tier the tier value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withTier(String tier) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AgentPoolProperties();
+ }
+ this.innerProperties().withTier(tier);
+ return this;
+ }
+
+ /**
+ * Get the os property: The OS of agent machine.
+ *
+ * @return the os value.
+ */
+ public OS os() {
+ return this.innerProperties() == null ? null : this.innerProperties().os();
+ }
+
+ /**
+ * Set the os property: The OS of agent machine.
+ *
+ * @param os the os value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withOs(OS os) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AgentPoolProperties();
+ }
+ this.innerProperties().withOs(os);
+ return this;
+ }
+
+ /**
+ * Get the virtualNetworkSubnetResourceId property: The Virtual Network Subnet Resource Id of the agent machine.
+ *
+ * @return the virtualNetworkSubnetResourceId value.
+ */
+ public String virtualNetworkSubnetResourceId() {
+ return this.innerProperties() == null ? null : this.innerProperties().virtualNetworkSubnetResourceId();
+ }
+
+ /**
+ * Set the virtualNetworkSubnetResourceId property: The Virtual Network Subnet Resource Id of the agent machine.
+ *
+ * @param virtualNetworkSubnetResourceId the virtualNetworkSubnetResourceId value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withVirtualNetworkSubnetResourceId(String virtualNetworkSubnetResourceId) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AgentPoolProperties();
+ }
+ this.innerProperties().withVirtualNetworkSubnetResourceId(virtualNetworkSubnetResourceId);
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: The provisioning state of this agent pool.
+ *
+ * @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 AgentPoolInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of AgentPoolInner 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 AgentPoolInner.
+ */
+ public static AgentPoolInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ AgentPoolInner deserializedAgentPoolInner = new AgentPoolInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedAgentPoolInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedAgentPoolInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedAgentPoolInner.type = reader.getString();
+ } else if ("location".equals(fieldName)) {
+ deserializedAgentPoolInner.withLocation(reader.getString());
+ } else if ("tags".equals(fieldName)) {
+ Map tags = reader.readMap(reader1 -> reader1.getString());
+ deserializedAgentPoolInner.withTags(tags);
+ } else if ("properties".equals(fieldName)) {
+ deserializedAgentPoolInner.innerProperties = AgentPoolProperties.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedAgentPoolInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedAgentPoolInner;
+ });
+ }
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/AgentPoolProperties.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/AgentPoolProperties.java
new file mode 100644
index 000000000000..bba894b311c9
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/AgentPoolProperties.java
@@ -0,0 +1,196 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerregistry.generated.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.containerregistry.generated.models.OS;
+import com.azure.resourcemanager.containerregistry.generated.models.ProvisioningState;
+import java.io.IOException;
+
+/**
+ * The properties of agent pool.
+ */
+@Fluent
+public final class AgentPoolProperties implements JsonSerializable {
+ /*
+ * The count of agent machine
+ */
+ private Integer count;
+
+ /*
+ * The Tier of agent machine
+ */
+ private String tier;
+
+ /*
+ * The OS of agent machine
+ */
+ private OS os;
+
+ /*
+ * The Virtual Network Subnet Resource Id of the agent machine
+ */
+ private String virtualNetworkSubnetResourceId;
+
+ /*
+ * The provisioning state of this agent pool
+ */
+ private ProvisioningState provisioningState;
+
+ /**
+ * Creates an instance of AgentPoolProperties class.
+ */
+ public AgentPoolProperties() {
+ }
+
+ /**
+ * Get the count property: The count of agent machine.
+ *
+ * @return the count value.
+ */
+ public Integer count() {
+ return this.count;
+ }
+
+ /**
+ * Set the count property: The count of agent machine.
+ *
+ * @param count the count value to set.
+ * @return the AgentPoolProperties object itself.
+ */
+ public AgentPoolProperties withCount(Integer count) {
+ this.count = count;
+ return this;
+ }
+
+ /**
+ * Get the tier property: The Tier of agent machine.
+ *
+ * @return the tier value.
+ */
+ public String tier() {
+ return this.tier;
+ }
+
+ /**
+ * Set the tier property: The Tier of agent machine.
+ *
+ * @param tier the tier value to set.
+ * @return the AgentPoolProperties object itself.
+ */
+ public AgentPoolProperties withTier(String tier) {
+ this.tier = tier;
+ return this;
+ }
+
+ /**
+ * Get the os property: The OS of agent machine.
+ *
+ * @return the os value.
+ */
+ public OS os() {
+ return this.os;
+ }
+
+ /**
+ * Set the os property: The OS of agent machine.
+ *
+ * @param os the os value to set.
+ * @return the AgentPoolProperties object itself.
+ */
+ public AgentPoolProperties withOs(OS os) {
+ this.os = os;
+ return this;
+ }
+
+ /**
+ * Get the virtualNetworkSubnetResourceId property: The Virtual Network Subnet Resource Id of the agent machine.
+ *
+ * @return the virtualNetworkSubnetResourceId value.
+ */
+ public String virtualNetworkSubnetResourceId() {
+ return this.virtualNetworkSubnetResourceId;
+ }
+
+ /**
+ * Set the virtualNetworkSubnetResourceId property: The Virtual Network Subnet Resource Id of the agent machine.
+ *
+ * @param virtualNetworkSubnetResourceId the virtualNetworkSubnetResourceId value to set.
+ * @return the AgentPoolProperties object itself.
+ */
+ public AgentPoolProperties withVirtualNetworkSubnetResourceId(String virtualNetworkSubnetResourceId) {
+ this.virtualNetworkSubnetResourceId = virtualNetworkSubnetResourceId;
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: The provisioning state of this agent pool.
+ *
+ * @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() {
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeNumberField("count", this.count);
+ jsonWriter.writeStringField("tier", this.tier);
+ jsonWriter.writeStringField("os", this.os == null ? null : this.os.toString());
+ jsonWriter.writeStringField("virtualNetworkSubnetResourceId", this.virtualNetworkSubnetResourceId);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of AgentPoolProperties from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of AgentPoolProperties 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 AgentPoolProperties.
+ */
+ public static AgentPoolProperties fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ AgentPoolProperties deserializedAgentPoolProperties = new AgentPoolProperties();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("count".equals(fieldName)) {
+ deserializedAgentPoolProperties.count = reader.getNullable(JsonReader::getInt);
+ } else if ("tier".equals(fieldName)) {
+ deserializedAgentPoolProperties.tier = reader.getString();
+ } else if ("os".equals(fieldName)) {
+ deserializedAgentPoolProperties.os = OS.fromString(reader.getString());
+ } else if ("virtualNetworkSubnetResourceId".equals(fieldName)) {
+ deserializedAgentPoolProperties.virtualNetworkSubnetResourceId = reader.getString();
+ } else if ("provisioningState".equals(fieldName)) {
+ deserializedAgentPoolProperties.provisioningState
+ = ProvisioningState.fromString(reader.getString());
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedAgentPoolProperties;
+ });
+ }
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/AgentPoolPropertiesUpdateParameters.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/AgentPoolPropertiesUpdateParameters.java
new file mode 100644
index 000000000000..336fafec9596
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/AgentPoolPropertiesUpdateParameters.java
@@ -0,0 +1,95 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerregistry.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+
+/**
+ * The AgentPoolPropertiesUpdateParameters model.
+ */
+@Fluent
+public final class AgentPoolPropertiesUpdateParameters
+ implements JsonSerializable {
+ /*
+ * The count of agent machine
+ */
+ private Integer count;
+
+ /**
+ * Creates an instance of AgentPoolPropertiesUpdateParameters class.
+ */
+ public AgentPoolPropertiesUpdateParameters() {
+ }
+
+ /**
+ * Get the count property: The count of agent machine.
+ *
+ * @return the count value.
+ */
+ public Integer count() {
+ return this.count;
+ }
+
+ /**
+ * Set the count property: The count of agent machine.
+ *
+ * @param count the count value to set.
+ * @return the AgentPoolPropertiesUpdateParameters object itself.
+ */
+ public AgentPoolPropertiesUpdateParameters withCount(Integer count) {
+ this.count = count;
+ 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.writeNumberField("count", this.count);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of AgentPoolPropertiesUpdateParameters from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of AgentPoolPropertiesUpdateParameters 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 AgentPoolPropertiesUpdateParameters.
+ */
+ public static AgentPoolPropertiesUpdateParameters fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ AgentPoolPropertiesUpdateParameters deserializedAgentPoolPropertiesUpdateParameters
+ = new AgentPoolPropertiesUpdateParameters();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("count".equals(fieldName)) {
+ deserializedAgentPoolPropertiesUpdateParameters.count = reader.getNullable(JsonReader::getInt);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedAgentPoolPropertiesUpdateParameters;
+ });
+ }
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/AgentPoolQueueStatusInner.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/AgentPoolQueueStatusInner.java
new file mode 100644
index 000000000000..895498057b1f
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/AgentPoolQueueStatusInner.java
@@ -0,0 +1,93 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerregistry.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+
+/**
+ * The QueueStatus of Agent Pool.
+ */
+@Fluent
+public final class AgentPoolQueueStatusInner implements JsonSerializable {
+ /*
+ * The number of pending runs in the queue
+ */
+ private Integer count;
+
+ /**
+ * Creates an instance of AgentPoolQueueStatusInner class.
+ */
+ public AgentPoolQueueStatusInner() {
+ }
+
+ /**
+ * Get the count property: The number of pending runs in the queue.
+ *
+ * @return the count value.
+ */
+ public Integer count() {
+ return this.count;
+ }
+
+ /**
+ * Set the count property: The number of pending runs in the queue.
+ *
+ * @param count the count value to set.
+ * @return the AgentPoolQueueStatusInner object itself.
+ */
+ public AgentPoolQueueStatusInner withCount(Integer count) {
+ this.count = count;
+ 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.writeNumberField("count", this.count);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of AgentPoolQueueStatusInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of AgentPoolQueueStatusInner 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 AgentPoolQueueStatusInner.
+ */
+ public static AgentPoolQueueStatusInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ AgentPoolQueueStatusInner deserializedAgentPoolQueueStatusInner = new AgentPoolQueueStatusInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("count".equals(fieldName)) {
+ deserializedAgentPoolQueueStatusInner.count = reader.getNullable(JsonReader::getInt);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedAgentPoolQueueStatusInner;
+ });
+ }
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/CacheRuleInner.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/CacheRuleInner.java
new file mode 100644
index 000000000000..f4aa374a1bdc
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/CacheRuleInner.java
@@ -0,0 +1,247 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerregistry.generated.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.containerregistry.generated.models.ProvisioningState;
+import java.io.IOException;
+import java.time.OffsetDateTime;
+
+/**
+ * An object that represents a cache rule for a container registry.
+ */
+@Fluent
+public final class CacheRuleInner extends ProxyResource {
+ /*
+ * The properties of the cache rule.
+ */
+ private CacheRuleProperties innerProperties;
+
+ /*
+ * Metadata pertaining to creation and last modification of the resource.
+ */
+ 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 CacheRuleInner class.
+ */
+ public CacheRuleInner() {
+ }
+
+ /**
+ * Get the innerProperties property: The properties of the cache rule.
+ *
+ * @return the innerProperties value.
+ */
+ private CacheRuleProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the systemData property: Metadata pertaining to creation and last modification of the resource.
+ *
+ * @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 credentialSetResourceId property: The ARM resource ID of the credential store which is associated with
+ * the cache rule.
+ *
+ * @return the credentialSetResourceId value.
+ */
+ public String credentialSetResourceId() {
+ return this.innerProperties() == null ? null : this.innerProperties().credentialSetResourceId();
+ }
+
+ /**
+ * Set the credentialSetResourceId property: The ARM resource ID of the credential store which is associated with
+ * the cache rule.
+ *
+ * @param credentialSetResourceId the credentialSetResourceId value to set.
+ * @return the CacheRuleInner object itself.
+ */
+ public CacheRuleInner withCredentialSetResourceId(String credentialSetResourceId) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new CacheRuleProperties();
+ }
+ this.innerProperties().withCredentialSetResourceId(credentialSetResourceId);
+ return this;
+ }
+
+ /**
+ * Get the sourceRepository property: Source repository pulled from upstream.
+ *
+ * @return the sourceRepository value.
+ */
+ public String sourceRepository() {
+ return this.innerProperties() == null ? null : this.innerProperties().sourceRepository();
+ }
+
+ /**
+ * Set the sourceRepository property: Source repository pulled from upstream.
+ *
+ * @param sourceRepository the sourceRepository value to set.
+ * @return the CacheRuleInner object itself.
+ */
+ public CacheRuleInner withSourceRepository(String sourceRepository) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new CacheRuleProperties();
+ }
+ this.innerProperties().withSourceRepository(sourceRepository);
+ return this;
+ }
+
+ /**
+ * Get the targetRepository property: Target repository specified in docker pull command.
+ * Eg: docker pull myregistry.azurecr.io/{targetRepository}:{tag}.
+ *
+ * @return the targetRepository value.
+ */
+ public String targetRepository() {
+ return this.innerProperties() == null ? null : this.innerProperties().targetRepository();
+ }
+
+ /**
+ * Set the targetRepository property: Target repository specified in docker pull command.
+ * Eg: docker pull myregistry.azurecr.io/{targetRepository}:{tag}.
+ *
+ * @param targetRepository the targetRepository value to set.
+ * @return the CacheRuleInner object itself.
+ */
+ public CacheRuleInner withTargetRepository(String targetRepository) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new CacheRuleProperties();
+ }
+ this.innerProperties().withTargetRepository(targetRepository);
+ return this;
+ }
+
+ /**
+ * Get the creationDate property: The creation date of the cache rule.
+ *
+ * @return the creationDate value.
+ */
+ public OffsetDateTime creationDate() {
+ return this.innerProperties() == null ? null : this.innerProperties().creationDate();
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning state of the resource.
+ *
+ * @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.writeJsonField("properties", this.innerProperties);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of CacheRuleInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of CacheRuleInner 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 CacheRuleInner.
+ */
+ public static CacheRuleInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ CacheRuleInner deserializedCacheRuleInner = new CacheRuleInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedCacheRuleInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedCacheRuleInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedCacheRuleInner.type = reader.getString();
+ } else if ("properties".equals(fieldName)) {
+ deserializedCacheRuleInner.innerProperties = CacheRuleProperties.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedCacheRuleInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedCacheRuleInner;
+ });
+ }
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/CacheRuleProperties.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/CacheRuleProperties.java
new file mode 100644
index 000000000000..ff4467e02457
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/CacheRuleProperties.java
@@ -0,0 +1,191 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerregistry.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.CoreUtils;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.containerregistry.generated.models.ProvisioningState;
+import java.io.IOException;
+import java.time.OffsetDateTime;
+
+/**
+ * The properties of a cache rule.
+ */
+@Fluent
+public final class CacheRuleProperties implements JsonSerializable {
+ /*
+ * The ARM resource ID of the credential store which is associated with the cache rule.
+ */
+ private String credentialSetResourceId;
+
+ /*
+ * Source repository pulled from upstream.
+ */
+ private String sourceRepository;
+
+ /*
+ * Target repository specified in docker pull command.
+ * Eg: docker pull myregistry.azurecr.io/{targetRepository}:{tag}
+ */
+ private String targetRepository;
+
+ /*
+ * The creation date of the cache rule.
+ */
+ private OffsetDateTime creationDate;
+
+ /*
+ * Provisioning state of the resource.
+ */
+ private ProvisioningState provisioningState;
+
+ /**
+ * Creates an instance of CacheRuleProperties class.
+ */
+ public CacheRuleProperties() {
+ }
+
+ /**
+ * Get the credentialSetResourceId property: The ARM resource ID of the credential store which is associated with
+ * the cache rule.
+ *
+ * @return the credentialSetResourceId value.
+ */
+ public String credentialSetResourceId() {
+ return this.credentialSetResourceId;
+ }
+
+ /**
+ * Set the credentialSetResourceId property: The ARM resource ID of the credential store which is associated with
+ * the cache rule.
+ *
+ * @param credentialSetResourceId the credentialSetResourceId value to set.
+ * @return the CacheRuleProperties object itself.
+ */
+ public CacheRuleProperties withCredentialSetResourceId(String credentialSetResourceId) {
+ this.credentialSetResourceId = credentialSetResourceId;
+ return this;
+ }
+
+ /**
+ * Get the sourceRepository property: Source repository pulled from upstream.
+ *
+ * @return the sourceRepository value.
+ */
+ public String sourceRepository() {
+ return this.sourceRepository;
+ }
+
+ /**
+ * Set the sourceRepository property: Source repository pulled from upstream.
+ *
+ * @param sourceRepository the sourceRepository value to set.
+ * @return the CacheRuleProperties object itself.
+ */
+ public CacheRuleProperties withSourceRepository(String sourceRepository) {
+ this.sourceRepository = sourceRepository;
+ return this;
+ }
+
+ /**
+ * Get the targetRepository property: Target repository specified in docker pull command.
+ * Eg: docker pull myregistry.azurecr.io/{targetRepository}:{tag}.
+ *
+ * @return the targetRepository value.
+ */
+ public String targetRepository() {
+ return this.targetRepository;
+ }
+
+ /**
+ * Set the targetRepository property: Target repository specified in docker pull command.
+ * Eg: docker pull myregistry.azurecr.io/{targetRepository}:{tag}.
+ *
+ * @param targetRepository the targetRepository value to set.
+ * @return the CacheRuleProperties object itself.
+ */
+ public CacheRuleProperties withTargetRepository(String targetRepository) {
+ this.targetRepository = targetRepository;
+ return this;
+ }
+
+ /**
+ * Get the creationDate property: The creation date of the cache rule.
+ *
+ * @return the creationDate value.
+ */
+ public OffsetDateTime creationDate() {
+ return this.creationDate;
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning state of the resource.
+ *
+ * @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() {
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("credentialSetResourceId", this.credentialSetResourceId);
+ jsonWriter.writeStringField("sourceRepository", this.sourceRepository);
+ jsonWriter.writeStringField("targetRepository", this.targetRepository);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of CacheRuleProperties from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of CacheRuleProperties 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 CacheRuleProperties.
+ */
+ public static CacheRuleProperties fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ CacheRuleProperties deserializedCacheRuleProperties = new CacheRuleProperties();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("credentialSetResourceId".equals(fieldName)) {
+ deserializedCacheRuleProperties.credentialSetResourceId = reader.getString();
+ } else if ("sourceRepository".equals(fieldName)) {
+ deserializedCacheRuleProperties.sourceRepository = reader.getString();
+ } else if ("targetRepository".equals(fieldName)) {
+ deserializedCacheRuleProperties.targetRepository = reader.getString();
+ } else if ("creationDate".equals(fieldName)) {
+ deserializedCacheRuleProperties.creationDate = reader
+ .getNullable(nonNullReader -> CoreUtils.parseBestOffsetDateTime(nonNullReader.getString()));
+ } else if ("provisioningState".equals(fieldName)) {
+ deserializedCacheRuleProperties.provisioningState
+ = ProvisioningState.fromString(reader.getString());
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedCacheRuleProperties;
+ });
+ }
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/CacheRuleUpdateProperties.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/CacheRuleUpdateProperties.java
new file mode 100644
index 000000000000..690d9cba1d8f
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/CacheRuleUpdateProperties.java
@@ -0,0 +1,95 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerregistry.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+
+/**
+ * The parameters for updating cache rule properties.
+ */
+@Fluent
+public final class CacheRuleUpdateProperties implements JsonSerializable {
+ /*
+ * The ARM resource ID of the credential store which is associated with the Cache rule.
+ */
+ private String credentialSetResourceId;
+
+ /**
+ * Creates an instance of CacheRuleUpdateProperties class.
+ */
+ public CacheRuleUpdateProperties() {
+ }
+
+ /**
+ * Get the credentialSetResourceId property: The ARM resource ID of the credential store which is associated with
+ * the Cache rule.
+ *
+ * @return the credentialSetResourceId value.
+ */
+ public String credentialSetResourceId() {
+ return this.credentialSetResourceId;
+ }
+
+ /**
+ * Set the credentialSetResourceId property: The ARM resource ID of the credential store which is associated with
+ * the Cache rule.
+ *
+ * @param credentialSetResourceId the credentialSetResourceId value to set.
+ * @return the CacheRuleUpdateProperties object itself.
+ */
+ public CacheRuleUpdateProperties withCredentialSetResourceId(String credentialSetResourceId) {
+ this.credentialSetResourceId = credentialSetResourceId;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("credentialSetResourceId", this.credentialSetResourceId);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of CacheRuleUpdateProperties from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of CacheRuleUpdateProperties 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 CacheRuleUpdateProperties.
+ */
+ public static CacheRuleUpdateProperties fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ CacheRuleUpdateProperties deserializedCacheRuleUpdateProperties = new CacheRuleUpdateProperties();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("credentialSetResourceId".equals(fieldName)) {
+ deserializedCacheRuleUpdateProperties.credentialSetResourceId = reader.getString();
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedCacheRuleUpdateProperties;
+ });
+ }
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/CallbackConfigInner.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/CallbackConfigInner.java
new file mode 100644
index 000000000000..71a92c76f41e
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/CallbackConfigInner.java
@@ -0,0 +1,131 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerregistry.generated.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;
+import java.util.Map;
+
+/**
+ * The configuration of service URI and custom headers for the webhook.
+ */
+@Fluent
+public final class CallbackConfigInner implements JsonSerializable {
+ /*
+ * The service URI for the webhook to post notifications.
+ */
+ private String serviceUri;
+
+ /*
+ * Custom headers that will be added to the webhook notifications.
+ */
+ private Map customHeaders;
+
+ /**
+ * Creates an instance of CallbackConfigInner class.
+ */
+ public CallbackConfigInner() {
+ }
+
+ /**
+ * Get the serviceUri property: The service URI for the webhook to post notifications.
+ *
+ * @return the serviceUri value.
+ */
+ public String serviceUri() {
+ return this.serviceUri;
+ }
+
+ /**
+ * Set the serviceUri property: The service URI for the webhook to post notifications.
+ *
+ * @param serviceUri the serviceUri value to set.
+ * @return the CallbackConfigInner object itself.
+ */
+ public CallbackConfigInner withServiceUri(String serviceUri) {
+ this.serviceUri = serviceUri;
+ return this;
+ }
+
+ /**
+ * Get the customHeaders property: Custom headers that will be added to the webhook notifications.
+ *
+ * @return the customHeaders value.
+ */
+ public Map customHeaders() {
+ return this.customHeaders;
+ }
+
+ /**
+ * Set the customHeaders property: Custom headers that will be added to the webhook notifications.
+ *
+ * @param customHeaders the customHeaders value to set.
+ * @return the CallbackConfigInner object itself.
+ */
+ public CallbackConfigInner withCustomHeaders(Map customHeaders) {
+ this.customHeaders = customHeaders;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (serviceUri() == null) {
+ throw LOGGER.atError()
+ .log(new IllegalArgumentException("Missing required property serviceUri in model CallbackConfigInner"));
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(CallbackConfigInner.class);
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("serviceUri", this.serviceUri);
+ jsonWriter.writeMapField("customHeaders", this.customHeaders, (writer, element) -> writer.writeString(element));
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of CallbackConfigInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of CallbackConfigInner 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 CallbackConfigInner.
+ */
+ public static CallbackConfigInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ CallbackConfigInner deserializedCallbackConfigInner = new CallbackConfigInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("serviceUri".equals(fieldName)) {
+ deserializedCallbackConfigInner.serviceUri = reader.getString();
+ } else if ("customHeaders".equals(fieldName)) {
+ Map customHeaders = reader.readMap(reader1 -> reader1.getString());
+ deserializedCallbackConfigInner.customHeaders = customHeaders;
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedCallbackConfigInner;
+ });
+ }
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/ConnectedRegistryInner.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/ConnectedRegistryInner.java
new file mode 100644
index 000000000000..afe9d6f27e59
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/ConnectedRegistryInner.java
@@ -0,0 +1,386 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerregistry.generated.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.containerregistry.generated.models.ConnectedRegistryMode;
+import com.azure.resourcemanager.containerregistry.generated.models.ConnectedRegistryPropertiesActivation;
+import com.azure.resourcemanager.containerregistry.generated.models.ConnectionState;
+import com.azure.resourcemanager.containerregistry.generated.models.GarbageCollectionProperties;
+import com.azure.resourcemanager.containerregistry.generated.models.LoggingProperties;
+import com.azure.resourcemanager.containerregistry.generated.models.LoginServerProperties;
+import com.azure.resourcemanager.containerregistry.generated.models.ParentProperties;
+import com.azure.resourcemanager.containerregistry.generated.models.ProvisioningState;
+import com.azure.resourcemanager.containerregistry.generated.models.StatusDetailProperties;
+import java.io.IOException;
+import java.time.OffsetDateTime;
+import java.util.List;
+
+/**
+ * An object that represents a connected registry for a container registry.
+ */
+@Fluent
+public final class ConnectedRegistryInner extends ProxyResource {
+ /*
+ * The properties property.
+ */
+ private ConnectedRegistryProperties innerProperties;
+
+ /*
+ * Metadata pertaining to creation and last modification of the resource.
+ */
+ 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 ConnectedRegistryInner class.
+ */
+ public ConnectedRegistryInner() {
+ }
+
+ /**
+ * Get the innerProperties property: The properties property.
+ *
+ * @return the innerProperties value.
+ */
+ private ConnectedRegistryProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the systemData property: Metadata pertaining to creation and last modification of the resource.
+ *
+ * @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 of the resource.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.innerProperties() == null ? null : this.innerProperties().provisioningState();
+ }
+
+ /**
+ * Get the mode property: The mode of the connected registry resource that indicates the permissions of the
+ * registry.
+ *
+ * @return the mode value.
+ */
+ public ConnectedRegistryMode mode() {
+ return this.innerProperties() == null ? null : this.innerProperties().mode();
+ }
+
+ /**
+ * Set the mode property: The mode of the connected registry resource that indicates the permissions of the
+ * registry.
+ *
+ * @param mode the mode value to set.
+ * @return the ConnectedRegistryInner object itself.
+ */
+ public ConnectedRegistryInner withMode(ConnectedRegistryMode mode) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ConnectedRegistryProperties();
+ }
+ this.innerProperties().withMode(mode);
+ return this;
+ }
+
+ /**
+ * Get the version property: The current version of ACR runtime on the connected registry.
+ *
+ * @return the version value.
+ */
+ public String version() {
+ return this.innerProperties() == null ? null : this.innerProperties().version();
+ }
+
+ /**
+ * Get the connectionState property: The current connection state of the connected registry.
+ *
+ * @return the connectionState value.
+ */
+ public ConnectionState connectionState() {
+ return this.innerProperties() == null ? null : this.innerProperties().connectionState();
+ }
+
+ /**
+ * Get the lastActivityTime property: The last activity time of the connected registry.
+ *
+ * @return the lastActivityTime value.
+ */
+ public OffsetDateTime lastActivityTime() {
+ return this.innerProperties() == null ? null : this.innerProperties().lastActivityTime();
+ }
+
+ /**
+ * Get the activation property: The activation property.
+ *
+ * @return the activation value.
+ */
+ public ConnectedRegistryPropertiesActivation activation() {
+ return this.innerProperties() == null ? null : this.innerProperties().activation();
+ }
+
+ /**
+ * Get the parent property: The properties of the connected registry parent.
+ *
+ * @return the parent value.
+ */
+ public ParentProperties parent() {
+ return this.innerProperties() == null ? null : this.innerProperties().parent();
+ }
+
+ /**
+ * Set the parent property: The properties of the connected registry parent.
+ *
+ * @param parent the parent value to set.
+ * @return the ConnectedRegistryInner object itself.
+ */
+ public ConnectedRegistryInner withParent(ParentProperties parent) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ConnectedRegistryProperties();
+ }
+ this.innerProperties().withParent(parent);
+ return this;
+ }
+
+ /**
+ * Get the clientTokenIds property: The list of the ACR token resource IDs used to authenticate clients to the
+ * connected registry.
+ *
+ * @return the clientTokenIds value.
+ */
+ public List clientTokenIds() {
+ return this.innerProperties() == null ? null : this.innerProperties().clientTokenIds();
+ }
+
+ /**
+ * Set the clientTokenIds property: The list of the ACR token resource IDs used to authenticate clients to the
+ * connected registry.
+ *
+ * @param clientTokenIds the clientTokenIds value to set.
+ * @return the ConnectedRegistryInner object itself.
+ */
+ public ConnectedRegistryInner withClientTokenIds(List clientTokenIds) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ConnectedRegistryProperties();
+ }
+ this.innerProperties().withClientTokenIds(clientTokenIds);
+ return this;
+ }
+
+ /**
+ * Get the loginServer property: The login server properties of the connected registry.
+ *
+ * @return the loginServer value.
+ */
+ public LoginServerProperties loginServer() {
+ return this.innerProperties() == null ? null : this.innerProperties().loginServer();
+ }
+
+ /**
+ * Set the loginServer property: The login server properties of the connected registry.
+ *
+ * @param loginServer the loginServer value to set.
+ * @return the ConnectedRegistryInner object itself.
+ */
+ public ConnectedRegistryInner withLoginServer(LoginServerProperties loginServer) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ConnectedRegistryProperties();
+ }
+ this.innerProperties().withLoginServer(loginServer);
+ return this;
+ }
+
+ /**
+ * Get the logging property: The logging properties of the connected registry.
+ *
+ * @return the logging value.
+ */
+ public LoggingProperties logging() {
+ return this.innerProperties() == null ? null : this.innerProperties().logging();
+ }
+
+ /**
+ * Set the logging property: The logging properties of the connected registry.
+ *
+ * @param logging the logging value to set.
+ * @return the ConnectedRegistryInner object itself.
+ */
+ public ConnectedRegistryInner withLogging(LoggingProperties logging) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ConnectedRegistryProperties();
+ }
+ this.innerProperties().withLogging(logging);
+ return this;
+ }
+
+ /**
+ * Get the statusDetails property: The list of current statuses of the connected registry.
+ *
+ * @return the statusDetails value.
+ */
+ public List statusDetails() {
+ return this.innerProperties() == null ? null : this.innerProperties().statusDetails();
+ }
+
+ /**
+ * Get the notificationsList property: The list of notifications subscription information for the connected
+ * registry.
+ *
+ * @return the notificationsList value.
+ */
+ public List notificationsList() {
+ return this.innerProperties() == null ? null : this.innerProperties().notificationsList();
+ }
+
+ /**
+ * Set the notificationsList property: The list of notifications subscription information for the connected
+ * registry.
+ *
+ * @param notificationsList the notificationsList value to set.
+ * @return the ConnectedRegistryInner object itself.
+ */
+ public ConnectedRegistryInner withNotificationsList(List notificationsList) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ConnectedRegistryProperties();
+ }
+ this.innerProperties().withNotificationsList(notificationsList);
+ return this;
+ }
+
+ /**
+ * Get the garbageCollection property: The garbage collection properties of the connected registry.
+ *
+ * @return the garbageCollection value.
+ */
+ public GarbageCollectionProperties garbageCollection() {
+ return this.innerProperties() == null ? null : this.innerProperties().garbageCollection();
+ }
+
+ /**
+ * Set the garbageCollection property: The garbage collection properties of the connected registry.
+ *
+ * @param garbageCollection the garbageCollection value to set.
+ * @return the ConnectedRegistryInner object itself.
+ */
+ public ConnectedRegistryInner withGarbageCollection(GarbageCollectionProperties garbageCollection) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ConnectedRegistryProperties();
+ }
+ this.innerProperties().withGarbageCollection(garbageCollection);
+ 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 ConnectedRegistryInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of ConnectedRegistryInner 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 ConnectedRegistryInner.
+ */
+ public static ConnectedRegistryInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ ConnectedRegistryInner deserializedConnectedRegistryInner = new ConnectedRegistryInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedConnectedRegistryInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedConnectedRegistryInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedConnectedRegistryInner.type = reader.getString();
+ } else if ("properties".equals(fieldName)) {
+ deserializedConnectedRegistryInner.innerProperties = ConnectedRegistryProperties.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedConnectedRegistryInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedConnectedRegistryInner;
+ });
+ }
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/ConnectedRegistryProperties.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/ConnectedRegistryProperties.java
new file mode 100644
index 000000000000..ce08f3579e5b
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/ConnectedRegistryProperties.java
@@ -0,0 +1,307 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerregistry.generated.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.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.containerregistry.generated.models.ConnectedRegistryMode;
+import com.azure.resourcemanager.containerregistry.generated.models.ConnectedRegistryPropertiesActivation;
+import com.azure.resourcemanager.containerregistry.generated.models.ConnectedRegistryPropertiesAutoGenerated;
+import com.azure.resourcemanager.containerregistry.generated.models.ConnectionState;
+import com.azure.resourcemanager.containerregistry.generated.models.GarbageCollectionProperties;
+import com.azure.resourcemanager.containerregistry.generated.models.LoggingProperties;
+import com.azure.resourcemanager.containerregistry.generated.models.LoginServerProperties;
+import com.azure.resourcemanager.containerregistry.generated.models.ParentProperties;
+import com.azure.resourcemanager.containerregistry.generated.models.ProvisioningState;
+import com.azure.resourcemanager.containerregistry.generated.models.StatusDetailProperties;
+import java.io.IOException;
+import java.time.OffsetDateTime;
+import java.util.List;
+
+/**
+ * The ConnectedRegistryProperties model.
+ */
+@Fluent
+public final class ConnectedRegistryProperties extends ConnectedRegistryPropertiesAutoGenerated {
+ /*
+ * The list of current statuses of the connected registry.
+ */
+ private List statusDetails;
+
+ /*
+ * The activation property.
+ */
+ private ConnectedRegistryPropertiesActivation activation;
+
+ /*
+ * The last activity time of the connected registry.
+ */
+ private OffsetDateTime lastActivityTime;
+
+ /*
+ * The current connection state of the connected registry.
+ */
+ private ConnectionState connectionState;
+
+ /*
+ * The current version of ACR runtime on the connected registry.
+ */
+ private String version;
+
+ /*
+ * Provisioning state of the resource.
+ */
+ private ProvisioningState provisioningState;
+
+ /**
+ * Creates an instance of ConnectedRegistryProperties class.
+ */
+ public ConnectedRegistryProperties() {
+ }
+
+ /**
+ * Get the statusDetails property: The list of current statuses of the connected registry.
+ *
+ * @return the statusDetails value.
+ */
+ @Override
+ public List statusDetails() {
+ return this.statusDetails;
+ }
+
+ /**
+ * Get the activation property: The activation property.
+ *
+ * @return the activation value.
+ */
+ @Override
+ public ConnectedRegistryPropertiesActivation activation() {
+ return this.activation;
+ }
+
+ /**
+ * Get the lastActivityTime property: The last activity time of the connected registry.
+ *
+ * @return the lastActivityTime value.
+ */
+ @Override
+ public OffsetDateTime lastActivityTime() {
+ return this.lastActivityTime;
+ }
+
+ /**
+ * Get the connectionState property: The current connection state of the connected registry.
+ *
+ * @return the connectionState value.
+ */
+ @Override
+ public ConnectionState connectionState() {
+ return this.connectionState;
+ }
+
+ /**
+ * Get the version property: The current version of ACR runtime on the connected registry.
+ *
+ * @return the version value.
+ */
+ @Override
+ public String version() {
+ return this.version;
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning state of the resource.
+ *
+ * @return the provisioningState value.
+ */
+ @Override
+ public ProvisioningState provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public ConnectedRegistryProperties withMode(ConnectedRegistryMode mode) {
+ super.withMode(mode);
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public ConnectedRegistryProperties withParent(ParentProperties parent) {
+ super.withParent(parent);
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public ConnectedRegistryProperties withClientTokenIds(List clientTokenIds) {
+ super.withClientTokenIds(clientTokenIds);
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public ConnectedRegistryProperties withLoginServer(LoginServerProperties loginServer) {
+ super.withLoginServer(loginServer);
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public ConnectedRegistryProperties withLogging(LoggingProperties logging) {
+ super.withLogging(logging);
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public ConnectedRegistryProperties withNotificationsList(List notificationsList) {
+ super.withNotificationsList(notificationsList);
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public ConnectedRegistryProperties withGarbageCollection(GarbageCollectionProperties garbageCollection) {
+ super.withGarbageCollection(garbageCollection);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ if (mode() == null) {
+ throw LOGGER.atError()
+ .log(new IllegalArgumentException(
+ "Missing required property mode in model ConnectedRegistryProperties"));
+ }
+ if (activation() != null) {
+ activation().validate();
+ }
+ if (parent() == null) {
+ throw LOGGER.atError()
+ .log(new IllegalArgumentException(
+ "Missing required property parent in model ConnectedRegistryProperties"));
+ } else {
+ parent().validate();
+ }
+ if (loginServer() != null) {
+ loginServer().validate();
+ }
+ if (logging() != null) {
+ logging().validate();
+ }
+ if (statusDetails() != null) {
+ statusDetails().forEach(e -> e.validate());
+ }
+ if (garbageCollection() != null) {
+ garbageCollection().validate();
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(ConnectedRegistryProperties.class);
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("mode", mode() == null ? null : mode().toString());
+ jsonWriter.writeJsonField("parent", parent());
+ jsonWriter.writeArrayField("clientTokenIds", clientTokenIds(),
+ (writer, element) -> writer.writeString(element));
+ jsonWriter.writeJsonField("loginServer", loginServer());
+ jsonWriter.writeJsonField("logging", logging());
+ jsonWriter.writeArrayField("notificationsList", notificationsList(),
+ (writer, element) -> writer.writeString(element));
+ jsonWriter.writeJsonField("garbageCollection", garbageCollection());
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of ConnectedRegistryProperties from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of ConnectedRegistryProperties 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 ConnectedRegistryProperties.
+ */
+ public static ConnectedRegistryProperties fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ ConnectedRegistryProperties deserializedConnectedRegistryProperties = new ConnectedRegistryProperties();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("mode".equals(fieldName)) {
+ deserializedConnectedRegistryProperties
+ .withMode(ConnectedRegistryMode.fromString(reader.getString()));
+ } else if ("parent".equals(fieldName)) {
+ deserializedConnectedRegistryProperties.withParent(ParentProperties.fromJson(reader));
+ } else if ("provisioningState".equals(fieldName)) {
+ deserializedConnectedRegistryProperties.provisioningState
+ = ProvisioningState.fromString(reader.getString());
+ } else if ("version".equals(fieldName)) {
+ deserializedConnectedRegistryProperties.version = reader.getString();
+ } else if ("connectionState".equals(fieldName)) {
+ deserializedConnectedRegistryProperties.connectionState
+ = ConnectionState.fromString(reader.getString());
+ } else if ("lastActivityTime".equals(fieldName)) {
+ deserializedConnectedRegistryProperties.lastActivityTime = reader
+ .getNullable(nonNullReader -> CoreUtils.parseBestOffsetDateTime(nonNullReader.getString()));
+ } else if ("activation".equals(fieldName)) {
+ deserializedConnectedRegistryProperties.activation
+ = ConnectedRegistryPropertiesActivation.fromJson(reader);
+ } else if ("clientTokenIds".equals(fieldName)) {
+ List clientTokenIds = reader.readArray(reader1 -> reader1.getString());
+ deserializedConnectedRegistryProperties.withClientTokenIds(clientTokenIds);
+ } else if ("loginServer".equals(fieldName)) {
+ deserializedConnectedRegistryProperties.withLoginServer(LoginServerProperties.fromJson(reader));
+ } else if ("logging".equals(fieldName)) {
+ deserializedConnectedRegistryProperties.withLogging(LoggingProperties.fromJson(reader));
+ } else if ("statusDetails".equals(fieldName)) {
+ List statusDetails
+ = reader.readArray(reader1 -> StatusDetailProperties.fromJson(reader1));
+ deserializedConnectedRegistryProperties.statusDetails = statusDetails;
+ } else if ("notificationsList".equals(fieldName)) {
+ List notificationsList = reader.readArray(reader1 -> reader1.getString());
+ deserializedConnectedRegistryProperties.withNotificationsList(notificationsList);
+ } else if ("garbageCollection".equals(fieldName)) {
+ deserializedConnectedRegistryProperties
+ .withGarbageCollection(GarbageCollectionProperties.fromJson(reader));
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedConnectedRegistryProperties;
+ });
+ }
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/ConnectedRegistryUpdateParametersProperties.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/ConnectedRegistryUpdateParametersProperties.java
new file mode 100644
index 000000000000..b5378e6c824e
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/ConnectedRegistryUpdateParametersProperties.java
@@ -0,0 +1,148 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerregistry.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.containerregistry.generated.models.ConnectedRegistryUpdateProperties;
+import com.azure.resourcemanager.containerregistry.generated.models.GarbageCollectionProperties;
+import com.azure.resourcemanager.containerregistry.generated.models.LoggingProperties;
+import com.azure.resourcemanager.containerregistry.generated.models.SyncUpdateProperties;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * The ConnectedRegistryUpdateParametersProperties model.
+ */
+@Fluent
+public final class ConnectedRegistryUpdateParametersProperties extends ConnectedRegistryUpdateProperties {
+ /**
+ * Creates an instance of ConnectedRegistryUpdateParametersProperties class.
+ */
+ public ConnectedRegistryUpdateParametersProperties() {
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public ConnectedRegistryUpdateParametersProperties withSyncProperties(SyncUpdateProperties syncProperties) {
+ super.withSyncProperties(syncProperties);
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public ConnectedRegistryUpdateParametersProperties withLogging(LoggingProperties logging) {
+ super.withLogging(logging);
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public ConnectedRegistryUpdateParametersProperties withClientTokenIds(List clientTokenIds) {
+ super.withClientTokenIds(clientTokenIds);
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public ConnectedRegistryUpdateParametersProperties withNotificationsList(List notificationsList) {
+ super.withNotificationsList(notificationsList);
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public ConnectedRegistryUpdateParametersProperties
+ withGarbageCollection(GarbageCollectionProperties garbageCollection) {
+ super.withGarbageCollection(garbageCollection);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ if (syncProperties() != null) {
+ syncProperties().validate();
+ }
+ if (logging() != null) {
+ logging().validate();
+ }
+ if (garbageCollection() != null) {
+ garbageCollection().validate();
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeJsonField("syncProperties", syncProperties());
+ jsonWriter.writeJsonField("logging", logging());
+ jsonWriter.writeArrayField("clientTokenIds", clientTokenIds(),
+ (writer, element) -> writer.writeString(element));
+ jsonWriter.writeArrayField("notificationsList", notificationsList(),
+ (writer, element) -> writer.writeString(element));
+ jsonWriter.writeJsonField("garbageCollection", garbageCollection());
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of ConnectedRegistryUpdateParametersProperties from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of ConnectedRegistryUpdateParametersProperties 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 ConnectedRegistryUpdateParametersProperties.
+ */
+ public static ConnectedRegistryUpdateParametersProperties fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ ConnectedRegistryUpdateParametersProperties deserializedConnectedRegistryUpdateParametersProperties
+ = new ConnectedRegistryUpdateParametersProperties();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("syncProperties".equals(fieldName)) {
+ deserializedConnectedRegistryUpdateParametersProperties
+ .withSyncProperties(SyncUpdateProperties.fromJson(reader));
+ } else if ("logging".equals(fieldName)) {
+ deserializedConnectedRegistryUpdateParametersProperties
+ .withLogging(LoggingProperties.fromJson(reader));
+ } else if ("clientTokenIds".equals(fieldName)) {
+ List clientTokenIds = reader.readArray(reader1 -> reader1.getString());
+ deserializedConnectedRegistryUpdateParametersProperties.withClientTokenIds(clientTokenIds);
+ } else if ("notificationsList".equals(fieldName)) {
+ List notificationsList = reader.readArray(reader1 -> reader1.getString());
+ deserializedConnectedRegistryUpdateParametersProperties.withNotificationsList(notificationsList);
+ } else if ("garbageCollection".equals(fieldName)) {
+ deserializedConnectedRegistryUpdateParametersProperties
+ .withGarbageCollection(GarbageCollectionProperties.fromJson(reader));
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedConnectedRegistryUpdateParametersProperties;
+ });
+ }
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/CredentialSetInner.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/CredentialSetInner.java
new file mode 100644
index 000000000000..280741e8bec6
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/CredentialSetInner.java
@@ -0,0 +1,256 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerregistry.generated.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.containerregistry.generated.models.AuthCredential;
+import com.azure.resourcemanager.containerregistry.generated.models.IdentityProperties;
+import com.azure.resourcemanager.containerregistry.generated.models.ProvisioningState;
+import java.io.IOException;
+import java.time.OffsetDateTime;
+import java.util.List;
+
+/**
+ * An object that represents a credential set resource for a container registry.
+ */
+@Fluent
+public final class CredentialSetInner extends ProxyResource {
+ /*
+ * Identities associated with the resource. This is used to access the KeyVault secrets.
+ */
+ private IdentityProperties identity;
+
+ /*
+ * The properties of the credential set.
+ */
+ private CredentialSetProperties innerProperties;
+
+ /*
+ * Metadata pertaining to creation and last modification of the resource.
+ */
+ 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 CredentialSetInner class.
+ */
+ public CredentialSetInner() {
+ }
+
+ /**
+ * Get the identity property: Identities associated with the resource. This is used to access the KeyVault secrets.
+ *
+ * @return the identity value.
+ */
+ public IdentityProperties identity() {
+ return this.identity;
+ }
+
+ /**
+ * Set the identity property: Identities associated with the resource. This is used to access the KeyVault secrets.
+ *
+ * @param identity the identity value to set.
+ * @return the CredentialSetInner object itself.
+ */
+ public CredentialSetInner withIdentity(IdentityProperties identity) {
+ this.identity = identity;
+ return this;
+ }
+
+ /**
+ * Get the innerProperties property: The properties of the credential set.
+ *
+ * @return the innerProperties value.
+ */
+ private CredentialSetProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the systemData property: Metadata pertaining to creation and last modification of the resource.
+ *
+ * @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 loginServer property: The credentials are stored for this upstream or login server.
+ *
+ * @return the loginServer value.
+ */
+ public String loginServer() {
+ return this.innerProperties() == null ? null : this.innerProperties().loginServer();
+ }
+
+ /**
+ * Set the loginServer property: The credentials are stored for this upstream or login server.
+ *
+ * @param loginServer the loginServer value to set.
+ * @return the CredentialSetInner object itself.
+ */
+ public CredentialSetInner withLoginServer(String loginServer) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new CredentialSetProperties();
+ }
+ this.innerProperties().withLoginServer(loginServer);
+ return this;
+ }
+
+ /**
+ * Get the authCredentials property: List of authentication credentials stored for an upstream.
+ * Usually consists of a primary and an optional secondary credential.
+ *
+ * @return the authCredentials value.
+ */
+ public List authCredentials() {
+ return this.innerProperties() == null ? null : this.innerProperties().authCredentials();
+ }
+
+ /**
+ * Set the authCredentials property: List of authentication credentials stored for an upstream.
+ * Usually consists of a primary and an optional secondary credential.
+ *
+ * @param authCredentials the authCredentials value to set.
+ * @return the CredentialSetInner object itself.
+ */
+ public CredentialSetInner withAuthCredentials(List authCredentials) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new CredentialSetProperties();
+ }
+ this.innerProperties().withAuthCredentials(authCredentials);
+ return this;
+ }
+
+ /**
+ * Get the creationDate property: The creation date of credential store resource.
+ *
+ * @return the creationDate value.
+ */
+ public OffsetDateTime creationDate() {
+ return this.innerProperties() == null ? null : this.innerProperties().creationDate();
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning state of the resource.
+ *
+ * @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 (identity() != null) {
+ identity().validate();
+ }
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeJsonField("identity", this.identity);
+ jsonWriter.writeJsonField("properties", this.innerProperties);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of CredentialSetInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of CredentialSetInner 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 CredentialSetInner.
+ */
+ public static CredentialSetInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ CredentialSetInner deserializedCredentialSetInner = new CredentialSetInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedCredentialSetInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedCredentialSetInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedCredentialSetInner.type = reader.getString();
+ } else if ("identity".equals(fieldName)) {
+ deserializedCredentialSetInner.identity = IdentityProperties.fromJson(reader);
+ } else if ("properties".equals(fieldName)) {
+ deserializedCredentialSetInner.innerProperties = CredentialSetProperties.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedCredentialSetInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedCredentialSetInner;
+ });
+ }
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/CredentialSetProperties.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/CredentialSetProperties.java
new file mode 100644
index 000000000000..4790ac4a364a
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/CredentialSetProperties.java
@@ -0,0 +1,169 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerregistry.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.CoreUtils;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.containerregistry.generated.models.AuthCredential;
+import com.azure.resourcemanager.containerregistry.generated.models.ProvisioningState;
+import java.io.IOException;
+import java.time.OffsetDateTime;
+import java.util.List;
+
+/**
+ * The properties of a credential set resource.
+ */
+@Fluent
+public final class CredentialSetProperties implements JsonSerializable {
+ /*
+ * The credentials are stored for this upstream or login server.
+ */
+ private String loginServer;
+
+ /*
+ * List of authentication credentials stored for an upstream.
+ * Usually consists of a primary and an optional secondary credential.
+ */
+ private List authCredentials;
+
+ /*
+ * The creation date of credential store resource.
+ */
+ private OffsetDateTime creationDate;
+
+ /*
+ * Provisioning state of the resource.
+ */
+ private ProvisioningState provisioningState;
+
+ /**
+ * Creates an instance of CredentialSetProperties class.
+ */
+ public CredentialSetProperties() {
+ }
+
+ /**
+ * Get the loginServer property: The credentials are stored for this upstream or login server.
+ *
+ * @return the loginServer value.
+ */
+ public String loginServer() {
+ return this.loginServer;
+ }
+
+ /**
+ * Set the loginServer property: The credentials are stored for this upstream or login server.
+ *
+ * @param loginServer the loginServer value to set.
+ * @return the CredentialSetProperties object itself.
+ */
+ public CredentialSetProperties withLoginServer(String loginServer) {
+ this.loginServer = loginServer;
+ return this;
+ }
+
+ /**
+ * Get the authCredentials property: List of authentication credentials stored for an upstream.
+ * Usually consists of a primary and an optional secondary credential.
+ *
+ * @return the authCredentials value.
+ */
+ public List authCredentials() {
+ return this.authCredentials;
+ }
+
+ /**
+ * Set the authCredentials property: List of authentication credentials stored for an upstream.
+ * Usually consists of a primary and an optional secondary credential.
+ *
+ * @param authCredentials the authCredentials value to set.
+ * @return the CredentialSetProperties object itself.
+ */
+ public CredentialSetProperties withAuthCredentials(List authCredentials) {
+ this.authCredentials = authCredentials;
+ return this;
+ }
+
+ /**
+ * Get the creationDate property: The creation date of credential store resource.
+ *
+ * @return the creationDate value.
+ */
+ public OffsetDateTime creationDate() {
+ return this.creationDate;
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning state of the resource.
+ *
+ * @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 (authCredentials() != null) {
+ authCredentials().forEach(e -> e.validate());
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("loginServer", this.loginServer);
+ jsonWriter.writeArrayField("authCredentials", this.authCredentials,
+ (writer, element) -> writer.writeJson(element));
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of CredentialSetProperties from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of CredentialSetProperties 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 CredentialSetProperties.
+ */
+ public static CredentialSetProperties fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ CredentialSetProperties deserializedCredentialSetProperties = new CredentialSetProperties();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("loginServer".equals(fieldName)) {
+ deserializedCredentialSetProperties.loginServer = reader.getString();
+ } else if ("authCredentials".equals(fieldName)) {
+ List authCredentials
+ = reader.readArray(reader1 -> AuthCredential.fromJson(reader1));
+ deserializedCredentialSetProperties.authCredentials = authCredentials;
+ } else if ("creationDate".equals(fieldName)) {
+ deserializedCredentialSetProperties.creationDate = reader
+ .getNullable(nonNullReader -> CoreUtils.parseBestOffsetDateTime(nonNullReader.getString()));
+ } else if ("provisioningState".equals(fieldName)) {
+ deserializedCredentialSetProperties.provisioningState
+ = ProvisioningState.fromString(reader.getString());
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedCredentialSetProperties;
+ });
+ }
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/CredentialSetUpdateProperties.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/CredentialSetUpdateProperties.java
new file mode 100644
index 000000000000..2841893f7665
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/CredentialSetUpdateProperties.java
@@ -0,0 +1,105 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerregistry.generated.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.containerregistry.generated.models.AuthCredential;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * The parameters for updating credential set properties.
+ */
+@Fluent
+public final class CredentialSetUpdateProperties implements JsonSerializable {
+ /*
+ * List of authentication credentials stored for an upstream.
+ * Usually consists of a primary and an optional secondary credential.
+ */
+ private List authCredentials;
+
+ /**
+ * Creates an instance of CredentialSetUpdateProperties class.
+ */
+ public CredentialSetUpdateProperties() {
+ }
+
+ /**
+ * Get the authCredentials property: List of authentication credentials stored for an upstream.
+ * Usually consists of a primary and an optional secondary credential.
+ *
+ * @return the authCredentials value.
+ */
+ public List authCredentials() {
+ return this.authCredentials;
+ }
+
+ /**
+ * Set the authCredentials property: List of authentication credentials stored for an upstream.
+ * Usually consists of a primary and an optional secondary credential.
+ *
+ * @param authCredentials the authCredentials value to set.
+ * @return the CredentialSetUpdateProperties object itself.
+ */
+ public CredentialSetUpdateProperties withAuthCredentials(List authCredentials) {
+ this.authCredentials = authCredentials;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (authCredentials() != null) {
+ authCredentials().forEach(e -> e.validate());
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeArrayField("authCredentials", this.authCredentials,
+ (writer, element) -> writer.writeJson(element));
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of CredentialSetUpdateProperties from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of CredentialSetUpdateProperties 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 CredentialSetUpdateProperties.
+ */
+ public static CredentialSetUpdateProperties fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ CredentialSetUpdateProperties deserializedCredentialSetUpdateProperties
+ = new CredentialSetUpdateProperties();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("authCredentials".equals(fieldName)) {
+ List authCredentials
+ = reader.readArray(reader1 -> AuthCredential.fromJson(reader1));
+ deserializedCredentialSetUpdateProperties.authCredentials = authCredentials;
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedCredentialSetUpdateProperties;
+ });
+ }
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/EventInfoInner.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/EventInfoInner.java
new file mode 100644
index 000000000000..ebc97be50eab
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/EventInfoInner.java
@@ -0,0 +1,93 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerregistry.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+
+/**
+ * The basic information of an event.
+ */
+@Fluent
+public class EventInfoInner implements JsonSerializable {
+ /*
+ * The event ID.
+ */
+ private String id;
+
+ /**
+ * Creates an instance of EventInfoInner class.
+ */
+ public EventInfoInner() {
+ }
+
+ /**
+ * Get the id property: The event ID.
+ *
+ * @return the id value.
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Set the id property: The event ID.
+ *
+ * @param id the id value to set.
+ * @return the EventInfoInner object itself.
+ */
+ public EventInfoInner withId(String id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("id", this.id);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of EventInfoInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of EventInfoInner 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 EventInfoInner.
+ */
+ public static EventInfoInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ EventInfoInner deserializedEventInfoInner = new EventInfoInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedEventInfoInner.id = reader.getString();
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedEventInfoInner;
+ });
+ }
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/EventInner.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/EventInner.java
new file mode 100644
index 000000000000..339010e6da73
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/EventInner.java
@@ -0,0 +1,141 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerregistry.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.containerregistry.generated.models.EventRequestMessage;
+import com.azure.resourcemanager.containerregistry.generated.models.EventResponseMessage;
+import java.io.IOException;
+
+/**
+ * The event for a webhook.
+ */
+@Fluent
+public final class EventInner extends EventInfoInner {
+ /*
+ * The event request message sent to the service URI.
+ */
+ private EventRequestMessage eventRequestMessage;
+
+ /*
+ * The event response message received from the service URI.
+ */
+ private EventResponseMessage eventResponseMessage;
+
+ /**
+ * Creates an instance of EventInner class.
+ */
+ public EventInner() {
+ }
+
+ /**
+ * Get the eventRequestMessage property: The event request message sent to the service URI.
+ *
+ * @return the eventRequestMessage value.
+ */
+ public EventRequestMessage eventRequestMessage() {
+ return this.eventRequestMessage;
+ }
+
+ /**
+ * Set the eventRequestMessage property: The event request message sent to the service URI.
+ *
+ * @param eventRequestMessage the eventRequestMessage value to set.
+ * @return the EventInner object itself.
+ */
+ public EventInner withEventRequestMessage(EventRequestMessage eventRequestMessage) {
+ this.eventRequestMessage = eventRequestMessage;
+ return this;
+ }
+
+ /**
+ * Get the eventResponseMessage property: The event response message received from the service URI.
+ *
+ * @return the eventResponseMessage value.
+ */
+ public EventResponseMessage eventResponseMessage() {
+ return this.eventResponseMessage;
+ }
+
+ /**
+ * Set the eventResponseMessage property: The event response message received from the service URI.
+ *
+ * @param eventResponseMessage the eventResponseMessage value to set.
+ * @return the EventInner object itself.
+ */
+ public EventInner withEventResponseMessage(EventResponseMessage eventResponseMessage) {
+ this.eventResponseMessage = eventResponseMessage;
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public EventInner withId(String id) {
+ super.withId(id);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ if (eventRequestMessage() != null) {
+ eventRequestMessage().validate();
+ }
+ if (eventResponseMessage() != null) {
+ eventResponseMessage().validate();
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("id", id());
+ jsonWriter.writeJsonField("eventRequestMessage", this.eventRequestMessage);
+ jsonWriter.writeJsonField("eventResponseMessage", this.eventResponseMessage);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of EventInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of EventInner 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 EventInner.
+ */
+ public static EventInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ EventInner deserializedEventInner = new EventInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedEventInner.withId(reader.getString());
+ } else if ("eventRequestMessage".equals(fieldName)) {
+ deserializedEventInner.eventRequestMessage = EventRequestMessage.fromJson(reader);
+ } else if ("eventResponseMessage".equals(fieldName)) {
+ deserializedEventInner.eventResponseMessage = EventResponseMessage.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedEventInner;
+ });
+ }
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/GenerateCredentialsResultInner.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/GenerateCredentialsResultInner.java
new file mode 100644
index 000000000000..6c9ebc19d6ac
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/GenerateCredentialsResultInner.java
@@ -0,0 +1,128 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerregistry.generated.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.containerregistry.generated.models.TokenPassword;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * The response from the GenerateCredentials operation.
+ */
+@Fluent
+public final class GenerateCredentialsResultInner implements JsonSerializable {
+ /*
+ * The username for a container registry.
+ */
+ private String username;
+
+ /*
+ * The list of passwords for a container registry.
+ */
+ private List passwords;
+
+ /**
+ * Creates an instance of GenerateCredentialsResultInner class.
+ */
+ public GenerateCredentialsResultInner() {
+ }
+
+ /**
+ * Get the username property: The username for a container registry.
+ *
+ * @return the username value.
+ */
+ public String username() {
+ return this.username;
+ }
+
+ /**
+ * Set the username property: The username for a container registry.
+ *
+ * @param username the username value to set.
+ * @return the GenerateCredentialsResultInner object itself.
+ */
+ public GenerateCredentialsResultInner withUsername(String username) {
+ this.username = username;
+ return this;
+ }
+
+ /**
+ * Get the passwords property: The list of passwords for a container registry.
+ *
+ * @return the passwords value.
+ */
+ public List passwords() {
+ return this.passwords;
+ }
+
+ /**
+ * Set the passwords property: The list of passwords for a container registry.
+ *
+ * @param passwords the passwords value to set.
+ * @return the GenerateCredentialsResultInner object itself.
+ */
+ public GenerateCredentialsResultInner withPasswords(List passwords) {
+ this.passwords = passwords;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (passwords() != null) {
+ passwords().forEach(e -> e.validate());
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("username", this.username);
+ jsonWriter.writeArrayField("passwords", this.passwords, (writer, element) -> writer.writeJson(element));
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of GenerateCredentialsResultInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of GenerateCredentialsResultInner 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 GenerateCredentialsResultInner.
+ */
+ public static GenerateCredentialsResultInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ GenerateCredentialsResultInner deserializedGenerateCredentialsResultInner
+ = new GenerateCredentialsResultInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("username".equals(fieldName)) {
+ deserializedGenerateCredentialsResultInner.username = reader.getString();
+ } else if ("passwords".equals(fieldName)) {
+ List passwords = reader.readArray(reader1 -> TokenPassword.fromJson(reader1));
+ deserializedGenerateCredentialsResultInner.passwords = passwords;
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedGenerateCredentialsResultInner;
+ });
+ }
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/OperationDefinitionInner.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/OperationDefinitionInner.java
new file mode 100644
index 000000000000..f305e59a7581
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/OperationDefinitionInner.java
@@ -0,0 +1,233 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerregistry.generated.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.containerregistry.generated.models.OperationDisplayDefinition;
+import com.azure.resourcemanager.containerregistry.generated.models.OperationServiceSpecificationDefinition;
+import java.io.IOException;
+
+/**
+ * The definition of a container registry operation.
+ */
+@Fluent
+public final class OperationDefinitionInner implements JsonSerializable {
+ /*
+ * The origin information of the container registry operation.
+ */
+ private String origin;
+
+ /*
+ * Operation name: {provider}/{resource}/{operation}.
+ */
+ private String name;
+
+ /*
+ * The display information for the container registry operation.
+ */
+ private OperationDisplayDefinition display;
+
+ /*
+ * The properties information for the container registry operation.
+ */
+ private OperationPropertiesDefinition innerProperties;
+
+ /*
+ * This property indicates if the operation is an action or a data action
+ * ref:
+ * https://docs.microsoft.com/en-us/azure/role-based-access-control/role-definitions#management-and-data-operations
+ */
+ private Boolean isDataAction;
+
+ /**
+ * Creates an instance of OperationDefinitionInner class.
+ */
+ public OperationDefinitionInner() {
+ }
+
+ /**
+ * Get the origin property: The origin information of the container registry operation.
+ *
+ * @return the origin value.
+ */
+ public String origin() {
+ return this.origin;
+ }
+
+ /**
+ * Set the origin property: The origin information of the container registry operation.
+ *
+ * @param origin the origin value to set.
+ * @return the OperationDefinitionInner object itself.
+ */
+ public OperationDefinitionInner withOrigin(String origin) {
+ this.origin = origin;
+ return this;
+ }
+
+ /**
+ * Get the name property: Operation name: {provider}/{resource}/{operation}.
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set the name property: Operation name: {provider}/{resource}/{operation}.
+ *
+ * @param name the name value to set.
+ * @return the OperationDefinitionInner object itself.
+ */
+ public OperationDefinitionInner withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get the display property: The display information for the container registry operation.
+ *
+ * @return the display value.
+ */
+ public OperationDisplayDefinition display() {
+ return this.display;
+ }
+
+ /**
+ * Set the display property: The display information for the container registry operation.
+ *
+ * @param display the display value to set.
+ * @return the OperationDefinitionInner object itself.
+ */
+ public OperationDefinitionInner withDisplay(OperationDisplayDefinition display) {
+ this.display = display;
+ return this;
+ }
+
+ /**
+ * Get the innerProperties property: The properties information for the container registry operation.
+ *
+ * @return the innerProperties value.
+ */
+ private OperationPropertiesDefinition innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the isDataAction property: This property indicates if the operation is an action or a data action
+ * ref:
+ * https://docs.microsoft.com/en-us/azure/role-based-access-control/role-definitions#management-and-data-operations.
+ *
+ * @return the isDataAction value.
+ */
+ public Boolean isDataAction() {
+ return this.isDataAction;
+ }
+
+ /**
+ * Set the isDataAction property: This property indicates if the operation is an action or a data action
+ * ref:
+ * https://docs.microsoft.com/en-us/azure/role-based-access-control/role-definitions#management-and-data-operations.
+ *
+ * @param isDataAction the isDataAction value to set.
+ * @return the OperationDefinitionInner object itself.
+ */
+ public OperationDefinitionInner withIsDataAction(Boolean isDataAction) {
+ this.isDataAction = isDataAction;
+ return this;
+ }
+
+ /**
+ * Get the serviceSpecification property: The definition of Azure Monitoring service.
+ *
+ * @return the serviceSpecification value.
+ */
+ public OperationServiceSpecificationDefinition serviceSpecification() {
+ return this.innerProperties() == null ? null : this.innerProperties().serviceSpecification();
+ }
+
+ /**
+ * Set the serviceSpecification property: The definition of Azure Monitoring service.
+ *
+ * @param serviceSpecification the serviceSpecification value to set.
+ * @return the OperationDefinitionInner object itself.
+ */
+ public OperationDefinitionInner
+ withServiceSpecification(OperationServiceSpecificationDefinition serviceSpecification) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new OperationPropertiesDefinition();
+ }
+ this.innerProperties().withServiceSpecification(serviceSpecification);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (display() != null) {
+ display().validate();
+ }
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("origin", this.origin);
+ jsonWriter.writeStringField("name", this.name);
+ jsonWriter.writeJsonField("display", this.display);
+ jsonWriter.writeJsonField("properties", this.innerProperties);
+ jsonWriter.writeBooleanField("isDataAction", this.isDataAction);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of OperationDefinitionInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of OperationDefinitionInner 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 OperationDefinitionInner.
+ */
+ public static OperationDefinitionInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ OperationDefinitionInner deserializedOperationDefinitionInner = new OperationDefinitionInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("origin".equals(fieldName)) {
+ deserializedOperationDefinitionInner.origin = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedOperationDefinitionInner.name = reader.getString();
+ } else if ("display".equals(fieldName)) {
+ deserializedOperationDefinitionInner.display = OperationDisplayDefinition.fromJson(reader);
+ } else if ("properties".equals(fieldName)) {
+ deserializedOperationDefinitionInner.innerProperties
+ = OperationPropertiesDefinition.fromJson(reader);
+ } else if ("isDataAction".equals(fieldName)) {
+ deserializedOperationDefinitionInner.isDataAction = reader.getNullable(JsonReader::getBoolean);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedOperationDefinitionInner;
+ });
+ }
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/OperationPropertiesDefinition.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/OperationPropertiesDefinition.java
new file mode 100644
index 000000000000..b8f1e4799cc5
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/OperationPropertiesDefinition.java
@@ -0,0 +1,100 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerregistry.generated.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.containerregistry.generated.models.OperationServiceSpecificationDefinition;
+import java.io.IOException;
+
+/**
+ * The definition of Azure Monitoring properties.
+ */
+@Fluent
+public final class OperationPropertiesDefinition implements JsonSerializable {
+ /*
+ * The definition of Azure Monitoring service.
+ */
+ private OperationServiceSpecificationDefinition serviceSpecification;
+
+ /**
+ * Creates an instance of OperationPropertiesDefinition class.
+ */
+ public OperationPropertiesDefinition() {
+ }
+
+ /**
+ * Get the serviceSpecification property: The definition of Azure Monitoring service.
+ *
+ * @return the serviceSpecification value.
+ */
+ public OperationServiceSpecificationDefinition serviceSpecification() {
+ return this.serviceSpecification;
+ }
+
+ /**
+ * Set the serviceSpecification property: The definition of Azure Monitoring service.
+ *
+ * @param serviceSpecification the serviceSpecification value to set.
+ * @return the OperationPropertiesDefinition object itself.
+ */
+ public OperationPropertiesDefinition
+ withServiceSpecification(OperationServiceSpecificationDefinition serviceSpecification) {
+ this.serviceSpecification = serviceSpecification;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (serviceSpecification() != null) {
+ serviceSpecification().validate();
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeJsonField("serviceSpecification", this.serviceSpecification);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of OperationPropertiesDefinition from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of OperationPropertiesDefinition 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 OperationPropertiesDefinition.
+ */
+ public static OperationPropertiesDefinition fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ OperationPropertiesDefinition deserializedOperationPropertiesDefinition
+ = new OperationPropertiesDefinition();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("serviceSpecification".equals(fieldName)) {
+ deserializedOperationPropertiesDefinition.serviceSpecification
+ = OperationServiceSpecificationDefinition.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedOperationPropertiesDefinition;
+ });
+ }
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/PrivateEndpointConnectionInner.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/PrivateEndpointConnectionInner.java
new file mode 100644
index 000000000000..d9bf0dfdf0ef
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/PrivateEndpointConnectionInner.java
@@ -0,0 +1,217 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerregistry.generated.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.containerregistry.generated.models.PrivateEndpoint;
+import com.azure.resourcemanager.containerregistry.generated.models.PrivateLinkServiceConnectionState;
+import com.azure.resourcemanager.containerregistry.generated.models.ProvisioningState;
+import java.io.IOException;
+
+/**
+ * An object that represents a private endpoint connection for a container registry.
+ */
+@Fluent
+public final class PrivateEndpointConnectionInner extends ProxyResource {
+ /*
+ * The properties of a private endpoint connection.
+ */
+ private PrivateEndpointConnectionProperties innerProperties;
+
+ /*
+ * Metadata pertaining to creation and last modification of the resource.
+ */
+ 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 PrivateEndpointConnectionInner class.
+ */
+ public PrivateEndpointConnectionInner() {
+ }
+
+ /**
+ * Get the innerProperties property: The properties of a private endpoint connection.
+ *
+ * @return the innerProperties value.
+ */
+ private PrivateEndpointConnectionProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the systemData property: Metadata pertaining to creation and last modification of the resource.
+ *
+ * @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 privateEndpoint property: The resource of private endpoint.
+ *
+ * @return the privateEndpoint value.
+ */
+ public PrivateEndpoint privateEndpoint() {
+ return this.innerProperties() == null ? null : this.innerProperties().privateEndpoint();
+ }
+
+ /**
+ * Set the privateEndpoint property: The resource of private endpoint.
+ *
+ * @param privateEndpoint the privateEndpoint value to set.
+ * @return the PrivateEndpointConnectionInner object itself.
+ */
+ public PrivateEndpointConnectionInner withPrivateEndpoint(PrivateEndpoint privateEndpoint) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new PrivateEndpointConnectionProperties();
+ }
+ this.innerProperties().withPrivateEndpoint(privateEndpoint);
+ return this;
+ }
+
+ /**
+ * Get the privateLinkServiceConnectionState property: A collection of information about the state of the connection
+ * between service consumer and provider.
+ *
+ * @return the privateLinkServiceConnectionState value.
+ */
+ public PrivateLinkServiceConnectionState privateLinkServiceConnectionState() {
+ return this.innerProperties() == null ? null : this.innerProperties().privateLinkServiceConnectionState();
+ }
+
+ /**
+ * Set the privateLinkServiceConnectionState property: A collection of information about the state of the connection
+ * between service consumer and provider.
+ *
+ * @param privateLinkServiceConnectionState the privateLinkServiceConnectionState value to set.
+ * @return the PrivateEndpointConnectionInner object itself.
+ */
+ public PrivateEndpointConnectionInner
+ withPrivateLinkServiceConnectionState(PrivateLinkServiceConnectionState privateLinkServiceConnectionState) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new PrivateEndpointConnectionProperties();
+ }
+ this.innerProperties().withPrivateLinkServiceConnectionState(privateLinkServiceConnectionState);
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: The provisioning state of private endpoint connection resource.
+ *
+ * @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.writeJsonField("properties", this.innerProperties);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of PrivateEndpointConnectionInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of PrivateEndpointConnectionInner 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 PrivateEndpointConnectionInner.
+ */
+ public static PrivateEndpointConnectionInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ PrivateEndpointConnectionInner deserializedPrivateEndpointConnectionInner
+ = new PrivateEndpointConnectionInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedPrivateEndpointConnectionInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedPrivateEndpointConnectionInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedPrivateEndpointConnectionInner.type = reader.getString();
+ } else if ("properties".equals(fieldName)) {
+ deserializedPrivateEndpointConnectionInner.innerProperties
+ = PrivateEndpointConnectionProperties.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedPrivateEndpointConnectionInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedPrivateEndpointConnectionInner;
+ });
+ }
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/PrivateEndpointConnectionProperties.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/PrivateEndpointConnectionProperties.java
new file mode 100644
index 000000000000..2ecd316fdd9f
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/PrivateEndpointConnectionProperties.java
@@ -0,0 +1,153 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerregistry.generated.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.containerregistry.generated.models.PrivateEndpoint;
+import com.azure.resourcemanager.containerregistry.generated.models.PrivateLinkServiceConnectionState;
+import com.azure.resourcemanager.containerregistry.generated.models.ProvisioningState;
+import java.io.IOException;
+
+/**
+ * The properties of a private endpoint connection.
+ */
+@Fluent
+public final class PrivateEndpointConnectionProperties
+ implements JsonSerializable {
+ /*
+ * The resource of private endpoint.
+ */
+ private PrivateEndpoint privateEndpoint;
+
+ /*
+ * A collection of information about the state of the connection between service consumer and provider.
+ */
+ private PrivateLinkServiceConnectionState privateLinkServiceConnectionState;
+
+ /*
+ * The provisioning state of private endpoint connection resource.
+ */
+ private ProvisioningState provisioningState;
+
+ /**
+ * Creates an instance of PrivateEndpointConnectionProperties class.
+ */
+ public PrivateEndpointConnectionProperties() {
+ }
+
+ /**
+ * Get the privateEndpoint property: The resource of private endpoint.
+ *
+ * @return the privateEndpoint value.
+ */
+ public PrivateEndpoint privateEndpoint() {
+ return this.privateEndpoint;
+ }
+
+ /**
+ * Set the privateEndpoint property: The resource of private endpoint.
+ *
+ * @param privateEndpoint the privateEndpoint value to set.
+ * @return the PrivateEndpointConnectionProperties object itself.
+ */
+ public PrivateEndpointConnectionProperties withPrivateEndpoint(PrivateEndpoint privateEndpoint) {
+ this.privateEndpoint = privateEndpoint;
+ return this;
+ }
+
+ /**
+ * Get the privateLinkServiceConnectionState property: A collection of information about the state of the connection
+ * between service consumer and provider.
+ *
+ * @return the privateLinkServiceConnectionState value.
+ */
+ public PrivateLinkServiceConnectionState privateLinkServiceConnectionState() {
+ return this.privateLinkServiceConnectionState;
+ }
+
+ /**
+ * Set the privateLinkServiceConnectionState property: A collection of information about the state of the connection
+ * between service consumer and provider.
+ *
+ * @param privateLinkServiceConnectionState the privateLinkServiceConnectionState value to set.
+ * @return the PrivateEndpointConnectionProperties object itself.
+ */
+ public PrivateEndpointConnectionProperties
+ withPrivateLinkServiceConnectionState(PrivateLinkServiceConnectionState privateLinkServiceConnectionState) {
+ this.privateLinkServiceConnectionState = privateLinkServiceConnectionState;
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: The provisioning state of private endpoint connection resource.
+ *
+ * @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 (privateEndpoint() != null) {
+ privateEndpoint().validate();
+ }
+ if (privateLinkServiceConnectionState() != null) {
+ privateLinkServiceConnectionState().validate();
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeJsonField("privateEndpoint", this.privateEndpoint);
+ jsonWriter.writeJsonField("privateLinkServiceConnectionState", this.privateLinkServiceConnectionState);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of PrivateEndpointConnectionProperties from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of PrivateEndpointConnectionProperties 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 PrivateEndpointConnectionProperties.
+ */
+ public static PrivateEndpointConnectionProperties fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ PrivateEndpointConnectionProperties deserializedPrivateEndpointConnectionProperties
+ = new PrivateEndpointConnectionProperties();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("privateEndpoint".equals(fieldName)) {
+ deserializedPrivateEndpointConnectionProperties.privateEndpoint = PrivateEndpoint.fromJson(reader);
+ } else if ("privateLinkServiceConnectionState".equals(fieldName)) {
+ deserializedPrivateEndpointConnectionProperties.privateLinkServiceConnectionState
+ = PrivateLinkServiceConnectionState.fromJson(reader);
+ } else if ("provisioningState".equals(fieldName)) {
+ deserializedPrivateEndpointConnectionProperties.provisioningState
+ = ProvisioningState.fromString(reader.getString());
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedPrivateEndpointConnectionProperties;
+ });
+ }
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/PrivateLinkResourceInner.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/PrivateLinkResourceInner.java
new file mode 100644
index 000000000000..3bf979cfab85
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/PrivateLinkResourceInner.java
@@ -0,0 +1,228 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerregistry.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * A resource that supports private link capabilities.
+ */
+@Fluent
+public final class PrivateLinkResourceInner implements JsonSerializable {
+ /*
+ * The resource type is private link resource.
+ */
+ private String type;
+
+ /*
+ * The resource ID.
+ */
+ private String id;
+
+ /*
+ * The name of the resource.
+ */
+ private String name;
+
+ /*
+ * A resource that supports private link capabilities.
+ */
+ private PrivateLinkResourceProperties innerProperties;
+
+ /**
+ * Creates an instance of PrivateLinkResourceInner class.
+ */
+ public PrivateLinkResourceInner() {
+ }
+
+ /**
+ * Get the type property: The resource type is private link resource.
+ *
+ * @return the type value.
+ */
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the id property: The resource ID.
+ *
+ * @return the id value.
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Set the id property: The resource ID.
+ *
+ * @param id the id value to set.
+ * @return the PrivateLinkResourceInner object itself.
+ */
+ public PrivateLinkResourceInner withId(String id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Get the name property: The name of the resource.
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set the name property: The name of the resource.
+ *
+ * @param name the name value to set.
+ * @return the PrivateLinkResourceInner object itself.
+ */
+ public PrivateLinkResourceInner withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get the innerProperties property: A resource that supports private link capabilities.
+ *
+ * @return the innerProperties value.
+ */
+ private PrivateLinkResourceProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the groupId property: The private link resource group id.
+ *
+ * @return the groupId value.
+ */
+ public String groupId() {
+ return this.innerProperties() == null ? null : this.innerProperties().groupId();
+ }
+
+ /**
+ * Set the groupId property: The private link resource group id.
+ *
+ * @param groupId the groupId value to set.
+ * @return the PrivateLinkResourceInner object itself.
+ */
+ public PrivateLinkResourceInner withGroupId(String groupId) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new PrivateLinkResourceProperties();
+ }
+ this.innerProperties().withGroupId(groupId);
+ return this;
+ }
+
+ /**
+ * Get the requiredMembers property: The private link resource required member names.
+ *
+ * @return the requiredMembers value.
+ */
+ public List requiredMembers() {
+ return this.innerProperties() == null ? null : this.innerProperties().requiredMembers();
+ }
+
+ /**
+ * Set the requiredMembers property: The private link resource required member names.
+ *
+ * @param requiredMembers the requiredMembers value to set.
+ * @return the PrivateLinkResourceInner object itself.
+ */
+ public PrivateLinkResourceInner withRequiredMembers(List requiredMembers) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new PrivateLinkResourceProperties();
+ }
+ this.innerProperties().withRequiredMembers(requiredMembers);
+ return this;
+ }
+
+ /**
+ * Get the requiredZoneNames property: The private link resource Private link DNS zone name.
+ *
+ * @return the requiredZoneNames value.
+ */
+ public List requiredZoneNames() {
+ return this.innerProperties() == null ? null : this.innerProperties().requiredZoneNames();
+ }
+
+ /**
+ * Set the requiredZoneNames property: The private link resource Private link DNS zone name.
+ *
+ * @param requiredZoneNames the requiredZoneNames value to set.
+ * @return the PrivateLinkResourceInner object itself.
+ */
+ public PrivateLinkResourceInner withRequiredZoneNames(List requiredZoneNames) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new PrivateLinkResourceProperties();
+ }
+ this.innerProperties().withRequiredZoneNames(requiredZoneNames);
+ 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("id", this.id);
+ jsonWriter.writeStringField("name", this.name);
+ jsonWriter.writeJsonField("properties", this.innerProperties);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of PrivateLinkResourceInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of PrivateLinkResourceInner 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 PrivateLinkResourceInner.
+ */
+ public static PrivateLinkResourceInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ PrivateLinkResourceInner deserializedPrivateLinkResourceInner = new PrivateLinkResourceInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("type".equals(fieldName)) {
+ deserializedPrivateLinkResourceInner.type = reader.getString();
+ } else if ("id".equals(fieldName)) {
+ deserializedPrivateLinkResourceInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedPrivateLinkResourceInner.name = reader.getString();
+ } else if ("properties".equals(fieldName)) {
+ deserializedPrivateLinkResourceInner.innerProperties
+ = PrivateLinkResourceProperties.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedPrivateLinkResourceInner;
+ });
+ }
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/PrivateLinkResourceProperties.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/PrivateLinkResourceProperties.java
new file mode 100644
index 000000000000..2c6d6893f733
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/PrivateLinkResourceProperties.java
@@ -0,0 +1,155 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerregistry.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * The properties of a private link resource.
+ */
+@Fluent
+public final class PrivateLinkResourceProperties implements JsonSerializable {
+ /*
+ * The private link resource group id.
+ */
+ private String groupId;
+
+ /*
+ * The private link resource required member names.
+ */
+ private List requiredMembers;
+
+ /*
+ * The private link resource Private link DNS zone name.
+ */
+ private List requiredZoneNames;
+
+ /**
+ * Creates an instance of PrivateLinkResourceProperties class.
+ */
+ public PrivateLinkResourceProperties() {
+ }
+
+ /**
+ * Get the groupId property: The private link resource group id.
+ *
+ * @return the groupId value.
+ */
+ public String groupId() {
+ return this.groupId;
+ }
+
+ /**
+ * Set the groupId property: The private link resource group id.
+ *
+ * @param groupId the groupId value to set.
+ * @return the PrivateLinkResourceProperties object itself.
+ */
+ public PrivateLinkResourceProperties withGroupId(String groupId) {
+ this.groupId = groupId;
+ return this;
+ }
+
+ /**
+ * Get the requiredMembers property: The private link resource required member names.
+ *
+ * @return the requiredMembers value.
+ */
+ public List requiredMembers() {
+ return this.requiredMembers;
+ }
+
+ /**
+ * Set the requiredMembers property: The private link resource required member names.
+ *
+ * @param requiredMembers the requiredMembers value to set.
+ * @return the PrivateLinkResourceProperties object itself.
+ */
+ public PrivateLinkResourceProperties withRequiredMembers(List requiredMembers) {
+ this.requiredMembers = requiredMembers;
+ return this;
+ }
+
+ /**
+ * Get the requiredZoneNames property: The private link resource Private link DNS zone name.
+ *
+ * @return the requiredZoneNames value.
+ */
+ public List requiredZoneNames() {
+ return this.requiredZoneNames;
+ }
+
+ /**
+ * Set the requiredZoneNames property: The private link resource Private link DNS zone name.
+ *
+ * @param requiredZoneNames the requiredZoneNames value to set.
+ * @return the PrivateLinkResourceProperties object itself.
+ */
+ public PrivateLinkResourceProperties withRequiredZoneNames(List requiredZoneNames) {
+ this.requiredZoneNames = requiredZoneNames;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("groupId", this.groupId);
+ jsonWriter.writeArrayField("requiredMembers", this.requiredMembers,
+ (writer, element) -> writer.writeString(element));
+ jsonWriter.writeArrayField("requiredZoneNames", this.requiredZoneNames,
+ (writer, element) -> writer.writeString(element));
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of PrivateLinkResourceProperties from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of PrivateLinkResourceProperties 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 PrivateLinkResourceProperties.
+ */
+ public static PrivateLinkResourceProperties fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ PrivateLinkResourceProperties deserializedPrivateLinkResourceProperties
+ = new PrivateLinkResourceProperties();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("groupId".equals(fieldName)) {
+ deserializedPrivateLinkResourceProperties.groupId = reader.getString();
+ } else if ("requiredMembers".equals(fieldName)) {
+ List requiredMembers = reader.readArray(reader1 -> reader1.getString());
+ deserializedPrivateLinkResourceProperties.requiredMembers = requiredMembers;
+ } else if ("requiredZoneNames".equals(fieldName)) {
+ List requiredZoneNames = reader.readArray(reader1 -> reader1.getString());
+ deserializedPrivateLinkResourceProperties.requiredZoneNames = requiredZoneNames;
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedPrivateLinkResourceProperties;
+ });
+ }
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/RegistryInner.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/RegistryInner.java
new file mode 100644
index 000000000000..cf53c39e1fb6
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/RegistryInner.java
@@ -0,0 +1,524 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerregistry.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.Resource;
+import com.azure.core.management.SystemData;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.containerregistry.generated.models.EncryptionProperty;
+import com.azure.resourcemanager.containerregistry.generated.models.IdentityProperties;
+import com.azure.resourcemanager.containerregistry.generated.models.NetworkRuleBypassOptions;
+import com.azure.resourcemanager.containerregistry.generated.models.NetworkRuleSet;
+import com.azure.resourcemanager.containerregistry.generated.models.Policies;
+import com.azure.resourcemanager.containerregistry.generated.models.ProvisioningState;
+import com.azure.resourcemanager.containerregistry.generated.models.PublicNetworkAccess;
+import com.azure.resourcemanager.containerregistry.generated.models.Sku;
+import com.azure.resourcemanager.containerregistry.generated.models.Status;
+import com.azure.resourcemanager.containerregistry.generated.models.ZoneRedundancy;
+import java.io.IOException;
+import java.time.OffsetDateTime;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * An object that represents a container registry.
+ */
+@Fluent
+public final class RegistryInner extends Resource {
+ /*
+ * The SKU of the container registry.
+ */
+ private Sku sku;
+
+ /*
+ * The identity of the container registry.
+ */
+ private IdentityProperties identity;
+
+ /*
+ * The properties of the container registry.
+ */
+ private RegistryProperties innerProperties;
+
+ /*
+ * Metadata pertaining to creation and last modification of the resource.
+ */
+ 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 RegistryInner class.
+ */
+ public RegistryInner() {
+ }
+
+ /**
+ * Get the sku property: The SKU of the container registry.
+ *
+ * @return the sku value.
+ */
+ public Sku sku() {
+ return this.sku;
+ }
+
+ /**
+ * Set the sku property: The SKU of the container registry.
+ *
+ * @param sku the sku value to set.
+ * @return the RegistryInner object itself.
+ */
+ public RegistryInner withSku(Sku sku) {
+ this.sku = sku;
+ return this;
+ }
+
+ /**
+ * Get the identity property: The identity of the container registry.
+ *
+ * @return the identity value.
+ */
+ public IdentityProperties identity() {
+ return this.identity;
+ }
+
+ /**
+ * Set the identity property: The identity of the container registry.
+ *
+ * @param identity the identity value to set.
+ * @return the RegistryInner object itself.
+ */
+ public RegistryInner withIdentity(IdentityProperties identity) {
+ this.identity = identity;
+ return this;
+ }
+
+ /**
+ * Get the innerProperties property: The properties of the container registry.
+ *
+ * @return the innerProperties value.
+ */
+ private RegistryProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the systemData property: Metadata pertaining to creation and last modification of the resource.
+ *
+ * @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 RegistryInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public RegistryInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Get the loginServer property: The URL that can be used to log into the container registry.
+ *
+ * @return the loginServer value.
+ */
+ public String loginServer() {
+ return this.innerProperties() == null ? null : this.innerProperties().loginServer();
+ }
+
+ /**
+ * Get the creationDate property: The creation date of the container registry in ISO8601 format.
+ *
+ * @return the creationDate value.
+ */
+ public OffsetDateTime creationDate() {
+ return this.innerProperties() == null ? null : this.innerProperties().creationDate();
+ }
+
+ /**
+ * Get the provisioningState property: The provisioning state of the container registry at the time the operation
+ * was called.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.innerProperties() == null ? null : this.innerProperties().provisioningState();
+ }
+
+ /**
+ * Get the status property: The status of the container registry at the time the operation was called.
+ *
+ * @return the status value.
+ */
+ public Status status() {
+ return this.innerProperties() == null ? null : this.innerProperties().status();
+ }
+
+ /**
+ * Get the adminUserEnabled property: The value that indicates whether the admin user is enabled.
+ *
+ * @return the adminUserEnabled value.
+ */
+ public Boolean adminUserEnabled() {
+ return this.innerProperties() == null ? null : this.innerProperties().adminUserEnabled();
+ }
+
+ /**
+ * Set the adminUserEnabled property: The value that indicates whether the admin user is enabled.
+ *
+ * @param adminUserEnabled the adminUserEnabled value to set.
+ * @return the RegistryInner object itself.
+ */
+ public RegistryInner withAdminUserEnabled(Boolean adminUserEnabled) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RegistryProperties();
+ }
+ this.innerProperties().withAdminUserEnabled(adminUserEnabled);
+ return this;
+ }
+
+ /**
+ * Get the networkRuleSet property: The network rule set for a container registry.
+ *
+ * @return the networkRuleSet value.
+ */
+ public NetworkRuleSet networkRuleSet() {
+ return this.innerProperties() == null ? null : this.innerProperties().networkRuleSet();
+ }
+
+ /**
+ * Set the networkRuleSet property: The network rule set for a container registry.
+ *
+ * @param networkRuleSet the networkRuleSet value to set.
+ * @return the RegistryInner object itself.
+ */
+ public RegistryInner withNetworkRuleSet(NetworkRuleSet networkRuleSet) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RegistryProperties();
+ }
+ this.innerProperties().withNetworkRuleSet(networkRuleSet);
+ return this;
+ }
+
+ /**
+ * Get the policies property: The policies for a container registry.
+ *
+ * @return the policies value.
+ */
+ public Policies policies() {
+ return this.innerProperties() == null ? null : this.innerProperties().policies();
+ }
+
+ /**
+ * Set the policies property: The policies for a container registry.
+ *
+ * @param policies the policies value to set.
+ * @return the RegistryInner object itself.
+ */
+ public RegistryInner withPolicies(Policies policies) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RegistryProperties();
+ }
+ this.innerProperties().withPolicies(policies);
+ return this;
+ }
+
+ /**
+ * Get the encryption property: The encryption settings of container registry.
+ *
+ * @return the encryption value.
+ */
+ public EncryptionProperty encryption() {
+ return this.innerProperties() == null ? null : this.innerProperties().encryption();
+ }
+
+ /**
+ * Set the encryption property: The encryption settings of container registry.
+ *
+ * @param encryption the encryption value to set.
+ * @return the RegistryInner object itself.
+ */
+ public RegistryInner withEncryption(EncryptionProperty encryption) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RegistryProperties();
+ }
+ this.innerProperties().withEncryption(encryption);
+ return this;
+ }
+
+ /**
+ * Get the dataEndpointEnabled property: Enable a single data endpoint per region for serving data.
+ *
+ * @return the dataEndpointEnabled value.
+ */
+ public Boolean dataEndpointEnabled() {
+ return this.innerProperties() == null ? null : this.innerProperties().dataEndpointEnabled();
+ }
+
+ /**
+ * Set the dataEndpointEnabled property: Enable a single data endpoint per region for serving data.
+ *
+ * @param dataEndpointEnabled the dataEndpointEnabled value to set.
+ * @return the RegistryInner object itself.
+ */
+ public RegistryInner withDataEndpointEnabled(Boolean dataEndpointEnabled) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RegistryProperties();
+ }
+ this.innerProperties().withDataEndpointEnabled(dataEndpointEnabled);
+ return this;
+ }
+
+ /**
+ * Get the dataEndpointHostNames property: List of host names that will serve data when dataEndpointEnabled is true.
+ *
+ * @return the dataEndpointHostNames value.
+ */
+ public List dataEndpointHostNames() {
+ return this.innerProperties() == null ? null : this.innerProperties().dataEndpointHostNames();
+ }
+
+ /**
+ * Get the privateEndpointConnections property: List of private endpoint connections for a container registry.
+ *
+ * @return the privateEndpointConnections value.
+ */
+ public List privateEndpointConnections() {
+ return this.innerProperties() == null ? null : this.innerProperties().privateEndpointConnections();
+ }
+
+ /**
+ * Get the publicNetworkAccess property: Whether or not public network access is allowed for the container registry.
+ *
+ * @return the publicNetworkAccess value.
+ */
+ public PublicNetworkAccess publicNetworkAccess() {
+ return this.innerProperties() == null ? null : this.innerProperties().publicNetworkAccess();
+ }
+
+ /**
+ * Set the publicNetworkAccess property: Whether or not public network access is allowed for the container registry.
+ *
+ * @param publicNetworkAccess the publicNetworkAccess value to set.
+ * @return the RegistryInner object itself.
+ */
+ public RegistryInner withPublicNetworkAccess(PublicNetworkAccess publicNetworkAccess) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RegistryProperties();
+ }
+ this.innerProperties().withPublicNetworkAccess(publicNetworkAccess);
+ return this;
+ }
+
+ /**
+ * Get the networkRuleBypassOptions property: Whether to allow trusted Azure services to access a network restricted
+ * registry.
+ *
+ * @return the networkRuleBypassOptions value.
+ */
+ public NetworkRuleBypassOptions networkRuleBypassOptions() {
+ return this.innerProperties() == null ? null : this.innerProperties().networkRuleBypassOptions();
+ }
+
+ /**
+ * Set the networkRuleBypassOptions property: Whether to allow trusted Azure services to access a network restricted
+ * registry.
+ *
+ * @param networkRuleBypassOptions the networkRuleBypassOptions value to set.
+ * @return the RegistryInner object itself.
+ */
+ public RegistryInner withNetworkRuleBypassOptions(NetworkRuleBypassOptions networkRuleBypassOptions) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RegistryProperties();
+ }
+ this.innerProperties().withNetworkRuleBypassOptions(networkRuleBypassOptions);
+ return this;
+ }
+
+ /**
+ * Get the zoneRedundancy property: Whether or not zone redundancy is enabled for this container registry.
+ *
+ * @return the zoneRedundancy value.
+ */
+ public ZoneRedundancy zoneRedundancy() {
+ return this.innerProperties() == null ? null : this.innerProperties().zoneRedundancy();
+ }
+
+ /**
+ * Set the zoneRedundancy property: Whether or not zone redundancy is enabled for this container registry.
+ *
+ * @param zoneRedundancy the zoneRedundancy value to set.
+ * @return the RegistryInner object itself.
+ */
+ public RegistryInner withZoneRedundancy(ZoneRedundancy zoneRedundancy) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RegistryProperties();
+ }
+ this.innerProperties().withZoneRedundancy(zoneRedundancy);
+ return this;
+ }
+
+ /**
+ * Get the anonymousPullEnabled property: Enables registry-wide pull from unauthenticated clients.
+ *
+ * @return the anonymousPullEnabled value.
+ */
+ public Boolean anonymousPullEnabled() {
+ return this.innerProperties() == null ? null : this.innerProperties().anonymousPullEnabled();
+ }
+
+ /**
+ * Set the anonymousPullEnabled property: Enables registry-wide pull from unauthenticated clients.
+ *
+ * @param anonymousPullEnabled the anonymousPullEnabled value to set.
+ * @return the RegistryInner object itself.
+ */
+ public RegistryInner withAnonymousPullEnabled(Boolean anonymousPullEnabled) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RegistryProperties();
+ }
+ this.innerProperties().withAnonymousPullEnabled(anonymousPullEnabled);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (sku() == null) {
+ throw LOGGER.atError()
+ .log(new IllegalArgumentException("Missing required property sku in model RegistryInner"));
+ } else {
+ sku().validate();
+ }
+ if (identity() != null) {
+ identity().validate();
+ }
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(RegistryInner.class);
+
+ /**
+ * {@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("sku", this.sku);
+ jsonWriter.writeJsonField("identity", this.identity);
+ jsonWriter.writeJsonField("properties", this.innerProperties);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of RegistryInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of RegistryInner 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 RegistryInner.
+ */
+ public static RegistryInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ RegistryInner deserializedRegistryInner = new RegistryInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedRegistryInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedRegistryInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedRegistryInner.type = reader.getString();
+ } else if ("location".equals(fieldName)) {
+ deserializedRegistryInner.withLocation(reader.getString());
+ } else if ("tags".equals(fieldName)) {
+ Map tags = reader.readMap(reader1 -> reader1.getString());
+ deserializedRegistryInner.withTags(tags);
+ } else if ("sku".equals(fieldName)) {
+ deserializedRegistryInner.sku = Sku.fromJson(reader);
+ } else if ("identity".equals(fieldName)) {
+ deserializedRegistryInner.identity = IdentityProperties.fromJson(reader);
+ } else if ("properties".equals(fieldName)) {
+ deserializedRegistryInner.innerProperties = RegistryProperties.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedRegistryInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedRegistryInner;
+ });
+ }
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/RegistryListCredentialsResultInner.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/RegistryListCredentialsResultInner.java
new file mode 100644
index 000000000000..8d963cca4818
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/RegistryListCredentialsResultInner.java
@@ -0,0 +1,128 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerregistry.generated.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.containerregistry.generated.models.RegistryPassword;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * The response from the ListCredentials operation.
+ */
+@Fluent
+public final class RegistryListCredentialsResultInner implements JsonSerializable {
+ /*
+ * The username for a container registry.
+ */
+ private String username;
+
+ /*
+ * The list of passwords for a container registry.
+ */
+ private List passwords;
+
+ /**
+ * Creates an instance of RegistryListCredentialsResultInner class.
+ */
+ public RegistryListCredentialsResultInner() {
+ }
+
+ /**
+ * Get the username property: The username for a container registry.
+ *
+ * @return the username value.
+ */
+ public String username() {
+ return this.username;
+ }
+
+ /**
+ * Set the username property: The username for a container registry.
+ *
+ * @param username the username value to set.
+ * @return the RegistryListCredentialsResultInner object itself.
+ */
+ public RegistryListCredentialsResultInner withUsername(String username) {
+ this.username = username;
+ return this;
+ }
+
+ /**
+ * Get the passwords property: The list of passwords for a container registry.
+ *
+ * @return the passwords value.
+ */
+ public List passwords() {
+ return this.passwords;
+ }
+
+ /**
+ * Set the passwords property: The list of passwords for a container registry.
+ *
+ * @param passwords the passwords value to set.
+ * @return the RegistryListCredentialsResultInner object itself.
+ */
+ public RegistryListCredentialsResultInner withPasswords(List passwords) {
+ this.passwords = passwords;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (passwords() != null) {
+ passwords().forEach(e -> e.validate());
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("username", this.username);
+ jsonWriter.writeArrayField("passwords", this.passwords, (writer, element) -> writer.writeJson(element));
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of RegistryListCredentialsResultInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of RegistryListCredentialsResultInner 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 RegistryListCredentialsResultInner.
+ */
+ public static RegistryListCredentialsResultInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ RegistryListCredentialsResultInner deserializedRegistryListCredentialsResultInner
+ = new RegistryListCredentialsResultInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("username".equals(fieldName)) {
+ deserializedRegistryListCredentialsResultInner.username = reader.getString();
+ } else if ("passwords".equals(fieldName)) {
+ List passwords = reader.readArray(reader1 -> RegistryPassword.fromJson(reader1));
+ deserializedRegistryListCredentialsResultInner.passwords = passwords;
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedRegistryListCredentialsResultInner;
+ });
+ }
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/RegistryNameStatusInner.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/RegistryNameStatusInner.java
new file mode 100644
index 000000000000..158c9b13d632
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/RegistryNameStatusInner.java
@@ -0,0 +1,151 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerregistry.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+
+/**
+ * The result of a request to check the availability of a container registry name.
+ */
+@Fluent
+public final class RegistryNameStatusInner implements JsonSerializable {
+ /*
+ * The value that indicates whether the name is available.
+ */
+ private Boolean nameAvailable;
+
+ /*
+ * If any, the reason that the name is not available.
+ */
+ private String reason;
+
+ /*
+ * If any, the error message that provides more detail for the reason that the name is not available.
+ */
+ private String message;
+
+ /**
+ * Creates an instance of RegistryNameStatusInner class.
+ */
+ public RegistryNameStatusInner() {
+ }
+
+ /**
+ * Get the nameAvailable property: The value that indicates whether the name is available.
+ *
+ * @return the nameAvailable value.
+ */
+ public Boolean nameAvailable() {
+ return this.nameAvailable;
+ }
+
+ /**
+ * Set the nameAvailable property: The value that indicates whether the name is available.
+ *
+ * @param nameAvailable the nameAvailable value to set.
+ * @return the RegistryNameStatusInner object itself.
+ */
+ public RegistryNameStatusInner withNameAvailable(Boolean nameAvailable) {
+ this.nameAvailable = nameAvailable;
+ return this;
+ }
+
+ /**
+ * Get the reason property: If any, the reason that the name is not available.
+ *
+ * @return the reason value.
+ */
+ public String reason() {
+ return this.reason;
+ }
+
+ /**
+ * Set the reason property: If any, the reason that the name is not available.
+ *
+ * @param reason the reason value to set.
+ * @return the RegistryNameStatusInner object itself.
+ */
+ public RegistryNameStatusInner withReason(String reason) {
+ this.reason = reason;
+ return this;
+ }
+
+ /**
+ * Get the message property: If any, the error message that provides more detail for the reason that the name is not
+ * available.
+ *
+ * @return the message value.
+ */
+ public String message() {
+ return this.message;
+ }
+
+ /**
+ * Set the message property: If any, the error message that provides more detail for the reason that the name is not
+ * available.
+ *
+ * @param message the message value to set.
+ * @return the RegistryNameStatusInner object itself.
+ */
+ public RegistryNameStatusInner withMessage(String message) {
+ this.message = message;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeBooleanField("nameAvailable", this.nameAvailable);
+ jsonWriter.writeStringField("reason", this.reason);
+ jsonWriter.writeStringField("message", this.message);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of RegistryNameStatusInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of RegistryNameStatusInner 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 RegistryNameStatusInner.
+ */
+ public static RegistryNameStatusInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ RegistryNameStatusInner deserializedRegistryNameStatusInner = new RegistryNameStatusInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("nameAvailable".equals(fieldName)) {
+ deserializedRegistryNameStatusInner.nameAvailable = reader.getNullable(JsonReader::getBoolean);
+ } else if ("reason".equals(fieldName)) {
+ deserializedRegistryNameStatusInner.reason = reader.getString();
+ } else if ("message".equals(fieldName)) {
+ deserializedRegistryNameStatusInner.message = reader.getString();
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedRegistryNameStatusInner;
+ });
+ }
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/RegistryProperties.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/RegistryProperties.java
new file mode 100644
index 000000000000..2c84b2f57016
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/RegistryProperties.java
@@ -0,0 +1,451 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerregistry.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.CoreUtils;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.containerregistry.generated.models.EncryptionProperty;
+import com.azure.resourcemanager.containerregistry.generated.models.NetworkRuleBypassOptions;
+import com.azure.resourcemanager.containerregistry.generated.models.NetworkRuleSet;
+import com.azure.resourcemanager.containerregistry.generated.models.Policies;
+import com.azure.resourcemanager.containerregistry.generated.models.ProvisioningState;
+import com.azure.resourcemanager.containerregistry.generated.models.PublicNetworkAccess;
+import com.azure.resourcemanager.containerregistry.generated.models.Status;
+import com.azure.resourcemanager.containerregistry.generated.models.ZoneRedundancy;
+import java.io.IOException;
+import java.time.OffsetDateTime;
+import java.util.List;
+
+/**
+ * The properties of a container registry.
+ */
+@Fluent
+public final class RegistryProperties implements JsonSerializable {
+ /*
+ * The URL that can be used to log into the container registry.
+ */
+ private String loginServer;
+
+ /*
+ * The creation date of the container registry in ISO8601 format.
+ */
+ private OffsetDateTime creationDate;
+
+ /*
+ * The provisioning state of the container registry at the time the operation was called.
+ */
+ private ProvisioningState provisioningState;
+
+ /*
+ * The status of the container registry at the time the operation was called.
+ */
+ private Status status;
+
+ /*
+ * The value that indicates whether the admin user is enabled.
+ */
+ private Boolean adminUserEnabled;
+
+ /*
+ * The network rule set for a container registry.
+ */
+ private NetworkRuleSet networkRuleSet;
+
+ /*
+ * The policies for a container registry.
+ */
+ private Policies policies;
+
+ /*
+ * The encryption settings of container registry.
+ */
+ private EncryptionProperty encryption;
+
+ /*
+ * Enable a single data endpoint per region for serving data.
+ */
+ private Boolean dataEndpointEnabled;
+
+ /*
+ * List of host names that will serve data when dataEndpointEnabled is true.
+ */
+ private List dataEndpointHostNames;
+
+ /*
+ * List of private endpoint connections for a container registry.
+ */
+ private List privateEndpointConnections;
+
+ /*
+ * Whether or not public network access is allowed for the container registry.
+ */
+ private PublicNetworkAccess publicNetworkAccess;
+
+ /*
+ * Whether to allow trusted Azure services to access a network restricted registry.
+ */
+ private NetworkRuleBypassOptions networkRuleBypassOptions;
+
+ /*
+ * Whether or not zone redundancy is enabled for this container registry
+ */
+ private ZoneRedundancy zoneRedundancy;
+
+ /*
+ * Enables registry-wide pull from unauthenticated clients.
+ */
+ private Boolean anonymousPullEnabled;
+
+ /**
+ * Creates an instance of RegistryProperties class.
+ */
+ public RegistryProperties() {
+ }
+
+ /**
+ * Get the loginServer property: The URL that can be used to log into the container registry.
+ *
+ * @return the loginServer value.
+ */
+ public String loginServer() {
+ return this.loginServer;
+ }
+
+ /**
+ * Get the creationDate property: The creation date of the container registry in ISO8601 format.
+ *
+ * @return the creationDate value.
+ */
+ public OffsetDateTime creationDate() {
+ return this.creationDate;
+ }
+
+ /**
+ * Get the provisioningState property: The provisioning state of the container registry at the time the operation
+ * was called.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the status property: The status of the container registry at the time the operation was called.
+ *
+ * @return the status value.
+ */
+ public Status status() {
+ return this.status;
+ }
+
+ /**
+ * Get the adminUserEnabled property: The value that indicates whether the admin user is enabled.
+ *
+ * @return the adminUserEnabled value.
+ */
+ public Boolean adminUserEnabled() {
+ return this.adminUserEnabled;
+ }
+
+ /**
+ * Set the adminUserEnabled property: The value that indicates whether the admin user is enabled.
+ *
+ * @param adminUserEnabled the adminUserEnabled value to set.
+ * @return the RegistryProperties object itself.
+ */
+ public RegistryProperties withAdminUserEnabled(Boolean adminUserEnabled) {
+ this.adminUserEnabled = adminUserEnabled;
+ return this;
+ }
+
+ /**
+ * Get the networkRuleSet property: The network rule set for a container registry.
+ *
+ * @return the networkRuleSet value.
+ */
+ public NetworkRuleSet networkRuleSet() {
+ return this.networkRuleSet;
+ }
+
+ /**
+ * Set the networkRuleSet property: The network rule set for a container registry.
+ *
+ * @param networkRuleSet the networkRuleSet value to set.
+ * @return the RegistryProperties object itself.
+ */
+ public RegistryProperties withNetworkRuleSet(NetworkRuleSet networkRuleSet) {
+ this.networkRuleSet = networkRuleSet;
+ return this;
+ }
+
+ /**
+ * Get the policies property: The policies for a container registry.
+ *
+ * @return the policies value.
+ */
+ public Policies policies() {
+ return this.policies;
+ }
+
+ /**
+ * Set the policies property: The policies for a container registry.
+ *
+ * @param policies the policies value to set.
+ * @return the RegistryProperties object itself.
+ */
+ public RegistryProperties withPolicies(Policies policies) {
+ this.policies = policies;
+ return this;
+ }
+
+ /**
+ * Get the encryption property: The encryption settings of container registry.
+ *
+ * @return the encryption value.
+ */
+ public EncryptionProperty encryption() {
+ return this.encryption;
+ }
+
+ /**
+ * Set the encryption property: The encryption settings of container registry.
+ *
+ * @param encryption the encryption value to set.
+ * @return the RegistryProperties object itself.
+ */
+ public RegistryProperties withEncryption(EncryptionProperty encryption) {
+ this.encryption = encryption;
+ return this;
+ }
+
+ /**
+ * Get the dataEndpointEnabled property: Enable a single data endpoint per region for serving data.
+ *
+ * @return the dataEndpointEnabled value.
+ */
+ public Boolean dataEndpointEnabled() {
+ return this.dataEndpointEnabled;
+ }
+
+ /**
+ * Set the dataEndpointEnabled property: Enable a single data endpoint per region for serving data.
+ *
+ * @param dataEndpointEnabled the dataEndpointEnabled value to set.
+ * @return the RegistryProperties object itself.
+ */
+ public RegistryProperties withDataEndpointEnabled(Boolean dataEndpointEnabled) {
+ this.dataEndpointEnabled = dataEndpointEnabled;
+ return this;
+ }
+
+ /**
+ * Get the dataEndpointHostNames property: List of host names that will serve data when dataEndpointEnabled is true.
+ *
+ * @return the dataEndpointHostNames value.
+ */
+ public List