diff --git a/eng/versioning/version_client.txt b/eng/versioning/version_client.txt
index d2ece6aac488..ca6ed2cb13ed 100644
--- a/eng/versioning/version_client.txt
+++ b/eng/versioning/version_client.txt
@@ -318,6 +318,7 @@ com.azure.resourcemanager:azure-resourcemanager-mysqlflexibleserver;1.0.0-beta.1
com.azure.resourcemanager:azure-resourcemanager-baremetalinfrastructure;1.0.0-beta.1;1.0.0-beta.2
com.azure.resourcemanager:azure-resourcemanager-quota;1.0.0-beta.1;1.0.0-beta.2
com.azure.resourcemanager:azure-resourcemanager-extendedlocation;1.0.0-beta.1;1.0.0-beta.2
+com.azure.resourcemanager:azure-resourcemanager-connectedvmware;1.0.0-beta.1;1.0.0-beta.1
# Unreleased dependencies: Copy the entry from above, prepend "unreleased_" and remove the current
# version. Unreleased dependencies are only valid for dependency versions.
diff --git a/pom.xml b/pom.xml
index de84a0e27ede..d1a9f02a10ed 100644
--- a/pom.xml
+++ b/pom.xml
@@ -737,6 +737,7 @@
sdk/communicationsdk/confidentialledgersdk/confluent
+ sdk/connectedvmwaresdk/consumptionsdk/containerregistrysdk/core
diff --git a/sdk/connectedvmware/azure-resourcemanager-connectedvmware/CHANGELOG.md b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/CHANGELOG.md
new file mode 100644
index 000000000000..c348d48c5995
--- /dev/null
+++ b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/CHANGELOG.md
@@ -0,0 +1,5 @@
+# Release History
+
+## 1.0.0-beta.1 (2021-10-01)
+
+- Azure Resource Manager ConnectedVMware client library for Java. This package contains Microsoft Azure SDK for ConnectedVMware Management SDK. Connected VMware Client. Package tag package-2020-10-01-preview. For documentation on how to use this package, please see [Azure Management Libraries for Java](https://aka.ms/azsdk/java/mgmt).
diff --git a/sdk/connectedvmware/azure-resourcemanager-connectedvmware/README.md b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/README.md
new file mode 100644
index 000000000000..2451b097f9ca
--- /dev/null
+++ b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/README.md
@@ -0,0 +1,101 @@
+# Azure Resource Manager ConnectedVMware client library for Java
+
+Azure Resource Manager ConnectedVMware client library for Java.
+
+This package contains Microsoft Azure SDK for ConnectedVMware Management SDK. Connected VMware Client. Package tag package-2020-10-01-preview. For documentation on how to use this package, please see [Azure Management Libraries for Java](https://aka.ms/azsdk/java/mgmt).
+
+## We'd love to hear your feedback
+
+We're always working on improving our products and the way we communicate with our users. So we'd love to learn what's working and how we can do better.
+
+If you haven't already, please take a few minutes to [complete this short survey][survey] we have put together.
+
+Thank you in advance for your collaboration. We really appreciate your time!
+
+## Documentation
+
+Various documentation is available to help you get started
+
+- [API reference documentation][docs]
+
+## Getting started
+
+### Prerequisites
+
+- [Java Development Kit (JDK)][jdk] with version 8 or above
+- [Azure Subscription][azure_subscription]
+
+### Adding the package to your product
+
+[//]: # ({x-version-update-start;com.azure.resourcemanager:azure-resourcemanager-connectedvmware;current})
+```xml
+
+ com.azure.resourcemanager
+ azure-resourcemanager-connectedvmware
+ 1.0.0-beta.1
+
+```
+[//]: # ({x-version-update-end})
+
+### Include the recommended packages
+
+Azure Management Libraries require a `TokenCredential` implementation for authentication and an `HttpClient` implementation for HTTP client.
+
+[Azure Identity][azure_identity] package and [Azure Core Netty HTTP][azure_core_http_netty] package provide the default implementation.
+
+### Authentication
+
+By default, Azure Active Directory token authentication depends on correct configure of following environment variables.
+
+- `AZURE_CLIENT_ID` for Azure client ID.
+- `AZURE_TENANT_ID` for Azure tenant ID.
+- `AZURE_CLIENT_SECRET` or `AZURE_CLIENT_CERTIFICATE_PATH` for client secret or client certificate.
+
+In addition, Azure subscription ID can be configured via environment variable `AZURE_SUBSCRIPTION_ID`.
+
+With above configuration, `azure` client can be authenticated by following code:
+
+```java
+AzureProfile profile = new AzureProfile(AzureEnvironment.AZURE);
+TokenCredential credential = new DefaultAzureCredentialBuilder()
+ .authorityHost(profile.getEnvironment().getActiveDirectoryEndpoint())
+ .build();
+ConnectedVMwareManager manager = ConnectedVMwareManager
+ .authenticate(credential, profile);
+```
+
+The sample code assumes global Azure. Please change `AzureEnvironment.AZURE` variable if otherwise.
+
+See [Authentication][authenticate] for more options.
+
+## Key concepts
+
+See [API design][design] for general introduction on design and key concepts on Azure Management Libraries.
+
+## Examples
+
+
+
+## Troubleshooting
+
+## Next steps
+
+## Contributing
+
+For details on contributing to this repository, see the [contributing guide](https://github.com/Azure/azure-sdk-for-java/blob/main/CONTRIBUTING.md).
+
+1. Fork it
+1. Create your feature branch (`git checkout -b my-new-feature`)
+1. Commit your changes (`git commit -am 'Add some feature'`)
+1. Push to the branch (`git push origin my-new-feature`)
+1. Create new Pull Request
+
+
+[survey]: https://microsoft.qualtrics.com/jfe/form/SV_ehN0lIk2FKEBkwd?Q_CHL=DOCS
+[docs]: https://azure.github.io/azure-sdk-for-java/
+[jdk]: https://docs.microsoft.com/java/azure/jdk/
+[azure_subscription]: https://azure.microsoft.com/free/
+[azure_identity]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/identity/azure-identity
+[azure_core_http_netty]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/core/azure-core-http-netty
+[authenticate]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/resourcemanager/docs/AUTH.md
+[design]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/resourcemanager/docs/DESIGN.md
diff --git a/sdk/connectedvmware/azure-resourcemanager-connectedvmware/pom.xml b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/pom.xml
new file mode 100644
index 000000000000..b1eef476bb22
--- /dev/null
+++ b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/pom.xml
@@ -0,0 +1,86 @@
+
+ 4.0.0
+
+ com.azure
+ azure-client-sdk-parent
+ 1.7.0
+ ../../parents/azure-client-sdk-parent
+
+
+ com.azure.resourcemanager
+ azure-resourcemanager-connectedvmware
+ 1.0.0-beta.1
+ jar
+
+ Microsoft Azure SDK for ConnectedVMware Management
+ This package contains Microsoft Azure SDK for ConnectedVMware Management SDK. For documentation on how to use this package, please see https://aka.ms/azsdk/java/mgmt. Connected VMware Client. Package tag package-2020-10-01-preview.
+ https://github.com/Azure/azure-sdk-for-java
+
+
+
+ The MIT License (MIT)
+ http://opensource.org/licenses/MIT
+ repo
+
+
+
+
+ https://github.com/Azure/azure-sdk-for-java
+ scm:git:git@github.com:Azure/azure-sdk-for-java.git
+ scm:git:git@github.com:Azure/azure-sdk-for-java.git
+ HEAD
+
+
+
+ microsoft
+ Microsoft
+
+
+
+ UTF-8
+
+
+
+
+ com.azure
+ azure-core
+ 1.20.0
+
+
+ com.azure
+ azure-core-management
+ 1.4.1
+
+
+
+
+
+ org.jacoco
+ jacoco-maven-plugin
+ 0.8.7
+
+ true
+
+
+
+ org.revapi
+ revapi-maven-plugin
+ 0.11.2
+
+
+
+
+ java.method.addedToInterface
+
+
+ true
+ .*
+ com\.azure\.resourcemanager(\.[^.]+)+\.fluent(\.[^.]+)*
+
+
+
+
+
+
+
+
diff --git a/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/ConnectedVMwareManager.java b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/ConnectedVMwareManager.java
new file mode 100644
index 000000000000..5bee133466d6
--- /dev/null
+++ b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/ConnectedVMwareManager.java
@@ -0,0 +1,373 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.connectedvmware;
+
+import com.azure.core.credential.TokenCredential;
+import com.azure.core.http.HttpClient;
+import com.azure.core.http.HttpPipeline;
+import com.azure.core.http.HttpPipelineBuilder;
+import com.azure.core.http.policy.AddDatePolicy;
+import com.azure.core.http.policy.HttpLogOptions;
+import com.azure.core.http.policy.HttpLoggingPolicy;
+import com.azure.core.http.policy.HttpPipelinePolicy;
+import com.azure.core.http.policy.HttpPolicyProviders;
+import com.azure.core.http.policy.RequestIdPolicy;
+import com.azure.core.http.policy.RetryPolicy;
+import com.azure.core.http.policy.UserAgentPolicy;
+import com.azure.core.management.http.policy.ArmChallengeAuthenticationPolicy;
+import com.azure.core.management.profile.AzureProfile;
+import com.azure.core.util.Configuration;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.connectedvmware.fluent.ConnectedVMwareClient;
+import com.azure.resourcemanager.connectedvmware.implementation.ClustersImpl;
+import com.azure.resourcemanager.connectedvmware.implementation.ConnectedVMwareClientBuilder;
+import com.azure.resourcemanager.connectedvmware.implementation.DatastoresImpl;
+import com.azure.resourcemanager.connectedvmware.implementation.GuestAgentsImpl;
+import com.azure.resourcemanager.connectedvmware.implementation.HostsImpl;
+import com.azure.resourcemanager.connectedvmware.implementation.HybridIdentityMetadatasImpl;
+import com.azure.resourcemanager.connectedvmware.implementation.InventoryItemsImpl;
+import com.azure.resourcemanager.connectedvmware.implementation.MachineExtensionsImpl;
+import com.azure.resourcemanager.connectedvmware.implementation.OperationsImpl;
+import com.azure.resourcemanager.connectedvmware.implementation.ResourcePoolsImpl;
+import com.azure.resourcemanager.connectedvmware.implementation.VCentersImpl;
+import com.azure.resourcemanager.connectedvmware.implementation.VirtualMachineTemplatesImpl;
+import com.azure.resourcemanager.connectedvmware.implementation.VirtualMachinesImpl;
+import com.azure.resourcemanager.connectedvmware.implementation.VirtualNetworksImpl;
+import com.azure.resourcemanager.connectedvmware.models.Clusters;
+import com.azure.resourcemanager.connectedvmware.models.Datastores;
+import com.azure.resourcemanager.connectedvmware.models.GuestAgents;
+import com.azure.resourcemanager.connectedvmware.models.Hosts;
+import com.azure.resourcemanager.connectedvmware.models.HybridIdentityMetadatas;
+import com.azure.resourcemanager.connectedvmware.models.InventoryItems;
+import com.azure.resourcemanager.connectedvmware.models.MachineExtensions;
+import com.azure.resourcemanager.connectedvmware.models.Operations;
+import com.azure.resourcemanager.connectedvmware.models.ResourcePools;
+import com.azure.resourcemanager.connectedvmware.models.VCenters;
+import com.azure.resourcemanager.connectedvmware.models.VirtualMachineTemplates;
+import com.azure.resourcemanager.connectedvmware.models.VirtualMachines;
+import com.azure.resourcemanager.connectedvmware.models.VirtualNetworks;
+import java.time.Duration;
+import java.time.temporal.ChronoUnit;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+
+/** Entry point to ConnectedVMwareManager. Connected VMware Client. */
+public final class ConnectedVMwareManager {
+ private Operations operations;
+
+ private ResourcePools resourcePools;
+
+ private Clusters clusters;
+
+ private Hosts hosts;
+
+ private Datastores datastores;
+
+ private VCenters vCenters;
+
+ private VirtualMachines virtualMachines;
+
+ private VirtualMachineTemplates virtualMachineTemplates;
+
+ private VirtualNetworks virtualNetworks;
+
+ private InventoryItems inventoryItems;
+
+ private HybridIdentityMetadatas hybridIdentityMetadatas;
+
+ private MachineExtensions machineExtensions;
+
+ private GuestAgents guestAgents;
+
+ private final ConnectedVMwareClient clientObject;
+
+ private ConnectedVMwareManager(HttpPipeline httpPipeline, AzureProfile profile, Duration defaultPollInterval) {
+ Objects.requireNonNull(httpPipeline, "'httpPipeline' cannot be null.");
+ Objects.requireNonNull(profile, "'profile' cannot be null.");
+ this.clientObject =
+ new ConnectedVMwareClientBuilder()
+ .pipeline(httpPipeline)
+ .endpoint(profile.getEnvironment().getResourceManagerEndpoint())
+ .subscriptionId(profile.getSubscriptionId())
+ .defaultPollInterval(defaultPollInterval)
+ .buildClient();
+ }
+
+ /**
+ * Creates an instance of ConnectedVMware service API entry point.
+ *
+ * @param credential the credential to use.
+ * @param profile the Azure profile for client.
+ * @return the ConnectedVMware service API instance.
+ */
+ public static ConnectedVMwareManager authenticate(TokenCredential credential, AzureProfile profile) {
+ Objects.requireNonNull(credential, "'credential' cannot be null.");
+ Objects.requireNonNull(profile, "'profile' cannot be null.");
+ return configure().authenticate(credential, profile);
+ }
+
+ /**
+ * Gets a Configurable instance that can be used to create ConnectedVMwareManager with optional configuration.
+ *
+ * @return the Configurable instance allowing configurations.
+ */
+ public static Configurable configure() {
+ return new ConnectedVMwareManager.Configurable();
+ }
+
+ /** The Configurable allowing configurations to be set. */
+ public static final class Configurable {
+ private final ClientLogger logger = new ClientLogger(Configurable.class);
+
+ private HttpClient httpClient;
+ private HttpLogOptions httpLogOptions;
+ private final List policies = new ArrayList<>();
+ private final List scopes = new ArrayList<>();
+ private RetryPolicy retryPolicy;
+ private Duration defaultPollInterval;
+
+ private Configurable() {
+ }
+
+ /**
+ * Sets the http client.
+ *
+ * @param httpClient the HTTP client.
+ * @return the configurable object itself.
+ */
+ public Configurable withHttpClient(HttpClient httpClient) {
+ this.httpClient = Objects.requireNonNull(httpClient, "'httpClient' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Sets the logging options to the HTTP pipeline.
+ *
+ * @param httpLogOptions the HTTP log options.
+ * @return the configurable object itself.
+ */
+ public Configurable withLogOptions(HttpLogOptions httpLogOptions) {
+ this.httpLogOptions = Objects.requireNonNull(httpLogOptions, "'httpLogOptions' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Adds the pipeline policy to the HTTP pipeline.
+ *
+ * @param policy the HTTP pipeline policy.
+ * @return the configurable object itself.
+ */
+ public Configurable withPolicy(HttpPipelinePolicy policy) {
+ this.policies.add(Objects.requireNonNull(policy, "'policy' cannot be null."));
+ return this;
+ }
+
+ /**
+ * 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 default poll interval, used when service does not provide "Retry-After" header.
+ *
+ * @param defaultPollInterval the default poll interval.
+ * @return the configurable object itself.
+ */
+ public Configurable withDefaultPollInterval(Duration defaultPollInterval) {
+ this.defaultPollInterval = Objects.requireNonNull(defaultPollInterval, "'retryPolicy' cannot be null.");
+ if (this.defaultPollInterval.isNegative()) {
+ throw logger.logExceptionAsError(new IllegalArgumentException("'httpPipeline' cannot be negative"));
+ }
+ return this;
+ }
+
+ /**
+ * Creates an instance of ConnectedVMware service API entry point.
+ *
+ * @param credential the credential to use.
+ * @param profile the Azure profile for client.
+ * @return the ConnectedVMware service API instance.
+ */
+ public ConnectedVMwareManager 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.connectedvmware")
+ .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) {
+ retryPolicy = new RetryPolicy("Retry-After", ChronoUnit.SECONDS);
+ }
+ List policies = new ArrayList<>();
+ policies.add(new UserAgentPolicy(userAgentBuilder.toString()));
+ policies.add(new RequestIdPolicy());
+ HttpPolicyProviders.addBeforeRetryPolicies(policies);
+ policies.add(retryPolicy);
+ policies.add(new AddDatePolicy());
+ policies.add(new ArmChallengeAuthenticationPolicy(credential, scopes.toArray(new String[0])));
+ policies.addAll(this.policies);
+ HttpPolicyProviders.addAfterRetryPolicies(policies);
+ policies.add(new HttpLoggingPolicy(httpLogOptions));
+ HttpPipeline httpPipeline =
+ new HttpPipelineBuilder()
+ .httpClient(httpClient)
+ .policies(policies.toArray(new HttpPipelinePolicy[0]))
+ .build();
+ return new ConnectedVMwareManager(httpPipeline, profile, defaultPollInterval);
+ }
+ }
+
+ /** @return Resource collection API of Operations. */
+ public Operations operations() {
+ if (this.operations == null) {
+ this.operations = new OperationsImpl(clientObject.getOperations(), this);
+ }
+ return operations;
+ }
+
+ /** @return Resource collection API of ResourcePools. */
+ public ResourcePools resourcePools() {
+ if (this.resourcePools == null) {
+ this.resourcePools = new ResourcePoolsImpl(clientObject.getResourcePools(), this);
+ }
+ return resourcePools;
+ }
+
+ /** @return Resource collection API of Clusters. */
+ public Clusters clusters() {
+ if (this.clusters == null) {
+ this.clusters = new ClustersImpl(clientObject.getClusters(), this);
+ }
+ return clusters;
+ }
+
+ /** @return Resource collection API of Hosts. */
+ public Hosts hosts() {
+ if (this.hosts == null) {
+ this.hosts = new HostsImpl(clientObject.getHosts(), this);
+ }
+ return hosts;
+ }
+
+ /** @return Resource collection API of Datastores. */
+ public Datastores datastores() {
+ if (this.datastores == null) {
+ this.datastores = new DatastoresImpl(clientObject.getDatastores(), this);
+ }
+ return datastores;
+ }
+
+ /** @return Resource collection API of VCenters. */
+ public VCenters vCenters() {
+ if (this.vCenters == null) {
+ this.vCenters = new VCentersImpl(clientObject.getVCenters(), this);
+ }
+ return vCenters;
+ }
+
+ /** @return Resource collection API of VirtualMachines. */
+ public VirtualMachines virtualMachines() {
+ if (this.virtualMachines == null) {
+ this.virtualMachines = new VirtualMachinesImpl(clientObject.getVirtualMachines(), this);
+ }
+ return virtualMachines;
+ }
+
+ /** @return Resource collection API of VirtualMachineTemplates. */
+ public VirtualMachineTemplates virtualMachineTemplates() {
+ if (this.virtualMachineTemplates == null) {
+ this.virtualMachineTemplates =
+ new VirtualMachineTemplatesImpl(clientObject.getVirtualMachineTemplates(), this);
+ }
+ return virtualMachineTemplates;
+ }
+
+ /** @return Resource collection API of VirtualNetworks. */
+ public VirtualNetworks virtualNetworks() {
+ if (this.virtualNetworks == null) {
+ this.virtualNetworks = new VirtualNetworksImpl(clientObject.getVirtualNetworks(), this);
+ }
+ return virtualNetworks;
+ }
+
+ /** @return Resource collection API of InventoryItems. */
+ public InventoryItems inventoryItems() {
+ if (this.inventoryItems == null) {
+ this.inventoryItems = new InventoryItemsImpl(clientObject.getInventoryItems(), this);
+ }
+ return inventoryItems;
+ }
+
+ /** @return Resource collection API of HybridIdentityMetadatas. */
+ public HybridIdentityMetadatas hybridIdentityMetadatas() {
+ if (this.hybridIdentityMetadatas == null) {
+ this.hybridIdentityMetadatas =
+ new HybridIdentityMetadatasImpl(clientObject.getHybridIdentityMetadatas(), this);
+ }
+ return hybridIdentityMetadatas;
+ }
+
+ /** @return Resource collection API of MachineExtensions. */
+ public MachineExtensions machineExtensions() {
+ if (this.machineExtensions == null) {
+ this.machineExtensions = new MachineExtensionsImpl(clientObject.getMachineExtensions(), this);
+ }
+ return machineExtensions;
+ }
+
+ /** @return Resource collection API of GuestAgents. */
+ public GuestAgents guestAgents() {
+ if (this.guestAgents == null) {
+ this.guestAgents = new GuestAgentsImpl(clientObject.getGuestAgents(), this);
+ }
+ return guestAgents;
+ }
+
+ /**
+ * @return Wrapped service client ConnectedVMwareClient providing direct access to the underlying auto-generated API
+ * implementation, based on Azure REST API.
+ */
+ public ConnectedVMwareClient serviceClient() {
+ return this.clientObject;
+ }
+}
diff --git a/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/ClustersClient.java b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/ClustersClient.java
new file mode 100644
index 000000000000..d10e9dc97c5e
--- /dev/null
+++ b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/ClustersClient.java
@@ -0,0 +1,264 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.connectedvmware.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.connectedvmware.fluent.models.ClusterInner;
+import com.azure.resourcemanager.connectedvmware.models.ResourcePatch;
+
+/** An instance of this class provides access to all the operations defined in ClustersClient. */
+public interface ClustersClient {
+ /**
+ * Create Or Update cluster.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param clusterName Name of the cluster.
+ * @param body Request payload.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ClusterInner> beginCreate(
+ String resourceGroupName, String clusterName, ClusterInner body);
+
+ /**
+ * Create Or Update cluster.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param clusterName Name of the cluster.
+ * @param body Request payload.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ClusterInner> beginCreate(
+ String resourceGroupName, String clusterName, ClusterInner body, Context context);
+
+ /**
+ * Create Or Update cluster.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param clusterName Name of the cluster.
+ * @param body Request payload.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ClusterInner create(String resourceGroupName, String clusterName, ClusterInner body);
+
+ /**
+ * Create Or Update cluster.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param clusterName Name of the cluster.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ClusterInner create(String resourceGroupName, String clusterName);
+
+ /**
+ * Create Or Update cluster.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param clusterName Name of the cluster.
+ * @param body Request payload.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ClusterInner create(String resourceGroupName, String clusterName, ClusterInner body, Context context);
+
+ /**
+ * Implements cluster GET method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param clusterName Name of the cluster.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ClusterInner getByResourceGroup(String resourceGroupName, String clusterName);
+
+ /**
+ * Implements cluster GET method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param clusterName Name of the cluster.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName, String clusterName, Context context);
+
+ /**
+ * API to update certain properties of the cluster resource.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param clusterName Name of the cluster.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ClusterInner update(String resourceGroupName, String clusterName);
+
+ /**
+ * API to update certain properties of the cluster resource.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param clusterName Name of the cluster.
+ * @param body Resource properties to update.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response updateWithResponse(
+ String resourceGroupName, String clusterName, ResourcePatch body, Context context);
+
+ /**
+ * Implements cluster DELETE method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param clusterName Name of the cluster.
+ * @param force Whether force delete was specified.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String clusterName, Boolean force);
+
+ /**
+ * Implements cluster DELETE method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param clusterName Name of the cluster.
+ * @param force Whether force delete was specified.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String clusterName, Boolean force, Context context);
+
+ /**
+ * Implements cluster DELETE method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param clusterName Name of the cluster.
+ * @param force Whether force delete was specified.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 clusterName, Boolean force);
+
+ /**
+ * Implements cluster DELETE method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param clusterName Name of the cluster.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 clusterName);
+
+ /**
+ * Implements cluster DELETE method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param clusterName Name of the cluster.
+ * @param force Whether force delete was specified.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 clusterName, Boolean force, Context context);
+
+ /**
+ * List of clusters in a subscription.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of Clusters.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * List of clusters in a subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of Clusters.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+
+ /**
+ * List of clusters in a resource group.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of Clusters.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * List of clusters in a resource group.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of Clusters.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+}
diff --git a/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/ConnectedVMwareClient.java b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/ConnectedVMwareClient.java
new file mode 100644
index 000000000000..5f85407c48fa
--- /dev/null
+++ b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/ConnectedVMwareClient.java
@@ -0,0 +1,137 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.connectedvmware.fluent;
+
+import com.azure.core.http.HttpPipeline;
+import java.time.Duration;
+
+/** The interface for ConnectedVMwareClient class. */
+public interface ConnectedVMwareClient {
+ /**
+ * Gets The Subscription ID.
+ *
+ * @return the subscriptionId value.
+ */
+ String getSubscriptionId();
+
+ /**
+ * Gets server parameter.
+ *
+ * @return the endpoint value.
+ */
+ String getEndpoint();
+
+ /**
+ * Gets Api Version.
+ *
+ * @return the apiVersion value.
+ */
+ String getApiVersion();
+
+ /**
+ * Gets The HTTP pipeline to send requests through.
+ *
+ * @return the httpPipeline value.
+ */
+ HttpPipeline getHttpPipeline();
+
+ /**
+ * Gets The default poll interval for long-running operation.
+ *
+ * @return the defaultPollInterval value.
+ */
+ Duration getDefaultPollInterval();
+
+ /**
+ * Gets the OperationsClient object to access its operations.
+ *
+ * @return the OperationsClient object.
+ */
+ OperationsClient getOperations();
+
+ /**
+ * Gets the ResourcePoolsClient object to access its operations.
+ *
+ * @return the ResourcePoolsClient object.
+ */
+ ResourcePoolsClient getResourcePools();
+
+ /**
+ * Gets the ClustersClient object to access its operations.
+ *
+ * @return the ClustersClient object.
+ */
+ ClustersClient getClusters();
+
+ /**
+ * Gets the HostsClient object to access its operations.
+ *
+ * @return the HostsClient object.
+ */
+ HostsClient getHosts();
+
+ /**
+ * Gets the DatastoresClient object to access its operations.
+ *
+ * @return the DatastoresClient object.
+ */
+ DatastoresClient getDatastores();
+
+ /**
+ * Gets the VCentersClient object to access its operations.
+ *
+ * @return the VCentersClient object.
+ */
+ VCentersClient getVCenters();
+
+ /**
+ * Gets the VirtualMachinesClient object to access its operations.
+ *
+ * @return the VirtualMachinesClient object.
+ */
+ VirtualMachinesClient getVirtualMachines();
+
+ /**
+ * Gets the VirtualMachineTemplatesClient object to access its operations.
+ *
+ * @return the VirtualMachineTemplatesClient object.
+ */
+ VirtualMachineTemplatesClient getVirtualMachineTemplates();
+
+ /**
+ * Gets the VirtualNetworksClient object to access its operations.
+ *
+ * @return the VirtualNetworksClient object.
+ */
+ VirtualNetworksClient getVirtualNetworks();
+
+ /**
+ * Gets the InventoryItemsClient object to access its operations.
+ *
+ * @return the InventoryItemsClient object.
+ */
+ InventoryItemsClient getInventoryItems();
+
+ /**
+ * Gets the HybridIdentityMetadatasClient object to access its operations.
+ *
+ * @return the HybridIdentityMetadatasClient object.
+ */
+ HybridIdentityMetadatasClient getHybridIdentityMetadatas();
+
+ /**
+ * Gets the MachineExtensionsClient object to access its operations.
+ *
+ * @return the MachineExtensionsClient object.
+ */
+ MachineExtensionsClient getMachineExtensions();
+
+ /**
+ * Gets the GuestAgentsClient object to access its operations.
+ *
+ * @return the GuestAgentsClient object.
+ */
+ GuestAgentsClient getGuestAgents();
+}
diff --git a/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/DatastoresClient.java b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/DatastoresClient.java
new file mode 100644
index 000000000000..58e4b045282c
--- /dev/null
+++ b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/DatastoresClient.java
@@ -0,0 +1,264 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.connectedvmware.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.connectedvmware.fluent.models.DatastoreInner;
+import com.azure.resourcemanager.connectedvmware.models.ResourcePatch;
+
+/** An instance of this class provides access to all the operations defined in DatastoresClient. */
+public interface DatastoresClient {
+ /**
+ * Create Or Update datastore.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param datastoreName Name of the datastore.
+ * @param body Request payload.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the datastore.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, DatastoreInner> beginCreate(
+ String resourceGroupName, String datastoreName, DatastoreInner body);
+
+ /**
+ * Create Or Update datastore.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param datastoreName Name of the datastore.
+ * @param body Request payload.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the datastore.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, DatastoreInner> beginCreate(
+ String resourceGroupName, String datastoreName, DatastoreInner body, Context context);
+
+ /**
+ * Create Or Update datastore.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param datastoreName Name of the datastore.
+ * @param body Request payload.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the datastore.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DatastoreInner create(String resourceGroupName, String datastoreName, DatastoreInner body);
+
+ /**
+ * Create Or Update datastore.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param datastoreName Name of the datastore.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the datastore.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DatastoreInner create(String resourceGroupName, String datastoreName);
+
+ /**
+ * Create Or Update datastore.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param datastoreName Name of the datastore.
+ * @param body Request payload.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the datastore.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DatastoreInner create(String resourceGroupName, String datastoreName, DatastoreInner body, Context context);
+
+ /**
+ * Implements datastore GET method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param datastoreName Name of the datastore.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the datastore.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DatastoreInner getByResourceGroup(String resourceGroupName, String datastoreName);
+
+ /**
+ * Implements datastore GET method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param datastoreName Name of the datastore.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the datastore.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName, String datastoreName, Context context);
+
+ /**
+ * API to update certain properties of the datastore resource.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param datastoreName Name of the datastore.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the datastore.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DatastoreInner update(String resourceGroupName, String datastoreName);
+
+ /**
+ * API to update certain properties of the datastore resource.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param datastoreName Name of the datastore.
+ * @param body Resource properties to update.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the datastore.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response updateWithResponse(
+ String resourceGroupName, String datastoreName, ResourcePatch body, Context context);
+
+ /**
+ * Implements datastore DELETE method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param datastoreName Name of the datastore.
+ * @param force Whether force delete was specified.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String datastoreName, Boolean force);
+
+ /**
+ * Implements datastore DELETE method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param datastoreName Name of the datastore.
+ * @param force Whether force delete was specified.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String datastoreName, Boolean force, Context context);
+
+ /**
+ * Implements datastore DELETE method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param datastoreName Name of the datastore.
+ * @param force Whether force delete was specified.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 datastoreName, Boolean force);
+
+ /**
+ * Implements datastore DELETE method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param datastoreName Name of the datastore.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 datastoreName);
+
+ /**
+ * Implements datastore DELETE method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param datastoreName Name of the datastore.
+ * @param force Whether force delete was specified.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 datastoreName, Boolean force, Context context);
+
+ /**
+ * List of datastores in a subscription.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of Datastores.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * List of datastores in a subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of Datastores.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+
+ /**
+ * List of datastores in a resource group.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of Datastores.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * List of datastores in a resource group.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of Datastores.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+}
diff --git a/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/GuestAgentsClient.java b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/GuestAgentsClient.java
new file mode 100644
index 000000000000..b8a1d66d6702
--- /dev/null
+++ b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/GuestAgentsClient.java
@@ -0,0 +1,210 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.connectedvmware.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.connectedvmware.fluent.models.GuestAgentInner;
+
+/** An instance of this class provides access to all the operations defined in GuestAgentsClient. */
+public interface GuestAgentsClient {
+ /**
+ * Create Or Update GuestAgent.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineName Name of the vm.
+ * @param name Name of the guestAgents.
+ * @param body Request payload.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return defines the GuestAgent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, GuestAgentInner> beginCreate(
+ String resourceGroupName, String virtualMachineName, String name, GuestAgentInner body);
+
+ /**
+ * Create Or Update GuestAgent.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineName Name of the vm.
+ * @param name Name of the guestAgents.
+ * @param body Request payload.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return defines the GuestAgent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, GuestAgentInner> beginCreate(
+ String resourceGroupName, String virtualMachineName, String name, GuestAgentInner body, Context context);
+
+ /**
+ * Create Or Update GuestAgent.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineName Name of the vm.
+ * @param name Name of the guestAgents.
+ * @param body Request payload.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return defines the GuestAgent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ GuestAgentInner create(String resourceGroupName, String virtualMachineName, String name, GuestAgentInner body);
+
+ /**
+ * Create Or Update GuestAgent.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineName Name of the vm.
+ * @param name Name of the guestAgents.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return defines the GuestAgent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ GuestAgentInner create(String resourceGroupName, String virtualMachineName, String name);
+
+ /**
+ * Create Or Update GuestAgent.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineName Name of the vm.
+ * @param name Name of the guestAgents.
+ * @param body Request payload.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return defines the GuestAgent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ GuestAgentInner create(
+ String resourceGroupName, String virtualMachineName, String name, GuestAgentInner body, Context context);
+
+ /**
+ * Implements GuestAgent GET method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineName Name of the vm.
+ * @param name Name of the GuestAgent.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return defines the GuestAgent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ GuestAgentInner get(String resourceGroupName, String virtualMachineName, String name);
+
+ /**
+ * Implements GuestAgent GET method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineName Name of the vm.
+ * @param name Name of the GuestAgent.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return defines the GuestAgent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String virtualMachineName, String name, Context context);
+
+ /**
+ * Implements GuestAgent DELETE method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineName Name of the vm.
+ * @param name Name of the GuestAgent.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String virtualMachineName, String name);
+
+ /**
+ * Implements GuestAgent DELETE method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineName Name of the vm.
+ * @param name Name of the GuestAgent.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String virtualMachineName, String name, Context context);
+
+ /**
+ * Implements GuestAgent DELETE method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineName Name of the vm.
+ * @param name Name of the GuestAgent.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 virtualMachineName, String name);
+
+ /**
+ * Implements GuestAgent DELETE method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineName Name of the vm.
+ * @param name Name of the GuestAgent.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 virtualMachineName, String name, Context context);
+
+ /**
+ * Returns the list of GuestAgent of the given vm.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineName Name of the vm.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of GuestAgent.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByVm(String resourceGroupName, String virtualMachineName);
+
+ /**
+ * Returns the list of GuestAgent of the given vm.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineName Name of the vm.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of GuestAgent.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByVm(String resourceGroupName, String virtualMachineName, Context context);
+}
diff --git a/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/HostsClient.java b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/HostsClient.java
new file mode 100644
index 000000000000..cb4845f8821a
--- /dev/null
+++ b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/HostsClient.java
@@ -0,0 +1,263 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.connectedvmware.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.connectedvmware.fluent.models.HostModelInner;
+import com.azure.resourcemanager.connectedvmware.models.ResourcePatch;
+
+/** An instance of this class provides access to all the operations defined in HostsClient. */
+public interface HostsClient {
+ /**
+ * Create Or Update host.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param hostname Name of the host.
+ * @param body Request payload.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the host.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, HostModelInner> beginCreate(
+ String resourceGroupName, String hostname, HostModelInner body);
+
+ /**
+ * Create Or Update host.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param hostname Name of the host.
+ * @param body Request payload.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the host.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, HostModelInner> beginCreate(
+ String resourceGroupName, String hostname, HostModelInner body, Context context);
+
+ /**
+ * Create Or Update host.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param hostname Name of the host.
+ * @param body Request payload.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the host.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ HostModelInner create(String resourceGroupName, String hostname, HostModelInner body);
+
+ /**
+ * Create Or Update host.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param hostname Name of the host.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the host.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ HostModelInner create(String resourceGroupName, String hostname);
+
+ /**
+ * Create Or Update host.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param hostname Name of the host.
+ * @param body Request payload.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the host.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ HostModelInner create(String resourceGroupName, String hostname, HostModelInner body, Context context);
+
+ /**
+ * Implements host GET method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param hostname Name of the host.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the host.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ HostModelInner getByResourceGroup(String resourceGroupName, String hostname);
+
+ /**
+ * Implements host GET method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param hostname Name of the host.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the host.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(String resourceGroupName, String hostname, Context context);
+
+ /**
+ * API to update certain properties of the host resource.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param hostname Name of the host.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the host.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ HostModelInner update(String resourceGroupName, String hostname);
+
+ /**
+ * API to update certain properties of the host resource.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param hostname Name of the host.
+ * @param body Resource properties to update.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the host.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response updateWithResponse(
+ String resourceGroupName, String hostname, ResourcePatch body, Context context);
+
+ /**
+ * Implements host DELETE method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param hostname Name of the host.
+ * @param force Whether force delete was specified.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String hostname, Boolean force);
+
+ /**
+ * Implements host DELETE method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param hostname Name of the host.
+ * @param force Whether force delete was specified.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String hostname, Boolean force, Context context);
+
+ /**
+ * Implements host DELETE method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param hostname Name of the host.
+ * @param force Whether force delete was specified.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 hostname, Boolean force);
+
+ /**
+ * Implements host DELETE method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param hostname Name of the host.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String hostname);
+
+ /**
+ * Implements host DELETE method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param hostname Name of the host.
+ * @param force Whether force delete was specified.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 hostname, Boolean force, Context context);
+
+ /**
+ * List of hosts in a subscription.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of Hosts.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * List of hosts in a subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of Hosts.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+
+ /**
+ * List of hosts in a resource group.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of Hosts.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * List of hosts in a resource group.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of Hosts.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+}
diff --git a/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/HybridIdentityMetadatasClient.java b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/HybridIdentityMetadatasClient.java
new file mode 100644
index 000000000000..b1186c4d7d4c
--- /dev/null
+++ b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/HybridIdentityMetadatasClient.java
@@ -0,0 +1,137 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.connectedvmware.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.connectedvmware.fluent.models.HybridIdentityMetadataInner;
+
+/** An instance of this class provides access to all the operations defined in HybridIdentityMetadatasClient. */
+public interface HybridIdentityMetadatasClient {
+ /**
+ * Create Or Update HybridIdentityMetadata.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineName Name of the vm.
+ * @param metadataName Name of the hybridIdentityMetadata.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return defines the HybridIdentityMetadata.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ HybridIdentityMetadataInner create(String resourceGroupName, String virtualMachineName, String metadataName);
+
+ /**
+ * Create Or Update HybridIdentityMetadata.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineName Name of the vm.
+ * @param metadataName Name of the hybridIdentityMetadata.
+ * @param body Request payload.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return defines the HybridIdentityMetadata.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createWithResponse(
+ String resourceGroupName,
+ String virtualMachineName,
+ String metadataName,
+ HybridIdentityMetadataInner body,
+ Context context);
+
+ /**
+ * Implements HybridIdentityMetadata GET method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineName Name of the vm.
+ * @param metadataName Name of the HybridIdentityMetadata.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return defines the HybridIdentityMetadata.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ HybridIdentityMetadataInner get(String resourceGroupName, String virtualMachineName, String metadataName);
+
+ /**
+ * Implements HybridIdentityMetadata GET method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineName Name of the vm.
+ * @param metadataName Name of the HybridIdentityMetadata.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return defines the HybridIdentityMetadata.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String virtualMachineName, String metadataName, Context context);
+
+ /**
+ * Implements HybridIdentityMetadata DELETE method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineName Name of the vm.
+ * @param metadataName Name of the HybridIdentityMetadata.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 virtualMachineName, String metadataName);
+
+ /**
+ * Implements HybridIdentityMetadata DELETE method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineName Name of the vm.
+ * @param metadataName Name of the HybridIdentityMetadata.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(
+ String resourceGroupName, String virtualMachineName, String metadataName, Context context);
+
+ /**
+ * Returns the list of HybridIdentityMetadata of the given vm.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineName Name of the vm.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of HybridIdentityMetadata.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByVm(String resourceGroupName, String virtualMachineName);
+
+ /**
+ * Returns the list of HybridIdentityMetadata of the given vm.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineName Name of the vm.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of HybridIdentityMetadata.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByVm(
+ String resourceGroupName, String virtualMachineName, Context context);
+}
diff --git a/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/InventoryItemsClient.java b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/InventoryItemsClient.java
new file mode 100644
index 000000000000..505b4291968b
--- /dev/null
+++ b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/InventoryItemsClient.java
@@ -0,0 +1,136 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.connectedvmware.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.connectedvmware.fluent.models.InventoryItemInner;
+
+/** An instance of this class provides access to all the operations defined in InventoryItemsClient. */
+public interface InventoryItemsClient {
+ /**
+ * Create Or Update InventoryItem.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param vcenterName Name of the vCenter.
+ * @param inventoryItemName Name of the inventoryItem.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return defines the inventory item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ InventoryItemInner create(String resourceGroupName, String vcenterName, String inventoryItemName);
+
+ /**
+ * Create Or Update InventoryItem.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param vcenterName Name of the vCenter.
+ * @param inventoryItemName Name of the inventoryItem.
+ * @param body Request payload.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return defines the inventory item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createWithResponse(
+ String resourceGroupName,
+ String vcenterName,
+ String inventoryItemName,
+ InventoryItemInner body,
+ Context context);
+
+ /**
+ * Implements InventoryItem GET method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param vcenterName Name of the vCenter.
+ * @param inventoryItemName Name of the inventoryItem.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return defines the inventory item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ InventoryItemInner get(String resourceGroupName, String vcenterName, String inventoryItemName);
+
+ /**
+ * Implements InventoryItem GET method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param vcenterName Name of the vCenter.
+ * @param inventoryItemName Name of the inventoryItem.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return defines the inventory item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String vcenterName, String inventoryItemName, Context context);
+
+ /**
+ * Implements inventoryItem DELETE method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param vcenterName Name of the vCenter.
+ * @param inventoryItemName Name of the inventoryItem.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 vcenterName, String inventoryItemName);
+
+ /**
+ * Implements inventoryItem DELETE method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param vcenterName Name of the vCenter.
+ * @param inventoryItemName Name of the inventoryItem.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(
+ String resourceGroupName, String vcenterName, String inventoryItemName, Context context);
+
+ /**
+ * Returns the list of inventoryItems of the given vCenter.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param vcenterName Name of the vCenter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of InventoryItems.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByVCenter(String resourceGroupName, String vcenterName);
+
+ /**
+ * Returns the list of inventoryItems of the given vCenter.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param vcenterName Name of the vCenter.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of InventoryItems.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByVCenter(String resourceGroupName, String vcenterName, Context context);
+}
diff --git a/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/MachineExtensionsClient.java b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/MachineExtensionsClient.java
new file mode 100644
index 000000000000..8858f7435cf5
--- /dev/null
+++ b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/MachineExtensionsClient.java
@@ -0,0 +1,281 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.connectedvmware.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.connectedvmware.fluent.models.MachineExtensionInner;
+import com.azure.resourcemanager.connectedvmware.models.MachineExtensionUpdate;
+
+/** An instance of this class provides access to all the operations defined in MachineExtensionsClient. */
+public interface MachineExtensionsClient {
+ /**
+ * The operation to create or update the extension.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param name The name of the machine where the extension should be created or updated.
+ * @param extensionName The name of the machine extension.
+ * @param extensionParameters Parameters supplied to the Create Machine Extension operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return describes a Machine Extension.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, MachineExtensionInner> beginCreateOrUpdate(
+ String resourceGroupName, String name, String extensionName, MachineExtensionInner extensionParameters);
+
+ /**
+ * The operation to create or update the extension.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param name The name of the machine where the extension should be created or updated.
+ * @param extensionName The name of the machine extension.
+ * @param extensionParameters Parameters supplied to the Create Machine Extension operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return describes a Machine Extension.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, MachineExtensionInner> beginCreateOrUpdate(
+ String resourceGroupName,
+ String name,
+ String extensionName,
+ MachineExtensionInner extensionParameters,
+ Context context);
+
+ /**
+ * The operation to create or update the extension.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param name The name of the machine where the extension should be created or updated.
+ * @param extensionName The name of the machine extension.
+ * @param extensionParameters Parameters supplied to the Create Machine Extension operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return describes a Machine Extension.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MachineExtensionInner createOrUpdate(
+ String resourceGroupName, String name, String extensionName, MachineExtensionInner extensionParameters);
+
+ /**
+ * The operation to create or update the extension.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param name The name of the machine where the extension should be created or updated.
+ * @param extensionName The name of the machine extension.
+ * @param extensionParameters Parameters supplied to the Create Machine Extension operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return describes a Machine Extension.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MachineExtensionInner createOrUpdate(
+ String resourceGroupName,
+ String name,
+ String extensionName,
+ MachineExtensionInner extensionParameters,
+ Context context);
+
+ /**
+ * The operation to update the extension.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param name The name of the machine where the extension should be created or updated.
+ * @param extensionName The name of the machine extension.
+ * @param extensionParameters Parameters supplied to the Create Machine Extension operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return describes a Machine Extension.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, MachineExtensionInner> beginUpdate(
+ String resourceGroupName, String name, String extensionName, MachineExtensionUpdate extensionParameters);
+
+ /**
+ * The operation to update the extension.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param name The name of the machine where the extension should be created or updated.
+ * @param extensionName The name of the machine extension.
+ * @param extensionParameters Parameters supplied to the Create Machine Extension operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return describes a Machine Extension.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, MachineExtensionInner> beginUpdate(
+ String resourceGroupName,
+ String name,
+ String extensionName,
+ MachineExtensionUpdate extensionParameters,
+ Context context);
+
+ /**
+ * The operation to update the extension.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param name The name of the machine where the extension should be created or updated.
+ * @param extensionName The name of the machine extension.
+ * @param extensionParameters Parameters supplied to the Create Machine Extension operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return describes a Machine Extension.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MachineExtensionInner update(
+ String resourceGroupName, String name, String extensionName, MachineExtensionUpdate extensionParameters);
+
+ /**
+ * The operation to update the extension.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param name The name of the machine where the extension should be created or updated.
+ * @param extensionName The name of the machine extension.
+ * @param extensionParameters Parameters supplied to the Create Machine Extension operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return describes a Machine Extension.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MachineExtensionInner update(
+ String resourceGroupName,
+ String name,
+ String extensionName,
+ MachineExtensionUpdate extensionParameters,
+ Context context);
+
+ /**
+ * The operation to delete the extension.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param name The name of the machine where the extension should be deleted.
+ * @param extensionName The name of the machine extension.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String name, String extensionName);
+
+ /**
+ * The operation to delete the extension.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param name The name of the machine where the extension should be deleted.
+ * @param extensionName The name of the machine extension.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String name, String extensionName, Context context);
+
+ /**
+ * The operation to delete the extension.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param name The name of the machine where the extension should be deleted.
+ * @param extensionName The name of the machine extension.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String name, String extensionName);
+
+ /**
+ * The operation to delete the extension.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param name The name of the machine where the extension should be deleted.
+ * @param extensionName The name of the machine extension.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String name, String extensionName, Context context);
+
+ /**
+ * The operation to get the extension.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param name The name of the machine containing the extension.
+ * @param extensionName The name of the machine extension.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return describes a Machine Extension.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MachineExtensionInner get(String resourceGroupName, String name, String extensionName);
+
+ /**
+ * The operation to get the extension.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param name The name of the machine containing the extension.
+ * @param extensionName The name of the machine extension.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return describes a Machine Extension.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String name, String extensionName, Context context);
+
+ /**
+ * The operation to get all extensions of a non-Azure machine.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param name The name of the machine containing the extension.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return describes the Machine Extensions List Result.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String name);
+
+ /**
+ * The operation to get all extensions of a non-Azure machine.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param name The name of the machine containing the extension.
+ * @param expand The expand expression to apply on the operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return describes the Machine Extensions List Result.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String name, String expand, Context context);
+}
diff --git a/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/OperationsClient.java b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/OperationsClient.java
new file mode 100644
index 000000000000..b18713bb3d78
--- /dev/null
+++ b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/OperationsClient.java
@@ -0,0 +1,36 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.connectedvmware.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.connectedvmware.fluent.models.OperationInner;
+
+/** An instance of this class provides access to all the operations defined in OperationsClient. */
+public interface OperationsClient {
+ /**
+ * Returns list of all operations.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return lists the operations available.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Returns list of all operations.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return lists the operations available.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+}
diff --git a/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/ResourcePoolsClient.java b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/ResourcePoolsClient.java
new file mode 100644
index 000000000000..e0bc2ddb66bc
--- /dev/null
+++ b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/ResourcePoolsClient.java
@@ -0,0 +1,265 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.connectedvmware.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.connectedvmware.fluent.models.ResourcePoolInner;
+import com.azure.resourcemanager.connectedvmware.models.ResourcePatch;
+
+/** An instance of this class provides access to all the operations defined in ResourcePoolsClient. */
+public interface ResourcePoolsClient {
+ /**
+ * Create Or Update resourcePool.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param resourcePoolName Name of the resourcePool.
+ * @param body Request payload.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the resourcePool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ResourcePoolInner> beginCreate(
+ String resourceGroupName, String resourcePoolName, ResourcePoolInner body);
+
+ /**
+ * Create Or Update resourcePool.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param resourcePoolName Name of the resourcePool.
+ * @param body Request payload.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the resourcePool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ResourcePoolInner> beginCreate(
+ String resourceGroupName, String resourcePoolName, ResourcePoolInner body, Context context);
+
+ /**
+ * Create Or Update resourcePool.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param resourcePoolName Name of the resourcePool.
+ * @param body Request payload.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the resourcePool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ResourcePoolInner create(String resourceGroupName, String resourcePoolName, ResourcePoolInner body);
+
+ /**
+ * Create Or Update resourcePool.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param resourcePoolName Name of the resourcePool.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the resourcePool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ResourcePoolInner create(String resourceGroupName, String resourcePoolName);
+
+ /**
+ * Create Or Update resourcePool.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param resourcePoolName Name of the resourcePool.
+ * @param body Request payload.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the resourcePool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ResourcePoolInner create(
+ String resourceGroupName, String resourcePoolName, ResourcePoolInner body, Context context);
+
+ /**
+ * Implements resourcePool GET method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param resourcePoolName Name of the resourcePool.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the resourcePool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ResourcePoolInner getByResourceGroup(String resourceGroupName, String resourcePoolName);
+
+ /**
+ * Implements resourcePool GET method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param resourcePoolName Name of the resourcePool.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the resourcePool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName, String resourcePoolName, Context context);
+
+ /**
+ * API to update certain properties of the resourcePool resource.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param resourcePoolName Name of the resourcePool.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the resourcePool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ResourcePoolInner update(String resourceGroupName, String resourcePoolName);
+
+ /**
+ * API to update certain properties of the resourcePool resource.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param resourcePoolName Name of the resourcePool.
+ * @param body Resource properties to update.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the resourcePool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response updateWithResponse(
+ String resourceGroupName, String resourcePoolName, ResourcePatch body, Context context);
+
+ /**
+ * Implements resourcePool DELETE method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param resourcePoolName Name of the resourcePool.
+ * @param force Whether force delete was specified.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String resourcePoolName, Boolean force);
+
+ /**
+ * Implements resourcePool DELETE method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param resourcePoolName Name of the resourcePool.
+ * @param force Whether force delete was specified.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String resourcePoolName, Boolean force, Context context);
+
+ /**
+ * Implements resourcePool DELETE method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param resourcePoolName Name of the resourcePool.
+ * @param force Whether force delete was specified.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 resourcePoolName, Boolean force);
+
+ /**
+ * Implements resourcePool DELETE method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param resourcePoolName Name of the resourcePool.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 resourcePoolName);
+
+ /**
+ * Implements resourcePool DELETE method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param resourcePoolName Name of the resourcePool.
+ * @param force Whether force delete was specified.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 resourcePoolName, Boolean force, Context context);
+
+ /**
+ * List of resourcePools in a subscription.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of ResourcePools.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * List of resourcePools in a subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of ResourcePools.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+
+ /**
+ * List of resourcePools in a resource group.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of ResourcePools.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * List of resourcePools in a resource group.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of ResourcePools.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+}
diff --git a/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/VCentersClient.java b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/VCentersClient.java
new file mode 100644
index 000000000000..a4d60fba35d0
--- /dev/null
+++ b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/VCentersClient.java
@@ -0,0 +1,264 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.connectedvmware.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.connectedvmware.fluent.models.VCenterInner;
+import com.azure.resourcemanager.connectedvmware.models.ResourcePatch;
+
+/** An instance of this class provides access to all the operations defined in VCentersClient. */
+public interface VCentersClient {
+ /**
+ * Create Or Update vCenter.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param vcenterName Name of the vCenter.
+ * @param body Request payload.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return defines the vCenter.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, VCenterInner> beginCreate(
+ String resourceGroupName, String vcenterName, VCenterInner body);
+
+ /**
+ * Create Or Update vCenter.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param vcenterName Name of the vCenter.
+ * @param body Request payload.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return defines the vCenter.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, VCenterInner> beginCreate(
+ String resourceGroupName, String vcenterName, VCenterInner body, Context context);
+
+ /**
+ * Create Or Update vCenter.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param vcenterName Name of the vCenter.
+ * @param body Request payload.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return defines the vCenter.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VCenterInner create(String resourceGroupName, String vcenterName, VCenterInner body);
+
+ /**
+ * Create Or Update vCenter.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param vcenterName Name of the vCenter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return defines the vCenter.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VCenterInner create(String resourceGroupName, String vcenterName);
+
+ /**
+ * Create Or Update vCenter.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param vcenterName Name of the vCenter.
+ * @param body Request payload.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return defines the vCenter.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VCenterInner create(String resourceGroupName, String vcenterName, VCenterInner body, Context context);
+
+ /**
+ * Implements vCenter GET method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param vcenterName Name of the vCenter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return defines the vCenter.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VCenterInner getByResourceGroup(String resourceGroupName, String vcenterName);
+
+ /**
+ * Implements vCenter GET method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param vcenterName Name of the vCenter.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return defines the vCenter.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName, String vcenterName, Context context);
+
+ /**
+ * API to update certain properties of the vCenter resource.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param vcenterName Name of the vCenter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return defines the vCenter.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VCenterInner update(String resourceGroupName, String vcenterName);
+
+ /**
+ * API to update certain properties of the vCenter resource.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param vcenterName Name of the vCenter.
+ * @param body Resource properties to update.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return defines the vCenter.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response updateWithResponse(
+ String resourceGroupName, String vcenterName, ResourcePatch body, Context context);
+
+ /**
+ * Implements vCenter DELETE method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param vcenterName Name of the vCenter.
+ * @param force Whether force delete was specified.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String vcenterName, Boolean force);
+
+ /**
+ * Implements vCenter DELETE method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param vcenterName Name of the vCenter.
+ * @param force Whether force delete was specified.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String vcenterName, Boolean force, Context context);
+
+ /**
+ * Implements vCenter DELETE method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param vcenterName Name of the vCenter.
+ * @param force Whether force delete was specified.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 vcenterName, Boolean force);
+
+ /**
+ * Implements vCenter DELETE method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param vcenterName Name of the vCenter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 vcenterName);
+
+ /**
+ * Implements vCenter DELETE method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param vcenterName Name of the vCenter.
+ * @param force Whether force delete was specified.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 vcenterName, Boolean force, Context context);
+
+ /**
+ * List of vCenters in a subscription.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of VCenters.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * List of vCenters in a subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of VCenters.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+
+ /**
+ * List of vCenters in a resource group.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of VCenters.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * List of vCenters in a resource group.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of VCenters.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+}
diff --git a/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/VirtualMachineTemplatesClient.java b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/VirtualMachineTemplatesClient.java
new file mode 100644
index 000000000000..ad2f5ef2f5bb
--- /dev/null
+++ b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/VirtualMachineTemplatesClient.java
@@ -0,0 +1,267 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.connectedvmware.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.connectedvmware.fluent.models.VirtualMachineTemplateInner;
+import com.azure.resourcemanager.connectedvmware.models.ResourcePatch;
+
+/** An instance of this class provides access to all the operations defined in VirtualMachineTemplatesClient. */
+public interface VirtualMachineTemplatesClient {
+ /**
+ * Create Or Update virtual machine template.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineTemplateName Name of the virtual machine template resource.
+ * @param body Request payload.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the virtualMachineTemplate.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, VirtualMachineTemplateInner> beginCreate(
+ String resourceGroupName, String virtualMachineTemplateName, VirtualMachineTemplateInner body);
+
+ /**
+ * Create Or Update virtual machine template.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineTemplateName Name of the virtual machine template resource.
+ * @param body Request payload.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the virtualMachineTemplate.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, VirtualMachineTemplateInner> beginCreate(
+ String resourceGroupName, String virtualMachineTemplateName, VirtualMachineTemplateInner body, Context context);
+
+ /**
+ * Create Or Update virtual machine template.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineTemplateName Name of the virtual machine template resource.
+ * @param body Request payload.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the virtualMachineTemplate.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VirtualMachineTemplateInner create(
+ String resourceGroupName, String virtualMachineTemplateName, VirtualMachineTemplateInner body);
+
+ /**
+ * Create Or Update virtual machine template.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineTemplateName Name of the virtual machine template resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the virtualMachineTemplate.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VirtualMachineTemplateInner create(String resourceGroupName, String virtualMachineTemplateName);
+
+ /**
+ * Create Or Update virtual machine template.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineTemplateName Name of the virtual machine template resource.
+ * @param body Request payload.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the virtualMachineTemplate.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VirtualMachineTemplateInner create(
+ String resourceGroupName, String virtualMachineTemplateName, VirtualMachineTemplateInner body, Context context);
+
+ /**
+ * Implements virtual machine template GET method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineTemplateName Name of the virtual machine template resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the virtualMachineTemplate.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VirtualMachineTemplateInner getByResourceGroup(String resourceGroupName, String virtualMachineTemplateName);
+
+ /**
+ * Implements virtual machine template GET method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineTemplateName Name of the virtual machine template resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the virtualMachineTemplate.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName, String virtualMachineTemplateName, Context context);
+
+ /**
+ * API to update certain properties of the virtual machine template resource.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineTemplateName Name of the virtual machine template resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the virtualMachineTemplate.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VirtualMachineTemplateInner update(String resourceGroupName, String virtualMachineTemplateName);
+
+ /**
+ * API to update certain properties of the virtual machine template resource.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineTemplateName Name of the virtual machine template resource.
+ * @param body Resource properties to update.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the virtualMachineTemplate.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response updateWithResponse(
+ String resourceGroupName, String virtualMachineTemplateName, ResourcePatch body, Context context);
+
+ /**
+ * Implements virtual machine template DELETE method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineTemplateName Name of the virtual machine template resource.
+ * @param force Whether force delete was specified.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String virtualMachineTemplateName, Boolean force);
+
+ /**
+ * Implements virtual machine template DELETE method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineTemplateName Name of the virtual machine template resource.
+ * @param force Whether force delete was specified.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String virtualMachineTemplateName, Boolean force, Context context);
+
+ /**
+ * Implements virtual machine template DELETE method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineTemplateName Name of the virtual machine template resource.
+ * @param force Whether force delete was specified.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 virtualMachineTemplateName, Boolean force);
+
+ /**
+ * Implements virtual machine template DELETE method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineTemplateName Name of the virtual machine template resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String virtualMachineTemplateName);
+
+ /**
+ * Implements virtual machine template DELETE method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineTemplateName Name of the virtual machine template resource.
+ * @param force Whether force delete was specified.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 virtualMachineTemplateName, Boolean force, Context context);
+
+ /**
+ * List of virtualMachineTemplates in a subscription.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of VirtualMachineTemplates.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * List of virtualMachineTemplates in a subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of VirtualMachineTemplates.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+
+ /**
+ * List of virtualMachineTemplates in a resource group.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of VirtualMachineTemplates.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * List of virtualMachineTemplates in a resource group.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of VirtualMachineTemplates.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+}
diff --git a/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/VirtualMachinesClient.java b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/VirtualMachinesClient.java
new file mode 100644
index 000000000000..c0baf55e0d03
--- /dev/null
+++ b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/VirtualMachinesClient.java
@@ -0,0 +1,486 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.connectedvmware.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.connectedvmware.fluent.models.VirtualMachineInner;
+import com.azure.resourcemanager.connectedvmware.models.StopVirtualMachineOptions;
+import com.azure.resourcemanager.connectedvmware.models.VirtualMachineUpdate;
+
+/** An instance of this class provides access to all the operations defined in VirtualMachinesClient. */
+public interface VirtualMachinesClient {
+ /**
+ * Create Or Update virtual machine.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineName Name of the virtual machine resource.
+ * @param body Request payload.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the virtualMachine.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, VirtualMachineInner> beginCreate(
+ String resourceGroupName, String virtualMachineName, VirtualMachineInner body);
+
+ /**
+ * Create Or Update virtual machine.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineName Name of the virtual machine resource.
+ * @param body Request payload.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the virtualMachine.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, VirtualMachineInner> beginCreate(
+ String resourceGroupName, String virtualMachineName, VirtualMachineInner body, Context context);
+
+ /**
+ * Create Or Update virtual machine.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineName Name of the virtual machine resource.
+ * @param body Request payload.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the virtualMachine.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VirtualMachineInner create(String resourceGroupName, String virtualMachineName, VirtualMachineInner body);
+
+ /**
+ * Create Or Update virtual machine.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineName Name of the virtual machine resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the virtualMachine.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VirtualMachineInner create(String resourceGroupName, String virtualMachineName);
+
+ /**
+ * Create Or Update virtual machine.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineName Name of the virtual machine resource.
+ * @param body Request payload.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the virtualMachine.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VirtualMachineInner create(
+ String resourceGroupName, String virtualMachineName, VirtualMachineInner body, Context context);
+
+ /**
+ * Implements virtual machine GET method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineName Name of the virtual machine resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the virtualMachine.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VirtualMachineInner getByResourceGroup(String resourceGroupName, String virtualMachineName);
+
+ /**
+ * Implements virtual machine GET method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineName Name of the virtual machine resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the virtualMachine.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName, String virtualMachineName, Context context);
+
+ /**
+ * API to update certain properties of the virtual machine resource.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineName Name of the virtual machine resource.
+ * @param body Resource properties to update.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the virtualMachine.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, VirtualMachineInner> beginUpdate(
+ String resourceGroupName, String virtualMachineName, VirtualMachineUpdate body);
+
+ /**
+ * API to update certain properties of the virtual machine resource.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineName Name of the virtual machine resource.
+ * @param body Resource properties to update.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the virtualMachine.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, VirtualMachineInner> beginUpdate(
+ String resourceGroupName, String virtualMachineName, VirtualMachineUpdate body, Context context);
+
+ /**
+ * API to update certain properties of the virtual machine resource.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineName Name of the virtual machine resource.
+ * @param body Resource properties to update.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the virtualMachine.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VirtualMachineInner update(String resourceGroupName, String virtualMachineName, VirtualMachineUpdate body);
+
+ /**
+ * API to update certain properties of the virtual machine resource.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineName Name of the virtual machine resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the virtualMachine.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VirtualMachineInner update(String resourceGroupName, String virtualMachineName);
+
+ /**
+ * API to update certain properties of the virtual machine resource.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineName Name of the virtual machine resource.
+ * @param body Resource properties to update.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the virtualMachine.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VirtualMachineInner update(
+ String resourceGroupName, String virtualMachineName, VirtualMachineUpdate body, Context context);
+
+ /**
+ * Implements virtual machine DELETE method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineName Name of the virtual machine resource.
+ * @param force Whether force delete was specified.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String virtualMachineName, Boolean force);
+
+ /**
+ * Implements virtual machine DELETE method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineName Name of the virtual machine resource.
+ * @param force Whether force delete was specified.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String virtualMachineName, Boolean force, Context context);
+
+ /**
+ * Implements virtual machine DELETE method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineName Name of the virtual machine resource.
+ * @param force Whether force delete was specified.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 virtualMachineName, Boolean force);
+
+ /**
+ * Implements virtual machine DELETE method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineName Name of the virtual machine resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String virtualMachineName);
+
+ /**
+ * Implements virtual machine DELETE method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineName Name of the virtual machine resource.
+ * @param force Whether force delete was specified.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 virtualMachineName, Boolean force, Context context);
+
+ /**
+ * Stop virtual machine.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineName Name of the virtual machine resource.
+ * @param body Virtualmachine stop action payload.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginStop(
+ String resourceGroupName, String virtualMachineName, StopVirtualMachineOptions body);
+
+ /**
+ * Stop virtual machine.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineName Name of the virtual machine resource.
+ * @param body Virtualmachine stop action payload.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginStop(
+ String resourceGroupName, String virtualMachineName, StopVirtualMachineOptions body, Context context);
+
+ /**
+ * Stop virtual machine.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineName Name of the virtual machine resource.
+ * @param body Virtualmachine stop action payload.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 stop(String resourceGroupName, String virtualMachineName, StopVirtualMachineOptions body);
+
+ /**
+ * Stop virtual machine.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineName Name of the virtual machine resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void stop(String resourceGroupName, String virtualMachineName);
+
+ /**
+ * Stop virtual machine.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineName Name of the virtual machine resource.
+ * @param body Virtualmachine stop action payload.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 stop(String resourceGroupName, String virtualMachineName, StopVirtualMachineOptions body, Context context);
+
+ /**
+ * Start virtual machine.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineName Name of the virtual machine resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginStart(String resourceGroupName, String virtualMachineName);
+
+ /**
+ * Start virtual machine.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineName Name of the virtual machine resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginStart(String resourceGroupName, String virtualMachineName, Context context);
+
+ /**
+ * Start virtual machine.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineName Name of the virtual machine resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void start(String resourceGroupName, String virtualMachineName);
+
+ /**
+ * Start virtual machine.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineName Name of the virtual machine resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void start(String resourceGroupName, String virtualMachineName, Context context);
+
+ /**
+ * Restart virtual machine.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineName Name of the virtual machine resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginRestart(String resourceGroupName, String virtualMachineName);
+
+ /**
+ * Restart virtual machine.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineName Name of the virtual machine resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginRestart(
+ String resourceGroupName, String virtualMachineName, Context context);
+
+ /**
+ * Restart virtual machine.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineName Name of the virtual machine resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void restart(String resourceGroupName, String virtualMachineName);
+
+ /**
+ * Restart virtual machine.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualMachineName Name of the virtual machine resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void restart(String resourceGroupName, String virtualMachineName, Context context);
+
+ /**
+ * List of virtualMachines in a subscription.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of VirtualMachines.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * List of virtualMachines in a subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of VirtualMachines.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+
+ /**
+ * List of virtualMachines in a resource group.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of VirtualMachines.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * List of virtualMachines in a resource group.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of VirtualMachines.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+}
diff --git a/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/VirtualNetworksClient.java b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/VirtualNetworksClient.java
new file mode 100644
index 000000000000..1e9824143f2a
--- /dev/null
+++ b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/VirtualNetworksClient.java
@@ -0,0 +1,265 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.connectedvmware.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.connectedvmware.fluent.models.VirtualNetworkInner;
+import com.azure.resourcemanager.connectedvmware.models.ResourcePatch;
+
+/** An instance of this class provides access to all the operations defined in VirtualNetworksClient. */
+public interface VirtualNetworksClient {
+ /**
+ * Create Or Update virtual network.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualNetworkName Name of the virtual network resource.
+ * @param body Request payload.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the virtualNetwork.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, VirtualNetworkInner> beginCreate(
+ String resourceGroupName, String virtualNetworkName, VirtualNetworkInner body);
+
+ /**
+ * Create Or Update virtual network.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualNetworkName Name of the virtual network resource.
+ * @param body Request payload.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the virtualNetwork.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, VirtualNetworkInner> beginCreate(
+ String resourceGroupName, String virtualNetworkName, VirtualNetworkInner body, Context context);
+
+ /**
+ * Create Or Update virtual network.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualNetworkName Name of the virtual network resource.
+ * @param body Request payload.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the virtualNetwork.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VirtualNetworkInner create(String resourceGroupName, String virtualNetworkName, VirtualNetworkInner body);
+
+ /**
+ * Create Or Update virtual network.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualNetworkName Name of the virtual network resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the virtualNetwork.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VirtualNetworkInner create(String resourceGroupName, String virtualNetworkName);
+
+ /**
+ * Create Or Update virtual network.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualNetworkName Name of the virtual network resource.
+ * @param body Request payload.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the virtualNetwork.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VirtualNetworkInner create(
+ String resourceGroupName, String virtualNetworkName, VirtualNetworkInner body, Context context);
+
+ /**
+ * Implements virtual network GET method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualNetworkName Name of the virtual network resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the virtualNetwork.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VirtualNetworkInner getByResourceGroup(String resourceGroupName, String virtualNetworkName);
+
+ /**
+ * Implements virtual network GET method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualNetworkName Name of the virtual network resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the virtualNetwork.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName, String virtualNetworkName, Context context);
+
+ /**
+ * API to update certain properties of the virtual network resource.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualNetworkName Name of the virtual network resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the virtualNetwork.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VirtualNetworkInner update(String resourceGroupName, String virtualNetworkName);
+
+ /**
+ * API to update certain properties of the virtual network resource.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualNetworkName Name of the virtual network resource.
+ * @param body Resource properties to update.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the virtualNetwork.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response updateWithResponse(
+ String resourceGroupName, String virtualNetworkName, ResourcePatch body, Context context);
+
+ /**
+ * Implements virtual network DELETE method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualNetworkName Name of the virtual network resource.
+ * @param force Whether force delete was specified.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String virtualNetworkName, Boolean force);
+
+ /**
+ * Implements virtual network DELETE method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualNetworkName Name of the virtual network resource.
+ * @param force Whether force delete was specified.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String virtualNetworkName, Boolean force, Context context);
+
+ /**
+ * Implements virtual network DELETE method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualNetworkName Name of the virtual network resource.
+ * @param force Whether force delete was specified.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 virtualNetworkName, Boolean force);
+
+ /**
+ * Implements virtual network DELETE method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualNetworkName Name of the virtual network resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String virtualNetworkName);
+
+ /**
+ * Implements virtual network DELETE method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param virtualNetworkName Name of the virtual network resource.
+ * @param force Whether force delete was specified.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 virtualNetworkName, Boolean force, Context context);
+
+ /**
+ * List of virtualNetworks in a subscription.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of VirtualNetworks.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * List of virtualNetworks in a subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of VirtualNetworks.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+
+ /**
+ * List of virtualNetworks in a resource group.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of VirtualNetworks.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * List of virtualNetworks in a resource group.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of VirtualNetworks.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+}
diff --git a/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/models/ClusterInner.java b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/models/ClusterInner.java
new file mode 100644
index 000000000000..0968061456f5
--- /dev/null
+++ b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/models/ClusterInner.java
@@ -0,0 +1,311 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.connectedvmware.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.annotation.JsonFlatten;
+import com.azure.core.management.Resource;
+import com.azure.core.management.SystemData;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.connectedvmware.models.ExtendedLocation;
+import com.azure.resourcemanager.connectedvmware.models.ResourceStatus;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+import java.util.Map;
+
+/** Define the cluster. */
+@JsonFlatten
+@Fluent
+public class ClusterInner extends Resource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(ClusterInner.class);
+
+ /*
+ * Gets or sets the extended location.
+ */
+ @JsonProperty(value = "extendedLocation")
+ private ExtendedLocation extendedLocation;
+
+ /*
+ * The system data.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /*
+ * Metadata used by portal/tooling/etc to render different UX experiences
+ * for resources of the same type; e.g. ApiApps are a kind of
+ * Microsoft.Web/sites type. If supported, the resource provider must
+ * validate and persist this value.
+ */
+ @JsonProperty(value = "kind")
+ private String kind;
+
+ /*
+ * Gets or sets a unique identifier for this resource.
+ */
+ @JsonProperty(value = "properties.uuid", access = JsonProperty.Access.WRITE_ONLY)
+ private String uuid;
+
+ /*
+ * Gets or sets the ARM Id of the vCenter resource in which this cluster
+ * resides.
+ */
+ @JsonProperty(value = "properties.vCenterId")
+ private String vCenterId;
+
+ /*
+ * Gets or sets the vCenter MoRef (Managed Object Reference) ID for the
+ * cluster.
+ */
+ @JsonProperty(value = "properties.moRefId")
+ private String moRefId;
+
+ /*
+ * Gets or sets the inventory Item ID for the cluster.
+ */
+ @JsonProperty(value = "properties.inventoryItemId")
+ private String inventoryItemId;
+
+ /*
+ * Gets or sets the vCenter Managed Object name for the cluster.
+ */
+ @JsonProperty(value = "properties.moName", access = JsonProperty.Access.WRITE_ONLY)
+ private String moName;
+
+ /*
+ * The resource status information.
+ */
+ @JsonProperty(value = "properties.statuses", access = JsonProperty.Access.WRITE_ONLY)
+ private List statuses;
+
+ /*
+ * Gets the name of the corresponding resource in Kubernetes.
+ */
+ @JsonProperty(value = "properties.customResourceName", access = JsonProperty.Access.WRITE_ONLY)
+ private String customResourceName;
+
+ /*
+ * Gets or sets the datastore ARM ids.
+ */
+ @JsonProperty(value = "properties.datastoreIds", access = JsonProperty.Access.WRITE_ONLY)
+ private List datastoreIds;
+
+ /*
+ * Gets or sets the network ARM ids.
+ */
+ @JsonProperty(value = "properties.networkIds", access = JsonProperty.Access.WRITE_ONLY)
+ private List networkIds;
+
+ /*
+ * Gets or sets the provisioning state.
+ */
+ @JsonProperty(value = "properties.provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private String provisioningState;
+
+ /**
+ * Get the extendedLocation property: Gets or sets the extended location.
+ *
+ * @return the extendedLocation value.
+ */
+ public ExtendedLocation extendedLocation() {
+ return this.extendedLocation;
+ }
+
+ /**
+ * Set the extendedLocation property: Gets or sets the extended location.
+ *
+ * @param extendedLocation the extendedLocation value to set.
+ * @return the ClusterInner object itself.
+ */
+ public ClusterInner withExtendedLocation(ExtendedLocation extendedLocation) {
+ this.extendedLocation = extendedLocation;
+ return this;
+ }
+
+ /**
+ * Get the systemData property: The system data.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the kind property: Metadata used by portal/tooling/etc to render different UX experiences for resources of
+ * the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must
+ * validate and persist this value.
+ *
+ * @return the kind value.
+ */
+ public String kind() {
+ return this.kind;
+ }
+
+ /**
+ * Set the kind property: Metadata used by portal/tooling/etc to render different UX experiences for resources of
+ * the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must
+ * validate and persist this value.
+ *
+ * @param kind the kind value to set.
+ * @return the ClusterInner object itself.
+ */
+ public ClusterInner withKind(String kind) {
+ this.kind = kind;
+ return this;
+ }
+
+ /**
+ * Get the uuid property: Gets or sets a unique identifier for this resource.
+ *
+ * @return the uuid value.
+ */
+ public String uuid() {
+ return this.uuid;
+ }
+
+ /**
+ * Get the vCenterId property: Gets or sets the ARM Id of the vCenter resource in which this cluster resides.
+ *
+ * @return the vCenterId value.
+ */
+ public String vCenterId() {
+ return this.vCenterId;
+ }
+
+ /**
+ * Set the vCenterId property: Gets or sets the ARM Id of the vCenter resource in which this cluster resides.
+ *
+ * @param vCenterId the vCenterId value to set.
+ * @return the ClusterInner object itself.
+ */
+ public ClusterInner withVCenterId(String vCenterId) {
+ this.vCenterId = vCenterId;
+ return this;
+ }
+
+ /**
+ * Get the moRefId property: Gets or sets the vCenter MoRef (Managed Object Reference) ID for the cluster.
+ *
+ * @return the moRefId value.
+ */
+ public String moRefId() {
+ return this.moRefId;
+ }
+
+ /**
+ * Set the moRefId property: Gets or sets the vCenter MoRef (Managed Object Reference) ID for the cluster.
+ *
+ * @param moRefId the moRefId value to set.
+ * @return the ClusterInner object itself.
+ */
+ public ClusterInner withMoRefId(String moRefId) {
+ this.moRefId = moRefId;
+ return this;
+ }
+
+ /**
+ * Get the inventoryItemId property: Gets or sets the inventory Item ID for the cluster.
+ *
+ * @return the inventoryItemId value.
+ */
+ public String inventoryItemId() {
+ return this.inventoryItemId;
+ }
+
+ /**
+ * Set the inventoryItemId property: Gets or sets the inventory Item ID for the cluster.
+ *
+ * @param inventoryItemId the inventoryItemId value to set.
+ * @return the ClusterInner object itself.
+ */
+ public ClusterInner withInventoryItemId(String inventoryItemId) {
+ this.inventoryItemId = inventoryItemId;
+ return this;
+ }
+
+ /**
+ * Get the moName property: Gets or sets the vCenter Managed Object name for the cluster.
+ *
+ * @return the moName value.
+ */
+ public String moName() {
+ return this.moName;
+ }
+
+ /**
+ * Get the statuses property: The resource status information.
+ *
+ * @return the statuses value.
+ */
+ public List statuses() {
+ return this.statuses;
+ }
+
+ /**
+ * Get the customResourceName property: Gets the name of the corresponding resource in Kubernetes.
+ *
+ * @return the customResourceName value.
+ */
+ public String customResourceName() {
+ return this.customResourceName;
+ }
+
+ /**
+ * Get the datastoreIds property: Gets or sets the datastore ARM ids.
+ *
+ * @return the datastoreIds value.
+ */
+ public List datastoreIds() {
+ return this.datastoreIds;
+ }
+
+ /**
+ * Get the networkIds property: Gets or sets the network ARM ids.
+ *
+ * @return the networkIds value.
+ */
+ public List networkIds() {
+ return this.networkIds;
+ }
+
+ /**
+ * Get the provisioningState property: Gets or sets the provisioning state.
+ *
+ * @return the provisioningState value.
+ */
+ public String provisioningState() {
+ return this.provisioningState;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public ClusterInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public ClusterInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (extendedLocation() != null) {
+ extendedLocation().validate();
+ }
+ if (statuses() != null) {
+ statuses().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/models/DatastoreInner.java b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/models/DatastoreInner.java
new file mode 100644
index 000000000000..3110586f7772
--- /dev/null
+++ b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/models/DatastoreInner.java
@@ -0,0 +1,282 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.connectedvmware.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.annotation.JsonFlatten;
+import com.azure.core.management.Resource;
+import com.azure.core.management.SystemData;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.connectedvmware.models.ExtendedLocation;
+import com.azure.resourcemanager.connectedvmware.models.ProvisioningState;
+import com.azure.resourcemanager.connectedvmware.models.ResourceStatus;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+import java.util.Map;
+
+/** Define the datastore. */
+@JsonFlatten
+@Fluent
+public class DatastoreInner extends Resource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(DatastoreInner.class);
+
+ /*
+ * Gets or sets the extended location.
+ */
+ @JsonProperty(value = "extendedLocation")
+ private ExtendedLocation extendedLocation;
+
+ /*
+ * The system data.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /*
+ * Metadata used by portal/tooling/etc to render different UX experiences
+ * for resources of the same type; e.g. ApiApps are a kind of
+ * Microsoft.Web/sites type. If supported, the resource provider must
+ * validate and persist this value.
+ */
+ @JsonProperty(value = "kind")
+ private String kind;
+
+ /*
+ * Gets or sets a unique identifier for this resource.
+ */
+ @JsonProperty(value = "properties.uuid", access = JsonProperty.Access.WRITE_ONLY)
+ private String uuid;
+
+ /*
+ * Gets or sets the ARM Id of the vCenter resource in which this datastore
+ * resides.
+ */
+ @JsonProperty(value = "properties.vCenterId")
+ private String vCenterId;
+
+ /*
+ * Gets or sets the vCenter MoRef (Managed Object Reference) ID for the
+ * datastore.
+ */
+ @JsonProperty(value = "properties.moRefId")
+ private String moRefId;
+
+ /*
+ * Gets or sets the inventory Item ID for the datastore.
+ */
+ @JsonProperty(value = "properties.inventoryItemId")
+ private String inventoryItemId;
+
+ /*
+ * Gets or sets the vCenter Managed Object name for the datastore.
+ */
+ @JsonProperty(value = "properties.moName", access = JsonProperty.Access.WRITE_ONLY)
+ private String moName;
+
+ /*
+ * The resource status information.
+ */
+ @JsonProperty(value = "properties.statuses", access = JsonProperty.Access.WRITE_ONLY)
+ private List statuses;
+
+ /*
+ * Gets the name of the corresponding resource in Kubernetes.
+ */
+ @JsonProperty(value = "properties.customResourceName", access = JsonProperty.Access.WRITE_ONLY)
+ private String customResourceName;
+
+ /*
+ * Provisioning state of the resource.
+ */
+ @JsonProperty(value = "properties.provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private ProvisioningState provisioningState;
+
+ /**
+ * Get the extendedLocation property: Gets or sets the extended location.
+ *
+ * @return the extendedLocation value.
+ */
+ public ExtendedLocation extendedLocation() {
+ return this.extendedLocation;
+ }
+
+ /**
+ * Set the extendedLocation property: Gets or sets the extended location.
+ *
+ * @param extendedLocation the extendedLocation value to set.
+ * @return the DatastoreInner object itself.
+ */
+ public DatastoreInner withExtendedLocation(ExtendedLocation extendedLocation) {
+ this.extendedLocation = extendedLocation;
+ return this;
+ }
+
+ /**
+ * Get the systemData property: The system data.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the kind property: Metadata used by portal/tooling/etc to render different UX experiences for resources of
+ * the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must
+ * validate and persist this value.
+ *
+ * @return the kind value.
+ */
+ public String kind() {
+ return this.kind;
+ }
+
+ /**
+ * Set the kind property: Metadata used by portal/tooling/etc to render different UX experiences for resources of
+ * the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must
+ * validate and persist this value.
+ *
+ * @param kind the kind value to set.
+ * @return the DatastoreInner object itself.
+ */
+ public DatastoreInner withKind(String kind) {
+ this.kind = kind;
+ return this;
+ }
+
+ /**
+ * Get the uuid property: Gets or sets a unique identifier for this resource.
+ *
+ * @return the uuid value.
+ */
+ public String uuid() {
+ return this.uuid;
+ }
+
+ /**
+ * Get the vCenterId property: Gets or sets the ARM Id of the vCenter resource in which this datastore resides.
+ *
+ * @return the vCenterId value.
+ */
+ public String vCenterId() {
+ return this.vCenterId;
+ }
+
+ /**
+ * Set the vCenterId property: Gets or sets the ARM Id of the vCenter resource in which this datastore resides.
+ *
+ * @param vCenterId the vCenterId value to set.
+ * @return the DatastoreInner object itself.
+ */
+ public DatastoreInner withVCenterId(String vCenterId) {
+ this.vCenterId = vCenterId;
+ return this;
+ }
+
+ /**
+ * Get the moRefId property: Gets or sets the vCenter MoRef (Managed Object Reference) ID for the datastore.
+ *
+ * @return the moRefId value.
+ */
+ public String moRefId() {
+ return this.moRefId;
+ }
+
+ /**
+ * Set the moRefId property: Gets or sets the vCenter MoRef (Managed Object Reference) ID for the datastore.
+ *
+ * @param moRefId the moRefId value to set.
+ * @return the DatastoreInner object itself.
+ */
+ public DatastoreInner withMoRefId(String moRefId) {
+ this.moRefId = moRefId;
+ return this;
+ }
+
+ /**
+ * Get the inventoryItemId property: Gets or sets the inventory Item ID for the datastore.
+ *
+ * @return the inventoryItemId value.
+ */
+ public String inventoryItemId() {
+ return this.inventoryItemId;
+ }
+
+ /**
+ * Set the inventoryItemId property: Gets or sets the inventory Item ID for the datastore.
+ *
+ * @param inventoryItemId the inventoryItemId value to set.
+ * @return the DatastoreInner object itself.
+ */
+ public DatastoreInner withInventoryItemId(String inventoryItemId) {
+ this.inventoryItemId = inventoryItemId;
+ return this;
+ }
+
+ /**
+ * Get the moName property: Gets or sets the vCenter Managed Object name for the datastore.
+ *
+ * @return the moName value.
+ */
+ public String moName() {
+ return this.moName;
+ }
+
+ /**
+ * Get the statuses property: The resource status information.
+ *
+ * @return the statuses value.
+ */
+ public List statuses() {
+ return this.statuses;
+ }
+
+ /**
+ * Get the customResourceName property: Gets the name of the corresponding resource in Kubernetes.
+ *
+ * @return the customResourceName value.
+ */
+ public String customResourceName() {
+ return this.customResourceName;
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning state of the resource.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.provisioningState;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public DatastoreInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public DatastoreInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (extendedLocation() != null) {
+ extendedLocation().validate();
+ }
+ if (statuses() != null) {
+ statuses().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/models/GuestAgentInner.java b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/models/GuestAgentInner.java
new file mode 100644
index 000000000000..b2befa2443de
--- /dev/null
+++ b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/models/GuestAgentInner.java
@@ -0,0 +1,210 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.connectedvmware.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.annotation.JsonFlatten;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.connectedvmware.models.GuestCredential;
+import com.azure.resourcemanager.connectedvmware.models.HttpProxyConfiguration;
+import com.azure.resourcemanager.connectedvmware.models.ProvisioningAction;
+import com.azure.resourcemanager.connectedvmware.models.ResourceStatus;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** Defines the GuestAgent. */
+@JsonFlatten
+@Fluent
+public class GuestAgentInner extends ProxyResource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(GuestAgentInner.class);
+
+ /*
+ * The system data.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /*
+ * Gets or sets a unique identifier for this resource.
+ */
+ @JsonProperty(value = "properties.uuid", access = JsonProperty.Access.WRITE_ONLY)
+ private String uuid;
+
+ /*
+ * Username / Password Credentials to provision guest agent.
+ */
+ @JsonProperty(value = "properties.credentials")
+ private GuestCredential credentials;
+
+ /*
+ * HTTP Proxy configuration for the VM.
+ */
+ @JsonProperty(value = "properties.httpProxyConfig")
+ private HttpProxyConfiguration httpProxyConfig;
+
+ /*
+ * Gets or sets the guest agent provisioning action.
+ */
+ @JsonProperty(value = "properties.provisioningAction")
+ private ProvisioningAction provisioningAction;
+
+ /*
+ * Gets or sets the guest agent status.
+ */
+ @JsonProperty(value = "properties.status", access = JsonProperty.Access.WRITE_ONLY)
+ private String status;
+
+ /*
+ * Gets the name of the corresponding resource in Kubernetes.
+ */
+ @JsonProperty(value = "properties.customResourceName", access = JsonProperty.Access.WRITE_ONLY)
+ private String customResourceName;
+
+ /*
+ * The resource status information.
+ */
+ @JsonProperty(value = "properties.statuses", access = JsonProperty.Access.WRITE_ONLY)
+ private List statuses;
+
+ /*
+ * Gets or sets the provisioning state.
+ */
+ @JsonProperty(value = "properties.provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private String provisioningState;
+
+ /**
+ * Get the systemData property: The system data.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the uuid property: Gets or sets a unique identifier for this resource.
+ *
+ * @return the uuid value.
+ */
+ public String uuid() {
+ return this.uuid;
+ }
+
+ /**
+ * Get the credentials property: Username / Password Credentials to provision guest agent.
+ *
+ * @return the credentials value.
+ */
+ public GuestCredential credentials() {
+ return this.credentials;
+ }
+
+ /**
+ * Set the credentials property: Username / Password Credentials to provision guest agent.
+ *
+ * @param credentials the credentials value to set.
+ * @return the GuestAgentInner object itself.
+ */
+ public GuestAgentInner withCredentials(GuestCredential credentials) {
+ this.credentials = credentials;
+ return this;
+ }
+
+ /**
+ * Get the httpProxyConfig property: HTTP Proxy configuration for the VM.
+ *
+ * @return the httpProxyConfig value.
+ */
+ public HttpProxyConfiguration httpProxyConfig() {
+ return this.httpProxyConfig;
+ }
+
+ /**
+ * Set the httpProxyConfig property: HTTP Proxy configuration for the VM.
+ *
+ * @param httpProxyConfig the httpProxyConfig value to set.
+ * @return the GuestAgentInner object itself.
+ */
+ public GuestAgentInner withHttpProxyConfig(HttpProxyConfiguration httpProxyConfig) {
+ this.httpProxyConfig = httpProxyConfig;
+ return this;
+ }
+
+ /**
+ * Get the provisioningAction property: Gets or sets the guest agent provisioning action.
+ *
+ * @return the provisioningAction value.
+ */
+ public ProvisioningAction provisioningAction() {
+ return this.provisioningAction;
+ }
+
+ /**
+ * Set the provisioningAction property: Gets or sets the guest agent provisioning action.
+ *
+ * @param provisioningAction the provisioningAction value to set.
+ * @return the GuestAgentInner object itself.
+ */
+ public GuestAgentInner withProvisioningAction(ProvisioningAction provisioningAction) {
+ this.provisioningAction = provisioningAction;
+ return this;
+ }
+
+ /**
+ * Get the status property: Gets or sets the guest agent status.
+ *
+ * @return the status value.
+ */
+ public String status() {
+ return this.status;
+ }
+
+ /**
+ * Get the customResourceName property: Gets the name of the corresponding resource in Kubernetes.
+ *
+ * @return the customResourceName value.
+ */
+ public String customResourceName() {
+ return this.customResourceName;
+ }
+
+ /**
+ * Get the statuses property: The resource status information.
+ *
+ * @return the statuses value.
+ */
+ public List statuses() {
+ return this.statuses;
+ }
+
+ /**
+ * Get the provisioningState property: Gets or sets the provisioning state.
+ *
+ * @return the provisioningState value.
+ */
+ public String provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (credentials() != null) {
+ credentials().validate();
+ }
+ if (httpProxyConfig() != null) {
+ httpProxyConfig().validate();
+ }
+ if (statuses() != null) {
+ statuses().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/models/HostModelInner.java b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/models/HostModelInner.java
new file mode 100644
index 000000000000..44e1dddb8862
--- /dev/null
+++ b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/models/HostModelInner.java
@@ -0,0 +1,281 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.connectedvmware.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.annotation.JsonFlatten;
+import com.azure.core.management.Resource;
+import com.azure.core.management.SystemData;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.connectedvmware.models.ExtendedLocation;
+import com.azure.resourcemanager.connectedvmware.models.ResourceStatus;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+import java.util.Map;
+
+/** Define the host. */
+@JsonFlatten
+@Fluent
+public class HostModelInner extends Resource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(HostModelInner.class);
+
+ /*
+ * Gets or sets the extended location.
+ */
+ @JsonProperty(value = "extendedLocation")
+ private ExtendedLocation extendedLocation;
+
+ /*
+ * The system data.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /*
+ * Metadata used by portal/tooling/etc to render different UX experiences
+ * for resources of the same type; e.g. ApiApps are a kind of
+ * Microsoft.Web/sites type. If supported, the resource provider must
+ * validate and persist this value.
+ */
+ @JsonProperty(value = "kind")
+ private String kind;
+
+ /*
+ * Gets or sets a unique identifier for this resource.
+ */
+ @JsonProperty(value = "properties.uuid", access = JsonProperty.Access.WRITE_ONLY)
+ private String uuid;
+
+ /*
+ * Gets or sets the ARM Id of the vCenter resource in which this host
+ * resides.
+ */
+ @JsonProperty(value = "properties.vCenterId")
+ private String vCenterId;
+
+ /*
+ * Gets or sets the vCenter MoRef (Managed Object Reference) ID for the
+ * host.
+ */
+ @JsonProperty(value = "properties.moRefId")
+ private String moRefId;
+
+ /*
+ * Gets or sets the inventory Item ID for the host.
+ */
+ @JsonProperty(value = "properties.inventoryItemId")
+ private String inventoryItemId;
+
+ /*
+ * Gets or sets the vCenter Managed Object name for the host.
+ */
+ @JsonProperty(value = "properties.moName", access = JsonProperty.Access.WRITE_ONLY)
+ private String moName;
+
+ /*
+ * The resource status information.
+ */
+ @JsonProperty(value = "properties.statuses", access = JsonProperty.Access.WRITE_ONLY)
+ private List statuses;
+
+ /*
+ * Gets the name of the corresponding resource in Kubernetes.
+ */
+ @JsonProperty(value = "properties.customResourceName", access = JsonProperty.Access.WRITE_ONLY)
+ private String customResourceName;
+
+ /*
+ * Gets or sets the provisioning state.
+ */
+ @JsonProperty(value = "properties.provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private String provisioningState;
+
+ /**
+ * Get the extendedLocation property: Gets or sets the extended location.
+ *
+ * @return the extendedLocation value.
+ */
+ public ExtendedLocation extendedLocation() {
+ return this.extendedLocation;
+ }
+
+ /**
+ * Set the extendedLocation property: Gets or sets the extended location.
+ *
+ * @param extendedLocation the extendedLocation value to set.
+ * @return the HostModelInner object itself.
+ */
+ public HostModelInner withExtendedLocation(ExtendedLocation extendedLocation) {
+ this.extendedLocation = extendedLocation;
+ return this;
+ }
+
+ /**
+ * Get the systemData property: The system data.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the kind property: Metadata used by portal/tooling/etc to render different UX experiences for resources of
+ * the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must
+ * validate and persist this value.
+ *
+ * @return the kind value.
+ */
+ public String kind() {
+ return this.kind;
+ }
+
+ /**
+ * Set the kind property: Metadata used by portal/tooling/etc to render different UX experiences for resources of
+ * the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must
+ * validate and persist this value.
+ *
+ * @param kind the kind value to set.
+ * @return the HostModelInner object itself.
+ */
+ public HostModelInner withKind(String kind) {
+ this.kind = kind;
+ return this;
+ }
+
+ /**
+ * Get the uuid property: Gets or sets a unique identifier for this resource.
+ *
+ * @return the uuid value.
+ */
+ public String uuid() {
+ return this.uuid;
+ }
+
+ /**
+ * Get the vCenterId property: Gets or sets the ARM Id of the vCenter resource in which this host resides.
+ *
+ * @return the vCenterId value.
+ */
+ public String vCenterId() {
+ return this.vCenterId;
+ }
+
+ /**
+ * Set the vCenterId property: Gets or sets the ARM Id of the vCenter resource in which this host resides.
+ *
+ * @param vCenterId the vCenterId value to set.
+ * @return the HostModelInner object itself.
+ */
+ public HostModelInner withVCenterId(String vCenterId) {
+ this.vCenterId = vCenterId;
+ return this;
+ }
+
+ /**
+ * Get the moRefId property: Gets or sets the vCenter MoRef (Managed Object Reference) ID for the host.
+ *
+ * @return the moRefId value.
+ */
+ public String moRefId() {
+ return this.moRefId;
+ }
+
+ /**
+ * Set the moRefId property: Gets or sets the vCenter MoRef (Managed Object Reference) ID for the host.
+ *
+ * @param moRefId the moRefId value to set.
+ * @return the HostModelInner object itself.
+ */
+ public HostModelInner withMoRefId(String moRefId) {
+ this.moRefId = moRefId;
+ return this;
+ }
+
+ /**
+ * Get the inventoryItemId property: Gets or sets the inventory Item ID for the host.
+ *
+ * @return the inventoryItemId value.
+ */
+ public String inventoryItemId() {
+ return this.inventoryItemId;
+ }
+
+ /**
+ * Set the inventoryItemId property: Gets or sets the inventory Item ID for the host.
+ *
+ * @param inventoryItemId the inventoryItemId value to set.
+ * @return the HostModelInner object itself.
+ */
+ public HostModelInner withInventoryItemId(String inventoryItemId) {
+ this.inventoryItemId = inventoryItemId;
+ return this;
+ }
+
+ /**
+ * Get the moName property: Gets or sets the vCenter Managed Object name for the host.
+ *
+ * @return the moName value.
+ */
+ public String moName() {
+ return this.moName;
+ }
+
+ /**
+ * Get the statuses property: The resource status information.
+ *
+ * @return the statuses value.
+ */
+ public List statuses() {
+ return this.statuses;
+ }
+
+ /**
+ * Get the customResourceName property: Gets the name of the corresponding resource in Kubernetes.
+ *
+ * @return the customResourceName value.
+ */
+ public String customResourceName() {
+ return this.customResourceName;
+ }
+
+ /**
+ * Get the provisioningState property: Gets or sets the provisioning state.
+ *
+ * @return the provisioningState value.
+ */
+ public String provisioningState() {
+ return this.provisioningState;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public HostModelInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public HostModelInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (extendedLocation() != null) {
+ extendedLocation().validate();
+ }
+ if (statuses() != null) {
+ statuses().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/models/HybridIdentityMetadataInner.java b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/models/HybridIdentityMetadataInner.java
new file mode 100644
index 000000000000..bd40318e4246
--- /dev/null
+++ b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/models/HybridIdentityMetadataInner.java
@@ -0,0 +1,129 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.connectedvmware.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.annotation.JsonFlatten;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.connectedvmware.models.Identity;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Defines the HybridIdentityMetadata. */
+@JsonFlatten
+@Fluent
+public class HybridIdentityMetadataInner extends ProxyResource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(HybridIdentityMetadataInner.class);
+
+ /*
+ * The system data.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /*
+ * Gets or sets the Vm Id.
+ */
+ @JsonProperty(value = "properties.vmId")
+ private String vmId;
+
+ /*
+ * Gets or sets the Public Key.
+ */
+ @JsonProperty(value = "properties.publicKey")
+ private String publicKey;
+
+ /*
+ * The identity of the resource.
+ */
+ @JsonProperty(value = "properties.identity", access = JsonProperty.Access.WRITE_ONLY)
+ private Identity identity;
+
+ /*
+ * Gets or sets the provisioning state.
+ */
+ @JsonProperty(value = "properties.provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private String provisioningState;
+
+ /**
+ * Get the systemData property: The system data.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the vmId property: Gets or sets the Vm Id.
+ *
+ * @return the vmId value.
+ */
+ public String vmId() {
+ return this.vmId;
+ }
+
+ /**
+ * Set the vmId property: Gets or sets the Vm Id.
+ *
+ * @param vmId the vmId value to set.
+ * @return the HybridIdentityMetadataInner object itself.
+ */
+ public HybridIdentityMetadataInner withVmId(String vmId) {
+ this.vmId = vmId;
+ return this;
+ }
+
+ /**
+ * Get the publicKey property: Gets or sets the Public Key.
+ *
+ * @return the publicKey value.
+ */
+ public String publicKey() {
+ return this.publicKey;
+ }
+
+ /**
+ * Set the publicKey property: Gets or sets the Public Key.
+ *
+ * @param publicKey the publicKey value to set.
+ * @return the HybridIdentityMetadataInner object itself.
+ */
+ public HybridIdentityMetadataInner withPublicKey(String publicKey) {
+ this.publicKey = publicKey;
+ return this;
+ }
+
+ /**
+ * Get the identity property: The identity of the resource.
+ *
+ * @return the identity value.
+ */
+ public Identity identity() {
+ return this.identity;
+ }
+
+ /**
+ * Get the provisioningState property: Gets or sets the provisioning state.
+ *
+ * @return the provisioningState value.
+ */
+ public String provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (identity() != null) {
+ identity().validate();
+ }
+ }
+}
diff --git a/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/models/InventoryItemInner.java b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/models/InventoryItemInner.java
new file mode 100644
index 000000000000..1206c7e1d548
--- /dev/null
+++ b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/models/InventoryItemInner.java
@@ -0,0 +1,171 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.connectedvmware.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.annotation.JsonFlatten;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.core.util.logging.ClientLogger;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Defines the inventory item. */
+@JsonFlatten
+@Fluent
+public class InventoryItemInner extends ProxyResource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(InventoryItemInner.class);
+
+ /*
+ * The system data.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /*
+ * Metadata used by portal/tooling/etc to render different UX experiences
+ * for resources of the same type; e.g. ApiApps are a kind of
+ * Microsoft.Web/sites type. If supported, the resource provider must
+ * validate and persist this value.
+ */
+ @JsonProperty(value = "kind")
+ private String kind;
+
+ /*
+ * Gets or sets the tracked resource id corresponding to the inventory
+ * resource.
+ */
+ @JsonProperty(value = "properties.managedResourceId")
+ private String managedResourceId;
+
+ /*
+ * Gets or sets the MoRef (Managed Object Reference) ID for the inventory
+ * item.
+ */
+ @JsonProperty(value = "properties.moRefId")
+ private String moRefId;
+
+ /*
+ * Gets or sets the vCenter Managed Object name for the inventory item.
+ */
+ @JsonProperty(value = "properties.moName")
+ private String moName;
+
+ /*
+ * Gets or sets the provisioning state.
+ */
+ @JsonProperty(value = "properties.provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private String provisioningState;
+
+ /**
+ * Get the systemData property: The system data.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the kind property: Metadata used by portal/tooling/etc to render different UX experiences for resources of
+ * the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must
+ * validate and persist this value.
+ *
+ * @return the kind value.
+ */
+ public String kind() {
+ return this.kind;
+ }
+
+ /**
+ * Set the kind property: Metadata used by portal/tooling/etc to render different UX experiences for resources of
+ * the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must
+ * validate and persist this value.
+ *
+ * @param kind the kind value to set.
+ * @return the InventoryItemInner object itself.
+ */
+ public InventoryItemInner withKind(String kind) {
+ this.kind = kind;
+ return this;
+ }
+
+ /**
+ * Get the managedResourceId property: Gets or sets the tracked resource id corresponding to the inventory resource.
+ *
+ * @return the managedResourceId value.
+ */
+ public String managedResourceId() {
+ return this.managedResourceId;
+ }
+
+ /**
+ * Set the managedResourceId property: Gets or sets the tracked resource id corresponding to the inventory resource.
+ *
+ * @param managedResourceId the managedResourceId value to set.
+ * @return the InventoryItemInner object itself.
+ */
+ public InventoryItemInner withManagedResourceId(String managedResourceId) {
+ this.managedResourceId = managedResourceId;
+ return this;
+ }
+
+ /**
+ * Get the moRefId property: Gets or sets the MoRef (Managed Object Reference) ID for the inventory item.
+ *
+ * @return the moRefId value.
+ */
+ public String moRefId() {
+ return this.moRefId;
+ }
+
+ /**
+ * Set the moRefId property: Gets or sets the MoRef (Managed Object Reference) ID for the inventory item.
+ *
+ * @param moRefId the moRefId value to set.
+ * @return the InventoryItemInner object itself.
+ */
+ public InventoryItemInner withMoRefId(String moRefId) {
+ this.moRefId = moRefId;
+ return this;
+ }
+
+ /**
+ * Get the moName property: Gets or sets the vCenter Managed Object name for the inventory item.
+ *
+ * @return the moName value.
+ */
+ public String moName() {
+ return this.moName;
+ }
+
+ /**
+ * Set the moName property: Gets or sets the vCenter Managed Object name for the inventory item.
+ *
+ * @param moName the moName value to set.
+ * @return the InventoryItemInner object itself.
+ */
+ public InventoryItemInner withMoName(String moName) {
+ this.moName = moName;
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: Gets or sets the provisioning state.
+ *
+ * @return the provisioningState value.
+ */
+ public String provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/models/MachineExtensionInner.java b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/models/MachineExtensionInner.java
new file mode 100644
index 000000000000..e26402e55090
--- /dev/null
+++ b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/models/MachineExtensionInner.java
@@ -0,0 +1,299 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.connectedvmware.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.annotation.JsonFlatten;
+import com.azure.core.management.Resource;
+import com.azure.core.management.SystemData;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.connectedvmware.models.MachineExtensionPropertiesInstanceView;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Map;
+
+/** Describes a Machine Extension. */
+@JsonFlatten
+@Fluent
+public class MachineExtensionInner extends Resource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(MachineExtensionInner.class);
+
+ /*
+ * The system data.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /*
+ * How the extension handler should be forced to update even if the
+ * extension configuration has not changed.
+ */
+ @JsonProperty(value = "properties.forceUpdateTag")
+ private String forceUpdateTag;
+
+ /*
+ * The name of the extension handler publisher.
+ */
+ @JsonProperty(value = "properties.publisher")
+ private String publisher;
+
+ /*
+ * Specifies the type of the extension; an example is
+ * "CustomScriptExtension".
+ */
+ @JsonProperty(value = "properties.type")
+ private String typePropertiesType;
+
+ /*
+ * Specifies the version of the script handler.
+ */
+ @JsonProperty(value = "properties.typeHandlerVersion")
+ private String typeHandlerVersion;
+
+ /*
+ * Indicates whether the extension should use a newer minor version if one
+ * is available at deployment time. Once deployed, however, the extension
+ * will not upgrade minor versions unless redeployed, even with this
+ * property set to true.
+ */
+ @JsonProperty(value = "properties.autoUpgradeMinorVersion")
+ private Boolean autoUpgradeMinorVersion;
+
+ /*
+ * Json formatted public settings for the extension.
+ */
+ @JsonProperty(value = "properties.settings")
+ private Object settings;
+
+ /*
+ * The extension can contain either protectedSettings or
+ * protectedSettingsFromKeyVault or no protected settings at all.
+ */
+ @JsonProperty(value = "properties.protectedSettings")
+ private Object protectedSettings;
+
+ /*
+ * The provisioning state, which only appears in the response.
+ */
+ @JsonProperty(value = "properties.provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private String provisioningState;
+
+ /*
+ * The machine extension instance view.
+ */
+ @JsonProperty(value = "properties.instanceView")
+ private MachineExtensionPropertiesInstanceView instanceView;
+
+ /**
+ * Get the systemData property: The system data.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the forceUpdateTag property: How the extension handler should be forced to update even if the extension
+ * configuration has not changed.
+ *
+ * @return the forceUpdateTag value.
+ */
+ public String forceUpdateTag() {
+ return this.forceUpdateTag;
+ }
+
+ /**
+ * Set the forceUpdateTag property: How the extension handler should be forced to update even if the extension
+ * configuration has not changed.
+ *
+ * @param forceUpdateTag the forceUpdateTag value to set.
+ * @return the MachineExtensionInner object itself.
+ */
+ public MachineExtensionInner withForceUpdateTag(String forceUpdateTag) {
+ this.forceUpdateTag = forceUpdateTag;
+ return this;
+ }
+
+ /**
+ * Get the publisher property: The name of the extension handler publisher.
+ *
+ * @return the publisher value.
+ */
+ public String publisher() {
+ return this.publisher;
+ }
+
+ /**
+ * Set the publisher property: The name of the extension handler publisher.
+ *
+ * @param publisher the publisher value to set.
+ * @return the MachineExtensionInner object itself.
+ */
+ public MachineExtensionInner withPublisher(String publisher) {
+ this.publisher = publisher;
+ return this;
+ }
+
+ /**
+ * Get the typePropertiesType property: Specifies the type of the extension; an example is "CustomScriptExtension".
+ *
+ * @return the typePropertiesType value.
+ */
+ public String typePropertiesType() {
+ return this.typePropertiesType;
+ }
+
+ /**
+ * Set the typePropertiesType property: Specifies the type of the extension; an example is "CustomScriptExtension".
+ *
+ * @param typePropertiesType the typePropertiesType value to set.
+ * @return the MachineExtensionInner object itself.
+ */
+ public MachineExtensionInner withTypePropertiesType(String typePropertiesType) {
+ this.typePropertiesType = typePropertiesType;
+ return this;
+ }
+
+ /**
+ * Get the typeHandlerVersion property: Specifies the version of the script handler.
+ *
+ * @return the typeHandlerVersion value.
+ */
+ public String typeHandlerVersion() {
+ return this.typeHandlerVersion;
+ }
+
+ /**
+ * Set the typeHandlerVersion property: Specifies the version of the script handler.
+ *
+ * @param typeHandlerVersion the typeHandlerVersion value to set.
+ * @return the MachineExtensionInner object itself.
+ */
+ public MachineExtensionInner withTypeHandlerVersion(String typeHandlerVersion) {
+ this.typeHandlerVersion = typeHandlerVersion;
+ return this;
+ }
+
+ /**
+ * Get the autoUpgradeMinorVersion property: Indicates whether the extension should use a newer minor version if one
+ * is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless
+ * redeployed, even with this property set to true.
+ *
+ * @return the autoUpgradeMinorVersion value.
+ */
+ public Boolean autoUpgradeMinorVersion() {
+ return this.autoUpgradeMinorVersion;
+ }
+
+ /**
+ * Set the autoUpgradeMinorVersion property: Indicates whether the extension should use a newer minor version if one
+ * is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless
+ * redeployed, even with this property set to true.
+ *
+ * @param autoUpgradeMinorVersion the autoUpgradeMinorVersion value to set.
+ * @return the MachineExtensionInner object itself.
+ */
+ public MachineExtensionInner withAutoUpgradeMinorVersion(Boolean autoUpgradeMinorVersion) {
+ this.autoUpgradeMinorVersion = autoUpgradeMinorVersion;
+ return this;
+ }
+
+ /**
+ * Get the settings property: Json formatted public settings for the extension.
+ *
+ * @return the settings value.
+ */
+ public Object settings() {
+ return this.settings;
+ }
+
+ /**
+ * Set the settings property: Json formatted public settings for the extension.
+ *
+ * @param settings the settings value to set.
+ * @return the MachineExtensionInner object itself.
+ */
+ public MachineExtensionInner withSettings(Object settings) {
+ this.settings = settings;
+ return this;
+ }
+
+ /**
+ * Get the protectedSettings property: The extension can contain either protectedSettings or
+ * protectedSettingsFromKeyVault or no protected settings at all.
+ *
+ * @return the protectedSettings value.
+ */
+ public Object protectedSettings() {
+ return this.protectedSettings;
+ }
+
+ /**
+ * Set the protectedSettings property: The extension can contain either protectedSettings or
+ * protectedSettingsFromKeyVault or no protected settings at all.
+ *
+ * @param protectedSettings the protectedSettings value to set.
+ * @return the MachineExtensionInner object itself.
+ */
+ public MachineExtensionInner withProtectedSettings(Object protectedSettings) {
+ this.protectedSettings = protectedSettings;
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: The provisioning state, which only appears in the response.
+ *
+ * @return the provisioningState value.
+ */
+ public String provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the instanceView property: The machine extension instance view.
+ *
+ * @return the instanceView value.
+ */
+ public MachineExtensionPropertiesInstanceView instanceView() {
+ return this.instanceView;
+ }
+
+ /**
+ * Set the instanceView property: The machine extension instance view.
+ *
+ * @param instanceView the instanceView value to set.
+ * @return the MachineExtensionInner object itself.
+ */
+ public MachineExtensionInner withInstanceView(MachineExtensionPropertiesInstanceView instanceView) {
+ this.instanceView = instanceView;
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public MachineExtensionInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public MachineExtensionInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (instanceView() != null) {
+ instanceView().validate();
+ }
+ }
+}
diff --git a/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/models/OperationInner.java b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/models/OperationInner.java
new file mode 100644
index 000000000000..654c0b3f06e4
--- /dev/null
+++ b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/models/OperationInner.java
@@ -0,0 +1,106 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.connectedvmware.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.connectedvmware.models.OperationDisplay;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Operation provided by provider. */
+@Fluent
+public final class OperationInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(OperationInner.class);
+
+ /*
+ * Name of the operation
+ */
+ @JsonProperty(value = "name")
+ private String name;
+
+ /*
+ * Indicates whether the operation is data action or not.
+ */
+ @JsonProperty(value = "isDataAction")
+ private Boolean isDataAction;
+
+ /*
+ * Properties of the operation
+ */
+ @JsonProperty(value = "display")
+ private OperationDisplay display;
+
+ /**
+ * Get the name property: Name of the operation.
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set the name property: Name of the operation.
+ *
+ * @param name the name value to set.
+ * @return the OperationInner object itself.
+ */
+ public OperationInner withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get the isDataAction property: Indicates whether the operation is data action or not.
+ *
+ * @return the isDataAction value.
+ */
+ public Boolean isDataAction() {
+ return this.isDataAction;
+ }
+
+ /**
+ * Set the isDataAction property: Indicates whether the operation is data action or not.
+ *
+ * @param isDataAction the isDataAction value to set.
+ * @return the OperationInner object itself.
+ */
+ public OperationInner withIsDataAction(Boolean isDataAction) {
+ this.isDataAction = isDataAction;
+ return this;
+ }
+
+ /**
+ * Get the display property: Properties of the operation.
+ *
+ * @return the display value.
+ */
+ public OperationDisplay display() {
+ return this.display;
+ }
+
+ /**
+ * Set the display property: Properties of the operation.
+ *
+ * @param display the display value to set.
+ * @return the OperationInner object itself.
+ */
+ public OperationInner withDisplay(OperationDisplay display) {
+ this.display = display;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (display() != null) {
+ display().validate();
+ }
+ }
+}
diff --git a/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/models/ResourcePoolInner.java b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/models/ResourcePoolInner.java
new file mode 100644
index 000000000000..68a187a0d1eb
--- /dev/null
+++ b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/models/ResourcePoolInner.java
@@ -0,0 +1,389 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.connectedvmware.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.annotation.JsonFlatten;
+import com.azure.core.management.Resource;
+import com.azure.core.management.SystemData;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.connectedvmware.models.ExtendedLocation;
+import com.azure.resourcemanager.connectedvmware.models.ResourceStatus;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+import java.util.Map;
+
+/** Define the resourcePool. */
+@JsonFlatten
+@Fluent
+public class ResourcePoolInner extends Resource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(ResourcePoolInner.class);
+
+ /*
+ * Gets or sets the extended location.
+ */
+ @JsonProperty(value = "extendedLocation")
+ private ExtendedLocation extendedLocation;
+
+ /*
+ * The system data.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /*
+ * Metadata used by portal/tooling/etc to render different UX experiences
+ * for resources of the same type; e.g. ApiApps are a kind of
+ * Microsoft.Web/sites type. If supported, the resource provider must
+ * validate and persist this value.
+ */
+ @JsonProperty(value = "kind")
+ private String kind;
+
+ /*
+ * Gets or sets a unique identifier for this resource.
+ */
+ @JsonProperty(value = "properties.uuid", access = JsonProperty.Access.WRITE_ONLY)
+ private String uuid;
+
+ /*
+ * Gets or sets the ARM Id of the vCenter resource in which this resource
+ * pool resides.
+ */
+ @JsonProperty(value = "properties.vCenterId")
+ private String vCenterId;
+
+ /*
+ * Gets or sets the vCenter MoRef (Managed Object Reference) ID for the
+ * resource pool.
+ */
+ @JsonProperty(value = "properties.moRefId")
+ private String moRefId;
+
+ /*
+ * Gets or sets the inventory Item ID for the resource pool.
+ */
+ @JsonProperty(value = "properties.inventoryItemId")
+ private String inventoryItemId;
+
+ /*
+ * Gets or sets the vCenter Managed Object name for the resource pool.
+ */
+ @JsonProperty(value = "properties.moName", access = JsonProperty.Access.WRITE_ONLY)
+ private String moName;
+
+ /*
+ * Gets or sets CPUSharesLevel which specifies the CPU allocation level for
+ * this pool.
+ * This property is used in relative allocation between resource consumers.
+ */
+ @JsonProperty(value = "properties.cpuSharesLevel", access = JsonProperty.Access.WRITE_ONLY)
+ private String cpuSharesLevel;
+
+ /*
+ * Gets or sets CPUReservationMHz which specifies the CPU size in MHz that
+ * is guaranteed
+ * to be available.
+ */
+ @JsonProperty(value = "properties.cpuReservationMHz", access = JsonProperty.Access.WRITE_ONLY)
+ private Long cpuReservationMHz;
+
+ /*
+ * Gets or sets CPULimitMHz which specifies a CPU usage limit in MHz.
+ * Utilization will not exceed this limit even if there are available
+ * resources.
+ */
+ @JsonProperty(value = "properties.cpuLimitMHz", access = JsonProperty.Access.WRITE_ONLY)
+ private Long cpuLimitMHz;
+
+ /*
+ * Gets or sets CPUSharesLevel which specifies the memory allocation level
+ * for this pool.
+ * This property is used in relative allocation between resource consumers.
+ */
+ @JsonProperty(value = "properties.memSharesLevel", access = JsonProperty.Access.WRITE_ONLY)
+ private String memSharesLevel;
+
+ /*
+ * Gets or sets MemReservationMB which specifies the guaranteed available
+ * memory in
+ * megabytes.
+ */
+ @JsonProperty(value = "properties.memReservationMB", access = JsonProperty.Access.WRITE_ONLY)
+ private Long memReservationMB;
+
+ /*
+ * Gets or sets MemLimitMB specifies a memory usage limit in megabytes.
+ * Utilization will not exceed the specified limit even if there are
+ * available resources.
+ */
+ @JsonProperty(value = "properties.memLimitMB", access = JsonProperty.Access.WRITE_ONLY)
+ private Long memLimitMB;
+
+ /*
+ * Gets the name of the corresponding resource in Kubernetes.
+ */
+ @JsonProperty(value = "properties.customResourceName", access = JsonProperty.Access.WRITE_ONLY)
+ private String customResourceName;
+
+ /*
+ * The resource status information.
+ */
+ @JsonProperty(value = "properties.statuses", access = JsonProperty.Access.WRITE_ONLY)
+ private List statuses;
+
+ /*
+ * Gets or sets the provisioning state.
+ */
+ @JsonProperty(value = "properties.provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private String provisioningState;
+
+ /**
+ * Get the extendedLocation property: Gets or sets the extended location.
+ *
+ * @return the extendedLocation value.
+ */
+ public ExtendedLocation extendedLocation() {
+ return this.extendedLocation;
+ }
+
+ /**
+ * Set the extendedLocation property: Gets or sets the extended location.
+ *
+ * @param extendedLocation the extendedLocation value to set.
+ * @return the ResourcePoolInner object itself.
+ */
+ public ResourcePoolInner withExtendedLocation(ExtendedLocation extendedLocation) {
+ this.extendedLocation = extendedLocation;
+ return this;
+ }
+
+ /**
+ * Get the systemData property: The system data.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the kind property: Metadata used by portal/tooling/etc to render different UX experiences for resources of
+ * the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must
+ * validate and persist this value.
+ *
+ * @return the kind value.
+ */
+ public String kind() {
+ return this.kind;
+ }
+
+ /**
+ * Set the kind property: Metadata used by portal/tooling/etc to render different UX experiences for resources of
+ * the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must
+ * validate and persist this value.
+ *
+ * @param kind the kind value to set.
+ * @return the ResourcePoolInner object itself.
+ */
+ public ResourcePoolInner withKind(String kind) {
+ this.kind = kind;
+ return this;
+ }
+
+ /**
+ * Get the uuid property: Gets or sets a unique identifier for this resource.
+ *
+ * @return the uuid value.
+ */
+ public String uuid() {
+ return this.uuid;
+ }
+
+ /**
+ * Get the vCenterId property: Gets or sets the ARM Id of the vCenter resource in which this resource pool resides.
+ *
+ * @return the vCenterId value.
+ */
+ public String vCenterId() {
+ return this.vCenterId;
+ }
+
+ /**
+ * Set the vCenterId property: Gets or sets the ARM Id of the vCenter resource in which this resource pool resides.
+ *
+ * @param vCenterId the vCenterId value to set.
+ * @return the ResourcePoolInner object itself.
+ */
+ public ResourcePoolInner withVCenterId(String vCenterId) {
+ this.vCenterId = vCenterId;
+ return this;
+ }
+
+ /**
+ * Get the moRefId property: Gets or sets the vCenter MoRef (Managed Object Reference) ID for the resource pool.
+ *
+ * @return the moRefId value.
+ */
+ public String moRefId() {
+ return this.moRefId;
+ }
+
+ /**
+ * Set the moRefId property: Gets or sets the vCenter MoRef (Managed Object Reference) ID for the resource pool.
+ *
+ * @param moRefId the moRefId value to set.
+ * @return the ResourcePoolInner object itself.
+ */
+ public ResourcePoolInner withMoRefId(String moRefId) {
+ this.moRefId = moRefId;
+ return this;
+ }
+
+ /**
+ * Get the inventoryItemId property: Gets or sets the inventory Item ID for the resource pool.
+ *
+ * @return the inventoryItemId value.
+ */
+ public String inventoryItemId() {
+ return this.inventoryItemId;
+ }
+
+ /**
+ * Set the inventoryItemId property: Gets or sets the inventory Item ID for the resource pool.
+ *
+ * @param inventoryItemId the inventoryItemId value to set.
+ * @return the ResourcePoolInner object itself.
+ */
+ public ResourcePoolInner withInventoryItemId(String inventoryItemId) {
+ this.inventoryItemId = inventoryItemId;
+ return this;
+ }
+
+ /**
+ * Get the moName property: Gets or sets the vCenter Managed Object name for the resource pool.
+ *
+ * @return the moName value.
+ */
+ public String moName() {
+ return this.moName;
+ }
+
+ /**
+ * Get the cpuSharesLevel property: Gets or sets CPUSharesLevel which specifies the CPU allocation level for this
+ * pool. This property is used in relative allocation between resource consumers.
+ *
+ * @return the cpuSharesLevel value.
+ */
+ public String cpuSharesLevel() {
+ return this.cpuSharesLevel;
+ }
+
+ /**
+ * Get the cpuReservationMHz property: Gets or sets CPUReservationMHz which specifies the CPU size in MHz that is
+ * guaranteed to be available.
+ *
+ * @return the cpuReservationMHz value.
+ */
+ public Long cpuReservationMHz() {
+ return this.cpuReservationMHz;
+ }
+
+ /**
+ * Get the cpuLimitMHz property: Gets or sets CPULimitMHz which specifies a CPU usage limit in MHz. Utilization will
+ * not exceed this limit even if there are available resources.
+ *
+ * @return the cpuLimitMHz value.
+ */
+ public Long cpuLimitMHz() {
+ return this.cpuLimitMHz;
+ }
+
+ /**
+ * Get the memSharesLevel property: Gets or sets CPUSharesLevel which specifies the memory allocation level for this
+ * pool. This property is used in relative allocation between resource consumers.
+ *
+ * @return the memSharesLevel value.
+ */
+ public String memSharesLevel() {
+ return this.memSharesLevel;
+ }
+
+ /**
+ * Get the memReservationMB property: Gets or sets MemReservationMB which specifies the guaranteed available memory
+ * in megabytes.
+ *
+ * @return the memReservationMB value.
+ */
+ public Long memReservationMB() {
+ return this.memReservationMB;
+ }
+
+ /**
+ * Get the memLimitMB property: Gets or sets MemLimitMB specifies a memory usage limit in megabytes. Utilization
+ * will not exceed the specified limit even if there are available resources.
+ *
+ * @return the memLimitMB value.
+ */
+ public Long memLimitMB() {
+ return this.memLimitMB;
+ }
+
+ /**
+ * Get the customResourceName property: Gets the name of the corresponding resource in Kubernetes.
+ *
+ * @return the customResourceName value.
+ */
+ public String customResourceName() {
+ return this.customResourceName;
+ }
+
+ /**
+ * Get the statuses property: The resource status information.
+ *
+ * @return the statuses value.
+ */
+ public List statuses() {
+ return this.statuses;
+ }
+
+ /**
+ * Get the provisioningState property: Gets or sets the provisioning state.
+ *
+ * @return the provisioningState value.
+ */
+ public String provisioningState() {
+ return this.provisioningState;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public ResourcePoolInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public ResourcePoolInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (extendedLocation() != null) {
+ extendedLocation().validate();
+ }
+ if (statuses() != null) {
+ statuses().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/models/VCenterInner.java b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/models/VCenterInner.java
new file mode 100644
index 000000000000..407b596f14e9
--- /dev/null
+++ b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/models/VCenterInner.java
@@ -0,0 +1,318 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.connectedvmware.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.annotation.JsonFlatten;
+import com.azure.core.management.Resource;
+import com.azure.core.management.SystemData;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.connectedvmware.models.ExtendedLocation;
+import com.azure.resourcemanager.connectedvmware.models.ResourceStatus;
+import com.azure.resourcemanager.connectedvmware.models.VICredential;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+import java.util.Map;
+
+/** Defines the vCenter. */
+@JsonFlatten
+@Fluent
+public class VCenterInner extends Resource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(VCenterInner.class);
+
+ /*
+ * Gets or sets the extended location.
+ */
+ @JsonProperty(value = "extendedLocation")
+ private ExtendedLocation extendedLocation;
+
+ /*
+ * The system data.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /*
+ * Metadata used by portal/tooling/etc to render different UX experiences
+ * for resources of the same type; e.g. ApiApps are a kind of
+ * Microsoft.Web/sites type. If supported, the resource provider must
+ * validate and persist this value.
+ */
+ @JsonProperty(value = "kind")
+ private String kind;
+
+ /*
+ * Gets or sets a unique identifier for this resource.
+ */
+ @JsonProperty(value = "properties.uuid", access = JsonProperty.Access.WRITE_ONLY)
+ private String uuid;
+
+ /*
+ * Gets or sets the FQDN/IPAddress of the vCenter.
+ */
+ @JsonProperty(value = "properties.fqdn", required = true)
+ private String fqdn;
+
+ /*
+ * Gets or sets the port of the vCenter.
+ */
+ @JsonProperty(value = "properties.port")
+ private Integer port;
+
+ /*
+ * Gets or sets the version of the vCenter.
+ */
+ @JsonProperty(value = "properties.version", access = JsonProperty.Access.WRITE_ONLY)
+ private String version;
+
+ /*
+ * Gets or sets the instance UUID of the vCenter.
+ */
+ @JsonProperty(value = "properties.instanceUuid", access = JsonProperty.Access.WRITE_ONLY)
+ private String instanceUuid;
+
+ /*
+ * Gets or sets the connection status to the vCenter.
+ */
+ @JsonProperty(value = "properties.connectionStatus", access = JsonProperty.Access.WRITE_ONLY)
+ private String connectionStatus;
+
+ /*
+ * Gets the name of the corresponding resource in Kubernetes.
+ */
+ @JsonProperty(value = "properties.customResourceName", access = JsonProperty.Access.WRITE_ONLY)
+ private String customResourceName;
+
+ /*
+ * Username / Password Credentials to connect to vcenter.
+ */
+ @JsonProperty(value = "properties.credentials")
+ private VICredential credentials;
+
+ /*
+ * The resource status information.
+ */
+ @JsonProperty(value = "properties.statuses", access = JsonProperty.Access.WRITE_ONLY)
+ private List statuses;
+
+ /*
+ * Gets or sets the provisioning state.
+ */
+ @JsonProperty(value = "properties.provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private String provisioningState;
+
+ /**
+ * Get the extendedLocation property: Gets or sets the extended location.
+ *
+ * @return the extendedLocation value.
+ */
+ public ExtendedLocation extendedLocation() {
+ return this.extendedLocation;
+ }
+
+ /**
+ * Set the extendedLocation property: Gets or sets the extended location.
+ *
+ * @param extendedLocation the extendedLocation value to set.
+ * @return the VCenterInner object itself.
+ */
+ public VCenterInner withExtendedLocation(ExtendedLocation extendedLocation) {
+ this.extendedLocation = extendedLocation;
+ return this;
+ }
+
+ /**
+ * Get the systemData property: The system data.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the kind property: Metadata used by portal/tooling/etc to render different UX experiences for resources of
+ * the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must
+ * validate and persist this value.
+ *
+ * @return the kind value.
+ */
+ public String kind() {
+ return this.kind;
+ }
+
+ /**
+ * Set the kind property: Metadata used by portal/tooling/etc to render different UX experiences for resources of
+ * the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must
+ * validate and persist this value.
+ *
+ * @param kind the kind value to set.
+ * @return the VCenterInner object itself.
+ */
+ public VCenterInner withKind(String kind) {
+ this.kind = kind;
+ return this;
+ }
+
+ /**
+ * Get the uuid property: Gets or sets a unique identifier for this resource.
+ *
+ * @return the uuid value.
+ */
+ public String uuid() {
+ return this.uuid;
+ }
+
+ /**
+ * Get the fqdn property: Gets or sets the FQDN/IPAddress of the vCenter.
+ *
+ * @return the fqdn value.
+ */
+ public String fqdn() {
+ return this.fqdn;
+ }
+
+ /**
+ * Set the fqdn property: Gets or sets the FQDN/IPAddress of the vCenter.
+ *
+ * @param fqdn the fqdn value to set.
+ * @return the VCenterInner object itself.
+ */
+ public VCenterInner withFqdn(String fqdn) {
+ this.fqdn = fqdn;
+ return this;
+ }
+
+ /**
+ * Get the port property: Gets or sets the port of the vCenter.
+ *
+ * @return the port value.
+ */
+ public Integer port() {
+ return this.port;
+ }
+
+ /**
+ * Set the port property: Gets or sets the port of the vCenter.
+ *
+ * @param port the port value to set.
+ * @return the VCenterInner object itself.
+ */
+ public VCenterInner withPort(Integer port) {
+ this.port = port;
+ return this;
+ }
+
+ /**
+ * Get the version property: Gets or sets the version of the vCenter.
+ *
+ * @return the version value.
+ */
+ public String version() {
+ return this.version;
+ }
+
+ /**
+ * Get the instanceUuid property: Gets or sets the instance UUID of the vCenter.
+ *
+ * @return the instanceUuid value.
+ */
+ public String instanceUuid() {
+ return this.instanceUuid;
+ }
+
+ /**
+ * Get the connectionStatus property: Gets or sets the connection status to the vCenter.
+ *
+ * @return the connectionStatus value.
+ */
+ public String connectionStatus() {
+ return this.connectionStatus;
+ }
+
+ /**
+ * Get the customResourceName property: Gets the name of the corresponding resource in Kubernetes.
+ *
+ * @return the customResourceName value.
+ */
+ public String customResourceName() {
+ return this.customResourceName;
+ }
+
+ /**
+ * Get the credentials property: Username / Password Credentials to connect to vcenter.
+ *
+ * @return the credentials value.
+ */
+ public VICredential credentials() {
+ return this.credentials;
+ }
+
+ /**
+ * Set the credentials property: Username / Password Credentials to connect to vcenter.
+ *
+ * @param credentials the credentials value to set.
+ * @return the VCenterInner object itself.
+ */
+ public VCenterInner withCredentials(VICredential credentials) {
+ this.credentials = credentials;
+ return this;
+ }
+
+ /**
+ * Get the statuses property: The resource status information.
+ *
+ * @return the statuses value.
+ */
+ public List statuses() {
+ return this.statuses;
+ }
+
+ /**
+ * Get the provisioningState property: Gets or sets the provisioning state.
+ *
+ * @return the provisioningState value.
+ */
+ public String provisioningState() {
+ return this.provisioningState;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public VCenterInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public VCenterInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (extendedLocation() != null) {
+ extendedLocation().validate();
+ }
+ if (fqdn() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException("Missing required property fqdn in model VCenterInner"));
+ }
+ if (credentials() != null) {
+ credentials().validate();
+ }
+ if (statuses() != null) {
+ statuses().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/models/VirtualMachineInner.java b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/models/VirtualMachineInner.java
new file mode 100644
index 000000000000..8139f99ac6bf
--- /dev/null
+++ b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/models/VirtualMachineInner.java
@@ -0,0 +1,661 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.connectedvmware.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.annotation.JsonFlatten;
+import com.azure.core.management.Resource;
+import com.azure.core.management.SystemData;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.connectedvmware.models.ExtendedLocation;
+import com.azure.resourcemanager.connectedvmware.models.FirmwareType;
+import com.azure.resourcemanager.connectedvmware.models.GuestAgentProfile;
+import com.azure.resourcemanager.connectedvmware.models.HardwareProfile;
+import com.azure.resourcemanager.connectedvmware.models.Identity;
+import com.azure.resourcemanager.connectedvmware.models.NetworkProfile;
+import com.azure.resourcemanager.connectedvmware.models.OsProfile;
+import com.azure.resourcemanager.connectedvmware.models.PlacementProfile;
+import com.azure.resourcemanager.connectedvmware.models.ResourceStatus;
+import com.azure.resourcemanager.connectedvmware.models.StorageProfile;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+import java.util.Map;
+
+/** Define the virtualMachine. */
+@JsonFlatten
+@Fluent
+public class VirtualMachineInner extends Resource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(VirtualMachineInner.class);
+
+ /*
+ * Gets or sets the extended location.
+ */
+ @JsonProperty(value = "extendedLocation")
+ private ExtendedLocation extendedLocation;
+
+ /*
+ * The system data.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /*
+ * Metadata used by portal/tooling/etc to render different UX experiences
+ * for resources of the same type; e.g. ApiApps are a kind of
+ * Microsoft.Web/sites type. If supported, the resource provider must
+ * validate and persist this value.
+ */
+ @JsonProperty(value = "kind")
+ private String kind;
+
+ /*
+ * The identity of the resource.
+ */
+ @JsonProperty(value = "identity")
+ private Identity identity;
+
+ /*
+ * Gets or sets the ARM Id of the resourcePool resource on which this
+ * virtual machine will
+ * deploy.
+ */
+ @JsonProperty(value = "properties.resourcePoolId")
+ private String resourcePoolId;
+
+ /*
+ * Gets or sets the ARM Id of the template resource to deploy the virtual
+ * machine.
+ */
+ @JsonProperty(value = "properties.templateId")
+ private String templateId;
+
+ /*
+ * Gets or sets the ARM Id of the vCenter resource in which this resource
+ * pool resides.
+ */
+ @JsonProperty(value = "properties.vCenterId")
+ private String vCenterId;
+
+ /*
+ * Placement properties.
+ */
+ @JsonProperty(value = "properties.placementProfile")
+ private PlacementProfile placementProfile;
+
+ /*
+ * OS properties.
+ */
+ @JsonProperty(value = "properties.osProfile")
+ private OsProfile osProfile;
+
+ /*
+ * Hardware properties.
+ */
+ @JsonProperty(value = "properties.hardwareProfile")
+ private HardwareProfile hardwareProfile;
+
+ /*
+ * Network properties.
+ */
+ @JsonProperty(value = "properties.networkProfile")
+ private NetworkProfile networkProfile;
+
+ /*
+ * Storage properties.
+ */
+ @JsonProperty(value = "properties.storageProfile")
+ private StorageProfile storageProfile;
+
+ /*
+ * Guest agent status properties.
+ */
+ @JsonProperty(value = "properties.guestAgentProfile")
+ private GuestAgentProfile guestAgentProfile;
+
+ /*
+ * Gets or sets the vCenter MoRef (Managed Object Reference) ID for the
+ * virtual machine.
+ */
+ @JsonProperty(value = "properties.moRefId")
+ private String moRefId;
+
+ /*
+ * Gets or sets the inventory Item ID for the virtual machine.
+ */
+ @JsonProperty(value = "properties.inventoryItemId")
+ private String inventoryItemId;
+
+ /*
+ * Gets or sets the vCenter Managed Object name for the virtual machine.
+ */
+ @JsonProperty(value = "properties.moName", access = JsonProperty.Access.WRITE_ONLY)
+ private String moName;
+
+ /*
+ * Gets or sets the folder path of the vm.
+ */
+ @JsonProperty(value = "properties.folderPath", access = JsonProperty.Access.WRITE_ONLY)
+ private String folderPath;
+
+ /*
+ * Gets or sets the instance uuid of the vm.
+ */
+ @JsonProperty(value = "properties.instanceUuid", access = JsonProperty.Access.WRITE_ONLY)
+ private String instanceUuid;
+
+ /*
+ * Gets or sets the SMBIOS UUID of the vm.
+ */
+ @JsonProperty(value = "properties.smbiosUuid")
+ private String smbiosUuid;
+
+ /*
+ * Firmware type
+ */
+ @JsonProperty(value = "properties.firmwareType")
+ private FirmwareType firmwareType;
+
+ /*
+ * Gets the power state of the virtual machine.
+ */
+ @JsonProperty(value = "properties.powerState", access = JsonProperty.Access.WRITE_ONLY)
+ private String powerState;
+
+ /*
+ * Gets the name of the corresponding resource in Kubernetes.
+ */
+ @JsonProperty(value = "properties.customResourceName", access = JsonProperty.Access.WRITE_ONLY)
+ private String customResourceName;
+
+ /*
+ * Gets or sets a unique identifier for this resource.
+ */
+ @JsonProperty(value = "properties.uuid", access = JsonProperty.Access.WRITE_ONLY)
+ private String uuid;
+
+ /*
+ * The resource status information.
+ */
+ @JsonProperty(value = "properties.statuses", access = JsonProperty.Access.WRITE_ONLY)
+ private List statuses;
+
+ /*
+ * Gets or sets the provisioning state.
+ */
+ @JsonProperty(value = "properties.provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private String provisioningState;
+
+ /*
+ * Gets or sets a unique identifier for the vm resource.
+ */
+ @JsonProperty(value = "properties.vmId", access = JsonProperty.Access.WRITE_ONLY)
+ private String vmId;
+
+ /**
+ * Get the extendedLocation property: Gets or sets the extended location.
+ *
+ * @return the extendedLocation value.
+ */
+ public ExtendedLocation extendedLocation() {
+ return this.extendedLocation;
+ }
+
+ /**
+ * Set the extendedLocation property: Gets or sets the extended location.
+ *
+ * @param extendedLocation the extendedLocation value to set.
+ * @return the VirtualMachineInner object itself.
+ */
+ public VirtualMachineInner withExtendedLocation(ExtendedLocation extendedLocation) {
+ this.extendedLocation = extendedLocation;
+ return this;
+ }
+
+ /**
+ * Get the systemData property: The system data.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the kind property: Metadata used by portal/tooling/etc to render different UX experiences for resources of
+ * the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must
+ * validate and persist this value.
+ *
+ * @return the kind value.
+ */
+ public String kind() {
+ return this.kind;
+ }
+
+ /**
+ * Set the kind property: Metadata used by portal/tooling/etc to render different UX experiences for resources of
+ * the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must
+ * validate and persist this value.
+ *
+ * @param kind the kind value to set.
+ * @return the VirtualMachineInner object itself.
+ */
+ public VirtualMachineInner withKind(String kind) {
+ this.kind = kind;
+ return this;
+ }
+
+ /**
+ * Get the identity property: The identity of the resource.
+ *
+ * @return the identity value.
+ */
+ public Identity identity() {
+ return this.identity;
+ }
+
+ /**
+ * Set the identity property: The identity of the resource.
+ *
+ * @param identity the identity value to set.
+ * @return the VirtualMachineInner object itself.
+ */
+ public VirtualMachineInner withIdentity(Identity identity) {
+ this.identity = identity;
+ return this;
+ }
+
+ /**
+ * Get the resourcePoolId property: Gets or sets the ARM Id of the resourcePool resource on which this virtual
+ * machine will deploy.
+ *
+ * @return the resourcePoolId value.
+ */
+ public String resourcePoolId() {
+ return this.resourcePoolId;
+ }
+
+ /**
+ * Set the resourcePoolId property: Gets or sets the ARM Id of the resourcePool resource on which this virtual
+ * machine will deploy.
+ *
+ * @param resourcePoolId the resourcePoolId value to set.
+ * @return the VirtualMachineInner object itself.
+ */
+ public VirtualMachineInner withResourcePoolId(String resourcePoolId) {
+ this.resourcePoolId = resourcePoolId;
+ return this;
+ }
+
+ /**
+ * Get the templateId property: Gets or sets the ARM Id of the template resource to deploy the virtual machine.
+ *
+ * @return the templateId value.
+ */
+ public String templateId() {
+ return this.templateId;
+ }
+
+ /**
+ * Set the templateId property: Gets or sets the ARM Id of the template resource to deploy the virtual machine.
+ *
+ * @param templateId the templateId value to set.
+ * @return the VirtualMachineInner object itself.
+ */
+ public VirtualMachineInner withTemplateId(String templateId) {
+ this.templateId = templateId;
+ return this;
+ }
+
+ /**
+ * Get the vCenterId property: Gets or sets the ARM Id of the vCenter resource in which this resource pool resides.
+ *
+ * @return the vCenterId value.
+ */
+ public String vCenterId() {
+ return this.vCenterId;
+ }
+
+ /**
+ * Set the vCenterId property: Gets or sets the ARM Id of the vCenter resource in which this resource pool resides.
+ *
+ * @param vCenterId the vCenterId value to set.
+ * @return the VirtualMachineInner object itself.
+ */
+ public VirtualMachineInner withVCenterId(String vCenterId) {
+ this.vCenterId = vCenterId;
+ return this;
+ }
+
+ /**
+ * Get the placementProfile property: Placement properties.
+ *
+ * @return the placementProfile value.
+ */
+ public PlacementProfile placementProfile() {
+ return this.placementProfile;
+ }
+
+ /**
+ * Set the placementProfile property: Placement properties.
+ *
+ * @param placementProfile the placementProfile value to set.
+ * @return the VirtualMachineInner object itself.
+ */
+ public VirtualMachineInner withPlacementProfile(PlacementProfile placementProfile) {
+ this.placementProfile = placementProfile;
+ return this;
+ }
+
+ /**
+ * Get the osProfile property: OS properties.
+ *
+ * @return the osProfile value.
+ */
+ public OsProfile osProfile() {
+ return this.osProfile;
+ }
+
+ /**
+ * Set the osProfile property: OS properties.
+ *
+ * @param osProfile the osProfile value to set.
+ * @return the VirtualMachineInner object itself.
+ */
+ public VirtualMachineInner withOsProfile(OsProfile osProfile) {
+ this.osProfile = osProfile;
+ return this;
+ }
+
+ /**
+ * Get the hardwareProfile property: Hardware properties.
+ *
+ * @return the hardwareProfile value.
+ */
+ public HardwareProfile hardwareProfile() {
+ return this.hardwareProfile;
+ }
+
+ /**
+ * Set the hardwareProfile property: Hardware properties.
+ *
+ * @param hardwareProfile the hardwareProfile value to set.
+ * @return the VirtualMachineInner object itself.
+ */
+ public VirtualMachineInner withHardwareProfile(HardwareProfile hardwareProfile) {
+ this.hardwareProfile = hardwareProfile;
+ return this;
+ }
+
+ /**
+ * Get the networkProfile property: Network properties.
+ *
+ * @return the networkProfile value.
+ */
+ public NetworkProfile networkProfile() {
+ return this.networkProfile;
+ }
+
+ /**
+ * Set the networkProfile property: Network properties.
+ *
+ * @param networkProfile the networkProfile value to set.
+ * @return the VirtualMachineInner object itself.
+ */
+ public VirtualMachineInner withNetworkProfile(NetworkProfile networkProfile) {
+ this.networkProfile = networkProfile;
+ return this;
+ }
+
+ /**
+ * Get the storageProfile property: Storage properties.
+ *
+ * @return the storageProfile value.
+ */
+ public StorageProfile storageProfile() {
+ return this.storageProfile;
+ }
+
+ /**
+ * Set the storageProfile property: Storage properties.
+ *
+ * @param storageProfile the storageProfile value to set.
+ * @return the VirtualMachineInner object itself.
+ */
+ public VirtualMachineInner withStorageProfile(StorageProfile storageProfile) {
+ this.storageProfile = storageProfile;
+ return this;
+ }
+
+ /**
+ * Get the guestAgentProfile property: Guest agent status properties.
+ *
+ * @return the guestAgentProfile value.
+ */
+ public GuestAgentProfile guestAgentProfile() {
+ return this.guestAgentProfile;
+ }
+
+ /**
+ * Set the guestAgentProfile property: Guest agent status properties.
+ *
+ * @param guestAgentProfile the guestAgentProfile value to set.
+ * @return the VirtualMachineInner object itself.
+ */
+ public VirtualMachineInner withGuestAgentProfile(GuestAgentProfile guestAgentProfile) {
+ this.guestAgentProfile = guestAgentProfile;
+ return this;
+ }
+
+ /**
+ * Get the moRefId property: Gets or sets the vCenter MoRef (Managed Object Reference) ID for the virtual machine.
+ *
+ * @return the moRefId value.
+ */
+ public String moRefId() {
+ return this.moRefId;
+ }
+
+ /**
+ * Set the moRefId property: Gets or sets the vCenter MoRef (Managed Object Reference) ID for the virtual machine.
+ *
+ * @param moRefId the moRefId value to set.
+ * @return the VirtualMachineInner object itself.
+ */
+ public VirtualMachineInner withMoRefId(String moRefId) {
+ this.moRefId = moRefId;
+ return this;
+ }
+
+ /**
+ * Get the inventoryItemId property: Gets or sets the inventory Item ID for the virtual machine.
+ *
+ * @return the inventoryItemId value.
+ */
+ public String inventoryItemId() {
+ return this.inventoryItemId;
+ }
+
+ /**
+ * Set the inventoryItemId property: Gets or sets the inventory Item ID for the virtual machine.
+ *
+ * @param inventoryItemId the inventoryItemId value to set.
+ * @return the VirtualMachineInner object itself.
+ */
+ public VirtualMachineInner withInventoryItemId(String inventoryItemId) {
+ this.inventoryItemId = inventoryItemId;
+ return this;
+ }
+
+ /**
+ * Get the moName property: Gets or sets the vCenter Managed Object name for the virtual machine.
+ *
+ * @return the moName value.
+ */
+ public String moName() {
+ return this.moName;
+ }
+
+ /**
+ * Get the folderPath property: Gets or sets the folder path of the vm.
+ *
+ * @return the folderPath value.
+ */
+ public String folderPath() {
+ return this.folderPath;
+ }
+
+ /**
+ * Get the instanceUuid property: Gets or sets the instance uuid of the vm.
+ *
+ * @return the instanceUuid value.
+ */
+ public String instanceUuid() {
+ return this.instanceUuid;
+ }
+
+ /**
+ * Get the smbiosUuid property: Gets or sets the SMBIOS UUID of the vm.
+ *
+ * @return the smbiosUuid value.
+ */
+ public String smbiosUuid() {
+ return this.smbiosUuid;
+ }
+
+ /**
+ * Set the smbiosUuid property: Gets or sets the SMBIOS UUID of the vm.
+ *
+ * @param smbiosUuid the smbiosUuid value to set.
+ * @return the VirtualMachineInner object itself.
+ */
+ public VirtualMachineInner withSmbiosUuid(String smbiosUuid) {
+ this.smbiosUuid = smbiosUuid;
+ return this;
+ }
+
+ /**
+ * Get the firmwareType property: Firmware type.
+ *
+ * @return the firmwareType value.
+ */
+ public FirmwareType firmwareType() {
+ return this.firmwareType;
+ }
+
+ /**
+ * Set the firmwareType property: Firmware type.
+ *
+ * @param firmwareType the firmwareType value to set.
+ * @return the VirtualMachineInner object itself.
+ */
+ public VirtualMachineInner withFirmwareType(FirmwareType firmwareType) {
+ this.firmwareType = firmwareType;
+ return this;
+ }
+
+ /**
+ * Get the powerState property: Gets the power state of the virtual machine.
+ *
+ * @return the powerState value.
+ */
+ public String powerState() {
+ return this.powerState;
+ }
+
+ /**
+ * Get the customResourceName property: Gets the name of the corresponding resource in Kubernetes.
+ *
+ * @return the customResourceName value.
+ */
+ public String customResourceName() {
+ return this.customResourceName;
+ }
+
+ /**
+ * Get the uuid property: Gets or sets a unique identifier for this resource.
+ *
+ * @return the uuid value.
+ */
+ public String uuid() {
+ return this.uuid;
+ }
+
+ /**
+ * Get the statuses property: The resource status information.
+ *
+ * @return the statuses value.
+ */
+ public List statuses() {
+ return this.statuses;
+ }
+
+ /**
+ * Get the provisioningState property: Gets or sets the provisioning state.
+ *
+ * @return the provisioningState value.
+ */
+ public String provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the vmId property: Gets or sets a unique identifier for the vm resource.
+ *
+ * @return the vmId value.
+ */
+ public String vmId() {
+ return this.vmId;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public VirtualMachineInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public VirtualMachineInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (extendedLocation() != null) {
+ extendedLocation().validate();
+ }
+ if (identity() != null) {
+ identity().validate();
+ }
+ if (placementProfile() != null) {
+ placementProfile().validate();
+ }
+ if (osProfile() != null) {
+ osProfile().validate();
+ }
+ if (hardwareProfile() != null) {
+ hardwareProfile().validate();
+ }
+ if (networkProfile() != null) {
+ networkProfile().validate();
+ }
+ if (storageProfile() != null) {
+ storageProfile().validate();
+ }
+ if (guestAgentProfile() != null) {
+ guestAgentProfile().validate();
+ }
+ if (statuses() != null) {
+ statuses().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/models/VirtualMachineTemplateInner.java b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/models/VirtualMachineTemplateInner.java
new file mode 100644
index 000000000000..9106ca0b6ef5
--- /dev/null
+++ b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/models/VirtualMachineTemplateInner.java
@@ -0,0 +1,464 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.connectedvmware.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.annotation.JsonFlatten;
+import com.azure.core.management.Resource;
+import com.azure.core.management.SystemData;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.connectedvmware.models.ExtendedLocation;
+import com.azure.resourcemanager.connectedvmware.models.FirmwareType;
+import com.azure.resourcemanager.connectedvmware.models.NetworkInterface;
+import com.azure.resourcemanager.connectedvmware.models.OsType;
+import com.azure.resourcemanager.connectedvmware.models.ResourceStatus;
+import com.azure.resourcemanager.connectedvmware.models.VirtualDisk;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+import java.util.Map;
+
+/** Define the virtualMachineTemplate. */
+@JsonFlatten
+@Fluent
+public class VirtualMachineTemplateInner extends Resource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(VirtualMachineTemplateInner.class);
+
+ /*
+ * Gets or sets the extended location.
+ */
+ @JsonProperty(value = "extendedLocation")
+ private ExtendedLocation extendedLocation;
+
+ /*
+ * The system data.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /*
+ * Metadata used by portal/tooling/etc to render different UX experiences
+ * for resources of the same type; e.g. ApiApps are a kind of
+ * Microsoft.Web/sites type. If supported, the resource provider must
+ * validate and persist this value.
+ */
+ @JsonProperty(value = "kind")
+ private String kind;
+
+ /*
+ * Gets or sets a unique identifier for this resource.
+ */
+ @JsonProperty(value = "properties.uuid", access = JsonProperty.Access.WRITE_ONLY)
+ private String uuid;
+
+ /*
+ * Gets or sets the ARM Id of the vCenter resource in which this template
+ * resides.
+ */
+ @JsonProperty(value = "properties.vCenterId")
+ private String vCenterId;
+
+ /*
+ * Gets or sets the vCenter MoRef (Managed Object Reference) ID for the
+ * virtual machine
+ * template.
+ */
+ @JsonProperty(value = "properties.moRefId")
+ private String moRefId;
+
+ /*
+ * Gets or sets the inventory Item ID for the virtual machine template.
+ */
+ @JsonProperty(value = "properties.inventoryItemId")
+ private String inventoryItemId;
+
+ /*
+ * Gets or sets the vCenter Managed Object name for the virtual machine
+ * template.
+ */
+ @JsonProperty(value = "properties.moName", access = JsonProperty.Access.WRITE_ONLY)
+ private String moName;
+
+ /*
+ * Gets or sets memory size in MBs for the template.
+ */
+ @JsonProperty(value = "properties.memorySizeMB", access = JsonProperty.Access.WRITE_ONLY)
+ private Integer memorySizeMB;
+
+ /*
+ * Gets or sets the number of vCPUs for the template.
+ */
+ @JsonProperty(value = "properties.numCPUs", access = JsonProperty.Access.WRITE_ONLY)
+ private Integer numCPUs;
+
+ /*
+ * Gets or sets the number of cores per socket for the template.
+ * Defaults to 1 if unspecified.
+ */
+ @JsonProperty(value = "properties.numCoresPerSocket", access = JsonProperty.Access.WRITE_ONLY)
+ private Integer numCoresPerSocket;
+
+ /*
+ * Gets or sets the type of the os.
+ */
+ @JsonProperty(value = "properties.osType", access = JsonProperty.Access.WRITE_ONLY)
+ private OsType osType;
+
+ /*
+ * Gets or sets os name.
+ */
+ @JsonProperty(value = "properties.osName", access = JsonProperty.Access.WRITE_ONLY)
+ private String osName;
+
+ /*
+ * Gets or sets the folder path of the template.
+ */
+ @JsonProperty(value = "properties.folderPath", access = JsonProperty.Access.WRITE_ONLY)
+ private String folderPath;
+
+ /*
+ * Gets or sets the network interfaces of the template.
+ */
+ @JsonProperty(value = "properties.networkInterfaces", access = JsonProperty.Access.WRITE_ONLY)
+ private List networkInterfaces;
+
+ /*
+ * Gets or sets the disks the template.
+ */
+ @JsonProperty(value = "properties.disks", access = JsonProperty.Access.WRITE_ONLY)
+ private List disks;
+
+ /*
+ * Gets the name of the corresponding resource in Kubernetes.
+ */
+ @JsonProperty(value = "properties.customResourceName", access = JsonProperty.Access.WRITE_ONLY)
+ private String customResourceName;
+
+ /*
+ * Gets or sets the current version status of VMware Tools installed in the
+ * guest operating system.
+ */
+ @JsonProperty(value = "properties.toolsVersionStatus", access = JsonProperty.Access.WRITE_ONLY)
+ private String toolsVersionStatus;
+
+ /*
+ * Gets or sets the current version of VMware Tools.
+ */
+ @JsonProperty(value = "properties.toolsVersion", access = JsonProperty.Access.WRITE_ONLY)
+ private String toolsVersion;
+
+ /*
+ * Firmware type
+ */
+ @JsonProperty(value = "properties.firmwareType", access = JsonProperty.Access.WRITE_ONLY)
+ private FirmwareType firmwareType;
+
+ /*
+ * The resource status information.
+ */
+ @JsonProperty(value = "properties.statuses", access = JsonProperty.Access.WRITE_ONLY)
+ private List statuses;
+
+ /*
+ * Gets or sets the provisioning state.
+ */
+ @JsonProperty(value = "properties.provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private String provisioningState;
+
+ /**
+ * Get the extendedLocation property: Gets or sets the extended location.
+ *
+ * @return the extendedLocation value.
+ */
+ public ExtendedLocation extendedLocation() {
+ return this.extendedLocation;
+ }
+
+ /**
+ * Set the extendedLocation property: Gets or sets the extended location.
+ *
+ * @param extendedLocation the extendedLocation value to set.
+ * @return the VirtualMachineTemplateInner object itself.
+ */
+ public VirtualMachineTemplateInner withExtendedLocation(ExtendedLocation extendedLocation) {
+ this.extendedLocation = extendedLocation;
+ return this;
+ }
+
+ /**
+ * Get the systemData property: The system data.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the kind property: Metadata used by portal/tooling/etc to render different UX experiences for resources of
+ * the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must
+ * validate and persist this value.
+ *
+ * @return the kind value.
+ */
+ public String kind() {
+ return this.kind;
+ }
+
+ /**
+ * Set the kind property: Metadata used by portal/tooling/etc to render different UX experiences for resources of
+ * the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must
+ * validate and persist this value.
+ *
+ * @param kind the kind value to set.
+ * @return the VirtualMachineTemplateInner object itself.
+ */
+ public VirtualMachineTemplateInner withKind(String kind) {
+ this.kind = kind;
+ return this;
+ }
+
+ /**
+ * Get the uuid property: Gets or sets a unique identifier for this resource.
+ *
+ * @return the uuid value.
+ */
+ public String uuid() {
+ return this.uuid;
+ }
+
+ /**
+ * Get the vCenterId property: Gets or sets the ARM Id of the vCenter resource in which this template resides.
+ *
+ * @return the vCenterId value.
+ */
+ public String vCenterId() {
+ return this.vCenterId;
+ }
+
+ /**
+ * Set the vCenterId property: Gets or sets the ARM Id of the vCenter resource in which this template resides.
+ *
+ * @param vCenterId the vCenterId value to set.
+ * @return the VirtualMachineTemplateInner object itself.
+ */
+ public VirtualMachineTemplateInner withVCenterId(String vCenterId) {
+ this.vCenterId = vCenterId;
+ return this;
+ }
+
+ /**
+ * Get the moRefId property: Gets or sets the vCenter MoRef (Managed Object Reference) ID for the virtual machine
+ * template.
+ *
+ * @return the moRefId value.
+ */
+ public String moRefId() {
+ return this.moRefId;
+ }
+
+ /**
+ * Set the moRefId property: Gets or sets the vCenter MoRef (Managed Object Reference) ID for the virtual machine
+ * template.
+ *
+ * @param moRefId the moRefId value to set.
+ * @return the VirtualMachineTemplateInner object itself.
+ */
+ public VirtualMachineTemplateInner withMoRefId(String moRefId) {
+ this.moRefId = moRefId;
+ return this;
+ }
+
+ /**
+ * Get the inventoryItemId property: Gets or sets the inventory Item ID for the virtual machine template.
+ *
+ * @return the inventoryItemId value.
+ */
+ public String inventoryItemId() {
+ return this.inventoryItemId;
+ }
+
+ /**
+ * Set the inventoryItemId property: Gets or sets the inventory Item ID for the virtual machine template.
+ *
+ * @param inventoryItemId the inventoryItemId value to set.
+ * @return the VirtualMachineTemplateInner object itself.
+ */
+ public VirtualMachineTemplateInner withInventoryItemId(String inventoryItemId) {
+ this.inventoryItemId = inventoryItemId;
+ return this;
+ }
+
+ /**
+ * Get the moName property: Gets or sets the vCenter Managed Object name for the virtual machine template.
+ *
+ * @return the moName value.
+ */
+ public String moName() {
+ return this.moName;
+ }
+
+ /**
+ * Get the memorySizeMB property: Gets or sets memory size in MBs for the template.
+ *
+ * @return the memorySizeMB value.
+ */
+ public Integer memorySizeMB() {
+ return this.memorySizeMB;
+ }
+
+ /**
+ * Get the numCPUs property: Gets or sets the number of vCPUs for the template.
+ *
+ * @return the numCPUs value.
+ */
+ public Integer numCPUs() {
+ return this.numCPUs;
+ }
+
+ /**
+ * Get the numCoresPerSocket property: Gets or sets the number of cores per socket for the template. Defaults to 1
+ * if unspecified.
+ *
+ * @return the numCoresPerSocket value.
+ */
+ public Integer numCoresPerSocket() {
+ return this.numCoresPerSocket;
+ }
+
+ /**
+ * Get the osType property: Gets or sets the type of the os.
+ *
+ * @return the osType value.
+ */
+ public OsType osType() {
+ return this.osType;
+ }
+
+ /**
+ * Get the osName property: Gets or sets os name.
+ *
+ * @return the osName value.
+ */
+ public String osName() {
+ return this.osName;
+ }
+
+ /**
+ * Get the folderPath property: Gets or sets the folder path of the template.
+ *
+ * @return the folderPath value.
+ */
+ public String folderPath() {
+ return this.folderPath;
+ }
+
+ /**
+ * Get the networkInterfaces property: Gets or sets the network interfaces of the template.
+ *
+ * @return the networkInterfaces value.
+ */
+ public List networkInterfaces() {
+ return this.networkInterfaces;
+ }
+
+ /**
+ * Get the disks property: Gets or sets the disks the template.
+ *
+ * @return the disks value.
+ */
+ public List disks() {
+ return this.disks;
+ }
+
+ /**
+ * Get the customResourceName property: Gets the name of the corresponding resource in Kubernetes.
+ *
+ * @return the customResourceName value.
+ */
+ public String customResourceName() {
+ return this.customResourceName;
+ }
+
+ /**
+ * Get the toolsVersionStatus property: Gets or sets the current version status of VMware Tools installed in the
+ * guest operating system.
+ *
+ * @return the toolsVersionStatus value.
+ */
+ public String toolsVersionStatus() {
+ return this.toolsVersionStatus;
+ }
+
+ /**
+ * Get the toolsVersion property: Gets or sets the current version of VMware Tools.
+ *
+ * @return the toolsVersion value.
+ */
+ public String toolsVersion() {
+ return this.toolsVersion;
+ }
+
+ /**
+ * Get the firmwareType property: Firmware type.
+ *
+ * @return the firmwareType value.
+ */
+ public FirmwareType firmwareType() {
+ return this.firmwareType;
+ }
+
+ /**
+ * Get the statuses property: The resource status information.
+ *
+ * @return the statuses value.
+ */
+ public List statuses() {
+ return this.statuses;
+ }
+
+ /**
+ * Get the provisioningState property: Gets or sets the provisioning state.
+ *
+ * @return the provisioningState value.
+ */
+ public String provisioningState() {
+ return this.provisioningState;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public VirtualMachineTemplateInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public VirtualMachineTemplateInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (extendedLocation() != null) {
+ extendedLocation().validate();
+ }
+ if (networkInterfaces() != null) {
+ networkInterfaces().forEach(e -> e.validate());
+ }
+ if (disks() != null) {
+ disks().forEach(e -> e.validate());
+ }
+ if (statuses() != null) {
+ statuses().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/models/VirtualNetworkInner.java b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/models/VirtualNetworkInner.java
new file mode 100644
index 000000000000..d4f0e0a0e09f
--- /dev/null
+++ b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/models/VirtualNetworkInner.java
@@ -0,0 +1,281 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.connectedvmware.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.annotation.JsonFlatten;
+import com.azure.core.management.Resource;
+import com.azure.core.management.SystemData;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.connectedvmware.models.ExtendedLocation;
+import com.azure.resourcemanager.connectedvmware.models.ResourceStatus;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+import java.util.Map;
+
+/** Define the virtualNetwork. */
+@JsonFlatten
+@Fluent
+public class VirtualNetworkInner extends Resource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(VirtualNetworkInner.class);
+
+ /*
+ * Gets or sets the extended location.
+ */
+ @JsonProperty(value = "extendedLocation")
+ private ExtendedLocation extendedLocation;
+
+ /*
+ * The system data.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /*
+ * Metadata used by portal/tooling/etc to render different UX experiences
+ * for resources of the same type; e.g. ApiApps are a kind of
+ * Microsoft.Web/sites type. If supported, the resource provider must
+ * validate and persist this value.
+ */
+ @JsonProperty(value = "kind")
+ private String kind;
+
+ /*
+ * Gets or sets a unique identifier for this resource.
+ */
+ @JsonProperty(value = "properties.uuid", access = JsonProperty.Access.WRITE_ONLY)
+ private String uuid;
+
+ /*
+ * Gets or sets the ARM Id of the vCenter resource in which this template
+ * resides.
+ */
+ @JsonProperty(value = "properties.vCenterId")
+ private String vCenterId;
+
+ /*
+ * Gets or sets the vCenter MoRef (Managed Object Reference) ID for the
+ * virtual network.
+ */
+ @JsonProperty(value = "properties.moRefId")
+ private String moRefId;
+
+ /*
+ * Gets or sets the inventory Item ID for the virtual network.
+ */
+ @JsonProperty(value = "properties.inventoryItemId")
+ private String inventoryItemId;
+
+ /*
+ * Gets or sets the vCenter Managed Object name for the virtual network.
+ */
+ @JsonProperty(value = "properties.moName", access = JsonProperty.Access.WRITE_ONLY)
+ private String moName;
+
+ /*
+ * Gets the name of the corresponding resource in Kubernetes.
+ */
+ @JsonProperty(value = "properties.customResourceName", access = JsonProperty.Access.WRITE_ONLY)
+ private String customResourceName;
+
+ /*
+ * The resource status information.
+ */
+ @JsonProperty(value = "properties.statuses", access = JsonProperty.Access.WRITE_ONLY)
+ private List statuses;
+
+ /*
+ * Gets or sets the provisioning state.
+ */
+ @JsonProperty(value = "properties.provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private String provisioningState;
+
+ /**
+ * Get the extendedLocation property: Gets or sets the extended location.
+ *
+ * @return the extendedLocation value.
+ */
+ public ExtendedLocation extendedLocation() {
+ return this.extendedLocation;
+ }
+
+ /**
+ * Set the extendedLocation property: Gets or sets the extended location.
+ *
+ * @param extendedLocation the extendedLocation value to set.
+ * @return the VirtualNetworkInner object itself.
+ */
+ public VirtualNetworkInner withExtendedLocation(ExtendedLocation extendedLocation) {
+ this.extendedLocation = extendedLocation;
+ return this;
+ }
+
+ /**
+ * Get the systemData property: The system data.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the kind property: Metadata used by portal/tooling/etc to render different UX experiences for resources of
+ * the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must
+ * validate and persist this value.
+ *
+ * @return the kind value.
+ */
+ public String kind() {
+ return this.kind;
+ }
+
+ /**
+ * Set the kind property: Metadata used by portal/tooling/etc to render different UX experiences for resources of
+ * the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must
+ * validate and persist this value.
+ *
+ * @param kind the kind value to set.
+ * @return the VirtualNetworkInner object itself.
+ */
+ public VirtualNetworkInner withKind(String kind) {
+ this.kind = kind;
+ return this;
+ }
+
+ /**
+ * Get the uuid property: Gets or sets a unique identifier for this resource.
+ *
+ * @return the uuid value.
+ */
+ public String uuid() {
+ return this.uuid;
+ }
+
+ /**
+ * Get the vCenterId property: Gets or sets the ARM Id of the vCenter resource in which this template resides.
+ *
+ * @return the vCenterId value.
+ */
+ public String vCenterId() {
+ return this.vCenterId;
+ }
+
+ /**
+ * Set the vCenterId property: Gets or sets the ARM Id of the vCenter resource in which this template resides.
+ *
+ * @param vCenterId the vCenterId value to set.
+ * @return the VirtualNetworkInner object itself.
+ */
+ public VirtualNetworkInner withVCenterId(String vCenterId) {
+ this.vCenterId = vCenterId;
+ return this;
+ }
+
+ /**
+ * Get the moRefId property: Gets or sets the vCenter MoRef (Managed Object Reference) ID for the virtual network.
+ *
+ * @return the moRefId value.
+ */
+ public String moRefId() {
+ return this.moRefId;
+ }
+
+ /**
+ * Set the moRefId property: Gets or sets the vCenter MoRef (Managed Object Reference) ID for the virtual network.
+ *
+ * @param moRefId the moRefId value to set.
+ * @return the VirtualNetworkInner object itself.
+ */
+ public VirtualNetworkInner withMoRefId(String moRefId) {
+ this.moRefId = moRefId;
+ return this;
+ }
+
+ /**
+ * Get the inventoryItemId property: Gets or sets the inventory Item ID for the virtual network.
+ *
+ * @return the inventoryItemId value.
+ */
+ public String inventoryItemId() {
+ return this.inventoryItemId;
+ }
+
+ /**
+ * Set the inventoryItemId property: Gets or sets the inventory Item ID for the virtual network.
+ *
+ * @param inventoryItemId the inventoryItemId value to set.
+ * @return the VirtualNetworkInner object itself.
+ */
+ public VirtualNetworkInner withInventoryItemId(String inventoryItemId) {
+ this.inventoryItemId = inventoryItemId;
+ return this;
+ }
+
+ /**
+ * Get the moName property: Gets or sets the vCenter Managed Object name for the virtual network.
+ *
+ * @return the moName value.
+ */
+ public String moName() {
+ return this.moName;
+ }
+
+ /**
+ * Get the customResourceName property: Gets the name of the corresponding resource in Kubernetes.
+ *
+ * @return the customResourceName value.
+ */
+ public String customResourceName() {
+ return this.customResourceName;
+ }
+
+ /**
+ * Get the statuses property: The resource status information.
+ *
+ * @return the statuses value.
+ */
+ public List statuses() {
+ return this.statuses;
+ }
+
+ /**
+ * Get the provisioningState property: Gets or sets the provisioning state.
+ *
+ * @return the provisioningState value.
+ */
+ public String provisioningState() {
+ return this.provisioningState;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public VirtualNetworkInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public VirtualNetworkInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (extendedLocation() != null) {
+ extendedLocation().validate();
+ }
+ if (statuses() != null) {
+ statuses().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/models/package-info.java b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/models/package-info.java
new file mode 100644
index 000000000000..b3b2de9f1489
--- /dev/null
+++ b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/models/package-info.java
@@ -0,0 +1,6 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+/** Package containing the inner data models for ConnectedVMwareClient. Connected VMware Client. */
+package com.azure.resourcemanager.connectedvmware.fluent.models;
diff --git a/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/package-info.java b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/package-info.java
new file mode 100644
index 000000000000..012d2bb964e6
--- /dev/null
+++ b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/fluent/package-info.java
@@ -0,0 +1,6 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+/** Package containing the service clients for ConnectedVMwareClient. Connected VMware Client. */
+package com.azure.resourcemanager.connectedvmware.fluent;
diff --git a/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/implementation/ClusterImpl.java b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/implementation/ClusterImpl.java
new file mode 100644
index 000000000000..a52eda53de78
--- /dev/null
+++ b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/implementation/ClusterImpl.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.connectedvmware.implementation;
+
+import com.azure.core.management.Region;
+import com.azure.core.management.SystemData;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.connectedvmware.fluent.models.ClusterInner;
+import com.azure.resourcemanager.connectedvmware.models.Cluster;
+import com.azure.resourcemanager.connectedvmware.models.ExtendedLocation;
+import com.azure.resourcemanager.connectedvmware.models.ResourcePatch;
+import com.azure.resourcemanager.connectedvmware.models.ResourceStatus;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
+public final class ClusterImpl implements Cluster, Cluster.Definition, Cluster.Update {
+ private ClusterInner innerObject;
+
+ private final com.azure.resourcemanager.connectedvmware.ConnectedVMwareManager serviceManager;
+
+ public String id() {
+ return this.innerModel().id();
+ }
+
+ public String name() {
+ return this.innerModel().name();
+ }
+
+ public String type() {
+ return this.innerModel().type();
+ }
+
+ public String location() {
+ return this.innerModel().location();
+ }
+
+ public Map tags() {
+ Map inner = this.innerModel().tags();
+ if (inner != null) {
+ return Collections.unmodifiableMap(inner);
+ } else {
+ return Collections.emptyMap();
+ }
+ }
+
+ public ExtendedLocation extendedLocation() {
+ return this.innerModel().extendedLocation();
+ }
+
+ public SystemData systemData() {
+ return this.innerModel().systemData();
+ }
+
+ public String kind() {
+ return this.innerModel().kind();
+ }
+
+ public String uuid() {
+ return this.innerModel().uuid();
+ }
+
+ public String vCenterId() {
+ return this.innerModel().vCenterId();
+ }
+
+ public String moRefId() {
+ return this.innerModel().moRefId();
+ }
+
+ public String inventoryItemId() {
+ return this.innerModel().inventoryItemId();
+ }
+
+ public String moName() {
+ return this.innerModel().moName();
+ }
+
+ public List statuses() {
+ List inner = this.innerModel().statuses();
+ if (inner != null) {
+ return Collections.unmodifiableList(inner);
+ } else {
+ return Collections.emptyList();
+ }
+ }
+
+ public String customResourceName() {
+ return this.innerModel().customResourceName();
+ }
+
+ public List datastoreIds() {
+ List inner = this.innerModel().datastoreIds();
+ if (inner != null) {
+ return Collections.unmodifiableList(inner);
+ } else {
+ return Collections.emptyList();
+ }
+ }
+
+ public List networkIds() {
+ List inner = this.innerModel().networkIds();
+ if (inner != null) {
+ return Collections.unmodifiableList(inner);
+ } else {
+ return Collections.emptyList();
+ }
+ }
+
+ public String provisioningState() {
+ return this.innerModel().provisioningState();
+ }
+
+ public Region region() {
+ return Region.fromName(this.regionName());
+ }
+
+ public String regionName() {
+ return this.location();
+ }
+
+ public ClusterInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.connectedvmware.ConnectedVMwareManager manager() {
+ return this.serviceManager;
+ }
+
+ private String resourceGroupName;
+
+ private String clusterName;
+
+ private ResourcePatch updateBody;
+
+ public ClusterImpl withExistingResourceGroup(String resourceGroupName) {
+ this.resourceGroupName = resourceGroupName;
+ return this;
+ }
+
+ public Cluster create() {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getClusters()
+ .create(resourceGroupName, clusterName, this.innerModel(), Context.NONE);
+ return this;
+ }
+
+ public Cluster create(Context context) {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getClusters()
+ .create(resourceGroupName, clusterName, this.innerModel(), context);
+ return this;
+ }
+
+ ClusterImpl(String name, com.azure.resourcemanager.connectedvmware.ConnectedVMwareManager serviceManager) {
+ this.innerObject = new ClusterInner();
+ this.serviceManager = serviceManager;
+ this.clusterName = name;
+ }
+
+ public ClusterImpl update() {
+ this.updateBody = new ResourcePatch();
+ return this;
+ }
+
+ public Cluster apply() {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getClusters()
+ .updateWithResponse(resourceGroupName, clusterName, updateBody, Context.NONE)
+ .getValue();
+ return this;
+ }
+
+ public Cluster apply(Context context) {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getClusters()
+ .updateWithResponse(resourceGroupName, clusterName, updateBody, context)
+ .getValue();
+ return this;
+ }
+
+ ClusterImpl(
+ ClusterInner innerObject, com.azure.resourcemanager.connectedvmware.ConnectedVMwareManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ this.resourceGroupName = Utils.getValueFromIdByName(innerObject.id(), "resourceGroups");
+ this.clusterName = Utils.getValueFromIdByName(innerObject.id(), "clusters");
+ }
+
+ public Cluster refresh() {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getClusters()
+ .getByResourceGroupWithResponse(resourceGroupName, clusterName, Context.NONE)
+ .getValue();
+ return this;
+ }
+
+ public Cluster refresh(Context context) {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getClusters()
+ .getByResourceGroupWithResponse(resourceGroupName, clusterName, context)
+ .getValue();
+ return this;
+ }
+
+ public ClusterImpl withRegion(Region location) {
+ this.innerModel().withLocation(location.toString());
+ return this;
+ }
+
+ public ClusterImpl withRegion(String location) {
+ this.innerModel().withLocation(location);
+ return this;
+ }
+
+ public ClusterImpl withTags(Map tags) {
+ if (isInCreateMode()) {
+ this.innerModel().withTags(tags);
+ return this;
+ } else {
+ this.updateBody.withTags(tags);
+ return this;
+ }
+ }
+
+ public ClusterImpl withExtendedLocation(ExtendedLocation extendedLocation) {
+ this.innerModel().withExtendedLocation(extendedLocation);
+ return this;
+ }
+
+ public ClusterImpl withKind(String kind) {
+ this.innerModel().withKind(kind);
+ return this;
+ }
+
+ public ClusterImpl withVCenterId(String vCenterId) {
+ this.innerModel().withVCenterId(vCenterId);
+ return this;
+ }
+
+ public ClusterImpl withMoRefId(String moRefId) {
+ this.innerModel().withMoRefId(moRefId);
+ return this;
+ }
+
+ public ClusterImpl withInventoryItemId(String inventoryItemId) {
+ this.innerModel().withInventoryItemId(inventoryItemId);
+ return this;
+ }
+
+ private boolean isInCreateMode() {
+ return this.innerModel().id() == null;
+ }
+}
diff --git a/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/implementation/ClustersClientImpl.java b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/implementation/ClustersClientImpl.java
new file mode 100644
index 000000000000..00cf462b3f30
--- /dev/null
+++ b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/implementation/ClustersClientImpl.java
@@ -0,0 +1,1523 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.connectedvmware.implementation;
+
+import com.azure.core.annotation.BodyParam;
+import com.azure.core.annotation.Delete;
+import com.azure.core.annotation.ExpectedResponses;
+import com.azure.core.annotation.Get;
+import com.azure.core.annotation.HeaderParam;
+import com.azure.core.annotation.Headers;
+import com.azure.core.annotation.Host;
+import com.azure.core.annotation.HostParam;
+import com.azure.core.annotation.Patch;
+import com.azure.core.annotation.PathParam;
+import com.azure.core.annotation.Put;
+import com.azure.core.annotation.QueryParam;
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceInterface;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.annotation.UnexpectedResponseExceptionType;
+import com.azure.core.http.rest.PagedFlux;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.PagedResponse;
+import com.azure.core.http.rest.PagedResponseBase;
+import com.azure.core.http.rest.Response;
+import com.azure.core.http.rest.RestProxy;
+import com.azure.core.management.exception.ManagementException;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.FluxUtil;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.core.util.polling.PollerFlux;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.connectedvmware.fluent.ClustersClient;
+import com.azure.resourcemanager.connectedvmware.fluent.models.ClusterInner;
+import com.azure.resourcemanager.connectedvmware.models.ClustersList;
+import com.azure.resourcemanager.connectedvmware.models.ResourcePatch;
+import java.nio.ByteBuffer;
+import reactor.core.publisher.Flux;
+import reactor.core.publisher.Mono;
+
+/** An instance of this class provides access to all the operations defined in ClustersClient. */
+public final class ClustersClientImpl implements ClustersClient {
+ private final ClientLogger logger = new ClientLogger(ClustersClientImpl.class);
+
+ /** The proxy service used to perform REST calls. */
+ private final ClustersService service;
+
+ /** The service client containing this operation class. */
+ private final ConnectedVMwareClientImpl client;
+
+ /**
+ * Initializes an instance of ClustersClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ ClustersClientImpl(ConnectedVMwareClientImpl client) {
+ this.service = RestProxy.create(ClustersService.class, client.getHttpPipeline(), client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for ConnectedVMwareClientClusters to be used by the proxy service to
+ * perform REST calls.
+ */
+ @Host("{$host}")
+ @ServiceInterface(name = "ConnectedVMwareClien")
+ private interface ClustersService {
+ @Headers({"Content-Type: application/json"})
+ @Put(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers"
+ + "/Microsoft.ConnectedVMwarevSphere/clusters/{clusterName}")
+ @ExpectedResponses({200, 201})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> create(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("clusterName") String clusterName,
+ @QueryParam("api-version") String apiVersion,
+ @BodyParam("application/json") ClusterInner body,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers"
+ + "/Microsoft.ConnectedVMwarevSphere/clusters/{clusterName}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> getByResourceGroup(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("clusterName") String clusterName,
+ @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Patch(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers"
+ + "/Microsoft.ConnectedVMwarevSphere/clusters/{clusterName}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> update(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("clusterName") String clusterName,
+ @QueryParam("api-version") String apiVersion,
+ @BodyParam("application/json") ResourcePatch body,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Delete(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers"
+ + "/Microsoft.ConnectedVMwarevSphere/clusters/{clusterName}")
+ @ExpectedResponses({200, 202, 204})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> delete(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("clusterName") String clusterName,
+ @QueryParam("api-version") String apiVersion,
+ @QueryParam("force") Boolean force,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get("/subscriptions/{subscriptionId}/providers/Microsoft.ConnectedVMwarevSphere/clusters")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> list(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers"
+ + "/Microsoft.ConnectedVMwarevSphere/clusters")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByResourceGroup(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get("{nextLink}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listNext(
+ @PathParam(value = "nextLink", encoded = true) String nextLink,
+ @HostParam("$host") String endpoint,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get("{nextLink}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByResourceGroupNext(
+ @PathParam(value = "nextLink", encoded = true) String nextLink,
+ @HostParam("$host") String endpoint,
+ @HeaderParam("Accept") String accept,
+ Context context);
+ }
+
+ /**
+ * Create Or Update cluster.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param clusterName Name of the cluster.
+ * @param body Request payload.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> createWithResponseAsync(
+ String resourceGroupName, String clusterName, ClusterInner body) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (clusterName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter clusterName is required and cannot be null."));
+ }
+ if (body != null) {
+ body.validate();
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .create(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ clusterName,
+ this.client.getApiVersion(),
+ body,
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Create Or Update cluster.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param clusterName Name of the cluster.
+ * @param body Request payload.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> createWithResponseAsync(
+ String resourceGroupName, String clusterName, ClusterInner body, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (clusterName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter clusterName is required and cannot be null."));
+ }
+ if (body != null) {
+ body.validate();
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .create(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ clusterName,
+ this.client.getApiVersion(),
+ body,
+ accept,
+ context);
+ }
+
+ /**
+ * Create Or Update cluster.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param clusterName Name of the cluster.
+ * @param body Request payload.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private PollerFlux, ClusterInner> beginCreateAsync(
+ String resourceGroupName, String clusterName, ClusterInner body) {
+ Mono>> mono = createWithResponseAsync(resourceGroupName, clusterName, body);
+ return this
+ .client
+ .getLroResult(
+ mono, this.client.getHttpPipeline(), ClusterInner.class, ClusterInner.class, Context.NONE);
+ }
+
+ /**
+ * Create Or Update cluster.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param clusterName Name of the cluster.
+ * @param body Request payload.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private PollerFlux, ClusterInner> beginCreateAsync(
+ String resourceGroupName, String clusterName, ClusterInner body, Context context) {
+ context = this.client.mergeContext(context);
+ Mono>> mono = createWithResponseAsync(resourceGroupName, clusterName, body, context);
+ return this
+ .client
+ .getLroResult(
+ mono, this.client.getHttpPipeline(), ClusterInner.class, ClusterInner.class, context);
+ }
+
+ /**
+ * Create Or Update cluster.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param clusterName Name of the cluster.
+ * @param body Request payload.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public SyncPoller, ClusterInner> beginCreate(
+ String resourceGroupName, String clusterName, ClusterInner body) {
+ return beginCreateAsync(resourceGroupName, clusterName, body).getSyncPoller();
+ }
+
+ /**
+ * Create Or Update cluster.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param clusterName Name of the cluster.
+ * @param body Request payload.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public SyncPoller, ClusterInner> beginCreate(
+ String resourceGroupName, String clusterName, ClusterInner body, Context context) {
+ return beginCreateAsync(resourceGroupName, clusterName, body, context).getSyncPoller();
+ }
+
+ /**
+ * Create Or Update cluster.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param clusterName Name of the cluster.
+ * @param body Request payload.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono createAsync(String resourceGroupName, String clusterName, ClusterInner body) {
+ return beginCreateAsync(resourceGroupName, clusterName, body)
+ .last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Create Or Update cluster.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param clusterName Name of the cluster.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono createAsync(String resourceGroupName, String clusterName) {
+ final ClusterInner body = null;
+ return beginCreateAsync(resourceGroupName, clusterName, body)
+ .last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Create Or Update cluster.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param clusterName Name of the cluster.
+ * @param body Request payload.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono createAsync(
+ String resourceGroupName, String clusterName, ClusterInner body, Context context) {
+ return beginCreateAsync(resourceGroupName, clusterName, body, context)
+ .last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Create Or Update cluster.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param clusterName Name of the cluster.
+ * @param body Request payload.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public ClusterInner create(String resourceGroupName, String clusterName, ClusterInner body) {
+ return createAsync(resourceGroupName, clusterName, body).block();
+ }
+
+ /**
+ * Create Or Update cluster.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param clusterName Name of the cluster.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public ClusterInner create(String resourceGroupName, String clusterName) {
+ final ClusterInner body = null;
+ return createAsync(resourceGroupName, clusterName, body).block();
+ }
+
+ /**
+ * Create Or Update cluster.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param clusterName Name of the cluster.
+ * @param body Request payload.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public ClusterInner create(String resourceGroupName, String clusterName, ClusterInner body, Context context) {
+ return createAsync(resourceGroupName, clusterName, body, context).block();
+ }
+
+ /**
+ * Implements cluster GET method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param clusterName Name of the cluster.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getByResourceGroupWithResponseAsync(
+ String resourceGroupName, String clusterName) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (clusterName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter clusterName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .getByResourceGroup(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ clusterName,
+ this.client.getApiVersion(),
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Implements cluster GET method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param clusterName Name of the cluster.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getByResourceGroupWithResponseAsync(
+ String resourceGroupName, String clusterName, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (clusterName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter clusterName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .getByResourceGroup(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ clusterName,
+ this.client.getApiVersion(),
+ accept,
+ context);
+ }
+
+ /**
+ * Implements cluster GET method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param clusterName Name of the cluster.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono getByResourceGroupAsync(String resourceGroupName, String clusterName) {
+ return getByResourceGroupWithResponseAsync(resourceGroupName, clusterName)
+ .flatMap(
+ (Response res) -> {
+ if (res.getValue() != null) {
+ return Mono.just(res.getValue());
+ } else {
+ return Mono.empty();
+ }
+ });
+ }
+
+ /**
+ * Implements cluster GET method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param clusterName Name of the cluster.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public ClusterInner getByResourceGroup(String resourceGroupName, String clusterName) {
+ return getByResourceGroupAsync(resourceGroupName, clusterName).block();
+ }
+
+ /**
+ * Implements cluster GET method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param clusterName Name of the cluster.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getByResourceGroupWithResponse(
+ String resourceGroupName, String clusterName, Context context) {
+ return getByResourceGroupWithResponseAsync(resourceGroupName, clusterName, context).block();
+ }
+
+ /**
+ * API to update certain properties of the cluster resource.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param clusterName Name of the cluster.
+ * @param body Resource properties to update.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> updateWithResponseAsync(
+ String resourceGroupName, String clusterName, ResourcePatch body) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (clusterName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter clusterName is required and cannot be null."));
+ }
+ if (body != null) {
+ body.validate();
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .update(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ clusterName,
+ this.client.getApiVersion(),
+ body,
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * API to update certain properties of the cluster resource.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param clusterName Name of the cluster.
+ * @param body Resource properties to update.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> updateWithResponseAsync(
+ String resourceGroupName, String clusterName, ResourcePatch body, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (clusterName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter clusterName is required and cannot be null."));
+ }
+ if (body != null) {
+ body.validate();
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .update(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ clusterName,
+ this.client.getApiVersion(),
+ body,
+ accept,
+ context);
+ }
+
+ /**
+ * API to update certain properties of the cluster resource.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param clusterName Name of the cluster.
+ * @param body Resource properties to update.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono updateAsync(String resourceGroupName, String clusterName, ResourcePatch body) {
+ return updateWithResponseAsync(resourceGroupName, clusterName, body)
+ .flatMap(
+ (Response res) -> {
+ if (res.getValue() != null) {
+ return Mono.just(res.getValue());
+ } else {
+ return Mono.empty();
+ }
+ });
+ }
+
+ /**
+ * API to update certain properties of the cluster resource.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param clusterName Name of the cluster.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono updateAsync(String resourceGroupName, String clusterName) {
+ final ResourcePatch body = null;
+ return updateWithResponseAsync(resourceGroupName, clusterName, body)
+ .flatMap(
+ (Response res) -> {
+ if (res.getValue() != null) {
+ return Mono.just(res.getValue());
+ } else {
+ return Mono.empty();
+ }
+ });
+ }
+
+ /**
+ * API to update certain properties of the cluster resource.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param clusterName Name of the cluster.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public ClusterInner update(String resourceGroupName, String clusterName) {
+ final ResourcePatch body = null;
+ return updateAsync(resourceGroupName, clusterName, body).block();
+ }
+
+ /**
+ * API to update certain properties of the cluster resource.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param clusterName Name of the cluster.
+ * @param body Resource properties to update.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return define the cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response updateWithResponse(
+ String resourceGroupName, String clusterName, ResourcePatch body, Context context) {
+ return updateWithResponseAsync(resourceGroupName, clusterName, body, context).block();
+ }
+
+ /**
+ * Implements cluster DELETE method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param clusterName Name of the cluster.
+ * @param force Whether force delete was specified.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> deleteWithResponseAsync(
+ String resourceGroupName, String clusterName, Boolean force) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (clusterName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter clusterName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .delete(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ clusterName,
+ this.client.getApiVersion(),
+ force,
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Implements cluster DELETE method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param clusterName Name of the cluster.
+ * @param force Whether force delete was specified.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> deleteWithResponseAsync(
+ String resourceGroupName, String clusterName, Boolean force, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (clusterName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter clusterName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .delete(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ clusterName,
+ this.client.getApiVersion(),
+ force,
+ accept,
+ context);
+ }
+
+ /**
+ * Implements cluster DELETE method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param clusterName Name of the cluster.
+ * @param force Whether force delete was specified.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private PollerFlux, Void> beginDeleteAsync(
+ String resourceGroupName, String clusterName, Boolean force) {
+ Mono>> mono = deleteWithResponseAsync(resourceGroupName, clusterName, force);
+ return this
+ .client
+ .getLroResult(mono, this.client.getHttpPipeline(), Void.class, Void.class, Context.NONE);
+ }
+
+ /**
+ * Implements cluster DELETE method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param clusterName Name of the cluster.
+ * @param force Whether force delete was specified.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private PollerFlux, Void> beginDeleteAsync(
+ String resourceGroupName, String clusterName, Boolean force, Context context) {
+ context = this.client.mergeContext(context);
+ Mono>> mono = deleteWithResponseAsync(resourceGroupName, clusterName, force, context);
+ return this
+ .client
+ .getLroResult(mono, this.client.getHttpPipeline(), Void.class, Void.class, context);
+ }
+
+ /**
+ * Implements cluster DELETE method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param clusterName Name of the cluster.
+ * @param force Whether force delete was specified.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public SyncPoller, Void> beginDelete(String resourceGroupName, String clusterName, Boolean force) {
+ return beginDeleteAsync(resourceGroupName, clusterName, force).getSyncPoller();
+ }
+
+ /**
+ * Implements cluster DELETE method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param clusterName Name of the cluster.
+ * @param force Whether force delete was specified.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public SyncPoller, Void> beginDelete(
+ String resourceGroupName, String clusterName, Boolean force, Context context) {
+ return beginDeleteAsync(resourceGroupName, clusterName, force, context).getSyncPoller();
+ }
+
+ /**
+ * Implements cluster DELETE method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param clusterName Name of the cluster.
+ * @param force Whether force delete was specified.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono deleteAsync(String resourceGroupName, String clusterName, Boolean force) {
+ return beginDeleteAsync(resourceGroupName, clusterName, force)
+ .last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Implements cluster DELETE method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param clusterName Name of the cluster.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono deleteAsync(String resourceGroupName, String clusterName) {
+ final Boolean force = null;
+ return beginDeleteAsync(resourceGroupName, clusterName, force)
+ .last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Implements cluster DELETE method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param clusterName Name of the cluster.
+ * @param force Whether force delete was specified.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono deleteAsync(String resourceGroupName, String clusterName, Boolean force, Context context) {
+ return beginDeleteAsync(resourceGroupName, clusterName, force, context)
+ .last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Implements cluster DELETE method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param clusterName Name of the cluster.
+ * @param force Whether force delete was specified.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws 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)
+ public void delete(String resourceGroupName, String clusterName, Boolean force) {
+ deleteAsync(resourceGroupName, clusterName, force).block();
+ }
+
+ /**
+ * Implements cluster DELETE method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param clusterName Name of the cluster.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws 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)
+ public void delete(String resourceGroupName, String clusterName) {
+ final Boolean force = null;
+ deleteAsync(resourceGroupName, clusterName, force).block();
+ }
+
+ /**
+ * Implements cluster DELETE method.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param clusterName Name of the cluster.
+ * @param force Whether force delete was specified.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws 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)
+ public void delete(String resourceGroupName, String clusterName, Boolean force, Context context) {
+ deleteAsync(resourceGroupName, clusterName, force, context).block();
+ }
+
+ /**
+ * List of clusters in a subscription.
+ *
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of Clusters.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listSinglePageAsync() {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .list(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ this.client.getApiVersion(),
+ accept,
+ context))
+ .>map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * List of clusters in a subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of Clusters.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listSinglePageAsync(Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .list(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ this.client.getApiVersion(),
+ accept,
+ context)
+ .map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null));
+ }
+
+ /**
+ * List of clusters in a subscription.
+ *
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of Clusters.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listAsync() {
+ return new PagedFlux<>(() -> listSinglePageAsync(), nextLink -> listNextSinglePageAsync(nextLink));
+ }
+
+ /**
+ * List of clusters in a subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of Clusters.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listAsync(Context context) {
+ return new PagedFlux<>(
+ () -> listSinglePageAsync(context), nextLink -> listNextSinglePageAsync(nextLink, context));
+ }
+
+ /**
+ * List of clusters in a subscription.
+ *
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of Clusters.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable list() {
+ return new PagedIterable<>(listAsync());
+ }
+
+ /**
+ * List of clusters in a subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of Clusters.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable list(Context context) {
+ return new PagedIterable<>(listAsync(context));
+ }
+
+ /**
+ * List of clusters in a resource group.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of Clusters.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByResourceGroupSinglePageAsync(String resourceGroupName) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .listByResourceGroup(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ this.client.getApiVersion(),
+ accept,
+ context))
+ .>map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * List of clusters in a resource group.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of Clusters.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByResourceGroupSinglePageAsync(
+ String resourceGroupName, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .listByResourceGroup(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ this.client.getApiVersion(),
+ accept,
+ context)
+ .map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null));
+ }
+
+ /**
+ * List of clusters in a resource group.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of Clusters.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listByResourceGroupAsync(String resourceGroupName) {
+ return new PagedFlux<>(
+ () -> listByResourceGroupSinglePageAsync(resourceGroupName),
+ nextLink -> listByResourceGroupNextSinglePageAsync(nextLink));
+ }
+
+ /**
+ * List of clusters in a resource group.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of Clusters.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listByResourceGroupAsync(String resourceGroupName, Context context) {
+ return new PagedFlux<>(
+ () -> listByResourceGroupSinglePageAsync(resourceGroupName, context),
+ nextLink -> listByResourceGroupNextSinglePageAsync(nextLink, context));
+ }
+
+ /**
+ * List of clusters in a resource group.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of Clusters.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByResourceGroup(String resourceGroupName) {
+ return new PagedIterable<>(listByResourceGroupAsync(resourceGroupName));
+ }
+
+ /**
+ * List of clusters in a resource group.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of Clusters.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByResourceGroup(String resourceGroupName, Context context) {
+ return new PagedIterable<>(listByResourceGroupAsync(resourceGroupName, context));
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The nextLink parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of Clusters.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listNextSinglePageAsync(String nextLink) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.listNext(nextLink, this.client.getEndpoint(), accept, context))
+ .>map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The nextLink parameter.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of Clusters.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listNextSinglePageAsync(String nextLink, Context context) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .listNext(nextLink, this.client.getEndpoint(), accept, context)
+ .map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null));
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The nextLink parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of Clusters.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByResourceGroupNextSinglePageAsync(String nextLink) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context -> service.listByResourceGroupNext(nextLink, this.client.getEndpoint(), accept, context))
+ .>map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The nextLink parameter.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of Clusters.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByResourceGroupNextSinglePageAsync(String nextLink, Context context) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .listByResourceGroupNext(nextLink, this.client.getEndpoint(), accept, context)
+ .map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null));
+ }
+}
diff --git a/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/implementation/ClustersImpl.java b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/implementation/ClustersImpl.java
new file mode 100644
index 000000000000..dc55f43d77c9
--- /dev/null
+++ b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/implementation/ClustersImpl.java
@@ -0,0 +1,175 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.connectedvmware.implementation;
+
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.http.rest.SimpleResponse;
+import com.azure.core.util.Context;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.connectedvmware.fluent.ClustersClient;
+import com.azure.resourcemanager.connectedvmware.fluent.models.ClusterInner;
+import com.azure.resourcemanager.connectedvmware.models.Cluster;
+import com.azure.resourcemanager.connectedvmware.models.Clusters;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+
+public final class ClustersImpl implements Clusters {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(ClustersImpl.class);
+
+ private final ClustersClient innerClient;
+
+ private final com.azure.resourcemanager.connectedvmware.ConnectedVMwareManager serviceManager;
+
+ public ClustersImpl(
+ ClustersClient innerClient, com.azure.resourcemanager.connectedvmware.ConnectedVMwareManager serviceManager) {
+ this.innerClient = innerClient;
+ this.serviceManager = serviceManager;
+ }
+
+ public Cluster getByResourceGroup(String resourceGroupName, String clusterName) {
+ ClusterInner inner = this.serviceClient().getByResourceGroup(resourceGroupName, clusterName);
+ if (inner != null) {
+ return new ClusterImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ public Response getByResourceGroupWithResponse(
+ String resourceGroupName, String clusterName, Context context) {
+ Response inner =
+ this.serviceClient().getByResourceGroupWithResponse(resourceGroupName, clusterName, context);
+ if (inner != null) {
+ return new SimpleResponse<>(
+ inner.getRequest(),
+ inner.getStatusCode(),
+ inner.getHeaders(),
+ new ClusterImpl(inner.getValue(), this.manager()));
+ } else {
+ return null;
+ }
+ }
+
+ public void delete(String resourceGroupName, String clusterName, Boolean force) {
+ this.serviceClient().delete(resourceGroupName, clusterName, force);
+ }
+
+ public void delete(String resourceGroupName, String clusterName) {
+ this.serviceClient().delete(resourceGroupName, clusterName);
+ }
+
+ public void delete(String resourceGroupName, String clusterName, Boolean force, Context context) {
+ this.serviceClient().delete(resourceGroupName, clusterName, force, context);
+ }
+
+ public PagedIterable list() {
+ PagedIterable inner = this.serviceClient().list();
+ return Utils.mapPage(inner, inner1 -> new ClusterImpl(inner1, this.manager()));
+ }
+
+ public PagedIterable list(Context context) {
+ PagedIterable inner = this.serviceClient().list(context);
+ return Utils.mapPage(inner, inner1 -> new ClusterImpl(inner1, this.manager()));
+ }
+
+ public PagedIterable listByResourceGroup(String resourceGroupName) {
+ PagedIterable inner = this.serviceClient().listByResourceGroup(resourceGroupName);
+ return Utils.mapPage(inner, inner1 -> new ClusterImpl(inner1, this.manager()));
+ }
+
+ public PagedIterable listByResourceGroup(String resourceGroupName, Context context) {
+ PagedIterable inner = this.serviceClient().listByResourceGroup(resourceGroupName, context);
+ return Utils.mapPage(inner, inner1 -> new ClusterImpl(inner1, this.manager()));
+ }
+
+ public Cluster getById(String id) {
+ String resourceGroupName = Utils.getValueFromIdByName(id, "resourceGroups");
+ if (resourceGroupName == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String
+ .format("The resource ID '%s' is not valid. Missing path segment 'resourceGroups'.", id)));
+ }
+ String clusterName = Utils.getValueFromIdByName(id, "clusters");
+ if (clusterName == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'clusters'.", id)));
+ }
+ return this.getByResourceGroupWithResponse(resourceGroupName, clusterName, Context.NONE).getValue();
+ }
+
+ public Response getByIdWithResponse(String id, Context context) {
+ String resourceGroupName = Utils.getValueFromIdByName(id, "resourceGroups");
+ if (resourceGroupName == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String
+ .format("The resource ID '%s' is not valid. Missing path segment 'resourceGroups'.", id)));
+ }
+ String clusterName = Utils.getValueFromIdByName(id, "clusters");
+ if (clusterName == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'clusters'.", id)));
+ }
+ return this.getByResourceGroupWithResponse(resourceGroupName, clusterName, context);
+ }
+
+ public void deleteById(String id) {
+ String resourceGroupName = Utils.getValueFromIdByName(id, "resourceGroups");
+ if (resourceGroupName == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String
+ .format("The resource ID '%s' is not valid. Missing path segment 'resourceGroups'.", id)));
+ }
+ String clusterName = Utils.getValueFromIdByName(id, "clusters");
+ if (clusterName == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'clusters'.", id)));
+ }
+ Boolean localForce = null;
+ this.delete(resourceGroupName, clusterName, localForce, Context.NONE);
+ }
+
+ public void deleteByIdWithResponse(String id, Boolean force, Context context) {
+ String resourceGroupName = Utils.getValueFromIdByName(id, "resourceGroups");
+ if (resourceGroupName == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String
+ .format("The resource ID '%s' is not valid. Missing path segment 'resourceGroups'.", id)));
+ }
+ String clusterName = Utils.getValueFromIdByName(id, "clusters");
+ if (clusterName == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'clusters'.", id)));
+ }
+ this.delete(resourceGroupName, clusterName, force, context);
+ }
+
+ private ClustersClient serviceClient() {
+ return this.innerClient;
+ }
+
+ private com.azure.resourcemanager.connectedvmware.ConnectedVMwareManager manager() {
+ return this.serviceManager;
+ }
+
+ public ClusterImpl define(String name) {
+ return new ClusterImpl(name, this.manager());
+ }
+}
diff --git a/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/implementation/ConnectedVMwareClientBuilder.java b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/implementation/ConnectedVMwareClientBuilder.java
new file mode 100644
index 000000000000..4c08fc9f9a6b
--- /dev/null
+++ b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/implementation/ConnectedVMwareClientBuilder.java
@@ -0,0 +1,146 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.connectedvmware.implementation;
+
+import com.azure.core.annotation.ServiceClientBuilder;
+import com.azure.core.http.HttpPipeline;
+import com.azure.core.http.HttpPipelineBuilder;
+import com.azure.core.http.policy.CookiePolicy;
+import com.azure.core.http.policy.RetryPolicy;
+import com.azure.core.http.policy.UserAgentPolicy;
+import com.azure.core.management.AzureEnvironment;
+import com.azure.core.management.serializer.SerializerFactory;
+import com.azure.core.util.serializer.SerializerAdapter;
+import java.time.Duration;
+
+/** A builder for creating a new instance of the ConnectedVMwareClientImpl type. */
+@ServiceClientBuilder(serviceClients = {ConnectedVMwareClientImpl.class})
+public final class ConnectedVMwareClientBuilder {
+ /*
+ * The Subscription ID.
+ */
+ private String subscriptionId;
+
+ /**
+ * Sets The Subscription ID.
+ *
+ * @param subscriptionId the subscriptionId value.
+ * @return the ConnectedVMwareClientBuilder.
+ */
+ public ConnectedVMwareClientBuilder subscriptionId(String subscriptionId) {
+ this.subscriptionId = subscriptionId;
+ return this;
+ }
+
+ /*
+ * server parameter
+ */
+ private String endpoint;
+
+ /**
+ * Sets server parameter.
+ *
+ * @param endpoint the endpoint value.
+ * @return the ConnectedVMwareClientBuilder.
+ */
+ public ConnectedVMwareClientBuilder endpoint(String endpoint) {
+ this.endpoint = endpoint;
+ return this;
+ }
+
+ /*
+ * The environment to connect to
+ */
+ private AzureEnvironment environment;
+
+ /**
+ * Sets The environment to connect to.
+ *
+ * @param environment the environment value.
+ * @return the ConnectedVMwareClientBuilder.
+ */
+ public ConnectedVMwareClientBuilder environment(AzureEnvironment environment) {
+ this.environment = environment;
+ return this;
+ }
+
+ /*
+ * The default poll interval for long-running operation
+ */
+ private Duration defaultPollInterval;
+
+ /**
+ * Sets The default poll interval for long-running operation.
+ *
+ * @param defaultPollInterval the defaultPollInterval value.
+ * @return the ConnectedVMwareClientBuilder.
+ */
+ public ConnectedVMwareClientBuilder defaultPollInterval(Duration defaultPollInterval) {
+ this.defaultPollInterval = defaultPollInterval;
+ return this;
+ }
+
+ /*
+ * The HTTP pipeline to send requests through
+ */
+ private HttpPipeline pipeline;
+
+ /**
+ * Sets The HTTP pipeline to send requests through.
+ *
+ * @param pipeline the pipeline value.
+ * @return the ConnectedVMwareClientBuilder.
+ */
+ public ConnectedVMwareClientBuilder pipeline(HttpPipeline pipeline) {
+ this.pipeline = pipeline;
+ return this;
+ }
+
+ /*
+ * The serializer to serialize an object into a string
+ */
+ private SerializerAdapter serializerAdapter;
+
+ /**
+ * Sets The serializer to serialize an object into a string.
+ *
+ * @param serializerAdapter the serializerAdapter value.
+ * @return the ConnectedVMwareClientBuilder.
+ */
+ public ConnectedVMwareClientBuilder serializerAdapter(SerializerAdapter serializerAdapter) {
+ this.serializerAdapter = serializerAdapter;
+ return this;
+ }
+
+ /**
+ * Builds an instance of ConnectedVMwareClientImpl with the provided parameters.
+ *
+ * @return an instance of ConnectedVMwareClientImpl.
+ */
+ public ConnectedVMwareClientImpl buildClient() {
+ if (endpoint == null) {
+ this.endpoint = "https://management.azure.com";
+ }
+ if (environment == null) {
+ this.environment = AzureEnvironment.AZURE;
+ }
+ if (defaultPollInterval == null) {
+ this.defaultPollInterval = Duration.ofSeconds(30);
+ }
+ if (pipeline == null) {
+ this.pipeline =
+ new HttpPipelineBuilder()
+ .policies(new UserAgentPolicy(), new RetryPolicy(), new CookiePolicy())
+ .build();
+ }
+ if (serializerAdapter == null) {
+ this.serializerAdapter = SerializerFactory.createDefaultManagementSerializerAdapter();
+ }
+ ConnectedVMwareClientImpl client =
+ new ConnectedVMwareClientImpl(
+ pipeline, serializerAdapter, defaultPollInterval, environment, subscriptionId, endpoint);
+ return client;
+ }
+}
diff --git a/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/implementation/ConnectedVMwareClientImpl.java b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/implementation/ConnectedVMwareClientImpl.java
new file mode 100644
index 000000000000..c56c7d82958e
--- /dev/null
+++ b/sdk/connectedvmware/azure-resourcemanager-connectedvmware/src/main/java/com/azure/resourcemanager/connectedvmware/implementation/ConnectedVMwareClientImpl.java
@@ -0,0 +1,461 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.connectedvmware.implementation;
+
+import com.azure.core.annotation.ServiceClient;
+import com.azure.core.http.HttpHeaders;
+import com.azure.core.http.HttpPipeline;
+import com.azure.core.http.HttpResponse;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.AzureEnvironment;
+import com.azure.core.management.exception.ManagementError;
+import com.azure.core.management.exception.ManagementException;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.management.polling.PollerFactory;
+import com.azure.core.util.Context;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.core.util.polling.AsyncPollResponse;
+import com.azure.core.util.polling.LongRunningOperationStatus;
+import com.azure.core.util.polling.PollerFlux;
+import com.azure.core.util.serializer.SerializerAdapter;
+import com.azure.core.util.serializer.SerializerEncoding;
+import com.azure.resourcemanager.connectedvmware.fluent.ClustersClient;
+import com.azure.resourcemanager.connectedvmware.fluent.ConnectedVMwareClient;
+import com.azure.resourcemanager.connectedvmware.fluent.DatastoresClient;
+import com.azure.resourcemanager.connectedvmware.fluent.GuestAgentsClient;
+import com.azure.resourcemanager.connectedvmware.fluent.HostsClient;
+import com.azure.resourcemanager.connectedvmware.fluent.HybridIdentityMetadatasClient;
+import com.azure.resourcemanager.connectedvmware.fluent.InventoryItemsClient;
+import com.azure.resourcemanager.connectedvmware.fluent.MachineExtensionsClient;
+import com.azure.resourcemanager.connectedvmware.fluent.OperationsClient;
+import com.azure.resourcemanager.connectedvmware.fluent.ResourcePoolsClient;
+import com.azure.resourcemanager.connectedvmware.fluent.VCentersClient;
+import com.azure.resourcemanager.connectedvmware.fluent.VirtualMachineTemplatesClient;
+import com.azure.resourcemanager.connectedvmware.fluent.VirtualMachinesClient;
+import com.azure.resourcemanager.connectedvmware.fluent.VirtualNetworksClient;
+import java.io.IOException;
+import java.lang.reflect.Type;
+import java.nio.ByteBuffer;
+import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
+import java.time.Duration;
+import java.util.Map;
+import reactor.core.publisher.Flux;
+import reactor.core.publisher.Mono;
+
+/** Initializes a new instance of the ConnectedVMwareClientImpl type. */
+@ServiceClient(builder = ConnectedVMwareClientBuilder.class)
+public final class ConnectedVMwareClientImpl implements ConnectedVMwareClient {
+ private final ClientLogger logger = new ClientLogger(ConnectedVMwareClientImpl.class);
+
+ /** The Subscription ID. */
+ private final String subscriptionId;
+
+ /**
+ * Gets The Subscription ID.
+ *
+ * @return the subscriptionId value.
+ */
+ public String getSubscriptionId() {
+ return this.subscriptionId;
+ }
+
+ /** server parameter. */
+ private final String endpoint;
+
+ /**
+ * Gets server parameter.
+ *
+ * @return the endpoint value.
+ */
+ public String getEndpoint() {
+ return this.endpoint;
+ }
+
+ /** Api Version. */
+ private final String apiVersion;
+
+ /**
+ * Gets Api Version.
+ *
+ * @return the apiVersion value.
+ */
+ public String getApiVersion() {
+ return this.apiVersion;
+ }
+
+ /** The HTTP pipeline to send requests through. */
+ private final HttpPipeline httpPipeline;
+
+ /**
+ * Gets The HTTP pipeline to send requests through.
+ *
+ * @return the httpPipeline value.
+ */
+ public HttpPipeline getHttpPipeline() {
+ return this.httpPipeline;
+ }
+
+ /** The serializer to serialize an object into a string. */
+ private final SerializerAdapter serializerAdapter;
+
+ /**
+ * Gets The serializer to serialize an object into a string.
+ *
+ * @return the serializerAdapter value.
+ */
+ SerializerAdapter getSerializerAdapter() {
+ return this.serializerAdapter;
+ }
+
+ /** The default poll interval for long-running operation. */
+ private final Duration defaultPollInterval;
+
+ /**
+ * Gets The default poll interval for long-running operation.
+ *
+ * @return the defaultPollInterval value.
+ */
+ public Duration getDefaultPollInterval() {
+ return this.defaultPollInterval;
+ }
+
+ /** The OperationsClient object to access its operations. */
+ private final OperationsClient operations;
+
+ /**
+ * Gets the OperationsClient object to access its operations.
+ *
+ * @return the OperationsClient object.
+ */
+ public OperationsClient getOperations() {
+ return this.operations;
+ }
+
+ /** The ResourcePoolsClient object to access its operations. */
+ private final ResourcePoolsClient resourcePools;
+
+ /**
+ * Gets the ResourcePoolsClient object to access its operations.
+ *
+ * @return the ResourcePoolsClient object.
+ */
+ public ResourcePoolsClient getResourcePools() {
+ return this.resourcePools;
+ }
+
+ /** The ClustersClient object to access its operations. */
+ private final ClustersClient clusters;
+
+ /**
+ * Gets the ClustersClient object to access its operations.
+ *
+ * @return the ClustersClient object.
+ */
+ public ClustersClient getClusters() {
+ return this.clusters;
+ }
+
+ /** The HostsClient object to access its operations. */
+ private final HostsClient hosts;
+
+ /**
+ * Gets the HostsClient object to access its operations.
+ *
+ * @return the HostsClient object.
+ */
+ public HostsClient getHosts() {
+ return this.hosts;
+ }
+
+ /** The DatastoresClient object to access its operations. */
+ private final DatastoresClient datastores;
+
+ /**
+ * Gets the DatastoresClient object to access its operations.
+ *
+ * @return the DatastoresClient object.
+ */
+ public DatastoresClient getDatastores() {
+ return this.datastores;
+ }
+
+ /** The VCentersClient object to access its operations. */
+ private final VCentersClient vCenters;
+
+ /**
+ * Gets the VCentersClient object to access its operations.
+ *
+ * @return the VCentersClient object.
+ */
+ public VCentersClient getVCenters() {
+ return this.vCenters;
+ }
+
+ /** The VirtualMachinesClient object to access its operations. */
+ private final VirtualMachinesClient virtualMachines;
+
+ /**
+ * Gets the VirtualMachinesClient object to access its operations.
+ *
+ * @return the VirtualMachinesClient object.
+ */
+ public VirtualMachinesClient getVirtualMachines() {
+ return this.virtualMachines;
+ }
+
+ /** The VirtualMachineTemplatesClient object to access its operations. */
+ private final VirtualMachineTemplatesClient virtualMachineTemplates;
+
+ /**
+ * Gets the VirtualMachineTemplatesClient object to access its operations.
+ *
+ * @return the VirtualMachineTemplatesClient object.
+ */
+ public VirtualMachineTemplatesClient getVirtualMachineTemplates() {
+ return this.virtualMachineTemplates;
+ }
+
+ /** The VirtualNetworksClient object to access its operations. */
+ private final VirtualNetworksClient virtualNetworks;
+
+ /**
+ * Gets the VirtualNetworksClient object to access its operations.
+ *
+ * @return the VirtualNetworksClient object.
+ */
+ public VirtualNetworksClient getVirtualNetworks() {
+ return this.virtualNetworks;
+ }
+
+ /** The InventoryItemsClient object to access its operations. */
+ private final InventoryItemsClient inventoryItems;
+
+ /**
+ * Gets the InventoryItemsClient object to access its operations.
+ *
+ * @return the InventoryItemsClient object.
+ */
+ public InventoryItemsClient getInventoryItems() {
+ return this.inventoryItems;
+ }
+
+ /** The HybridIdentityMetadatasClient object to access its operations. */
+ private final HybridIdentityMetadatasClient hybridIdentityMetadatas;
+
+ /**
+ * Gets the HybridIdentityMetadatasClient object to access its operations.
+ *
+ * @return the HybridIdentityMetadatasClient object.
+ */
+ public HybridIdentityMetadatasClient getHybridIdentityMetadatas() {
+ return this.hybridIdentityMetadatas;
+ }
+
+ /** The MachineExtensionsClient object to access its operations. */
+ private final MachineExtensionsClient machineExtensions;
+
+ /**
+ * Gets the MachineExtensionsClient object to access its operations.
+ *
+ * @return the MachineExtensionsClient object.
+ */
+ public MachineExtensionsClient getMachineExtensions() {
+ return this.machineExtensions;
+ }
+
+ /** The GuestAgentsClient object to access its operations. */
+ private final GuestAgentsClient guestAgents;
+
+ /**
+ * Gets the GuestAgentsClient object to access its operations.
+ *
+ * @return the GuestAgentsClient object.
+ */
+ public GuestAgentsClient getGuestAgents() {
+ return this.guestAgents;
+ }
+
+ /**
+ * Initializes an instance of ConnectedVMwareClient client.
+ *
+ * @param httpPipeline The HTTP pipeline to send requests through.
+ * @param serializerAdapter The serializer to serialize an object into a string.
+ * @param defaultPollInterval The default poll interval for long-running operation.
+ * @param environment The Azure environment.
+ * @param subscriptionId The Subscription ID.
+ * @param endpoint server parameter.
+ */
+ ConnectedVMwareClientImpl(
+ HttpPipeline httpPipeline,
+ SerializerAdapter serializerAdapter,
+ Duration defaultPollInterval,
+ AzureEnvironment environment,
+ String subscriptionId,
+ String endpoint) {
+ this.httpPipeline = httpPipeline;
+ this.serializerAdapter = serializerAdapter;
+ this.defaultPollInterval = defaultPollInterval;
+ this.subscriptionId = subscriptionId;
+ this.endpoint = endpoint;
+ this.apiVersion = "2020-10-01-preview";
+ this.operations = new OperationsClientImpl(this);
+ this.resourcePools = new ResourcePoolsClientImpl(this);
+ this.clusters = new ClustersClientImpl(this);
+ this.hosts = new HostsClientImpl(this);
+ this.datastores = new DatastoresClientImpl(this);
+ this.vCenters = new VCentersClientImpl(this);
+ this.virtualMachines = new VirtualMachinesClientImpl(this);
+ this.virtualMachineTemplates = new VirtualMachineTemplatesClientImpl(this);
+ this.virtualNetworks = new VirtualNetworksClientImpl(this);
+ this.inventoryItems = new InventoryItemsClientImpl(this);
+ this.hybridIdentityMetadatas = new HybridIdentityMetadatasClientImpl(this);
+ this.machineExtensions = new MachineExtensionsClientImpl(this);
+ this.guestAgents = new GuestAgentsClientImpl(this);
+ }
+
+ /**
+ * Gets default client context.
+ *
+ * @return the default client context.
+ */
+ public Context getContext() {
+ return Context.NONE;
+ }
+
+ /**
+ * Merges default client context with provided context.
+ *
+ * @param context the context to be merged with default client context.
+ * @return the merged context.
+ */
+ public Context mergeContext(Context context) {
+ for (Map.Entry