scopes = new ArrayList<>();
+ private RetryPolicy retryPolicy;
+ private RetryOptions retryOptions;
+ private Duration defaultPollInterval;
+
+ private Configurable() {
+ }
+
+ /**
+ * Sets the http client.
+ *
+ * @param httpClient the HTTP client.
+ * @return the configurable object itself.
+ */
+ public Configurable withHttpClient(HttpClient httpClient) {
+ this.httpClient = Objects.requireNonNull(httpClient, "'httpClient' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Sets the logging options to the HTTP pipeline.
+ *
+ * @param httpLogOptions the HTTP log options.
+ * @return the configurable object itself.
+ */
+ public Configurable withLogOptions(HttpLogOptions httpLogOptions) {
+ this.httpLogOptions = Objects.requireNonNull(httpLogOptions, "'httpLogOptions' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Adds the pipeline policy to the HTTP pipeline.
+ *
+ * @param policy the HTTP pipeline policy.
+ * @return the configurable object itself.
+ */
+ public Configurable withPolicy(HttpPipelinePolicy policy) {
+ this.policies.add(Objects.requireNonNull(policy, "'policy' cannot be null."));
+ return this;
+ }
+
+ /**
+ * Adds the scope to permission sets.
+ *
+ * @param scope the scope.
+ * @return the configurable object itself.
+ */
+ public Configurable withScope(String scope) {
+ this.scopes.add(Objects.requireNonNull(scope, "'scope' cannot be null."));
+ return this;
+ }
+
+ /**
+ * Sets the retry policy to the HTTP pipeline.
+ *
+ * @param retryPolicy the HTTP pipeline retry policy.
+ * @return the configurable object itself.
+ */
+ public Configurable withRetryPolicy(RetryPolicy retryPolicy) {
+ this.retryPolicy = Objects.requireNonNull(retryPolicy, "'retryPolicy' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Sets the retry options for the HTTP pipeline retry policy.
+ *
+ * This setting has no effect, if retry policy is set via {@link #withRetryPolicy(RetryPolicy)}.
+ *
+ * @param retryOptions the retry options for the HTTP pipeline retry policy.
+ * @return the configurable object itself.
+ */
+ public Configurable withRetryOptions(RetryOptions retryOptions) {
+ this.retryOptions = Objects.requireNonNull(retryOptions, "'retryOptions' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Sets the default poll interval, used when service does not provide "Retry-After" header.
+ *
+ * @param defaultPollInterval the default poll interval.
+ * @return the configurable object itself.
+ */
+ public Configurable withDefaultPollInterval(Duration defaultPollInterval) {
+ this.defaultPollInterval =
+ Objects.requireNonNull(defaultPollInterval, "'defaultPollInterval' cannot be null.");
+ if (this.defaultPollInterval.isNegative()) {
+ throw LOGGER
+ .logExceptionAsError(new IllegalArgumentException("'defaultPollInterval' cannot be negative"));
+ }
+ return this;
+ }
+
+ /**
+ * Creates an instance of 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 (scopes.isEmpty()) {
+ scopes.add(profile.getEnvironment().getManagementEndpoint() + "/.default");
+ }
+ if (retryPolicy == null) {
+ if (retryOptions != null) {
+ retryPolicy = new RetryPolicy(retryOptions);
+ } else {
+ retryPolicy = new RetryPolicy("Retry-After", ChronoUnit.SECONDS);
+ }
+ }
+ List policies = new ArrayList<>();
+ policies.add(new UserAgentPolicy(userAgentBuilder.toString()));
+ policies.add(new AddHeadersFromContextPolicy());
+ policies.add(new RequestIdPolicy());
+ policies
+ .addAll(
+ this
+ .policies
+ .stream()
+ .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
+ .collect(Collectors.toList()));
+ HttpPolicyProviders.addBeforeRetryPolicies(policies);
+ policies.add(retryPolicy);
+ policies.add(new AddDatePolicy());
+ policies.add(new ArmChallengeAuthenticationPolicy(credential, scopes.toArray(new String[0])));
+ policies
+ .addAll(
+ this
+ .policies
+ .stream()
+ .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
+ .collect(Collectors.toList()));
+ HttpPolicyProviders.addAfterRetryPolicies(policies);
+ policies.add(new HttpLoggingPolicy(httpLogOptions));
+ HttpPipeline httpPipeline =
+ new HttpPipelineBuilder()
+ .httpClient(httpClient)
+ .policies(policies.toArray(new HttpPipelinePolicy[0]))
+ .build();
+ return new ComputeManager(httpPipeline, profile, defaultPollInterval);
+ }
+ }
+
+ /**
+ * Gets the resource collection API of Operations.
+ *
+ * @return Resource collection API of Operations.
+ */
+ public Operations operations() {
+ if (this.operations == null) {
+ this.operations = new OperationsImpl(clientObject.getOperations(), this);
+ }
+ return operations;
+ }
+
+ /**
+ * Gets the resource collection API of Usages.
+ *
+ * @return Resource collection API of Usages.
+ */
+ public Usages usages() {
+ if (this.usages == null) {
+ this.usages = new UsagesImpl(clientObject.getUsages(), this);
+ }
+ return usages;
+ }
+
+ /**
+ * Gets the resource collection API of VirtualMachineSizes.
+ *
+ * @return Resource collection API of VirtualMachineSizes.
+ */
+ public VirtualMachineSizes virtualMachineSizes() {
+ if (this.virtualMachineSizes == null) {
+ this.virtualMachineSizes = new VirtualMachineSizesImpl(clientObject.getVirtualMachineSizes(), this);
+ }
+ return virtualMachineSizes;
+ }
+
+ /**
+ * Gets the resource collection API of VirtualMachineScaleSets. It manages VirtualMachineScaleSet.
+ *
+ * @return Resource collection API of VirtualMachineScaleSets.
+ */
+ public VirtualMachineScaleSets virtualMachineScaleSets() {
+ if (this.virtualMachineScaleSets == null) {
+ this.virtualMachineScaleSets =
+ new VirtualMachineScaleSetsImpl(clientObject.getVirtualMachineScaleSets(), this);
+ }
+ return virtualMachineScaleSets;
+ }
+
+ /**
+ * Gets the resource collection API of VirtualMachineScaleSetExtensions. It manages VirtualMachineScaleSetExtension.
+ *
+ * @return Resource collection API of VirtualMachineScaleSetExtensions.
+ */
+ public VirtualMachineScaleSetExtensions virtualMachineScaleSetExtensions() {
+ if (this.virtualMachineScaleSetExtensions == null) {
+ this.virtualMachineScaleSetExtensions =
+ new VirtualMachineScaleSetExtensionsImpl(clientObject.getVirtualMachineScaleSetExtensions(), this);
+ }
+ return virtualMachineScaleSetExtensions;
+ }
+
+ /**
+ * Gets the resource collection API of VirtualMachineScaleSetRollingUpgrades.
+ *
+ * @return Resource collection API of VirtualMachineScaleSetRollingUpgrades.
+ */
+ public VirtualMachineScaleSetRollingUpgrades virtualMachineScaleSetRollingUpgrades() {
+ if (this.virtualMachineScaleSetRollingUpgrades == null) {
+ this.virtualMachineScaleSetRollingUpgrades =
+ new VirtualMachineScaleSetRollingUpgradesImpl(
+ clientObject.getVirtualMachineScaleSetRollingUpgrades(), this);
+ }
+ return virtualMachineScaleSetRollingUpgrades;
+ }
+
+ /**
+ * Gets the resource collection API of VirtualMachineScaleSetVMExtensions. It manages
+ * VirtualMachineScaleSetVMExtension.
+ *
+ * @return Resource collection API of VirtualMachineScaleSetVMExtensions.
+ */
+ public VirtualMachineScaleSetVMExtensions virtualMachineScaleSetVMExtensions() {
+ if (this.virtualMachineScaleSetVMExtensions == null) {
+ this.virtualMachineScaleSetVMExtensions =
+ new VirtualMachineScaleSetVMExtensionsImpl(clientObject.getVirtualMachineScaleSetVMExtensions(), this);
+ }
+ return virtualMachineScaleSetVMExtensions;
+ }
+
+ /**
+ * Gets the resource collection API of VirtualMachineScaleSetVMs.
+ *
+ * @return Resource collection API of VirtualMachineScaleSetVMs.
+ */
+ public VirtualMachineScaleSetVMs virtualMachineScaleSetVMs() {
+ if (this.virtualMachineScaleSetVMs == null) {
+ this.virtualMachineScaleSetVMs =
+ new VirtualMachineScaleSetVMsImpl(clientObject.getVirtualMachineScaleSetVMs(), this);
+ }
+ return virtualMachineScaleSetVMs;
+ }
+
+ /**
+ * Gets the resource collection API of VirtualMachineExtensions. It manages VirtualMachineExtension.
+ *
+ * @return Resource collection API of VirtualMachineExtensions.
+ */
+ public VirtualMachineExtensions virtualMachineExtensions() {
+ if (this.virtualMachineExtensions == null) {
+ this.virtualMachineExtensions =
+ new VirtualMachineExtensionsImpl(clientObject.getVirtualMachineExtensions(), this);
+ }
+ return virtualMachineExtensions;
+ }
+
+ /**
+ * Gets the resource collection API of VirtualMachines. It manages VirtualMachine.
+ *
+ * @return Resource collection API of VirtualMachines.
+ */
+ public VirtualMachines virtualMachines() {
+ if (this.virtualMachines == null) {
+ this.virtualMachines = new VirtualMachinesImpl(clientObject.getVirtualMachines(), this);
+ }
+ return virtualMachines;
+ }
+
+ /**
+ * Gets the resource collection API of VirtualMachineImages.
+ *
+ * @return Resource collection API of VirtualMachineImages.
+ */
+ public VirtualMachineImages virtualMachineImages() {
+ if (this.virtualMachineImages == null) {
+ this.virtualMachineImages = new VirtualMachineImagesImpl(clientObject.getVirtualMachineImages(), this);
+ }
+ return virtualMachineImages;
+ }
+
+ /**
+ * Gets the resource collection API of VirtualMachineImagesEdgeZones.
+ *
+ * @return Resource collection API of VirtualMachineImagesEdgeZones.
+ */
+ public VirtualMachineImagesEdgeZones virtualMachineImagesEdgeZones() {
+ if (this.virtualMachineImagesEdgeZones == null) {
+ this.virtualMachineImagesEdgeZones =
+ new VirtualMachineImagesEdgeZonesImpl(clientObject.getVirtualMachineImagesEdgeZones(), this);
+ }
+ return virtualMachineImagesEdgeZones;
+ }
+
+ /**
+ * Gets the resource collection API of VirtualMachineExtensionImages.
+ *
+ * @return Resource collection API of VirtualMachineExtensionImages.
+ */
+ public VirtualMachineExtensionImages virtualMachineExtensionImages() {
+ if (this.virtualMachineExtensionImages == null) {
+ this.virtualMachineExtensionImages =
+ new VirtualMachineExtensionImagesImpl(clientObject.getVirtualMachineExtensionImages(), this);
+ }
+ return virtualMachineExtensionImages;
+ }
+
+ /**
+ * Gets the resource collection API of AvailabilitySets. It manages AvailabilitySet.
+ *
+ * @return Resource collection API of AvailabilitySets.
+ */
+ public AvailabilitySets availabilitySets() {
+ if (this.availabilitySets == null) {
+ this.availabilitySets = new AvailabilitySetsImpl(clientObject.getAvailabilitySets(), this);
+ }
+ return availabilitySets;
+ }
+
+ /**
+ * Gets the resource collection API of ProximityPlacementGroups. It manages ProximityPlacementGroup.
+ *
+ * @return Resource collection API of ProximityPlacementGroups.
+ */
+ public ProximityPlacementGroups proximityPlacementGroups() {
+ if (this.proximityPlacementGroups == null) {
+ this.proximityPlacementGroups =
+ new ProximityPlacementGroupsImpl(clientObject.getProximityPlacementGroups(), this);
+ }
+ return proximityPlacementGroups;
+ }
+
+ /**
+ * Gets the resource collection API of DedicatedHostGroups. It manages DedicatedHostGroup.
+ *
+ * @return Resource collection API of DedicatedHostGroups.
+ */
+ public DedicatedHostGroups dedicatedHostGroups() {
+ if (this.dedicatedHostGroups == null) {
+ this.dedicatedHostGroups = new DedicatedHostGroupsImpl(clientObject.getDedicatedHostGroups(), this);
+ }
+ return dedicatedHostGroups;
+ }
+
+ /**
+ * Gets the resource collection API of DedicatedHosts. It manages DedicatedHost.
+ *
+ * @return Resource collection API of DedicatedHosts.
+ */
+ public DedicatedHosts dedicatedHosts() {
+ if (this.dedicatedHosts == null) {
+ this.dedicatedHosts = new DedicatedHostsImpl(clientObject.getDedicatedHosts(), this);
+ }
+ return dedicatedHosts;
+ }
+
+ /**
+ * Gets the resource collection API of SshPublicKeys. It manages SshPublicKeyResource.
+ *
+ * @return Resource collection API of SshPublicKeys.
+ */
+ public SshPublicKeys sshPublicKeys() {
+ if (this.sshPublicKeys == null) {
+ this.sshPublicKeys = new SshPublicKeysImpl(clientObject.getSshPublicKeys(), this);
+ }
+ return sshPublicKeys;
+ }
+
+ /**
+ * Gets the resource collection API of Images. It manages Image.
+ *
+ * @return Resource collection API of Images.
+ */
+ public Images images() {
+ if (this.images == null) {
+ this.images = new ImagesImpl(clientObject.getImages(), this);
+ }
+ return images;
+ }
+
+ /**
+ * Gets the resource collection API of RestorePointCollections. It manages RestorePointCollection.
+ *
+ * @return Resource collection API of RestorePointCollections.
+ */
+ public RestorePointCollections restorePointCollections() {
+ if (this.restorePointCollections == null) {
+ this.restorePointCollections =
+ new RestorePointCollectionsImpl(clientObject.getRestorePointCollections(), this);
+ }
+ return restorePointCollections;
+ }
+
+ /**
+ * Gets the resource collection API of RestorePoints. It manages RestorePoint.
+ *
+ * @return Resource collection API of RestorePoints.
+ */
+ public RestorePoints restorePoints() {
+ if (this.restorePoints == null) {
+ this.restorePoints = new RestorePointsImpl(clientObject.getRestorePoints(), this);
+ }
+ return restorePoints;
+ }
+
+ /**
+ * Gets the resource collection API of CapacityReservationGroups. It manages CapacityReservationGroup.
+ *
+ * @return Resource collection API of CapacityReservationGroups.
+ */
+ public CapacityReservationGroups capacityReservationGroups() {
+ if (this.capacityReservationGroups == null) {
+ this.capacityReservationGroups =
+ new CapacityReservationGroupsImpl(clientObject.getCapacityReservationGroups(), this);
+ }
+ return capacityReservationGroups;
+ }
+
+ /**
+ * Gets the resource collection API of CapacityReservations. It manages CapacityReservation.
+ *
+ * @return Resource collection API of CapacityReservations.
+ */
+ public CapacityReservations capacityReservations() {
+ if (this.capacityReservations == null) {
+ this.capacityReservations = new CapacityReservationsImpl(clientObject.getCapacityReservations(), this);
+ }
+ return capacityReservations;
+ }
+
+ /**
+ * Gets the resource collection API of LogAnalytics.
+ *
+ * @return Resource collection API of LogAnalytics.
+ */
+ public LogAnalytics logAnalytics() {
+ if (this.logAnalytics == null) {
+ this.logAnalytics = new LogAnalyticsImpl(clientObject.getLogAnalytics(), this);
+ }
+ return logAnalytics;
+ }
+
+ /**
+ * Gets the resource collection API of VirtualMachineRunCommands. It manages VirtualMachineRunCommand.
+ *
+ * @return Resource collection API of VirtualMachineRunCommands.
+ */
+ public VirtualMachineRunCommands virtualMachineRunCommands() {
+ if (this.virtualMachineRunCommands == null) {
+ this.virtualMachineRunCommands =
+ new VirtualMachineRunCommandsImpl(clientObject.getVirtualMachineRunCommands(), this);
+ }
+ return virtualMachineRunCommands;
+ }
+
+ /**
+ * Gets the resource collection API of VirtualMachineScaleSetVMRunCommands.
+ *
+ * @return Resource collection API of VirtualMachineScaleSetVMRunCommands.
+ */
+ public VirtualMachineScaleSetVMRunCommands virtualMachineScaleSetVMRunCommands() {
+ if (this.virtualMachineScaleSetVMRunCommands == null) {
+ this.virtualMachineScaleSetVMRunCommands =
+ new VirtualMachineScaleSetVMRunCommandsImpl(
+ clientObject.getVirtualMachineScaleSetVMRunCommands(), this);
+ }
+ return virtualMachineScaleSetVMRunCommands;
+ }
+
+ /**
+ * Gets the resource collection API of Disks. It manages Disk.
+ *
+ * @return Resource collection API of Disks.
+ */
+ public Disks disks() {
+ if (this.disks == null) {
+ this.disks = new DisksImpl(clientObject.getDisks(), this);
+ }
+ return disks;
+ }
+
+ /**
+ * Gets the resource collection API of DiskAccesses. It manages DiskAccess.
+ *
+ * @return Resource collection API of DiskAccesses.
+ */
+ public DiskAccesses diskAccesses() {
+ if (this.diskAccesses == null) {
+ this.diskAccesses = new DiskAccessesImpl(clientObject.getDiskAccesses(), this);
+ }
+ return diskAccesses;
+ }
+
+ /**
+ * Gets the resource collection API of DiskEncryptionSets. It manages DiskEncryptionSet.
+ *
+ * @return Resource collection API of DiskEncryptionSets.
+ */
+ public DiskEncryptionSets diskEncryptionSets() {
+ if (this.diskEncryptionSets == null) {
+ this.diskEncryptionSets = new DiskEncryptionSetsImpl(clientObject.getDiskEncryptionSets(), this);
+ }
+ return diskEncryptionSets;
+ }
+
+ /**
+ * Gets the resource collection API of DiskRestorePoints.
+ *
+ * @return Resource collection API of DiskRestorePoints.
+ */
+ public DiskRestorePoints diskRestorePoints() {
+ if (this.diskRestorePoints == null) {
+ this.diskRestorePoints = new DiskRestorePointsImpl(clientObject.getDiskRestorePoints(), this);
+ }
+ return diskRestorePoints;
+ }
+
+ /**
+ * Gets the resource collection API of Snapshots. It manages Snapshot.
+ *
+ * @return Resource collection API of Snapshots.
+ */
+ public Snapshots snapshots() {
+ if (this.snapshots == null) {
+ this.snapshots = new SnapshotsImpl(clientObject.getSnapshots(), this);
+ }
+ return snapshots;
+ }
+
+ /**
+ * Gets the resource collection API of ResourceSkus.
+ *
+ * @return Resource collection API of ResourceSkus.
+ */
+ public ResourceSkus resourceSkus() {
+ if (this.resourceSkus == null) {
+ this.resourceSkus = new ResourceSkusImpl(clientObject.getResourceSkus(), this);
+ }
+ return resourceSkus;
+ }
+
+ /**
+ * Gets the resource collection API of Galleries. It manages Gallery.
+ *
+ * @return Resource collection API of Galleries.
+ */
+ public Galleries galleries() {
+ if (this.galleries == null) {
+ this.galleries = new GalleriesImpl(clientObject.getGalleries(), this);
+ }
+ return galleries;
+ }
+
+ /**
+ * Gets the resource collection API of GalleryImages. It manages GalleryImage.
+ *
+ * @return Resource collection API of GalleryImages.
+ */
+ public GalleryImages galleryImages() {
+ if (this.galleryImages == null) {
+ this.galleryImages = new GalleryImagesImpl(clientObject.getGalleryImages(), this);
+ }
+ return galleryImages;
+ }
+
+ /**
+ * Gets the resource collection API of GalleryImageVersions. It manages GalleryImageVersion.
+ *
+ * @return Resource collection API of GalleryImageVersions.
+ */
+ public GalleryImageVersions galleryImageVersions() {
+ if (this.galleryImageVersions == null) {
+ this.galleryImageVersions = new GalleryImageVersionsImpl(clientObject.getGalleryImageVersions(), this);
+ }
+ return galleryImageVersions;
+ }
+
+ /**
+ * Gets the resource collection API of GalleryApplications. It manages GalleryApplication.
+ *
+ * @return Resource collection API of GalleryApplications.
+ */
+ public GalleryApplications galleryApplications() {
+ if (this.galleryApplications == null) {
+ this.galleryApplications = new GalleryApplicationsImpl(clientObject.getGalleryApplications(), this);
+ }
+ return galleryApplications;
+ }
+
+ /**
+ * Gets the resource collection API of GalleryApplicationVersions. It manages GalleryApplicationVersion.
+ *
+ * @return Resource collection API of GalleryApplicationVersions.
+ */
+ public GalleryApplicationVersions galleryApplicationVersions() {
+ if (this.galleryApplicationVersions == null) {
+ this.galleryApplicationVersions =
+ new GalleryApplicationVersionsImpl(clientObject.getGalleryApplicationVersions(), this);
+ }
+ return galleryApplicationVersions;
+ }
+
+ /**
+ * Gets the resource collection API of GallerySharingProfiles.
+ *
+ * @return Resource collection API of GallerySharingProfiles.
+ */
+ public GallerySharingProfiles gallerySharingProfiles() {
+ if (this.gallerySharingProfiles == null) {
+ this.gallerySharingProfiles =
+ new GallerySharingProfilesImpl(clientObject.getGallerySharingProfiles(), this);
+ }
+ return gallerySharingProfiles;
+ }
+
+ /**
+ * Gets the resource collection API of SharedGalleries.
+ *
+ * @return Resource collection API of SharedGalleries.
+ */
+ public SharedGalleries sharedGalleries() {
+ if (this.sharedGalleries == null) {
+ this.sharedGalleries = new SharedGalleriesImpl(clientObject.getSharedGalleries(), this);
+ }
+ return sharedGalleries;
+ }
+
+ /**
+ * Gets the resource collection API of SharedGalleryImages.
+ *
+ * @return Resource collection API of SharedGalleryImages.
+ */
+ public SharedGalleryImages sharedGalleryImages() {
+ if (this.sharedGalleryImages == null) {
+ this.sharedGalleryImages = new SharedGalleryImagesImpl(clientObject.getSharedGalleryImages(), this);
+ }
+ return sharedGalleryImages;
+ }
+
+ /**
+ * Gets the resource collection API of SharedGalleryImageVersions.
+ *
+ * @return Resource collection API of SharedGalleryImageVersions.
+ */
+ public SharedGalleryImageVersions sharedGalleryImageVersions() {
+ if (this.sharedGalleryImageVersions == null) {
+ this.sharedGalleryImageVersions =
+ new SharedGalleryImageVersionsImpl(clientObject.getSharedGalleryImageVersions(), this);
+ }
+ return sharedGalleryImageVersions;
+ }
+
+ /**
+ * Gets the resource collection API of CommunityGalleries.
+ *
+ * @return Resource collection API of CommunityGalleries.
+ */
+ public CommunityGalleries communityGalleries() {
+ if (this.communityGalleries == null) {
+ this.communityGalleries = new CommunityGalleriesImpl(clientObject.getCommunityGalleries(), this);
+ }
+ return communityGalleries;
+ }
+
+ /**
+ * Gets the resource collection API of CommunityGalleryImages.
+ *
+ * @return Resource collection API of CommunityGalleryImages.
+ */
+ public CommunityGalleryImages communityGalleryImages() {
+ if (this.communityGalleryImages == null) {
+ this.communityGalleryImages =
+ new CommunityGalleryImagesImpl(clientObject.getCommunityGalleryImages(), this);
+ }
+ return communityGalleryImages;
+ }
+
+ /**
+ * Gets the resource collection API of CommunityGalleryImageVersions.
+ *
+ * @return Resource collection API of CommunityGalleryImageVersions.
+ */
+ public CommunityGalleryImageVersions communityGalleryImageVersions() {
+ if (this.communityGalleryImageVersions == null) {
+ this.communityGalleryImageVersions =
+ new CommunityGalleryImageVersionsImpl(clientObject.getCommunityGalleryImageVersions(), this);
+ }
+ return communityGalleryImageVersions;
+ }
+
+ /**
+ * Gets the resource collection API of CloudServiceRoleInstances.
+ *
+ * @return Resource collection API of CloudServiceRoleInstances.
+ */
+ public CloudServiceRoleInstances cloudServiceRoleInstances() {
+ if (this.cloudServiceRoleInstances == null) {
+ this.cloudServiceRoleInstances =
+ new CloudServiceRoleInstancesImpl(clientObject.getCloudServiceRoleInstances(), this);
+ }
+ return cloudServiceRoleInstances;
+ }
+
+ /**
+ * Gets the resource collection API of CloudServiceRoles.
+ *
+ * @return Resource collection API of CloudServiceRoles.
+ */
+ public CloudServiceRoles cloudServiceRoles() {
+ if (this.cloudServiceRoles == null) {
+ this.cloudServiceRoles = new CloudServiceRolesImpl(clientObject.getCloudServiceRoles(), this);
+ }
+ return cloudServiceRoles;
+ }
+
+ /**
+ * Gets the resource collection API of CloudServices. It manages CloudService.
+ *
+ * @return Resource collection API of CloudServices.
+ */
+ public CloudServices cloudServices() {
+ if (this.cloudServices == null) {
+ this.cloudServices = new CloudServicesImpl(clientObject.getCloudServices(), this);
+ }
+ return cloudServices;
+ }
+
+ /**
+ * Gets the resource collection API of CloudServicesUpdateDomains.
+ *
+ * @return Resource collection API of CloudServicesUpdateDomains.
+ */
+ public CloudServicesUpdateDomains cloudServicesUpdateDomains() {
+ if (this.cloudServicesUpdateDomains == null) {
+ this.cloudServicesUpdateDomains =
+ new CloudServicesUpdateDomainsImpl(clientObject.getCloudServicesUpdateDomains(), this);
+ }
+ return cloudServicesUpdateDomains;
+ }
+
+ /**
+ * Gets the resource collection API of CloudServiceOperatingSystems.
+ *
+ * @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..36002820ade2b
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/AvailabilitySetsClient.java
@@ -0,0 +1,227 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.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.
+ * @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 availability set that the virtual machine should be assigned to along
+ * with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateWithResponse(
+ String resourceGroupName, String availabilitySetName, AvailabilitySetInner parameters, Context context);
+
+ /**
+ * 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.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 availability set that the virtual machine should be assigned to.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AvailabilitySetInner createOrUpdate(
+ String resourceGroupName, String availabilitySetName, AvailabilitySetInner 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.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 availability set that the virtual machine should be assigned to along
+ * with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response updateWithResponse(
+ String resourceGroupName, String availabilitySetName, AvailabilitySetUpdate 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.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 availability set that the virtual machine should be assigned to.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AvailabilitySetInner update(String resourceGroupName, String availabilitySetName, AvailabilitySetUpdate parameters);
+
+ /**
+ * 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.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 {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(String resourceGroupName, String availabilitySetName, 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.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 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.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 availability set that the virtual machine should be assigned to along
+ * with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ 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.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 availability set that the virtual machine should be assigned to.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AvailabilitySetInner getByResourceGroup(String resourceGroupName, String availabilitySetName);
+
+ /**
+ * Lists all availability sets in 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 Availability Set operation response as paginated response with {@link PagedIterable}.
+ */
+ @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.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 Availability Set operation response as paginated response with {@link PagedIterable}.
+ */
+ @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.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 Availability Set operation response as paginated response with {@link PagedIterable}.
+ */
+ @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.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 Availability Set operation response as paginated response with {@link PagedIterable}.
+ */
+ @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.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 Virtual Machine operation response as paginated response with {@link PagedIterable}.
+ */
+ @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.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 Virtual Machine operation response as paginated response with {@link PagedIterable}.
+ */
+ @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/CapacityReservationGroupsClient.java b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/CapacityReservationGroupsClient.java
new file mode 100644
index 0000000000000..0f2a58550c039
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/CapacityReservationGroupsClient.java
@@ -0,0 +1,236 @@
+// 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.CapacityReservationGroupInner;
+import com.azure.resourcemanager.compute.generated.models.CapacityReservationGroupInstanceViewTypes;
+import com.azure.resourcemanager.compute.generated.models.CapacityReservationGroupUpdate;
+import com.azure.resourcemanager.compute.generated.models.ExpandTypesForGetCapacityReservationGroups;
+
+/** An instance of this class provides access to all the operations defined in CapacityReservationGroupsClient. */
+public interface CapacityReservationGroupsClient {
+ /**
+ * The operation to create or update a capacity reservation group. When updating a capacity reservation group, only
+ * tags may be modified. Please refer to https://aka.ms/CapacityReservation for more details.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param capacityReservationGroupName The name of the capacity reservation group.
+ * @param parameters Parameters supplied to the Create capacity reservation 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 specifies information about the capacity reservation group that the capacity reservations should be
+ * assigned to along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateWithResponse(
+ String resourceGroupName,
+ String capacityReservationGroupName,
+ CapacityReservationGroupInner parameters,
+ Context context);
+
+ /**
+ * The operation to create or update a capacity reservation group. When updating a capacity reservation group, only
+ * tags may be modified. Please refer to https://aka.ms/CapacityReservation for more details.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param capacityReservationGroupName The name of the capacity reservation group.
+ * @param parameters Parameters supplied to the Create capacity reservation 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 specifies information about the capacity reservation group that the capacity reservations should be
+ * assigned to.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CapacityReservationGroupInner createOrUpdate(
+ String resourceGroupName, String capacityReservationGroupName, CapacityReservationGroupInner parameters);
+
+ /**
+ * The operation to update a capacity reservation group. When updating a capacity reservation group, only tags may
+ * be modified.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param capacityReservationGroupName The name of the capacity reservation group.
+ * @param parameters Parameters supplied to the Update capacity reservation Group 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 capacity reservation group that the capacity reservations should be
+ * assigned to along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response updateWithResponse(
+ String resourceGroupName,
+ String capacityReservationGroupName,
+ CapacityReservationGroupUpdate parameters,
+ Context context);
+
+ /**
+ * The operation to update a capacity reservation group. When updating a capacity reservation group, only tags may
+ * be modified.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param capacityReservationGroupName The name of the capacity reservation group.
+ * @param parameters Parameters supplied to the Update capacity reservation Group 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 capacity reservation group that the capacity reservations should be
+ * assigned to.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CapacityReservationGroupInner update(
+ String resourceGroupName, String capacityReservationGroupName, CapacityReservationGroupUpdate parameters);
+
+ /**
+ * The operation to delete a capacity reservation group. This operation is allowed only if all the associated
+ * resources are disassociated from the reservation group and all capacity reservations under the reservation group
+ * have also been deleted. Please refer to https://aka.ms/CapacityReservation for more details.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param capacityReservationGroupName The name of the capacity reservation 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 {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(String resourceGroupName, String capacityReservationGroupName, Context context);
+
+ /**
+ * The operation to delete a capacity reservation group. This operation is allowed only if all the associated
+ * resources are disassociated from the reservation group and all capacity reservations under the reservation group
+ * have also been deleted. Please refer to https://aka.ms/CapacityReservation for more details.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param capacityReservationGroupName The name of the capacity reservation 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String capacityReservationGroupName);
+
+ /**
+ * The operation that retrieves information about a capacity reservation group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param capacityReservationGroupName The name of the capacity reservation group.
+ * @param expand The expand expression to apply on the operation. 'InstanceView' will retrieve the list of instance
+ * views of the capacity reservations under the capacity reservation group which is a snapshot of the runtime
+ * properties of a capacity reservation that is managed by the platform and can change outside of control plane
+ * operations.
+ * @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 capacity reservation group that the capacity reservations should be
+ * assigned to along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName,
+ String capacityReservationGroupName,
+ CapacityReservationGroupInstanceViewTypes expand,
+ Context context);
+
+ /**
+ * The operation that retrieves information about a capacity reservation group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param capacityReservationGroupName The name of the capacity reservation 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 specifies information about the capacity reservation group that the capacity reservations should be
+ * assigned to.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CapacityReservationGroupInner getByResourceGroup(String resourceGroupName, String capacityReservationGroupName);
+
+ /**
+ * Lists all of the capacity reservation groups in the specified resource group. Use the nextLink property in the
+ * response to get the next page of capacity reservation groups.
+ *
+ * @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 capacity reservation group with resource group response as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Lists all of the capacity reservation groups in the specified resource group. Use the nextLink property in the
+ * response to get the next page of capacity reservation groups.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param expand The expand expression to apply on the operation. Based on the expand param(s) specified we return
+ * Virtual Machine or ScaleSet VM Instance or both resource Ids which are associated to capacity reservation
+ * group in the response.
+ * @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 capacity reservation group with resource group response as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(
+ String resourceGroupName, ExpandTypesForGetCapacityReservationGroups expand, Context context);
+
+ /**
+ * Lists all of the capacity reservation groups in the subscription. Use the nextLink property in the response to
+ * get the next page of capacity reservation groups.
+ *
+ * @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 capacity reservation group with resource group response as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Lists all of the capacity reservation groups in the subscription. Use the nextLink property in the response to
+ * get the next page of capacity reservation groups.
+ *
+ * @param expand The expand expression to apply on the operation. Based on the expand param(s) specified we return
+ * Virtual Machine or ScaleSet VM Instance or both resource Ids which are associated to capacity reservation
+ * group in the response.
+ * @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 capacity reservation group with resource group response as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(
+ ExpandTypesForGetCapacityReservationGroups expand, Context context);
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/CapacityReservationsClient.java b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/CapacityReservationsClient.java
new file mode 100644
index 0000000000000..5fa3e916a7f95
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/CapacityReservationsClient.java
@@ -0,0 +1,335 @@
+// 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.CapacityReservationInner;
+import com.azure.resourcemanager.compute.generated.models.CapacityReservationInstanceViewTypes;
+import com.azure.resourcemanager.compute.generated.models.CapacityReservationUpdate;
+
+/** An instance of this class provides access to all the operations defined in CapacityReservationsClient. */
+public interface CapacityReservationsClient {
+ /**
+ * The operation to create or update a capacity reservation. Please note some properties can be set only during
+ * capacity reservation creation. Please refer to https://aka.ms/CapacityReservation for more details.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param capacityReservationGroupName The name of the capacity reservation group.
+ * @param capacityReservationName The name of the capacity reservation.
+ * @param parameters Parameters supplied to the Create capacity reservation.
+ * @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 {@link SyncPoller} for polling of specifies information about the capacity reservation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CapacityReservationInner> beginCreateOrUpdate(
+ String resourceGroupName,
+ String capacityReservationGroupName,
+ String capacityReservationName,
+ CapacityReservationInner parameters);
+
+ /**
+ * The operation to create or update a capacity reservation. Please note some properties can be set only during
+ * capacity reservation creation. Please refer to https://aka.ms/CapacityReservation for more details.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param capacityReservationGroupName The name of the capacity reservation group.
+ * @param capacityReservationName The name of the capacity reservation.
+ * @param parameters Parameters supplied to the Create capacity reservation.
+ * @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 {@link SyncPoller} for polling of specifies information about the capacity reservation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CapacityReservationInner> beginCreateOrUpdate(
+ String resourceGroupName,
+ String capacityReservationGroupName,
+ String capacityReservationName,
+ CapacityReservationInner parameters,
+ Context context);
+
+ /**
+ * The operation to create or update a capacity reservation. Please note some properties can be set only during
+ * capacity reservation creation. Please refer to https://aka.ms/CapacityReservation for more details.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param capacityReservationGroupName The name of the capacity reservation group.
+ * @param capacityReservationName The name of the capacity reservation.
+ * @param parameters Parameters supplied to the Create capacity reservation.
+ * @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 capacity reservation.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CapacityReservationInner createOrUpdate(
+ String resourceGroupName,
+ String capacityReservationGroupName,
+ String capacityReservationName,
+ CapacityReservationInner parameters);
+
+ /**
+ * The operation to create or update a capacity reservation. Please note some properties can be set only during
+ * capacity reservation creation. Please refer to https://aka.ms/CapacityReservation for more details.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param capacityReservationGroupName The name of the capacity reservation group.
+ * @param capacityReservationName The name of the capacity reservation.
+ * @param parameters Parameters supplied to the Create capacity reservation.
+ * @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 capacity reservation.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CapacityReservationInner createOrUpdate(
+ String resourceGroupName,
+ String capacityReservationGroupName,
+ String capacityReservationName,
+ CapacityReservationInner parameters,
+ Context context);
+
+ /**
+ * The operation to update a capacity reservation.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param capacityReservationGroupName The name of the capacity reservation group.
+ * @param capacityReservationName The name of the capacity reservation.
+ * @param parameters Parameters supplied to the Update capacity reservation 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 {@link SyncPoller} for polling of specifies information about the capacity reservation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CapacityReservationInner> beginUpdate(
+ String resourceGroupName,
+ String capacityReservationGroupName,
+ String capacityReservationName,
+ CapacityReservationUpdate parameters);
+
+ /**
+ * The operation to update a capacity reservation.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param capacityReservationGroupName The name of the capacity reservation group.
+ * @param capacityReservationName The name of the capacity reservation.
+ * @param parameters Parameters supplied to the Update capacity reservation 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 {@link SyncPoller} for polling of specifies information about the capacity reservation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CapacityReservationInner> beginUpdate(
+ String resourceGroupName,
+ String capacityReservationGroupName,
+ String capacityReservationName,
+ CapacityReservationUpdate parameters,
+ Context context);
+
+ /**
+ * The operation to update a capacity reservation.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param capacityReservationGroupName The name of the capacity reservation group.
+ * @param capacityReservationName The name of the capacity reservation.
+ * @param parameters Parameters supplied to the Update capacity reservation 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 capacity reservation.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CapacityReservationInner update(
+ String resourceGroupName,
+ String capacityReservationGroupName,
+ String capacityReservationName,
+ CapacityReservationUpdate parameters);
+
+ /**
+ * The operation to update a capacity reservation.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param capacityReservationGroupName The name of the capacity reservation group.
+ * @param capacityReservationName The name of the capacity reservation.
+ * @param parameters Parameters supplied to the Update capacity reservation 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 capacity reservation.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CapacityReservationInner update(
+ String resourceGroupName,
+ String capacityReservationGroupName,
+ String capacityReservationName,
+ CapacityReservationUpdate parameters,
+ Context context);
+
+ /**
+ * The operation to delete a capacity reservation. This operation is allowed only when all the associated resources
+ * are disassociated from the capacity reservation. Please refer to https://aka.ms/CapacityReservation for more
+ * details.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param capacityReservationGroupName The name of the capacity reservation group.
+ * @param capacityReservationName The name of the capacity reservation.
+ * @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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String capacityReservationGroupName, String capacityReservationName);
+
+ /**
+ * The operation to delete a capacity reservation. This operation is allowed only when all the associated resources
+ * are disassociated from the capacity reservation. Please refer to https://aka.ms/CapacityReservation for more
+ * details.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param capacityReservationGroupName The name of the capacity reservation group.
+ * @param capacityReservationName The name of the capacity reservation.
+ * @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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String capacityReservationGroupName, String capacityReservationName, Context context);
+
+ /**
+ * The operation to delete a capacity reservation. This operation is allowed only when all the associated resources
+ * are disassociated from the capacity reservation. Please refer to https://aka.ms/CapacityReservation for more
+ * details.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param capacityReservationGroupName The name of the capacity reservation group.
+ * @param capacityReservationName The name of the capacity reservation.
+ * @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 capacityReservationGroupName, String capacityReservationName);
+
+ /**
+ * The operation to delete a capacity reservation. This operation is allowed only when all the associated resources
+ * are disassociated from the capacity reservation. Please refer to https://aka.ms/CapacityReservation for more
+ * details.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param capacityReservationGroupName The name of the capacity reservation group.
+ * @param capacityReservationName The name of the capacity reservation.
+ * @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 capacityReservationGroupName, String capacityReservationName, Context context);
+
+ /**
+ * The operation that retrieves information about the capacity reservation.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param capacityReservationGroupName The name of the capacity reservation group.
+ * @param capacityReservationName The name of the capacity reservation.
+ * @param expand The expand expression to apply on the operation. 'InstanceView' retrieves a snapshot of the runtime
+ * properties of the capacity reservation that is managed by the platform and can change outside of control
+ * plane operations.
+ * @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 capacity reservation along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName,
+ String capacityReservationGroupName,
+ String capacityReservationName,
+ CapacityReservationInstanceViewTypes expand,
+ Context context);
+
+ /**
+ * The operation that retrieves information about the capacity reservation.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param capacityReservationGroupName The name of the capacity reservation group.
+ * @param capacityReservationName The name of the capacity reservation.
+ * @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 capacity reservation.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CapacityReservationInner get(
+ String resourceGroupName, String capacityReservationGroupName, String capacityReservationName);
+
+ /**
+ * Lists all of the capacity reservations in the specified capacity reservation group. Use the nextLink property in
+ * the response to get the next page of capacity reservations.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param capacityReservationGroupName The name of the capacity reservation 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 capacity reservation operation response as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByCapacityReservationGroup(
+ String resourceGroupName, String capacityReservationGroupName);
+
+ /**
+ * Lists all of the capacity reservations in the specified capacity reservation group. Use the nextLink property in
+ * the response to get the next page of capacity reservations.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param capacityReservationGroupName The name of the capacity reservation 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 capacity reservation operation response as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByCapacityReservationGroup(
+ String resourceGroupName, String capacityReservationGroupName, 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..837b38e183576
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/CloudServiceOperatingSystemsClient.java
@@ -0,0 +1,148 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.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.
+ * @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
+ * (.cscfg) for a cloud service along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getOSVersionWithResponse(String location, String osVersionName, Context context);
+
+ /**
+ * 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
+ * (.cscfg) for a cloud service.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ OSVersionInner getOSVersion(String location, String osVersionName);
+
+ /**
+ * 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
+ * (.cscfg) for a cloud service as paginated response with {@link PagedIterable}.
+ */
+ @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
+ * (.cscfg) for a cloud service as paginated response with {@link PagedIterable}.
+ */
+ @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.
+ * @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
+ * (.cscfg) for a cloud service along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getOSFamilyWithResponse(String location, String osFamilyName, 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
+ * (.cscfg) for a cloud service.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ OSFamilyInner getOSFamily(String location, String osFamilyName);
+
+ /**
+ * 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
+ * (.cscfg) for a cloud service as paginated response with {@link PagedIterable}.
+ */
+ @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
+ * (.cscfg) for a cloud service as paginated response with {@link PagedIterable}.
+ */
+ @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..b2b68fd19bd59
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/CloudServiceRoleInstancesClient.java
@@ -0,0 +1,412 @@
+// 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.BinaryData;
+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;
+
+/** 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 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 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 roleInstanceName, String resourceGroupName, String cloudServiceName);
+
+ /**
+ * Deletes a role instance from a cloud service.
+ *
+ * @param roleInstanceName Name of the role instance.
+ * @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 roleInstanceName, String resourceGroupName, String cloudServiceName, Context context);
+
+ /**
+ * Gets a role instance from a cloud service.
+ *
+ * @param roleInstanceName Name of the role instance.
+ * @param resourceGroupName Name of the resource group.
+ * @param cloudServiceName Name of the cloud service.
+ * @param expand The expand expression to apply to the operation. 'UserData' is not supported for 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 role instance from a cloud service along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String roleInstanceName,
+ String resourceGroupName,
+ String cloudServiceName,
+ InstanceViewTypes expand,
+ Context context);
+
+ /**
+ * Gets a role instance from a cloud service.
+ *
+ * @param roleInstanceName Name of the role instance.
+ * @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 role instance from a cloud service.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RoleInstanceInner get(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 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 instance view of the role instance along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getInstanceViewWithResponse(
+ String roleInstanceName, String resourceGroupName, String cloudServiceName, 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 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 instance view of the role instance.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RoleInstanceViewInner getInstanceView(String roleInstanceName, 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 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 list of all role instances in a cloud service as paginated response with {@link PagedIterable}.
+ */
+ @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 Name of the resource group.
+ * @param cloudServiceName Name of the cloud service.
+ * @param expand The expand expression to apply to the operation. 'UserData' is not supported for 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 the list of all role instances in a cloud service as paginated response with {@link PagedIterable}.
+ */
+ @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 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 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 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 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 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 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 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 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 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 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 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 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 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 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 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 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.core.management.exception.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 along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getRemoteDesktopFileWithResponse(
+ 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 Name of the resource group.
+ * @param cloudServiceName Name of the cloud service.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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)
+ BinaryData getRemoteDesktopFile(String roleInstanceName, String resourceGroupName, String cloudServiceName);
+}
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..835835d2df323
--- /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 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 role from a cloud service along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String roleName, String resourceGroupName, String cloudServiceName, Context context);
+
+ /**
+ * Gets a role from a cloud service.
+ *
+ * @param roleName Name of the role.
+ * @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 role from a cloud service.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CloudServiceRoleInner get(String roleName, 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 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 roles in a cloud service as paginated response with {@link PagedIterable}.
+ */
+ @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 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 roles in a cloud service as paginated response with {@link PagedIterable}.
+ */
+ @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..2508e6bfa6bbb
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/CloudServicesClient.java
@@ -0,0 +1,682 @@
+// 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.
+ * @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 {@link SyncPoller} for polling of describes the cloud service.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CloudServiceInner> beginCreateOrUpdate(
+ 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 the {@link SyncPoller} for polling of describes the cloud service.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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.
+ * @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.
+ * @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 {@link SyncPoller} for polling of describes the cloud service.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CloudServiceInner> beginUpdate(
+ 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 the {@link SyncPoller} for polling of describes the cloud service.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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.
+ * @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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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.
+ * @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 along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ 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);
+
+ /**
+ * 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 along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getInstanceViewWithResponse(
+ 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 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 as
+ * paginated response with {@link PagedIterable}.
+ */
+ @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 as
+ * paginated response with {@link PagedIterable}.
+ */
+ @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 as paginated response with {@link PagedIterable}.
+ */
+ @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 as paginated response with {@link PagedIterable}.
+ */
+ @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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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.
+ * @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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginRestart(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.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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.
+ * @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.
+ * @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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginReimage(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.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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.
+ * @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.
+ * @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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginRebuild(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.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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.
+ * @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.
+ * @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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDeleteInstances(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.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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.
+ * @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..ee1f1ba323f90
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/CloudServicesUpdateDomainsClient.java
@@ -0,0 +1,160 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.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.
+ * @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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginWalkUpdateDomain(
+ 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.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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.
+ * @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.
+ * @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 along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getUpdateDomainWithResponse(
+ String resourceGroupName, String cloudServiceName, int updateDomain, 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 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 as paginated response with {@link PagedIterable}.
+ */
+ @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 as paginated response with {@link PagedIterable}.
+ */
+ @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/CommunityGalleriesClient.java b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/CommunityGalleriesClient.java
new file mode 100644
index 0000000000000..091663799ea0a
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/CommunityGalleriesClient.java
@@ -0,0 +1,43 @@
+// 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.CommunityGalleryInner;
+
+/** An instance of this class provides access to all the operations defined in CommunityGalleriesClient. */
+public interface CommunityGalleriesClient {
+ /**
+ * Get a community gallery by gallery public name.
+ *
+ * @param location Resource location.
+ * @param publicGalleryName The public name of the community 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 a community gallery by gallery public name along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String location, String publicGalleryName, Context context);
+
+ /**
+ * Get a community gallery by gallery public name.
+ *
+ * @param location Resource location.
+ * @param publicGalleryName The public name of the community 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 a community gallery by gallery public name.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CommunityGalleryInner get(String location, String publicGalleryName);
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/CommunityGalleryImageVersionsClient.java b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/CommunityGalleryImageVersionsClient.java
new file mode 100644
index 0000000000000..5d327b202bc59
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/CommunityGalleryImageVersionsClient.java
@@ -0,0 +1,93 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.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.CommunityGalleryImageVersionInner;
+
+/** An instance of this class provides access to all the operations defined in CommunityGalleryImageVersionsClient. */
+public interface CommunityGalleryImageVersionsClient {
+ /**
+ * Get a community gallery image version.
+ *
+ * @param location Resource location.
+ * @param publicGalleryName The public name of the community gallery.
+ * @param galleryImageName The name of the community gallery image definition.
+ * @param galleryImageVersionName The name of the community gallery image version. 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 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 community gallery image version along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String location,
+ String publicGalleryName,
+ String galleryImageName,
+ String galleryImageVersionName,
+ Context context);
+
+ /**
+ * Get a community gallery image version.
+ *
+ * @param location Resource location.
+ * @param publicGalleryName The public name of the community gallery.
+ * @param galleryImageName The name of the community gallery image definition.
+ * @param galleryImageVersionName The name of the community gallery image version. 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>.
+ * @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 community gallery image version.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CommunityGalleryImageVersionInner get(
+ String location, String publicGalleryName, String galleryImageName, String galleryImageVersionName);
+
+ /**
+ * List community gallery image versions inside an image.
+ *
+ * @param location Resource location.
+ * @param publicGalleryName The public name of the community gallery.
+ * @param galleryImageName The name of the community gallery image definition.
+ * @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 Community Gallery Image versions operation response as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(
+ String location, String publicGalleryName, String galleryImageName);
+
+ /**
+ * List community gallery image versions inside an image.
+ *
+ * @param location Resource location.
+ * @param publicGalleryName The public name of the community gallery.
+ * @param galleryImageName The name of the community gallery image definition.
+ * @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 Community Gallery Image versions operation response as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(
+ String location, String publicGalleryName, String galleryImageName, Context context);
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/CommunityGalleryImagesClient.java b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/CommunityGalleryImagesClient.java
new file mode 100644
index 0000000000000..6aac6b149d351
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/CommunityGalleryImagesClient.java
@@ -0,0 +1,76 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.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.CommunityGalleryImageInner;
+
+/** An instance of this class provides access to all the operations defined in CommunityGalleryImagesClient. */
+public interface CommunityGalleryImagesClient {
+ /**
+ * Get a community gallery image.
+ *
+ * @param location Resource location.
+ * @param publicGalleryName The public name of the community gallery.
+ * @param galleryImageName The name of the community gallery image definition.
+ * @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 community gallery image along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String location, String publicGalleryName, String galleryImageName, Context context);
+
+ /**
+ * Get a community gallery image.
+ *
+ * @param location Resource location.
+ * @param publicGalleryName The public name of the community gallery.
+ * @param galleryImageName The name of the community gallery image definition.
+ * @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 community gallery image.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CommunityGalleryImageInner get(String location, String publicGalleryName, String galleryImageName);
+
+ /**
+ * List community gallery images inside a gallery.
+ *
+ * @param location Resource location.
+ * @param publicGalleryName The public name of the community 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 the List Community Gallery Images operation response as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String location, String publicGalleryName);
+
+ /**
+ * List community gallery images inside a gallery.
+ *
+ * @param location Resource location.
+ * @param publicGalleryName The public name of the community 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 the List Community Gallery Images operation response as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String location, String publicGalleryName, 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..59788a853a630
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/ComputeManagementClient.java
@@ -0,0 +1,383 @@
+// 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 UsagesClient object to access its operations.
+ *
+ * @return the UsagesClient object.
+ */
+ UsagesClient getUsages();
+
+ /**
+ * Gets the VirtualMachineSizesClient object to access its operations.
+ *
+ * @return the VirtualMachineSizesClient object.
+ */
+ VirtualMachineSizesClient getVirtualMachineSizes();
+
+ /**
+ * Gets the VirtualMachineScaleSetsClient object to access its operations.
+ *
+ * @return the VirtualMachineScaleSetsClient object.
+ */
+ VirtualMachineScaleSetsClient getVirtualMachineScaleSets();
+
+ /**
+ * 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 VirtualMachineExtensionsClient object to access its operations.
+ *
+ * @return the VirtualMachineExtensionsClient object.
+ */
+ VirtualMachineExtensionsClient getVirtualMachineExtensions();
+
+ /**
+ * Gets the VirtualMachinesClient object to access its operations.
+ *
+ * @return the VirtualMachinesClient object.
+ */
+ VirtualMachinesClient getVirtualMachines();
+
+ /**
+ * 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 VirtualMachineExtensionImagesClient object to access its operations.
+ *
+ * @return the VirtualMachineExtensionImagesClient object.
+ */
+ VirtualMachineExtensionImagesClient getVirtualMachineExtensionImages();
+
+ /**
+ * 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 ImagesClient object to access its operations.
+ *
+ * @return the ImagesClient object.
+ */
+ ImagesClient getImages();
+
+ /**
+ * Gets the RestorePointCollectionsClient object to access its operations.
+ *
+ * @return the RestorePointCollectionsClient object.
+ */
+ RestorePointCollectionsClient getRestorePointCollections();
+
+ /**
+ * Gets the RestorePointsClient object to access its operations.
+ *
+ * @return the RestorePointsClient object.
+ */
+ RestorePointsClient getRestorePoints();
+
+ /**
+ * Gets the CapacityReservationGroupsClient object to access its operations.
+ *
+ * @return the CapacityReservationGroupsClient object.
+ */
+ CapacityReservationGroupsClient getCapacityReservationGroups();
+
+ /**
+ * Gets the CapacityReservationsClient object to access its operations.
+ *
+ * @return the CapacityReservationsClient object.
+ */
+ CapacityReservationsClient getCapacityReservations();
+
+ /**
+ * 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 DisksClient object to access its operations.
+ *
+ * @return the DisksClient object.
+ */
+ DisksClient getDisks();
+
+ /**
+ * Gets the DiskAccessesClient object to access its operations.
+ *
+ * @return the DiskAccessesClient object.
+ */
+ DiskAccessesClient getDiskAccesses();
+
+ /**
+ * Gets the DiskEncryptionSetsClient object to access its operations.
+ *
+ * @return the DiskEncryptionSetsClient object.
+ */
+ DiskEncryptionSetsClient getDiskEncryptionSets();
+
+ /**
+ * Gets the DiskRestorePointsClient object to access its operations.
+ *
+ * @return the DiskRestorePointsClient object.
+ */
+ DiskRestorePointsClient getDiskRestorePoints();
+
+ /**
+ * Gets the SnapshotsClient object to access its operations.
+ *
+ * @return the SnapshotsClient object.
+ */
+ SnapshotsClient getSnapshots();
+
+ /**
+ * Gets the ResourceSkusClient object to access its operations.
+ *
+ * @return the ResourceSkusClient object.
+ */
+ ResourceSkusClient getResourceSkus();
+
+ /**
+ * 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 GallerySharingProfilesClient object to access its operations.
+ *
+ * @return the GallerySharingProfilesClient object.
+ */
+ GallerySharingProfilesClient getGallerySharingProfiles();
+
+ /**
+ * Gets the SharedGalleriesClient object to access its operations.
+ *
+ * @return the SharedGalleriesClient object.
+ */
+ SharedGalleriesClient getSharedGalleries();
+
+ /**
+ * Gets the SharedGalleryImagesClient object to access its operations.
+ *
+ * @return the SharedGalleryImagesClient object.
+ */
+ SharedGalleryImagesClient getSharedGalleryImages();
+
+ /**
+ * Gets the SharedGalleryImageVersionsClient object to access its operations.
+ *
+ * @return the SharedGalleryImageVersionsClient object.
+ */
+ SharedGalleryImageVersionsClient getSharedGalleryImageVersions();
+
+ /**
+ * Gets the CommunityGalleriesClient object to access its operations.
+ *
+ * @return the CommunityGalleriesClient object.
+ */
+ CommunityGalleriesClient getCommunityGalleries();
+
+ /**
+ * Gets the CommunityGalleryImagesClient object to access its operations.
+ *
+ * @return the CommunityGalleryImagesClient object.
+ */
+ CommunityGalleryImagesClient getCommunityGalleryImages();
+
+ /**
+ * Gets the CommunityGalleryImageVersionsClient object to access its operations.
+ *
+ * @return the CommunityGalleryImageVersionsClient object.
+ */
+ CommunityGalleryImageVersionsClient getCommunityGalleryImageVersions();
+
+ /**
+ * 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..9dd45109f25c9
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/DedicatedHostGroupsClient.java
@@ -0,0 +1,207 @@
+// 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.
+ * @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 dedicated host group that the dedicated hosts should be assigned to along
+ * with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateWithResponse(
+ String resourceGroupName, String hostGroupName, DedicatedHostGroupInner parameters, Context context);
+
+ /**
+ * 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.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 dedicated host group that the dedicated hosts should be assigned to.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DedicatedHostGroupInner createOrUpdate(
+ String resourceGroupName, String hostGroupName, DedicatedHostGroupInner 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.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 dedicated host group that the dedicated hosts should be assigned to along
+ * with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response updateWithResponse(
+ String resourceGroupName, String hostGroupName, DedicatedHostGroupUpdate 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.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 dedicated host group that the dedicated hosts should be assigned to.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DedicatedHostGroupInner update(String resourceGroupName, String hostGroupName, DedicatedHostGroupUpdate parameters);
+
+ /**
+ * 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.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 {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(String resourceGroupName, String hostGroupName, 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.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 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. 'InstanceView' will retrieve the list of instance
+ * views of the dedicated hosts under the dedicated host group. 'UserData' is not supported for dedicated host
+ * 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 specifies information about the dedicated host group that the dedicated hosts should be assigned to along
+ * with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName, String hostGroupName, InstanceViewTypes expand, 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.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 dedicated host group that the dedicated hosts should be assigned to.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DedicatedHostGroupInner getByResourceGroup(String resourceGroupName, String hostGroupName);
+
+ /**
+ * 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.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 Dedicated Host Group with resource group response as paginated response with {@link
+ * PagedIterable}.
+ */
+ @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.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 Dedicated Host Group with resource group response as paginated response with {@link
+ * PagedIterable}.
+ */
+ @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.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 Dedicated Host Group with resource group response as paginated response with {@link
+ * PagedIterable}.
+ */
+ @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.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 Dedicated Host Group with resource group response as paginated response with {@link
+ * PagedIterable}.
+ */
+ @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..d960dfe573aa8
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/DedicatedHostsClient.java
@@ -0,0 +1,374 @@
+// 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.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 {@link SyncPoller} for polling of specifies information about the Dedicated host.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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.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 {@link SyncPoller} for polling of specifies information about the Dedicated host.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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.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 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.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 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.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 {@link SyncPoller} for polling of specifies information about the Dedicated host.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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.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 {@link SyncPoller} for polling of specifies information about the Dedicated host.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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.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 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.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 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.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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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.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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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.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 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.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 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.
+ * @param expand The expand expression to apply on the operation. 'InstanceView' will retrieve the list of instance
+ * views of the dedicated host. 'UserData' is not supported for dedicated host.
+ * @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 Dedicated host along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String hostGroupName, String hostname, InstanceViewTypes expand, 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.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 Dedicated host.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DedicatedHostInner get(String resourceGroupName, String hostGroupName, String hostname);
+
+ /**
+ * 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.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 dedicated host operation response as paginated response with {@link PagedIterable}.
+ */
+ @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.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 dedicated host operation response as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByHostGroup(String resourceGroupName, String hostGroupName, Context context);
+
+ /**
+ * Restart the dedicated host. The operation will complete successfully once the dedicated host has restarted and is
+ * running. To determine the health of VMs deployed on the dedicated host after the restart check the Resource
+ * Health Center in the Azure Portal. Please refer to
+ * https://docs.microsoft.com/azure/service-health/resource-health-overview for more details.
+ *
+ * @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.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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginRestart(String resourceGroupName, String hostGroupName, String hostname);
+
+ /**
+ * Restart the dedicated host. The operation will complete successfully once the dedicated host has restarted and is
+ * running. To determine the health of VMs deployed on the dedicated host after the restart check the Resource
+ * Health Center in the Azure Portal. Please refer to
+ * https://docs.microsoft.com/azure/service-health/resource-health-overview for more details.
+ *
+ * @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.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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginRestart(
+ String resourceGroupName, String hostGroupName, String hostname, Context context);
+
+ /**
+ * Restart the dedicated host. The operation will complete successfully once the dedicated host has restarted and is
+ * running. To determine the health of VMs deployed on the dedicated host after the restart check the Resource
+ * Health Center in the Azure Portal. Please refer to
+ * https://docs.microsoft.com/azure/service-health/resource-health-overview for more details.
+ *
+ * @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.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 hostGroupName, String hostname);
+
+ /**
+ * Restart the dedicated host. The operation will complete successfully once the dedicated host has restarted and is
+ * running. To determine the health of VMs deployed on the dedicated host after the restart check the Resource
+ * Health Center in the Azure Portal. Please refer to
+ * https://docs.microsoft.com/azure/service-health/resource-health-overview for more details.
+ *
+ * @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.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 hostGroupName, String hostname, 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..b5edf63b245b2
--- /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 the {@link SyncPoller} for polling of disk access resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 the {@link SyncPoller} for polling of disk access resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 the {@link SyncPoller} for polling of disk access resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 the {@link SyncPoller} for polling of disk access resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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.
+ * @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 along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName, String diskAccessName, 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);
+
+ /**
+ * 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 as paginated response with {@link PagedIterable}.
+ */
+ @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 as paginated response with {@link PagedIterable}.
+ */
+ @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 as paginated response with {@link PagedIterable}.
+ */
+ @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 as paginated response with {@link PagedIterable}.
+ */
+ @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.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getPrivateLinkResourcesWithResponse(
+ String resourceGroupName, String diskAccessName, 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);
+
+ /**
+ * 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 {@link SyncPoller} for polling of the Private Endpoint Connection resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 {@link SyncPoller} for polling of the Private Endpoint Connection resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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.
+ * @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 along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getAPrivateEndpointConnectionWithResponse(
+ String resourceGroupName, String diskAccessName, String privateEndpointConnectionName, 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);
+
+ /**
+ * 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 as paginated response with {@link PagedIterable}.
+ */
+ @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 as paginated response with {@link PagedIterable}.
+ */
+ @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..c635701ebc9bf
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/DiskEncryptionSetsClient.java
@@ -0,0 +1,372 @@
+// 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 the {@link SyncPoller} for polling of disk encryption set resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 the {@link SyncPoller} for polling of disk encryption set resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 the {@link SyncPoller} for polling of disk encryption set resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 the {@link SyncPoller} for polling of disk encryption set resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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.
+ * @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 along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName, String diskEncryptionSetName, 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);
+
+ /**
+ * 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 as paginated response with {@link PagedIterable}.
+ */
+ @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 as paginated response with {@link PagedIterable}.
+ */
+ @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 as paginated response with {@link PagedIterable}.
+ */
+ @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 as paginated response with {@link PagedIterable}.
+ */
+ @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 as paginated response with {@link
+ * PagedIterable}.
+ */
+ @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 as paginated response with {@link
+ * PagedIterable}.
+ */
+ @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..c82acc51e9ea3
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/DiskRestorePointsClient.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.AccessUriInner;
+import com.azure.resourcemanager.compute.generated.fluent.models.DiskRestorePointInner;
+import com.azure.resourcemanager.compute.generated.models.GrantAccessData;
+
+/** 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.
+ * @param vmRestorePointName The name of the vm restore point that the disk disk restore point belongs.
+ * @param diskRestorePointName The name of the disk restore point created.
+ * @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 along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName,
+ String restorePointCollectionName,
+ String vmRestorePointName,
+ String diskRestorePointName,
+ Context context);
+
+ /**
+ * 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.
+ * @param vmRestorePointName The name of the vm restore point that the disk disk restore point belongs.
+ * @param diskRestorePointName The name of the disk restore point created.
+ * @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);
+
+ /**
+ * 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.
+ * @param vmRestorePointName The name of the vm restore point that the disk disk restore point belongs.
+ * @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 as paginated response with {@link PagedIterable}.
+ */
+ @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.
+ * @param vmRestorePointName The name of the vm restore point that the disk disk restore point belongs.
+ * @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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByRestorePoint(
+ String resourceGroupName, String restorePointCollectionName, String vmRestorePointName, Context context);
+
+ /**
+ * Grants access to a diskRestorePoint.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param restorePointCollectionName The name of the restore point collection that the disk restore point belongs.
+ * @param vmRestorePointName The name of the vm restore point that the disk disk restore point belongs.
+ * @param diskRestorePointName The name of the disk restore point created.
+ * @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.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 {@link SyncPoller} for polling of a disk access SAS uri.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, AccessUriInner> beginGrantAccess(
+ String resourceGroupName,
+ String restorePointCollectionName,
+ String vmRestorePointName,
+ String diskRestorePointName,
+ GrantAccessData grantAccessData);
+
+ /**
+ * Grants access to a diskRestorePoint.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param restorePointCollectionName The name of the restore point collection that the disk restore point belongs.
+ * @param vmRestorePointName The name of the vm restore point that the disk disk restore point belongs.
+ * @param diskRestorePointName The name of the disk restore point created.
+ * @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.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 {@link SyncPoller} for polling of a disk access SAS uri.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, AccessUriInner> beginGrantAccess(
+ String resourceGroupName,
+ String restorePointCollectionName,
+ String vmRestorePointName,
+ String diskRestorePointName,
+ GrantAccessData grantAccessData,
+ Context context);
+
+ /**
+ * Grants access to a diskRestorePoint.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param restorePointCollectionName The name of the restore point collection that the disk restore point belongs.
+ * @param vmRestorePointName The name of the vm restore point that the disk disk restore point belongs.
+ * @param diskRestorePointName The name of the disk restore point created.
+ * @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.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 disk access SAS uri.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AccessUriInner grantAccess(
+ String resourceGroupName,
+ String restorePointCollectionName,
+ String vmRestorePointName,
+ String diskRestorePointName,
+ GrantAccessData grantAccessData);
+
+ /**
+ * Grants access to a diskRestorePoint.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param restorePointCollectionName The name of the restore point collection that the disk restore point belongs.
+ * @param vmRestorePointName The name of the vm restore point that the disk disk restore point belongs.
+ * @param diskRestorePointName The name of the disk restore point created.
+ * @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.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 disk access SAS uri.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AccessUriInner grantAccess(
+ String resourceGroupName,
+ String restorePointCollectionName,
+ String vmRestorePointName,
+ String diskRestorePointName,
+ GrantAccessData grantAccessData,
+ Context context);
+
+ /**
+ * Revokes access to a diskRestorePoint.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param restorePointCollectionName The name of the restore point collection that the disk restore point belongs.
+ * @param vmRestorePointName The name of the vm restore point that the disk disk restore point belongs.
+ * @param diskRestorePointName The name of the disk restore point created.
+ * @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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginRevokeAccess(
+ String resourceGroupName,
+ String restorePointCollectionName,
+ String vmRestorePointName,
+ String diskRestorePointName);
+
+ /**
+ * Revokes access to a diskRestorePoint.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param restorePointCollectionName The name of the restore point collection that the disk restore point belongs.
+ * @param vmRestorePointName The name of the vm restore point that the disk disk restore point belongs.
+ * @param diskRestorePointName The name of the disk restore point created.
+ * @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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginRevokeAccess(
+ String resourceGroupName,
+ String restorePointCollectionName,
+ String vmRestorePointName,
+ String diskRestorePointName,
+ Context context);
+
+ /**
+ * Revokes access to a diskRestorePoint.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param restorePointCollectionName The name of the restore point collection that the disk restore point belongs.
+ * @param vmRestorePointName The name of the vm restore point that the disk disk restore point belongs.
+ * @param diskRestorePointName The name of the disk restore point created.
+ * @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 revokeAccess(
+ String resourceGroupName,
+ String restorePointCollectionName,
+ String vmRestorePointName,
+ String diskRestorePointName);
+
+ /**
+ * Revokes access to a diskRestorePoint.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param restorePointCollectionName The name of the restore point collection that the disk restore point belongs.
+ * @param vmRestorePointName The name of the vm restore point that the disk disk restore point belongs.
+ * @param diskRestorePointName The name of the disk restore point created.
+ * @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 revokeAccess(
+ String resourceGroupName,
+ String restorePointCollectionName,
+ String vmRestorePointName,
+ String diskRestorePointName,
+ 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..8453bd332da8a
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/DisksClient.java
@@ -0,0 +1,423 @@
+// 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 the {@link SyncPoller} for polling of disk resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 the {@link SyncPoller} for polling of disk resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 the {@link SyncPoller} for polling of disk resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 the {@link SyncPoller} for polling of disk resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(String resourceGroupName, String diskName, 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);
+
+ /**
+ * 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 as paginated response with {@link PagedIterable}.
+ */
+ @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 as paginated response with {@link PagedIterable}.
+ */
+ @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 as paginated response with {@link PagedIterable}.
+ */
+ @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 as paginated response with {@link PagedIterable}.
+ */
+ @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 the {@link SyncPoller} for polling of a disk access SAS uri.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 the {@link SyncPoller} for polling of a disk access SAS uri.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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..5b7c4133e9a25
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/GalleriesClient.java
@@ -0,0 +1,304 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.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.GalleryExpandParams;
+import com.azure.resourcemanager.compute.generated.models.GalleryUpdate;
+import com.azure.resourcemanager.compute.generated.models.SelectPermissions;
+
+/** 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 the {@link SyncPoller} for polling of specifies information about the Shared Image Gallery that you want
+ * to create or update.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 the {@link SyncPoller} for polling of specifies information about the Shared Image Gallery that you want
+ * to create or update.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 the {@link SyncPoller} for polling of specifies information about the Shared Image Gallery that you want
+ * to create or update.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 the {@link SyncPoller} for polling of specifies information about the Shared Image Gallery that you want
+ * to create or update.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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.
+ * @param select The select expression to apply on the operation.
+ * @param expand The expand query option 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 Shared Image Gallery that you want to create or update along with {@link
+ * Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName,
+ String galleryName,
+ SelectPermissions select,
+ GalleryExpandParams expand,
+ 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);
+
+ /**
+ * 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 as paginated response with {@link PagedIterable}.
+ */
+ @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 as paginated response with {@link PagedIterable}.
+ */
+ @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 as paginated response with {@link PagedIterable}.
+ */
+ @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 as paginated response with {@link PagedIterable}.
+ */
+ @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..37d1257d5063d
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/GalleryApplicationVersionsClient.java
@@ -0,0 +1,403 @@
+// 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 the {@link SyncPoller} for polling of specifies information about the gallery Application Version that
+ * you want to create or update.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 the {@link SyncPoller} for polling of specifies information about the gallery Application Version that
+ * you want to create or update.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 the {@link SyncPoller} for polling of specifies information about the gallery Application Version that
+ * you want to create or update.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 the {@link SyncPoller} for polling of specifies information about the gallery Application Version that
+ * you want to create or update.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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.
+ * @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 along with
+ * {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName,
+ String galleryName,
+ String galleryApplicationName,
+ String galleryApplicationVersionName,
+ ReplicationStatusTypes expand,
+ 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);
+
+ /**
+ * 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 as paginated response with {@link PagedIterable}.
+ */
+ @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 as paginated response with {@link PagedIterable}.
+ */
+ @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..5929fd910e0ff
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-generated/src/main/java/com/azure/resourcemanager/compute/generated/fluent/GalleryApplicationsClient.java
@@ -0,0 +1,346 @@
+// 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 the {@link SyncPoller} for polling of specifies information about the gallery Application Definition that
+ * you want to create or update.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 the {@link SyncPoller} for polling of specifies information about the gallery Application Definition that
+ * you want to create or update.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 the {@link SyncPoller} for polling of specifies information about the gallery Application Definition that
+ * you want to create or update.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 the {@link SyncPoller} for polling of specifies information about the gallery Application Definition that
+ * you want to create or update.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller