This setting has no effect, if retry policy is set via {@link #withRetryPolicy(RetryPolicy)}.
+ *
+ * @param retryOptions the retry options for the HTTP pipeline retry policy.
+ * @return the configurable object itself.
+ */
+ public Configurable withRetryOptions(RetryOptions retryOptions) {
+ this.retryOptions = Objects.requireNonNull(retryOptions, "'retryOptions' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Sets the default poll interval, used when service does not provide "Retry-After" header.
+ *
+ * @param defaultPollInterval the default poll interval.
+ * @return the configurable object itself.
+ */
+ public Configurable withDefaultPollInterval(Duration defaultPollInterval) {
+ this.defaultPollInterval =
+ Objects.requireNonNull(defaultPollInterval, "'defaultPollInterval' cannot be null.");
+ if (this.defaultPollInterval.isNegative()) {
+ throw LOGGER
+ .logExceptionAsError(new IllegalArgumentException("'defaultPollInterval' cannot be negative"));
+ }
+ return this;
+ }
+
+ /**
+ * Creates an instance of 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) {
+ if (retryOptions != null) {
+ retryPolicy = new RetryPolicy(retryOptions);
+ } else {
+ retryPolicy = new RetryPolicy("Retry-After", ChronoUnit.SECONDS);
+ }
+ }
+ List 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 the {@link SyncPoller} for polling of define the cluster.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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 the {@link SyncPoller} for polling of define the cluster.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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);
+
+ /**
+ * Implements cluster PUT method.
+ *
+ * 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);
+
+ /**
+ * Implements cluster PUT method.
+ *
+ * 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);
+
+ /**
+ * Gets a cluster.
+ *
+ * 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);
+
+ /**
+ * Gets a cluster.
+ *
+ * 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 along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response 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);
+
+ /**
+ * Updates a cluster.
+ *
+ * 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 along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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);
+
+ /**
+ * Deletes an cluster.
+ *
+ * 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);
+
+ /**
+ * Deletes an cluster.
+ *
+ * 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);
+
+ /**
+ * Implements GET clusters in a subscription.
+ *
+ * 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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 the {@link SyncPoller} for polling of define the datastore.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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 the {@link SyncPoller} for polling of define the datastore.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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);
+
+ /**
+ * Implements datastore PUT method.
+ *
+ * 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);
+
+ /**
+ * Implements datastore PUT method.
+ *
+ * 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);
+
+ /**
+ * Gets a datastore.
+ *
+ * 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);
+
+ /**
+ * Gets a datastore.
+ *
+ * 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 along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response 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);
+
+ /**
+ * Updates a datastore.
+ *
+ * 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 along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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);
+
+ /**
+ * Deletes an datastore.
+ *
+ * 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);
+
+ /**
+ * Deletes an datastore.
+ *
+ * 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);
+
+ /**
+ * Implements GET datastores in a subscription.
+ *
+ * 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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 the {@link SyncPoller} for polling of defines the GuestAgent.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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 the {@link SyncPoller} for polling of defines the GuestAgent.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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);
+
+ /**
+ * Implements GuestAgent PUT method.
+ *
+ * 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);
+
+ /**
+ * Implements GuestAgent PUT method.
+ *
+ * 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);
+
+ /**
+ * Gets GuestAgent.
+ *
+ * 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);
+
+ /**
+ * Gets GuestAgent.
+ *
+ * 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 along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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);
+
+ /**
+ * Deletes an GuestAgent.
+ *
+ * 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);
+
+ /**
+ * Implements GET GuestAgent in a vm.
+ *
+ * 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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 the {@link SyncPoller} for polling of define the host.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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 the {@link SyncPoller} for polling of define the host.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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);
+
+ /**
+ * Implements host PUT method.
+ *
+ * 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);
+
+ /**
+ * Implements host PUT method.
+ *
+ * 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);
+
+ /**
+ * Gets a host.
+ *
+ * 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);
+
+ /**
+ * Gets a host.
+ *
+ * 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 along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response 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);
+
+ /**
+ * Updates a host.
+ *
+ * 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 along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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);
+
+ /**
+ * Deletes an host.
+ *
+ * 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);
+
+ /**
+ * Deletes an host.
+ *
+ * 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);
+
+ /**
+ * Implements GET hosts in a subscription.
+ *
+ * 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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);
+
+ /**
+ * Implements HybridIdentityMetadata PUT method.
+ *
+ * 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 along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response 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);
+
+ /**
+ * Gets HybridIdentityMetadata.
+ *
+ * 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 along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response 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);
+
+ /**
+ * Deletes an HybridIdentityMetadata.
+ *
+ * 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 {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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);
+
+ /**
+ * Implements InventoryItem PUT method.
+ *
+ * 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 along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response 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);
+
+ /**
+ * Gets InventoryItem.
+ *
+ * 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 along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response 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);
+
+ /**
+ * Deletes an inventoryItem.
+ *
+ * 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 {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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 the {@link SyncPoller} for polling of define the resourcePool.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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 the {@link SyncPoller} for polling of define the resourcePool.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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);
+
+ /**
+ * Implements resourcePool PUT method.
+ *
+ * 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);
+
+ /**
+ * Implements resourcePool PUT method.
+ *
+ * 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);
+
+ /**
+ * Gets a resourcePool.
+ *
+ * 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);
+
+ /**
+ * Gets a resourcePool.
+ *
+ * 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 along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response 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);
+
+ /**
+ * Updates a resourcePool.
+ *
+ * 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 along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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);
+
+ /**
+ * Deletes an resourcePool.
+ *
+ * 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);
+
+ /**
+ * Deletes an resourcePool.
+ *
+ * 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);
+
+ /**
+ * Implements GET resourcePools in a subscription.
+ *
+ * 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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 the {@link SyncPoller} for polling of defines the vCenter.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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 the {@link SyncPoller} for polling of defines the vCenter.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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);
+
+ /**
+ * Implements vCenter PUT method.
+ *
+ * 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);
+
+ /**
+ * Implements vCenter PUT method.
+ *
+ * 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);
+
+ /**
+ * Gets a vCenter.
+ *
+ * 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);
+
+ /**
+ * Gets a vCenter.
+ *
+ * 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 along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response 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);
+
+ /**
+ * Updates a vCenter.
+ *
+ * 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 along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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);
+
+ /**
+ * Deletes an vCenter.
+ *
+ * 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);
+
+ /**
+ * Deletes an vCenter.
+ *
+ * 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);
+
+ /**
+ * Implements GET vCenters in a subscription.
+ *
+ * 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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 the {@link SyncPoller} for polling of define the virtualMachineTemplate.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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 the {@link SyncPoller} for polling of define the virtualMachineTemplate.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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);
+
+ /**
+ * Implements virtual machine template PUT method.
+ *
+ * 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);
+
+ /**
+ * Implements virtual machine template PUT method.
+ *
+ * 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);
+
+ /**
+ * Gets a virtual machine template.
+ *
+ * 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);
+
+ /**
+ * Gets a virtual machine template.
+ *
+ * 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 along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response 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);
+
+ /**
+ * Updates a virtual machine template.
+ *
+ * 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 along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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);
+
+ /**
+ * Deletes an virtual machine template.
+ *
+ * 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);
+
+ /**
+ * Deletes an virtual machine template.
+ *
+ * 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);
+
+ /**
+ * Implements GET virtualMachineTemplates in a subscription.
+ *
+ * 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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 the {@link SyncPoller} for polling of define the virtualMachine.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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 the {@link SyncPoller} for polling of define the virtualMachine.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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);
+
+ /**
+ * Implements virtual machine PUT method.
+ *
+ * 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);
+
+ /**
+ * Implements virtual machine PUT method.
+ *
+ * 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);
+
+ /**
+ * Gets a virtual machine.
+ *
+ * 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);
+
+ /**
+ * Gets a virtual machine.
+ *
+ * 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 along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response 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 the {@link SyncPoller} for polling of define the virtualMachine.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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 the {@link SyncPoller} for polling of define the virtualMachine.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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);
+
+ /**
+ * Updates a virtual machine.
+ *
+ * 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);
+
+ /**
+ * Updates a virtual machine.
+ *
+ * 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);
+
+ /**
+ * Deletes an virtual machine.
+ *
+ * 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 retain Whether to just disable the VM from azure and retain the VM in the VMM.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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 retain Whether to just disable the VM from azure and retain the VM in the VMM.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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 retain Whether to just disable the VM from azure and retain the VM in the VMM.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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, Boolean retain);
+
+ /**
+ * Deletes an virtual machine.
+ *
+ * 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);
+
+ /**
+ * Deletes an virtual machine.
+ *
+ * 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 retain Whether to just disable the VM from azure and retain the VM in the VMM.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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, Boolean retain, Context context);
+
+ /**
+ * Implements the operation to stop a virtual machine.
+ *
+ * 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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);
+
+ /**
+ * Implements the operation to stop a virtual machine.
+ *
+ * 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);
+
+ /**
+ * Implements the operation to stop a virtual machine.
+ *
+ * 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);
+
+ /**
+ * Implements the operation to start a virtual machine.
+ *
+ * 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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);
+
+ /**
+ * Implements the operation to start a virtual machine.
+ *
+ * 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);
+
+ /**
+ * Implements the operation to restart a virtual machine.
+ *
+ * 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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);
+
+ /**
+ * Implements the operation to restart a virtual machine.
+ *
+ * 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);
+
+ /**
+ * Implements GET virtualMachines in a subscription.
+ *
+ * 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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 the {@link SyncPoller} for polling of define the virtualNetwork.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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 the {@link SyncPoller} for polling of define the virtualNetwork.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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);
+
+ /**
+ * Implements virtual network PUT method.
+ *
+ * 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);
+
+ /**
+ * Implements virtual network PUT method.
+ *
+ * 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);
+
+ /**
+ * Gets a virtual network.
+ *
+ * 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);
+
+ /**
+ * Gets a virtual network.
+ *
+ * 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 along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response 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);
+
+ /**
+ * Updates a virtual network.
+ *
+ * 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 along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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);
+
+ /**
+ * Deletes an virtual network.
+ *
+ * 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);
+
+ /**
+ * Deletes an virtual network.
+ *
+ * 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);
+
+ /**
+ * Implements GET virtualNetworks in a subscription.
+ *
+ * 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable