diff --git a/eng/versioning/version_client.txt b/eng/versioning/version_client.txt
index 2da3bb47b8fa2..712ba2388c7d9 100644
--- a/eng/versioning/version_client.txt
+++ b/eng/versioning/version_client.txt
@@ -209,6 +209,7 @@ com.azure.resourcemanager:azure-resourcemanager-redisenterprise;1.0.0-beta.2;1.0
com.azure.resourcemanager:azure-resourcemanager-hybridkubernetes;1.0.0-beta.1;1.0.0-beta.2
com.azure.resourcemanager:azure-resourcemanager-iothub;1.0.0-beta.1;1.0.0-beta.2
com.azure.resourcemanager:azure-resourcemanager-datadog;1.0.0-beta.1;1.0.0-beta.1
+com.azure.resourcemanager:azure-resourcemanager-compute-generated;1.0.0-beta.1;1.0.0-beta.1
# Unreleased dependencies: Copy the entry from above, prepend "unreleased_" and remove the current
# version. Unreleased dependencies are only valid for dependency versions.
diff --git a/pom.xml b/pom.xml
index d1375f52aae7b..85b9766c337e5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -582,6 +582,7 @@
sdk/boms
sdk/cognitiveservices
sdk/communication
+ sdk/compute
sdk/confluent
sdk/core
sdk/cosmos
diff --git a/sdk/compute/azure-resourcemanager-compute-generated/CHANGELOG.md b/sdk/compute/azure-resourcemanager-compute-generated/CHANGELOG.md
new file mode 100644
index 0000000000000..6b751169aadfd
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-generated/CHANGELOG.md
@@ -0,0 +1,5 @@
+# Release History
+
+## 1.0.0-beta.1 (2021-03-04)
+
+- Azure Resource Manager Compute client library for Java. This package contains Microsoft Azure SDK for Compute Management SDK. Compute Client. Package tag package-2021-03-01. For documentation on how to use this package, please see [Azure Management Libraries for Java](https://aka.ms/azsdk/java/mgmt).
diff --git a/sdk/compute/azure-resourcemanager-compute-generated/README.md b/sdk/compute/azure-resourcemanager-compute-generated/README.md
new file mode 100644
index 0000000000000..773f0160ad9cc
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-generated/README.md
@@ -0,0 +1,99 @@
+# Azure Resource Manager Compute client library for Java
+
+Azure Resource Manager Compute client library for Java.
+
+This package contains Microsoft Azure SDK for Compute Management SDK. Compute Client. Package tag package-2021-03-01. For documentation on how to use this package, please see [Azure Management Libraries for Java](https://aka.ms/azsdk/java/mgmt).
+
+## We'd love to hear your feedback
+
+We're always working on improving our products and the way we communicate with our users. So we'd love to learn what's working and how we can do better.
+
+If you haven't already, please take a few minutes to [complete this short survey][survey] we have put together.
+
+Thank you in advance for your collaboration. We really appreciate your time!
+
+## Documentation
+
+Various documentation is available to help you get started
+
+- [API reference documentation][docs]
+
+## Getting started
+
+### Prerequisites
+
+- [Java Development Kit (JDK)][jdk] with version 8 or above
+- [Azure Subscription][azure_subscription]
+
+### Adding the package to your product
+
+[//]: # ({x-version-update-start;com.azure.resourcemanager:azure-resourcemanager-compute-generated;current})
+```xml
+
+ com.azure.resourcemanager
+ azure-resourcemanager-compute-generated
+ 1.0.0-beta.1
+
+```
+[//]: # ({x-version-update-end})
+
+### Include the recommended packages
+
+Azure Management Libraries require a `TokenCredential` implementation for authentication and an `HttpClient` implementation for HTTP client.
+
+[Azure Identity][azure_identity] package and [Azure Core Netty HTTP][azure_core_http_netty] package provide the default implementation.
+
+### Authentication
+
+By default, Azure Active Directory token authentication depends on correct configure of following environment variables.
+
+- `AZURE_CLIENT_ID` for Azure client ID.
+- `AZURE_TENANT_ID` for Azure tenant ID.
+- `AZURE_CLIENT_SECRET` or `AZURE_CLIENT_CERTIFICATE_PATH` for client secret or client certificate.
+
+In addition, Azure subscription ID can be configured via environment variable `AZURE_SUBSCRIPTION_ID`.
+
+With above configuration, `azure` client can be authenticated by following code:
+
+```java
+AzureProfile profile = new AzureProfile(AzureEnvironment.AZURE);
+TokenCredential credential = new DefaultAzureCredentialBuilder()
+ .authorityHost(profile.getEnvironment().getActiveDirectoryEndpoint())
+ .build();
+ComputeManager manager = ComputeManager
+ .authenticate(credential, profile);
+```
+
+The sample code assumes global Azure. Please change `AzureEnvironment.AZURE` variable if otherwise.
+
+See [Authentication][authenticate] for more options.
+
+## Key concepts
+
+See [API design][design] for general introduction on design and key concepts on Azure Management Libraries.
+
+## Examples
+
+## Troubleshooting
+
+## Next steps
+
+## Contributing
+
+For details on contributing to this repository, see the [contributing guide](https://github.com/Azure/azure-sdk-for-java/blob/master/CONTRIBUTING.md).
+
+1. Fork it
+1. Create your feature branch (`git checkout -b my-new-feature`)
+1. Commit your changes (`git commit -am 'Add some feature'`)
+1. Push to the branch (`git push origin my-new-feature`)
+1. Create new Pull Request
+
+
+[survey]: https://microsoft.qualtrics.com/jfe/form/SV_ehN0lIk2FKEBkwd?Q_CHL=DOCS
+[docs]: https://azure.github.io/azure-sdk-for-java/
+[jdk]: https://docs.microsoft.com/java/azure/jdk/
+[azure_subscription]: https://azure.microsoft.com/free/
+[azure_identity]: https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/identity/azure-identity
+[azure_core_http_netty]: https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/core/azure-core-http-netty
+[authenticate]: https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/resourcemanager/docs/AUTH.md
+[design]: https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/resourcemanager/docs/DESIGN.md
diff --git a/sdk/compute/azure-resourcemanager-compute-generated/pom.xml b/sdk/compute/azure-resourcemanager-compute-generated/pom.xml
new file mode 100644
index 0000000000000..a6ca49866ded1
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-generated/pom.xml
@@ -0,0 +1,67 @@
+
+ 4.0.0
+
+ com.azure
+ azure-client-sdk-parent
+ 1.7.0
+ ../../parents/azure-client-sdk-parent
+
+
+ com.azure.resourcemanager
+ azure-resourcemanager-compute-generated
+ 1.0.0-beta.1
+ jar
+
+ Microsoft Azure SDK for Compute Management
+ This package contains Microsoft Azure SDK for Compute Management SDK. Compute Client. Package tag package-2021-03-01. For documentation on how to use this package, please see https://aka.ms/azsdk/java/mgmt
+ https://github.com/Azure/azure-sdk-for-java
+
+
+
+ The MIT License (MIT)
+ http://opensource.org/licenses/MIT
+ repo
+
+
+
+
+ https://github.com/Azure/azure-sdk-for-java
+ scm:git:git@github.com:Azure/azure-sdk-for-java.git
+ scm:git:git@github.com:Azure/azure-sdk-for-java.git
+ HEAD
+
+
+
+ microsoft
+ Microsoft
+
+
+
+ UTF-8
+
+
+
+
+ com.azure
+ azure-core
+ 1.13.0
+
+
+ com.azure
+ azure-core-management
+ 1.1.1
+
+
+
+
+
+ org.jacoco
+ jacoco-maven-plugin
+ 0.8.5
+
+ true
+
+
+
+
+
diff --git a/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/ComputeManager.java b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/ComputeManager.java
new file mode 100644
index 0000000000000..73f0ca9a55b6e
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/ComputeManager.java
@@ -0,0 +1,675 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.compute.generated;
+
+import com.azure.core.credential.TokenCredential;
+import com.azure.core.http.HttpClient;
+import com.azure.core.http.HttpPipeline;
+import com.azure.core.http.HttpPipelineBuilder;
+import com.azure.core.http.policy.AddDatePolicy;
+import com.azure.core.http.policy.BearerTokenAuthenticationPolicy;
+import com.azure.core.http.policy.HttpLogOptions;
+import com.azure.core.http.policy.HttpLoggingPolicy;
+import com.azure.core.http.policy.HttpPipelinePolicy;
+import com.azure.core.http.policy.HttpPolicyProviders;
+import com.azure.core.http.policy.RequestIdPolicy;
+import com.azure.core.http.policy.RetryPolicy;
+import com.azure.core.http.policy.UserAgentPolicy;
+import com.azure.core.management.profile.AzureProfile;
+import com.azure.core.util.Configuration;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.compute.generated.fluent.ComputeManagementClient;
+import com.azure.resourcemanager.compute.generated.implementation.AvailabilitySetsImpl;
+import com.azure.resourcemanager.compute.generated.implementation.CloudServiceOperatingSystemsImpl;
+import com.azure.resourcemanager.compute.generated.implementation.CloudServiceRoleInstancesImpl;
+import com.azure.resourcemanager.compute.generated.implementation.CloudServiceRolesImpl;
+import com.azure.resourcemanager.compute.generated.implementation.CloudServicesImpl;
+import com.azure.resourcemanager.compute.generated.implementation.CloudServicesUpdateDomainsImpl;
+import com.azure.resourcemanager.compute.generated.implementation.ComputeManagementClientBuilder;
+import com.azure.resourcemanager.compute.generated.implementation.DedicatedHostGroupsImpl;
+import com.azure.resourcemanager.compute.generated.implementation.DedicatedHostsImpl;
+import com.azure.resourcemanager.compute.generated.implementation.DiskAccessesImpl;
+import com.azure.resourcemanager.compute.generated.implementation.DiskEncryptionSetsImpl;
+import com.azure.resourcemanager.compute.generated.implementation.DiskRestorePointsImpl;
+import com.azure.resourcemanager.compute.generated.implementation.DisksImpl;
+import com.azure.resourcemanager.compute.generated.implementation.GalleriesImpl;
+import com.azure.resourcemanager.compute.generated.implementation.GalleryApplicationVersionsImpl;
+import com.azure.resourcemanager.compute.generated.implementation.GalleryApplicationsImpl;
+import com.azure.resourcemanager.compute.generated.implementation.GalleryImageVersionsImpl;
+import com.azure.resourcemanager.compute.generated.implementation.GalleryImagesImpl;
+import com.azure.resourcemanager.compute.generated.implementation.ImagesImpl;
+import com.azure.resourcemanager.compute.generated.implementation.LogAnalyticsImpl;
+import com.azure.resourcemanager.compute.generated.implementation.OperationsImpl;
+import com.azure.resourcemanager.compute.generated.implementation.ProximityPlacementGroupsImpl;
+import com.azure.resourcemanager.compute.generated.implementation.ResourceSkusImpl;
+import com.azure.resourcemanager.compute.generated.implementation.SnapshotsImpl;
+import com.azure.resourcemanager.compute.generated.implementation.SshPublicKeysImpl;
+import com.azure.resourcemanager.compute.generated.implementation.UsagesImpl;
+import com.azure.resourcemanager.compute.generated.implementation.VirtualMachineExtensionImagesImpl;
+import com.azure.resourcemanager.compute.generated.implementation.VirtualMachineExtensionsImpl;
+import com.azure.resourcemanager.compute.generated.implementation.VirtualMachineImagesEdgeZonesImpl;
+import com.azure.resourcemanager.compute.generated.implementation.VirtualMachineImagesImpl;
+import com.azure.resourcemanager.compute.generated.implementation.VirtualMachineRunCommandsImpl;
+import com.azure.resourcemanager.compute.generated.implementation.VirtualMachineScaleSetExtensionsImpl;
+import com.azure.resourcemanager.compute.generated.implementation.VirtualMachineScaleSetRollingUpgradesImpl;
+import com.azure.resourcemanager.compute.generated.implementation.VirtualMachineScaleSetVMExtensionsImpl;
+import com.azure.resourcemanager.compute.generated.implementation.VirtualMachineScaleSetVMRunCommandsImpl;
+import com.azure.resourcemanager.compute.generated.implementation.VirtualMachineScaleSetVMsImpl;
+import com.azure.resourcemanager.compute.generated.implementation.VirtualMachineScaleSetsImpl;
+import com.azure.resourcemanager.compute.generated.implementation.VirtualMachineSizesImpl;
+import com.azure.resourcemanager.compute.generated.implementation.VirtualMachinesImpl;
+import com.azure.resourcemanager.compute.generated.models.AvailabilitySets;
+import com.azure.resourcemanager.compute.generated.models.CloudServiceOperatingSystems;
+import com.azure.resourcemanager.compute.generated.models.CloudServiceRoleInstances;
+import com.azure.resourcemanager.compute.generated.models.CloudServiceRoles;
+import com.azure.resourcemanager.compute.generated.models.CloudServices;
+import com.azure.resourcemanager.compute.generated.models.CloudServicesUpdateDomains;
+import com.azure.resourcemanager.compute.generated.models.DedicatedHostGroups;
+import com.azure.resourcemanager.compute.generated.models.DedicatedHosts;
+import com.azure.resourcemanager.compute.generated.models.DiskAccesses;
+import com.azure.resourcemanager.compute.generated.models.DiskEncryptionSets;
+import com.azure.resourcemanager.compute.generated.models.DiskRestorePoints;
+import com.azure.resourcemanager.compute.generated.models.Disks;
+import com.azure.resourcemanager.compute.generated.models.Galleries;
+import com.azure.resourcemanager.compute.generated.models.GalleryApplicationVersions;
+import com.azure.resourcemanager.compute.generated.models.GalleryApplications;
+import com.azure.resourcemanager.compute.generated.models.GalleryImageVersions;
+import com.azure.resourcemanager.compute.generated.models.GalleryImages;
+import com.azure.resourcemanager.compute.generated.models.Images;
+import com.azure.resourcemanager.compute.generated.models.LogAnalytics;
+import com.azure.resourcemanager.compute.generated.models.Operations;
+import com.azure.resourcemanager.compute.generated.models.ProximityPlacementGroups;
+import com.azure.resourcemanager.compute.generated.models.ResourceSkus;
+import com.azure.resourcemanager.compute.generated.models.Snapshots;
+import com.azure.resourcemanager.compute.generated.models.SshPublicKeys;
+import com.azure.resourcemanager.compute.generated.models.Usages;
+import com.azure.resourcemanager.compute.generated.models.VirtualMachineExtensionImages;
+import com.azure.resourcemanager.compute.generated.models.VirtualMachineExtensions;
+import com.azure.resourcemanager.compute.generated.models.VirtualMachineImages;
+import com.azure.resourcemanager.compute.generated.models.VirtualMachineImagesEdgeZones;
+import com.azure.resourcemanager.compute.generated.models.VirtualMachineRunCommands;
+import com.azure.resourcemanager.compute.generated.models.VirtualMachineScaleSetExtensions;
+import com.azure.resourcemanager.compute.generated.models.VirtualMachineScaleSetRollingUpgrades;
+import com.azure.resourcemanager.compute.generated.models.VirtualMachineScaleSetVMExtensions;
+import com.azure.resourcemanager.compute.generated.models.VirtualMachineScaleSetVMRunCommands;
+import com.azure.resourcemanager.compute.generated.models.VirtualMachineScaleSetVMs;
+import com.azure.resourcemanager.compute.generated.models.VirtualMachineScaleSets;
+import com.azure.resourcemanager.compute.generated.models.VirtualMachineSizes;
+import com.azure.resourcemanager.compute.generated.models.VirtualMachines;
+import java.time.Duration;
+import java.time.temporal.ChronoUnit;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+
+/** Entry point to ComputeManager. Compute Client. */
+public final class ComputeManager {
+ private Operations operations;
+
+ private AvailabilitySets availabilitySets;
+
+ private ProximityPlacementGroups proximityPlacementGroups;
+
+ private DedicatedHostGroups dedicatedHostGroups;
+
+ private DedicatedHosts dedicatedHosts;
+
+ private SshPublicKeys sshPublicKeys;
+
+ private VirtualMachineExtensionImages virtualMachineExtensionImages;
+
+ private VirtualMachineExtensions virtualMachineExtensions;
+
+ private VirtualMachineImages virtualMachineImages;
+
+ private VirtualMachineImagesEdgeZones virtualMachineImagesEdgeZones;
+
+ private Usages usages;
+
+ private VirtualMachines virtualMachines;
+
+ private VirtualMachineScaleSets virtualMachineScaleSets;
+
+ private VirtualMachineSizes virtualMachineSizes;
+
+ private Images images;
+
+ private VirtualMachineScaleSetExtensions virtualMachineScaleSetExtensions;
+
+ private VirtualMachineScaleSetRollingUpgrades virtualMachineScaleSetRollingUpgrades;
+
+ private VirtualMachineScaleSetVMExtensions virtualMachineScaleSetVMExtensions;
+
+ private VirtualMachineScaleSetVMs virtualMachineScaleSetVMs;
+
+ private LogAnalytics logAnalytics;
+
+ private VirtualMachineRunCommands virtualMachineRunCommands;
+
+ private VirtualMachineScaleSetVMRunCommands virtualMachineScaleSetVMRunCommands;
+
+ private ResourceSkus resourceSkus;
+
+ private Disks disks;
+
+ private Snapshots snapshots;
+
+ private DiskEncryptionSets diskEncryptionSets;
+
+ private DiskAccesses diskAccesses;
+
+ private DiskRestorePoints diskRestorePoints;
+
+ private Galleries galleries;
+
+ private GalleryImages galleryImages;
+
+ private GalleryImageVersions galleryImageVersions;
+
+ private GalleryApplications galleryApplications;
+
+ private GalleryApplicationVersions galleryApplicationVersions;
+
+ private CloudServiceRoleInstances cloudServiceRoleInstances;
+
+ private CloudServiceRoles cloudServiceRoles;
+
+ private CloudServices cloudServices;
+
+ private CloudServicesUpdateDomains cloudServicesUpdateDomains;
+
+ private CloudServiceOperatingSystems cloudServiceOperatingSystems;
+
+ private final ComputeManagementClient clientObject;
+
+ private ComputeManager(HttpPipeline httpPipeline, AzureProfile profile, Duration defaultPollInterval) {
+ Objects.requireNonNull(httpPipeline, "'httpPipeline' cannot be null.");
+ Objects.requireNonNull(profile, "'profile' cannot be null.");
+ this.clientObject =
+ new ComputeManagementClientBuilder()
+ .pipeline(httpPipeline)
+ .endpoint(profile.getEnvironment().getResourceManagerEndpoint())
+ .subscriptionId(profile.getSubscriptionId())
+ .defaultPollInterval(defaultPollInterval)
+ .buildClient();
+ }
+
+ /**
+ * Creates an instance of Compute service API entry point.
+ *
+ * @param credential the credential to use.
+ * @param profile the Azure profile for client.
+ * @return the Compute service API instance.
+ */
+ public static ComputeManager authenticate(TokenCredential credential, AzureProfile profile) {
+ Objects.requireNonNull(credential, "'credential' cannot be null.");
+ Objects.requireNonNull(profile, "'profile' cannot be null.");
+ return configure().authenticate(credential, profile);
+ }
+
+ /**
+ * Gets a Configurable instance that can be used to create ComputeManager with optional configuration.
+ *
+ * @return the Configurable instance allowing configurations.
+ */
+ public static Configurable configure() {
+ return new ComputeManager.Configurable();
+ }
+
+ /** The Configurable allowing configurations to be set. */
+ public static final class Configurable {
+ private final ClientLogger logger = new ClientLogger(Configurable.class);
+
+ private HttpClient httpClient;
+ private HttpLogOptions httpLogOptions;
+ private final List policies = new ArrayList<>();
+ private RetryPolicy retryPolicy;
+ 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;
+ }
+
+ /**
+ * 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 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, "'retryPolicy' cannot be null.");
+ if (this.defaultPollInterval.isNegative()) {
+ throw logger.logExceptionAsError(new IllegalArgumentException("'httpPipeline' cannot be negative"));
+ }
+ return this;
+ }
+
+ /**
+ * Creates an instance of Compute service API entry point.
+ *
+ * @param credential the credential to use.
+ * @param profile the Azure profile for client.
+ * @return the Compute service API instance.
+ */
+ public ComputeManager 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.compute.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 (retryPolicy == null) {
+ retryPolicy = new RetryPolicy("Retry-After", ChronoUnit.SECONDS);
+ }
+ List policies = new ArrayList<>();
+ policies.add(new UserAgentPolicy(userAgentBuilder.toString()));
+ policies.add(new RequestIdPolicy());
+ HttpPolicyProviders.addBeforeRetryPolicies(policies);
+ policies.add(retryPolicy);
+ policies.add(new AddDatePolicy());
+ policies
+ .add(
+ new BearerTokenAuthenticationPolicy(
+ credential, profile.getEnvironment().getManagementEndpoint() + "/.default"));
+ HttpPolicyProviders.addAfterRetryPolicies(policies);
+ policies.add(new HttpLoggingPolicy(httpLogOptions));
+ HttpPipeline httpPipeline =
+ new HttpPipelineBuilder()
+ .httpClient(httpClient)
+ .policies(policies.toArray(new HttpPipelinePolicy[0]))
+ .build();
+ return new ComputeManager(httpPipeline, profile, defaultPollInterval);
+ }
+ }
+
+ /** @return Resource collection API of Operations. */
+ public Operations operations() {
+ if (this.operations == null) {
+ this.operations = new OperationsImpl(clientObject.getOperations(), this);
+ }
+ return operations;
+ }
+
+ /** @return Resource collection API of AvailabilitySets. */
+ public AvailabilitySets availabilitySets() {
+ if (this.availabilitySets == null) {
+ this.availabilitySets = new AvailabilitySetsImpl(clientObject.getAvailabilitySets(), this);
+ }
+ return availabilitySets;
+ }
+
+ /** @return Resource collection API of ProximityPlacementGroups. */
+ public ProximityPlacementGroups proximityPlacementGroups() {
+ if (this.proximityPlacementGroups == null) {
+ this.proximityPlacementGroups =
+ new ProximityPlacementGroupsImpl(clientObject.getProximityPlacementGroups(), this);
+ }
+ return proximityPlacementGroups;
+ }
+
+ /** @return Resource collection API of DedicatedHostGroups. */
+ public DedicatedHostGroups dedicatedHostGroups() {
+ if (this.dedicatedHostGroups == null) {
+ this.dedicatedHostGroups = new DedicatedHostGroupsImpl(clientObject.getDedicatedHostGroups(), this);
+ }
+ return dedicatedHostGroups;
+ }
+
+ /** @return Resource collection API of DedicatedHosts. */
+ public DedicatedHosts dedicatedHosts() {
+ if (this.dedicatedHosts == null) {
+ this.dedicatedHosts = new DedicatedHostsImpl(clientObject.getDedicatedHosts(), this);
+ }
+ return dedicatedHosts;
+ }
+
+ /** @return Resource collection API of SshPublicKeys. */
+ public SshPublicKeys sshPublicKeys() {
+ if (this.sshPublicKeys == null) {
+ this.sshPublicKeys = new SshPublicKeysImpl(clientObject.getSshPublicKeys(), this);
+ }
+ return sshPublicKeys;
+ }
+
+ /** @return Resource collection API of VirtualMachineExtensionImages. */
+ public VirtualMachineExtensionImages virtualMachineExtensionImages() {
+ if (this.virtualMachineExtensionImages == null) {
+ this.virtualMachineExtensionImages =
+ new VirtualMachineExtensionImagesImpl(clientObject.getVirtualMachineExtensionImages(), this);
+ }
+ return virtualMachineExtensionImages;
+ }
+
+ /** @return Resource collection API of VirtualMachineExtensions. */
+ public VirtualMachineExtensions virtualMachineExtensions() {
+ if (this.virtualMachineExtensions == null) {
+ this.virtualMachineExtensions =
+ new VirtualMachineExtensionsImpl(clientObject.getVirtualMachineExtensions(), this);
+ }
+ return virtualMachineExtensions;
+ }
+
+ /** @return Resource collection API of VirtualMachineImages. */
+ public VirtualMachineImages virtualMachineImages() {
+ if (this.virtualMachineImages == null) {
+ this.virtualMachineImages = new VirtualMachineImagesImpl(clientObject.getVirtualMachineImages(), this);
+ }
+ return virtualMachineImages;
+ }
+
+ /** @return Resource collection API of VirtualMachineImagesEdgeZones. */
+ public VirtualMachineImagesEdgeZones virtualMachineImagesEdgeZones() {
+ if (this.virtualMachineImagesEdgeZones == null) {
+ this.virtualMachineImagesEdgeZones =
+ new VirtualMachineImagesEdgeZonesImpl(clientObject.getVirtualMachineImagesEdgeZones(), this);
+ }
+ return virtualMachineImagesEdgeZones;
+ }
+
+ /** @return Resource collection API of Usages. */
+ public Usages usages() {
+ if (this.usages == null) {
+ this.usages = new UsagesImpl(clientObject.getUsages(), this);
+ }
+ return usages;
+ }
+
+ /** @return Resource collection API of VirtualMachines. */
+ public VirtualMachines virtualMachines() {
+ if (this.virtualMachines == null) {
+ this.virtualMachines = new VirtualMachinesImpl(clientObject.getVirtualMachines(), this);
+ }
+ return virtualMachines;
+ }
+
+ /** @return Resource collection API of VirtualMachineScaleSets. */
+ public VirtualMachineScaleSets virtualMachineScaleSets() {
+ if (this.virtualMachineScaleSets == null) {
+ this.virtualMachineScaleSets =
+ new VirtualMachineScaleSetsImpl(clientObject.getVirtualMachineScaleSets(), this);
+ }
+ return virtualMachineScaleSets;
+ }
+
+ /** @return Resource collection API of VirtualMachineSizes. */
+ public VirtualMachineSizes virtualMachineSizes() {
+ if (this.virtualMachineSizes == null) {
+ this.virtualMachineSizes = new VirtualMachineSizesImpl(clientObject.getVirtualMachineSizes(), this);
+ }
+ return virtualMachineSizes;
+ }
+
+ /** @return Resource collection API of Images. */
+ public Images images() {
+ if (this.images == null) {
+ this.images = new ImagesImpl(clientObject.getImages(), this);
+ }
+ return images;
+ }
+
+ /** @return Resource collection API of VirtualMachineScaleSetExtensions. */
+ public VirtualMachineScaleSetExtensions virtualMachineScaleSetExtensions() {
+ if (this.virtualMachineScaleSetExtensions == null) {
+ this.virtualMachineScaleSetExtensions =
+ new VirtualMachineScaleSetExtensionsImpl(clientObject.getVirtualMachineScaleSetExtensions(), this);
+ }
+ return virtualMachineScaleSetExtensions;
+ }
+
+ /** @return Resource collection API of VirtualMachineScaleSetRollingUpgrades. */
+ public VirtualMachineScaleSetRollingUpgrades virtualMachineScaleSetRollingUpgrades() {
+ if (this.virtualMachineScaleSetRollingUpgrades == null) {
+ this.virtualMachineScaleSetRollingUpgrades =
+ new VirtualMachineScaleSetRollingUpgradesImpl(
+ clientObject.getVirtualMachineScaleSetRollingUpgrades(), this);
+ }
+ return virtualMachineScaleSetRollingUpgrades;
+ }
+
+ /** @return Resource collection API of VirtualMachineScaleSetVMExtensions. */
+ public VirtualMachineScaleSetVMExtensions virtualMachineScaleSetVMExtensions() {
+ if (this.virtualMachineScaleSetVMExtensions == null) {
+ this.virtualMachineScaleSetVMExtensions =
+ new VirtualMachineScaleSetVMExtensionsImpl(clientObject.getVirtualMachineScaleSetVMExtensions(), this);
+ }
+ return virtualMachineScaleSetVMExtensions;
+ }
+
+ /** @return Resource collection API of VirtualMachineScaleSetVMs. */
+ public VirtualMachineScaleSetVMs virtualMachineScaleSetVMs() {
+ if (this.virtualMachineScaleSetVMs == null) {
+ this.virtualMachineScaleSetVMs =
+ new VirtualMachineScaleSetVMsImpl(clientObject.getVirtualMachineScaleSetVMs(), this);
+ }
+ return virtualMachineScaleSetVMs;
+ }
+
+ /** @return Resource collection API of LogAnalytics. */
+ public LogAnalytics logAnalytics() {
+ if (this.logAnalytics == null) {
+ this.logAnalytics = new LogAnalyticsImpl(clientObject.getLogAnalytics(), this);
+ }
+ return logAnalytics;
+ }
+
+ /** @return Resource collection API of VirtualMachineRunCommands. */
+ public VirtualMachineRunCommands virtualMachineRunCommands() {
+ if (this.virtualMachineRunCommands == null) {
+ this.virtualMachineRunCommands =
+ new VirtualMachineRunCommandsImpl(clientObject.getVirtualMachineRunCommands(), this);
+ }
+ return virtualMachineRunCommands;
+ }
+
+ /** @return Resource collection API of VirtualMachineScaleSetVMRunCommands. */
+ public VirtualMachineScaleSetVMRunCommands virtualMachineScaleSetVMRunCommands() {
+ if (this.virtualMachineScaleSetVMRunCommands == null) {
+ this.virtualMachineScaleSetVMRunCommands =
+ new VirtualMachineScaleSetVMRunCommandsImpl(
+ clientObject.getVirtualMachineScaleSetVMRunCommands(), this);
+ }
+ return virtualMachineScaleSetVMRunCommands;
+ }
+
+ /** @return Resource collection API of ResourceSkus. */
+ public ResourceSkus resourceSkus() {
+ if (this.resourceSkus == null) {
+ this.resourceSkus = new ResourceSkusImpl(clientObject.getResourceSkus(), this);
+ }
+ return resourceSkus;
+ }
+
+ /** @return Resource collection API of Disks. */
+ public Disks disks() {
+ if (this.disks == null) {
+ this.disks = new DisksImpl(clientObject.getDisks(), this);
+ }
+ return disks;
+ }
+
+ /** @return Resource collection API of Snapshots. */
+ public Snapshots snapshots() {
+ if (this.snapshots == null) {
+ this.snapshots = new SnapshotsImpl(clientObject.getSnapshots(), this);
+ }
+ return snapshots;
+ }
+
+ /** @return Resource collection API of DiskEncryptionSets. */
+ public DiskEncryptionSets diskEncryptionSets() {
+ if (this.diskEncryptionSets == null) {
+ this.diskEncryptionSets = new DiskEncryptionSetsImpl(clientObject.getDiskEncryptionSets(), this);
+ }
+ return diskEncryptionSets;
+ }
+
+ /** @return Resource collection API of DiskAccesses. */
+ public DiskAccesses diskAccesses() {
+ if (this.diskAccesses == null) {
+ this.diskAccesses = new DiskAccessesImpl(clientObject.getDiskAccesses(), this);
+ }
+ return diskAccesses;
+ }
+
+ /** @return Resource collection API of DiskRestorePoints. */
+ public DiskRestorePoints diskRestorePoints() {
+ if (this.diskRestorePoints == null) {
+ this.diskRestorePoints = new DiskRestorePointsImpl(clientObject.getDiskRestorePoints(), this);
+ }
+ return diskRestorePoints;
+ }
+
+ /** @return Resource collection API of Galleries. */
+ public Galleries galleries() {
+ if (this.galleries == null) {
+ this.galleries = new GalleriesImpl(clientObject.getGalleries(), this);
+ }
+ return galleries;
+ }
+
+ /** @return Resource collection API of GalleryImages. */
+ public GalleryImages galleryImages() {
+ if (this.galleryImages == null) {
+ this.galleryImages = new GalleryImagesImpl(clientObject.getGalleryImages(), this);
+ }
+ return galleryImages;
+ }
+
+ /** @return Resource collection API of GalleryImageVersions. */
+ public GalleryImageVersions galleryImageVersions() {
+ if (this.galleryImageVersions == null) {
+ this.galleryImageVersions = new GalleryImageVersionsImpl(clientObject.getGalleryImageVersions(), this);
+ }
+ return galleryImageVersions;
+ }
+
+ /** @return Resource collection API of GalleryApplications. */
+ public GalleryApplications galleryApplications() {
+ if (this.galleryApplications == null) {
+ this.galleryApplications = new GalleryApplicationsImpl(clientObject.getGalleryApplications(), this);
+ }
+ return galleryApplications;
+ }
+
+ /** @return Resource collection API of GalleryApplicationVersions. */
+ public GalleryApplicationVersions galleryApplicationVersions() {
+ if (this.galleryApplicationVersions == null) {
+ this.galleryApplicationVersions =
+ new GalleryApplicationVersionsImpl(clientObject.getGalleryApplicationVersions(), this);
+ }
+ return galleryApplicationVersions;
+ }
+
+ /** @return Resource collection API of CloudServiceRoleInstances. */
+ public CloudServiceRoleInstances cloudServiceRoleInstances() {
+ if (this.cloudServiceRoleInstances == null) {
+ this.cloudServiceRoleInstances =
+ new CloudServiceRoleInstancesImpl(clientObject.getCloudServiceRoleInstances(), this);
+ }
+ return cloudServiceRoleInstances;
+ }
+
+ /** @return Resource collection API of CloudServiceRoles. */
+ public CloudServiceRoles cloudServiceRoles() {
+ if (this.cloudServiceRoles == null) {
+ this.cloudServiceRoles = new CloudServiceRolesImpl(clientObject.getCloudServiceRoles(), this);
+ }
+ return cloudServiceRoles;
+ }
+
+ /** @return Resource collection API of CloudServices. */
+ public CloudServices cloudServices() {
+ if (this.cloudServices == null) {
+ this.cloudServices = new CloudServicesImpl(clientObject.getCloudServices(), this);
+ }
+ return cloudServices;
+ }
+
+ /** @return Resource collection API of CloudServicesUpdateDomains. */
+ public CloudServicesUpdateDomains cloudServicesUpdateDomains() {
+ if (this.cloudServicesUpdateDomains == null) {
+ this.cloudServicesUpdateDomains =
+ new CloudServicesUpdateDomainsImpl(clientObject.getCloudServicesUpdateDomains(), this);
+ }
+ return cloudServicesUpdateDomains;
+ }
+
+ /** @return Resource collection API of CloudServiceOperatingSystems. */
+ public CloudServiceOperatingSystems cloudServiceOperatingSystems() {
+ if (this.cloudServiceOperatingSystems == null) {
+ this.cloudServiceOperatingSystems =
+ new CloudServiceOperatingSystemsImpl(clientObject.getCloudServiceOperatingSystems(), this);
+ }
+ return cloudServiceOperatingSystems;
+ }
+
+ /**
+ * @return Wrapped service client ComputeManagementClient providing direct access to the underlying auto-generated
+ * API implementation, based on Azure REST API.
+ */
+ public ComputeManagementClient serviceClient() {
+ return this.clientObject;
+ }
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/AvailabilitySetsClient.java b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/AvailabilitySetsClient.java
new file mode 100644
index 0000000000000..c801817d02e75
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/AvailabilitySetsClient.java
@@ -0,0 +1,210 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.compute.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.util.Context;
+import com.azure.resourcemanager.compute.generated.fluent.models.AvailabilitySetInner;
+import com.azure.resourcemanager.compute.generated.fluent.models.VirtualMachineSizeInner;
+import com.azure.resourcemanager.compute.generated.models.AvailabilitySetUpdate;
+
+/** An instance of this class provides access to all the operations defined in AvailabilitySetsClient. */
+public interface AvailabilitySetsClient {
+ /**
+ * Create or update an availability set.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param availabilitySetName The name of the availability set.
+ * @param parameters Parameters supplied to the Create Availability Set operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the availability set that the virtual machine should be assigned to.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AvailabilitySetInner createOrUpdate(
+ String resourceGroupName, String availabilitySetName, AvailabilitySetInner parameters);
+
+ /**
+ * Create or update an availability set.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param availabilitySetName The name of the availability set.
+ * @param parameters Parameters supplied to the Create Availability Set operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the availability set that the virtual machine should be assigned to.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateWithResponse(
+ String resourceGroupName, String availabilitySetName, AvailabilitySetInner parameters, Context context);
+
+ /**
+ * Update an availability set.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param availabilitySetName The name of the availability set.
+ * @param parameters Parameters supplied to the Update Availability Set operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the availability set that the virtual machine should be assigned to.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AvailabilitySetInner update(String resourceGroupName, String availabilitySetName, AvailabilitySetUpdate parameters);
+
+ /**
+ * Update an availability set.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param availabilitySetName The name of the availability set.
+ * @param parameters Parameters supplied to the Update Availability Set operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the availability set that the virtual machine should be assigned to.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response updateWithResponse(
+ String resourceGroupName, String availabilitySetName, AvailabilitySetUpdate parameters, Context context);
+
+ /**
+ * Delete an availability set.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param availabilitySetName The name of the availability 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 availabilitySetName);
+
+ /**
+ * Delete an availability set.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param availabilitySetName The name of the availability 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 response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(String resourceGroupName, String availabilitySetName, Context context);
+
+ /**
+ * Retrieves information about an availability set.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param availabilitySetName The name of the availability 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 specifies information about the availability set that the virtual machine should be assigned to.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AvailabilitySetInner getByResourceGroup(String resourceGroupName, String availabilitySetName);
+
+ /**
+ * Retrieves information about an availability set.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param availabilitySetName The name of the availability 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 specifies information about the availability set that the virtual machine should be assigned to.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName, String availabilitySetName, Context context);
+
+ /**
+ * Lists all availability sets in a subscription.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List Availability Set operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Lists all availability sets in a subscription.
+ *
+ * @param expand The expand expression to apply to the operation. Allowed values are 'instanceView'.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List Availability Set operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String expand, Context context);
+
+ /**
+ * Lists all availability sets in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List Availability Set operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Lists all availability sets in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List Availability Set operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * Lists all available virtual machine sizes that can be used to create a new virtual machine in an existing
+ * availability set.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param availabilitySetName The name of the availability 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 List Virtual Machine operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listAvailableSizes(String resourceGroupName, String availabilitySetName);
+
+ /**
+ * Lists all available virtual machine sizes that can be used to create a new virtual machine in an existing
+ * availability set.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param availabilitySetName The name of the availability 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 List Virtual Machine operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listAvailableSizes(
+ String resourceGroupName, String availabilitySetName, Context context);
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/CloudServiceOperatingSystemsClient.java b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/CloudServiceOperatingSystemsClient.java
new file mode 100644
index 0000000000000..f3aba1b5938e4
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/CloudServiceOperatingSystemsClient.java
@@ -0,0 +1,144 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.compute.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.util.Context;
+import com.azure.resourcemanager.compute.generated.fluent.models.OSFamilyInner;
+import com.azure.resourcemanager.compute.generated.fluent.models.OSVersionInner;
+
+/** An instance of this class provides access to all the operations defined in CloudServiceOperatingSystemsClient. */
+public interface CloudServiceOperatingSystemsClient {
+ /**
+ * Gets properties of a guest operating system version that can be specified in the XML service configuration
+ * (.cscfg) for a cloud service.
+ *
+ * @param location Name of the location that the OS version pertains to.
+ * @param osVersionName Name of the OS version.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return properties of a guest operating system version that can be specified in the XML service configuration (.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ OSVersionInner getOSVersion(String location, String osVersionName);
+
+ /**
+ * Gets properties of a guest operating system version that can be specified in the XML service configuration
+ * (.cscfg) for a cloud service.
+ *
+ * @param location Name of the location that the OS version pertains to.
+ * @param osVersionName Name of the OS version.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return properties of a guest operating system version that can be specified in the XML service configuration (.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getOSVersionWithResponse(String location, String osVersionName, Context context);
+
+ /**
+ * Gets a list of all guest operating system versions available to be specified in the XML service configuration
+ * (.cscfg) for a cloud service. Use nextLink property in the response to get the next page of OS versions. Do this
+ * till nextLink is null to fetch all the OS versions.
+ *
+ * @param location Name of the location that the OS versions pertain to.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of all guest operating system versions available to be specified in the XML service configuration
+ * (.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listOSVersions(String location);
+
+ /**
+ * Gets a list of all guest operating system versions available to be specified in the XML service configuration
+ * (.cscfg) for a cloud service. Use nextLink property in the response to get the next page of OS versions. Do this
+ * till nextLink is null to fetch all the OS versions.
+ *
+ * @param location Name of the location that the OS versions pertain to.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of all guest operating system versions available to be specified in the XML service configuration
+ * (.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listOSVersions(String location, Context context);
+
+ /**
+ * Gets properties of a guest operating system family that can be specified in the XML service configuration
+ * (.cscfg) for a cloud service.
+ *
+ * @param location Name of the location that the OS family pertains to.
+ * @param osFamilyName Name of the OS family.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return properties of a guest operating system family that can be specified in the XML service configuration (.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ OSFamilyInner getOSFamily(String location, String osFamilyName);
+
+ /**
+ * Gets properties of a guest operating system family that can be specified in the XML service configuration
+ * (.cscfg) for a cloud service.
+ *
+ * @param location Name of the location that the OS family pertains to.
+ * @param osFamilyName Name of the OS family.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return properties of a guest operating system family that can be specified in the XML service configuration (.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getOSFamilyWithResponse(String location, String osFamilyName, Context context);
+
+ /**
+ * Gets a list of all guest operating system families available to be specified in the XML service configuration
+ * (.cscfg) for a cloud service. Use nextLink property in the response to get the next page of OS Families. Do this
+ * till nextLink is null to fetch all the OS Families.
+ *
+ * @param location Name of the location that the OS families pertain to.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of all guest operating system families available to be specified in the XML service configuration
+ * (.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listOSFamilies(String location);
+
+ /**
+ * Gets a list of all guest operating system families available to be specified in the XML service configuration
+ * (.cscfg) for a cloud service. Use nextLink property in the response to get the next page of OS Families. Do this
+ * till nextLink is null to fetch all the OS Families.
+ *
+ * @param location Name of the location that the OS families pertain to.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of all guest operating system families available to be specified in the XML service configuration
+ * (.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listOSFamilies(String location, Context context);
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/CloudServiceRoleInstancesClient.java b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/CloudServiceRoleInstancesClient.java
new file mode 100644
index 0000000000000..22cd266d8d96a
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/CloudServiceRoleInstancesClient.java
@@ -0,0 +1,413 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.compute.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.http.rest.StreamResponse;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.compute.generated.fluent.models.RoleInstanceInner;
+import com.azure.resourcemanager.compute.generated.fluent.models.RoleInstanceViewInner;
+import com.azure.resourcemanager.compute.generated.models.InstanceViewTypes;
+import java.io.InputStream;
+
+/** An instance of this class provides access to all the operations defined in CloudServiceRoleInstancesClient. */
+public interface CloudServiceRoleInstancesClient {
+ /**
+ * Deletes a role instance from a cloud service.
+ *
+ * @param roleInstanceName Name of the role instance.
+ * @param resourceGroupName The resourceGroupName parameter.
+ * @param cloudServiceName The cloudServiceName parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String roleInstanceName, String resourceGroupName, String cloudServiceName);
+
+ /**
+ * Deletes a role instance from a cloud service.
+ *
+ * @param roleInstanceName Name of the role instance.
+ * @param resourceGroupName The resourceGroupName parameter.
+ * @param cloudServiceName The cloudServiceName parameter.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String roleInstanceName, String resourceGroupName, String cloudServiceName, Context context);
+
+ /**
+ * Deletes a role instance from a cloud service.
+ *
+ * @param roleInstanceName Name of the role instance.
+ * @param resourceGroupName The resourceGroupName parameter.
+ * @param cloudServiceName The cloudServiceName parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException 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 roleInstanceName, String resourceGroupName, String cloudServiceName);
+
+ /**
+ * Deletes a role instance from a cloud service.
+ *
+ * @param roleInstanceName Name of the role instance.
+ * @param resourceGroupName The resourceGroupName parameter.
+ * @param cloudServiceName The cloudServiceName parameter.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException 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 roleInstanceName, String resourceGroupName, String cloudServiceName, Context context);
+
+ /**
+ * Gets a role instance from a cloud service.
+ *
+ * @param roleInstanceName Name of the role instance.
+ * @param resourceGroupName The resourceGroupName parameter.
+ * @param cloudServiceName The cloudServiceName parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a role instance from a cloud service.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RoleInstanceInner get(String roleInstanceName, String resourceGroupName, String cloudServiceName);
+
+ /**
+ * Gets a role instance from a cloud service.
+ *
+ * @param roleInstanceName Name of the role instance.
+ * @param resourceGroupName The resourceGroupName parameter.
+ * @param cloudServiceName The cloudServiceName parameter.
+ * @param expand The expand expression to apply to the operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a role instance from a cloud service.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String roleInstanceName,
+ String resourceGroupName,
+ String cloudServiceName,
+ InstanceViewTypes expand,
+ Context context);
+
+ /**
+ * Retrieves information about the run-time state of a role instance in a cloud service.
+ *
+ * @param roleInstanceName Name of the role instance.
+ * @param resourceGroupName The resourceGroupName parameter.
+ * @param cloudServiceName The cloudServiceName parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the instance view of the role instance.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RoleInstanceViewInner getInstanceView(String roleInstanceName, String resourceGroupName, String cloudServiceName);
+
+ /**
+ * Retrieves information about the run-time state of a role instance in a cloud service.
+ *
+ * @param roleInstanceName Name of the role instance.
+ * @param resourceGroupName The resourceGroupName parameter.
+ * @param cloudServiceName The cloudServiceName parameter.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the instance view of the role instance.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getInstanceViewWithResponse(
+ String roleInstanceName, String resourceGroupName, String cloudServiceName, Context context);
+
+ /**
+ * Gets the list of all role instances in a cloud service. Use nextLink property in the response to get the next
+ * page of role instances. Do this till nextLink is null to fetch all the role instances.
+ *
+ * @param resourceGroupName The resourceGroupName parameter.
+ * @param cloudServiceName The cloudServiceName parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list of all role instances in a cloud service.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String cloudServiceName);
+
+ /**
+ * Gets the list of all role instances in a cloud service. Use nextLink property in the response to get the next
+ * page of role instances. Do this till nextLink is null to fetch all the role instances.
+ *
+ * @param resourceGroupName The resourceGroupName parameter.
+ * @param cloudServiceName The cloudServiceName parameter.
+ * @param expand The expand expression to apply to the operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list of all role instances in a cloud service.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(
+ String resourceGroupName, String cloudServiceName, InstanceViewTypes expand, Context context);
+
+ /**
+ * The Reboot Role Instance asynchronous operation requests a reboot of a role instance in the cloud service.
+ *
+ * @param roleInstanceName Name of the role instance.
+ * @param resourceGroupName The resourceGroupName parameter.
+ * @param cloudServiceName The cloudServiceName parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginRestart(
+ String roleInstanceName, String resourceGroupName, String cloudServiceName);
+
+ /**
+ * The Reboot Role Instance asynchronous operation requests a reboot of a role instance in the cloud service.
+ *
+ * @param roleInstanceName Name of the role instance.
+ * @param resourceGroupName The resourceGroupName parameter.
+ * @param cloudServiceName The cloudServiceName parameter.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginRestart(
+ String roleInstanceName, String resourceGroupName, String cloudServiceName, Context context);
+
+ /**
+ * The Reboot Role Instance asynchronous operation requests a reboot of a role instance in the cloud service.
+ *
+ * @param roleInstanceName Name of the role instance.
+ * @param resourceGroupName The resourceGroupName parameter.
+ * @param cloudServiceName The cloudServiceName parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException 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 restart(String roleInstanceName, String resourceGroupName, String cloudServiceName);
+
+ /**
+ * The Reboot Role Instance asynchronous operation requests a reboot of a role instance in the cloud service.
+ *
+ * @param roleInstanceName Name of the role instance.
+ * @param resourceGroupName The resourceGroupName parameter.
+ * @param cloudServiceName The cloudServiceName parameter.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException 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 restart(String roleInstanceName, String resourceGroupName, String cloudServiceName, Context context);
+
+ /**
+ * The Reimage Role Instance asynchronous operation reinstalls the operating system on instances of web roles or
+ * worker roles.
+ *
+ * @param roleInstanceName Name of the role instance.
+ * @param resourceGroupName The resourceGroupName parameter.
+ * @param cloudServiceName The cloudServiceName parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginReimage(
+ String roleInstanceName, String resourceGroupName, String cloudServiceName);
+
+ /**
+ * The Reimage Role Instance asynchronous operation reinstalls the operating system on instances of web roles or
+ * worker roles.
+ *
+ * @param roleInstanceName Name of the role instance.
+ * @param resourceGroupName The resourceGroupName parameter.
+ * @param cloudServiceName The cloudServiceName parameter.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginReimage(
+ String roleInstanceName, String resourceGroupName, String cloudServiceName, Context context);
+
+ /**
+ * The Reimage Role Instance asynchronous operation reinstalls the operating system on instances of web roles or
+ * worker roles.
+ *
+ * @param roleInstanceName Name of the role instance.
+ * @param resourceGroupName The resourceGroupName parameter.
+ * @param cloudServiceName The cloudServiceName parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException 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 reimage(String roleInstanceName, String resourceGroupName, String cloudServiceName);
+
+ /**
+ * The Reimage Role Instance asynchronous operation reinstalls the operating system on instances of web roles or
+ * worker roles.
+ *
+ * @param roleInstanceName Name of the role instance.
+ * @param resourceGroupName The resourceGroupName parameter.
+ * @param cloudServiceName The cloudServiceName parameter.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException 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 reimage(String roleInstanceName, String resourceGroupName, String cloudServiceName, Context context);
+
+ /**
+ * The Rebuild Role Instance asynchronous operation reinstalls the operating system on instances of web roles or
+ * worker roles and initializes the storage resources that are used by them. If you do not want to initialize
+ * storage resources, you can use Reimage Role Instance.
+ *
+ * @param roleInstanceName Name of the role instance.
+ * @param resourceGroupName The resourceGroupName parameter.
+ * @param cloudServiceName The cloudServiceName parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginRebuild(
+ String roleInstanceName, String resourceGroupName, String cloudServiceName);
+
+ /**
+ * The Rebuild Role Instance asynchronous operation reinstalls the operating system on instances of web roles or
+ * worker roles and initializes the storage resources that are used by them. If you do not want to initialize
+ * storage resources, you can use Reimage Role Instance.
+ *
+ * @param roleInstanceName Name of the role instance.
+ * @param resourceGroupName The resourceGroupName parameter.
+ * @param cloudServiceName The cloudServiceName parameter.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginRebuild(
+ String roleInstanceName, String resourceGroupName, String cloudServiceName, Context context);
+
+ /**
+ * The Rebuild Role Instance asynchronous operation reinstalls the operating system on instances of web roles or
+ * worker roles and initializes the storage resources that are used by them. If you do not want to initialize
+ * storage resources, you can use Reimage Role Instance.
+ *
+ * @param roleInstanceName Name of the role instance.
+ * @param resourceGroupName The resourceGroupName parameter.
+ * @param cloudServiceName The cloudServiceName parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException 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 rebuild(String roleInstanceName, String resourceGroupName, String cloudServiceName);
+
+ /**
+ * The Rebuild Role Instance asynchronous operation reinstalls the operating system on instances of web roles or
+ * worker roles and initializes the storage resources that are used by them. If you do not want to initialize
+ * storage resources, you can use Reimage Role Instance.
+ *
+ * @param roleInstanceName Name of the role instance.
+ * @param resourceGroupName The resourceGroupName parameter.
+ * @param cloudServiceName The cloudServiceName parameter.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException 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 rebuild(String roleInstanceName, String resourceGroupName, String cloudServiceName, Context context);
+
+ /**
+ * Gets a remote desktop file for a role instance in a cloud service.
+ *
+ * @param roleInstanceName Name of the role instance.
+ * @param resourceGroupName The resourceGroupName parameter.
+ * @param cloudServiceName The cloudServiceName parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 remote desktop file for a role instance in a cloud service.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ InputStream getRemoteDesktopFile(String roleInstanceName, String resourceGroupName, String cloudServiceName);
+
+ /**
+ * Gets a remote desktop file for a role instance in a cloud service.
+ *
+ * @param roleInstanceName Name of the role instance.
+ * @param resourceGroupName The resourceGroupName parameter.
+ * @param cloudServiceName The cloudServiceName parameter.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 remote desktop file for a role instance in a cloud service.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ StreamResponse getRemoteDesktopFileWithResponse(
+ String roleInstanceName, String resourceGroupName, String cloudServiceName, Context context);
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/CloudServiceRolesClient.java b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/CloudServiceRolesClient.java
new file mode 100644
index 0000000000000..a8ed7e8b96419
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/CloudServiceRolesClient.java
@@ -0,0 +1,78 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.compute.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.util.Context;
+import com.azure.resourcemanager.compute.generated.fluent.models.CloudServiceRoleInner;
+
+/** An instance of this class provides access to all the operations defined in CloudServiceRolesClient. */
+public interface CloudServiceRolesClient {
+ /**
+ * Gets a role from a cloud service.
+ *
+ * @param roleName Name of the role.
+ * @param resourceGroupName The resourceGroupName parameter.
+ * @param cloudServiceName The cloudServiceName parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a role from a cloud service.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CloudServiceRoleInner get(String roleName, String resourceGroupName, String cloudServiceName);
+
+ /**
+ * Gets a role from a cloud service.
+ *
+ * @param roleName Name of the role.
+ * @param resourceGroupName The resourceGroupName parameter.
+ * @param cloudServiceName The cloudServiceName parameter.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a role from a cloud service.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String roleName, String resourceGroupName, String cloudServiceName, Context context);
+
+ /**
+ * Gets a list of all roles in a cloud service. Use nextLink property in the response to get the next page of roles.
+ * Do this till nextLink is null to fetch all the roles.
+ *
+ * @param resourceGroupName The resourceGroupName parameter.
+ * @param cloudServiceName The cloudServiceName parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of all roles in a cloud service.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String cloudServiceName);
+
+ /**
+ * Gets a list of all roles in a cloud service. Use nextLink property in the response to get the next page of roles.
+ * Do this till nextLink is null to fetch all the roles.
+ *
+ * @param resourceGroupName The resourceGroupName parameter.
+ * @param cloudServiceName The cloudServiceName parameter.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of all roles in a cloud service.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String cloudServiceName, Context context);
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/CloudServicesClient.java b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/CloudServicesClient.java
new file mode 100644
index 0000000000000..f43ea5689fda1
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/CloudServicesClient.java
@@ -0,0 +1,778 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.compute.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.compute.generated.fluent.models.CloudServiceInner;
+import com.azure.resourcemanager.compute.generated.fluent.models.CloudServiceInstanceViewInner;
+import com.azure.resourcemanager.compute.generated.models.CloudServiceUpdate;
+import com.azure.resourcemanager.compute.generated.models.RoleInstances;
+
+/** An instance of this class provides access to all the operations defined in CloudServicesClient. */
+public interface CloudServicesClient {
+ /**
+ * Create or update a cloud service. Please note some properties can be set only during cloud service creation.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @param cloudServiceName Name of the cloud service.
+ * @param parameters The cloud service object.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return describes the cloud service.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, CloudServiceInner> beginCreateOrUpdate(
+ String resourceGroupName, String cloudServiceName, CloudServiceInner parameters);
+
+ /**
+ * Create or update a cloud service. Please note some properties can be set only during cloud service creation.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @param cloudServiceName Name of the cloud service.
+ * @param parameters The cloud service object.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return describes the cloud service.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, CloudServiceInner> beginCreateOrUpdate(
+ String resourceGroupName, String cloudServiceName, CloudServiceInner parameters, Context context);
+
+ /**
+ * Create or update a cloud service. Please note some properties can be set only during cloud service creation.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @param cloudServiceName Name of the cloud service.
+ * @param parameters The cloud service object.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return describes the cloud service.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CloudServiceInner createOrUpdate(String resourceGroupName, String cloudServiceName, CloudServiceInner parameters);
+
+ /**
+ * Create or update a cloud service. Please note some properties can be set only during cloud service creation.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @param cloudServiceName Name of the cloud service.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return describes the cloud service.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CloudServiceInner createOrUpdate(String resourceGroupName, String cloudServiceName);
+
+ /**
+ * Create or update a cloud service. Please note some properties can be set only during cloud service creation.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @param cloudServiceName Name of the cloud service.
+ * @param parameters The cloud service object.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return describes the cloud service.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CloudServiceInner createOrUpdate(
+ String resourceGroupName, String cloudServiceName, CloudServiceInner parameters, Context context);
+
+ /**
+ * Update a cloud service.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @param cloudServiceName Name of the cloud service.
+ * @param parameters The cloud service object.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return describes the cloud service.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, CloudServiceInner> beginUpdate(
+ String resourceGroupName, String cloudServiceName, CloudServiceUpdate parameters);
+
+ /**
+ * Update a cloud service.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @param cloudServiceName Name of the cloud service.
+ * @param parameters The cloud service object.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return describes the cloud service.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, CloudServiceInner> beginUpdate(
+ String resourceGroupName, String cloudServiceName, CloudServiceUpdate parameters, Context context);
+
+ /**
+ * Update a cloud service.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @param cloudServiceName Name of the cloud service.
+ * @param parameters The cloud service object.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return describes the cloud service.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CloudServiceInner update(String resourceGroupName, String cloudServiceName, CloudServiceUpdate parameters);
+
+ /**
+ * Update a cloud service.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @param cloudServiceName Name of the cloud service.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return describes the cloud service.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CloudServiceInner update(String resourceGroupName, String cloudServiceName);
+
+ /**
+ * Update a cloud service.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @param cloudServiceName Name of the cloud service.
+ * @param parameters The cloud service object.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return describes the cloud service.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CloudServiceInner update(
+ String resourceGroupName, String cloudServiceName, CloudServiceUpdate parameters, Context context);
+
+ /**
+ * Deletes a cloud service.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @param cloudServiceName Name of the cloud service.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String cloudServiceName);
+
+ /**
+ * Deletes a cloud service.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @param cloudServiceName Name of the cloud service.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String cloudServiceName, Context context);
+
+ /**
+ * Deletes a cloud service.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @param cloudServiceName Name of the cloud service.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException 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 cloudServiceName);
+
+ /**
+ * Deletes a cloud service.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @param cloudServiceName Name of the cloud service.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException 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 cloudServiceName, Context context);
+
+ /**
+ * Display information about a cloud service.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @param cloudServiceName Name of the cloud service.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return describes the cloud service.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CloudServiceInner getByResourceGroup(String resourceGroupName, String cloudServiceName);
+
+ /**
+ * Display information about a cloud service.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @param cloudServiceName Name of the cloud service.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return describes the cloud service.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName, String cloudServiceName, Context context);
+
+ /**
+ * Gets the status of a cloud service.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @param cloudServiceName Name of the cloud service.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the status of a cloud service.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CloudServiceInstanceViewInner getInstanceView(String resourceGroupName, String cloudServiceName);
+
+ /**
+ * Gets the status of a cloud service.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @param cloudServiceName Name of the cloud service.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the status of a cloud service.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getInstanceViewWithResponse(
+ String resourceGroupName, String cloudServiceName, Context context);
+
+ /**
+ * Gets a list of all cloud services in the subscription, regardless of the associated resource group. Use nextLink
+ * property in the response to get the next page of Cloud Services. Do this till nextLink is null to fetch all the
+ * Cloud Services.
+ *
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of all cloud services in the subscription, regardless of the associated resource group.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Gets a list of all cloud services in the subscription, regardless of the associated resource group. Use nextLink
+ * property in the response to get the next page of Cloud Services. Do this till nextLink is null to fetch all the
+ * Cloud Services.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of all cloud services in the subscription, regardless of the associated resource group.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+
+ /**
+ * Gets a list of all cloud services under a resource group. Use nextLink property in the response to get the next
+ * page of Cloud Services. Do this till nextLink is null to fetch all the Cloud Services.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of all cloud services under a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Gets a list of all cloud services under a resource group. Use nextLink property in the response to get the next
+ * page of Cloud Services. Do this till nextLink is null to fetch all the Cloud Services.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of all cloud services under a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * Starts the cloud service.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @param cloudServiceName Name of the cloud service.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginStart(String resourceGroupName, String cloudServiceName);
+
+ /**
+ * Starts the cloud service.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @param cloudServiceName Name of the cloud service.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginStart(String resourceGroupName, String cloudServiceName, Context context);
+
+ /**
+ * Starts the cloud service.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @param cloudServiceName Name of the cloud service.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException 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 start(String resourceGroupName, String cloudServiceName);
+
+ /**
+ * Starts the cloud service.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @param cloudServiceName Name of the cloud service.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException 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 start(String resourceGroupName, String cloudServiceName, Context context);
+
+ /**
+ * Power off the cloud service. Note that resources are still attached and you are getting charged for the
+ * resources.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @param cloudServiceName Name of the cloud service.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginPowerOff(String resourceGroupName, String cloudServiceName);
+
+ /**
+ * Power off the cloud service. Note that resources are still attached and you are getting charged for the
+ * resources.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @param cloudServiceName Name of the cloud service.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginPowerOff(
+ String resourceGroupName, String cloudServiceName, Context context);
+
+ /**
+ * Power off the cloud service. Note that resources are still attached and you are getting charged for the
+ * resources.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @param cloudServiceName Name of the cloud service.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException 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 powerOff(String resourceGroupName, String cloudServiceName);
+
+ /**
+ * Power off the cloud service. Note that resources are still attached and you are getting charged for the
+ * resources.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @param cloudServiceName Name of the cloud service.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException 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 powerOff(String resourceGroupName, String cloudServiceName, Context context);
+
+ /**
+ * Restarts one or more role instances in a cloud service.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @param cloudServiceName Name of the cloud service.
+ * @param parameters List of cloud service role instance names.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginRestart(
+ String resourceGroupName, String cloudServiceName, RoleInstances parameters);
+
+ /**
+ * Restarts one or more role instances in a cloud service.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @param cloudServiceName Name of the cloud service.
+ * @param parameters List of cloud service role instance names.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginRestart(
+ String resourceGroupName, String cloudServiceName, RoleInstances parameters, Context context);
+
+ /**
+ * Restarts one or more role instances in a cloud service.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @param cloudServiceName Name of the cloud service.
+ * @param parameters List of cloud service role instance names.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException 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 restart(String resourceGroupName, String cloudServiceName, RoleInstances parameters);
+
+ /**
+ * Restarts one or more role instances in a cloud service.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @param cloudServiceName Name of the cloud service.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException 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 restart(String resourceGroupName, String cloudServiceName);
+
+ /**
+ * Restarts one or more role instances in a cloud service.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @param cloudServiceName Name of the cloud service.
+ * @param parameters List of cloud service role instance names.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException 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 restart(String resourceGroupName, String cloudServiceName, RoleInstances parameters, Context context);
+
+ /**
+ * Reimage asynchronous operation reinstalls the operating system on instances of web roles or worker roles.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @param cloudServiceName Name of the cloud service.
+ * @param parameters List of cloud service role instance names.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginReimage(
+ String resourceGroupName, String cloudServiceName, RoleInstances parameters);
+
+ /**
+ * Reimage asynchronous operation reinstalls the operating system on instances of web roles or worker roles.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @param cloudServiceName Name of the cloud service.
+ * @param parameters List of cloud service role instance names.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginReimage(
+ String resourceGroupName, String cloudServiceName, RoleInstances parameters, Context context);
+
+ /**
+ * Reimage asynchronous operation reinstalls the operating system on instances of web roles or worker roles.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @param cloudServiceName Name of the cloud service.
+ * @param parameters List of cloud service role instance names.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException 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 reimage(String resourceGroupName, String cloudServiceName, RoleInstances parameters);
+
+ /**
+ * Reimage asynchronous operation reinstalls the operating system on instances of web roles or worker roles.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @param cloudServiceName Name of the cloud service.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException 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 reimage(String resourceGroupName, String cloudServiceName);
+
+ /**
+ * Reimage asynchronous operation reinstalls the operating system on instances of web roles or worker roles.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @param cloudServiceName Name of the cloud service.
+ * @param parameters List of cloud service role instance names.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException 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 reimage(String resourceGroupName, String cloudServiceName, RoleInstances parameters, Context context);
+
+ /**
+ * Rebuild Role Instances reinstalls the operating system on instances of web roles or worker roles and initializes
+ * the storage resources that are used by them. If you do not want to initialize storage resources, you can use
+ * Reimage Role Instances.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @param cloudServiceName Name of the cloud service.
+ * @param parameters List of cloud service role instance names.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginRebuild(
+ String resourceGroupName, String cloudServiceName, RoleInstances parameters);
+
+ /**
+ * Rebuild Role Instances reinstalls the operating system on instances of web roles or worker roles and initializes
+ * the storage resources that are used by them. If you do not want to initialize storage resources, you can use
+ * Reimage Role Instances.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @param cloudServiceName Name of the cloud service.
+ * @param parameters List of cloud service role instance names.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginRebuild(
+ String resourceGroupName, String cloudServiceName, RoleInstances parameters, Context context);
+
+ /**
+ * Rebuild Role Instances reinstalls the operating system on instances of web roles or worker roles and initializes
+ * the storage resources that are used by them. If you do not want to initialize storage resources, you can use
+ * Reimage Role Instances.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @param cloudServiceName Name of the cloud service.
+ * @param parameters List of cloud service role instance names.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException 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 rebuild(String resourceGroupName, String cloudServiceName, RoleInstances parameters);
+
+ /**
+ * Rebuild Role Instances reinstalls the operating system on instances of web roles or worker roles and initializes
+ * the storage resources that are used by them. If you do not want to initialize storage resources, you can use
+ * Reimage Role Instances.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @param cloudServiceName Name of the cloud service.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException 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 rebuild(String resourceGroupName, String cloudServiceName);
+
+ /**
+ * Rebuild Role Instances reinstalls the operating system on instances of web roles or worker roles and initializes
+ * the storage resources that are used by them. If you do not want to initialize storage resources, you can use
+ * Reimage Role Instances.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @param cloudServiceName Name of the cloud service.
+ * @param parameters List of cloud service role instance names.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException 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 rebuild(String resourceGroupName, String cloudServiceName, RoleInstances parameters, Context context);
+
+ /**
+ * Deletes role instances in a cloud service.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @param cloudServiceName Name of the cloud service.
+ * @param parameters List of cloud service role instance names.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDeleteInstances(
+ String resourceGroupName, String cloudServiceName, RoleInstances parameters);
+
+ /**
+ * Deletes role instances in a cloud service.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @param cloudServiceName Name of the cloud service.
+ * @param parameters List of cloud service role instance names.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDeleteInstances(
+ String resourceGroupName, String cloudServiceName, RoleInstances parameters, Context context);
+
+ /**
+ * Deletes role instances in a cloud service.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @param cloudServiceName Name of the cloud service.
+ * @param parameters List of cloud service role instance names.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException 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 deleteInstances(String resourceGroupName, String cloudServiceName, RoleInstances parameters);
+
+ /**
+ * Deletes role instances in a cloud service.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @param cloudServiceName Name of the cloud service.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException 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 deleteInstances(String resourceGroupName, String cloudServiceName);
+
+ /**
+ * Deletes role instances in a cloud service.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @param cloudServiceName Name of the cloud service.
+ * @param parameters List of cloud service role instance names.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException 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 deleteInstances(String resourceGroupName, String cloudServiceName, RoleInstances parameters, Context context);
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/CloudServicesUpdateDomainsClient.java b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/CloudServicesUpdateDomainsClient.java
new file mode 100644
index 0000000000000..3e46d2deba2f0
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/CloudServicesUpdateDomainsClient.java
@@ -0,0 +1,178 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.compute.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.compute.generated.fluent.models.UpdateDomainInner;
+
+/** An instance of this class provides access to all the operations defined in CloudServicesUpdateDomainsClient. */
+public interface CloudServicesUpdateDomainsClient {
+ /**
+ * Updates the role instances in the specified update domain.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @param cloudServiceName Name of the cloud service.
+ * @param updateDomain Specifies an integer value that identifies the update domain. Update domains are identified
+ * with a zero-based index: the first update domain has an ID of 0, the second has an ID of 1, and so on.
+ * @param parameters The update domain object.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginWalkUpdateDomain(
+ String resourceGroupName, String cloudServiceName, int updateDomain, UpdateDomainInner parameters);
+
+ /**
+ * Updates the role instances in the specified update domain.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @param cloudServiceName Name of the cloud service.
+ * @param updateDomain Specifies an integer value that identifies the update domain. Update domains are identified
+ * with a zero-based index: the first update domain has an ID of 0, the second has an ID of 1, and so on.
+ * @param parameters The update domain object.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginWalkUpdateDomain(
+ String resourceGroupName,
+ String cloudServiceName,
+ int updateDomain,
+ UpdateDomainInner parameters,
+ Context context);
+
+ /**
+ * Updates the role instances in the specified update domain.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @param cloudServiceName Name of the cloud service.
+ * @param updateDomain Specifies an integer value that identifies the update domain. Update domains are identified
+ * with a zero-based index: the first update domain has an ID of 0, the second has an ID of 1, and so on.
+ * @param parameters The update domain object.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException 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 walkUpdateDomain(
+ String resourceGroupName, String cloudServiceName, int updateDomain, UpdateDomainInner parameters);
+
+ /**
+ * Updates the role instances in the specified update domain.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @param cloudServiceName Name of the cloud service.
+ * @param updateDomain Specifies an integer value that identifies the update domain. Update domains are identified
+ * with a zero-based index: the first update domain has an ID of 0, the second has an ID of 1, and so on.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException 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 walkUpdateDomain(String resourceGroupName, String cloudServiceName, int updateDomain);
+
+ /**
+ * Updates the role instances in the specified update domain.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @param cloudServiceName Name of the cloud service.
+ * @param updateDomain Specifies an integer value that identifies the update domain. Update domains are identified
+ * with a zero-based index: the first update domain has an ID of 0, the second has an ID of 1, and so on.
+ * @param parameters The update domain object.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException 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 walkUpdateDomain(
+ String resourceGroupName,
+ String cloudServiceName,
+ int updateDomain,
+ UpdateDomainInner parameters,
+ Context context);
+
+ /**
+ * Gets the specified update domain of a cloud service. Use nextLink property in the response to get the next page
+ * of update domains. Do this till nextLink is null to fetch all the update domains.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @param cloudServiceName Name of the cloud service.
+ * @param updateDomain Specifies an integer value that identifies the update domain. Update domains are identified
+ * with a zero-based index: the first update domain has an ID of 0, the second has an ID of 1, and so on.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException 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 update domain of a cloud service.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ UpdateDomainInner getUpdateDomain(String resourceGroupName, String cloudServiceName, int updateDomain);
+
+ /**
+ * Gets the specified update domain of a cloud service. Use nextLink property in the response to get the next page
+ * of update domains. Do this till nextLink is null to fetch all the update domains.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @param cloudServiceName Name of the cloud service.
+ * @param updateDomain Specifies an integer value that identifies the update domain. Update domains are identified
+ * with a zero-based index: the first update domain has an ID of 0, the second has an ID of 1, and so on.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException 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 update domain of a cloud service.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getUpdateDomainWithResponse(
+ String resourceGroupName, String cloudServiceName, int updateDomain, Context context);
+
+ /**
+ * Gets a list of all update domains in a cloud service.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @param cloudServiceName Name of the cloud service.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of all update domains in a cloud service.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listUpdateDomains(String resourceGroupName, String cloudServiceName);
+
+ /**
+ * Gets a list of all update domains in a cloud service.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @param cloudServiceName Name of the cloud service.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of all update domains in a cloud service.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listUpdateDomains(
+ String resourceGroupName, String cloudServiceName, Context context);
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/ComputeManagementClient.java b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/ComputeManagementClient.java
new file mode 100644
index 0000000000000..d0c227d2bc2d6
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/ComputeManagementClient.java
@@ -0,0 +1,306 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.compute.generated.fluent;
+
+import com.azure.core.http.HttpPipeline;
+import java.time.Duration;
+
+/** The interface for ComputeManagementClient class. */
+public interface ComputeManagementClient {
+ /**
+ * Gets Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms
+ * part of the URI for every service call.
+ *
+ * @return the subscriptionId value.
+ */
+ String getSubscriptionId();
+
+ /**
+ * Gets server parameter.
+ *
+ * @return the endpoint value.
+ */
+ String getEndpoint();
+
+ /**
+ * Gets The HTTP pipeline to send requests through.
+ *
+ * @return the httpPipeline value.
+ */
+ HttpPipeline getHttpPipeline();
+
+ /**
+ * Gets The default poll interval for long-running operation.
+ *
+ * @return the defaultPollInterval value.
+ */
+ Duration getDefaultPollInterval();
+
+ /**
+ * Gets the OperationsClient object to access its operations.
+ *
+ * @return the OperationsClient object.
+ */
+ OperationsClient getOperations();
+
+ /**
+ * Gets the AvailabilitySetsClient object to access its operations.
+ *
+ * @return the AvailabilitySetsClient object.
+ */
+ AvailabilitySetsClient getAvailabilitySets();
+
+ /**
+ * Gets the ProximityPlacementGroupsClient object to access its operations.
+ *
+ * @return the ProximityPlacementGroupsClient object.
+ */
+ ProximityPlacementGroupsClient getProximityPlacementGroups();
+
+ /**
+ * Gets the DedicatedHostGroupsClient object to access its operations.
+ *
+ * @return the DedicatedHostGroupsClient object.
+ */
+ DedicatedHostGroupsClient getDedicatedHostGroups();
+
+ /**
+ * Gets the DedicatedHostsClient object to access its operations.
+ *
+ * @return the DedicatedHostsClient object.
+ */
+ DedicatedHostsClient getDedicatedHosts();
+
+ /**
+ * Gets the SshPublicKeysClient object to access its operations.
+ *
+ * @return the SshPublicKeysClient object.
+ */
+ SshPublicKeysClient getSshPublicKeys();
+
+ /**
+ * Gets the VirtualMachineExtensionImagesClient object to access its operations.
+ *
+ * @return the VirtualMachineExtensionImagesClient object.
+ */
+ VirtualMachineExtensionImagesClient getVirtualMachineExtensionImages();
+
+ /**
+ * Gets the VirtualMachineExtensionsClient object to access its operations.
+ *
+ * @return the VirtualMachineExtensionsClient object.
+ */
+ VirtualMachineExtensionsClient getVirtualMachineExtensions();
+
+ /**
+ * Gets the VirtualMachineImagesClient object to access its operations.
+ *
+ * @return the VirtualMachineImagesClient object.
+ */
+ VirtualMachineImagesClient getVirtualMachineImages();
+
+ /**
+ * Gets the VirtualMachineImagesEdgeZonesClient object to access its operations.
+ *
+ * @return the VirtualMachineImagesEdgeZonesClient object.
+ */
+ VirtualMachineImagesEdgeZonesClient getVirtualMachineImagesEdgeZones();
+
+ /**
+ * Gets the UsagesClient object to access its operations.
+ *
+ * @return the UsagesClient object.
+ */
+ UsagesClient getUsages();
+
+ /**
+ * Gets the VirtualMachinesClient object to access its operations.
+ *
+ * @return the VirtualMachinesClient object.
+ */
+ VirtualMachinesClient getVirtualMachines();
+
+ /**
+ * Gets the VirtualMachineScaleSetsClient object to access its operations.
+ *
+ * @return the VirtualMachineScaleSetsClient object.
+ */
+ VirtualMachineScaleSetsClient getVirtualMachineScaleSets();
+
+ /**
+ * Gets the VirtualMachineSizesClient object to access its operations.
+ *
+ * @return the VirtualMachineSizesClient object.
+ */
+ VirtualMachineSizesClient getVirtualMachineSizes();
+
+ /**
+ * Gets the ImagesClient object to access its operations.
+ *
+ * @return the ImagesClient object.
+ */
+ ImagesClient getImages();
+
+ /**
+ * Gets the VirtualMachineScaleSetExtensionsClient object to access its operations.
+ *
+ * @return the VirtualMachineScaleSetExtensionsClient object.
+ */
+ VirtualMachineScaleSetExtensionsClient getVirtualMachineScaleSetExtensions();
+
+ /**
+ * Gets the VirtualMachineScaleSetRollingUpgradesClient object to access its operations.
+ *
+ * @return the VirtualMachineScaleSetRollingUpgradesClient object.
+ */
+ VirtualMachineScaleSetRollingUpgradesClient getVirtualMachineScaleSetRollingUpgrades();
+
+ /**
+ * Gets the VirtualMachineScaleSetVMExtensionsClient object to access its operations.
+ *
+ * @return the VirtualMachineScaleSetVMExtensionsClient object.
+ */
+ VirtualMachineScaleSetVMExtensionsClient getVirtualMachineScaleSetVMExtensions();
+
+ /**
+ * Gets the VirtualMachineScaleSetVMsClient object to access its operations.
+ *
+ * @return the VirtualMachineScaleSetVMsClient object.
+ */
+ VirtualMachineScaleSetVMsClient getVirtualMachineScaleSetVMs();
+
+ /**
+ * Gets the LogAnalyticsClient object to access its operations.
+ *
+ * @return the LogAnalyticsClient object.
+ */
+ LogAnalyticsClient getLogAnalytics();
+
+ /**
+ * Gets the VirtualMachineRunCommandsClient object to access its operations.
+ *
+ * @return the VirtualMachineRunCommandsClient object.
+ */
+ VirtualMachineRunCommandsClient getVirtualMachineRunCommands();
+
+ /**
+ * Gets the VirtualMachineScaleSetVMRunCommandsClient object to access its operations.
+ *
+ * @return the VirtualMachineScaleSetVMRunCommandsClient object.
+ */
+ VirtualMachineScaleSetVMRunCommandsClient getVirtualMachineScaleSetVMRunCommands();
+
+ /**
+ * Gets the ResourceSkusClient object to access its operations.
+ *
+ * @return the ResourceSkusClient object.
+ */
+ ResourceSkusClient getResourceSkus();
+
+ /**
+ * Gets the DisksClient object to access its operations.
+ *
+ * @return the DisksClient object.
+ */
+ DisksClient getDisks();
+
+ /**
+ * Gets the SnapshotsClient object to access its operations.
+ *
+ * @return the SnapshotsClient object.
+ */
+ SnapshotsClient getSnapshots();
+
+ /**
+ * Gets the DiskEncryptionSetsClient object to access its operations.
+ *
+ * @return the DiskEncryptionSetsClient object.
+ */
+ DiskEncryptionSetsClient getDiskEncryptionSets();
+
+ /**
+ * Gets the DiskAccessesClient object to access its operations.
+ *
+ * @return the DiskAccessesClient object.
+ */
+ DiskAccessesClient getDiskAccesses();
+
+ /**
+ * Gets the DiskRestorePointsClient object to access its operations.
+ *
+ * @return the DiskRestorePointsClient object.
+ */
+ DiskRestorePointsClient getDiskRestorePoints();
+
+ /**
+ * Gets the GalleriesClient object to access its operations.
+ *
+ * @return the GalleriesClient object.
+ */
+ GalleriesClient getGalleries();
+
+ /**
+ * Gets the GalleryImagesClient object to access its operations.
+ *
+ * @return the GalleryImagesClient object.
+ */
+ GalleryImagesClient getGalleryImages();
+
+ /**
+ * Gets the GalleryImageVersionsClient object to access its operations.
+ *
+ * @return the GalleryImageVersionsClient object.
+ */
+ GalleryImageVersionsClient getGalleryImageVersions();
+
+ /**
+ * Gets the GalleryApplicationsClient object to access its operations.
+ *
+ * @return the GalleryApplicationsClient object.
+ */
+ GalleryApplicationsClient getGalleryApplications();
+
+ /**
+ * Gets the GalleryApplicationVersionsClient object to access its operations.
+ *
+ * @return the GalleryApplicationVersionsClient object.
+ */
+ GalleryApplicationVersionsClient getGalleryApplicationVersions();
+
+ /**
+ * Gets the CloudServiceRoleInstancesClient object to access its operations.
+ *
+ * @return the CloudServiceRoleInstancesClient object.
+ */
+ CloudServiceRoleInstancesClient getCloudServiceRoleInstances();
+
+ /**
+ * Gets the CloudServiceRolesClient object to access its operations.
+ *
+ * @return the CloudServiceRolesClient object.
+ */
+ CloudServiceRolesClient getCloudServiceRoles();
+
+ /**
+ * Gets the CloudServicesClient object to access its operations.
+ *
+ * @return the CloudServicesClient object.
+ */
+ CloudServicesClient getCloudServices();
+
+ /**
+ * Gets the CloudServicesUpdateDomainsClient object to access its operations.
+ *
+ * @return the CloudServicesUpdateDomainsClient object.
+ */
+ CloudServicesUpdateDomainsClient getCloudServicesUpdateDomains();
+
+ /**
+ * Gets the CloudServiceOperatingSystemsClient object to access its operations.
+ *
+ * @return the CloudServiceOperatingSystemsClient object.
+ */
+ CloudServiceOperatingSystemsClient getCloudServiceOperatingSystems();
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/DedicatedHostGroupsClient.java b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/DedicatedHostGroupsClient.java
new file mode 100644
index 0000000000000..a4b3c6351e23f
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/DedicatedHostGroupsClient.java
@@ -0,0 +1,187 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.compute.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.util.Context;
+import com.azure.resourcemanager.compute.generated.fluent.models.DedicatedHostGroupInner;
+import com.azure.resourcemanager.compute.generated.models.DedicatedHostGroupUpdate;
+import com.azure.resourcemanager.compute.generated.models.InstanceViewTypes;
+
+/** An instance of this class provides access to all the operations defined in DedicatedHostGroupsClient. */
+public interface DedicatedHostGroupsClient {
+ /**
+ * Create or update a dedicated host group. For details of Dedicated Host and Dedicated Host Groups please see
+ * [Dedicated Host Documentation] (https://go.microsoft.com/fwlink/?linkid=2082596).
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param hostGroupName The name of the dedicated host group.
+ * @param parameters Parameters supplied to the Create Dedicated Host Group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the dedicated host group that the dedicated hosts should be assigned to.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DedicatedHostGroupInner createOrUpdate(
+ String resourceGroupName, String hostGroupName, DedicatedHostGroupInner parameters);
+
+ /**
+ * Create or update a dedicated host group. For details of Dedicated Host and Dedicated Host Groups please see
+ * [Dedicated Host Documentation] (https://go.microsoft.com/fwlink/?linkid=2082596).
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param hostGroupName The name of the dedicated host group.
+ * @param parameters Parameters supplied to the Create Dedicated Host Group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the dedicated host group that the dedicated hosts should be assigned to.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateWithResponse(
+ String resourceGroupName, String hostGroupName, DedicatedHostGroupInner parameters, Context context);
+
+ /**
+ * Update an dedicated host group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param hostGroupName The name of the dedicated host group.
+ * @param parameters Parameters supplied to the Update Dedicated Host Group operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the dedicated host group that the dedicated hosts should be assigned to.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DedicatedHostGroupInner update(String resourceGroupName, String hostGroupName, DedicatedHostGroupUpdate parameters);
+
+ /**
+ * Update an dedicated host group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param hostGroupName The name of the dedicated host group.
+ * @param parameters Parameters supplied to the Update Dedicated Host Group operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the dedicated host group that the dedicated hosts should be assigned to.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response updateWithResponse(
+ String resourceGroupName, String hostGroupName, DedicatedHostGroupUpdate parameters, Context context);
+
+ /**
+ * Delete a dedicated host group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param hostGroupName The name of the dedicated host group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 hostGroupName);
+
+ /**
+ * Delete a dedicated host group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param hostGroupName The name of the dedicated host group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(String resourceGroupName, String hostGroupName, Context context);
+
+ /**
+ * Retrieves information about a dedicated host group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param hostGroupName The name of the dedicated host group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the dedicated host group that the dedicated hosts should be assigned to.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DedicatedHostGroupInner getByResourceGroup(String resourceGroupName, String hostGroupName);
+
+ /**
+ * Retrieves information about a dedicated host group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param hostGroupName The name of the dedicated host group.
+ * @param expand The expand expression to apply on the operation. The response shows the list of instance view of
+ * the dedicated hosts under the dedicated host group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the dedicated host group that the dedicated hosts should be assigned to.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName, String hostGroupName, InstanceViewTypes expand, Context context);
+
+ /**
+ * Lists all of the dedicated host groups in the specified resource group. Use the nextLink property in the response
+ * to get the next page of dedicated host groups.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List Dedicated Host Group with resource group response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Lists all of the dedicated host groups in the specified resource group. Use the nextLink property in the response
+ * to get the next page of dedicated host groups.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List Dedicated Host Group with resource group response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * Lists all of the dedicated host groups in the subscription. Use the nextLink property in the response to get the
+ * next page of dedicated host groups.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List Dedicated Host Group with resource group response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Lists all of the dedicated host groups in the subscription. Use the nextLink property in the response to get the
+ * next page of dedicated host groups.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List Dedicated Host Group with resource group response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/DedicatedHostsClient.java b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/DedicatedHostsClient.java
new file mode 100644
index 0000000000000..00b2ec06a9e3d
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/DedicatedHostsClient.java
@@ -0,0 +1,284 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.compute.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.compute.generated.fluent.models.DedicatedHostInner;
+import com.azure.resourcemanager.compute.generated.models.DedicatedHostUpdate;
+import com.azure.resourcemanager.compute.generated.models.InstanceViewTypes;
+
+/** An instance of this class provides access to all the operations defined in DedicatedHostsClient. */
+public interface DedicatedHostsClient {
+ /**
+ * Create or update a dedicated host .
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param hostGroupName The name of the dedicated host group.
+ * @param hostname The name of the dedicated host .
+ * @param parameters Parameters supplied to the Create Dedicated Host.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the Dedicated host.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, DedicatedHostInner> beginCreateOrUpdate(
+ String resourceGroupName, String hostGroupName, String hostname, DedicatedHostInner parameters);
+
+ /**
+ * Create or update a dedicated host .
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param hostGroupName The name of the dedicated host group.
+ * @param hostname The name of the dedicated host .
+ * @param parameters Parameters supplied to the Create Dedicated Host.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the Dedicated host.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, DedicatedHostInner> beginCreateOrUpdate(
+ String resourceGroupName,
+ String hostGroupName,
+ String hostname,
+ DedicatedHostInner parameters,
+ Context context);
+
+ /**
+ * Create or update a dedicated host .
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param hostGroupName The name of the dedicated host group.
+ * @param hostname The name of the dedicated host .
+ * @param parameters Parameters supplied to the Create Dedicated Host.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the Dedicated host.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DedicatedHostInner createOrUpdate(
+ String resourceGroupName, String hostGroupName, String hostname, DedicatedHostInner parameters);
+
+ /**
+ * Create or update a dedicated host .
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param hostGroupName The name of the dedicated host group.
+ * @param hostname The name of the dedicated host .
+ * @param parameters Parameters supplied to the Create Dedicated Host.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the Dedicated host.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DedicatedHostInner createOrUpdate(
+ String resourceGroupName,
+ String hostGroupName,
+ String hostname,
+ DedicatedHostInner parameters,
+ Context context);
+
+ /**
+ * Update an dedicated host .
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param hostGroupName The name of the dedicated host group.
+ * @param hostname The name of the dedicated host .
+ * @param parameters Parameters supplied to the Update Dedicated Host operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the Dedicated host.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, DedicatedHostInner> beginUpdate(
+ String resourceGroupName, String hostGroupName, String hostname, DedicatedHostUpdate parameters);
+
+ /**
+ * Update an dedicated host .
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param hostGroupName The name of the dedicated host group.
+ * @param hostname The name of the dedicated host .
+ * @param parameters Parameters supplied to the Update Dedicated Host operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the Dedicated host.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, DedicatedHostInner> beginUpdate(
+ String resourceGroupName,
+ String hostGroupName,
+ String hostname,
+ DedicatedHostUpdate parameters,
+ Context context);
+
+ /**
+ * Update an dedicated host .
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param hostGroupName The name of the dedicated host group.
+ * @param hostname The name of the dedicated host .
+ * @param parameters Parameters supplied to the Update Dedicated Host operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the Dedicated host.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DedicatedHostInner update(
+ String resourceGroupName, String hostGroupName, String hostname, DedicatedHostUpdate parameters);
+
+ /**
+ * Update an dedicated host .
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param hostGroupName The name of the dedicated host group.
+ * @param hostname The name of the dedicated host .
+ * @param parameters Parameters supplied to the Update Dedicated Host operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the Dedicated host.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DedicatedHostInner update(
+ String resourceGroupName,
+ String hostGroupName,
+ String hostname,
+ DedicatedHostUpdate parameters,
+ Context context);
+
+ /**
+ * Delete a dedicated host.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param hostGroupName The name of the dedicated host group.
+ * @param hostname The name of the dedicated host.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String hostGroupName, String hostname);
+
+ /**
+ * Delete a dedicated host.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param hostGroupName The name of the dedicated host group.
+ * @param hostname The name of the dedicated host.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String hostGroupName, String hostname, Context context);
+
+ /**
+ * Delete a dedicated host.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param hostGroupName The name of the dedicated host group.
+ * @param hostname The name of the dedicated host.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 hostGroupName, String hostname);
+
+ /**
+ * Delete a dedicated host.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param hostGroupName The name of the dedicated host group.
+ * @param hostname The name of the dedicated host.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 hostGroupName, String hostname, Context context);
+
+ /**
+ * Retrieves information about a dedicated host.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param hostGroupName The name of the dedicated host group.
+ * @param hostname The name of the dedicated host.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the Dedicated host.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DedicatedHostInner get(String resourceGroupName, String hostGroupName, String hostname);
+
+ /**
+ * Retrieves information about a dedicated host.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param hostGroupName The name of the dedicated host group.
+ * @param hostname The name of the dedicated host.
+ * @param expand The expand expression to apply on the operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the Dedicated host.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String hostGroupName, String hostname, InstanceViewTypes expand, Context context);
+
+ /**
+ * Lists all of the dedicated hosts in the specified dedicated host group. Use the nextLink property in the response
+ * to get the next page of dedicated hosts.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param hostGroupName The name of the dedicated host group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list dedicated host operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByHostGroup(String resourceGroupName, String hostGroupName);
+
+ /**
+ * Lists all of the dedicated hosts in the specified dedicated host group. Use the nextLink property in the response
+ * to get the next page of dedicated hosts.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param hostGroupName The name of the dedicated host group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list dedicated host operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByHostGroup(String resourceGroupName, String hostGroupName, Context context);
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/DiskAccessesClient.java b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/DiskAccessesClient.java
new file mode 100644
index 0000000000000..477c97fc7d6b5
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/DiskAccessesClient.java
@@ -0,0 +1,593 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.compute.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.compute.generated.fluent.models.DiskAccessInner;
+import com.azure.resourcemanager.compute.generated.fluent.models.PrivateEndpointConnectionInner;
+import com.azure.resourcemanager.compute.generated.fluent.models.PrivateLinkResourceListResultInner;
+import com.azure.resourcemanager.compute.generated.models.DiskAccessUpdate;
+
+/** An instance of this class provides access to all the operations defined in DiskAccessesClient. */
+public interface DiskAccessesClient {
+ /**
+ * Creates or updates a disk access resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskAccessName The name of the disk access resource that is being created. The name can't be changed after
+ * the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum
+ * name length is 80 characters.
+ * @param diskAccess disk access object supplied in the body of the Put disk access operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return disk access resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, DiskAccessInner> beginCreateOrUpdate(
+ String resourceGroupName, String diskAccessName, DiskAccessInner diskAccess);
+
+ /**
+ * Creates or updates a disk access resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskAccessName The name of the disk access resource that is being created. The name can't be changed after
+ * the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum
+ * name length is 80 characters.
+ * @param diskAccess disk access object supplied in the body of the Put disk access operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return disk access resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, DiskAccessInner> beginCreateOrUpdate(
+ String resourceGroupName, String diskAccessName, DiskAccessInner diskAccess, Context context);
+
+ /**
+ * Creates or updates a disk access resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskAccessName The name of the disk access resource that is being created. The name can't be changed after
+ * the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum
+ * name length is 80 characters.
+ * @param diskAccess disk access object supplied in the body of the Put disk access operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return disk access resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DiskAccessInner createOrUpdate(String resourceGroupName, String diskAccessName, DiskAccessInner diskAccess);
+
+ /**
+ * Creates or updates a disk access resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskAccessName The name of the disk access resource that is being created. The name can't be changed after
+ * the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum
+ * name length is 80 characters.
+ * @param diskAccess disk access object supplied in the body of the Put disk access operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return disk access resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DiskAccessInner createOrUpdate(
+ String resourceGroupName, String diskAccessName, DiskAccessInner diskAccess, Context context);
+
+ /**
+ * Updates (patches) a disk access resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskAccessName The name of the disk access resource that is being created. The name can't be changed after
+ * the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum
+ * name length is 80 characters.
+ * @param diskAccess disk access object supplied in the body of the Patch disk access operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return disk access resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, DiskAccessInner> beginUpdate(
+ String resourceGroupName, String diskAccessName, DiskAccessUpdate diskAccess);
+
+ /**
+ * Updates (patches) a disk access resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskAccessName The name of the disk access resource that is being created. The name can't be changed after
+ * the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum
+ * name length is 80 characters.
+ * @param diskAccess disk access object supplied in the body of the Patch disk access operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return disk access resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, DiskAccessInner> beginUpdate(
+ String resourceGroupName, String diskAccessName, DiskAccessUpdate diskAccess, Context context);
+
+ /**
+ * Updates (patches) a disk access resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskAccessName The name of the disk access resource that is being created. The name can't be changed after
+ * the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum
+ * name length is 80 characters.
+ * @param diskAccess disk access object supplied in the body of the Patch disk access operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return disk access resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DiskAccessInner update(String resourceGroupName, String diskAccessName, DiskAccessUpdate diskAccess);
+
+ /**
+ * Updates (patches) a disk access resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskAccessName The name of the disk access resource that is being created. The name can't be changed after
+ * the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum
+ * name length is 80 characters.
+ * @param diskAccess disk access object supplied in the body of the Patch disk access operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return disk access resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DiskAccessInner update(
+ String resourceGroupName, String diskAccessName, DiskAccessUpdate diskAccess, Context context);
+
+ /**
+ * Gets information about a disk access resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskAccessName The name of the disk access resource that is being created. The name can't be changed after
+ * the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum
+ * name length is 80 characters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return information about a disk access resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DiskAccessInner getByResourceGroup(String resourceGroupName, String diskAccessName);
+
+ /**
+ * Gets information about a disk access resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskAccessName The name of the disk access resource that is being created. The name can't be changed after
+ * the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum
+ * name length is 80 characters.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return information about a disk access resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName, String diskAccessName, Context context);
+
+ /**
+ * Deletes a disk access resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskAccessName The name of the disk access resource that is being created. The name can't be changed after
+ * the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum
+ * name length is 80 characters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String diskAccessName);
+
+ /**
+ * Deletes a disk access resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskAccessName The name of the disk access resource that is being created. The name can't be changed after
+ * the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum
+ * name length is 80 characters.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String diskAccessName, Context context);
+
+ /**
+ * Deletes a disk access resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskAccessName The name of the disk access resource that is being created. The name can't be changed after
+ * the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum
+ * name length is 80 characters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException 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 diskAccessName);
+
+ /**
+ * Deletes a disk access resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskAccessName The name of the disk access resource that is being created. The name can't be changed after
+ * the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum
+ * name length is 80 characters.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException 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 diskAccessName, Context context);
+
+ /**
+ * Lists all the disk access resources under a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List disk access operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Lists all the disk access resources under a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List disk access operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * Lists all the disk access resources under a subscription.
+ *
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List disk access operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Lists all the disk access resources under a subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List disk access operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+
+ /**
+ * Gets the private link resources possible under disk access resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskAccessName The name of the disk access resource that is being created. The name can't be changed after
+ * the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum
+ * name length is 80 characters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the private link resources possible under disk access resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ PrivateLinkResourceListResultInner getPrivateLinkResources(String resourceGroupName, String diskAccessName);
+
+ /**
+ * Gets the private link resources possible under disk access resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskAccessName The name of the disk access resource that is being created. The name can't be changed after
+ * the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum
+ * name length is 80 characters.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the private link resources possible under disk access resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getPrivateLinkResourcesWithResponse(
+ String resourceGroupName, String diskAccessName, Context context);
+
+ /**
+ * Approve or reject a private endpoint connection under disk access resource, this can't be used to create a new
+ * private endpoint connection.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskAccessName The name of the disk access resource that is being created. The name can't be changed after
+ * the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum
+ * name length is 80 characters.
+ * @param privateEndpointConnectionName The name of the private endpoint connection.
+ * @param privateEndpointConnection private endpoint connection object supplied in the body of the Put private
+ * endpoint connection operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the Private Endpoint Connection resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, PrivateEndpointConnectionInner>
+ beginUpdateAPrivateEndpointConnection(
+ String resourceGroupName,
+ String diskAccessName,
+ String privateEndpointConnectionName,
+ PrivateEndpointConnectionInner privateEndpointConnection);
+
+ /**
+ * Approve or reject a private endpoint connection under disk access resource, this can't be used to create a new
+ * private endpoint connection.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskAccessName The name of the disk access resource that is being created. The name can't be changed after
+ * the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum
+ * name length is 80 characters.
+ * @param privateEndpointConnectionName The name of the private endpoint connection.
+ * @param privateEndpointConnection private endpoint connection object supplied in the body of the Put private
+ * endpoint connection operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the Private Endpoint Connection resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, PrivateEndpointConnectionInner>
+ beginUpdateAPrivateEndpointConnection(
+ String resourceGroupName,
+ String diskAccessName,
+ String privateEndpointConnectionName,
+ PrivateEndpointConnectionInner privateEndpointConnection,
+ Context context);
+
+ /**
+ * Approve or reject a private endpoint connection under disk access resource, this can't be used to create a new
+ * private endpoint connection.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskAccessName The name of the disk access resource that is being created. The name can't be changed after
+ * the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum
+ * name length is 80 characters.
+ * @param privateEndpointConnectionName The name of the private endpoint connection.
+ * @param privateEndpointConnection private endpoint connection object supplied in the body of the Put private
+ * endpoint connection operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the Private Endpoint Connection resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ PrivateEndpointConnectionInner updateAPrivateEndpointConnection(
+ String resourceGroupName,
+ String diskAccessName,
+ String privateEndpointConnectionName,
+ PrivateEndpointConnectionInner privateEndpointConnection);
+
+ /**
+ * Approve or reject a private endpoint connection under disk access resource, this can't be used to create a new
+ * private endpoint connection.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskAccessName The name of the disk access resource that is being created. The name can't be changed after
+ * the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum
+ * name length is 80 characters.
+ * @param privateEndpointConnectionName The name of the private endpoint connection.
+ * @param privateEndpointConnection private endpoint connection object supplied in the body of the Put private
+ * endpoint connection operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the Private Endpoint Connection resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ PrivateEndpointConnectionInner updateAPrivateEndpointConnection(
+ String resourceGroupName,
+ String diskAccessName,
+ String privateEndpointConnectionName,
+ PrivateEndpointConnectionInner privateEndpointConnection,
+ Context context);
+
+ /**
+ * Gets information about a private endpoint connection under a disk access resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskAccessName The name of the disk access resource that is being created. The name can't be changed after
+ * the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum
+ * name length is 80 characters.
+ * @param privateEndpointConnectionName The name of the private endpoint connection.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return information about a private endpoint connection under a disk access resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ PrivateEndpointConnectionInner getAPrivateEndpointConnection(
+ String resourceGroupName, String diskAccessName, String privateEndpointConnectionName);
+
+ /**
+ * Gets information about a private endpoint connection under a disk access resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskAccessName The name of the disk access resource that is being created. The name can't be changed after
+ * the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum
+ * name length is 80 characters.
+ * @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.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return information about a private endpoint connection under a disk access resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getAPrivateEndpointConnectionWithResponse(
+ String resourceGroupName, String diskAccessName, String privateEndpointConnectionName, Context context);
+
+ /**
+ * Deletes a private endpoint connection under a disk access resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskAccessName The name of the disk access resource that is being created. The name can't be changed after
+ * the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum
+ * name length is 80 characters.
+ * @param privateEndpointConnectionName The name of the private endpoint connection.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDeleteAPrivateEndpointConnection(
+ String resourceGroupName, String diskAccessName, String privateEndpointConnectionName);
+
+ /**
+ * Deletes a private endpoint connection under a disk access resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskAccessName The name of the disk access resource that is being created. The name can't be changed after
+ * the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum
+ * name length is 80 characters.
+ * @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.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDeleteAPrivateEndpointConnection(
+ String resourceGroupName, String diskAccessName, String privateEndpointConnectionName, Context context);
+
+ /**
+ * Deletes a private endpoint connection under a disk access resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskAccessName The name of the disk access resource that is being created. The name can't be changed after
+ * the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum
+ * name length is 80 characters.
+ * @param privateEndpointConnectionName The name of the private endpoint connection.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException 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 deleteAPrivateEndpointConnection(
+ String resourceGroupName, String diskAccessName, String privateEndpointConnectionName);
+
+ /**
+ * Deletes a private endpoint connection under a disk access resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskAccessName The name of the disk access resource that is being created. The name can't be changed after
+ * the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum
+ * name length is 80 characters.
+ * @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.resourcemanager.compute.generated.models.ApiErrorException 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 deleteAPrivateEndpointConnection(
+ String resourceGroupName, String diskAccessName, String privateEndpointConnectionName, Context context);
+
+ /**
+ * List information about private endpoint connections under a disk access resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskAccessName The name of the disk access resource that is being created. The name can't be changed after
+ * the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum
+ * name length is 80 characters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of private link resources.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listPrivateEndpointConnections(
+ String resourceGroupName, String diskAccessName);
+
+ /**
+ * List information about private endpoint connections under a disk access resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskAccessName The name of the disk access resource that is being created. The name can't be changed after
+ * the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum
+ * name length is 80 characters.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of private link resources.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listPrivateEndpointConnections(
+ String resourceGroupName, String diskAccessName, Context context);
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/DiskEncryptionSetsClient.java b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/DiskEncryptionSetsClient.java
new file mode 100644
index 0000000000000..25e54f4ac6991
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/DiskEncryptionSetsClient.java
@@ -0,0 +1,370 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.compute.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.compute.generated.fluent.models.DiskEncryptionSetInner;
+import com.azure.resourcemanager.compute.generated.models.DiskEncryptionSetUpdate;
+
+/** An instance of this class provides access to all the operations defined in DiskEncryptionSetsClient. */
+public interface DiskEncryptionSetsClient {
+ /**
+ * Creates or updates a disk encryption set.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskEncryptionSetName The name of the disk encryption set that is being created. The name can't be changed
+ * after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The
+ * maximum name length is 80 characters.
+ * @param diskEncryptionSet disk encryption set object supplied in the body of the Put disk encryption set
+ * operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return disk encryption set resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, DiskEncryptionSetInner> beginCreateOrUpdate(
+ String resourceGroupName, String diskEncryptionSetName, DiskEncryptionSetInner diskEncryptionSet);
+
+ /**
+ * Creates or updates a disk encryption set.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskEncryptionSetName The name of the disk encryption set that is being created. The name can't be changed
+ * after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The
+ * maximum name length is 80 characters.
+ * @param diskEncryptionSet disk encryption set object supplied in the body of the Put disk encryption set
+ * operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return disk encryption set resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, DiskEncryptionSetInner> beginCreateOrUpdate(
+ String resourceGroupName,
+ String diskEncryptionSetName,
+ DiskEncryptionSetInner diskEncryptionSet,
+ Context context);
+
+ /**
+ * Creates or updates a disk encryption set.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskEncryptionSetName The name of the disk encryption set that is being created. The name can't be changed
+ * after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The
+ * maximum name length is 80 characters.
+ * @param diskEncryptionSet disk encryption set object supplied in the body of the Put disk encryption set
+ * operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return disk encryption set resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DiskEncryptionSetInner createOrUpdate(
+ String resourceGroupName, String diskEncryptionSetName, DiskEncryptionSetInner diskEncryptionSet);
+
+ /**
+ * Creates or updates a disk encryption set.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskEncryptionSetName The name of the disk encryption set that is being created. The name can't be changed
+ * after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The
+ * maximum name length is 80 characters.
+ * @param diskEncryptionSet disk encryption set object supplied in the body of the Put disk encryption set
+ * operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return disk encryption set resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DiskEncryptionSetInner createOrUpdate(
+ String resourceGroupName,
+ String diskEncryptionSetName,
+ DiskEncryptionSetInner diskEncryptionSet,
+ Context context);
+
+ /**
+ * Updates (patches) a disk encryption set.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskEncryptionSetName The name of the disk encryption set that is being created. The name can't be changed
+ * after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The
+ * maximum name length is 80 characters.
+ * @param diskEncryptionSet disk encryption set object supplied in the body of the Patch disk encryption set
+ * operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return disk encryption set resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, DiskEncryptionSetInner> beginUpdate(
+ String resourceGroupName, String diskEncryptionSetName, DiskEncryptionSetUpdate diskEncryptionSet);
+
+ /**
+ * Updates (patches) a disk encryption set.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskEncryptionSetName The name of the disk encryption set that is being created. The name can't be changed
+ * after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The
+ * maximum name length is 80 characters.
+ * @param diskEncryptionSet disk encryption set object supplied in the body of the Patch disk encryption set
+ * operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return disk encryption set resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, DiskEncryptionSetInner> beginUpdate(
+ String resourceGroupName,
+ String diskEncryptionSetName,
+ DiskEncryptionSetUpdate diskEncryptionSet,
+ Context context);
+
+ /**
+ * Updates (patches) a disk encryption set.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskEncryptionSetName The name of the disk encryption set that is being created. The name can't be changed
+ * after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The
+ * maximum name length is 80 characters.
+ * @param diskEncryptionSet disk encryption set object supplied in the body of the Patch disk encryption set
+ * operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return disk encryption set resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DiskEncryptionSetInner update(
+ String resourceGroupName, String diskEncryptionSetName, DiskEncryptionSetUpdate diskEncryptionSet);
+
+ /**
+ * Updates (patches) a disk encryption set.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskEncryptionSetName The name of the disk encryption set that is being created. The name can't be changed
+ * after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The
+ * maximum name length is 80 characters.
+ * @param diskEncryptionSet disk encryption set object supplied in the body of the Patch disk encryption set
+ * operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return disk encryption set resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DiskEncryptionSetInner update(
+ String resourceGroupName,
+ String diskEncryptionSetName,
+ DiskEncryptionSetUpdate diskEncryptionSet,
+ Context context);
+
+ /**
+ * Gets information about a disk encryption set.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskEncryptionSetName The name of the disk encryption set that is being created. The name can't be changed
+ * after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The
+ * maximum name length is 80 characters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return information about a disk encryption set.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DiskEncryptionSetInner getByResourceGroup(String resourceGroupName, String diskEncryptionSetName);
+
+ /**
+ * Gets information about a disk encryption set.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskEncryptionSetName The name of the disk encryption set that is being created. The name can't be changed
+ * after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The
+ * maximum name length is 80 characters.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return information about a disk encryption set.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName, String diskEncryptionSetName, Context context);
+
+ /**
+ * Deletes a disk encryption set.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskEncryptionSetName The name of the disk encryption set that is being created. The name can't be changed
+ * after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The
+ * maximum name length is 80 characters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String diskEncryptionSetName);
+
+ /**
+ * Deletes a disk encryption set.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskEncryptionSetName The name of the disk encryption set that is being created. The name can't be changed
+ * after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The
+ * maximum name length is 80 characters.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String diskEncryptionSetName, Context context);
+
+ /**
+ * Deletes a disk encryption set.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskEncryptionSetName The name of the disk encryption set that is being created. The name can't be changed
+ * after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The
+ * maximum name length is 80 characters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException 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 diskEncryptionSetName);
+
+ /**
+ * Deletes a disk encryption set.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskEncryptionSetName The name of the disk encryption set that is being created. The name can't be changed
+ * after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The
+ * maximum name length is 80 characters.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException 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 diskEncryptionSetName, Context context);
+
+ /**
+ * Lists all the disk encryption sets under a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List disk encryption set operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Lists all the disk encryption sets under a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List disk encryption set operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * Lists all the disk encryption sets under a subscription.
+ *
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List disk encryption set operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Lists all the disk encryption sets under a subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List disk encryption set operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+
+ /**
+ * Lists all resources that are encrypted with this disk encryption set.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskEncryptionSetName The name of the disk encryption set that is being created. The name can't be changed
+ * after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The
+ * maximum name length is 80 characters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List resources which are encrypted with the disk encryption set.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listAssociatedResources(String resourceGroupName, String diskEncryptionSetName);
+
+ /**
+ * Lists all resources that are encrypted with this disk encryption set.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskEncryptionSetName The name of the disk encryption set that is being created. The name can't be changed
+ * after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The
+ * maximum name length is 80 characters.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List resources which are encrypted with the disk encryption set.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listAssociatedResources(
+ String resourceGroupName, String diskEncryptionSetName, Context context);
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/DiskRestorePointsClient.java b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/DiskRestorePointsClient.java
new file mode 100644
index 0000000000000..455dc68e0bf1d
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/DiskRestorePointsClient.java
@@ -0,0 +1,100 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.compute.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.util.Context;
+import com.azure.resourcemanager.compute.generated.fluent.models.DiskRestorePointInner;
+
+/** An instance of this class provides access to all the operations defined in DiskRestorePointsClient. */
+public interface DiskRestorePointsClient {
+ /**
+ * Get disk restorePoint resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param restorePointCollectionName The name of the restore point collection that the disk restore point belongs.
+ * Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters.
+ * @param vmRestorePointName The name of the vm restore point that the disk disk restore point belongs. Supported
+ * characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters.
+ * @param diskRestorePointName The name of the disk restore point created. Supported characters for the name are
+ * a-z, A-Z, 0-9 and _. The maximum name length is 80 characters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return disk restorePoint resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DiskRestorePointInner get(
+ String resourceGroupName,
+ String restorePointCollectionName,
+ String vmRestorePointName,
+ String diskRestorePointName);
+
+ /**
+ * Get disk restorePoint resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param restorePointCollectionName The name of the restore point collection that the disk restore point belongs.
+ * Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters.
+ * @param vmRestorePointName The name of the vm restore point that the disk disk restore point belongs. Supported
+ * characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters.
+ * @param diskRestorePointName The name of the disk restore point created. Supported characters for the name are
+ * a-z, A-Z, 0-9 and _. The maximum name length is 80 characters.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return disk restorePoint resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName,
+ String restorePointCollectionName,
+ String vmRestorePointName,
+ String diskRestorePointName,
+ Context context);
+
+ /**
+ * Lists diskRestorePoints under a vmRestorePoint.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param restorePointCollectionName The name of the restore point collection that the disk restore point belongs.
+ * Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters.
+ * @param vmRestorePointName The name of the vm restore point that the disk disk restore point belongs. Supported
+ * characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List Disk Restore Points operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByRestorePoint(
+ String resourceGroupName, String restorePointCollectionName, String vmRestorePointName);
+
+ /**
+ * Lists diskRestorePoints under a vmRestorePoint.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param restorePointCollectionName The name of the restore point collection that the disk restore point belongs.
+ * Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters.
+ * @param vmRestorePointName The name of the vm restore point that the disk disk restore point belongs. Supported
+ * characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List Disk Restore Points operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByRestorePoint(
+ String resourceGroupName, String restorePointCollectionName, String vmRestorePointName, Context context);
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/DisksClient.java b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/DisksClient.java
new file mode 100644
index 0000000000000..49ce8a77530c9
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/DisksClient.java
@@ -0,0 +1,401 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.compute.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.compute.generated.fluent.models.AccessUriInner;
+import com.azure.resourcemanager.compute.generated.fluent.models.DiskInner;
+import com.azure.resourcemanager.compute.generated.models.DiskUpdate;
+import com.azure.resourcemanager.compute.generated.models.GrantAccessData;
+
+/** An instance of this class provides access to all the operations defined in DisksClient. */
+public interface DisksClient {
+ /**
+ * Creates or updates a disk.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskName The name of the managed disk that is being created. The name can't be changed after the disk is
+ * created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters.
+ * @param disk Disk object supplied in the body of the Put disk operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return disk resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, DiskInner> beginCreateOrUpdate(
+ String resourceGroupName, String diskName, DiskInner disk);
+
+ /**
+ * Creates or updates a disk.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskName The name of the managed disk that is being created. The name can't be changed after the disk is
+ * created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters.
+ * @param disk Disk object supplied in the body of the Put disk operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return disk resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, DiskInner> beginCreateOrUpdate(
+ String resourceGroupName, String diskName, DiskInner disk, Context context);
+
+ /**
+ * Creates or updates a disk.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskName The name of the managed disk that is being created. The name can't be changed after the disk is
+ * created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters.
+ * @param disk Disk object supplied in the body of the Put disk operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return disk resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DiskInner createOrUpdate(String resourceGroupName, String diskName, DiskInner disk);
+
+ /**
+ * Creates or updates a disk.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskName The name of the managed disk that is being created. The name can't be changed after the disk is
+ * created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters.
+ * @param disk Disk object supplied in the body of the Put disk operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return disk resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DiskInner createOrUpdate(String resourceGroupName, String diskName, DiskInner disk, Context context);
+
+ /**
+ * Updates (patches) a disk.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskName The name of the managed disk that is being created. The name can't be changed after the disk is
+ * created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters.
+ * @param disk Disk object supplied in the body of the Patch disk operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return disk resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, DiskInner> beginUpdate(
+ String resourceGroupName, String diskName, DiskUpdate disk);
+
+ /**
+ * Updates (patches) a disk.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskName The name of the managed disk that is being created. The name can't be changed after the disk is
+ * created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters.
+ * @param disk Disk object supplied in the body of the Patch disk operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return disk resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, DiskInner> beginUpdate(
+ String resourceGroupName, String diskName, DiskUpdate disk, Context context);
+
+ /**
+ * Updates (patches) a disk.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskName The name of the managed disk that is being created. The name can't be changed after the disk is
+ * created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters.
+ * @param disk Disk object supplied in the body of the Patch disk operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return disk resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DiskInner update(String resourceGroupName, String diskName, DiskUpdate disk);
+
+ /**
+ * Updates (patches) a disk.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskName The name of the managed disk that is being created. The name can't be changed after the disk is
+ * created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters.
+ * @param disk Disk object supplied in the body of the Patch disk operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return disk resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DiskInner update(String resourceGroupName, String diskName, DiskUpdate disk, Context context);
+
+ /**
+ * Gets information about a disk.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskName The name of the managed disk that is being created. The name can't be changed after the disk is
+ * created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return information about a disk.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DiskInner getByResourceGroup(String resourceGroupName, String diskName);
+
+ /**
+ * Gets information about a disk.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskName The name of the managed disk that is being created. The name can't be changed after the disk is
+ * created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return information about a disk.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(String resourceGroupName, String diskName, Context context);
+
+ /**
+ * Deletes a disk.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskName The name of the managed disk that is being created. The name can't be changed after the disk is
+ * created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String diskName);
+
+ /**
+ * Deletes a disk.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskName The name of the managed disk that is being created. The name can't be changed after the disk is
+ * created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String diskName, Context context);
+
+ /**
+ * Deletes a disk.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskName The name of the managed disk that is being created. The name can't be changed after the disk is
+ * created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 diskName);
+
+ /**
+ * Deletes a disk.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskName The name of the managed disk that is being created. The name can't be changed after the disk is
+ * created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 diskName, Context context);
+
+ /**
+ * Lists all the disks under a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List Disks operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Lists all the disks under a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List Disks operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * Lists all the disks under a subscription.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List Disks operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Lists all the disks under a subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List Disks operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+
+ /**
+ * Grants access to a disk.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskName The name of the managed disk that is being created. The name can't be changed after the disk is
+ * created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters.
+ * @param grantAccessData Access data object supplied in the body of the get disk access operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 disk access SAS uri.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, AccessUriInner> beginGrantAccess(
+ String resourceGroupName, String diskName, GrantAccessData grantAccessData);
+
+ /**
+ * Grants access to a disk.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskName The name of the managed disk that is being created. The name can't be changed after the disk is
+ * created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters.
+ * @param grantAccessData Access data object supplied in the body of the get disk access operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 disk access SAS uri.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, AccessUriInner> beginGrantAccess(
+ String resourceGroupName, String diskName, GrantAccessData grantAccessData, Context context);
+
+ /**
+ * Grants access to a disk.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskName The name of the managed disk that is being created. The name can't be changed after the disk is
+ * created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters.
+ * @param grantAccessData Access data object supplied in the body of the get disk access operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 disk access SAS uri.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AccessUriInner grantAccess(String resourceGroupName, String diskName, GrantAccessData grantAccessData);
+
+ /**
+ * Grants access to a disk.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskName The name of the managed disk that is being created. The name can't be changed after the disk is
+ * created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters.
+ * @param grantAccessData Access data object supplied in the body of the get disk access operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 disk access SAS uri.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AccessUriInner grantAccess(
+ String resourceGroupName, String diskName, GrantAccessData grantAccessData, Context context);
+
+ /**
+ * Revokes access to a disk.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskName The name of the managed disk that is being created. The name can't be changed after the disk is
+ * created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginRevokeAccess(String resourceGroupName, String diskName);
+
+ /**
+ * Revokes access to a disk.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskName The name of the managed disk that is being created. The name can't be changed after the disk is
+ * created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginRevokeAccess(String resourceGroupName, String diskName, Context context);
+
+ /**
+ * Revokes access to a disk.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskName The name of the managed disk that is being created. The name can't be changed after the disk is
+ * created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 revokeAccess(String resourceGroupName, String diskName);
+
+ /**
+ * Revokes access to a disk.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param diskName The name of the managed disk that is being created. The name can't be changed after the disk is
+ * created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 revokeAccess(String resourceGroupName, String diskName, Context context);
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/GalleriesClient.java b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/GalleriesClient.java
new file mode 100644
index 0000000000000..e2733618a6a88
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/GalleriesClient.java
@@ -0,0 +1,291 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.compute.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.compute.generated.fluent.models.GalleryInner;
+import com.azure.resourcemanager.compute.generated.models.GalleryUpdate;
+
+/** An instance of this class provides access to all the operations defined in GalleriesClient. */
+public interface GalleriesClient {
+ /**
+ * Create or update a Shared Image Gallery.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Image Gallery. The allowed characters are alphabets and numbers with
+ * dots and periods allowed in the middle. The maximum length is 80 characters.
+ * @param gallery Parameters supplied to the create or update Shared Image Gallery operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the Shared Image Gallery that you want to create or update.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, GalleryInner> beginCreateOrUpdate(
+ String resourceGroupName, String galleryName, GalleryInner gallery);
+
+ /**
+ * Create or update a Shared Image Gallery.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Image Gallery. The allowed characters are alphabets and numbers with
+ * dots and periods allowed in the middle. The maximum length is 80 characters.
+ * @param gallery Parameters supplied to the create or update Shared Image Gallery operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the Shared Image Gallery that you want to create or update.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, GalleryInner> beginCreateOrUpdate(
+ String resourceGroupName, String galleryName, GalleryInner gallery, Context context);
+
+ /**
+ * Create or update a Shared Image Gallery.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Image Gallery. The allowed characters are alphabets and numbers with
+ * dots and periods allowed in the middle. The maximum length is 80 characters.
+ * @param gallery Parameters supplied to the create or update Shared Image Gallery operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the Shared Image Gallery that you want to create or update.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ GalleryInner createOrUpdate(String resourceGroupName, String galleryName, GalleryInner gallery);
+
+ /**
+ * Create or update a Shared Image Gallery.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Image Gallery. The allowed characters are alphabets and numbers with
+ * dots and periods allowed in the middle. The maximum length is 80 characters.
+ * @param gallery Parameters supplied to the create or update Shared Image Gallery operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the Shared Image Gallery that you want to create or update.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ GalleryInner createOrUpdate(String resourceGroupName, String galleryName, GalleryInner gallery, Context context);
+
+ /**
+ * Update a Shared Image Gallery.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Image Gallery. The allowed characters are alphabets and numbers with
+ * dots and periods allowed in the middle. The maximum length is 80 characters.
+ * @param gallery Parameters supplied to the update Shared Image Gallery operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the Shared Image Gallery that you want to create or update.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, GalleryInner> beginUpdate(
+ String resourceGroupName, String galleryName, GalleryUpdate gallery);
+
+ /**
+ * Update a Shared Image Gallery.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Image Gallery. The allowed characters are alphabets and numbers with
+ * dots and periods allowed in the middle. The maximum length is 80 characters.
+ * @param gallery Parameters supplied to the update Shared Image Gallery operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the Shared Image Gallery that you want to create or update.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, GalleryInner> beginUpdate(
+ String resourceGroupName, String galleryName, GalleryUpdate gallery, Context context);
+
+ /**
+ * Update a Shared Image Gallery.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Image Gallery. The allowed characters are alphabets and numbers with
+ * dots and periods allowed in the middle. The maximum length is 80 characters.
+ * @param gallery Parameters supplied to the update Shared Image Gallery operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the Shared Image Gallery that you want to create or update.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ GalleryInner update(String resourceGroupName, String galleryName, GalleryUpdate gallery);
+
+ /**
+ * Update a Shared Image Gallery.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Image Gallery. The allowed characters are alphabets and numbers with
+ * dots and periods allowed in the middle. The maximum length is 80 characters.
+ * @param gallery Parameters supplied to the update Shared Image Gallery operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the Shared Image Gallery that you want to create or update.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ GalleryInner update(String resourceGroupName, String galleryName, GalleryUpdate gallery, Context context);
+
+ /**
+ * Retrieves information about a Shared Image Gallery.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Image Gallery.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the Shared Image Gallery that you want to create or update.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ GalleryInner getByResourceGroup(String resourceGroupName, String galleryName);
+
+ /**
+ * Retrieves information about a Shared Image Gallery.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Image Gallery.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the Shared Image Gallery that you want to create or update.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName, String galleryName, Context context);
+
+ /**
+ * Delete a Shared Image Gallery.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Image Gallery to be deleted.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String galleryName);
+
+ /**
+ * Delete a Shared Image Gallery.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Image Gallery to be deleted.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String galleryName, Context context);
+
+ /**
+ * Delete a Shared Image Gallery.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Image Gallery to be deleted.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException 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 galleryName);
+
+ /**
+ * Delete a Shared Image Gallery.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Image Gallery to be deleted.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException 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 galleryName, Context context);
+
+ /**
+ * List galleries under a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List Galleries operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * List galleries under a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List Galleries operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * List galleries under a subscription.
+ *
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List Galleries operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * List galleries under a subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List Galleries operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/GalleryApplicationVersionsClient.java b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/GalleryApplicationVersionsClient.java
new file mode 100644
index 0000000000000..c90b25da512ff
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/GalleryApplicationVersionsClient.java
@@ -0,0 +1,398 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.compute.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.compute.generated.fluent.models.GalleryApplicationVersionInner;
+import com.azure.resourcemanager.compute.generated.models.GalleryApplicationVersionUpdate;
+import com.azure.resourcemanager.compute.generated.models.ReplicationStatusTypes;
+
+/** An instance of this class provides access to all the operations defined in GalleryApplicationVersionsClient. */
+public interface GalleryApplicationVersionsClient {
+ /**
+ * Create or update a gallery Application Version.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Application Gallery in which the Application Definition resides.
+ * @param galleryApplicationName The name of the gallery Application Definition in which the Application Version is
+ * to be created.
+ * @param galleryApplicationVersionName The name of the gallery Application Version to be created. Needs to follow
+ * semantic version name pattern: The allowed characters are digit and period. Digits must be within the range
+ * of a 32-bit integer. Format: <MajorVersion>.<MinorVersion>.<Patch>.
+ * @param galleryApplicationVersion Parameters supplied to the create or update gallery Application Version
+ * operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the gallery Application Version that you want to create or update.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, GalleryApplicationVersionInner> beginCreateOrUpdate(
+ String resourceGroupName,
+ String galleryName,
+ String galleryApplicationName,
+ String galleryApplicationVersionName,
+ GalleryApplicationVersionInner galleryApplicationVersion);
+
+ /**
+ * Create or update a gallery Application Version.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Application Gallery in which the Application Definition resides.
+ * @param galleryApplicationName The name of the gallery Application Definition in which the Application Version is
+ * to be created.
+ * @param galleryApplicationVersionName The name of the gallery Application Version to be created. Needs to follow
+ * semantic version name pattern: The allowed characters are digit and period. Digits must be within the range
+ * of a 32-bit integer. Format: <MajorVersion>.<MinorVersion>.<Patch>.
+ * @param galleryApplicationVersion Parameters supplied to the create or update gallery Application Version
+ * operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the gallery Application Version that you want to create or update.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, GalleryApplicationVersionInner> beginCreateOrUpdate(
+ String resourceGroupName,
+ String galleryName,
+ String galleryApplicationName,
+ String galleryApplicationVersionName,
+ GalleryApplicationVersionInner galleryApplicationVersion,
+ Context context);
+
+ /**
+ * Create or update a gallery Application Version.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Application Gallery in which the Application Definition resides.
+ * @param galleryApplicationName The name of the gallery Application Definition in which the Application Version is
+ * to be created.
+ * @param galleryApplicationVersionName The name of the gallery Application Version to be created. Needs to follow
+ * semantic version name pattern: The allowed characters are digit and period. Digits must be within the range
+ * of a 32-bit integer. Format: <MajorVersion>.<MinorVersion>.<Patch>.
+ * @param galleryApplicationVersion Parameters supplied to the create or update gallery Application Version
+ * operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the gallery Application Version that you want to create or update.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ GalleryApplicationVersionInner createOrUpdate(
+ String resourceGroupName,
+ String galleryName,
+ String galleryApplicationName,
+ String galleryApplicationVersionName,
+ GalleryApplicationVersionInner galleryApplicationVersion);
+
+ /**
+ * Create or update a gallery Application Version.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Application Gallery in which the Application Definition resides.
+ * @param galleryApplicationName The name of the gallery Application Definition in which the Application Version is
+ * to be created.
+ * @param galleryApplicationVersionName The name of the gallery Application Version to be created. Needs to follow
+ * semantic version name pattern: The allowed characters are digit and period. Digits must be within the range
+ * of a 32-bit integer. Format: <MajorVersion>.<MinorVersion>.<Patch>.
+ * @param galleryApplicationVersion Parameters supplied to the create or update gallery Application Version
+ * operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the gallery Application Version that you want to create or update.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ GalleryApplicationVersionInner createOrUpdate(
+ String resourceGroupName,
+ String galleryName,
+ String galleryApplicationName,
+ String galleryApplicationVersionName,
+ GalleryApplicationVersionInner galleryApplicationVersion,
+ Context context);
+
+ /**
+ * Update a gallery Application Version.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Application Gallery in which the Application Definition resides.
+ * @param galleryApplicationName The name of the gallery Application Definition in which the Application Version is
+ * to be updated.
+ * @param galleryApplicationVersionName The name of the gallery Application Version to be updated. Needs to follow
+ * semantic version name pattern: The allowed characters are digit and period. Digits must be within the range
+ * of a 32-bit integer. Format: <MajorVersion>.<MinorVersion>.<Patch>.
+ * @param galleryApplicationVersion Parameters supplied to the update gallery Application Version operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the gallery Application Version that you want to create or update.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, GalleryApplicationVersionInner> beginUpdate(
+ String resourceGroupName,
+ String galleryName,
+ String galleryApplicationName,
+ String galleryApplicationVersionName,
+ GalleryApplicationVersionUpdate galleryApplicationVersion);
+
+ /**
+ * Update a gallery Application Version.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Application Gallery in which the Application Definition resides.
+ * @param galleryApplicationName The name of the gallery Application Definition in which the Application Version is
+ * to be updated.
+ * @param galleryApplicationVersionName The name of the gallery Application Version to be updated. Needs to follow
+ * semantic version name pattern: The allowed characters are digit and period. Digits must be within the range
+ * of a 32-bit integer. Format: <MajorVersion>.<MinorVersion>.<Patch>.
+ * @param galleryApplicationVersion Parameters supplied to the update gallery Application Version operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the gallery Application Version that you want to create or update.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, GalleryApplicationVersionInner> beginUpdate(
+ String resourceGroupName,
+ String galleryName,
+ String galleryApplicationName,
+ String galleryApplicationVersionName,
+ GalleryApplicationVersionUpdate galleryApplicationVersion,
+ Context context);
+
+ /**
+ * Update a gallery Application Version.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Application Gallery in which the Application Definition resides.
+ * @param galleryApplicationName The name of the gallery Application Definition in which the Application Version is
+ * to be updated.
+ * @param galleryApplicationVersionName The name of the gallery Application Version to be updated. Needs to follow
+ * semantic version name pattern: The allowed characters are digit and period. Digits must be within the range
+ * of a 32-bit integer. Format: <MajorVersion>.<MinorVersion>.<Patch>.
+ * @param galleryApplicationVersion Parameters supplied to the update gallery Application Version operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the gallery Application Version that you want to create or update.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ GalleryApplicationVersionInner update(
+ String resourceGroupName,
+ String galleryName,
+ String galleryApplicationName,
+ String galleryApplicationVersionName,
+ GalleryApplicationVersionUpdate galleryApplicationVersion);
+
+ /**
+ * Update a gallery Application Version.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Application Gallery in which the Application Definition resides.
+ * @param galleryApplicationName The name of the gallery Application Definition in which the Application Version is
+ * to be updated.
+ * @param galleryApplicationVersionName The name of the gallery Application Version to be updated. Needs to follow
+ * semantic version name pattern: The allowed characters are digit and period. Digits must be within the range
+ * of a 32-bit integer. Format: <MajorVersion>.<MinorVersion>.<Patch>.
+ * @param galleryApplicationVersion Parameters supplied to the update gallery Application Version operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the gallery Application Version that you want to create or update.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ GalleryApplicationVersionInner update(
+ String resourceGroupName,
+ String galleryName,
+ String galleryApplicationName,
+ String galleryApplicationVersionName,
+ GalleryApplicationVersionUpdate galleryApplicationVersion,
+ Context context);
+
+ /**
+ * Retrieves information about a gallery Application Version.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Application Gallery in which the Application Definition resides.
+ * @param galleryApplicationName The name of the gallery Application Definition in which the Application Version
+ * resides.
+ * @param galleryApplicationVersionName The name of the gallery Application Version to be retrieved.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the gallery Application Version that you want to create or update.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ GalleryApplicationVersionInner get(
+ String resourceGroupName,
+ String galleryName,
+ String galleryApplicationName,
+ String galleryApplicationVersionName);
+
+ /**
+ * Retrieves information about a gallery Application Version.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Application Gallery in which the Application Definition resides.
+ * @param galleryApplicationName The name of the gallery Application Definition in which the Application Version
+ * resides.
+ * @param galleryApplicationVersionName The name of the gallery Application Version to be retrieved.
+ * @param expand The expand expression to apply on the operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the gallery Application Version that you want to create or update.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName,
+ String galleryName,
+ String galleryApplicationName,
+ String galleryApplicationVersionName,
+ ReplicationStatusTypes expand,
+ Context context);
+
+ /**
+ * Delete a gallery Application Version.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Application Gallery in which the Application Definition resides.
+ * @param galleryApplicationName The name of the gallery Application Definition in which the Application Version
+ * resides.
+ * @param galleryApplicationVersionName The name of the gallery Application Version to be deleted.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName,
+ String galleryName,
+ String galleryApplicationName,
+ String galleryApplicationVersionName);
+
+ /**
+ * Delete a gallery Application Version.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Application Gallery in which the Application Definition resides.
+ * @param galleryApplicationName The name of the gallery Application Definition in which the Application Version
+ * resides.
+ * @param galleryApplicationVersionName The name of the gallery Application Version to be deleted.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName,
+ String galleryName,
+ String galleryApplicationName,
+ String galleryApplicationVersionName,
+ Context context);
+
+ /**
+ * Delete a gallery Application Version.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Application Gallery in which the Application Definition resides.
+ * @param galleryApplicationName The name of the gallery Application Definition in which the Application Version
+ * resides.
+ * @param galleryApplicationVersionName The name of the gallery Application Version to be deleted.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException 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 galleryName,
+ String galleryApplicationName,
+ String galleryApplicationVersionName);
+
+ /**
+ * Delete a gallery Application Version.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Application Gallery in which the Application Definition resides.
+ * @param galleryApplicationName The name of the gallery Application Definition in which the Application Version
+ * resides.
+ * @param galleryApplicationVersionName The name of the gallery Application Version to be deleted.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException 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 galleryName,
+ String galleryApplicationName,
+ String galleryApplicationVersionName,
+ Context context);
+
+ /**
+ * List gallery Application Versions in a gallery Application Definition.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Application Gallery in which the Application Definition resides.
+ * @param galleryApplicationName The name of the Shared Application Gallery Application Definition from which the
+ * Application Versions are to be listed.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List Gallery Application version operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByGalleryApplication(
+ String resourceGroupName, String galleryName, String galleryApplicationName);
+
+ /**
+ * List gallery Application Versions in a gallery Application Definition.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Application Gallery in which the Application Definition resides.
+ * @param galleryApplicationName The name of the Shared Application Gallery Application Definition from which the
+ * Application Versions are to be listed.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List Gallery Application version operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByGalleryApplication(
+ String resourceGroupName, String galleryName, String galleryApplicationName, Context context);
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/GalleryApplicationsClient.java b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/GalleryApplicationsClient.java
new file mode 100644
index 0000000000000..1349679a71f40
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/GalleryApplicationsClient.java
@@ -0,0 +1,341 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.compute.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.compute.generated.fluent.models.GalleryApplicationInner;
+import com.azure.resourcemanager.compute.generated.models.GalleryApplicationUpdate;
+
+/** An instance of this class provides access to all the operations defined in GalleryApplicationsClient. */
+public interface GalleryApplicationsClient {
+ /**
+ * Create or update a gallery Application Definition.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Application Gallery in which the Application Definition is to be
+ * created.
+ * @param galleryApplicationName The name of the gallery Application Definition to be created or updated. The
+ * allowed characters are alphabets and numbers with dots, dashes, and periods allowed in the middle. The
+ * maximum length is 80 characters.
+ * @param galleryApplication Parameters supplied to the create or update gallery Application operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the gallery Application Definition that you want to create or update.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, GalleryApplicationInner> beginCreateOrUpdate(
+ String resourceGroupName,
+ String galleryName,
+ String galleryApplicationName,
+ GalleryApplicationInner galleryApplication);
+
+ /**
+ * Create or update a gallery Application Definition.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Application Gallery in which the Application Definition is to be
+ * created.
+ * @param galleryApplicationName The name of the gallery Application Definition to be created or updated. The
+ * allowed characters are alphabets and numbers with dots, dashes, and periods allowed in the middle. The
+ * maximum length is 80 characters.
+ * @param galleryApplication Parameters supplied to the create or update gallery Application operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the gallery Application Definition that you want to create or update.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, GalleryApplicationInner> beginCreateOrUpdate(
+ String resourceGroupName,
+ String galleryName,
+ String galleryApplicationName,
+ GalleryApplicationInner galleryApplication,
+ Context context);
+
+ /**
+ * Create or update a gallery Application Definition.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Application Gallery in which the Application Definition is to be
+ * created.
+ * @param galleryApplicationName The name of the gallery Application Definition to be created or updated. The
+ * allowed characters are alphabets and numbers with dots, dashes, and periods allowed in the middle. The
+ * maximum length is 80 characters.
+ * @param galleryApplication Parameters supplied to the create or update gallery Application operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the gallery Application Definition that you want to create or update.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ GalleryApplicationInner createOrUpdate(
+ String resourceGroupName,
+ String galleryName,
+ String galleryApplicationName,
+ GalleryApplicationInner galleryApplication);
+
+ /**
+ * Create or update a gallery Application Definition.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Application Gallery in which the Application Definition is to be
+ * created.
+ * @param galleryApplicationName The name of the gallery Application Definition to be created or updated. The
+ * allowed characters are alphabets and numbers with dots, dashes, and periods allowed in the middle. The
+ * maximum length is 80 characters.
+ * @param galleryApplication Parameters supplied to the create or update gallery Application operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the gallery Application Definition that you want to create or update.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ GalleryApplicationInner createOrUpdate(
+ String resourceGroupName,
+ String galleryName,
+ String galleryApplicationName,
+ GalleryApplicationInner galleryApplication,
+ Context context);
+
+ /**
+ * Update a gallery Application Definition.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Application Gallery in which the Application Definition is to be
+ * updated.
+ * @param galleryApplicationName The name of the gallery Application Definition to be updated. The allowed
+ * characters are alphabets and numbers with dots, dashes, and periods allowed in the middle. The maximum length
+ * is 80 characters.
+ * @param galleryApplication Parameters supplied to the update gallery Application operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the gallery Application Definition that you want to create or update.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, GalleryApplicationInner> beginUpdate(
+ String resourceGroupName,
+ String galleryName,
+ String galleryApplicationName,
+ GalleryApplicationUpdate galleryApplication);
+
+ /**
+ * Update a gallery Application Definition.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Application Gallery in which the Application Definition is to be
+ * updated.
+ * @param galleryApplicationName The name of the gallery Application Definition to be updated. The allowed
+ * characters are alphabets and numbers with dots, dashes, and periods allowed in the middle. The maximum length
+ * is 80 characters.
+ * @param galleryApplication Parameters supplied to the update gallery Application operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the gallery Application Definition that you want to create or update.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, GalleryApplicationInner> beginUpdate(
+ String resourceGroupName,
+ String galleryName,
+ String galleryApplicationName,
+ GalleryApplicationUpdate galleryApplication,
+ Context context);
+
+ /**
+ * Update a gallery Application Definition.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Application Gallery in which the Application Definition is to be
+ * updated.
+ * @param galleryApplicationName The name of the gallery Application Definition to be updated. The allowed
+ * characters are alphabets and numbers with dots, dashes, and periods allowed in the middle. The maximum length
+ * is 80 characters.
+ * @param galleryApplication Parameters supplied to the update gallery Application operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the gallery Application Definition that you want to create or update.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ GalleryApplicationInner update(
+ String resourceGroupName,
+ String galleryName,
+ String galleryApplicationName,
+ GalleryApplicationUpdate galleryApplication);
+
+ /**
+ * Update a gallery Application Definition.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Application Gallery in which the Application Definition is to be
+ * updated.
+ * @param galleryApplicationName The name of the gallery Application Definition to be updated. The allowed
+ * characters are alphabets and numbers with dots, dashes, and periods allowed in the middle. The maximum length
+ * is 80 characters.
+ * @param galleryApplication Parameters supplied to the update gallery Application operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the gallery Application Definition that you want to create or update.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ GalleryApplicationInner update(
+ String resourceGroupName,
+ String galleryName,
+ String galleryApplicationName,
+ GalleryApplicationUpdate galleryApplication,
+ Context context);
+
+ /**
+ * Retrieves information about a gallery Application Definition.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Application Gallery from which the Application Definitions are to be
+ * retrieved.
+ * @param galleryApplicationName The name of the gallery Application Definition to be retrieved.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the gallery Application Definition that you want to create or update.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ GalleryApplicationInner get(String resourceGroupName, String galleryName, String galleryApplicationName);
+
+ /**
+ * Retrieves information about a gallery Application Definition.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Application Gallery from which the Application Definitions are to be
+ * retrieved.
+ * @param galleryApplicationName The name of the gallery Application Definition to be retrieved.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the gallery Application Definition that you want to create or update.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String galleryName, String galleryApplicationName, Context context);
+
+ /**
+ * Delete a gallery Application.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Application Gallery in which the Application Definition is to be
+ * deleted.
+ * @param galleryApplicationName The name of the gallery Application Definition to be deleted.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String galleryName, String galleryApplicationName);
+
+ /**
+ * Delete a gallery Application.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Application Gallery in which the Application Definition is to be
+ * deleted.
+ * @param galleryApplicationName The name of the gallery Application Definition to be deleted.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String galleryName, String galleryApplicationName, Context context);
+
+ /**
+ * Delete a gallery Application.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Application Gallery in which the Application Definition is to be
+ * deleted.
+ * @param galleryApplicationName The name of the gallery Application Definition to be deleted.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException 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 galleryName, String galleryApplicationName);
+
+ /**
+ * Delete a gallery Application.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Application Gallery in which the Application Definition is to be
+ * deleted.
+ * @param galleryApplicationName The name of the gallery Application Definition to be deleted.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException 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 galleryName, String galleryApplicationName, Context context);
+
+ /**
+ * List gallery Application Definitions in a gallery.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Application Gallery from which Application Definitions are to be
+ * listed.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List Gallery Applications operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByGallery(String resourceGroupName, String galleryName);
+
+ /**
+ * List gallery Application Definitions in a gallery.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Application Gallery from which Application Definitions are to be
+ * listed.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List Gallery Applications operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByGallery(String resourceGroupName, String galleryName, Context context);
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/GalleryImageVersionsClient.java b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/GalleryImageVersionsClient.java
new file mode 100644
index 0000000000000..f0146c97f51c8
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/GalleryImageVersionsClient.java
@@ -0,0 +1,370 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.compute.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.compute.generated.fluent.models.GalleryImageVersionInner;
+import com.azure.resourcemanager.compute.generated.models.GalleryImageVersionUpdate;
+import com.azure.resourcemanager.compute.generated.models.ReplicationStatusTypes;
+
+/** An instance of this class provides access to all the operations defined in GalleryImageVersionsClient. */
+public interface GalleryImageVersionsClient {
+ /**
+ * Create or update a gallery Image Version.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Image Gallery in which the Image Definition resides.
+ * @param galleryImageName The name of the gallery Image Definition in which the Image Version is to be created.
+ * @param galleryImageVersionName The name of the gallery Image Version to be created. Needs to follow semantic
+ * version name pattern: The allowed characters are digit and period. Digits must be within the range of a
+ * 32-bit integer. Format: <MajorVersion>.<MinorVersion>.<Patch>.
+ * @param galleryImageVersion Parameters supplied to the create or update gallery Image Version operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the gallery Image Version that you want to create or update.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, GalleryImageVersionInner> beginCreateOrUpdate(
+ String resourceGroupName,
+ String galleryName,
+ String galleryImageName,
+ String galleryImageVersionName,
+ GalleryImageVersionInner galleryImageVersion);
+
+ /**
+ * Create or update a gallery Image Version.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Image Gallery in which the Image Definition resides.
+ * @param galleryImageName The name of the gallery Image Definition in which the Image Version is to be created.
+ * @param galleryImageVersionName The name of the gallery Image Version to be created. Needs to follow semantic
+ * version name pattern: The allowed characters are digit and period. Digits must be within the range of a
+ * 32-bit integer. Format: <MajorVersion>.<MinorVersion>.<Patch>.
+ * @param galleryImageVersion Parameters supplied to the create or update gallery Image Version operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the gallery Image Version that you want to create or update.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, GalleryImageVersionInner> beginCreateOrUpdate(
+ String resourceGroupName,
+ String galleryName,
+ String galleryImageName,
+ String galleryImageVersionName,
+ GalleryImageVersionInner galleryImageVersion,
+ Context context);
+
+ /**
+ * Create or update a gallery Image Version.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Image Gallery in which the Image Definition resides.
+ * @param galleryImageName The name of the gallery Image Definition in which the Image Version is to be created.
+ * @param galleryImageVersionName The name of the gallery Image Version to be created. Needs to follow semantic
+ * version name pattern: The allowed characters are digit and period. Digits must be within the range of a
+ * 32-bit integer. Format: <MajorVersion>.<MinorVersion>.<Patch>.
+ * @param galleryImageVersion Parameters supplied to the create or update gallery Image Version operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the gallery Image Version that you want to create or update.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ GalleryImageVersionInner createOrUpdate(
+ String resourceGroupName,
+ String galleryName,
+ String galleryImageName,
+ String galleryImageVersionName,
+ GalleryImageVersionInner galleryImageVersion);
+
+ /**
+ * Create or update a gallery Image Version.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Image Gallery in which the Image Definition resides.
+ * @param galleryImageName The name of the gallery Image Definition in which the Image Version is to be created.
+ * @param galleryImageVersionName The name of the gallery Image Version to be created. Needs to follow semantic
+ * version name pattern: The allowed characters are digit and period. Digits must be within the range of a
+ * 32-bit integer. Format: <MajorVersion>.<MinorVersion>.<Patch>.
+ * @param galleryImageVersion Parameters supplied to the create or update gallery Image Version operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the gallery Image Version that you want to create or update.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ GalleryImageVersionInner createOrUpdate(
+ String resourceGroupName,
+ String galleryName,
+ String galleryImageName,
+ String galleryImageVersionName,
+ GalleryImageVersionInner galleryImageVersion,
+ Context context);
+
+ /**
+ * Update a gallery Image Version.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Image Gallery in which the Image Definition resides.
+ * @param galleryImageName The name of the gallery Image Definition in which the Image Version is to be updated.
+ * @param galleryImageVersionName The name of the gallery Image Version to be updated. Needs to follow semantic
+ * version name pattern: The allowed characters are digit and period. Digits must be within the range of a
+ * 32-bit integer. Format: <MajorVersion>.<MinorVersion>.<Patch>.
+ * @param galleryImageVersion Parameters supplied to the update gallery Image Version operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the gallery Image Version that you want to create or update.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, GalleryImageVersionInner> beginUpdate(
+ String resourceGroupName,
+ String galleryName,
+ String galleryImageName,
+ String galleryImageVersionName,
+ GalleryImageVersionUpdate galleryImageVersion);
+
+ /**
+ * Update a gallery Image Version.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Image Gallery in which the Image Definition resides.
+ * @param galleryImageName The name of the gallery Image Definition in which the Image Version is to be updated.
+ * @param galleryImageVersionName The name of the gallery Image Version to be updated. Needs to follow semantic
+ * version name pattern: The allowed characters are digit and period. Digits must be within the range of a
+ * 32-bit integer. Format: <MajorVersion>.<MinorVersion>.<Patch>.
+ * @param galleryImageVersion Parameters supplied to the update gallery Image Version operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the gallery Image Version that you want to create or update.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, GalleryImageVersionInner> beginUpdate(
+ String resourceGroupName,
+ String galleryName,
+ String galleryImageName,
+ String galleryImageVersionName,
+ GalleryImageVersionUpdate galleryImageVersion,
+ Context context);
+
+ /**
+ * Update a gallery Image Version.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Image Gallery in which the Image Definition resides.
+ * @param galleryImageName The name of the gallery Image Definition in which the Image Version is to be updated.
+ * @param galleryImageVersionName The name of the gallery Image Version to be updated. Needs to follow semantic
+ * version name pattern: The allowed characters are digit and period. Digits must be within the range of a
+ * 32-bit integer. Format: <MajorVersion>.<MinorVersion>.<Patch>.
+ * @param galleryImageVersion Parameters supplied to the update gallery Image Version operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the gallery Image Version that you want to create or update.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ GalleryImageVersionInner update(
+ String resourceGroupName,
+ String galleryName,
+ String galleryImageName,
+ String galleryImageVersionName,
+ GalleryImageVersionUpdate galleryImageVersion);
+
+ /**
+ * Update a gallery Image Version.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Image Gallery in which the Image Definition resides.
+ * @param galleryImageName The name of the gallery Image Definition in which the Image Version is to be updated.
+ * @param galleryImageVersionName The name of the gallery Image Version to be updated. Needs to follow semantic
+ * version name pattern: The allowed characters are digit and period. Digits must be within the range of a
+ * 32-bit integer. Format: <MajorVersion>.<MinorVersion>.<Patch>.
+ * @param galleryImageVersion Parameters supplied to the update gallery Image Version operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the gallery Image Version that you want to create or update.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ GalleryImageVersionInner update(
+ String resourceGroupName,
+ String galleryName,
+ String galleryImageName,
+ String galleryImageVersionName,
+ GalleryImageVersionUpdate galleryImageVersion,
+ Context context);
+
+ /**
+ * Retrieves information about a gallery Image Version.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Image Gallery in which the Image Definition resides.
+ * @param galleryImageName The name of the gallery Image Definition in which the Image Version resides.
+ * @param galleryImageVersionName The name of the gallery Image Version to be retrieved.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the gallery Image Version that you want to create or update.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ GalleryImageVersionInner get(
+ String resourceGroupName, String galleryName, String galleryImageName, String galleryImageVersionName);
+
+ /**
+ * Retrieves information about a gallery Image Version.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Image Gallery in which the Image Definition resides.
+ * @param galleryImageName The name of the gallery Image Definition in which the Image Version resides.
+ * @param galleryImageVersionName The name of the gallery Image Version to be retrieved.
+ * @param expand The expand expression to apply on the operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the gallery Image Version that you want to create or update.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName,
+ String galleryName,
+ String galleryImageName,
+ String galleryImageVersionName,
+ ReplicationStatusTypes expand,
+ Context context);
+
+ /**
+ * Delete a gallery Image Version.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Image Gallery in which the Image Definition resides.
+ * @param galleryImageName The name of the gallery Image Definition in which the Image Version resides.
+ * @param galleryImageVersionName The name of the gallery Image Version to be deleted.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String galleryName, String galleryImageName, String galleryImageVersionName);
+
+ /**
+ * Delete a gallery Image Version.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Image Gallery in which the Image Definition resides.
+ * @param galleryImageName The name of the gallery Image Definition in which the Image Version resides.
+ * @param galleryImageVersionName The name of the gallery Image Version to be deleted.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName,
+ String galleryName,
+ String galleryImageName,
+ String galleryImageVersionName,
+ Context context);
+
+ /**
+ * Delete a gallery Image Version.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Image Gallery in which the Image Definition resides.
+ * @param galleryImageName The name of the gallery Image Definition in which the Image Version resides.
+ * @param galleryImageVersionName The name of the gallery Image Version to be deleted.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException 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 galleryName, String galleryImageName, String galleryImageVersionName);
+
+ /**
+ * Delete a gallery Image Version.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Image Gallery in which the Image Definition resides.
+ * @param galleryImageName The name of the gallery Image Definition in which the Image Version resides.
+ * @param galleryImageVersionName The name of the gallery Image Version to be deleted.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException 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 galleryName,
+ String galleryImageName,
+ String galleryImageVersionName,
+ Context context);
+
+ /**
+ * List gallery Image Versions in a gallery Image Definition.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Image Gallery in which the Image Definition resides.
+ * @param galleryImageName The name of the Shared Image Gallery Image Definition from which the Image Versions are
+ * to be listed.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List Gallery Image version operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByGalleryImage(
+ String resourceGroupName, String galleryName, String galleryImageName);
+
+ /**
+ * List gallery Image Versions in a gallery Image Definition.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Image Gallery in which the Image Definition resides.
+ * @param galleryImageName The name of the Shared Image Gallery Image Definition from which the Image Versions are
+ * to be listed.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List Gallery Image version operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByGalleryImage(
+ String resourceGroupName, String galleryName, String galleryImageName, Context context);
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/GalleryImagesClient.java b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/GalleryImagesClient.java
new file mode 100644
index 0000000000000..3a7068d483563
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/GalleryImagesClient.java
@@ -0,0 +1,313 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.compute.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.compute.generated.fluent.models.GalleryImageInner;
+import com.azure.resourcemanager.compute.generated.models.GalleryImageUpdate;
+
+/** An instance of this class provides access to all the operations defined in GalleryImagesClient. */
+public interface GalleryImagesClient {
+ /**
+ * Create or update a gallery Image Definition.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Image Gallery in which the Image Definition is to be created.
+ * @param galleryImageName The name of the gallery Image Definition to be created or updated. The allowed characters
+ * are alphabets and numbers with dots, dashes, and periods allowed in the middle. The maximum length is 80
+ * characters.
+ * @param galleryImage Parameters supplied to the create or update gallery image operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the gallery Image Definition that you want to create or update.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, GalleryImageInner> beginCreateOrUpdate(
+ String resourceGroupName, String galleryName, String galleryImageName, GalleryImageInner galleryImage);
+
+ /**
+ * Create or update a gallery Image Definition.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Image Gallery in which the Image Definition is to be created.
+ * @param galleryImageName The name of the gallery Image Definition to be created or updated. The allowed characters
+ * are alphabets and numbers with dots, dashes, and periods allowed in the middle. The maximum length is 80
+ * characters.
+ * @param galleryImage Parameters supplied to the create or update gallery image operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the gallery Image Definition that you want to create or update.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, GalleryImageInner> beginCreateOrUpdate(
+ String resourceGroupName,
+ String galleryName,
+ String galleryImageName,
+ GalleryImageInner galleryImage,
+ Context context);
+
+ /**
+ * Create or update a gallery Image Definition.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Image Gallery in which the Image Definition is to be created.
+ * @param galleryImageName The name of the gallery Image Definition to be created or updated. The allowed characters
+ * are alphabets and numbers with dots, dashes, and periods allowed in the middle. The maximum length is 80
+ * characters.
+ * @param galleryImage Parameters supplied to the create or update gallery image operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the gallery Image Definition that you want to create or update.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ GalleryImageInner createOrUpdate(
+ String resourceGroupName, String galleryName, String galleryImageName, GalleryImageInner galleryImage);
+
+ /**
+ * Create or update a gallery Image Definition.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Image Gallery in which the Image Definition is to be created.
+ * @param galleryImageName The name of the gallery Image Definition to be created or updated. The allowed characters
+ * are alphabets and numbers with dots, dashes, and periods allowed in the middle. The maximum length is 80
+ * characters.
+ * @param galleryImage Parameters supplied to the create or update gallery image operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the gallery Image Definition that you want to create or update.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ GalleryImageInner createOrUpdate(
+ String resourceGroupName,
+ String galleryName,
+ String galleryImageName,
+ GalleryImageInner galleryImage,
+ Context context);
+
+ /**
+ * Update a gallery Image Definition.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Image Gallery in which the Image Definition is to be updated.
+ * @param galleryImageName The name of the gallery Image Definition to be updated. The allowed characters are
+ * alphabets and numbers with dots, dashes, and periods allowed in the middle. The maximum length is 80
+ * characters.
+ * @param galleryImage Parameters supplied to the update gallery image operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the gallery Image Definition that you want to create or update.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, GalleryImageInner> beginUpdate(
+ String resourceGroupName, String galleryName, String galleryImageName, GalleryImageUpdate galleryImage);
+
+ /**
+ * Update a gallery Image Definition.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Image Gallery in which the Image Definition is to be updated.
+ * @param galleryImageName The name of the gallery Image Definition to be updated. The allowed characters are
+ * alphabets and numbers with dots, dashes, and periods allowed in the middle. The maximum length is 80
+ * characters.
+ * @param galleryImage Parameters supplied to the update gallery image operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the gallery Image Definition that you want to create or update.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, GalleryImageInner> beginUpdate(
+ String resourceGroupName,
+ String galleryName,
+ String galleryImageName,
+ GalleryImageUpdate galleryImage,
+ Context context);
+
+ /**
+ * Update a gallery Image Definition.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Image Gallery in which the Image Definition is to be updated.
+ * @param galleryImageName The name of the gallery Image Definition to be updated. The allowed characters are
+ * alphabets and numbers with dots, dashes, and periods allowed in the middle. The maximum length is 80
+ * characters.
+ * @param galleryImage Parameters supplied to the update gallery image operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the gallery Image Definition that you want to create or update.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ GalleryImageInner update(
+ String resourceGroupName, String galleryName, String galleryImageName, GalleryImageUpdate galleryImage);
+
+ /**
+ * Update a gallery Image Definition.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Image Gallery in which the Image Definition is to be updated.
+ * @param galleryImageName The name of the gallery Image Definition to be updated. The allowed characters are
+ * alphabets and numbers with dots, dashes, and periods allowed in the middle. The maximum length is 80
+ * characters.
+ * @param galleryImage Parameters supplied to the update gallery image operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the gallery Image Definition that you want to create or update.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ GalleryImageInner update(
+ String resourceGroupName,
+ String galleryName,
+ String galleryImageName,
+ GalleryImageUpdate galleryImage,
+ Context context);
+
+ /**
+ * Retrieves information about a gallery Image Definition.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Image Gallery from which the Image Definitions are to be retrieved.
+ * @param galleryImageName The name of the gallery Image Definition to be retrieved.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the gallery Image Definition that you want to create or update.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ GalleryImageInner get(String resourceGroupName, String galleryName, String galleryImageName);
+
+ /**
+ * Retrieves information about a gallery Image Definition.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Image Gallery from which the Image Definitions are to be retrieved.
+ * @param galleryImageName The name of the gallery Image Definition to be retrieved.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the gallery Image Definition that you want to create or update.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String galleryName, String galleryImageName, Context context);
+
+ /**
+ * Delete a gallery image.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Image Gallery in which the Image Definition is to be deleted.
+ * @param galleryImageName The name of the gallery Image Definition to be deleted.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String galleryName, String galleryImageName);
+
+ /**
+ * Delete a gallery image.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Image Gallery in which the Image Definition is to be deleted.
+ * @param galleryImageName The name of the gallery Image Definition to be deleted.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String galleryName, String galleryImageName, Context context);
+
+ /**
+ * Delete a gallery image.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Image Gallery in which the Image Definition is to be deleted.
+ * @param galleryImageName The name of the gallery Image Definition to be deleted.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException 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 galleryName, String galleryImageName);
+
+ /**
+ * Delete a gallery image.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Image Gallery in which the Image Definition is to be deleted.
+ * @param galleryImageName The name of the gallery Image Definition to be deleted.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException 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 galleryName, String galleryImageName, Context context);
+
+ /**
+ * List gallery Image Definitions in a gallery.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Image Gallery from which Image Definitions are to be listed.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List Gallery Images operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByGallery(String resourceGroupName, String galleryName);
+
+ /**
+ * List gallery Image Definitions in a gallery.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param galleryName The name of the Shared Image Gallery from which Image Definitions are to be listed.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List Gallery Images operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByGallery(String resourceGroupName, String galleryName, Context context);
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/ImagesClient.java b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/ImagesClient.java
new file mode 100644
index 0000000000000..f1493a768d227
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/ImagesClient.java
@@ -0,0 +1,268 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.compute.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.compute.generated.fluent.models.ImageInner;
+import com.azure.resourcemanager.compute.generated.models.ImageUpdate;
+
+/** An instance of this class provides access to all the operations defined in ImagesClient. */
+public interface ImagesClient {
+ /**
+ * Create or update an image.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param imageName The name of the image.
+ * @param parameters Parameters supplied to the Create Image operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the source user image virtual hard disk.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ImageInner> beginCreateOrUpdate(
+ String resourceGroupName, String imageName, ImageInner parameters);
+
+ /**
+ * Create or update an image.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param imageName The name of the image.
+ * @param parameters Parameters supplied to the Create Image operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the source user image virtual hard disk.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ImageInner> beginCreateOrUpdate(
+ String resourceGroupName, String imageName, ImageInner parameters, Context context);
+
+ /**
+ * Create or update an image.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param imageName The name of the image.
+ * @param parameters Parameters supplied to the Create Image operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the source user image virtual hard disk.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ImageInner createOrUpdate(String resourceGroupName, String imageName, ImageInner parameters);
+
+ /**
+ * Create or update an image.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param imageName The name of the image.
+ * @param parameters Parameters supplied to the Create Image operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the source user image virtual hard disk.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ImageInner createOrUpdate(String resourceGroupName, String imageName, ImageInner parameters, Context context);
+
+ /**
+ * Update an image.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param imageName The name of the image.
+ * @param parameters Parameters supplied to the Update Image operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the source user image virtual hard disk.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ImageInner> beginUpdate(
+ String resourceGroupName, String imageName, ImageUpdate parameters);
+
+ /**
+ * Update an image.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param imageName The name of the image.
+ * @param parameters Parameters supplied to the Update Image operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the source user image virtual hard disk.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ImageInner> beginUpdate(
+ String resourceGroupName, String imageName, ImageUpdate parameters, Context context);
+
+ /**
+ * Update an image.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param imageName The name of the image.
+ * @param parameters Parameters supplied to the Update Image operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the source user image virtual hard disk.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ImageInner update(String resourceGroupName, String imageName, ImageUpdate parameters);
+
+ /**
+ * Update an image.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param imageName The name of the image.
+ * @param parameters Parameters supplied to the Update Image operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the source user image virtual hard disk.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ImageInner update(String resourceGroupName, String imageName, ImageUpdate parameters, Context context);
+
+ /**
+ * Deletes an Image.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param imageName The name of the image.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String imageName);
+
+ /**
+ * Deletes an Image.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param imageName The name of the image.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String imageName, Context context);
+
+ /**
+ * Deletes an Image.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param imageName The name of the image.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 imageName);
+
+ /**
+ * Deletes an Image.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param imageName The name of the image.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 imageName, Context context);
+
+ /**
+ * Gets an image.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param imageName The name of the image.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 image.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ImageInner getByResourceGroup(String resourceGroupName, String imageName);
+
+ /**
+ * Gets an image.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param imageName The name of the image.
+ * @param expand The expand expression to apply on the operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 image.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName, String imageName, String expand, Context context);
+
+ /**
+ * Gets the list of images under a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list of images under a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Gets the list of images under a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list of images under a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * Gets the list of Images in the subscription. Use nextLink property in the response to get the next page of
+ * Images. Do this till nextLink is null to fetch all the Images.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list of Images in the subscription.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Gets the list of Images in the subscription. Use nextLink property in the response to get the next page of
+ * Images. Do this till nextLink is null to fetch all the Images.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list of Images in the subscription.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/LogAnalyticsClient.java b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/LogAnalyticsClient.java
new file mode 100644
index 0000000000000..90e0d549d5ebf
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/LogAnalyticsClient.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.compute.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.compute.generated.fluent.models.LogAnalyticsOperationResultInner;
+import com.azure.resourcemanager.compute.generated.models.LogAnalyticsInputBase;
+import com.azure.resourcemanager.compute.generated.models.RequestRateByIntervalInput;
+
+/** An instance of this class provides access to all the operations defined in LogAnalyticsClient. */
+public interface LogAnalyticsClient {
+ /**
+ * Export logs that show Api requests made by this subscription in the given time window to show throttling
+ * activities.
+ *
+ * @param location The location upon which virtual-machine-sizes is queried.
+ * @param parameters Parameters supplied to the LogAnalytics getRequestRateByInterval Api.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return logAnalytics operation status response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, LogAnalyticsOperationResultInner>
+ beginExportRequestRateByInterval(String location, RequestRateByIntervalInput parameters);
+
+ /**
+ * Export logs that show Api requests made by this subscription in the given time window to show throttling
+ * activities.
+ *
+ * @param location The location upon which virtual-machine-sizes is queried.
+ * @param parameters Parameters supplied to the LogAnalytics getRequestRateByInterval Api.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return logAnalytics operation status response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, LogAnalyticsOperationResultInner>
+ beginExportRequestRateByInterval(String location, RequestRateByIntervalInput parameters, Context context);
+
+ /**
+ * Export logs that show Api requests made by this subscription in the given time window to show throttling
+ * activities.
+ *
+ * @param location The location upon which virtual-machine-sizes is queried.
+ * @param parameters Parameters supplied to the LogAnalytics getRequestRateByInterval Api.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return logAnalytics operation status response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ LogAnalyticsOperationResultInner exportRequestRateByInterval(
+ String location, RequestRateByIntervalInput parameters);
+
+ /**
+ * Export logs that show Api requests made by this subscription in the given time window to show throttling
+ * activities.
+ *
+ * @param location The location upon which virtual-machine-sizes is queried.
+ * @param parameters Parameters supplied to the LogAnalytics getRequestRateByInterval Api.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return logAnalytics operation status response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ LogAnalyticsOperationResultInner exportRequestRateByInterval(
+ String location, RequestRateByIntervalInput parameters, Context context);
+
+ /**
+ * Export logs that show total throttled Api requests for this subscription in the given time window.
+ *
+ * @param location The location upon which virtual-machine-sizes is queried.
+ * @param parameters Parameters supplied to the LogAnalytics getThrottledRequests Api.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return logAnalytics operation status response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, LogAnalyticsOperationResultInner>
+ beginExportThrottledRequests(String location, LogAnalyticsInputBase parameters);
+
+ /**
+ * Export logs that show total throttled Api requests for this subscription in the given time window.
+ *
+ * @param location The location upon which virtual-machine-sizes is queried.
+ * @param parameters Parameters supplied to the LogAnalytics getThrottledRequests Api.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return logAnalytics operation status response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, LogAnalyticsOperationResultInner>
+ beginExportThrottledRequests(String location, LogAnalyticsInputBase parameters, Context context);
+
+ /**
+ * Export logs that show total throttled Api requests for this subscription in the given time window.
+ *
+ * @param location The location upon which virtual-machine-sizes is queried.
+ * @param parameters Parameters supplied to the LogAnalytics getThrottledRequests Api.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return logAnalytics operation status response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ LogAnalyticsOperationResultInner exportThrottledRequests(String location, LogAnalyticsInputBase parameters);
+
+ /**
+ * Export logs that show total throttled Api requests for this subscription in the given time window.
+ *
+ * @param location The location upon which virtual-machine-sizes is queried.
+ * @param parameters Parameters supplied to the LogAnalytics getThrottledRequests Api.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return logAnalytics operation status response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ LogAnalyticsOperationResultInner exportThrottledRequests(
+ String location, LogAnalyticsInputBase parameters, Context context);
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/OperationsClient.java b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/OperationsClient.java
new file mode 100644
index 0000000000000..62358bd360600
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/OperationsClient.java
@@ -0,0 +1,36 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.compute.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.compute.generated.fluent.models.ComputeOperationValueInner;
+
+/** An instance of this class provides access to all the operations defined in OperationsClient. */
+public interface OperationsClient {
+ /**
+ * Gets a list of compute 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 a list of compute operations.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Gets a list of compute 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 a list of compute operations.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/ProximityPlacementGroupsClient.java b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/ProximityPlacementGroupsClient.java
new file mode 100644
index 0000000000000..00a0e5a91d772
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/ProximityPlacementGroupsClient.java
@@ -0,0 +1,184 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.compute.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.util.Context;
+import com.azure.resourcemanager.compute.generated.fluent.models.ProximityPlacementGroupInner;
+import com.azure.resourcemanager.compute.generated.models.UpdateResource;
+
+/** An instance of this class provides access to all the operations defined in ProximityPlacementGroupsClient. */
+public interface ProximityPlacementGroupsClient {
+ /**
+ * Create or update a proximity placement group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param proximityPlacementGroupName The name of the proximity placement group.
+ * @param parameters Parameters supplied to the Create Proximity Placement Group operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the proximity placement group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ProximityPlacementGroupInner createOrUpdate(
+ String resourceGroupName, String proximityPlacementGroupName, ProximityPlacementGroupInner parameters);
+
+ /**
+ * Create or update a proximity placement group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param proximityPlacementGroupName The name of the proximity placement group.
+ * @param parameters Parameters supplied to the Create Proximity Placement Group operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the proximity placement group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateWithResponse(
+ String resourceGroupName,
+ String proximityPlacementGroupName,
+ ProximityPlacementGroupInner parameters,
+ Context context);
+
+ /**
+ * Update a proximity placement group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param proximityPlacementGroupName The name of the proximity placement group.
+ * @param parameters Parameters supplied to the Update Proximity Placement Group operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the proximity placement group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ProximityPlacementGroupInner update(
+ String resourceGroupName, String proximityPlacementGroupName, UpdateResource parameters);
+
+ /**
+ * Update a proximity placement group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param proximityPlacementGroupName The name of the proximity placement group.
+ * @param parameters Parameters supplied to the Update Proximity Placement Group operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the proximity placement group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response updateWithResponse(
+ String resourceGroupName, String proximityPlacementGroupName, UpdateResource parameters, Context context);
+
+ /**
+ * Delete a proximity placement group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param proximityPlacementGroupName The name of the proximity placement group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 proximityPlacementGroupName);
+
+ /**
+ * Delete a proximity placement group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param proximityPlacementGroupName The name of the proximity placement group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(String resourceGroupName, String proximityPlacementGroupName, Context context);
+
+ /**
+ * Retrieves information about a proximity placement group .
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param proximityPlacementGroupName The name of the proximity placement group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the proximity placement group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ProximityPlacementGroupInner getByResourceGroup(String resourceGroupName, String proximityPlacementGroupName);
+
+ /**
+ * Retrieves information about a proximity placement group .
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param proximityPlacementGroupName The name of the proximity placement group.
+ * @param includeColocationStatus includeColocationStatus=true enables fetching the colocation status of all the
+ * resources in the proximity placement group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the proximity placement group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName, String proximityPlacementGroupName, String includeColocationStatus, Context context);
+
+ /**
+ * Lists all proximity placement groups in a subscription.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List Proximity Placement Group operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Lists all proximity placement groups in a subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List Proximity Placement Group operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+
+ /**
+ * Lists all proximity placement groups in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List Proximity Placement Group operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Lists all proximity placement groups in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List Proximity Placement Group operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/ResourceSkusClient.java b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/ResourceSkusClient.java
new file mode 100644
index 0000000000000..55102db44409a
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/ResourceSkusClient.java
@@ -0,0 +1,37 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.compute.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.compute.generated.fluent.models.ResourceSkuInner;
+
+/** An instance of this class provides access to all the operations defined in ResourceSkusClient. */
+public interface ResourceSkusClient {
+ /**
+ * Gets the list of Microsoft.Compute SKUs available for your 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 list of Microsoft.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Gets the list of Microsoft.Compute SKUs available for your Subscription.
+ *
+ * @param filter The filter to apply on the operation. Only **location** filter is supported currently.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list of Microsoft.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String filter, Context context);
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/SnapshotsClient.java b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/SnapshotsClient.java
new file mode 100644
index 0000000000000..180d0864c971e
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/SnapshotsClient.java
@@ -0,0 +1,404 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.compute.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.compute.generated.fluent.models.AccessUriInner;
+import com.azure.resourcemanager.compute.generated.fluent.models.SnapshotInner;
+import com.azure.resourcemanager.compute.generated.models.GrantAccessData;
+import com.azure.resourcemanager.compute.generated.models.SnapshotUpdate;
+
+/** An instance of this class provides access to all the operations defined in SnapshotsClient. */
+public interface SnapshotsClient {
+ /**
+ * Creates or updates a snapshot.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param snapshotName The name of the snapshot that is being created. The name can't be changed after the snapshot
+ * is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The max name length is 80 characters.
+ * @param snapshot Snapshot object supplied in the body of the Put disk operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return snapshot resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, SnapshotInner> beginCreateOrUpdate(
+ String resourceGroupName, String snapshotName, SnapshotInner snapshot);
+
+ /**
+ * Creates or updates a snapshot.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param snapshotName The name of the snapshot that is being created. The name can't be changed after the snapshot
+ * is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The max name length is 80 characters.
+ * @param snapshot Snapshot object supplied in the body of the Put disk operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return snapshot resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, SnapshotInner> beginCreateOrUpdate(
+ String resourceGroupName, String snapshotName, SnapshotInner snapshot, Context context);
+
+ /**
+ * Creates or updates a snapshot.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param snapshotName The name of the snapshot that is being created. The name can't be changed after the snapshot
+ * is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The max name length is 80 characters.
+ * @param snapshot Snapshot object supplied in the body of the Put disk operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return snapshot resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SnapshotInner createOrUpdate(String resourceGroupName, String snapshotName, SnapshotInner snapshot);
+
+ /**
+ * Creates or updates a snapshot.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param snapshotName The name of the snapshot that is being created. The name can't be changed after the snapshot
+ * is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The max name length is 80 characters.
+ * @param snapshot Snapshot object supplied in the body of the Put disk operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return snapshot resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SnapshotInner createOrUpdate(
+ String resourceGroupName, String snapshotName, SnapshotInner snapshot, Context context);
+
+ /**
+ * Updates (patches) a snapshot.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param snapshotName The name of the snapshot that is being created. The name can't be changed after the snapshot
+ * is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The max name length is 80 characters.
+ * @param snapshot Snapshot object supplied in the body of the Patch snapshot operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return snapshot resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, SnapshotInner> beginUpdate(
+ String resourceGroupName, String snapshotName, SnapshotUpdate snapshot);
+
+ /**
+ * Updates (patches) a snapshot.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param snapshotName The name of the snapshot that is being created. The name can't be changed after the snapshot
+ * is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The max name length is 80 characters.
+ * @param snapshot Snapshot object supplied in the body of the Patch snapshot operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return snapshot resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, SnapshotInner> beginUpdate(
+ String resourceGroupName, String snapshotName, SnapshotUpdate snapshot, Context context);
+
+ /**
+ * Updates (patches) a snapshot.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param snapshotName The name of the snapshot that is being created. The name can't be changed after the snapshot
+ * is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The max name length is 80 characters.
+ * @param snapshot Snapshot object supplied in the body of the Patch snapshot operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return snapshot resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SnapshotInner update(String resourceGroupName, String snapshotName, SnapshotUpdate snapshot);
+
+ /**
+ * Updates (patches) a snapshot.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param snapshotName The name of the snapshot that is being created. The name can't be changed after the snapshot
+ * is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The max name length is 80 characters.
+ * @param snapshot Snapshot object supplied in the body of the Patch snapshot operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return snapshot resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SnapshotInner update(String resourceGroupName, String snapshotName, SnapshotUpdate snapshot, Context context);
+
+ /**
+ * Gets information about a snapshot.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param snapshotName The name of the snapshot that is being created. The name can't be changed after the snapshot
+ * is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The max name length is 80 characters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return information about a snapshot.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SnapshotInner getByResourceGroup(String resourceGroupName, String snapshotName);
+
+ /**
+ * Gets information about a snapshot.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param snapshotName The name of the snapshot that is being created. The name can't be changed after the snapshot
+ * is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The max name length is 80 characters.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return information about a snapshot.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName, String snapshotName, Context context);
+
+ /**
+ * Deletes a snapshot.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param snapshotName The name of the snapshot that is being created. The name can't be changed after the snapshot
+ * is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The max name length is 80 characters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String snapshotName);
+
+ /**
+ * Deletes a snapshot.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param snapshotName The name of the snapshot that is being created. The name can't be changed after the snapshot
+ * is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The max name length is 80 characters.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String snapshotName, Context context);
+
+ /**
+ * Deletes a snapshot.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param snapshotName The name of the snapshot that is being created. The name can't be changed after the snapshot
+ * is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The max name length is 80 characters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 snapshotName);
+
+ /**
+ * Deletes a snapshot.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param snapshotName The name of the snapshot that is being created. The name can't be changed after the snapshot
+ * is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The max name length is 80 characters.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 snapshotName, Context context);
+
+ /**
+ * Lists snapshots under a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List Snapshots operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Lists snapshots under a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List Snapshots operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * Lists snapshots under a subscription.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List Snapshots operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Lists snapshots under a subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List Snapshots operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+
+ /**
+ * Grants access to a snapshot.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param snapshotName The name of the snapshot that is being created. The name can't be changed after the snapshot
+ * is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The max name length is 80 characters.
+ * @param grantAccessData Access data object supplied in the body of the get snapshot access operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 disk access SAS uri.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, AccessUriInner> beginGrantAccess(
+ String resourceGroupName, String snapshotName, GrantAccessData grantAccessData);
+
+ /**
+ * Grants access to a snapshot.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param snapshotName The name of the snapshot that is being created. The name can't be changed after the snapshot
+ * is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The max name length is 80 characters.
+ * @param grantAccessData Access data object supplied in the body of the get snapshot access operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 disk access SAS uri.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, AccessUriInner> beginGrantAccess(
+ String resourceGroupName, String snapshotName, GrantAccessData grantAccessData, Context context);
+
+ /**
+ * Grants access to a snapshot.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param snapshotName The name of the snapshot that is being created. The name can't be changed after the snapshot
+ * is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The max name length is 80 characters.
+ * @param grantAccessData Access data object supplied in the body of the get snapshot access operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 disk access SAS uri.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AccessUriInner grantAccess(String resourceGroupName, String snapshotName, GrantAccessData grantAccessData);
+
+ /**
+ * Grants access to a snapshot.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param snapshotName The name of the snapshot that is being created. The name can't be changed after the snapshot
+ * is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The max name length is 80 characters.
+ * @param grantAccessData Access data object supplied in the body of the get snapshot access operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 disk access SAS uri.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AccessUriInner grantAccess(
+ String resourceGroupName, String snapshotName, GrantAccessData grantAccessData, Context context);
+
+ /**
+ * Revokes access to a snapshot.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param snapshotName The name of the snapshot that is being created. The name can't be changed after the snapshot
+ * is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The max name length is 80 characters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginRevokeAccess(String resourceGroupName, String snapshotName);
+
+ /**
+ * Revokes access to a snapshot.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param snapshotName The name of the snapshot that is being created. The name can't be changed after the snapshot
+ * is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The max name length is 80 characters.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginRevokeAccess(
+ String resourceGroupName, String snapshotName, Context context);
+
+ /**
+ * Revokes access to a snapshot.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param snapshotName The name of the snapshot that is being created. The name can't be changed after the snapshot
+ * is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The max name length is 80 characters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 revokeAccess(String resourceGroupName, String snapshotName);
+
+ /**
+ * Revokes access to a snapshot.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param snapshotName The name of the snapshot that is being created. The name can't be changed after the snapshot
+ * is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The max name length is 80 characters.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 revokeAccess(String resourceGroupName, String snapshotName, Context context);
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/SshPublicKeysClient.java b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/SshPublicKeysClient.java
new file mode 100644
index 0000000000000..2304c104dfd9e
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/SshPublicKeysClient.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.compute.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.util.Context;
+import com.azure.resourcemanager.compute.generated.fluent.models.SshPublicKeyGenerateKeyPairResultInner;
+import com.azure.resourcemanager.compute.generated.fluent.models.SshPublicKeyResourceInner;
+import com.azure.resourcemanager.compute.generated.models.SshPublicKeyUpdateResource;
+
+/** An instance of this class provides access to all the operations defined in SshPublicKeysClient. */
+public interface SshPublicKeysClient {
+ /**
+ * Lists all of the SSH public keys in the subscription. Use the nextLink property in the response to get the next
+ * page of SSH public keys.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list SSH public keys operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Lists all of the SSH public keys in the subscription. Use the nextLink property in the response to get the next
+ * page of SSH public keys.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list SSH public keys operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+
+ /**
+ * Lists all of the SSH public keys in the specified resource group. Use the nextLink property in the response to
+ * get the next page of SSH public keys.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list SSH public keys operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Lists all of the SSH public keys in the specified resource group. Use the nextLink property in the response to
+ * get the next page of SSH public keys.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list SSH public keys operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * Creates a new SSH public key resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param sshPublicKeyName The name of the SSH public key.
+ * @param parameters Parameters supplied to create the SSH public key.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the SSH public key.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SshPublicKeyResourceInner create(
+ String resourceGroupName, String sshPublicKeyName, SshPublicKeyResourceInner parameters);
+
+ /**
+ * Creates a new SSH public key resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param sshPublicKeyName The name of the SSH public key.
+ * @param parameters Parameters supplied to create the SSH public key.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the SSH public key.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createWithResponse(
+ String resourceGroupName, String sshPublicKeyName, SshPublicKeyResourceInner parameters, Context context);
+
+ /**
+ * Updates a new SSH public key resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param sshPublicKeyName The name of the SSH public key.
+ * @param parameters Parameters supplied to update the SSH public key.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the SSH public key.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SshPublicKeyResourceInner update(
+ String resourceGroupName, String sshPublicKeyName, SshPublicKeyUpdateResource parameters);
+
+ /**
+ * Updates a new SSH public key resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param sshPublicKeyName The name of the SSH public key.
+ * @param parameters Parameters supplied to update the SSH public key.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the SSH public key.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response updateWithResponse(
+ String resourceGroupName, String sshPublicKeyName, SshPublicKeyUpdateResource parameters, Context context);
+
+ /**
+ * Delete an SSH public key.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param sshPublicKeyName The name of the SSH public key.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 sshPublicKeyName);
+
+ /**
+ * Delete an SSH public key.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param sshPublicKeyName The name of the SSH public key.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(String resourceGroupName, String sshPublicKeyName, Context context);
+
+ /**
+ * Retrieves information about an SSH public key.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param sshPublicKeyName The name of the SSH public key.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the SSH public key.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SshPublicKeyResourceInner getByResourceGroup(String resourceGroupName, String sshPublicKeyName);
+
+ /**
+ * Retrieves information about an SSH public key.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param sshPublicKeyName The name of the SSH public key.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specifies information about the SSH public key.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName, String sshPublicKeyName, Context context);
+
+ /**
+ * Generates and returns a public/private key pair and populates the SSH public key resource with the public key.
+ * The length of the key will be 3072 bits. This operation can only be performed once per SSH public key resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param sshPublicKeyName The name of the SSH public key.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response from generation of an SSH key pair.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SshPublicKeyGenerateKeyPairResultInner generateKeyPair(String resourceGroupName, String sshPublicKeyName);
+
+ /**
+ * Generates and returns a public/private key pair and populates the SSH public key resource with the public key.
+ * The length of the key will be 3072 bits. This operation can only be performed once per SSH public key resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param sshPublicKeyName The name of the SSH public key.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response from generation of an SSH key pair.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response generateKeyPairWithResponse(
+ String resourceGroupName, String sshPublicKeyName, Context context);
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/UsagesClient.java b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/UsagesClient.java
new file mode 100644
index 0000000000000..6a1b8989b5c59
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/UsagesClient.java
@@ -0,0 +1,41 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.compute.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.compute.generated.fluent.models.UsageInner;
+
+/** An instance of this class provides access to all the operations defined in UsagesClient. */
+public interface UsagesClient {
+ /**
+ * Gets, for the specified location, the current compute resource usage information as well as the limits for
+ * compute resources under the subscription.
+ *
+ * @param location The location for which resource usage is queried.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List Usages operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String location);
+
+ /**
+ * Gets, for the specified location, the current compute resource usage information as well as the limits for
+ * compute resources under the subscription.
+ *
+ * @param location The location for which resource usage is queried.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List Usages operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String location, Context context);
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/VirtualMachineExtensionImagesClient.java b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/VirtualMachineExtensionImagesClient.java
new file mode 100644
index 0000000000000..ad0ac0cc39091
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/VirtualMachineExtensionImagesClient.java
@@ -0,0 +1,114 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.compute.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.compute.generated.fluent.models.VirtualMachineExtensionImageInner;
+import java.util.List;
+
+/** An instance of this class provides access to all the operations defined in VirtualMachineExtensionImagesClient. */
+public interface VirtualMachineExtensionImagesClient {
+ /**
+ * Gets a virtual machine extension image.
+ *
+ * @param location The name of a supported Azure region.
+ * @param publisherName The publisherName parameter.
+ * @param type The type parameter.
+ * @param version The version parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 virtual machine extension image.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VirtualMachineExtensionImageInner get(String location, String publisherName, String type, String version);
+
+ /**
+ * Gets a virtual machine extension image.
+ *
+ * @param location The name of a supported Azure region.
+ * @param publisherName The publisherName parameter.
+ * @param type The type parameter.
+ * @param version The version parameter.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 virtual machine extension image.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String location, String publisherName, String type, String version, Context context);
+
+ /**
+ * Gets a list of virtual machine extension image types.
+ *
+ * @param location The name of a supported Azure region.
+ * @param publisherName The publisherName parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of virtual machine extension image types.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ List listTypes(String location, String publisherName);
+
+ /**
+ * Gets a list of virtual machine extension image types.
+ *
+ * @param location The name of a supported Azure region.
+ * @param publisherName The publisherName parameter.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of virtual machine extension image types.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response> listTypesWithResponse(
+ String location, String publisherName, Context context);
+
+ /**
+ * Gets a list of virtual machine extension image versions.
+ *
+ * @param location The name of a supported Azure region.
+ * @param publisherName The publisherName parameter.
+ * @param type The type parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of virtual machine extension image versions.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ List listVersions(String location, String publisherName, String type);
+
+ /**
+ * Gets a list of virtual machine extension image versions.
+ *
+ * @param location The name of a supported Azure region.
+ * @param publisherName The publisherName parameter.
+ * @param type The type parameter.
+ * @param filter The filter to apply on the operation.
+ * @param top The top parameter.
+ * @param orderby The orderby parameter.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of virtual machine extension image versions.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response> listVersionsWithResponse(
+ String location,
+ String publisherName,
+ String type,
+ String filter,
+ Integer top,
+ String orderby,
+ Context context);
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/VirtualMachineExtensionsClient.java b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/VirtualMachineExtensionsClient.java
new file mode 100644
index 0000000000000..f408354560fbd
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/VirtualMachineExtensionsClient.java
@@ -0,0 +1,295 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.compute.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+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.compute.generated.fluent.models.VirtualMachineExtensionInner;
+import com.azure.resourcemanager.compute.generated.fluent.models.VirtualMachineExtensionsListResultInner;
+import com.azure.resourcemanager.compute.generated.models.VirtualMachineExtensionUpdate;
+
+/** An instance of this class provides access to all the operations defined in VirtualMachineExtensionsClient. */
+public interface VirtualMachineExtensionsClient {
+ /**
+ * The operation to create or update the extension.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param vmName The name of the virtual machine where the extension should be created or updated.
+ * @param vmExtensionName The name of the virtual machine extension.
+ * @param extensionParameters Parameters supplied to the Create Virtual Machine Extension operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return describes a Virtual Machine Extension.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, VirtualMachineExtensionInner> beginCreateOrUpdate(
+ String resourceGroupName,
+ String vmName,
+ String vmExtensionName,
+ VirtualMachineExtensionInner extensionParameters);
+
+ /**
+ * The operation to create or update the extension.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param vmName The name of the virtual machine where the extension should be created or updated.
+ * @param vmExtensionName The name of the virtual machine extension.
+ * @param extensionParameters Parameters supplied to the Create Virtual Machine Extension operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return describes a Virtual Machine Extension.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, VirtualMachineExtensionInner> beginCreateOrUpdate(
+ String resourceGroupName,
+ String vmName,
+ String vmExtensionName,
+ VirtualMachineExtensionInner extensionParameters,
+ Context context);
+
+ /**
+ * The operation to create or update the extension.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param vmName The name of the virtual machine where the extension should be created or updated.
+ * @param vmExtensionName The name of the virtual machine extension.
+ * @param extensionParameters Parameters supplied to the Create Virtual Machine Extension operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return describes a Virtual Machine Extension.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VirtualMachineExtensionInner createOrUpdate(
+ String resourceGroupName,
+ String vmName,
+ String vmExtensionName,
+ VirtualMachineExtensionInner extensionParameters);
+
+ /**
+ * The operation to create or update the extension.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param vmName The name of the virtual machine where the extension should be created or updated.
+ * @param vmExtensionName The name of the virtual machine extension.
+ * @param extensionParameters Parameters supplied to the Create Virtual Machine Extension operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return describes a Virtual Machine Extension.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VirtualMachineExtensionInner createOrUpdate(
+ String resourceGroupName,
+ String vmName,
+ String vmExtensionName,
+ VirtualMachineExtensionInner extensionParameters,
+ Context context);
+
+ /**
+ * The operation to update the extension.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param vmName The name of the virtual machine where the extension should be updated.
+ * @param vmExtensionName The name of the virtual machine extension.
+ * @param extensionParameters Parameters supplied to the Update Virtual Machine Extension operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return describes a Virtual Machine Extension.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, VirtualMachineExtensionInner> beginUpdate(
+ String resourceGroupName,
+ String vmName,
+ String vmExtensionName,
+ VirtualMachineExtensionUpdate extensionParameters);
+
+ /**
+ * The operation to update the extension.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param vmName The name of the virtual machine where the extension should be updated.
+ * @param vmExtensionName The name of the virtual machine extension.
+ * @param extensionParameters Parameters supplied to the Update Virtual Machine Extension operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return describes a Virtual Machine Extension.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, VirtualMachineExtensionInner> beginUpdate(
+ String resourceGroupName,
+ String vmName,
+ String vmExtensionName,
+ VirtualMachineExtensionUpdate extensionParameters,
+ Context context);
+
+ /**
+ * The operation to update the extension.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param vmName The name of the virtual machine where the extension should be updated.
+ * @param vmExtensionName The name of the virtual machine extension.
+ * @param extensionParameters Parameters supplied to the Update Virtual Machine Extension operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return describes a Virtual Machine Extension.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VirtualMachineExtensionInner update(
+ String resourceGroupName,
+ String vmName,
+ String vmExtensionName,
+ VirtualMachineExtensionUpdate extensionParameters);
+
+ /**
+ * The operation to update the extension.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param vmName The name of the virtual machine where the extension should be updated.
+ * @param vmExtensionName The name of the virtual machine extension.
+ * @param extensionParameters Parameters supplied to the Update Virtual Machine Extension operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return describes a Virtual Machine Extension.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VirtualMachineExtensionInner update(
+ String resourceGroupName,
+ String vmName,
+ String vmExtensionName,
+ VirtualMachineExtensionUpdate extensionParameters,
+ Context context);
+
+ /**
+ * The operation to delete the extension.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param vmName The name of the virtual machine where the extension should be deleted.
+ * @param vmExtensionName The name of the virtual machine extension.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String vmName, String vmExtensionName);
+
+ /**
+ * The operation to delete the extension.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param vmName The name of the virtual machine where the extension should be deleted.
+ * @param vmExtensionName The name of the virtual machine extension.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String vmName, String vmExtensionName, Context context);
+
+ /**
+ * The operation to delete the extension.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param vmName The name of the virtual machine where the extension should be deleted.
+ * @param vmExtensionName The name of the virtual machine extension.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 vmName, String vmExtensionName);
+
+ /**
+ * The operation to delete the extension.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param vmName The name of the virtual machine where the extension should be deleted.
+ * @param vmExtensionName The name of the virtual machine extension.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 vmName, String vmExtensionName, Context context);
+
+ /**
+ * The operation to get the extension.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param vmName The name of the virtual machine containing the extension.
+ * @param vmExtensionName The name of the virtual machine extension.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return describes a Virtual Machine Extension.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VirtualMachineExtensionInner get(String resourceGroupName, String vmName, String vmExtensionName);
+
+ /**
+ * The operation to get the extension.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param vmName The name of the virtual machine containing the extension.
+ * @param vmExtensionName The name of the virtual machine extension.
+ * @param expand The expand expression to apply on the operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return describes a Virtual Machine Extension.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String vmName, String vmExtensionName, String expand, Context context);
+
+ /**
+ * The operation to get all extensions of a Virtual Machine.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param vmName The name of the virtual machine containing the extension.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List Extension operation response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VirtualMachineExtensionsListResultInner list(String resourceGroupName, String vmName);
+
+ /**
+ * The operation to get all extensions of a Virtual Machine.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param vmName The name of the virtual machine containing the extension.
+ * @param expand The expand expression to apply on the operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List Extension operation response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response listWithResponse(
+ String resourceGroupName, String vmName, String expand, Context context);
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/VirtualMachineImagesClient.java b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/VirtualMachineImagesClient.java
new file mode 100644
index 0000000000000..b602ce62b4504
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/VirtualMachineImagesClient.java
@@ -0,0 +1,175 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.compute.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.compute.generated.fluent.models.VirtualMachineImageInner;
+import com.azure.resourcemanager.compute.generated.fluent.models.VirtualMachineImageResourceInner;
+import java.util.List;
+
+/** An instance of this class provides access to all the operations defined in VirtualMachineImagesClient. */
+public interface VirtualMachineImagesClient {
+ /**
+ * Gets a virtual machine image.
+ *
+ * @param location The name of a supported Azure region.
+ * @param publisherName A valid image publisher.
+ * @param offer A valid image publisher offer.
+ * @param skus A valid image SKU.
+ * @param version A valid image SKU version.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 virtual machine image.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VirtualMachineImageInner get(String location, String publisherName, String offer, String skus, String version);
+
+ /**
+ * Gets a virtual machine image.
+ *
+ * @param location The name of a supported Azure region.
+ * @param publisherName A valid image publisher.
+ * @param offer A valid image publisher offer.
+ * @param skus A valid image SKU.
+ * @param version A valid image SKU version.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 virtual machine image.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String location, String publisherName, String offer, String skus, String version, Context context);
+
+ /**
+ * Gets a list of all virtual machine image versions for the specified location, publisher, offer, and SKU.
+ *
+ * @param location The name of a supported Azure region.
+ * @param publisherName A valid image publisher.
+ * @param offer A valid image publisher offer.
+ * @param skus A valid image SKU.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of all virtual machine image versions for the specified location, publisher, offer, and SKU.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ List list(String location, String publisherName, String offer, String skus);
+
+ /**
+ * Gets a list of all virtual machine image versions for the specified location, publisher, offer, and SKU.
+ *
+ * @param location The name of a supported Azure region.
+ * @param publisherName A valid image publisher.
+ * @param offer A valid image publisher offer.
+ * @param skus A valid image SKU.
+ * @param expand The expand expression to apply on the operation.
+ * @param top The top parameter.
+ * @param orderby The orderby parameter.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of all virtual machine image versions for the specified location, publisher, offer, and SKU.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response> listWithResponse(
+ String location,
+ String publisherName,
+ String offer,
+ String skus,
+ String expand,
+ Integer top,
+ String orderby,
+ Context context);
+
+ /**
+ * Gets a list of virtual machine image offers for the specified location and publisher.
+ *
+ * @param location The name of a supported Azure region.
+ * @param publisherName A valid image publisher.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of virtual machine image offers for the specified location and publisher.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ List listOffers(String location, String publisherName);
+
+ /**
+ * Gets a list of virtual machine image offers for the specified location and publisher.
+ *
+ * @param location The name of a supported Azure region.
+ * @param publisherName A valid image publisher.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of virtual machine image offers for the specified location and publisher.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response> listOffersWithResponse(
+ String location, String publisherName, Context context);
+
+ /**
+ * Gets a list of virtual machine image publishers for the specified Azure location.
+ *
+ * @param location The name of a supported Azure region.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of virtual machine image publishers for the specified Azure location.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ List listPublishers(String location);
+
+ /**
+ * Gets a list of virtual machine image publishers for the specified Azure location.
+ *
+ * @param location The name of a supported Azure region.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of virtual machine image publishers for the specified Azure location.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response> listPublishersWithResponse(String location, Context context);
+
+ /**
+ * Gets a list of virtual machine image SKUs for the specified location, publisher, and offer.
+ *
+ * @param location The name of a supported Azure region.
+ * @param publisherName A valid image publisher.
+ * @param offer A valid image publisher offer.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of virtual machine image SKUs for the specified location, publisher, and offer.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ List listSkus(String location, String publisherName, String offer);
+
+ /**
+ * Gets a list of virtual machine image SKUs for the specified location, publisher, and offer.
+ *
+ * @param location The name of a supported Azure region.
+ * @param publisherName A valid image publisher.
+ * @param offer A valid image publisher offer.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of virtual machine image SKUs for the specified location, publisher, and offer.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response> listSkusWithResponse(
+ String location, String publisherName, String offer, Context context);
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/VirtualMachineImagesEdgeZonesClient.java b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/VirtualMachineImagesEdgeZonesClient.java
new file mode 100644
index 0000000000000..0c5d3b45d78b4
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/VirtualMachineImagesEdgeZonesClient.java
@@ -0,0 +1,210 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.compute.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.compute.generated.fluent.models.VirtualMachineImageInner;
+import com.azure.resourcemanager.compute.generated.fluent.models.VirtualMachineImageResourceInner;
+import java.util.List;
+
+/** An instance of this class provides access to all the operations defined in VirtualMachineImagesEdgeZonesClient. */
+public interface VirtualMachineImagesEdgeZonesClient {
+ /**
+ * Gets a virtual machine image in an edge zone.
+ *
+ * @param location The name of a supported Azure region.
+ * @param edgeZone The name of the edge zone.
+ * @param publisherName A valid image publisher.
+ * @param offer A valid image publisher offer.
+ * @param skus A valid image SKU.
+ * @param version A valid image SKU version.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a virtual machine image in an edge zone.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VirtualMachineImageInner get(
+ String location, String edgeZone, String publisherName, String offer, String skus, String version);
+
+ /**
+ * Gets a virtual machine image in an edge zone.
+ *
+ * @param location The name of a supported Azure region.
+ * @param edgeZone The name of the edge zone.
+ * @param publisherName A valid image publisher.
+ * @param offer A valid image publisher offer.
+ * @param skus A valid image SKU.
+ * @param version A valid image SKU version.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a virtual machine image in an edge zone.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String location,
+ String edgeZone,
+ String publisherName,
+ String offer,
+ String skus,
+ String version,
+ Context context);
+
+ /**
+ * Gets a list of all virtual machine image versions for the specified location, edge zone, publisher, offer, and
+ * SKU.
+ *
+ * @param location The name of a supported Azure region.
+ * @param edgeZone The name of the edge zone.
+ * @param publisherName A valid image publisher.
+ * @param offer A valid image publisher offer.
+ * @param skus A valid image SKU.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of all virtual machine image versions for the specified location, edge zone, publisher, offer, and
+ * SKU.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ List list(
+ String location, String edgeZone, String publisherName, String offer, String skus);
+
+ /**
+ * Gets a list of all virtual machine image versions for the specified location, edge zone, publisher, offer, and
+ * SKU.
+ *
+ * @param location The name of a supported Azure region.
+ * @param edgeZone The name of the edge zone.
+ * @param publisherName A valid image publisher.
+ * @param offer A valid image publisher offer.
+ * @param skus A valid image SKU.
+ * @param expand The expand expression to apply on the operation.
+ * @param top An integer value specifying the number of images to return that matches supplied values.
+ * @param orderby Specifies the order of the results returned. Formatted as an OData query.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of all virtual machine image versions for the specified location, edge zone, publisher, offer, and
+ * SKU.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response> listWithResponse(
+ String location,
+ String edgeZone,
+ String publisherName,
+ String offer,
+ String skus,
+ String expand,
+ Integer top,
+ String orderby,
+ Context context);
+
+ /**
+ * Gets a list of virtual machine image offers for the specified location, edge zone and publisher.
+ *
+ * @param location The name of a supported Azure region.
+ * @param edgeZone The name of the edge zone.
+ * @param publisherName A valid image publisher.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.compute.generated.models.ApiErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of virtual machine image offers for the specified location, edge zone and publisher.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ List