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.");
+
+ StringBuilder userAgentBuilder = new StringBuilder();
+ userAgentBuilder
+ .append("azsdk-java")
+ .append("-")
+ .append("com.azure.resourcemanager.containerregistry.generated")
+ .append("/")
+ .append("1.0.0-beta.1");
+ if (!Configuration.getGlobalConfiguration().get("AZURE_TELEMETRY_DISABLED", false)) {
+ userAgentBuilder
+ .append(" (")
+ .append(Configuration.getGlobalConfiguration().get("java.version"))
+ .append("; ")
+ .append(Configuration.getGlobalConfiguration().get("os.name"))
+ .append("; ")
+ .append(Configuration.getGlobalConfiguration().get("os.version"))
+ .append("; auto-generated)");
+ } else {
+ userAgentBuilder.append(" (auto-generated)");
+ }
+
+ if (scopes.isEmpty()) {
+ scopes.add(profile.getEnvironment().getManagementEndpoint() + "/.default");
+ }
+ if (retryPolicy == null) {
+ if (retryOptions != null) {
+ retryPolicy = new RetryPolicy(retryOptions);
+ } else {
+ retryPolicy = new RetryPolicy("Retry-After", ChronoUnit.SECONDS);
+ }
+ }
+ List policies = new ArrayList<>();
+ policies.add(new UserAgentPolicy(userAgentBuilder.toString()));
+ policies.add(new AddHeadersFromContextPolicy());
+ policies.add(new RequestIdPolicy());
+ policies
+ .addAll(
+ this
+ .policies
+ .stream()
+ .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
+ .collect(Collectors.toList()));
+ HttpPolicyProviders.addBeforeRetryPolicies(policies);
+ policies.add(retryPolicy);
+ policies.add(new AddDatePolicy());
+ policies.add(new ArmChallengeAuthenticationPolicy(credential, scopes.toArray(new String[0])));
+ policies
+ .addAll(
+ this
+ .policies
+ .stream()
+ .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
+ .collect(Collectors.toList()));
+ HttpPolicyProviders.addAfterRetryPolicies(policies);
+ policies.add(new HttpLoggingPolicy(httpLogOptions));
+ HttpPipeline httpPipeline =
+ new HttpPipelineBuilder()
+ .httpClient(httpClient)
+ .policies(policies.toArray(new HttpPipelinePolicy[0]))
+ .build();
+ return new ContainerRegistryManager(httpPipeline, profile, defaultPollInterval);
+ }
+ }
+
+ /**
+ * Gets the resource collection API of Archives. It manages Archive.
+ *
+ * @return Resource collection API of Archives.
+ */
+ public Archives archives() {
+ if (this.archives == null) {
+ this.archives = new ArchivesImpl(clientObject.getArchives(), this);
+ }
+ return archives;
+ }
+
+ /**
+ * Gets the resource collection API of ArchiveVersions.
+ *
+ * @return Resource collection API of ArchiveVersions.
+ */
+ public ArchiveVersions archiveVersions() {
+ if (this.archiveVersions == null) {
+ this.archiveVersions = new ArchiveVersionsImpl(clientObject.getArchiveVersions(), this);
+ }
+ return archiveVersions;
+ }
+
+ /**
+ * 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 ExportPipelines. It manages ExportPipeline.
+ *
+ * @return Resource collection API of ExportPipelines.
+ */
+ public ExportPipelines exportPipelines() {
+ if (this.exportPipelines == null) {
+ this.exportPipelines = new ExportPipelinesImpl(clientObject.getExportPipelines(), this);
+ }
+ return exportPipelines;
+ }
+
+ /**
+ * 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 ImportPipelines. It manages ImportPipeline.
+ *
+ * @return Resource collection API of ImportPipelines.
+ */
+ public ImportPipelines importPipelines() {
+ if (this.importPipelines == null) {
+ this.importPipelines = new ImportPipelinesImpl(clientObject.getImportPipelines(), this);
+ }
+ return importPipelines;
+ }
+
+ /**
+ * 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 PipelineRuns. It manages PipelineRun.
+ *
+ * @return Resource collection API of PipelineRuns.
+ */
+ public PipelineRuns pipelineRuns() {
+ if (this.pipelineRuns == null) {
+ this.pipelineRuns = new PipelineRunsImpl(clientObject.getPipelineRuns(), this);
+ }
+ return pipelineRuns;
+ }
+
+ /**
+ * 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 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/ArchiveVersionsClient.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/ArchiveVersionsClient.java
new file mode 100644
index 000000000000..0e1639cb72c8
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/ArchiveVersionsClient.java
@@ -0,0 +1,272 @@
+// 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.ArchiveVersionInner;
+
+/** An instance of this class provides access to all the operations defined in ArchiveVersionsClient. */
+public interface ArchiveVersionsClient {
+ /**
+ * Lists all archive versions for the specified container registry, repository type and archive name.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param packageType The type of the package resource.
+ * @param archiveName The name of the archive resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the result of a request to list export pipelines for a container registry as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(
+ String resourceGroupName, String registryName, String packageType, String archiveName);
+
+ /**
+ * Lists all archive versions for the specified container registry, repository type and archive name.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param packageType The type of the package resource.
+ * @param archiveName The name of the archive resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the result of a request to list export pipelines for a container registry as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(
+ String resourceGroupName, String registryName, String packageType, String archiveName, Context context);
+
+ /**
+ * Gets the properties of the archive version.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param packageType The type of the package resource.
+ * @param archiveName The name of the archive resource.
+ * @param archiveVersionName The name of the archive version resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the properties of the archive version along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName,
+ String registryName,
+ String packageType,
+ String archiveName,
+ String archiveVersionName,
+ Context context);
+
+ /**
+ * Gets the properties of the archive version.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param packageType The type of the package resource.
+ * @param archiveName The name of the archive resource.
+ * @param archiveVersionName The name of the archive version resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the properties of the archive version.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ArchiveVersionInner get(
+ String resourceGroupName,
+ String registryName,
+ String packageType,
+ String archiveName,
+ String archiveVersionName);
+
+ /**
+ * Creates a archive 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 packageType The type of the package resource.
+ * @param archiveName The name of the archive resource.
+ * @param archiveVersionName The name of the archive version resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of an object that represents an export pipeline for a container
+ * registry.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ArchiveVersionInner> beginCreate(
+ String resourceGroupName,
+ String registryName,
+ String packageType,
+ String archiveName,
+ String archiveVersionName);
+
+ /**
+ * Creates a archive 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 packageType The type of the package resource.
+ * @param archiveName The name of the archive resource.
+ * @param archiveVersionName The name of the archive version resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of an object that represents an export pipeline for a container
+ * registry.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ArchiveVersionInner> beginCreate(
+ String resourceGroupName,
+ String registryName,
+ String packageType,
+ String archiveName,
+ String archiveVersionName,
+ Context context);
+
+ /**
+ * Creates a archive 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 packageType The type of the package resource.
+ * @param archiveName The name of the archive resource.
+ * @param archiveVersionName The name of the archive version 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 an object that represents an export pipeline for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ArchiveVersionInner create(
+ String resourceGroupName,
+ String registryName,
+ String packageType,
+ String archiveName,
+ String archiveVersionName);
+
+ /**
+ * Creates a archive 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 packageType The type of the package resource.
+ * @param archiveName The name of the archive resource.
+ * @param archiveVersionName The name of the archive version 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 an object that represents an export pipeline for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ArchiveVersionInner create(
+ String resourceGroupName,
+ String registryName,
+ String packageType,
+ String archiveName,
+ String archiveVersionName,
+ Context context);
+
+ /**
+ * Deletes a archive version 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 packageType The type of the package resource.
+ * @param archiveName The name of the archive resource.
+ * @param archiveVersionName The name of the archive version resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName,
+ String registryName,
+ String packageType,
+ String archiveName,
+ String archiveVersionName);
+
+ /**
+ * Deletes a archive version 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 packageType The type of the package resource.
+ * @param archiveName The name of the archive resource.
+ * @param archiveVersionName The name of the archive version resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName,
+ String registryName,
+ String packageType,
+ String archiveName,
+ String archiveVersionName,
+ Context context);
+
+ /**
+ * Deletes a archive version 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 packageType The type of the package resource.
+ * @param archiveName The name of the archive resource.
+ * @param archiveVersionName The name of the archive version resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(
+ String resourceGroupName,
+ String registryName,
+ String packageType,
+ String archiveName,
+ String archiveVersionName);
+
+ /**
+ * Deletes a archive version 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 packageType The type of the package resource.
+ * @param archiveName The name of the archive resource.
+ * @param archiveVersionName The name of the archive version resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(
+ String resourceGroupName,
+ String registryName,
+ String packageType,
+ String archiveName,
+ String archiveVersionName,
+ Context context);
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/ArchivesClient.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/ArchivesClient.java
new file mode 100644
index 000000000000..2d040b745c3e
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/ArchivesClient.java
@@ -0,0 +1,276 @@
+// 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.ArchiveInner;
+import com.azure.resourcemanager.containerregistry.generated.models.ArchiveUpdateParameters;
+
+/** An instance of this class provides access to all the operations defined in ArchivesClient. */
+public interface ArchivesClient {
+ /**
+ * Lists all archives for the specified container registry and package type.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param packageType The type of the package resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the result of a request to list archives for a container registry as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String registryName, String packageType);
+
+ /**
+ * Lists all archives for the specified container registry and package type.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param packageType The type of the package resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the result of a request to list archives for a container registry as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(
+ String resourceGroupName, String registryName, String packageType, Context context);
+
+ /**
+ * Gets the properties of the archive.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param packageType The type of the package resource.
+ * @param archiveName The name of the archive resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the properties of the archive along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String registryName, String packageType, String archiveName, Context context);
+
+ /**
+ * Gets the properties of the archive.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param packageType The type of the package resource.
+ * @param archiveName The name of the archive resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the properties of the archive.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ArchiveInner get(String resourceGroupName, String registryName, String packageType, String archiveName);
+
+ /**
+ * Creates a archive 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 packageType The type of the package resource.
+ * @param archiveName The name of the archive resource.
+ * @param archiveCreateParameters The parameters for creating a archive.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown 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 archive for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ArchiveInner> beginCreate(
+ String resourceGroupName,
+ String registryName,
+ String packageType,
+ String archiveName,
+ ArchiveInner archiveCreateParameters);
+
+ /**
+ * Creates a archive 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 packageType The type of the package resource.
+ * @param archiveName The name of the archive resource.
+ * @param archiveCreateParameters The parameters for creating a archive.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown 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 archive for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ArchiveInner> beginCreate(
+ String resourceGroupName,
+ String registryName,
+ String packageType,
+ String archiveName,
+ ArchiveInner archiveCreateParameters,
+ Context context);
+
+ /**
+ * Creates a archive 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 packageType The type of the package resource.
+ * @param archiveName The name of the archive resource.
+ * @param archiveCreateParameters The parameters for creating a archive.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 archive for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ArchiveInner create(
+ String resourceGroupName,
+ String registryName,
+ String packageType,
+ String archiveName,
+ ArchiveInner archiveCreateParameters);
+
+ /**
+ * Creates a archive 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 packageType The type of the package resource.
+ * @param archiveName The name of the archive resource.
+ * @param archiveCreateParameters The parameters for creating a archive.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 archive for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ArchiveInner create(
+ String resourceGroupName,
+ String registryName,
+ String packageType,
+ String archiveName,
+ ArchiveInner archiveCreateParameters,
+ Context context);
+
+ /**
+ * Deletes a archive 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 packageType The type of the package resource.
+ * @param archiveName The name of the archive resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String registryName, String packageType, String archiveName);
+
+ /**
+ * Deletes a archive 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 packageType The type of the package resource.
+ * @param archiveName The name of the archive resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String registryName, String packageType, String archiveName, Context context);
+
+ /**
+ * Deletes a archive 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 packageType The type of the package resource.
+ * @param archiveName The name of the archive resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String registryName, String packageType, String archiveName);
+
+ /**
+ * Deletes a archive 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 packageType The type of the package resource.
+ * @param archiveName The name of the archive resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String registryName, String packageType, String archiveName, Context context);
+
+ /**
+ * Updates a archive 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 packageType The type of the package resource.
+ * @param archiveName The name of the archive resource.
+ * @param archiveUpdateParameters The parameters for updating a archive.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 archive for a container registry along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response updateWithResponse(
+ String resourceGroupName,
+ String registryName,
+ String packageType,
+ String archiveName,
+ ArchiveUpdateParameters archiveUpdateParameters,
+ Context context);
+
+ /**
+ * Updates a archive 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 packageType The type of the package resource.
+ * @param archiveName The name of the archive resource.
+ * @param archiveUpdateParameters The parameters for updating a archive.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 archive for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ArchiveInner update(
+ String resourceGroupName,
+ String registryName,
+ String packageType,
+ String archiveName,
+ ArchiveUpdateParameters archiveUpdateParameters);
+}
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..a1c9ab9e60f5
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/CacheRulesClient.java
@@ -0,0 +1,288 @@
+// 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..d46e5cbbe988
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/ConnectedRegistriesClient.java
@@ -0,0 +1,361 @@
+// 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 {
+ /**
+ * 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);
+
+ /**
+ * 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);
+
+ /**
+ * 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);
+
+ /**
+ * 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);
+
+ /**
+ * 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..e7e0c099aa3b
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/ContainerRegistryManagementClient.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;
+
+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 Api Version.
+ *
+ * @return the apiVersion value.
+ */
+ String getApiVersion();
+
+ /**
+ * Gets The HTTP pipeline to send requests through.
+ *
+ * @return the httpPipeline value.
+ */
+ HttpPipeline getHttpPipeline();
+
+ /**
+ * Gets The default poll interval for long-running operation.
+ *
+ * @return the defaultPollInterval value.
+ */
+ Duration getDefaultPollInterval();
+
+ /**
+ * Gets the ArchivesClient object to access its operations.
+ *
+ * @return the ArchivesClient object.
+ */
+ ArchivesClient getArchives();
+
+ /**
+ * Gets the ArchiveVersionsClient object to access its operations.
+ *
+ * @return the ArchiveVersionsClient object.
+ */
+ ArchiveVersionsClient getArchiveVersions();
+
+ /**
+ * 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 ExportPipelinesClient object to access its operations.
+ *
+ * @return the ExportPipelinesClient object.
+ */
+ ExportPipelinesClient getExportPipelines();
+
+ /**
+ * Gets the RegistriesClient object to access its operations.
+ *
+ * @return the RegistriesClient object.
+ */
+ RegistriesClient getRegistries();
+
+ /**
+ * Gets the ImportPipelinesClient object to access its operations.
+ *
+ * @return the ImportPipelinesClient object.
+ */
+ ImportPipelinesClient getImportPipelines();
+
+ /**
+ * Gets the OperationsClient object to access its operations.
+ *
+ * @return the OperationsClient object.
+ */
+ OperationsClient getOperations();
+
+ /**
+ * Gets the PipelineRunsClient object to access its operations.
+ *
+ * @return the PipelineRunsClient object.
+ */
+ PipelineRunsClient getPipelineRuns();
+
+ /**
+ * 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();
+}
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..6b228da9ef12
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/CredentialSetsClient.java
@@ -0,0 +1,299 @@
+// 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/ExportPipelinesClient.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/ExportPipelinesClient.java
new file mode 100644
index 000000000000..0d8f0e1c468e
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/ExportPipelinesClient.java
@@ -0,0 +1,216 @@
+// 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.ExportPipelineInner;
+
+/** An instance of this class provides access to all the operations defined in ExportPipelinesClient. */
+public interface ExportPipelinesClient {
+ /**
+ * Lists all export pipelines 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 export pipelines for a container registry as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String registryName);
+
+ /**
+ * Lists all export pipelines 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 export pipelines 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 export pipeline.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param exportPipelineName The name of the export pipeline.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 export pipeline along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String registryName, String exportPipelineName, Context context);
+
+ /**
+ * Gets the properties of the export pipeline.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param exportPipelineName The name of the export pipeline.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 export pipeline.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExportPipelineInner get(String resourceGroupName, String registryName, String exportPipelineName);
+
+ /**
+ * Creates an export pipeline 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 exportPipelineName The name of the export pipeline.
+ * @param exportPipelineCreateParameters The parameters for creating an export pipeline.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown 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 an export pipeline for a container
+ * registry.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ExportPipelineInner> beginCreate(
+ String resourceGroupName,
+ String registryName,
+ String exportPipelineName,
+ ExportPipelineInner exportPipelineCreateParameters);
+
+ /**
+ * Creates an export pipeline 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 exportPipelineName The name of the export pipeline.
+ * @param exportPipelineCreateParameters The parameters for creating an export pipeline.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown 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 an export pipeline for a container
+ * registry.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ExportPipelineInner> beginCreate(
+ String resourceGroupName,
+ String registryName,
+ String exportPipelineName,
+ ExportPipelineInner exportPipelineCreateParameters,
+ Context context);
+
+ /**
+ * Creates an export pipeline 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 exportPipelineName The name of the export pipeline.
+ * @param exportPipelineCreateParameters The parameters for creating an export pipeline.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 an export pipeline for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExportPipelineInner create(
+ String resourceGroupName,
+ String registryName,
+ String exportPipelineName,
+ ExportPipelineInner exportPipelineCreateParameters);
+
+ /**
+ * Creates an export pipeline 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 exportPipelineName The name of the export pipeline.
+ * @param exportPipelineCreateParameters The parameters for creating an export pipeline.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 an export pipeline for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExportPipelineInner create(
+ String resourceGroupName,
+ String registryName,
+ String exportPipelineName,
+ ExportPipelineInner exportPipelineCreateParameters,
+ Context context);
+
+ /**
+ * Deletes an export pipeline 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 exportPipelineName The name of the export pipeline.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown 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 exportPipelineName);
+
+ /**
+ * Deletes an export pipeline 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 exportPipelineName The name of the export pipeline.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown 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 exportPipelineName, Context context);
+
+ /**
+ * Deletes an export pipeline 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 exportPipelineName The name of the export pipeline.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 exportPipelineName);
+
+ /**
+ * Deletes an export pipeline 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 exportPipelineName The name of the export pipeline.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 exportPipelineName, Context context);
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/ImportPipelinesClient.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/ImportPipelinesClient.java
new file mode 100644
index 000000000000..5aec903a5162
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/ImportPipelinesClient.java
@@ -0,0 +1,216 @@
+// 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.ImportPipelineInner;
+
+/** An instance of this class provides access to all the operations defined in ImportPipelinesClient. */
+public interface ImportPipelinesClient {
+ /**
+ * Lists all import pipelines 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 import pipelines for a container registry as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String registryName);
+
+ /**
+ * Lists all import pipelines 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 import pipelines 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 import pipeline.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param importPipelineName The name of the import pipeline.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 import pipeline along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String registryName, String importPipelineName, Context context);
+
+ /**
+ * Gets the properties of the import pipeline.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param importPipelineName The name of the import pipeline.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 import pipeline.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ImportPipelineInner get(String resourceGroupName, String registryName, String importPipelineName);
+
+ /**
+ * Creates an import pipeline 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 importPipelineName The name of the import pipeline.
+ * @param importPipelineCreateParameters The parameters for creating an import pipeline.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown 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 an import pipeline for a container
+ * registry.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ImportPipelineInner> beginCreate(
+ String resourceGroupName,
+ String registryName,
+ String importPipelineName,
+ ImportPipelineInner importPipelineCreateParameters);
+
+ /**
+ * Creates an import pipeline 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 importPipelineName The name of the import pipeline.
+ * @param importPipelineCreateParameters The parameters for creating an import pipeline.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown 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 an import pipeline for a container
+ * registry.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ImportPipelineInner> beginCreate(
+ String resourceGroupName,
+ String registryName,
+ String importPipelineName,
+ ImportPipelineInner importPipelineCreateParameters,
+ Context context);
+
+ /**
+ * Creates an import pipeline 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 importPipelineName The name of the import pipeline.
+ * @param importPipelineCreateParameters The parameters for creating an import pipeline.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 an import pipeline for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ImportPipelineInner create(
+ String resourceGroupName,
+ String registryName,
+ String importPipelineName,
+ ImportPipelineInner importPipelineCreateParameters);
+
+ /**
+ * Creates an import pipeline 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 importPipelineName The name of the import pipeline.
+ * @param importPipelineCreateParameters The parameters for creating an import pipeline.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 an import pipeline for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ImportPipelineInner create(
+ String resourceGroupName,
+ String registryName,
+ String importPipelineName,
+ ImportPipelineInner importPipelineCreateParameters,
+ Context context);
+
+ /**
+ * Deletes an import pipeline 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 importPipelineName The name of the import pipeline.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown 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 importPipelineName);
+
+ /**
+ * Deletes an import pipeline 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 importPipelineName The name of the import pipeline.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown 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 importPipelineName, Context context);
+
+ /**
+ * Deletes an import pipeline 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 importPipelineName The name of the import pipeline.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 importPipelineName);
+
+ /**
+ * Deletes an import pipeline 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 importPipelineName The name of the import pipeline.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 importPipelineName, 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..1c30626832d4
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/OperationsClient.java
@@ -0,0 +1,38 @@
+// 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/PipelineRunsClient.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/PipelineRunsClient.java
new file mode 100644
index 000000000000..13ede63a6666
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/PipelineRunsClient.java
@@ -0,0 +1,214 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.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.PipelineRunInner;
+
+/** An instance of this class provides access to all the operations defined in PipelineRunsClient. */
+public interface PipelineRunsClient {
+ /**
+ * Lists all the pipeline runs 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 pipeline runs for a container registry as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String registryName);
+
+ /**
+ * Lists all the pipeline runs 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 pipeline runs for a container registry as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String registryName, Context context);
+
+ /**
+ * Gets the detailed information for a given pipeline run.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param pipelineRunName The name of the pipeline 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 pipeline run along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String registryName, String pipelineRunName, Context context);
+
+ /**
+ * Gets the detailed information for a given pipeline run.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param registryName The name of the container registry.
+ * @param pipelineRunName The name of the pipeline 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 pipeline run.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ PipelineRunInner get(String resourceGroupName, String registryName, String pipelineRunName);
+
+ /**
+ * Creates a pipeline run 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 pipelineRunName The name of the pipeline run.
+ * @param pipelineRunCreateParameters The parameters for creating a pipeline 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 an object that represents a pipeline run for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, PipelineRunInner> beginCreate(
+ String resourceGroupName,
+ String registryName,
+ String pipelineRunName,
+ PipelineRunInner pipelineRunCreateParameters);
+
+ /**
+ * Creates a pipeline run 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 pipelineRunName The name of the pipeline run.
+ * @param pipelineRunCreateParameters The parameters for creating a pipeline 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 an object that represents a pipeline run for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, PipelineRunInner> beginCreate(
+ String resourceGroupName,
+ String registryName,
+ String pipelineRunName,
+ PipelineRunInner pipelineRunCreateParameters,
+ Context context);
+
+ /**
+ * Creates a pipeline run 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 pipelineRunName The name of the pipeline run.
+ * @param pipelineRunCreateParameters The parameters for creating a pipeline 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 an object that represents a pipeline run for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ PipelineRunInner create(
+ String resourceGroupName,
+ String registryName,
+ String pipelineRunName,
+ PipelineRunInner pipelineRunCreateParameters);
+
+ /**
+ * Creates a pipeline run 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 pipelineRunName The name of the pipeline run.
+ * @param pipelineRunCreateParameters The parameters for creating a pipeline 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 an object that represents a pipeline run for a container registry.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ PipelineRunInner create(
+ String resourceGroupName,
+ String registryName,
+ String pipelineRunName,
+ PipelineRunInner pipelineRunCreateParameters,
+ Context context);
+
+ /**
+ * Deletes a pipeline run 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 pipelineRunName The name of the pipeline 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 pipelineRunName);
+
+ /**
+ * Deletes a pipeline run 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 pipelineRunName The name of the pipeline 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 pipelineRunName, Context context);
+
+ /**
+ * Deletes a pipeline run 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 pipelineRunName The name of the pipeline 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 pipelineRunName);
+
+ /**
+ * Deletes a pipeline run 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 pipelineRunName The name of the pipeline 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 pipelineRunName, 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..8bcd819972a2
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/PrivateEndpointConnectionsClient.java
@@ -0,0 +1,218 @@
+// 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..6317fabf0c06
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/RegistriesClient.java
@@ -0,0 +1,589 @@
+// 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.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;
+
+/** 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);
+}
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..b35aa0f85af3
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/ReplicationsClient.java
@@ -0,0 +1,289 @@
+// 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/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..2a1e0d731dd2
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/ScopeMapsClient.java
@@ -0,0 +1,288 @@
+// 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/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..5ffaf51b33e7
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/TokensClient.java
@@ -0,0 +1,282 @@
+// 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..70766b6ea8f9
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/WebhooksClient.java
@@ -0,0 +1,388 @@
+// 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/ArchiveInner.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/ArchiveInner.java
new file mode 100644
index 000000000000..376d95964c8d
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/ArchiveInner.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.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.resourcemanager.containerregistry.generated.models.ArchivePackageSourceProperties;
+import com.azure.resourcemanager.containerregistry.generated.models.ProvisioningState;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** An object that represents a archive for a container registry. */
+@Fluent
+public final class ArchiveInner extends ProxyResource {
+ /*
+ * The properties of the archive.
+ */
+ @JsonProperty(value = "properties")
+ private ArchiveProperties innerProperties;
+
+ /*
+ * Metadata pertaining to creation and last modification of the resource.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /** Creates an instance of ArchiveInner class. */
+ public ArchiveInner() {
+ }
+
+ /**
+ * Get the innerProperties property: The properties of the archive.
+ *
+ * @return the innerProperties value.
+ */
+ private ArchiveProperties 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 packageSource property: The package source of the archive.
+ *
+ * @return the packageSource value.
+ */
+ public ArchivePackageSourceProperties packageSource() {
+ return this.innerProperties() == null ? null : this.innerProperties().packageSource();
+ }
+
+ /**
+ * Set the packageSource property: The package source of the archive.
+ *
+ * @param packageSource the packageSource value to set.
+ * @return the ArchiveInner object itself.
+ */
+ public ArchiveInner withPackageSource(ArchivePackageSourceProperties packageSource) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ArchiveProperties();
+ }
+ this.innerProperties().withPackageSource(packageSource);
+ return this;
+ }
+
+ /**
+ * Get the publishedVersion property: The published version of the archive.
+ *
+ * @return the publishedVersion value.
+ */
+ public String publishedVersion() {
+ return this.innerProperties() == null ? null : this.innerProperties().publishedVersion();
+ }
+
+ /**
+ * Set the publishedVersion property: The published version of the archive.
+ *
+ * @param publishedVersion the publishedVersion value to set.
+ * @return the ArchiveInner object itself.
+ */
+ public ArchiveInner withPublishedVersion(String publishedVersion) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ArchiveProperties();
+ }
+ this.innerProperties().withPublishedVersion(publishedVersion);
+ return this;
+ }
+
+ /**
+ * Get the repositoryEndpointPrefix property: The repositoryEndpointPrefix property.
+ *
+ * @return the repositoryEndpointPrefix value.
+ */
+ public String repositoryEndpointPrefix() {
+ return this.innerProperties() == null ? null : this.innerProperties().repositoryEndpointPrefix();
+ }
+
+ /**
+ * Set the repositoryEndpointPrefix property: The repositoryEndpointPrefix property.
+ *
+ * @param repositoryEndpointPrefix the repositoryEndpointPrefix value to set.
+ * @return the ArchiveInner object itself.
+ */
+ public ArchiveInner withRepositoryEndpointPrefix(String repositoryEndpointPrefix) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ArchiveProperties();
+ }
+ this.innerProperties().withRepositoryEndpointPrefix(repositoryEndpointPrefix);
+ return this;
+ }
+
+ /**
+ * Get the repositoryEndpoint property: The repositoryEndpoint property.
+ *
+ * @return the repositoryEndpoint value.
+ */
+ public String repositoryEndpoint() {
+ return this.innerProperties() == null ? null : this.innerProperties().repositoryEndpoint();
+ }
+
+ /**
+ * Get the provisioningState property: The provisioning state of the archive at the time the operation was called.
+ *
+ * @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();
+ }
+ }
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/ArchiveProperties.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/ArchiveProperties.java
new file mode 100644
index 000000000000..ac8b9c40d85c
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/ArchiveProperties.java
@@ -0,0 +1,137 @@
+// 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.resourcemanager.containerregistry.generated.models.ArchivePackageSourceProperties;
+import com.azure.resourcemanager.containerregistry.generated.models.ProvisioningState;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** The properties of a archive. */
+@Fluent
+public class ArchiveProperties {
+ /*
+ * The package source of the archive.
+ */
+ @JsonProperty(value = "packageSource")
+ private ArchivePackageSourceProperties packageSource;
+
+ /*
+ * The published version of the archive.
+ */
+ @JsonProperty(value = "publishedVersion")
+ private String publishedVersion;
+
+ /*
+ * The repositoryEndpointPrefix property.
+ */
+ @JsonProperty(value = "repositoryEndpointPrefix")
+ private String repositoryEndpointPrefix;
+
+ /*
+ * The repositoryEndpoint property.
+ */
+ @JsonProperty(value = "repositoryEndpoint", access = JsonProperty.Access.WRITE_ONLY)
+ private String repositoryEndpoint;
+
+ /*
+ * The provisioning state of the archive at the time the operation was called.
+ */
+ @JsonProperty(value = "provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private ProvisioningState provisioningState;
+
+ /** Creates an instance of ArchiveProperties class. */
+ public ArchiveProperties() {
+ }
+
+ /**
+ * Get the packageSource property: The package source of the archive.
+ *
+ * @return the packageSource value.
+ */
+ public ArchivePackageSourceProperties packageSource() {
+ return this.packageSource;
+ }
+
+ /**
+ * Set the packageSource property: The package source of the archive.
+ *
+ * @param packageSource the packageSource value to set.
+ * @return the ArchiveProperties object itself.
+ */
+ public ArchiveProperties withPackageSource(ArchivePackageSourceProperties packageSource) {
+ this.packageSource = packageSource;
+ return this;
+ }
+
+ /**
+ * Get the publishedVersion property: The published version of the archive.
+ *
+ * @return the publishedVersion value.
+ */
+ public String publishedVersion() {
+ return this.publishedVersion;
+ }
+
+ /**
+ * Set the publishedVersion property: The published version of the archive.
+ *
+ * @param publishedVersion the publishedVersion value to set.
+ * @return the ArchiveProperties object itself.
+ */
+ public ArchiveProperties withPublishedVersion(String publishedVersion) {
+ this.publishedVersion = publishedVersion;
+ return this;
+ }
+
+ /**
+ * Get the repositoryEndpointPrefix property: The repositoryEndpointPrefix property.
+ *
+ * @return the repositoryEndpointPrefix value.
+ */
+ public String repositoryEndpointPrefix() {
+ return this.repositoryEndpointPrefix;
+ }
+
+ /**
+ * Set the repositoryEndpointPrefix property: The repositoryEndpointPrefix property.
+ *
+ * @param repositoryEndpointPrefix the repositoryEndpointPrefix value to set.
+ * @return the ArchiveProperties object itself.
+ */
+ public ArchiveProperties withRepositoryEndpointPrefix(String repositoryEndpointPrefix) {
+ this.repositoryEndpointPrefix = repositoryEndpointPrefix;
+ return this;
+ }
+
+ /**
+ * Get the repositoryEndpoint property: The repositoryEndpoint property.
+ *
+ * @return the repositoryEndpoint value.
+ */
+ public String repositoryEndpoint() {
+ return this.repositoryEndpoint;
+ }
+
+ /**
+ * Get the provisioningState property: The provisioning state of the archive at the time the operation was called.
+ *
+ * @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 (packageSource() != null) {
+ packageSource().validate();
+ }
+ }
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/ArchiveUpdateProperties.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/ArchiveUpdateProperties.java
new file mode 100644
index 000000000000..23d197c49910
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/ArchiveUpdateProperties.java
@@ -0,0 +1,50 @@
+// 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.fasterxml.jackson.annotation.JsonProperty;
+
+/** The properties of a archive. */
+@Fluent
+public final class ArchiveUpdateProperties {
+ /*
+ * The published version of the archive.
+ */
+ @JsonProperty(value = "publishedVersion")
+ private String publishedVersion;
+
+ /** Creates an instance of ArchiveUpdateProperties class. */
+ public ArchiveUpdateProperties() {
+ }
+
+ /**
+ * Get the publishedVersion property: The published version of the archive.
+ *
+ * @return the publishedVersion value.
+ */
+ public String publishedVersion() {
+ return this.publishedVersion;
+ }
+
+ /**
+ * Set the publishedVersion property: The published version of the archive.
+ *
+ * @param publishedVersion the publishedVersion value to set.
+ * @return the ArchiveUpdateProperties object itself.
+ */
+ public ArchiveUpdateProperties withPublishedVersion(String publishedVersion) {
+ this.publishedVersion = publishedVersion;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/ArchiveVersionInner.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/ArchiveVersionInner.java
new file mode 100644
index 000000000000..8dbfabba2e7d
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/ArchiveVersionInner.java
@@ -0,0 +1,94 @@
+// 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.resourcemanager.containerregistry.generated.models.ProvisioningState;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** An object that represents an export pipeline for a container registry. */
+@Fluent
+public final class ArchiveVersionInner extends ProxyResource {
+ /*
+ * The properties of the archive.
+ */
+ @JsonProperty(value = "properties")
+ private ArchiveVersionProperties innerProperties;
+
+ /*
+ * Metadata pertaining to creation and last modification of the resource.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /** Creates an instance of ArchiveVersionInner class. */
+ public ArchiveVersionInner() {
+ }
+
+ /**
+ * Get the innerProperties property: The properties of the archive.
+ *
+ * @return the innerProperties value.
+ */
+ private ArchiveVersionProperties 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 provisioningState property: The provisioning state of the archive at the time the operation was called.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.innerProperties() == null ? null : this.innerProperties().provisioningState();
+ }
+
+ /**
+ * Get the archiveVersionErrorMessage property: The detailed error message for the archive version in the case of
+ * failure.
+ *
+ * @return the archiveVersionErrorMessage value.
+ */
+ public String archiveVersionErrorMessage() {
+ return this.innerProperties() == null ? null : this.innerProperties().archiveVersionErrorMessage();
+ }
+
+ /**
+ * Set the archiveVersionErrorMessage property: The detailed error message for the archive version in the case of
+ * failure.
+ *
+ * @param archiveVersionErrorMessage the archiveVersionErrorMessage value to set.
+ * @return the ArchiveVersionInner object itself.
+ */
+ public ArchiveVersionInner withArchiveVersionErrorMessage(String archiveVersionErrorMessage) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ArchiveVersionProperties();
+ }
+ this.innerProperties().withArchiveVersionErrorMessage(archiveVersionErrorMessage);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/ArchiveVersionProperties.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/ArchiveVersionProperties.java
new file mode 100644
index 000000000000..1b1a79cf5dda
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/ArchiveVersionProperties.java
@@ -0,0 +1,68 @@
+// 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.resourcemanager.containerregistry.generated.models.ProvisioningState;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** The properties of an export pipeline. */
+@Fluent
+public final class ArchiveVersionProperties {
+ /*
+ * The provisioning state of the archive at the time the operation was called.
+ */
+ @JsonProperty(value = "provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private ProvisioningState provisioningState;
+
+ /*
+ * The detailed error message for the archive version in the case of failure.
+ */
+ @JsonProperty(value = "archiveVersionErrorMessage")
+ private String archiveVersionErrorMessage;
+
+ /** Creates an instance of ArchiveVersionProperties class. */
+ public ArchiveVersionProperties() {
+ }
+
+ /**
+ * Get the provisioningState property: The provisioning state of the archive at the time the operation was called.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the archiveVersionErrorMessage property: The detailed error message for the archive version in the case of
+ * failure.
+ *
+ * @return the archiveVersionErrorMessage value.
+ */
+ public String archiveVersionErrorMessage() {
+ return this.archiveVersionErrorMessage;
+ }
+
+ /**
+ * Set the archiveVersionErrorMessage property: The detailed error message for the archive version in the case of
+ * failure.
+ *
+ * @param archiveVersionErrorMessage the archiveVersionErrorMessage value to set.
+ * @return the ArchiveVersionProperties object itself.
+ */
+ public ArchiveVersionProperties withArchiveVersionErrorMessage(String archiveVersionErrorMessage) {
+ this.archiveVersionErrorMessage = archiveVersionErrorMessage;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
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..95336d76d91b
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/CacheRuleInner.java
@@ -0,0 +1,152 @@
+// 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.resourcemanager.containerregistry.generated.models.ProvisioningState;
+import com.fasterxml.jackson.annotation.JsonProperty;
+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.
+ */
+ @JsonProperty(value = "properties")
+ private CacheRuleProperties innerProperties;
+
+ /*
+ * Metadata pertaining to creation and last modification of the resource.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /** 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 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();
+ }
+ }
+}
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..d96cf7b67d94
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/CacheRuleProperties.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.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.containerregistry.generated.models.ProvisioningState;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+
+/** The properties of a cache rule. */
+@Fluent
+public final class CacheRuleProperties {
+ /*
+ * The ARM resource ID of the credential store which is associated with the cache rule.
+ */
+ @JsonProperty(value = "credentialSetResourceId")
+ private String credentialSetResourceId;
+
+ /*
+ * Source repository pulled from upstream.
+ */
+ @JsonProperty(value = "sourceRepository")
+ private String sourceRepository;
+
+ /*
+ * Target repository specified in docker pull command.
+ * Eg: docker pull myregistry.azurecr.io/{targetRepository}:{tag}
+ */
+ @JsonProperty(value = "targetRepository")
+ private String targetRepository;
+
+ /*
+ * The creation date of the cache rule.
+ */
+ @JsonProperty(value = "creationDate", access = JsonProperty.Access.WRITE_ONLY)
+ private OffsetDateTime creationDate;
+
+ /*
+ * Provisioning state of the resource.
+ */
+ @JsonProperty(value = "provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ 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() {
+ }
+}
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..505412047fba
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/CacheRuleUpdateProperties.java
@@ -0,0 +1,52 @@
+// 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.fasterxml.jackson.annotation.JsonProperty;
+
+/** The parameters for updating cache rule properties. */
+@Fluent
+public final class CacheRuleUpdateProperties {
+ /*
+ * The ARM resource ID of the credential store which is associated with the Cache rule.
+ */
+ @JsonProperty(value = "credentialSetResourceId")
+ 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() {
+ }
+}
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..52b4e2090989
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/CallbackConfigInner.java
@@ -0,0 +1,87 @@
+// 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.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Map;
+
+/** The configuration of service URI and custom headers for the webhook. */
+@Fluent
+public final class CallbackConfigInner {
+ /*
+ * The service URI for the webhook to post notifications.
+ */
+ @JsonProperty(value = "serviceUri", required = true)
+ private String serviceUri;
+
+ /*
+ * Custom headers that will be added to the webhook notifications.
+ */
+ @JsonProperty(value = "customHeaders")
+ @JsonInclude(value = JsonInclude.Include.NON_NULL, content = JsonInclude.Include.ALWAYS)
+ 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
+ .logExceptionAsError(
+ new IllegalArgumentException("Missing required property serviceUri in model CallbackConfigInner"));
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(CallbackConfigInner.class);
+}
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..cd1e710be562
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/ConnectedRegistryInner.java
@@ -0,0 +1,267 @@
+// 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.resourcemanager.containerregistry.generated.models.ActivationProperties;
+import com.azure.resourcemanager.containerregistry.generated.models.ConnectedRegistryMode;
+import com.azure.resourcemanager.containerregistry.generated.models.ConnectionState;
+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 com.fasterxml.jackson.annotation.JsonProperty;
+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 of the connected registry.
+ */
+ @JsonProperty(value = "properties")
+ private ConnectedRegistryProperties innerProperties;
+
+ /*
+ * Metadata pertaining to creation and last modification of the resource.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /** Creates an instance of ConnectedRegistryInner class. */
+ public ConnectedRegistryInner() {
+ }
+
+ /**
+ * Get the innerProperties property: The properties of the connected registry.
+ *
+ * @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 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 properties of the connected registry.
+ *
+ * @return the activation value.
+ */
+ public ActivationProperties activation() {
+ return this.innerProperties() == null ? null : this.innerProperties().activation();
+ }
+
+ /**
+ * Get the parent property: The parent of the connected registry.
+ *
+ * @return the parent value.
+ */
+ public ParentProperties parent() {
+ return this.innerProperties() == null ? null : this.innerProperties().parent();
+ }
+
+ /**
+ * Set the parent property: The parent of the connected registry.
+ *
+ * @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;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+}
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..44442c0b5446
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/ConnectedRegistryProperties.java
@@ -0,0 +1,315 @@
+// 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.resourcemanager.containerregistry.generated.models.ActivationProperties;
+import com.azure.resourcemanager.containerregistry.generated.models.ConnectedRegistryMode;
+import com.azure.resourcemanager.containerregistry.generated.models.ConnectionState;
+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 com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+import java.util.List;
+
+/** The properties of a connected registry. */
+@Fluent
+public final class ConnectedRegistryProperties {
+ /*
+ * Provisioning state of the resource.
+ */
+ @JsonProperty(value = "provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private ProvisioningState provisioningState;
+
+ /*
+ * The mode of the connected registry resource that indicates the permissions of the registry.
+ */
+ @JsonProperty(value = "mode", required = true)
+ private ConnectedRegistryMode mode;
+
+ /*
+ * The current version of ACR runtime on the connected registry.
+ */
+ @JsonProperty(value = "version", access = JsonProperty.Access.WRITE_ONLY)
+ private String version;
+
+ /*
+ * The current connection state of the connected registry.
+ */
+ @JsonProperty(value = "connectionState", access = JsonProperty.Access.WRITE_ONLY)
+ private ConnectionState connectionState;
+
+ /*
+ * The last activity time of the connected registry.
+ */
+ @JsonProperty(value = "lastActivityTime", access = JsonProperty.Access.WRITE_ONLY)
+ private OffsetDateTime lastActivityTime;
+
+ /*
+ * The activation properties of the connected registry.
+ */
+ @JsonProperty(value = "activation", access = JsonProperty.Access.WRITE_ONLY)
+ private ActivationProperties activation;
+
+ /*
+ * The parent of the connected registry.
+ */
+ @JsonProperty(value = "parent", required = true)
+ private ParentProperties parent;
+
+ /*
+ * The list of the ACR token resource IDs used to authenticate clients to the connected registry.
+ */
+ @JsonProperty(value = "clientTokenIds")
+ private List clientTokenIds;
+
+ /*
+ * The login server properties of the connected registry.
+ */
+ @JsonProperty(value = "loginServer")
+ private LoginServerProperties loginServer;
+
+ /*
+ * The logging properties of the connected registry.
+ */
+ @JsonProperty(value = "logging")
+ private LoggingProperties logging;
+
+ /*
+ * The list of current statuses of the connected registry.
+ */
+ @JsonProperty(value = "statusDetails", access = JsonProperty.Access.WRITE_ONLY)
+ private List statusDetails;
+
+ /*
+ * The list of notifications subscription information for the connected registry.
+ */
+ @JsonProperty(value = "notificationsList")
+ private List notificationsList;
+
+ /** Creates an instance of ConnectedRegistryProperties class. */
+ public ConnectedRegistryProperties() {
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning state of the resource.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.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.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 ConnectedRegistryProperties object itself.
+ */
+ public ConnectedRegistryProperties withMode(ConnectedRegistryMode mode) {
+ this.mode = 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.version;
+ }
+
+ /**
+ * Get the connectionState property: The current connection state of the connected registry.
+ *
+ * @return the connectionState value.
+ */
+ public ConnectionState connectionState() {
+ return this.connectionState;
+ }
+
+ /**
+ * Get the lastActivityTime property: The last activity time of the connected registry.
+ *
+ * @return the lastActivityTime value.
+ */
+ public OffsetDateTime lastActivityTime() {
+ return this.lastActivityTime;
+ }
+
+ /**
+ * Get the activation property: The activation properties of the connected registry.
+ *
+ * @return the activation value.
+ */
+ public ActivationProperties activation() {
+ return this.activation;
+ }
+
+ /**
+ * Get the parent property: The parent of the connected registry.
+ *
+ * @return the parent value.
+ */
+ public ParentProperties parent() {
+ return this.parent;
+ }
+
+ /**
+ * Set the parent property: The parent of the connected registry.
+ *
+ * @param parent the parent value to set.
+ * @return the ConnectedRegistryProperties object itself.
+ */
+ public ConnectedRegistryProperties withParent(ParentProperties parent) {
+ this.parent = 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.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 ConnectedRegistryProperties object itself.
+ */
+ public ConnectedRegistryProperties withClientTokenIds(List clientTokenIds) {
+ this.clientTokenIds = clientTokenIds;
+ return this;
+ }
+
+ /**
+ * Get the loginServer property: The login server properties of the connected registry.
+ *
+ * @return the loginServer value.
+ */
+ public LoginServerProperties loginServer() {
+ return this.loginServer;
+ }
+
+ /**
+ * Set the loginServer property: The login server properties of the connected registry.
+ *
+ * @param loginServer the loginServer value to set.
+ * @return the ConnectedRegistryProperties object itself.
+ */
+ public ConnectedRegistryProperties withLoginServer(LoginServerProperties loginServer) {
+ this.loginServer = loginServer;
+ return this;
+ }
+
+ /**
+ * Get the logging property: The logging properties of the connected registry.
+ *
+ * @return the logging value.
+ */
+ public LoggingProperties logging() {
+ return this.logging;
+ }
+
+ /**
+ * Set the logging property: The logging properties of the connected registry.
+ *
+ * @param logging the logging value to set.
+ * @return the ConnectedRegistryProperties object itself.
+ */
+ public ConnectedRegistryProperties withLogging(LoggingProperties logging) {
+ this.logging = 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.statusDetails;
+ }
+
+ /**
+ * Get the notificationsList property: The list of notifications subscription information for the connected
+ * registry.
+ *
+ * @return the notificationsList value.
+ */
+ public List notificationsList() {
+ return this.notificationsList;
+ }
+
+ /**
+ * Set the notificationsList property: The list of notifications subscription information for the connected
+ * registry.
+ *
+ * @param notificationsList the notificationsList value to set.
+ * @return the ConnectedRegistryProperties object itself.
+ */
+ public ConnectedRegistryProperties withNotificationsList(List notificationsList) {
+ this.notificationsList = notificationsList;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (mode() == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property mode in model ConnectedRegistryProperties"));
+ }
+ if (activation() != null) {
+ activation().validate();
+ }
+ if (parent() == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ 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());
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(ConnectedRegistryProperties.class);
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/ConnectedRegistryUpdateProperties.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/ConnectedRegistryUpdateProperties.java
new file mode 100644
index 000000000000..16ef2c69f3b3
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/ConnectedRegistryUpdateProperties.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.resourcemanager.containerregistry.generated.models.LoggingProperties;
+import com.azure.resourcemanager.containerregistry.generated.models.SyncUpdateProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** The parameters for updating token properties. */
+@Fluent
+public final class ConnectedRegistryUpdateProperties {
+ /*
+ * The sync properties of the connected registry with its parent.
+ */
+ @JsonProperty(value = "syncProperties")
+ private SyncUpdateProperties syncProperties;
+
+ /*
+ * The logging properties of the connected registry.
+ */
+ @JsonProperty(value = "logging")
+ private LoggingProperties logging;
+
+ /*
+ * The list of the ACR token resource IDs used to authenticate clients to the connected registry.
+ */
+ @JsonProperty(value = "clientTokenIds")
+ private List clientTokenIds;
+
+ /*
+ * The list of notifications subscription information for the connected registry.
+ */
+ @JsonProperty(value = "notificationsList")
+ private List notificationsList;
+
+ /** Creates an instance of ConnectedRegistryUpdateProperties class. */
+ public ConnectedRegistryUpdateProperties() {
+ }
+
+ /**
+ * Get the syncProperties property: The sync properties of the connected registry with its parent.
+ *
+ * @return the syncProperties value.
+ */
+ public SyncUpdateProperties syncProperties() {
+ return this.syncProperties;
+ }
+
+ /**
+ * Set the syncProperties property: The sync properties of the connected registry with its parent.
+ *
+ * @param syncProperties the syncProperties value to set.
+ * @return the ConnectedRegistryUpdateProperties object itself.
+ */
+ public ConnectedRegistryUpdateProperties withSyncProperties(SyncUpdateProperties syncProperties) {
+ this.syncProperties = syncProperties;
+ return this;
+ }
+
+ /**
+ * Get the logging property: The logging properties of the connected registry.
+ *
+ * @return the logging value.
+ */
+ public LoggingProperties logging() {
+ return this.logging;
+ }
+
+ /**
+ * Set the logging property: The logging properties of the connected registry.
+ *
+ * @param logging the logging value to set.
+ * @return the ConnectedRegistryUpdateProperties object itself.
+ */
+ public ConnectedRegistryUpdateProperties withLogging(LoggingProperties logging) {
+ this.logging = logging;
+ 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.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 ConnectedRegistryUpdateProperties object itself.
+ */
+ public ConnectedRegistryUpdateProperties withClientTokenIds(List clientTokenIds) {
+ this.clientTokenIds = clientTokenIds;
+ return this;
+ }
+
+ /**
+ * Get the notificationsList property: The list of notifications subscription information for the connected
+ * registry.
+ *
+ * @return the notificationsList value.
+ */
+ public List notificationsList() {
+ return this.notificationsList;
+ }
+
+ /**
+ * Set the notificationsList property: The list of notifications subscription information for the connected
+ * registry.
+ *
+ * @param notificationsList the notificationsList value to set.
+ * @return the ConnectedRegistryUpdateProperties object itself.
+ */
+ public ConnectedRegistryUpdateProperties withNotificationsList(List notificationsList) {
+ this.notificationsList = notificationsList;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (syncProperties() != null) {
+ syncProperties().validate();
+ }
+ if (logging() != null) {
+ logging().validate();
+ }
+ }
+}
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..17ae509f389f
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/CredentialSetInner.java
@@ -0,0 +1,159 @@
+// 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.resourcemanager.containerregistry.generated.models.AuthCredential;
+import com.azure.resourcemanager.containerregistry.generated.models.IdentityProperties;
+import com.azure.resourcemanager.containerregistry.generated.models.ProvisioningState;
+import com.fasterxml.jackson.annotation.JsonProperty;
+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.
+ */
+ @JsonProperty(value = "identity")
+ private IdentityProperties identity;
+
+ /*
+ * The properties of the credential set.
+ */
+ @JsonProperty(value = "properties")
+ private CredentialSetProperties innerProperties;
+
+ /*
+ * Metadata pertaining to creation and last modification of the resource.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /** 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 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();
+ }
+ }
+}
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..7b11ce28e365
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/CredentialSetProperties.java
@@ -0,0 +1,116 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerregistry.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.containerregistry.generated.models.AuthCredential;
+import com.azure.resourcemanager.containerregistry.generated.models.ProvisioningState;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+import java.util.List;
+
+/** The properties of a credential set resource. */
+@Fluent
+public final class CredentialSetProperties {
+ /*
+ * The credentials are stored for this upstream or login server.
+ */
+ @JsonProperty(value = "loginServer")
+ private String loginServer;
+
+ /*
+ * List of authentication credentials stored for an upstream.
+ * Usually consists of a primary and an optional secondary credential.
+ */
+ @JsonProperty(value = "authCredentials")
+ private List authCredentials;
+
+ /*
+ * The creation date of credential store resource.
+ */
+ @JsonProperty(value = "creationDate", access = JsonProperty.Access.WRITE_ONLY)
+ private OffsetDateTime creationDate;
+
+ /*
+ * Provisioning state of the resource.
+ */
+ @JsonProperty(value = "provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ 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());
+ }
+ }
+}
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..617579d30df8
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/CredentialSetUpdateProperties.java
@@ -0,0 +1,58 @@
+// 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.resourcemanager.containerregistry.generated.models.AuthCredential;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** The parameters for updating credential set properties. */
+@Fluent
+public final class CredentialSetUpdateProperties {
+ /*
+ * List of authentication credentials stored for an upstream.
+ * Usually consists of a primary and an optional secondary credential.
+ */
+ @JsonProperty(value = "authCredentials")
+ 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());
+ }
+ }
+}
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..333a773bb8e3
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/EventInfoInner.java
@@ -0,0 +1,50 @@
+// 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.fasterxml.jackson.annotation.JsonProperty;
+
+/** The basic information of an event. */
+@Fluent
+public class EventInfoInner {
+ /*
+ * The event ID.
+ */
+ @JsonProperty(value = "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() {
+ }
+}
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..bdc6c1067dbe
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/EventInner.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.resourcemanager.containerregistry.generated.models.EventRequestMessage;
+import com.azure.resourcemanager.containerregistry.generated.models.EventResponseMessage;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** The event for a webhook. */
+@Fluent
+public final class EventInner extends EventInfoInner {
+ /*
+ * The event request message sent to the service URI.
+ */
+ @JsonProperty(value = "eventRequestMessage")
+ private EventRequestMessage eventRequestMessage;
+
+ /*
+ * The event response message received from the service URI.
+ */
+ @JsonProperty(value = "eventResponseMessage")
+ 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() {
+ super.validate();
+ if (eventRequestMessage() != null) {
+ eventRequestMessage().validate();
+ }
+ if (eventResponseMessage() != null) {
+ eventResponseMessage().validate();
+ }
+ }
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/ExportPipelineInner.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/ExportPipelineInner.java
new file mode 100644
index 000000000000..7c2c7c75be9b
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/ExportPipelineInner.java
@@ -0,0 +1,174 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.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.resourcemanager.containerregistry.generated.models.ExportPipelineTargetProperties;
+import com.azure.resourcemanager.containerregistry.generated.models.IdentityProperties;
+import com.azure.resourcemanager.containerregistry.generated.models.PipelineOptions;
+import com.azure.resourcemanager.containerregistry.generated.models.ProvisioningState;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** An object that represents an export pipeline for a container registry. */
+@Fluent
+public final class ExportPipelineInner extends ProxyResource {
+ /*
+ * The location of the export pipeline.
+ */
+ @JsonProperty(value = "location")
+ private String location;
+
+ /*
+ * The identity of the export pipeline.
+ */
+ @JsonProperty(value = "identity")
+ private IdentityProperties identity;
+
+ /*
+ * The properties of the export pipeline.
+ */
+ @JsonProperty(value = "properties")
+ private ExportPipelineProperties innerProperties;
+
+ /*
+ * Metadata pertaining to creation and last modification of the resource.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /** Creates an instance of ExportPipelineInner class. */
+ public ExportPipelineInner() {
+ }
+
+ /**
+ * Get the location property: The location of the export pipeline.
+ *
+ * @return the location value.
+ */
+ public String location() {
+ return this.location;
+ }
+
+ /**
+ * Set the location property: The location of the export pipeline.
+ *
+ * @param location the location value to set.
+ * @return the ExportPipelineInner object itself.
+ */
+ public ExportPipelineInner withLocation(String location) {
+ this.location = location;
+ return this;
+ }
+
+ /**
+ * Get the identity property: The identity of the export pipeline.
+ *
+ * @return the identity value.
+ */
+ public IdentityProperties identity() {
+ return this.identity;
+ }
+
+ /**
+ * Set the identity property: The identity of the export pipeline.
+ *
+ * @param identity the identity value to set.
+ * @return the ExportPipelineInner object itself.
+ */
+ public ExportPipelineInner withIdentity(IdentityProperties identity) {
+ this.identity = identity;
+ return this;
+ }
+
+ /**
+ * Get the innerProperties property: The properties of the export pipeline.
+ *
+ * @return the innerProperties value.
+ */
+ private ExportPipelineProperties 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 target property: The target properties of the export pipeline.
+ *
+ * @return the target value.
+ */
+ public ExportPipelineTargetProperties target() {
+ return this.innerProperties() == null ? null : this.innerProperties().target();
+ }
+
+ /**
+ * Set the target property: The target properties of the export pipeline.
+ *
+ * @param target the target value to set.
+ * @return the ExportPipelineInner object itself.
+ */
+ public ExportPipelineInner withTarget(ExportPipelineTargetProperties target) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ExportPipelineProperties();
+ }
+ this.innerProperties().withTarget(target);
+ return this;
+ }
+
+ /**
+ * Get the options property: The list of all options configured for the pipeline.
+ *
+ * @return the options value.
+ */
+ public List options() {
+ return this.innerProperties() == null ? null : this.innerProperties().options();
+ }
+
+ /**
+ * Set the options property: The list of all options configured for the pipeline.
+ *
+ * @param options the options value to set.
+ * @return the ExportPipelineInner object itself.
+ */
+ public ExportPipelineInner withOptions(List options) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ExportPipelineProperties();
+ }
+ this.innerProperties().withOptions(options);
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: The provisioning state of the pipeline at the time the operation was called.
+ *
+ * @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();
+ }
+ }
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/ExportPipelineProperties.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/ExportPipelineProperties.java
new file mode 100644
index 000000000000..90e55d042a92
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/ExportPipelineProperties.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.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.containerregistry.generated.models.ExportPipelineTargetProperties;
+import com.azure.resourcemanager.containerregistry.generated.models.PipelineOptions;
+import com.azure.resourcemanager.containerregistry.generated.models.ProvisioningState;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** The properties of an export pipeline. */
+@Fluent
+public final class ExportPipelineProperties {
+ /*
+ * The target properties of the export pipeline.
+ */
+ @JsonProperty(value = "target", required = true)
+ private ExportPipelineTargetProperties target;
+
+ /*
+ * The list of all options configured for the pipeline.
+ */
+ @JsonProperty(value = "options")
+ private List options;
+
+ /*
+ * The provisioning state of the pipeline at the time the operation was called.
+ */
+ @JsonProperty(value = "provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private ProvisioningState provisioningState;
+
+ /** Creates an instance of ExportPipelineProperties class. */
+ public ExportPipelineProperties() {
+ }
+
+ /**
+ * Get the target property: The target properties of the export pipeline.
+ *
+ * @return the target value.
+ */
+ public ExportPipelineTargetProperties target() {
+ return this.target;
+ }
+
+ /**
+ * Set the target property: The target properties of the export pipeline.
+ *
+ * @param target the target value to set.
+ * @return the ExportPipelineProperties object itself.
+ */
+ public ExportPipelineProperties withTarget(ExportPipelineTargetProperties target) {
+ this.target = target;
+ return this;
+ }
+
+ /**
+ * Get the options property: The list of all options configured for the pipeline.
+ *
+ * @return the options value.
+ */
+ public List options() {
+ return this.options;
+ }
+
+ /**
+ * Set the options property: The list of all options configured for the pipeline.
+ *
+ * @param options the options value to set.
+ * @return the ExportPipelineProperties object itself.
+ */
+ public ExportPipelineProperties withOptions(List options) {
+ this.options = options;
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: The provisioning state of the pipeline at the time the operation was called.
+ *
+ * @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 (target() == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException("Missing required property target in model ExportPipelineProperties"));
+ } else {
+ target().validate();
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(ExportPipelineProperties.class);
+}
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..590ca4852bda
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/GenerateCredentialsResultInner.java
@@ -0,0 +1,81 @@
+// 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.resourcemanager.containerregistry.generated.models.TokenPassword;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** The response from the GenerateCredentials operation. */
+@Fluent
+public final class GenerateCredentialsResultInner {
+ /*
+ * The username for a container registry.
+ */
+ @JsonProperty(value = "username")
+ private String username;
+
+ /*
+ * The list of passwords for a container registry.
+ */
+ @JsonProperty(value = "passwords")
+ 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());
+ }
+ }
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/ImportPipelineInner.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/ImportPipelineInner.java
new file mode 100644
index 000000000000..51160ad4d3d1
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/ImportPipelineInner.java
@@ -0,0 +1,198 @@
+// 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.resourcemanager.containerregistry.generated.models.IdentityProperties;
+import com.azure.resourcemanager.containerregistry.generated.models.ImportPipelineSourceProperties;
+import com.azure.resourcemanager.containerregistry.generated.models.PipelineOptions;
+import com.azure.resourcemanager.containerregistry.generated.models.PipelineTriggerProperties;
+import com.azure.resourcemanager.containerregistry.generated.models.ProvisioningState;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** An object that represents an import pipeline for a container registry. */
+@Fluent
+public final class ImportPipelineInner extends ProxyResource {
+ /*
+ * The location of the import pipeline.
+ */
+ @JsonProperty(value = "location")
+ private String location;
+
+ /*
+ * The identity of the import pipeline.
+ */
+ @JsonProperty(value = "identity")
+ private IdentityProperties identity;
+
+ /*
+ * The properties of the import pipeline.
+ */
+ @JsonProperty(value = "properties")
+ private ImportPipelineProperties innerProperties;
+
+ /*
+ * Metadata pertaining to creation and last modification of the resource.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /** Creates an instance of ImportPipelineInner class. */
+ public ImportPipelineInner() {
+ }
+
+ /**
+ * Get the location property: The location of the import pipeline.
+ *
+ * @return the location value.
+ */
+ public String location() {
+ return this.location;
+ }
+
+ /**
+ * Set the location property: The location of the import pipeline.
+ *
+ * @param location the location value to set.
+ * @return the ImportPipelineInner object itself.
+ */
+ public ImportPipelineInner withLocation(String location) {
+ this.location = location;
+ return this;
+ }
+
+ /**
+ * Get the identity property: The identity of the import pipeline.
+ *
+ * @return the identity value.
+ */
+ public IdentityProperties identity() {
+ return this.identity;
+ }
+
+ /**
+ * Set the identity property: The identity of the import pipeline.
+ *
+ * @param identity the identity value to set.
+ * @return the ImportPipelineInner object itself.
+ */
+ public ImportPipelineInner withIdentity(IdentityProperties identity) {
+ this.identity = identity;
+ return this;
+ }
+
+ /**
+ * Get the innerProperties property: The properties of the import pipeline.
+ *
+ * @return the innerProperties value.
+ */
+ private ImportPipelineProperties 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 source property: The source properties of the import pipeline.
+ *
+ * @return the source value.
+ */
+ public ImportPipelineSourceProperties source() {
+ return this.innerProperties() == null ? null : this.innerProperties().source();
+ }
+
+ /**
+ * Set the source property: The source properties of the import pipeline.
+ *
+ * @param source the source value to set.
+ * @return the ImportPipelineInner object itself.
+ */
+ public ImportPipelineInner withSource(ImportPipelineSourceProperties source) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ImportPipelineProperties();
+ }
+ this.innerProperties().withSource(source);
+ return this;
+ }
+
+ /**
+ * Get the trigger property: The properties that describe the trigger of the import pipeline.
+ *
+ * @return the trigger value.
+ */
+ public PipelineTriggerProperties trigger() {
+ return this.innerProperties() == null ? null : this.innerProperties().trigger();
+ }
+
+ /**
+ * Set the trigger property: The properties that describe the trigger of the import pipeline.
+ *
+ * @param trigger the trigger value to set.
+ * @return the ImportPipelineInner object itself.
+ */
+ public ImportPipelineInner withTrigger(PipelineTriggerProperties trigger) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ImportPipelineProperties();
+ }
+ this.innerProperties().withTrigger(trigger);
+ return this;
+ }
+
+ /**
+ * Get the options property: The list of all options configured for the pipeline.
+ *
+ * @return the options value.
+ */
+ public List options() {
+ return this.innerProperties() == null ? null : this.innerProperties().options();
+ }
+
+ /**
+ * Set the options property: The list of all options configured for the pipeline.
+ *
+ * @param options the options value to set.
+ * @return the ImportPipelineInner object itself.
+ */
+ public ImportPipelineInner withOptions(List options) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ImportPipelineProperties();
+ }
+ this.innerProperties().withOptions(options);
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: The provisioning state of the pipeline at the time the operation was called.
+ *
+ * @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();
+ }
+ }
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/ImportPipelineProperties.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/ImportPipelineProperties.java
new file mode 100644
index 000000000000..67f184863dc7
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/ImportPipelineProperties.java
@@ -0,0 +1,135 @@
+// 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.resourcemanager.containerregistry.generated.models.ImportPipelineSourceProperties;
+import com.azure.resourcemanager.containerregistry.generated.models.PipelineOptions;
+import com.azure.resourcemanager.containerregistry.generated.models.PipelineTriggerProperties;
+import com.azure.resourcemanager.containerregistry.generated.models.ProvisioningState;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** The properties of an import pipeline. */
+@Fluent
+public final class ImportPipelineProperties {
+ /*
+ * The source properties of the import pipeline.
+ */
+ @JsonProperty(value = "source", required = true)
+ private ImportPipelineSourceProperties source;
+
+ /*
+ * The properties that describe the trigger of the import pipeline.
+ */
+ @JsonProperty(value = "trigger")
+ private PipelineTriggerProperties trigger;
+
+ /*
+ * The list of all options configured for the pipeline.
+ */
+ @JsonProperty(value = "options")
+ private List options;
+
+ /*
+ * The provisioning state of the pipeline at the time the operation was called.
+ */
+ @JsonProperty(value = "provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private ProvisioningState provisioningState;
+
+ /** Creates an instance of ImportPipelineProperties class. */
+ public ImportPipelineProperties() {
+ }
+
+ /**
+ * Get the source property: The source properties of the import pipeline.
+ *
+ * @return the source value.
+ */
+ public ImportPipelineSourceProperties source() {
+ return this.source;
+ }
+
+ /**
+ * Set the source property: The source properties of the import pipeline.
+ *
+ * @param source the source value to set.
+ * @return the ImportPipelineProperties object itself.
+ */
+ public ImportPipelineProperties withSource(ImportPipelineSourceProperties source) {
+ this.source = source;
+ return this;
+ }
+
+ /**
+ * Get the trigger property: The properties that describe the trigger of the import pipeline.
+ *
+ * @return the trigger value.
+ */
+ public PipelineTriggerProperties trigger() {
+ return this.trigger;
+ }
+
+ /**
+ * Set the trigger property: The properties that describe the trigger of the import pipeline.
+ *
+ * @param trigger the trigger value to set.
+ * @return the ImportPipelineProperties object itself.
+ */
+ public ImportPipelineProperties withTrigger(PipelineTriggerProperties trigger) {
+ this.trigger = trigger;
+ return this;
+ }
+
+ /**
+ * Get the options property: The list of all options configured for the pipeline.
+ *
+ * @return the options value.
+ */
+ public List options() {
+ return this.options;
+ }
+
+ /**
+ * Set the options property: The list of all options configured for the pipeline.
+ *
+ * @param options the options value to set.
+ * @return the ImportPipelineProperties object itself.
+ */
+ public ImportPipelineProperties withOptions(List options) {
+ this.options = options;
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: The provisioning state of the pipeline at the time the operation was called.
+ *
+ * @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 (source() == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException("Missing required property source in model ImportPipelineProperties"));
+ } else {
+ source().validate();
+ }
+ if (trigger() != null) {
+ trigger().validate();
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(ImportPipelineProperties.class);
+}
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..5a9d4cdeb596
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/OperationDefinitionInner.java
@@ -0,0 +1,179 @@
+// 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.resourcemanager.containerregistry.generated.models.OperationDisplayDefinition;
+import com.azure.resourcemanager.containerregistry.generated.models.OperationServiceSpecificationDefinition;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** The definition of a container registry operation. */
+@Fluent
+public final class OperationDefinitionInner {
+ /*
+ * The origin information of the container registry operation.
+ */
+ @JsonProperty(value = "origin")
+ private String origin;
+
+ /*
+ * Operation name: {provider}/{resource}/{operation}.
+ */
+ @JsonProperty(value = "name")
+ private String name;
+
+ /*
+ * The display information for the container registry operation.
+ */
+ @JsonProperty(value = "display")
+ private OperationDisplayDefinition display;
+
+ /*
+ * The properties information for the container registry operation.
+ */
+ @JsonProperty(value = "properties")
+ 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
+ */
+ @JsonProperty(value = "isDataAction")
+ 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();
+ }
+ }
+}
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..3dd2b57b313d
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/OperationPropertiesDefinition.java
@@ -0,0 +1,55 @@
+// 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.resourcemanager.containerregistry.generated.models.OperationServiceSpecificationDefinition;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** The definition of Azure Monitoring properties. */
+@Fluent
+public final class OperationPropertiesDefinition {
+ /*
+ * The definition of Azure Monitoring service.
+ */
+ @JsonProperty(value = "serviceSpecification")
+ 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();
+ }
+ }
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/PipelineRunInner.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/PipelineRunInner.java
new file mode 100644
index 000000000000..1b3d5412d942
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/PipelineRunInner.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.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.resourcemanager.containerregistry.generated.models.PipelineRunRequest;
+import com.azure.resourcemanager.containerregistry.generated.models.PipelineRunResponse;
+import com.azure.resourcemanager.containerregistry.generated.models.ProvisioningState;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** An object that represents a pipeline run for a container registry. */
+@Fluent
+public final class PipelineRunInner extends ProxyResource {
+ /*
+ * The properties of a pipeline run.
+ */
+ @JsonProperty(value = "properties")
+ private PipelineRunProperties innerProperties;
+
+ /*
+ * Metadata pertaining to creation and last modification of the resource.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /** Creates an instance of PipelineRunInner class. */
+ public PipelineRunInner() {
+ }
+
+ /**
+ * Get the innerProperties property: The properties of a pipeline run.
+ *
+ * @return the innerProperties value.
+ */
+ private PipelineRunProperties 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 provisioningState property: The provisioning state of a pipeline run.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.innerProperties() == null ? null : this.innerProperties().provisioningState();
+ }
+
+ /**
+ * Get the request property: The request parameters for a pipeline run.
+ *
+ * @return the request value.
+ */
+ public PipelineRunRequest request() {
+ return this.innerProperties() == null ? null : this.innerProperties().request();
+ }
+
+ /**
+ * Set the request property: The request parameters for a pipeline run.
+ *
+ * @param request the request value to set.
+ * @return the PipelineRunInner object itself.
+ */
+ public PipelineRunInner withRequest(PipelineRunRequest request) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new PipelineRunProperties();
+ }
+ this.innerProperties().withRequest(request);
+ return this;
+ }
+
+ /**
+ * Get the response property: The response of a pipeline run.
+ *
+ * @return the response value.
+ */
+ public PipelineRunResponse response() {
+ return this.innerProperties() == null ? null : this.innerProperties().response();
+ }
+
+ /**
+ * Get the forceUpdateTag property: How the pipeline run should be forced to recreate even if the pipeline run
+ * configuration has not changed.
+ *
+ * @return the forceUpdateTag value.
+ */
+ public String forceUpdateTag() {
+ return this.innerProperties() == null ? null : this.innerProperties().forceUpdateTag();
+ }
+
+ /**
+ * Set the forceUpdateTag property: How the pipeline run should be forced to recreate even if the pipeline run
+ * configuration has not changed.
+ *
+ * @param forceUpdateTag the forceUpdateTag value to set.
+ * @return the PipelineRunInner object itself.
+ */
+ public PipelineRunInner withForceUpdateTag(String forceUpdateTag) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new PipelineRunProperties();
+ }
+ this.innerProperties().withForceUpdateTag(forceUpdateTag);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/PipelineRunProperties.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/PipelineRunProperties.java
new file mode 100644
index 000000000000..b521d4814804
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/PipelineRunProperties.java
@@ -0,0 +1,117 @@
+// 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.resourcemanager.containerregistry.generated.models.PipelineRunRequest;
+import com.azure.resourcemanager.containerregistry.generated.models.PipelineRunResponse;
+import com.azure.resourcemanager.containerregistry.generated.models.ProvisioningState;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** The properties of a pipeline run. */
+@Fluent
+public final class PipelineRunProperties {
+ /*
+ * The provisioning state of a pipeline run.
+ */
+ @JsonProperty(value = "provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private ProvisioningState provisioningState;
+
+ /*
+ * The request parameters for a pipeline run.
+ */
+ @JsonProperty(value = "request")
+ private PipelineRunRequest request;
+
+ /*
+ * The response of a pipeline run.
+ */
+ @JsonProperty(value = "response", access = JsonProperty.Access.WRITE_ONLY)
+ private PipelineRunResponse response;
+
+ /*
+ * How the pipeline run should be forced to recreate even if the pipeline run configuration has not changed.
+ */
+ @JsonProperty(value = "forceUpdateTag")
+ private String forceUpdateTag;
+
+ /** Creates an instance of PipelineRunProperties class. */
+ public PipelineRunProperties() {
+ }
+
+ /**
+ * Get the provisioningState property: The provisioning state of a pipeline run.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the request property: The request parameters for a pipeline run.
+ *
+ * @return the request value.
+ */
+ public PipelineRunRequest request() {
+ return this.request;
+ }
+
+ /**
+ * Set the request property: The request parameters for a pipeline run.
+ *
+ * @param request the request value to set.
+ * @return the PipelineRunProperties object itself.
+ */
+ public PipelineRunProperties withRequest(PipelineRunRequest request) {
+ this.request = request;
+ return this;
+ }
+
+ /**
+ * Get the response property: The response of a pipeline run.
+ *
+ * @return the response value.
+ */
+ public PipelineRunResponse response() {
+ return this.response;
+ }
+
+ /**
+ * Get the forceUpdateTag property: How the pipeline run should be forced to recreate even if the pipeline run
+ * configuration has not changed.
+ *
+ * @return the forceUpdateTag value.
+ */
+ public String forceUpdateTag() {
+ return this.forceUpdateTag;
+ }
+
+ /**
+ * Set the forceUpdateTag property: How the pipeline run should be forced to recreate even if the pipeline run
+ * configuration has not changed.
+ *
+ * @param forceUpdateTag the forceUpdateTag value to set.
+ * @return the PipelineRunProperties object itself.
+ */
+ public PipelineRunProperties withForceUpdateTag(String forceUpdateTag) {
+ this.forceUpdateTag = forceUpdateTag;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (request() != null) {
+ request().validate();
+ }
+ if (response() != null) {
+ response().validate();
+ }
+ }
+}
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..d46d1e800e99
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/PrivateEndpointConnectionInner.java
@@ -0,0 +1,120 @@
+// 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.resourcemanager.containerregistry.generated.models.PrivateEndpoint;
+import com.azure.resourcemanager.containerregistry.generated.models.PrivateLinkServiceConnectionState;
+import com.azure.resourcemanager.containerregistry.generated.models.ProvisioningState;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** 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.
+ */
+ @JsonProperty(value = "properties")
+ private PrivateEndpointConnectionProperties innerProperties;
+
+ /*
+ * Metadata pertaining to creation and last modification of the resource.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /** 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 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();
+ }
+ }
+}
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..913ea497c00c
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/PrivateEndpointConnectionProperties.java
@@ -0,0 +1,103 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerregistry.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+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 com.fasterxml.jackson.annotation.JsonProperty;
+
+/** The properties of a private endpoint connection. */
+@Fluent
+public final class PrivateEndpointConnectionProperties {
+ /*
+ * The resource of private endpoint.
+ */
+ @JsonProperty(value = "privateEndpoint")
+ private PrivateEndpoint privateEndpoint;
+
+ /*
+ * A collection of information about the state of the connection between service consumer and provider.
+ */
+ @JsonProperty(value = "privateLinkServiceConnectionState")
+ private PrivateLinkServiceConnectionState privateLinkServiceConnectionState;
+
+ /*
+ * The provisioning state of private endpoint connection resource.
+ */
+ @JsonProperty(value = "provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ 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();
+ }
+ }
+}
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..c09f381d2c41
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/PrivateLinkResourceInner.java
@@ -0,0 +1,179 @@
+// 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.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** A resource that supports private link capabilities. */
+@Fluent
+public final class PrivateLinkResourceInner {
+ /*
+ * The resource type is private link resource.
+ */
+ @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY)
+ private String type;
+
+ /*
+ * The resource ID.
+ */
+ @JsonProperty(value = "id")
+ private String id;
+
+ /*
+ * The name of the resource.
+ */
+ @JsonProperty(value = "name")
+ private String name;
+
+ /*
+ * A resource that supports private link capabilities.
+ */
+ @JsonProperty(value = "properties")
+ 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();
+ }
+ }
+}
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..de0999db6a12
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/PrivateLinkResourceProperties.java
@@ -0,0 +1,103 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerregistry.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** The properties of a private link resource. */
+@Fluent
+public final class PrivateLinkResourceProperties {
+ /*
+ * The private link resource group id.
+ */
+ @JsonProperty(value = "groupId")
+ private String groupId;
+
+ /*
+ * The private link resource required member names.
+ */
+ @JsonProperty(value = "requiredMembers")
+ private List requiredMembers;
+
+ /*
+ * The private link resource Private link DNS zone name.
+ */
+ @JsonProperty(value = "requiredZoneNames")
+ 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() {
+ }
+}
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..fb853baaebdd
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/RegistryInner.java
@@ -0,0 +1,415 @@
+// 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.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 com.fasterxml.jackson.annotation.JsonProperty;
+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.
+ */
+ @JsonProperty(value = "sku", required = true)
+ private Sku sku;
+
+ /*
+ * The identity of the container registry.
+ */
+ @JsonProperty(value = "identity")
+ private IdentityProperties identity;
+
+ /*
+ * The properties of the container registry.
+ */
+ @JsonProperty(value = "properties")
+ private RegistryProperties innerProperties;
+
+ /*
+ * Metadata pertaining to creation and last modification of the resource.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /** 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;
+ }
+
+ /** {@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
+ .logExceptionAsError(
+ 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);
+}
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..8eaaaa1294b6
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/RegistryListCredentialsResultInner.java
@@ -0,0 +1,81 @@
+// 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.resourcemanager.containerregistry.generated.models.RegistryPassword;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** The response from the ListCredentials operation. */
+@Fluent
+public final class RegistryListCredentialsResultInner {
+ /*
+ * The username for a container registry.
+ */
+ @JsonProperty(value = "username")
+ private String username;
+
+ /*
+ * The list of passwords for a container registry.
+ */
+ @JsonProperty(value = "passwords")
+ 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());
+ }
+ }
+}
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..69f65dcb9649
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/RegistryNameStatusInner.java
@@ -0,0 +1,104 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerregistry.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** The result of a request to check the availability of a container registry name. */
+@Fluent
+public final class RegistryNameStatusInner {
+ /*
+ * The value that indicates whether the name is available.
+ */
+ @JsonProperty(value = "nameAvailable")
+ private Boolean nameAvailable;
+
+ /*
+ * If any, the reason that the name is not available.
+ */
+ @JsonProperty(value = "reason")
+ private String reason;
+
+ /*
+ * If any, the error message that provides more detail for the reason that the name is not available.
+ */
+ @JsonProperty(value = "message")
+ 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() {
+ }
+}
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..dbd5a9bec8f8
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/RegistryProperties.java
@@ -0,0 +1,376 @@
+// 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.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 com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+import java.util.List;
+
+/** The properties of a container registry. */
+@Fluent
+public final class RegistryProperties {
+ /*
+ * The URL that can be used to log into the container registry.
+ */
+ @JsonProperty(value = "loginServer", access = JsonProperty.Access.WRITE_ONLY)
+ private String loginServer;
+
+ /*
+ * The creation date of the container registry in ISO8601 format.
+ */
+ @JsonProperty(value = "creationDate", access = JsonProperty.Access.WRITE_ONLY)
+ private OffsetDateTime creationDate;
+
+ /*
+ * The provisioning state of the container registry at the time the operation was called.
+ */
+ @JsonProperty(value = "provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private ProvisioningState provisioningState;
+
+ /*
+ * The status of the container registry at the time the operation was called.
+ */
+ @JsonProperty(value = "status", access = JsonProperty.Access.WRITE_ONLY)
+ private Status status;
+
+ /*
+ * The value that indicates whether the admin user is enabled.
+ */
+ @JsonProperty(value = "adminUserEnabled")
+ private Boolean adminUserEnabled;
+
+ /*
+ * The network rule set for a container registry.
+ */
+ @JsonProperty(value = "networkRuleSet")
+ private NetworkRuleSet networkRuleSet;
+
+ /*
+ * The policies for a container registry.
+ */
+ @JsonProperty(value = "policies")
+ private Policies policies;
+
+ /*
+ * The encryption settings of container registry.
+ */
+ @JsonProperty(value = "encryption")
+ private EncryptionProperty encryption;
+
+ /*
+ * Enable a single data endpoint per region for serving data.
+ */
+ @JsonProperty(value = "dataEndpointEnabled")
+ private Boolean dataEndpointEnabled;
+
+ /*
+ * List of host names that will serve data when dataEndpointEnabled is true.
+ */
+ @JsonProperty(value = "dataEndpointHostNames", access = JsonProperty.Access.WRITE_ONLY)
+ private List dataEndpointHostNames;
+
+ /*
+ * List of private endpoint connections for a container registry.
+ */
+ @JsonProperty(value = "privateEndpointConnections", access = JsonProperty.Access.WRITE_ONLY)
+ private List privateEndpointConnections;
+
+ /*
+ * Whether or not public network access is allowed for the container registry.
+ */
+ @JsonProperty(value = "publicNetworkAccess")
+ private PublicNetworkAccess publicNetworkAccess;
+
+ /*
+ * Whether to allow trusted Azure services to access a network restricted registry.
+ */
+ @JsonProperty(value = "networkRuleBypassOptions")
+ private NetworkRuleBypassOptions networkRuleBypassOptions;
+
+ /*
+ * Whether or not zone redundancy is enabled for this container registry
+ */
+ @JsonProperty(value = "zoneRedundancy")
+ private ZoneRedundancy zoneRedundancy;
+
+ /*
+ * Enables registry-wide pull from unauthenticated clients.
+ */
+ @JsonProperty(value = "anonymousPullEnabled")
+ 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 dataEndpointHostNames() {
+ return this.dataEndpointHostNames;
+ }
+
+ /**
+ * Get the privateEndpointConnections property: List of private endpoint connections for a container registry.
+ *
+ * @return the privateEndpointConnections value.
+ */
+ public List privateEndpointConnections() {
+ return this.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.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 RegistryProperties object itself.
+ */
+ public RegistryProperties withPublicNetworkAccess(PublicNetworkAccess publicNetworkAccess) {
+ this.publicNetworkAccess = 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.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 RegistryProperties object itself.
+ */
+ public RegistryProperties withNetworkRuleBypassOptions(NetworkRuleBypassOptions networkRuleBypassOptions) {
+ this.networkRuleBypassOptions = 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.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 RegistryProperties object itself.
+ */
+ public RegistryProperties withZoneRedundancy(ZoneRedundancy zoneRedundancy) {
+ this.zoneRedundancy = zoneRedundancy;
+ return this;
+ }
+
+ /**
+ * Get the anonymousPullEnabled property: Enables registry-wide pull from unauthenticated clients.
+ *
+ * @return the anonymousPullEnabled value.
+ */
+ public Boolean anonymousPullEnabled() {
+ return this.anonymousPullEnabled;
+ }
+
+ /**
+ * Set the anonymousPullEnabled property: Enables registry-wide pull from unauthenticated clients.
+ *
+ * @param anonymousPullEnabled the anonymousPullEnabled value to set.
+ * @return the RegistryProperties object itself.
+ */
+ public RegistryProperties withAnonymousPullEnabled(Boolean anonymousPullEnabled) {
+ this.anonymousPullEnabled = anonymousPullEnabled;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (status() != null) {
+ status().validate();
+ }
+ if (networkRuleSet() != null) {
+ networkRuleSet().validate();
+ }
+ if (policies() != null) {
+ policies().validate();
+ }
+ if (encryption() != null) {
+ encryption().validate();
+ }
+ if (privateEndpointConnections() != null) {
+ privateEndpointConnections().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/RegistryPropertiesUpdateParameters.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/RegistryPropertiesUpdateParameters.java
new file mode 100644
index 000000000000..762ee5455dca
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/RegistryPropertiesUpdateParameters.java
@@ -0,0 +1,249 @@
+// 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.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.PublicNetworkAccess;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** The parameters for updating the properties of a container registry. */
+@Fluent
+public final class RegistryPropertiesUpdateParameters {
+ /*
+ * The value that indicates whether the admin user is enabled.
+ */
+ @JsonProperty(value = "adminUserEnabled")
+ private Boolean adminUserEnabled;
+
+ /*
+ * The network rule set for a container registry.
+ */
+ @JsonProperty(value = "networkRuleSet")
+ private NetworkRuleSet networkRuleSet;
+
+ /*
+ * The policies for a container registry.
+ */
+ @JsonProperty(value = "policies")
+ private Policies policies;
+
+ /*
+ * The encryption settings of container registry.
+ */
+ @JsonProperty(value = "encryption")
+ private EncryptionProperty encryption;
+
+ /*
+ * Enable a single data endpoint per region for serving data.
+ */
+ @JsonProperty(value = "dataEndpointEnabled")
+ private Boolean dataEndpointEnabled;
+
+ /*
+ * Whether or not public network access is allowed for the container registry.
+ */
+ @JsonProperty(value = "publicNetworkAccess")
+ private PublicNetworkAccess publicNetworkAccess;
+
+ /*
+ * Whether to allow trusted Azure services to access a network restricted registry.
+ */
+ @JsonProperty(value = "networkRuleBypassOptions")
+ private NetworkRuleBypassOptions networkRuleBypassOptions;
+
+ /*
+ * Enables registry-wide pull from unauthenticated clients.
+ */
+ @JsonProperty(value = "anonymousPullEnabled")
+ private Boolean anonymousPullEnabled;
+
+ /** Creates an instance of RegistryPropertiesUpdateParameters class. */
+ public RegistryPropertiesUpdateParameters() {
+ }
+
+ /**
+ * 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 RegistryPropertiesUpdateParameters object itself.
+ */
+ public RegistryPropertiesUpdateParameters 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 RegistryPropertiesUpdateParameters object itself.
+ */
+ public RegistryPropertiesUpdateParameters 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 RegistryPropertiesUpdateParameters object itself.
+ */
+ public RegistryPropertiesUpdateParameters 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 RegistryPropertiesUpdateParameters object itself.
+ */
+ public RegistryPropertiesUpdateParameters 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 RegistryPropertiesUpdateParameters object itself.
+ */
+ public RegistryPropertiesUpdateParameters withDataEndpointEnabled(Boolean dataEndpointEnabled) {
+ this.dataEndpointEnabled = dataEndpointEnabled;
+ return this;
+ }
+
+ /**
+ * 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.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 RegistryPropertiesUpdateParameters object itself.
+ */
+ public RegistryPropertiesUpdateParameters withPublicNetworkAccess(PublicNetworkAccess publicNetworkAccess) {
+ this.publicNetworkAccess = 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.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 RegistryPropertiesUpdateParameters object itself.
+ */
+ public RegistryPropertiesUpdateParameters withNetworkRuleBypassOptions(
+ NetworkRuleBypassOptions networkRuleBypassOptions) {
+ this.networkRuleBypassOptions = networkRuleBypassOptions;
+ return this;
+ }
+
+ /**
+ * Get the anonymousPullEnabled property: Enables registry-wide pull from unauthenticated clients.
+ *
+ * @return the anonymousPullEnabled value.
+ */
+ public Boolean anonymousPullEnabled() {
+ return this.anonymousPullEnabled;
+ }
+
+ /**
+ * Set the anonymousPullEnabled property: Enables registry-wide pull from unauthenticated clients.
+ *
+ * @param anonymousPullEnabled the anonymousPullEnabled value to set.
+ * @return the RegistryPropertiesUpdateParameters object itself.
+ */
+ public RegistryPropertiesUpdateParameters withAnonymousPullEnabled(Boolean anonymousPullEnabled) {
+ this.anonymousPullEnabled = anonymousPullEnabled;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (networkRuleSet() != null) {
+ networkRuleSet().validate();
+ }
+ if (policies() != null) {
+ policies().validate();
+ }
+ if (encryption() != null) {
+ encryption().validate();
+ }
+ }
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/RegistryUsageListResultInner.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/RegistryUsageListResultInner.java
new file mode 100644
index 000000000000..c8e3b476001c
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/RegistryUsageListResultInner.java
@@ -0,0 +1,55 @@
+// 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.resourcemanager.containerregistry.generated.models.RegistryUsage;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** The result of a request to get container registry quota usages. */
+@Fluent
+public final class RegistryUsageListResultInner {
+ /*
+ * The list of container registry quota usages.
+ */
+ @JsonProperty(value = "value")
+ private List value;
+
+ /** Creates an instance of RegistryUsageListResultInner class. */
+ public RegistryUsageListResultInner() {
+ }
+
+ /**
+ * Get the value property: The list of container registry quota usages.
+ *
+ * @return the value value.
+ */
+ public List value() {
+ return this.value;
+ }
+
+ /**
+ * Set the value property: The list of container registry quota usages.
+ *
+ * @param value the value value to set.
+ * @return the RegistryUsageListResultInner object itself.
+ */
+ public RegistryUsageListResultInner withValue(List value) {
+ this.value = value;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (value() != null) {
+ value().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/ReplicationInner.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/ReplicationInner.java
new file mode 100644
index 000000000000..167d3410b74d
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/ReplicationInner.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.core.management.Resource;
+import com.azure.core.management.SystemData;
+import com.azure.resourcemanager.containerregistry.generated.models.ProvisioningState;
+import com.azure.resourcemanager.containerregistry.generated.models.Status;
+import com.azure.resourcemanager.containerregistry.generated.models.ZoneRedundancy;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Map;
+
+/** An object that represents a replication for a container registry. */
+@Fluent
+public final class ReplicationInner extends Resource {
+ /*
+ * The properties of the replication.
+ */
+ @JsonProperty(value = "properties")
+ private ReplicationProperties innerProperties;
+
+ /*
+ * Metadata pertaining to creation and last modification of the resource.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /** Creates an instance of ReplicationInner class. */
+ public ReplicationInner() {
+ }
+
+ /**
+ * Get the innerProperties property: The properties of the replication.
+ *
+ * @return the innerProperties value.
+ */
+ private ReplicationProperties 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;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public ReplicationInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public ReplicationInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: The provisioning state of the replication 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 replication at the time the operation was called.
+ *
+ * @return the status value.
+ */
+ public Status status() {
+ return this.innerProperties() == null ? null : this.innerProperties().status();
+ }
+
+ /**
+ * Get the regionEndpointEnabled property: Specifies whether the replication's regional endpoint is enabled.
+ * Requests will not be routed to a replication whose regional endpoint is disabled, however its data will continue
+ * to be synced with other replications.
+ *
+ * @return the regionEndpointEnabled value.
+ */
+ public Boolean regionEndpointEnabled() {
+ return this.innerProperties() == null ? null : this.innerProperties().regionEndpointEnabled();
+ }
+
+ /**
+ * Set the regionEndpointEnabled property: Specifies whether the replication's regional endpoint is enabled.
+ * Requests will not be routed to a replication whose regional endpoint is disabled, however its data will continue
+ * to be synced with other replications.
+ *
+ * @param regionEndpointEnabled the regionEndpointEnabled value to set.
+ * @return the ReplicationInner object itself.
+ */
+ public ReplicationInner withRegionEndpointEnabled(Boolean regionEndpointEnabled) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ReplicationProperties();
+ }
+ this.innerProperties().withRegionEndpointEnabled(regionEndpointEnabled);
+ return this;
+ }
+
+ /**
+ * Get the zoneRedundancy property: Whether or not zone redundancy is enabled for this container registry
+ * replication.
+ *
+ * @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
+ * replication.
+ *
+ * @param zoneRedundancy the zoneRedundancy value to set.
+ * @return the ReplicationInner object itself.
+ */
+ public ReplicationInner withZoneRedundancy(ZoneRedundancy zoneRedundancy) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ReplicationProperties();
+ }
+ this.innerProperties().withZoneRedundancy(zoneRedundancy);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/ReplicationProperties.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/ReplicationProperties.java
new file mode 100644
index 000000000000..b81f4722b3d8
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/ReplicationProperties.java
@@ -0,0 +1,120 @@
+// 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.resourcemanager.containerregistry.generated.models.ProvisioningState;
+import com.azure.resourcemanager.containerregistry.generated.models.Status;
+import com.azure.resourcemanager.containerregistry.generated.models.ZoneRedundancy;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** The properties of a replication. */
+@Fluent
+public final class ReplicationProperties {
+ /*
+ * The provisioning state of the replication at the time the operation was called.
+ */
+ @JsonProperty(value = "provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private ProvisioningState provisioningState;
+
+ /*
+ * The status of the replication at the time the operation was called.
+ */
+ @JsonProperty(value = "status", access = JsonProperty.Access.WRITE_ONLY)
+ private Status status;
+
+ /*
+ * Specifies whether the replication's regional endpoint is enabled. Requests will not be routed to a replication
+ * whose regional endpoint is disabled, however its data will continue to be synced with other replications.
+ */
+ @JsonProperty(value = "regionEndpointEnabled")
+ private Boolean regionEndpointEnabled;
+
+ /*
+ * Whether or not zone redundancy is enabled for this container registry replication
+ */
+ @JsonProperty(value = "zoneRedundancy")
+ private ZoneRedundancy zoneRedundancy;
+
+ /** Creates an instance of ReplicationProperties class. */
+ public ReplicationProperties() {
+ }
+
+ /**
+ * Get the provisioningState property: The provisioning state of the replication 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 replication at the time the operation was called.
+ *
+ * @return the status value.
+ */
+ public Status status() {
+ return this.status;
+ }
+
+ /**
+ * Get the regionEndpointEnabled property: Specifies whether the replication's regional endpoint is enabled.
+ * Requests will not be routed to a replication whose regional endpoint is disabled, however its data will continue
+ * to be synced with other replications.
+ *
+ * @return the regionEndpointEnabled value.
+ */
+ public Boolean regionEndpointEnabled() {
+ return this.regionEndpointEnabled;
+ }
+
+ /**
+ * Set the regionEndpointEnabled property: Specifies whether the replication's regional endpoint is enabled.
+ * Requests will not be routed to a replication whose regional endpoint is disabled, however its data will continue
+ * to be synced with other replications.
+ *
+ * @param regionEndpointEnabled the regionEndpointEnabled value to set.
+ * @return the ReplicationProperties object itself.
+ */
+ public ReplicationProperties withRegionEndpointEnabled(Boolean regionEndpointEnabled) {
+ this.regionEndpointEnabled = regionEndpointEnabled;
+ return this;
+ }
+
+ /**
+ * Get the zoneRedundancy property: Whether or not zone redundancy is enabled for this container registry
+ * replication.
+ *
+ * @return the zoneRedundancy value.
+ */
+ public ZoneRedundancy zoneRedundancy() {
+ return this.zoneRedundancy;
+ }
+
+ /**
+ * Set the zoneRedundancy property: Whether or not zone redundancy is enabled for this container registry
+ * replication.
+ *
+ * @param zoneRedundancy the zoneRedundancy value to set.
+ * @return the ReplicationProperties object itself.
+ */
+ public ReplicationProperties withZoneRedundancy(ZoneRedundancy zoneRedundancy) {
+ this.zoneRedundancy = zoneRedundancy;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (status() != null) {
+ status().validate();
+ }
+ }
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/ReplicationUpdateParametersProperties.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/ReplicationUpdateParametersProperties.java
new file mode 100644
index 000000000000..66335debe8f8
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/ReplicationUpdateParametersProperties.java
@@ -0,0 +1,55 @@
+// 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.fasterxml.jackson.annotation.JsonProperty;
+
+/** The ReplicationUpdateParametersProperties model. */
+@Fluent
+public final class ReplicationUpdateParametersProperties {
+ /*
+ * Specifies whether the replication's regional endpoint is enabled. Requests will not be routed to a replication
+ * whose regional endpoint is disabled, however its data will continue to be synced with other replications.
+ */
+ @JsonProperty(value = "regionEndpointEnabled")
+ private Boolean regionEndpointEnabled;
+
+ /** Creates an instance of ReplicationUpdateParametersProperties class. */
+ public ReplicationUpdateParametersProperties() {
+ }
+
+ /**
+ * Get the regionEndpointEnabled property: Specifies whether the replication's regional endpoint is enabled.
+ * Requests will not be routed to a replication whose regional endpoint is disabled, however its data will continue
+ * to be synced with other replications.
+ *
+ * @return the regionEndpointEnabled value.
+ */
+ public Boolean regionEndpointEnabled() {
+ return this.regionEndpointEnabled;
+ }
+
+ /**
+ * Set the regionEndpointEnabled property: Specifies whether the replication's regional endpoint is enabled.
+ * Requests will not be routed to a replication whose regional endpoint is disabled, however its data will continue
+ * to be synced with other replications.
+ *
+ * @param regionEndpointEnabled the regionEndpointEnabled value to set.
+ * @return the ReplicationUpdateParametersProperties object itself.
+ */
+ public ReplicationUpdateParametersProperties withRegionEndpointEnabled(Boolean regionEndpointEnabled) {
+ this.regionEndpointEnabled = regionEndpointEnabled;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/ScopeMapInner.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/ScopeMapInner.java
new file mode 100644
index 000000000000..14c1b01cbef0
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/ScopeMapInner.java
@@ -0,0 +1,137 @@
+// 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.resourcemanager.containerregistry.generated.models.ProvisioningState;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+import java.util.List;
+
+/** An object that represents a scope map for a container registry. */
+@Fluent
+public final class ScopeMapInner extends ProxyResource {
+ /*
+ * The properties of the scope map.
+ */
+ @JsonProperty(value = "properties")
+ private ScopeMapProperties innerProperties;
+
+ /*
+ * Metadata pertaining to creation and last modification of the resource.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /** Creates an instance of ScopeMapInner class. */
+ public ScopeMapInner() {
+ }
+
+ /**
+ * Get the innerProperties property: The properties of the scope map.
+ *
+ * @return the innerProperties value.
+ */
+ private ScopeMapProperties 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 description property: The user friendly description of the scope map.
+ *
+ * @return the description value.
+ */
+ public String description() {
+ return this.innerProperties() == null ? null : this.innerProperties().description();
+ }
+
+ /**
+ * Set the description property: The user friendly description of the scope map.
+ *
+ * @param description the description value to set.
+ * @return the ScopeMapInner object itself.
+ */
+ public ScopeMapInner withDescription(String description) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ScopeMapProperties();
+ }
+ this.innerProperties().withDescription(description);
+ return this;
+ }
+
+ /**
+ * Get the type property: The type of the scope map. E.g. BuildIn scope map.
+ *
+ * @return the type value.
+ */
+ public String typePropertiesType() {
+ return this.innerProperties() == null ? null : this.innerProperties().type();
+ }
+
+ /**
+ * Get the creationDate property: The creation date of scope map.
+ *
+ * @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();
+ }
+
+ /**
+ * Get the actions property: The list of scoped permissions for registry artifacts. E.g.
+ * repositories/repository-name/content/read, repositories/repository-name/metadata/write.
+ *
+ * @return the actions value.
+ */
+ public List actions() {
+ return this.innerProperties() == null ? null : this.innerProperties().actions();
+ }
+
+ /**
+ * Set the actions property: The list of scoped permissions for registry artifacts. E.g.
+ * repositories/repository-name/content/read, repositories/repository-name/metadata/write.
+ *
+ * @param actions the actions value to set.
+ * @return the ScopeMapInner object itself.
+ */
+ public ScopeMapInner withActions(List actions) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ScopeMapProperties();
+ }
+ this.innerProperties().withActions(actions);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/ScopeMapProperties.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/ScopeMapProperties.java
new file mode 100644
index 000000000000..b427c59606fd
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/ScopeMapProperties.java
@@ -0,0 +1,136 @@
+// 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.resourcemanager.containerregistry.generated.models.ProvisioningState;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+import java.util.List;
+
+/** The properties of a scope map. */
+@Fluent
+public final class ScopeMapProperties {
+ /*
+ * The user friendly description of the scope map.
+ */
+ @JsonProperty(value = "description")
+ private String description;
+
+ /*
+ * The type of the scope map. E.g. BuildIn scope map.
+ */
+ @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY)
+ private String type;
+
+ /*
+ * The creation date of scope map.
+ */
+ @JsonProperty(value = "creationDate", access = JsonProperty.Access.WRITE_ONLY)
+ private OffsetDateTime creationDate;
+
+ /*
+ * Provisioning state of the resource.
+ */
+ @JsonProperty(value = "provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private ProvisioningState provisioningState;
+
+ /*
+ * The list of scoped permissions for registry artifacts.
+ * E.g. repositories/repository-name/content/read,
+ * repositories/repository-name/metadata/write
+ */
+ @JsonProperty(value = "actions", required = true)
+ private List actions;
+
+ /** Creates an instance of ScopeMapProperties class. */
+ public ScopeMapProperties() {
+ }
+
+ /**
+ * Get the description property: The user friendly description of the scope map.
+ *
+ * @return the description value.
+ */
+ public String description() {
+ return this.description;
+ }
+
+ /**
+ * Set the description property: The user friendly description of the scope map.
+ *
+ * @param description the description value to set.
+ * @return the ScopeMapProperties object itself.
+ */
+ public ScopeMapProperties withDescription(String description) {
+ this.description = description;
+ return this;
+ }
+
+ /**
+ * Get the type property: The type of the scope map. E.g. BuildIn scope map.
+ *
+ * @return the type value.
+ */
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the creationDate property: The creation date of scope map.
+ *
+ * @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;
+ }
+
+ /**
+ * Get the actions property: The list of scoped permissions for registry artifacts. E.g.
+ * repositories/repository-name/content/read, repositories/repository-name/metadata/write.
+ *
+ * @return the actions value.
+ */
+ public List actions() {
+ return this.actions;
+ }
+
+ /**
+ * Set the actions property: The list of scoped permissions for registry artifacts. E.g.
+ * repositories/repository-name/content/read, repositories/repository-name/metadata/write.
+ *
+ * @param actions the actions value to set.
+ * @return the ScopeMapProperties object itself.
+ */
+ public ScopeMapProperties withActions(List actions) {
+ this.actions = actions;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (actions() == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException("Missing required property actions in model ScopeMapProperties"));
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(ScopeMapProperties.class);
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/ScopeMapPropertiesUpdateParameters.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/ScopeMapPropertiesUpdateParameters.java
new file mode 100644
index 000000000000..1543cab95bdf
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/ScopeMapPropertiesUpdateParameters.java
@@ -0,0 +1,81 @@
+// 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.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** The update parameters for scope map properties. */
+@Fluent
+public final class ScopeMapPropertiesUpdateParameters {
+ /*
+ * The user friendly description of the scope map.
+ */
+ @JsonProperty(value = "description")
+ private String description;
+
+ /*
+ * The list of scope permissions for registry artifacts.
+ * E.g. repositories/repository-name/pull,
+ * repositories/repository-name/delete
+ */
+ @JsonProperty(value = "actions")
+ private List actions;
+
+ /** Creates an instance of ScopeMapPropertiesUpdateParameters class. */
+ public ScopeMapPropertiesUpdateParameters() {
+ }
+
+ /**
+ * Get the description property: The user friendly description of the scope map.
+ *
+ * @return the description value.
+ */
+ public String description() {
+ return this.description;
+ }
+
+ /**
+ * Set the description property: The user friendly description of the scope map.
+ *
+ * @param description the description value to set.
+ * @return the ScopeMapPropertiesUpdateParameters object itself.
+ */
+ public ScopeMapPropertiesUpdateParameters withDescription(String description) {
+ this.description = description;
+ return this;
+ }
+
+ /**
+ * Get the actions property: The list of scope permissions for registry artifacts. E.g.
+ * repositories/repository-name/pull, repositories/repository-name/delete.
+ *
+ * @return the actions value.
+ */
+ public List actions() {
+ return this.actions;
+ }
+
+ /**
+ * Set the actions property: The list of scope permissions for registry artifacts. E.g.
+ * repositories/repository-name/pull, repositories/repository-name/delete.
+ *
+ * @param actions the actions value to set.
+ * @return the ScopeMapPropertiesUpdateParameters object itself.
+ */
+ public ScopeMapPropertiesUpdateParameters withActions(List actions) {
+ this.actions = actions;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/TokenInner.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/TokenInner.java
new file mode 100644
index 000000000000..433a3208d3c3
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/TokenInner.java
@@ -0,0 +1,150 @@
+// 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.resourcemanager.containerregistry.generated.models.ProvisioningState;
+import com.azure.resourcemanager.containerregistry.generated.models.TokenCredentialsProperties;
+import com.azure.resourcemanager.containerregistry.generated.models.TokenStatus;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+
+/** An object that represents a token for a container registry. */
+@Fluent
+public final class TokenInner extends ProxyResource {
+ /*
+ * The properties of the token.
+ */
+ @JsonProperty(value = "properties")
+ private TokenProperties innerProperties;
+
+ /*
+ * Metadata pertaining to creation and last modification of the resource.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /** Creates an instance of TokenInner class. */
+ public TokenInner() {
+ }
+
+ /**
+ * Get the innerProperties property: The properties of the token.
+ *
+ * @return the innerProperties value.
+ */
+ private TokenProperties 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 creationDate property: The creation date of scope map.
+ *
+ * @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();
+ }
+
+ /**
+ * Get the scopeMapId property: The resource ID of the scope map to which the token will be associated with.
+ *
+ * @return the scopeMapId value.
+ */
+ public String scopeMapId() {
+ return this.innerProperties() == null ? null : this.innerProperties().scopeMapId();
+ }
+
+ /**
+ * Set the scopeMapId property: The resource ID of the scope map to which the token will be associated with.
+ *
+ * @param scopeMapId the scopeMapId value to set.
+ * @return the TokenInner object itself.
+ */
+ public TokenInner withScopeMapId(String scopeMapId) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new TokenProperties();
+ }
+ this.innerProperties().withScopeMapId(scopeMapId);
+ return this;
+ }
+
+ /**
+ * Get the credentials property: The credentials that can be used for authenticating the token.
+ *
+ * @return the credentials value.
+ */
+ public TokenCredentialsProperties credentials() {
+ return this.innerProperties() == null ? null : this.innerProperties().credentials();
+ }
+
+ /**
+ * Set the credentials property: The credentials that can be used for authenticating the token.
+ *
+ * @param credentials the credentials value to set.
+ * @return the TokenInner object itself.
+ */
+ public TokenInner withCredentials(TokenCredentialsProperties credentials) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new TokenProperties();
+ }
+ this.innerProperties().withCredentials(credentials);
+ return this;
+ }
+
+ /**
+ * Get the status property: The status of the token example enabled or disabled.
+ *
+ * @return the status value.
+ */
+ public TokenStatus status() {
+ return this.innerProperties() == null ? null : this.innerProperties().status();
+ }
+
+ /**
+ * Set the status property: The status of the token example enabled or disabled.
+ *
+ * @param status the status value to set.
+ * @return the TokenInner object itself.
+ */
+ public TokenInner withStatus(TokenStatus status) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new TokenProperties();
+ }
+ this.innerProperties().withStatus(status);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/TokenProperties.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/TokenProperties.java
new file mode 100644
index 000000000000..f92b3e75a676
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/TokenProperties.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.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.containerregistry.generated.models.ProvisioningState;
+import com.azure.resourcemanager.containerregistry.generated.models.TokenCredentialsProperties;
+import com.azure.resourcemanager.containerregistry.generated.models.TokenStatus;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+
+/** The properties of a token. */
+@Fluent
+public final class TokenProperties {
+ /*
+ * The creation date of scope map.
+ */
+ @JsonProperty(value = "creationDate", access = JsonProperty.Access.WRITE_ONLY)
+ private OffsetDateTime creationDate;
+
+ /*
+ * Provisioning state of the resource.
+ */
+ @JsonProperty(value = "provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private ProvisioningState provisioningState;
+
+ /*
+ * The resource ID of the scope map to which the token will be associated with.
+ */
+ @JsonProperty(value = "scopeMapId")
+ private String scopeMapId;
+
+ /*
+ * The credentials that can be used for authenticating the token.
+ */
+ @JsonProperty(value = "credentials")
+ private TokenCredentialsProperties credentials;
+
+ /*
+ * The status of the token example enabled or disabled.
+ */
+ @JsonProperty(value = "status")
+ private TokenStatus status;
+
+ /** Creates an instance of TokenProperties class. */
+ public TokenProperties() {
+ }
+
+ /**
+ * Get the creationDate property: The creation date of scope map.
+ *
+ * @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;
+ }
+
+ /**
+ * Get the scopeMapId property: The resource ID of the scope map to which the token will be associated with.
+ *
+ * @return the scopeMapId value.
+ */
+ public String scopeMapId() {
+ return this.scopeMapId;
+ }
+
+ /**
+ * Set the scopeMapId property: The resource ID of the scope map to which the token will be associated with.
+ *
+ * @param scopeMapId the scopeMapId value to set.
+ * @return the TokenProperties object itself.
+ */
+ public TokenProperties withScopeMapId(String scopeMapId) {
+ this.scopeMapId = scopeMapId;
+ return this;
+ }
+
+ /**
+ * Get the credentials property: The credentials that can be used for authenticating the token.
+ *
+ * @return the credentials value.
+ */
+ public TokenCredentialsProperties credentials() {
+ return this.credentials;
+ }
+
+ /**
+ * Set the credentials property: The credentials that can be used for authenticating the token.
+ *
+ * @param credentials the credentials value to set.
+ * @return the TokenProperties object itself.
+ */
+ public TokenProperties withCredentials(TokenCredentialsProperties credentials) {
+ this.credentials = credentials;
+ return this;
+ }
+
+ /**
+ * Get the status property: The status of the token example enabled or disabled.
+ *
+ * @return the status value.
+ */
+ public TokenStatus status() {
+ return this.status;
+ }
+
+ /**
+ * Set the status property: The status of the token example enabled or disabled.
+ *
+ * @param status the status value to set.
+ * @return the TokenProperties object itself.
+ */
+ public TokenProperties withStatus(TokenStatus status) {
+ this.status = status;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (credentials() != null) {
+ credentials().validate();
+ }
+ }
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/TokenUpdateProperties.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/TokenUpdateProperties.java
new file mode 100644
index 000000000000..6bbe82e7f27c
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/TokenUpdateProperties.java
@@ -0,0 +1,107 @@
+// 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.resourcemanager.containerregistry.generated.models.TokenCredentialsProperties;
+import com.azure.resourcemanager.containerregistry.generated.models.TokenStatus;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** The parameters for updating token properties. */
+@Fluent
+public final class TokenUpdateProperties {
+ /*
+ * The resource ID of the scope map to which the token will be associated with.
+ */
+ @JsonProperty(value = "scopeMapId")
+ private String scopeMapId;
+
+ /*
+ * The status of the token example enabled or disabled.
+ */
+ @JsonProperty(value = "status")
+ private TokenStatus status;
+
+ /*
+ * The credentials that can be used for authenticating the token.
+ */
+ @JsonProperty(value = "credentials")
+ private TokenCredentialsProperties credentials;
+
+ /** Creates an instance of TokenUpdateProperties class. */
+ public TokenUpdateProperties() {
+ }
+
+ /**
+ * Get the scopeMapId property: The resource ID of the scope map to which the token will be associated with.
+ *
+ * @return the scopeMapId value.
+ */
+ public String scopeMapId() {
+ return this.scopeMapId;
+ }
+
+ /**
+ * Set the scopeMapId property: The resource ID of the scope map to which the token will be associated with.
+ *
+ * @param scopeMapId the scopeMapId value to set.
+ * @return the TokenUpdateProperties object itself.
+ */
+ public TokenUpdateProperties withScopeMapId(String scopeMapId) {
+ this.scopeMapId = scopeMapId;
+ return this;
+ }
+
+ /**
+ * Get the status property: The status of the token example enabled or disabled.
+ *
+ * @return the status value.
+ */
+ public TokenStatus status() {
+ return this.status;
+ }
+
+ /**
+ * Set the status property: The status of the token example enabled or disabled.
+ *
+ * @param status the status value to set.
+ * @return the TokenUpdateProperties object itself.
+ */
+ public TokenUpdateProperties withStatus(TokenStatus status) {
+ this.status = status;
+ return this;
+ }
+
+ /**
+ * Get the credentials property: The credentials that can be used for authenticating the token.
+ *
+ * @return the credentials value.
+ */
+ public TokenCredentialsProperties credentials() {
+ return this.credentials;
+ }
+
+ /**
+ * Set the credentials property: The credentials that can be used for authenticating the token.
+ *
+ * @param credentials the credentials value to set.
+ * @return the TokenUpdateProperties object itself.
+ */
+ public TokenUpdateProperties withCredentials(TokenCredentialsProperties credentials) {
+ this.credentials = credentials;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (credentials() != null) {
+ credentials().validate();
+ }
+ }
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/WebhookInner.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/WebhookInner.java
new file mode 100644
index 000000000000..e1b8da4e0605
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/WebhookInner.java
@@ -0,0 +1,160 @@
+// 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.resourcemanager.containerregistry.generated.models.ProvisioningState;
+import com.azure.resourcemanager.containerregistry.generated.models.WebhookAction;
+import com.azure.resourcemanager.containerregistry.generated.models.WebhookStatus;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+import java.util.Map;
+
+/** An object that represents a webhook for a container registry. */
+@Fluent
+public final class WebhookInner extends Resource {
+ /*
+ * The properties of the webhook.
+ */
+ @JsonProperty(value = "properties")
+ private WebhookProperties innerProperties;
+
+ /*
+ * Metadata pertaining to creation and last modification of the resource.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /** Creates an instance of WebhookInner class. */
+ public WebhookInner() {
+ }
+
+ /**
+ * Get the innerProperties property: The properties of the webhook.
+ *
+ * @return the innerProperties value.
+ */
+ private WebhookProperties 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;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public WebhookInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public WebhookInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Get the status property: The status of the webhook at the time the operation was called.
+ *
+ * @return the status value.
+ */
+ public WebhookStatus status() {
+ return this.innerProperties() == null ? null : this.innerProperties().status();
+ }
+
+ /**
+ * Set the status property: The status of the webhook at the time the operation was called.
+ *
+ * @param status the status value to set.
+ * @return the WebhookInner object itself.
+ */
+ public WebhookInner withStatus(WebhookStatus status) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new WebhookProperties();
+ }
+ this.innerProperties().withStatus(status);
+ return this;
+ }
+
+ /**
+ * Get the scope property: The scope of repositories where the event can be triggered. For example, 'foo:*' means
+ * events for all tags under repository 'foo'. 'foo:bar' means events for 'foo:bar' only. 'foo' is equivalent to
+ * 'foo:latest'. Empty means all events.
+ *
+ * @return the scope value.
+ */
+ public String scope() {
+ return this.innerProperties() == null ? null : this.innerProperties().scope();
+ }
+
+ /**
+ * Set the scope property: The scope of repositories where the event can be triggered. For example, 'foo:*' means
+ * events for all tags under repository 'foo'. 'foo:bar' means events for 'foo:bar' only. 'foo' is equivalent to
+ * 'foo:latest'. Empty means all events.
+ *
+ * @param scope the scope value to set.
+ * @return the WebhookInner object itself.
+ */
+ public WebhookInner withScope(String scope) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new WebhookProperties();
+ }
+ this.innerProperties().withScope(scope);
+ return this;
+ }
+
+ /**
+ * Get the actions property: The list of actions that trigger the webhook to post notifications.
+ *
+ * @return the actions value.
+ */
+ public List actions() {
+ return this.innerProperties() == null ? null : this.innerProperties().actions();
+ }
+
+ /**
+ * Set the actions property: The list of actions that trigger the webhook to post notifications.
+ *
+ * @param actions the actions value to set.
+ * @return the WebhookInner object itself.
+ */
+ public WebhookInner withActions(List actions) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new WebhookProperties();
+ }
+ this.innerProperties().withActions(actions);
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: The provisioning state of the webhook at the time the operation was called.
+ *
+ * @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();
+ }
+ }
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/WebhookProperties.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/WebhookProperties.java
new file mode 100644
index 000000000000..b7fd38833926
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/WebhookProperties.java
@@ -0,0 +1,135 @@
+// 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.resourcemanager.containerregistry.generated.models.ProvisioningState;
+import com.azure.resourcemanager.containerregistry.generated.models.WebhookAction;
+import com.azure.resourcemanager.containerregistry.generated.models.WebhookStatus;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** The properties of a webhook. */
+@Fluent
+public final class WebhookProperties {
+ /*
+ * The status of the webhook at the time the operation was called.
+ */
+ @JsonProperty(value = "status")
+ private WebhookStatus status;
+
+ /*
+ * The scope of repositories where the event can be triggered. For example, 'foo:*' means events for all tags under
+ * repository 'foo'. 'foo:bar' means events for 'foo:bar' only. 'foo' is equivalent to 'foo:latest'. Empty means
+ * all events.
+ */
+ @JsonProperty(value = "scope")
+ private String scope;
+
+ /*
+ * The list of actions that trigger the webhook to post notifications.
+ */
+ @JsonProperty(value = "actions", required = true)
+ private List actions;
+
+ /*
+ * The provisioning state of the webhook at the time the operation was called.
+ */
+ @JsonProperty(value = "provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private ProvisioningState provisioningState;
+
+ /** Creates an instance of WebhookProperties class. */
+ public WebhookProperties() {
+ }
+
+ /**
+ * Get the status property: The status of the webhook at the time the operation was called.
+ *
+ * @return the status value.
+ */
+ public WebhookStatus status() {
+ return this.status;
+ }
+
+ /**
+ * Set the status property: The status of the webhook at the time the operation was called.
+ *
+ * @param status the status value to set.
+ * @return the WebhookProperties object itself.
+ */
+ public WebhookProperties withStatus(WebhookStatus status) {
+ this.status = status;
+ return this;
+ }
+
+ /**
+ * Get the scope property: The scope of repositories where the event can be triggered. For example, 'foo:*' means
+ * events for all tags under repository 'foo'. 'foo:bar' means events for 'foo:bar' only. 'foo' is equivalent to
+ * 'foo:latest'. Empty means all events.
+ *
+ * @return the scope value.
+ */
+ public String scope() {
+ return this.scope;
+ }
+
+ /**
+ * Set the scope property: The scope of repositories where the event can be triggered. For example, 'foo:*' means
+ * events for all tags under repository 'foo'. 'foo:bar' means events for 'foo:bar' only. 'foo' is equivalent to
+ * 'foo:latest'. Empty means all events.
+ *
+ * @param scope the scope value to set.
+ * @return the WebhookProperties object itself.
+ */
+ public WebhookProperties withScope(String scope) {
+ this.scope = scope;
+ return this;
+ }
+
+ /**
+ * Get the actions property: The list of actions that trigger the webhook to post notifications.
+ *
+ * @return the actions value.
+ */
+ public List actions() {
+ return this.actions;
+ }
+
+ /**
+ * Set the actions property: The list of actions that trigger the webhook to post notifications.
+ *
+ * @param actions the actions value to set.
+ * @return the WebhookProperties object itself.
+ */
+ public WebhookProperties withActions(List actions) {
+ this.actions = actions;
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: The provisioning state of the webhook at the time the operation was called.
+ *
+ * @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 (actions() == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException("Missing required property actions in model WebhookProperties"));
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(WebhookProperties.class);
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/WebhookPropertiesCreateParameters.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/WebhookPropertiesCreateParameters.java
new file mode 100644
index 000000000000..76ef89d789bb
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/WebhookPropertiesCreateParameters.java
@@ -0,0 +1,181 @@
+// 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.resourcemanager.containerregistry.generated.models.WebhookAction;
+import com.azure.resourcemanager.containerregistry.generated.models.WebhookStatus;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+import java.util.Map;
+
+/** The parameters for creating the properties of a webhook. */
+@Fluent
+public final class WebhookPropertiesCreateParameters {
+ /*
+ * The service URI for the webhook to post notifications.
+ */
+ @JsonProperty(value = "serviceUri")
+ private String serviceUri;
+
+ /*
+ * Custom headers that will be added to the webhook notifications.
+ */
+ @JsonProperty(value = "customHeaders")
+ @JsonInclude(value = JsonInclude.Include.NON_NULL, content = JsonInclude.Include.ALWAYS)
+ private Map customHeaders;
+
+ /*
+ * The status of the webhook at the time the operation was called.
+ */
+ @JsonProperty(value = "status")
+ private WebhookStatus status;
+
+ /*
+ * The scope of repositories where the event can be triggered. For example, 'foo:*' means events for all tags under
+ * repository 'foo'. 'foo:bar' means events for 'foo:bar' only. 'foo' is equivalent to 'foo:latest'. Empty means
+ * all events.
+ */
+ @JsonProperty(value = "scope")
+ private String scope;
+
+ /*
+ * The list of actions that trigger the webhook to post notifications.
+ */
+ @JsonProperty(value = "actions", required = true)
+ private List actions;
+
+ /** Creates an instance of WebhookPropertiesCreateParameters class. */
+ public WebhookPropertiesCreateParameters() {
+ }
+
+ /**
+ * 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 WebhookPropertiesCreateParameters object itself.
+ */
+ public WebhookPropertiesCreateParameters 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 WebhookPropertiesCreateParameters object itself.
+ */
+ public WebhookPropertiesCreateParameters withCustomHeaders(Map customHeaders) {
+ this.customHeaders = customHeaders;
+ return this;
+ }
+
+ /**
+ * Get the status property: The status of the webhook at the time the operation was called.
+ *
+ * @return the status value.
+ */
+ public WebhookStatus status() {
+ return this.status;
+ }
+
+ /**
+ * Set the status property: The status of the webhook at the time the operation was called.
+ *
+ * @param status the status value to set.
+ * @return the WebhookPropertiesCreateParameters object itself.
+ */
+ public WebhookPropertiesCreateParameters withStatus(WebhookStatus status) {
+ this.status = status;
+ return this;
+ }
+
+ /**
+ * Get the scope property: The scope of repositories where the event can be triggered. For example, 'foo:*' means
+ * events for all tags under repository 'foo'. 'foo:bar' means events for 'foo:bar' only. 'foo' is equivalent to
+ * 'foo:latest'. Empty means all events.
+ *
+ * @return the scope value.
+ */
+ public String scope() {
+ return this.scope;
+ }
+
+ /**
+ * Set the scope property: The scope of repositories where the event can be triggered. For example, 'foo:*' means
+ * events for all tags under repository 'foo'. 'foo:bar' means events for 'foo:bar' only. 'foo' is equivalent to
+ * 'foo:latest'. Empty means all events.
+ *
+ * @param scope the scope value to set.
+ * @return the WebhookPropertiesCreateParameters object itself.
+ */
+ public WebhookPropertiesCreateParameters withScope(String scope) {
+ this.scope = scope;
+ return this;
+ }
+
+ /**
+ * Get the actions property: The list of actions that trigger the webhook to post notifications.
+ *
+ * @return the actions value.
+ */
+ public List actions() {
+ return this.actions;
+ }
+
+ /**
+ * Set the actions property: The list of actions that trigger the webhook to post notifications.
+ *
+ * @param actions the actions value to set.
+ * @return the WebhookPropertiesCreateParameters object itself.
+ */
+ public WebhookPropertiesCreateParameters withActions(List actions) {
+ this.actions = actions;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (serviceUri() == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property serviceUri in model WebhookPropertiesCreateParameters"));
+ }
+ if (actions() == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property actions in model WebhookPropertiesCreateParameters"));
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(WebhookPropertiesCreateParameters.class);
+}
diff --git a/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/WebhookPropertiesUpdateParameters.java b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/WebhookPropertiesUpdateParameters.java
new file mode 100644
index 000000000000..4b8e7cb669e5
--- /dev/null
+++ b/sdk/containerregistry/azure-resourcemanager-containerregistry-generated/src/main/java/com/azure/resourcemanager/containerregistry/generated/fluent/models/WebhookPropertiesUpdateParameters.java
@@ -0,0 +1,166 @@
+// 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.resourcemanager.containerregistry.generated.models.WebhookAction;
+import com.azure.resourcemanager.containerregistry.generated.models.WebhookStatus;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+import java.util.Map;
+
+/** The parameters for updating the properties of a webhook. */
+@Fluent
+public final class WebhookPropertiesUpdateParameters {
+ /*
+ * The service URI for the webhook to post notifications.
+ */
+ @JsonProperty(value = "serviceUri")
+ private String serviceUri;
+
+ /*
+ * Custom headers that will be added to the webhook notifications.
+ */
+ @JsonProperty(value = "customHeaders")
+ @JsonInclude(value = JsonInclude.Include.NON_NULL, content = JsonInclude.Include.ALWAYS)
+ private Map customHeaders;
+
+ /*
+ * The status of the webhook at the time the operation was called.
+ */
+ @JsonProperty(value = "status")
+ private WebhookStatus status;
+
+ /*
+ * The scope of repositories where the event can be triggered. For example, 'foo:*' means events for all tags under
+ * repository 'foo'. 'foo:bar' means events for 'foo:bar' only. 'foo' is equivalent to 'foo:latest'. Empty means
+ * all events.
+ */
+ @JsonProperty(value = "scope")
+ private String scope;
+
+ /*
+ * The list of actions that trigger the webhook to post notifications.
+ */
+ @JsonProperty(value = "actions")
+ private List actions;
+
+ /** Creates an instance of WebhookPropertiesUpdateParameters class. */
+ public WebhookPropertiesUpdateParameters() {
+ }
+
+ /**
+ * 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 WebhookPropertiesUpdateParameters object itself.
+ */
+ public WebhookPropertiesUpdateParameters 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 WebhookPropertiesUpdateParameters object itself.
+ */
+ public WebhookPropertiesUpdateParameters withCustomHeaders(Map customHeaders) {
+ this.customHeaders = customHeaders;
+ return this;
+ }
+
+ /**
+ * Get the status property: The status of the webhook at the time the operation was called.
+ *
+ * @return the status value.
+ */
+ public WebhookStatus status() {
+ return this.status;
+ }
+
+ /**
+ * Set the status property: The status of the webhook at the time the operation was called.
+ *
+ * @param status the status value to set.
+ * @return the WebhookPropertiesUpdateParameters object itself.
+ */
+ public WebhookPropertiesUpdateParameters withStatus(WebhookStatus status) {
+ this.status = status;
+ return this;
+ }
+
+ /**
+ * Get the scope property: The scope of repositories where the event can be triggered. For example, 'foo:*' means
+ * events for all tags under repository 'foo'. 'foo:bar' means events for 'foo:bar' only. 'foo' is equivalent to
+ * 'foo:latest'. Empty means all events.
+ *
+ * @return the scope value.
+ */
+ public String scope() {
+ return this.scope;
+ }
+
+ /**
+ * Set the scope property: The scope of repositories where the event can be triggered. For example, 'foo:*' means
+ * events for all tags under repository 'foo'. 'foo:bar' means events for 'foo:bar' only. 'foo' is equivalent to
+ * 'foo:latest'. Empty means all events.
+ *
+ * @param scope the scope value to set.
+ * @return the WebhookPropertiesUpdateParameters object itself.
+ */
+ public WebhookPropertiesUpdateParameters withScope(String scope) {
+ this.scope = scope;
+ return this;
+ }
+
+ /**
+ * Get the actions property: The list of actions that trigger the webhook to post notifications.
+ *
+ * @return the actions value.
+ */
+ public List