diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/pom.xml b/vmwarecloudsimple/resource-manager/v2019_04_01/pom.xml
new file mode 100644
index 0000000000000..6759fe08206d7
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/pom.xml
@@ -0,0 +1,133 @@
+
+
+ 4.0.0
+ com.microsoft.azure.vmwarecloudsimple.v2019_04_01
+
+ com.microsoft.azure
+ azure-arm-parent
+ 0.0.3-beta
+ ../../../pom.xml
+
+ azure-mgmt-vmwarecloudsimple
+ 1.0.0-beta
+ jar
+ Microsoft Azure SDK for VMwareCloudSimple Management
+ This package contains Microsoft VMwareCloudSimple Management SDK.
+ https://github.com/Azure/azure-sdk-for-java
+
+
+ The MIT License (MIT)
+ http://opensource.org/licenses/MIT
+ repo
+
+
+
+ scm:git:https://github.com/Azure/azure-sdk-for-java
+ scm:git:git@github.com:Azure/azure-sdk-for-java.git
+ HEAD
+
+
+ UTF-8
+
+
+
+
+ microsoft
+ Microsoft
+
+
+
+
+ com.microsoft.azure
+ azure-client-runtime
+
+
+ com.microsoft.azure
+ azure-arm-client-runtime
+
+
+ junit
+ junit
+ test
+
+
+ com.microsoft.azure
+ azure-client-authentication
+ test
+
+
+ com.microsoft.azure
+ azure-mgmt-resources
+ test
+
+
+ com.microsoft.azure
+ azure-arm-client-runtime
+ test-jar
+ test
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+
+ true
+ true
+
+
+
+
+
+ org.codehaus.mojo
+ build-helper-maven-plugin
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.1
+
+
+ 1.7
+
+
+ com.microsoft.azure.management.apigeneration.LangDefinitionProcessor
+
+
+ true
+ true
+
+ true
+ true
+
+
+
+
+ org.apache.maven.plugins
+ maven-javadoc-plugin
+ 2.8
+
+ *.implementation.*;*.utils.*;com.microsoft.schemas._2003._10.serialization;*.blob.core.search
+
+
+ /**
+
* Copyright (c) Microsoft Corporation. All rights reserved.
+
* Licensed under the MIT License. See License.txt in the project root for
+
* license information.
+
*/
+ ]]>
+
+
+
+
+
+
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/AggregationType.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/AggregationType.java
new file mode 100644
index 0000000000000..36e7760bed823
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/AggregationType.java
@@ -0,0 +1,53 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for AggregationType.
+ */
+public enum AggregationType {
+ /** Enum value Average. */
+ AVERAGE("Average"),
+
+ /** Enum value Total. */
+ TOTAL("Total");
+
+ /** The actual serialized value for a AggregationType instance. */
+ private String value;
+
+ AggregationType(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a AggregationType instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed AggregationType object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static AggregationType fromString(String value) {
+ AggregationType[] items = AggregationType.values();
+ for (AggregationType item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/AvailableOperation.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/AvailableOperation.java
new file mode 100644
index 0000000000000..6695c1912ab68
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/AvailableOperation.java
@@ -0,0 +1,45 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.implementation.VMwareCloudSimpleManager;
+import com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.implementation.AvailableOperationInner;
+
+/**
+ * Type representing AvailableOperation.
+ */
+public interface AvailableOperation extends HasInner, HasManager {
+ /**
+ * @return the display value.
+ */
+ AvailableOperationDisplay display();
+
+ /**
+ * @return the isDataAction value.
+ */
+ Boolean isDataAction();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the origin value.
+ */
+ OperationOrigin origin();
+
+ /**
+ * @return the serviceSpecification value.
+ */
+ AvailableOperationDisplayPropertyServiceSpecificationMetricsList serviceSpecification();
+
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/AvailableOperationDisplay.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/AvailableOperationDisplay.java
new file mode 100644
index 0000000000000..5e42f8d1444bb
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/AvailableOperationDisplay.java
@@ -0,0 +1,121 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Resource provider available operation display model.
+ */
+public class AvailableOperationDisplay {
+ /**
+ * Description of the operation for display purposes.
+ */
+ @JsonProperty(value = "description")
+ private String description;
+
+ /**
+ * Name of the operation for display purposes.
+ */
+ @JsonProperty(value = "operation")
+ private String operation;
+
+ /**
+ * Name of the provider for display purposes.
+ */
+ @JsonProperty(value = "provider")
+ private String provider;
+
+ /**
+ * Name of the resource type for display purposes.
+ */
+ @JsonProperty(value = "resource")
+ private String resource;
+
+ /**
+ * Get description of the operation for display purposes.
+ *
+ * @return the description value
+ */
+ public String description() {
+ return this.description;
+ }
+
+ /**
+ * Set description of the operation for display purposes.
+ *
+ * @param description the description value to set
+ * @return the AvailableOperationDisplay object itself.
+ */
+ public AvailableOperationDisplay withDescription(String description) {
+ this.description = description;
+ return this;
+ }
+
+ /**
+ * Get name of the operation for display purposes.
+ *
+ * @return the operation value
+ */
+ public String operation() {
+ return this.operation;
+ }
+
+ /**
+ * Set name of the operation for display purposes.
+ *
+ * @param operation the operation value to set
+ * @return the AvailableOperationDisplay object itself.
+ */
+ public AvailableOperationDisplay withOperation(String operation) {
+ this.operation = operation;
+ return this;
+ }
+
+ /**
+ * Get name of the provider for display purposes.
+ *
+ * @return the provider value
+ */
+ public String provider() {
+ return this.provider;
+ }
+
+ /**
+ * Set name of the provider for display purposes.
+ *
+ * @param provider the provider value to set
+ * @return the AvailableOperationDisplay object itself.
+ */
+ public AvailableOperationDisplay withProvider(String provider) {
+ this.provider = provider;
+ return this;
+ }
+
+ /**
+ * Get name of the resource type for display purposes.
+ *
+ * @return the resource value
+ */
+ public String resource() {
+ return this.resource;
+ }
+
+ /**
+ * Set name of the resource type for display purposes.
+ *
+ * @param resource the resource value to set
+ * @return the AvailableOperationDisplay object itself.
+ */
+ public AvailableOperationDisplay withResource(String resource) {
+ this.resource = resource;
+ return this;
+ }
+
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/AvailableOperationDisplayPropertyServiceSpecificationMetricsItem.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/AvailableOperationDisplayPropertyServiceSpecificationMetricsItem.java
new file mode 100644
index 0000000000000..3a6ef68cff800
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/AvailableOperationDisplayPropertyServiceSpecificationMetricsItem.java
@@ -0,0 +1,148 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Available operation display property service specification metrics item.
+ */
+public class AvailableOperationDisplayPropertyServiceSpecificationMetricsItem {
+ /**
+ * Metric's aggregation type for e.g. (Average, Total). Possible values
+ * include: 'Average', 'Total'.
+ */
+ @JsonProperty(value = "aggregationType", required = true)
+ private AggregationType aggregationType;
+
+ /**
+ * Metric's description.
+ */
+ @JsonProperty(value = "displayDescription", required = true)
+ private String displayDescription;
+
+ /**
+ * Human readable metric's name.
+ */
+ @JsonProperty(value = "displayName", required = true)
+ private String displayName;
+
+ /**
+ * Metric's name/id.
+ */
+ @JsonProperty(value = "name", required = true)
+ private String name;
+
+ /**
+ * Metric's unit.
+ */
+ @JsonProperty(value = "unit", required = true)
+ private String unit;
+
+ /**
+ * Get metric's aggregation type for e.g. (Average, Total). Possible values include: 'Average', 'Total'.
+ *
+ * @return the aggregationType value
+ */
+ public AggregationType aggregationType() {
+ return this.aggregationType;
+ }
+
+ /**
+ * Set metric's aggregation type for e.g. (Average, Total). Possible values include: 'Average', 'Total'.
+ *
+ * @param aggregationType the aggregationType value to set
+ * @return the AvailableOperationDisplayPropertyServiceSpecificationMetricsItem object itself.
+ */
+ public AvailableOperationDisplayPropertyServiceSpecificationMetricsItem withAggregationType(AggregationType aggregationType) {
+ this.aggregationType = aggregationType;
+ return this;
+ }
+
+ /**
+ * Get metric's description.
+ *
+ * @return the displayDescription value
+ */
+ public String displayDescription() {
+ return this.displayDescription;
+ }
+
+ /**
+ * Set metric's description.
+ *
+ * @param displayDescription the displayDescription value to set
+ * @return the AvailableOperationDisplayPropertyServiceSpecificationMetricsItem object itself.
+ */
+ public AvailableOperationDisplayPropertyServiceSpecificationMetricsItem withDisplayDescription(String displayDescription) {
+ this.displayDescription = displayDescription;
+ return this;
+ }
+
+ /**
+ * Get human readable metric's name.
+ *
+ * @return the displayName value
+ */
+ public String displayName() {
+ return this.displayName;
+ }
+
+ /**
+ * Set human readable metric's name.
+ *
+ * @param displayName the displayName value to set
+ * @return the AvailableOperationDisplayPropertyServiceSpecificationMetricsItem object itself.
+ */
+ public AvailableOperationDisplayPropertyServiceSpecificationMetricsItem withDisplayName(String displayName) {
+ this.displayName = displayName;
+ return this;
+ }
+
+ /**
+ * Get metric's name/id.
+ *
+ * @return the name value
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set metric's name/id.
+ *
+ * @param name the name value to set
+ * @return the AvailableOperationDisplayPropertyServiceSpecificationMetricsItem object itself.
+ */
+ public AvailableOperationDisplayPropertyServiceSpecificationMetricsItem withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get metric's unit.
+ *
+ * @return the unit value
+ */
+ public String unit() {
+ return this.unit;
+ }
+
+ /**
+ * Set metric's unit.
+ *
+ * @param unit the unit value to set
+ * @return the AvailableOperationDisplayPropertyServiceSpecificationMetricsItem object itself.
+ */
+ public AvailableOperationDisplayPropertyServiceSpecificationMetricsItem withUnit(String unit) {
+ this.unit = unit;
+ return this;
+ }
+
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/AvailableOperationDisplayPropertyServiceSpecificationMetricsList.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/AvailableOperationDisplayPropertyServiceSpecificationMetricsList.java
new file mode 100644
index 0000000000000..4d71614f22551
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/AvailableOperationDisplayPropertyServiceSpecificationMetricsList.java
@@ -0,0 +1,44 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * List of available operation display property service specification metrics.
+ */
+public class AvailableOperationDisplayPropertyServiceSpecificationMetricsList {
+ /**
+ * Metric specifications of operation.
+ */
+ @JsonProperty(value = "metricSpecifications")
+ private List metricSpecifications;
+
+ /**
+ * Get metric specifications of operation.
+ *
+ * @return the metricSpecifications value
+ */
+ public List metricSpecifications() {
+ return this.metricSpecifications;
+ }
+
+ /**
+ * Set metric specifications of operation.
+ *
+ * @param metricSpecifications the metricSpecifications value to set
+ * @return the AvailableOperationDisplayPropertyServiceSpecificationMetricsList object itself.
+ */
+ public AvailableOperationDisplayPropertyServiceSpecificationMetricsList withMetricSpecifications(List metricSpecifications) {
+ this.metricSpecifications = metricSpecifications;
+ return this;
+ }
+
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/AvailableOperations.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/AvailableOperations.java
new file mode 100644
index 0000000000000..b2f5e8df2bea4
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/AvailableOperations.java
@@ -0,0 +1,28 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01;
+
+import rx.Observable;
+import com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.implementation.AvailableOperationsInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing AvailableOperations.
+ */
+public interface AvailableOperations extends HasInner {
+ /**
+ * Implements list of available operations.
+ * Return list of operations.
+ *
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listAsync();
+
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/CSRPError.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/CSRPError.java
new file mode 100644
index 0000000000000..f386a1e8db3ff
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/CSRPError.java
@@ -0,0 +1,43 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * General error model.
+ */
+public class CSRPError {
+ /**
+ * Error's body.
+ */
+ @JsonProperty(value = "error")
+ private CSRPErrorBody error;
+
+ /**
+ * Get error's body.
+ *
+ * @return the error value
+ */
+ public CSRPErrorBody error() {
+ return this.error;
+ }
+
+ /**
+ * Set error's body.
+ *
+ * @param error the error value to set
+ * @return the CSRPError object itself.
+ */
+ public CSRPError withError(CSRPErrorBody error) {
+ this.error = error;
+ return this;
+ }
+
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/CSRPErrorBody.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/CSRPErrorBody.java
new file mode 100644
index 0000000000000..9b5d8e5154774
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/CSRPErrorBody.java
@@ -0,0 +1,89 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Error properties.
+ */
+public class CSRPErrorBody {
+ /**
+ * Error's code.
+ */
+ @JsonProperty(value = "code", access = JsonProperty.Access.WRITE_ONLY)
+ private String code;
+
+ /**
+ * Error's details.
+ */
+ @JsonProperty(value = "details", access = JsonProperty.Access.WRITE_ONLY)
+ private List details;
+
+ /**
+ * Error's message.
+ */
+ @JsonProperty(value = "message", access = JsonProperty.Access.WRITE_ONLY)
+ private String message;
+
+ /**
+ * Error's target.
+ */
+ @JsonProperty(value = "target")
+ private String target;
+
+ /**
+ * Get error's code.
+ *
+ * @return the code value
+ */
+ public String code() {
+ return this.code;
+ }
+
+ /**
+ * Get error's details.
+ *
+ * @return the details value
+ */
+ public List details() {
+ return this.details;
+ }
+
+ /**
+ * Get error's message.
+ *
+ * @return the message value
+ */
+ public String message() {
+ return this.message;
+ }
+
+ /**
+ * Get error's target.
+ *
+ * @return the target value
+ */
+ public String target() {
+ return this.target;
+ }
+
+ /**
+ * Set error's target.
+ *
+ * @param target the target value to set
+ * @return the CSRPErrorBody object itself.
+ */
+ public CSRPErrorBody withTarget(String target) {
+ this.target = target;
+ return this;
+ }
+
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/CSRPErrorException.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/CSRPErrorException.java
new file mode 100644
index 0000000000000..bccbd4a8d2a64
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/CSRPErrorException.java
@@ -0,0 +1,44 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01;
+
+import com.microsoft.rest.RestException;
+import okhttp3.ResponseBody;
+import retrofit2.Response;
+
+/**
+ * Exception thrown for an invalid response with CSRPError information.
+ */
+public class CSRPErrorException extends RestException {
+ /**
+ * Initializes a new instance of the CSRPErrorException class.
+ *
+ * @param message the exception message or the response content if a message is not available
+ * @param response the HTTP response
+ */
+ public CSRPErrorException(final String message, final Response response) {
+ super(message, response);
+ }
+
+ /**
+ * Initializes a new instance of the CSRPErrorException class.
+ *
+ * @param message the exception message or the response content if a message is not available
+ * @param response the HTTP response
+ * @param body the deserialized response body
+ */
+ public CSRPErrorException(final String message, final Response response, final CSRPError body) {
+ super(message, response, body);
+ }
+
+ @Override
+ public CSRPError body() {
+ return (CSRPError) super.body();
+ }
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/DedicatedCloudNode.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/DedicatedCloudNode.java
new file mode 100644
index 0000000000000..5a87df1f9cddc
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/DedicatedCloudNode.java
@@ -0,0 +1,245 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.Resource;
+import com.microsoft.azure.arm.resources.models.GroupableResourceCore;
+import com.microsoft.azure.arm.resources.models.HasResourceGroup;
+import com.microsoft.azure.arm.model.Refreshable;
+import com.microsoft.azure.arm.model.Updatable;
+import com.microsoft.azure.arm.model.Appliable;
+import com.microsoft.azure.arm.model.Creatable;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.implementation.VMwareCloudSimpleManager;
+import java.util.UUID;
+import com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.implementation.DedicatedCloudNodeInner;
+
+/**
+ * Type representing DedicatedCloudNode.
+ */
+public interface DedicatedCloudNode extends HasInner, Resource, GroupableResourceCore, HasResourceGroup, Refreshable, Updatable, HasManager {
+ /**
+ * @return the availabilityZoneId value.
+ */
+ String availabilityZoneId();
+
+ /**
+ * @return the availabilityZoneName value.
+ */
+ String availabilityZoneName();
+
+ /**
+ * @return the cloudRackName value.
+ */
+ String cloudRackName();
+
+ /**
+ * @return the created value.
+ */
+ Object created();
+
+ /**
+ * @return the id1 value.
+ */
+ String id1();
+
+ /**
+ * @return the name1 value.
+ */
+ String name1();
+
+ /**
+ * @return the nodesCount value.
+ */
+ int nodesCount();
+
+ /**
+ * @return the placementGroupId value.
+ */
+ String placementGroupId();
+
+ /**
+ * @return the placementGroupName value.
+ */
+ String placementGroupName();
+
+ /**
+ * @return the privateCloudId value.
+ */
+ String privateCloudId();
+
+ /**
+ * @return the privateCloudName value.
+ */
+ String privateCloudName();
+
+ /**
+ * @return the provisioningState value.
+ */
+ String provisioningState();
+
+ /**
+ * @return the purchaseId value.
+ */
+ UUID purchaseId();
+
+ /**
+ * @return the sku value.
+ */
+ Sku sku();
+
+ /**
+ * @return the status value.
+ */
+ NodeStatus status();
+
+ /**
+ * @return the vmwareClusterName value.
+ */
+ String vmwareClusterName();
+
+ /**
+ * The entirety of the DedicatedCloudNode definition.
+ */
+ interface Definition extends DefinitionStages.Blank, DefinitionStages.WithGroup, DefinitionStages.WithAvailabilityZoneId, DefinitionStages.WithId1, DefinitionStages.WithName1, DefinitionStages.WithNodesCount, DefinitionStages.WithPlacementGroupId, DefinitionStages.WithPurchaseId, DefinitionStages.WithCreate {
+ }
+
+ /**
+ * Grouping of DedicatedCloudNode definition stages.
+ */
+ interface DefinitionStages {
+ /**
+ * The first stage of a DedicatedCloudNode definition.
+ */
+ interface Blank extends GroupableResourceCore.DefinitionWithRegion {
+ }
+
+ /**
+ * The stage of the DedicatedCloudNode definition allowing to specify the resource group.
+ */
+ interface WithGroup extends GroupableResourceCore.DefinitionStages.WithGroup {
+ }
+
+ /**
+ * The stage of the dedicatedcloudnode definition allowing to specify AvailabilityZoneId.
+ */
+ interface WithAvailabilityZoneId {
+ /**
+ * Specifies availabilityZoneId.
+ * @param availabilityZoneId Availability Zone id, e.g. "az1"
+ * @return the next definition stage
+*/
+ WithId1 withAvailabilityZoneId(String availabilityZoneId);
+ }
+
+ /**
+ * The stage of the dedicatedcloudnode definition allowing to specify Id1.
+ */
+ interface WithId1 {
+ /**
+ * Specifies id1.
+ * @param id1 SKU's id
+ * @return the next definition stage
+*/
+ WithName1 withId1(String id1);
+ }
+
+ /**
+ * The stage of the dedicatedcloudnode definition allowing to specify Name1.
+ */
+ interface WithName1 {
+ /**
+ * Specifies name1.
+ * @param name1 SKU's name
+ * @return the next definition stage
+*/
+ WithNodesCount withName1(String name1);
+ }
+
+ /**
+ * The stage of the dedicatedcloudnode definition allowing to specify NodesCount.
+ */
+ interface WithNodesCount {
+ /**
+ * Specifies nodesCount.
+ * @param nodesCount count of nodes to create
+ * @return the next definition stage
+*/
+ WithPlacementGroupId withNodesCount(int nodesCount);
+ }
+
+ /**
+ * The stage of the dedicatedcloudnode definition allowing to specify PlacementGroupId.
+ */
+ interface WithPlacementGroupId {
+ /**
+ * Specifies placementGroupId.
+ * @param placementGroupId Placement Group id, e.g. "n1"
+ * @return the next definition stage
+*/
+ WithPurchaseId withPlacementGroupId(String placementGroupId);
+ }
+
+ /**
+ * The stage of the dedicatedcloudnode definition allowing to specify PurchaseId.
+ */
+ interface WithPurchaseId {
+ /**
+ * Specifies purchaseId.
+ * @param purchaseId purchase id
+ * @return the next definition stage
+*/
+ WithCreate withPurchaseId(UUID purchaseId);
+ }
+
+ /**
+ * The stage of the dedicatedcloudnode definition allowing to specify Sku.
+ */
+ interface WithSku {
+ /**
+ * Specifies sku.
+ * @param sku Dedicated Cloud Nodes SKU
+ * @return the next definition stage
+ */
+ WithCreate withSku(Sku sku);
+ }
+
+ /**
+ * The stage of the definition which contains all the minimum required inputs for
+ * the resource to be created (via {@link WithCreate#create()}), but also allows
+ * for any other optional settings to be specified.
+ */
+ interface WithCreate extends Creatable, Resource.DefinitionWithTags, DefinitionStages.WithSku {
+ }
+ }
+ /**
+ * The template for a DedicatedCloudNode update operation, containing all the settings that can be modified.
+ */
+ interface Update extends Appliable, Resource.UpdateWithTags, UpdateStages.WithSku {
+ }
+
+ /**
+ * Grouping of DedicatedCloudNode update stages.
+ */
+ interface UpdateStages {
+ /**
+ * The stage of the dedicatedcloudnode update allowing to specify Sku.
+ */
+ interface WithSku {
+ /**
+ * Specifies sku.
+ * @param sku Dedicated Cloud Nodes SKU
+ * @return the next update stage
+ */
+ Update withSku(Sku sku);
+ }
+
+ }
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/DedicatedCloudNodeCreateOrUpdateHeaders.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/DedicatedCloudNodeCreateOrUpdateHeaders.java
new file mode 100644
index 0000000000000..0bbc82ea0c101
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/DedicatedCloudNodeCreateOrUpdateHeaders.java
@@ -0,0 +1,95 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Defines headers for CreateOrUpdate operation.
+ */
+public class DedicatedCloudNodeCreateOrUpdateHeaders {
+ /**
+ * The azureAsyncOperation property.
+ */
+ @JsonProperty(value = "Azure-AsyncOperation")
+ private String azureAsyncOperation;
+
+ /**
+ * The location property.
+ */
+ @JsonProperty(value = "Location")
+ private String location;
+
+ /**
+ * The retryAfter property.
+ */
+ @JsonProperty(value = "Retry-After")
+ private Integer retryAfter;
+
+ /**
+ * Get the azureAsyncOperation value.
+ *
+ * @return the azureAsyncOperation value
+ */
+ public String azureAsyncOperation() {
+ return this.azureAsyncOperation;
+ }
+
+ /**
+ * Set the azureAsyncOperation value.
+ *
+ * @param azureAsyncOperation the azureAsyncOperation value to set
+ * @return the DedicatedCloudNodeCreateOrUpdateHeaders object itself.
+ */
+ public DedicatedCloudNodeCreateOrUpdateHeaders withAzureAsyncOperation(String azureAsyncOperation) {
+ this.azureAsyncOperation = azureAsyncOperation;
+ return this;
+ }
+
+ /**
+ * Get the location value.
+ *
+ * @return the location value
+ */
+ public String location() {
+ return this.location;
+ }
+
+ /**
+ * Set the location value.
+ *
+ * @param location the location value to set
+ * @return the DedicatedCloudNodeCreateOrUpdateHeaders object itself.
+ */
+ public DedicatedCloudNodeCreateOrUpdateHeaders withLocation(String location) {
+ this.location = location;
+ return this;
+ }
+
+ /**
+ * Get the retryAfter value.
+ *
+ * @return the retryAfter value
+ */
+ public Integer retryAfter() {
+ return this.retryAfter;
+ }
+
+ /**
+ * Set the retryAfter value.
+ *
+ * @param retryAfter the retryAfter value to set
+ * @return the DedicatedCloudNodeCreateOrUpdateHeaders object itself.
+ */
+ public DedicatedCloudNodeCreateOrUpdateHeaders withRetryAfter(Integer retryAfter) {
+ this.retryAfter = retryAfter;
+ return this;
+ }
+
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/DedicatedCloudNodeDeleteHeaders.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/DedicatedCloudNodeDeleteHeaders.java
new file mode 100644
index 0000000000000..e494efdd66e3e
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/DedicatedCloudNodeDeleteHeaders.java
@@ -0,0 +1,43 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Defines headers for Delete operation.
+ */
+public class DedicatedCloudNodeDeleteHeaders {
+ /**
+ * The contentType property.
+ */
+ @JsonProperty(value = "Content-Type")
+ private String contentType;
+
+ /**
+ * Get the contentType value.
+ *
+ * @return the contentType value
+ */
+ public String contentType() {
+ return this.contentType;
+ }
+
+ /**
+ * Set the contentType value.
+ *
+ * @param contentType the contentType value to set
+ * @return the DedicatedCloudNodeDeleteHeaders object itself.
+ */
+ public DedicatedCloudNodeDeleteHeaders withContentType(String contentType) {
+ this.contentType = contentType;
+ return this;
+ }
+
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/DedicatedCloudNodes.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/DedicatedCloudNodes.java
new file mode 100644
index 0000000000000..4d5e642d1945c
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/DedicatedCloudNodes.java
@@ -0,0 +1,25 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01;
+
+import com.microsoft.azure.arm.collection.SupportsCreating;
+import com.microsoft.azure.arm.resources.collection.SupportsDeletingByResourceGroup;
+import com.microsoft.azure.arm.resources.collection.SupportsBatchDeletion;
+import com.microsoft.azure.arm.resources.collection.SupportsGettingByResourceGroup;
+import rx.Observable;
+import com.microsoft.azure.arm.resources.collection.SupportsListingByResourceGroup;
+import com.microsoft.azure.arm.collection.SupportsListing;
+import com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.implementation.DedicatedCloudNodesInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing DedicatedCloudNodes.
+ */
+public interface DedicatedCloudNodes extends SupportsCreating, SupportsDeletingByResourceGroup, SupportsBatchDeletion, SupportsGettingByResourceGroup, SupportsListingByResourceGroup, SupportsListing, HasInner {
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/DedicatedCloudService.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/DedicatedCloudService.java
new file mode 100644
index 0000000000000..fa455685ccaca
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/DedicatedCloudService.java
@@ -0,0 +1,148 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.Resource;
+import com.microsoft.azure.arm.resources.models.GroupableResourceCore;
+import com.microsoft.azure.arm.resources.models.HasResourceGroup;
+import com.microsoft.azure.arm.model.Refreshable;
+import com.microsoft.azure.arm.model.Updatable;
+import com.microsoft.azure.arm.model.Appliable;
+import com.microsoft.azure.arm.model.Creatable;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.implementation.VMwareCloudSimpleManager;
+import com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.implementation.DedicatedCloudServiceInner;
+
+/**
+ * Type representing DedicatedCloudService.
+ */
+public interface DedicatedCloudService extends HasInner, Resource, GroupableResourceCore, HasResourceGroup, Refreshable, Updatable, HasManager {
+ /**
+ * @return the gatewaySubnet value.
+ */
+ String gatewaySubnet();
+
+ /**
+ * @return the isAccountOnboarded value.
+ */
+ OnboardingStatus isAccountOnboarded();
+
+ /**
+ * @return the nodes value.
+ */
+ Integer nodes();
+
+ /**
+ * @return the serviceURL value.
+ */
+ String serviceURL();
+
+ /**
+ * The entirety of the DedicatedCloudService definition.
+ */
+ interface Definition extends DefinitionStages.Blank, DefinitionStages.WithGroup, DefinitionStages.WithGatewaySubnet, DefinitionStages.WithCreate {
+ }
+
+ /**
+ * Grouping of DedicatedCloudService definition stages.
+ */
+ interface DefinitionStages {
+ /**
+ * The first stage of a DedicatedCloudService definition.
+ */
+ interface Blank extends GroupableResourceCore.DefinitionWithRegion {
+ }
+
+ /**
+ * The stage of the DedicatedCloudService definition allowing to specify the resource group.
+ */
+ interface WithGroup extends GroupableResourceCore.DefinitionStages.WithGroup {
+ }
+
+ /**
+ * The stage of the dedicatedcloudservice definition allowing to specify GatewaySubnet.
+ */
+ interface WithGatewaySubnet {
+ /**
+ * Specifies gatewaySubnet.
+ * @param gatewaySubnet gateway Subnet for the account. It will collect the subnet address and always treat it as /28
+ * @return the next definition stage
+*/
+ WithCreate withGatewaySubnet(String gatewaySubnet);
+ }
+
+ /**
+ * The stage of the dedicatedcloudservice definition allowing to specify Nodes.
+ */
+ interface WithNodes {
+ /**
+ * Specifies nodes.
+ * @param nodes total nodes purchased
+ * @return the next definition stage
+ */
+ WithCreate withNodes(Integer nodes);
+ }
+
+ /**
+ * The stage of the dedicatedcloudservice definition allowing to specify ServiceURL.
+ */
+ interface WithServiceURL {
+ /**
+ * Specifies serviceURL.
+ * @param serviceURL link to a service management web portal
+ * @return the next definition stage
+ */
+ WithCreate withServiceURL(String serviceURL);
+ }
+
+ /**
+ * The stage of the definition which contains all the minimum required inputs for
+ * the resource to be created (via {@link WithCreate#create()}), but also allows
+ * for any other optional settings to be specified.
+ */
+ interface WithCreate extends Creatable, Resource.DefinitionWithTags, DefinitionStages.WithNodes, DefinitionStages.WithServiceURL {
+ }
+ }
+ /**
+ * The template for a DedicatedCloudService update operation, containing all the settings that can be modified.
+ */
+ interface Update extends Appliable, Resource.UpdateWithTags, UpdateStages.WithNodes, UpdateStages.WithServiceURL {
+ }
+
+ /**
+ * Grouping of DedicatedCloudService update stages.
+ */
+ interface UpdateStages {
+ /**
+ * The stage of the dedicatedcloudservice update allowing to specify Nodes.
+ */
+ interface WithNodes {
+ /**
+ * Specifies nodes.
+ * @param nodes total nodes purchased
+ * @return the next update stage
+ */
+ Update withNodes(Integer nodes);
+ }
+
+ /**
+ * The stage of the dedicatedcloudservice update allowing to specify ServiceURL.
+ */
+ interface WithServiceURL {
+ /**
+ * Specifies serviceURL.
+ * @param serviceURL link to a service management web portal
+ * @return the next update stage
+ */
+ Update withServiceURL(String serviceURL);
+ }
+
+ }
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/DedicatedCloudServiceDeleteHeaders.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/DedicatedCloudServiceDeleteHeaders.java
new file mode 100644
index 0000000000000..965452cdd0268
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/DedicatedCloudServiceDeleteHeaders.java
@@ -0,0 +1,43 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Defines headers for Delete operation.
+ */
+public class DedicatedCloudServiceDeleteHeaders {
+ /**
+ * The contentType property.
+ */
+ @JsonProperty(value = "Content-Type")
+ private String contentType;
+
+ /**
+ * Get the contentType value.
+ *
+ * @return the contentType value
+ */
+ public String contentType() {
+ return this.contentType;
+ }
+
+ /**
+ * Set the contentType value.
+ *
+ * @param contentType the contentType value to set
+ * @return the DedicatedCloudServiceDeleteHeaders object itself.
+ */
+ public DedicatedCloudServiceDeleteHeaders withContentType(String contentType) {
+ this.contentType = contentType;
+ return this;
+ }
+
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/DedicatedCloudServices.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/DedicatedCloudServices.java
new file mode 100644
index 0000000000000..edb7c5b3c8960
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/DedicatedCloudServices.java
@@ -0,0 +1,25 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01;
+
+import com.microsoft.azure.arm.collection.SupportsCreating;
+import com.microsoft.azure.arm.resources.collection.SupportsDeletingByResourceGroup;
+import com.microsoft.azure.arm.resources.collection.SupportsBatchDeletion;
+import com.microsoft.azure.arm.resources.collection.SupportsGettingByResourceGroup;
+import rx.Observable;
+import com.microsoft.azure.arm.resources.collection.SupportsListingByResourceGroup;
+import com.microsoft.azure.arm.collection.SupportsListing;
+import com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.implementation.DedicatedCloudServicesInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing DedicatedCloudServices.
+ */
+public interface DedicatedCloudServices extends SupportsCreating, SupportsDeletingByResourceGroup, SupportsBatchDeletion, SupportsGettingByResourceGroup, SupportsListingByResourceGroup, SupportsListing, HasInner {
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/DiskIndependenceMode.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/DiskIndependenceMode.java
new file mode 100644
index 0000000000000..a8cb3d854c03b
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/DiskIndependenceMode.java
@@ -0,0 +1,56 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for DiskIndependenceMode.
+ */
+public enum DiskIndependenceMode {
+ /** Enum value persistent. */
+ PERSISTENT("persistent"),
+
+ /** Enum value independent_persistent. */
+ INDEPENDENT_PERSISTENT("independent_persistent"),
+
+ /** Enum value independent_nonpersistent. */
+ INDEPENDENT_NONPERSISTENT("independent_nonpersistent");
+
+ /** The actual serialized value for a DiskIndependenceMode instance. */
+ private String value;
+
+ DiskIndependenceMode(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a DiskIndependenceMode instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed DiskIndependenceMode object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static DiskIndependenceMode fromString(String value) {
+ DiskIndependenceMode[] items = DiskIndependenceMode.values();
+ for (DiskIndependenceMode item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/GetOperationResultByRegionHeaders.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/GetOperationResultByRegionHeaders.java
new file mode 100644
index 0000000000000..9055738d0558f
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/GetOperationResultByRegionHeaders.java
@@ -0,0 +1,95 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Defines headers for getOperationResultByRegion operation.
+ */
+public class GetOperationResultByRegionHeaders {
+ /**
+ * The location property.
+ */
+ @JsonProperty(value = "Location")
+ private String location;
+
+ /**
+ * The retryAfter property.
+ */
+ @JsonProperty(value = "Retry-After")
+ private Integer retryAfter;
+
+ /**
+ * The contentType property.
+ */
+ @JsonProperty(value = "Content-Type")
+ private String contentType;
+
+ /**
+ * Get the location value.
+ *
+ * @return the location value
+ */
+ public String location() {
+ return this.location;
+ }
+
+ /**
+ * Set the location value.
+ *
+ * @param location the location value to set
+ * @return the GetOperationResultByRegionHeaders object itself.
+ */
+ public GetOperationResultByRegionHeaders withLocation(String location) {
+ this.location = location;
+ return this;
+ }
+
+ /**
+ * Get the retryAfter value.
+ *
+ * @return the retryAfter value
+ */
+ public Integer retryAfter() {
+ return this.retryAfter;
+ }
+
+ /**
+ * Set the retryAfter value.
+ *
+ * @param retryAfter the retryAfter value to set
+ * @return the GetOperationResultByRegionHeaders object itself.
+ */
+ public GetOperationResultByRegionHeaders withRetryAfter(Integer retryAfter) {
+ this.retryAfter = retryAfter;
+ return this;
+ }
+
+ /**
+ * Get the contentType value.
+ *
+ * @return the contentType value
+ */
+ public String contentType() {
+ return this.contentType;
+ }
+
+ /**
+ * Set the contentType value.
+ *
+ * @param contentType the contentType value to set
+ * @return the GetOperationResultByRegionHeaders object itself.
+ */
+ public GetOperationResultByRegionHeaders withContentType(String contentType) {
+ this.contentType = contentType;
+ return this;
+ }
+
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/GuestOSType.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/GuestOSType.java
new file mode 100644
index 0000000000000..135794aa55114
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/GuestOSType.java
@@ -0,0 +1,56 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for GuestOSType.
+ */
+public enum GuestOSType {
+ /** Enum value linux. */
+ LINUX("linux"),
+
+ /** Enum value windows. */
+ WINDOWS("windows"),
+
+ /** Enum value other. */
+ OTHER("other");
+
+ /** The actual serialized value for a GuestOSType instance. */
+ private String value;
+
+ GuestOSType(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a GuestOSType instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed GuestOSType object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static GuestOSType fromString(String value) {
+ GuestOSType[] items = GuestOSType.values();
+ for (GuestOSType item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/NICType.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/NICType.java
new file mode 100644
index 0000000000000..00b83a24dca68
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/NICType.java
@@ -0,0 +1,65 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for NICType.
+ */
+public enum NICType {
+ /** Enum value E1000. */
+ E1000("E1000"),
+
+ /** Enum value E1000E. */
+ E1000E("E1000E"),
+
+ /** Enum value PCNET32. */
+ PCNET32("PCNET32"),
+
+ /** Enum value VMXNET. */
+ VMXNET("VMXNET"),
+
+ /** Enum value VMXNET2. */
+ VMXNET2("VMXNET2"),
+
+ /** Enum value VMXNET3. */
+ VMXNET3("VMXNET3");
+
+ /** The actual serialized value for a NICType instance. */
+ private String value;
+
+ NICType(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a NICType instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed NICType object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static NICType fromString(String value) {
+ NICType[] items = NICType.values();
+ for (NICType item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/NodeStatus.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/NodeStatus.java
new file mode 100644
index 0000000000000..728a9afdda862
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/NodeStatus.java
@@ -0,0 +1,53 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for NodeStatus.
+ */
+public enum NodeStatus {
+ /** Enum value unused. */
+ UNUSED("unused"),
+
+ /** Enum value used. */
+ USED("used");
+
+ /** The actual serialized value for a NodeStatus instance. */
+ private String value;
+
+ NodeStatus(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a NodeStatus instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed NodeStatus object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static NodeStatus fromString(String value) {
+ NodeStatus[] items = NodeStatus.values();
+ for (NodeStatus item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/OnboardingStatus.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/OnboardingStatus.java
new file mode 100644
index 0000000000000..78b309033e2e8
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/OnboardingStatus.java
@@ -0,0 +1,59 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for OnboardingStatus.
+ */
+public enum OnboardingStatus {
+ /** Enum value notOnBoarded. */
+ NOT_ON_BOARDED("notOnBoarded"),
+
+ /** Enum value onBoarded. */
+ ON_BOARDED("onBoarded"),
+
+ /** Enum value onBoardingFailed. */
+ ON_BOARDING_FAILED("onBoardingFailed"),
+
+ /** Enum value onBoarding. */
+ ON_BOARDING("onBoarding");
+
+ /** The actual serialized value for a OnboardingStatus instance. */
+ private String value;
+
+ OnboardingStatus(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a OnboardingStatus instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed OnboardingStatus object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static OnboardingStatus fromString(String value) {
+ OnboardingStatus[] items = OnboardingStatus.values();
+ for (OnboardingStatus item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/OperationError.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/OperationError.java
new file mode 100644
index 0000000000000..e361655c31dc8
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/OperationError.java
@@ -0,0 +1,69 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Operation error model.
+ */
+public class OperationError {
+ /**
+ * Error's code.
+ */
+ @JsonProperty(value = "code")
+ private String code;
+
+ /**
+ * Error's message.
+ */
+ @JsonProperty(value = "message")
+ private String message;
+
+ /**
+ * Get error's code.
+ *
+ * @return the code value
+ */
+ public String code() {
+ return this.code;
+ }
+
+ /**
+ * Set error's code.
+ *
+ * @param code the code value to set
+ * @return the OperationError object itself.
+ */
+ public OperationError withCode(String code) {
+ this.code = code;
+ return this;
+ }
+
+ /**
+ * Get error's message.
+ *
+ * @return the message value
+ */
+ public String message() {
+ return this.message;
+ }
+
+ /**
+ * Set error's message.
+ *
+ * @param message the message value to set
+ * @return the OperationError object itself.
+ */
+ public OperationError withMessage(String message) {
+ this.message = message;
+ return this;
+ }
+
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/OperationOrigin.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/OperationOrigin.java
new file mode 100644
index 0000000000000..7a9c6ad79e069
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/OperationOrigin.java
@@ -0,0 +1,56 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for OperationOrigin.
+ */
+public enum OperationOrigin {
+ /** Enum value user. */
+ USER("user"),
+
+ /** Enum value system. */
+ SYSTEM("system"),
+
+ /** Enum value user,system. */
+ USERSYSTEM("user,system");
+
+ /** The actual serialized value for a OperationOrigin instance. */
+ private String value;
+
+ OperationOrigin(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a OperationOrigin instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed OperationOrigin object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static OperationOrigin fromString(String value) {
+ OperationOrigin[] items = OperationOrigin.values();
+ for (OperationOrigin item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/PatchPayload.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/PatchPayload.java
new file mode 100644
index 0000000000000..674c363bb9366
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/PatchPayload.java
@@ -0,0 +1,44 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01;
+
+import java.util.Map;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * General patch payload modal.
+ */
+public class PatchPayload {
+ /**
+ * The tags key:value pairs.
+ */
+ @JsonProperty(value = "tags")
+ private Map tags;
+
+ /**
+ * Get the tags key:value pairs.
+ *
+ * @return the tags value
+ */
+ public Map tags() {
+ return this.tags;
+ }
+
+ /**
+ * Set the tags key:value pairs.
+ *
+ * @param tags the tags value to set
+ * @return the PatchPayload object itself.
+ */
+ public PatchPayload withTags(Map tags) {
+ this.tags = tags;
+ return this;
+ }
+
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/PrivateCloud.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/PrivateCloud.java
new file mode 100644
index 0000000000000..5b009a4b31a32
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/PrivateCloud.java
@@ -0,0 +1,163 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.implementation.PrivateCloudInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.implementation.VMwareCloudSimpleManager;
+import org.joda.time.DateTime;
+import java.util.List;
+import java.util.UUID;
+
+/**
+ * Type representing PrivateCloud.
+ */
+public interface PrivateCloud extends HasInner, HasManager {
+ /**
+ * @return the availabilityZoneId value.
+ */
+ String availabilityZoneId();
+
+ /**
+ * @return the availabilityZoneName value.
+ */
+ String availabilityZoneName();
+
+ /**
+ * @return the clustersNumber value.
+ */
+ Integer clustersNumber();
+
+ /**
+ * @return the createdBy value.
+ */
+ String createdBy();
+
+ /**
+ * @return the createdOn value.
+ */
+ DateTime createdOn();
+
+ /**
+ * @return the dnsServers value.
+ */
+ List dnsServers();
+
+ /**
+ * @return the expires value.
+ */
+ String expires();
+
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the location value.
+ */
+ String location();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the nsxType value.
+ */
+ String nsxType();
+
+ /**
+ * @return the placementGroupId value.
+ */
+ String placementGroupId();
+
+ /**
+ * @return the placementGroupName value.
+ */
+ String placementGroupName();
+
+ /**
+ * @return the privateCloudId value.
+ */
+ UUID privateCloudId();
+
+ /**
+ * @return the privateCloudPropertiesType value.
+ */
+ String privateCloudPropertiesType();
+
+ /**
+ * @return the resourcePools value.
+ */
+ List resourcePools();
+
+ /**
+ * @return the state value.
+ */
+ String state();
+
+ /**
+ * @return the totalCpuCores value.
+ */
+ Integer totalCpuCores();
+
+ /**
+ * @return the totalNodes value.
+ */
+ Integer totalNodes();
+
+ /**
+ * @return the totalRam value.
+ */
+ Integer totalRam();
+
+ /**
+ * @return the totalStorage value.
+ */
+ Double totalStorage();
+
+ /**
+ * @return the type value.
+ */
+ PrivateCloudResourceType type();
+
+ /**
+ * @return the vcenterFqdn value.
+ */
+ String vcenterFqdn();
+
+ /**
+ * @return the vcenterRefid value.
+ */
+ String vcenterRefid();
+
+ /**
+ * @return the virtualMachineTemplates value.
+ */
+ List virtualMachineTemplates();
+
+ /**
+ * @return the virtualNetworks value.
+ */
+ List virtualNetworks();
+
+ /**
+ * @return the vrOpsEnabled value.
+ */
+ Boolean vrOpsEnabled();
+
+ /**
+ * @return the vSphereVersion value.
+ */
+ String vSphereVersion();
+
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/PrivateCloudByRegions.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/PrivateCloudByRegions.java
new file mode 100644
index 0000000000000..d20e0453e6818
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/PrivateCloudByRegions.java
@@ -0,0 +1,27 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01;
+
+import rx.Observable;
+import com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.PrivateCloud;
+
+/**
+ * Type representing PrivateCloudByRegions.
+ */
+public interface PrivateCloudByRegions {
+ /**
+ * Implements private cloud list GET method.
+ * Returns list of private clouds in particular region.
+ *
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listAsync();
+
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/PrivateCloudLocationResourcePool.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/PrivateCloudLocationResourcePool.java
new file mode 100644
index 0000000000000..60f39a5ec78ae
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/PrivateCloudLocationResourcePool.java
@@ -0,0 +1,50 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.implementation.ResourcePoolInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.implementation.VMwareCloudSimpleManager;
+
+/**
+ * Type representing PrivateCloudLocationResourcePool.
+ */
+public interface PrivateCloudLocationResourcePool extends HasInner, HasManager {
+ /**
+ * @return the fullName value.
+ */
+ String fullName();
+
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the location value.
+ */
+ String location();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the privateCloudId value.
+ */
+ String privateCloudId();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/PrivateCloudLocationResourcePoolModel.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/PrivateCloudLocationResourcePoolModel.java
new file mode 100644
index 0000000000000..29694b3ee50ac
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/PrivateCloudLocationResourcePoolModel.java
@@ -0,0 +1,52 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.implementation.ResourcePoolInner;
+import com.microsoft.azure.arm.model.Indexable;
+import com.microsoft.azure.arm.model.Refreshable;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.implementation.VMwareCloudSimpleManager;
+
+/**
+ * Type representing PrivateCloudLocationResourcePoolModel.
+ */
+public interface PrivateCloudLocationResourcePoolModel extends HasInner, Indexable, Refreshable, HasManager {
+ /**
+ * @return the fullName value.
+ */
+ String fullName();
+
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the location value.
+ */
+ String location();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the privateCloudId value.
+ */
+ String privateCloudId();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/PrivateCloudLocationVirtualMachineTemplate.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/PrivateCloudLocationVirtualMachineTemplate.java
new file mode 100644
index 0000000000000..47bd5b4561ed7
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/PrivateCloudLocationVirtualMachineTemplate.java
@@ -0,0 +1,111 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.implementation.VirtualMachineTemplateInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.implementation.VMwareCloudSimpleManager;
+import java.util.List;
+
+/**
+ * Type representing PrivateCloudLocationVirtualMachineTemplate.
+ */
+public interface PrivateCloudLocationVirtualMachineTemplate extends HasInner, HasManager {
+ /**
+ * @return the amountOfRam value.
+ */
+ Integer amountOfRam();
+
+ /**
+ * @return the controllers value.
+ */
+ List controllers();
+
+ /**
+ * @return the description value.
+ */
+ String description();
+
+ /**
+ * @return the disks value.
+ */
+ List disks();
+
+ /**
+ * @return the exposeToGuestVM value.
+ */
+ Boolean exposeToGuestVM();
+
+ /**
+ * @return the guestOS value.
+ */
+ String guestOS();
+
+ /**
+ * @return the guestOSType value.
+ */
+ String guestOSType();
+
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the location value.
+ */
+ String location();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the nics value.
+ */
+ List nics();
+
+ /**
+ * @return the numberOfCores value.
+ */
+ Integer numberOfCores();
+
+ /**
+ * @return the path value.
+ */
+ String path();
+
+ /**
+ * @return the privateCloudId value.
+ */
+ String privateCloudId();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+ /**
+ * @return the vmwaretools value.
+ */
+ String vmwaretools();
+
+ /**
+ * @return the vSphereNetworks value.
+ */
+ List vSphereNetworks();
+
+ /**
+ * @return the vSphereTags value.
+ */
+ List vSphereTags();
+
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/PrivateCloudLocationVirtualMachineTemplateModel.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/PrivateCloudLocationVirtualMachineTemplateModel.java
new file mode 100644
index 0000000000000..1ab733fb32bfd
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/PrivateCloudLocationVirtualMachineTemplateModel.java
@@ -0,0 +1,113 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.implementation.VirtualMachineTemplateInner;
+import com.microsoft.azure.arm.model.Indexable;
+import com.microsoft.azure.arm.model.Refreshable;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.implementation.VMwareCloudSimpleManager;
+import java.util.List;
+
+/**
+ * Type representing PrivateCloudLocationVirtualMachineTemplateModel.
+ */
+public interface PrivateCloudLocationVirtualMachineTemplateModel extends HasInner, Indexable, Refreshable, HasManager {
+ /**
+ * @return the amountOfRam value.
+ */
+ Integer amountOfRam();
+
+ /**
+ * @return the controllers value.
+ */
+ List controllers();
+
+ /**
+ * @return the description value.
+ */
+ String description();
+
+ /**
+ * @return the disks value.
+ */
+ List disks();
+
+ /**
+ * @return the exposeToGuestVM value.
+ */
+ Boolean exposeToGuestVM();
+
+ /**
+ * @return the guestOS value.
+ */
+ String guestOS();
+
+ /**
+ * @return the guestOSType value.
+ */
+ String guestOSType();
+
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the location value.
+ */
+ String location();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the nics value.
+ */
+ List nics();
+
+ /**
+ * @return the numberOfCores value.
+ */
+ Integer numberOfCores();
+
+ /**
+ * @return the path value.
+ */
+ String path();
+
+ /**
+ * @return the privateCloudId value.
+ */
+ String privateCloudId();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+ /**
+ * @return the vmwaretools value.
+ */
+ String vmwaretools();
+
+ /**
+ * @return the vSphereNetworks value.
+ */
+ List vSphereNetworks();
+
+ /**
+ * @return the vSphereTags value.
+ */
+ List vSphereTags();
+
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/PrivateCloudLocationVirtualNetwork.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/PrivateCloudLocationVirtualNetwork.java
new file mode 100644
index 0000000000000..fbce7bdd2976e
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/PrivateCloudLocationVirtualNetwork.java
@@ -0,0 +1,50 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.implementation.VirtualNetworkInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.implementation.VMwareCloudSimpleManager;
+
+/**
+ * Type representing PrivateCloudLocationVirtualNetwork.
+ */
+public interface PrivateCloudLocationVirtualNetwork extends HasInner, HasManager {
+ /**
+ * @return the assignable value.
+ */
+ Boolean assignable();
+
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the location value.
+ */
+ String location();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the privateCloudId value.
+ */
+ String privateCloudId();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/PrivateCloudLocationVirtualNetworkModel.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/PrivateCloudLocationVirtualNetworkModel.java
new file mode 100644
index 0000000000000..9526ce8bee365
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/PrivateCloudLocationVirtualNetworkModel.java
@@ -0,0 +1,52 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.implementation.VirtualNetworkInner;
+import com.microsoft.azure.arm.model.Indexable;
+import com.microsoft.azure.arm.model.Refreshable;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.implementation.VMwareCloudSimpleManager;
+
+/**
+ * Type representing PrivateCloudLocationVirtualNetworkModel.
+ */
+public interface PrivateCloudLocationVirtualNetworkModel extends HasInner, Indexable, Refreshable, HasManager {
+ /**
+ * @return the assignable value.
+ */
+ Boolean assignable();
+
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the location value.
+ */
+ String location();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the privateCloudId value.
+ */
+ String privateCloudId();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/PrivateCloudResourceType.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/PrivateCloudResourceType.java
new file mode 100644
index 0000000000000..4917305ce5a91
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/PrivateCloudResourceType.java
@@ -0,0 +1,50 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for PrivateCloudResourceType.
+ */
+public enum PrivateCloudResourceType {
+ /** Enum value Microsoft.VMwareCloudSimple/privateClouds. */
+ MICROSOFT_VMWARE_CLOUD_SIMPLEPRIVATE_CLOUDS("Microsoft.VMwareCloudSimple/privateClouds");
+
+ /** The actual serialized value for a PrivateCloudResourceType instance. */
+ private String value;
+
+ PrivateCloudResourceType(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a PrivateCloudResourceType instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed PrivateCloudResourceType object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static PrivateCloudResourceType fromString(String value) {
+ PrivateCloudResourceType[] items = PrivateCloudResourceType.values();
+ for (PrivateCloudResourceType item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/ResourcePoolByPCs.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/ResourcePoolByPCs.java
new file mode 100644
index 0000000000000..4e96c6e0271f0
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/ResourcePoolByPCs.java
@@ -0,0 +1,30 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01;
+
+import rx.Observable;
+import com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.implementation.ResourcePoolByPCsInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing ResourcePoolByPCs.
+ */
+public interface ResourcePoolByPCs extends HasInner {
+ /**
+ * Implements get of resource pool.
+ * Returns resource pool templates by its name.
+ *
+ * @param pcName The private cloud name
+ * @param resourcePoolName resource pool id (vsphereId)
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getAsync(String pcName, String resourcePoolName);
+
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/ResourcePoolsByPCs.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/ResourcePoolsByPCs.java
new file mode 100644
index 0000000000000..574cc8fc901d4
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/ResourcePoolsByPCs.java
@@ -0,0 +1,29 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01;
+
+import rx.Observable;
+import com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.implementation.ResourcePoolsByPCsInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing ResourcePoolsByPCs.
+ */
+public interface ResourcePoolsByPCs extends HasInner {
+ /**
+ * Implements get of resource pools list.
+ * Returns list of resource pools in region for private cloud.
+ *
+ * @param pcName The private cloud name
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listAsync(final String pcName);
+
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/Sku.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/Sku.java
new file mode 100644
index 0000000000000..3404b6fae09f7
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/Sku.java
@@ -0,0 +1,150 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The purchase SKU for CloudSimple paid resources.
+ */
+public class Sku {
+ /**
+ * The capacity of the SKU.
+ */
+ @JsonProperty(value = "capacity")
+ private String capacity;
+
+ /**
+ * dedicatedCloudNode example: 8 x Ten-Core Intel® Xeon® Processor E5-2640
+ * v4 2.40GHz 25MB Cache (90W); 12 x 64GB PC4-19200 2400MHz DDR4 ECC
+ * Registered DIMM, ...
+ */
+ @JsonProperty(value = "description")
+ private String description;
+
+ /**
+ * If the service has different generations of hardware, for the same SKU,
+ * then that can be captured here.
+ */
+ @JsonProperty(value = "family")
+ private String family;
+
+ /**
+ * The name of the SKU for VMWare CloudSimple Node.
+ */
+ @JsonProperty(value = "name", required = true)
+ private String name;
+
+ /**
+ * The tier of the SKU.
+ */
+ @JsonProperty(value = "tier")
+ private String tier;
+
+ /**
+ * Get the capacity of the SKU.
+ *
+ * @return the capacity value
+ */
+ public String capacity() {
+ return this.capacity;
+ }
+
+ /**
+ * Set the capacity of the SKU.
+ *
+ * @param capacity the capacity value to set
+ * @return the Sku object itself.
+ */
+ public Sku withCapacity(String capacity) {
+ this.capacity = capacity;
+ return this;
+ }
+
+ /**
+ * Get dedicatedCloudNode example: 8 x Ten-Core Intel® Xeon® Processor E5-2640 v4 2.40GHz 25MB Cache (90W); 12 x 64GB PC4-19200 2400MHz DDR4 ECC Registered DIMM, ...
+ *
+ * @return the description value
+ */
+ public String description() {
+ return this.description;
+ }
+
+ /**
+ * Set dedicatedCloudNode example: 8 x Ten-Core Intel® Xeon® Processor E5-2640 v4 2.40GHz 25MB Cache (90W); 12 x 64GB PC4-19200 2400MHz DDR4 ECC Registered DIMM, ...
+ *
+ * @param description the description value to set
+ * @return the Sku object itself.
+ */
+ public Sku withDescription(String description) {
+ this.description = description;
+ return this;
+ }
+
+ /**
+ * Get if the service has different generations of hardware, for the same SKU, then that can be captured here.
+ *
+ * @return the family value
+ */
+ public String family() {
+ return this.family;
+ }
+
+ /**
+ * Set if the service has different generations of hardware, for the same SKU, then that can be captured here.
+ *
+ * @param family the family value to set
+ * @return the Sku object itself.
+ */
+ public Sku withFamily(String family) {
+ this.family = family;
+ return this;
+ }
+
+ /**
+ * Get the name of the SKU for VMWare CloudSimple Node.
+ *
+ * @return the name value
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set the name of the SKU for VMWare CloudSimple Node.
+ *
+ * @param name the name value to set
+ * @return the Sku object itself.
+ */
+ public Sku withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get the tier of the SKU.
+ *
+ * @return the tier value
+ */
+ public String tier() {
+ return this.tier;
+ }
+
+ /**
+ * Set the tier of the SKU.
+ *
+ * @param tier the tier value to set
+ * @return the Sku object itself.
+ */
+ public Sku withTier(String tier) {
+ this.tier = tier;
+ return this;
+ }
+
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/SkuAvailability.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/SkuAvailability.java
new file mode 100644
index 0000000000000..646296b6ac72f
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/SkuAvailability.java
@@ -0,0 +1,60 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.implementation.SkuAvailabilityInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.implementation.VMwareCloudSimpleManager;
+
+/**
+ * Type representing SkuAvailability.
+ */
+public interface SkuAvailability extends HasInner, HasManager {
+ /**
+ * @return the dedicatedAvailabilityZoneId value.
+ */
+ String dedicatedAvailabilityZoneId();
+
+ /**
+ * @return the dedicatedAvailabilityZoneName value.
+ */
+ String dedicatedAvailabilityZoneName();
+
+ /**
+ * @return the dedicatedPlacementGroupId value.
+ */
+ String dedicatedPlacementGroupId();
+
+ /**
+ * @return the dedicatedPlacementGroupName value.
+ */
+ String dedicatedPlacementGroupName();
+
+ /**
+ * @return the limit value.
+ */
+ int limit();
+
+ /**
+ * @return the resourceType value.
+ */
+ String resourceType();
+
+ /**
+ * @return the skuId value.
+ */
+ String skuId();
+
+ /**
+ * @return the skuName value.
+ */
+ String skuName();
+
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/SkusAvailabilityWithinRegions.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/SkusAvailabilityWithinRegions.java
new file mode 100644
index 0000000000000..bc33785b12603
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/SkusAvailabilityWithinRegions.java
@@ -0,0 +1,27 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01;
+
+import rx.Observable;
+import com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.SkuAvailability;
+
+/**
+ * Type representing SkusAvailabilityWithinRegions.
+ */
+public interface SkusAvailabilityWithinRegions {
+ /**
+ * Implements SkuAvailability List method.
+ * Returns list of available resources in region.
+ *
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listAsync();
+
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/StopMode.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/StopMode.java
new file mode 100644
index 0000000000000..6dd9f2ed7cce8
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/StopMode.java
@@ -0,0 +1,59 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for StopMode.
+ */
+public enum StopMode {
+ /** Enum value reboot. */
+ REBOOT("reboot"),
+
+ /** Enum value suspend. */
+ SUSPEND("suspend"),
+
+ /** Enum value shutdown. */
+ SHUTDOWN("shutdown"),
+
+ /** Enum value poweroff. */
+ POWEROFF("poweroff");
+
+ /** The actual serialized value for a StopMode instance. */
+ private String value;
+
+ StopMode(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a StopMode instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed StopMode object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static StopMode fromString(String value) {
+ StopMode[] items = StopMode.values();
+ for (StopMode item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/Usage.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/Usage.java
new file mode 100644
index 0000000000000..0fb976b005977
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/Usage.java
@@ -0,0 +1,40 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.implementation.UsageInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.implementation.VMwareCloudSimpleManager;
+
+/**
+ * Type representing Usage.
+ */
+public interface Usage extends HasInner, HasManager {
+ /**
+ * @return the currentValue value.
+ */
+ int currentValue();
+
+ /**
+ * @return the limit value.
+ */
+ int limit();
+
+ /**
+ * @return the name value.
+ */
+ UsageName name();
+
+ /**
+ * @return the unit value.
+ */
+ UsageCount unit();
+
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/UsageCount.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/UsageCount.java
new file mode 100644
index 0000000000000..f9e40b9c3b1b4
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/UsageCount.java
@@ -0,0 +1,65 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for UsageCount.
+ */
+public enum UsageCount {
+ /** Enum value Count. */
+ COUNT("Count"),
+
+ /** Enum value Bytes. */
+ BYTES("Bytes"),
+
+ /** Enum value Seconds. */
+ SECONDS("Seconds"),
+
+ /** Enum value Percent. */
+ PERCENT("Percent"),
+
+ /** Enum value CountPerSecond. */
+ COUNT_PER_SECOND("CountPerSecond"),
+
+ /** Enum value BytesPerSecond. */
+ BYTES_PER_SECOND("BytesPerSecond");
+
+ /** The actual serialized value for a UsageCount instance. */
+ private String value;
+
+ UsageCount(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a UsageCount instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed UsageCount object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static UsageCount fromString(String value) {
+ UsageCount[] items = UsageCount.values();
+ for (UsageCount item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/UsageName.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/UsageName.java
new file mode 100644
index 0000000000000..08233d7fa494c
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/UsageName.java
@@ -0,0 +1,69 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * User name model.
+ */
+public class UsageName {
+ /**
+ * e.g. "Virtual Machines".
+ */
+ @JsonProperty(value = "localizedValue")
+ private String localizedValue;
+
+ /**
+ * resource type or resource type sku name, e.g. virtualMachines.
+ */
+ @JsonProperty(value = "value")
+ private String value;
+
+ /**
+ * Get e.g. "Virtual Machines".
+ *
+ * @return the localizedValue value
+ */
+ public String localizedValue() {
+ return this.localizedValue;
+ }
+
+ /**
+ * Set e.g. "Virtual Machines".
+ *
+ * @param localizedValue the localizedValue value to set
+ * @return the UsageName object itself.
+ */
+ public UsageName withLocalizedValue(String localizedValue) {
+ this.localizedValue = localizedValue;
+ return this;
+ }
+
+ /**
+ * Get resource type or resource type sku name, e.g. virtualMachines.
+ *
+ * @return the value value
+ */
+ public String value() {
+ return this.value;
+ }
+
+ /**
+ * Set resource type or resource type sku name, e.g. virtualMachines.
+ *
+ * @param value the value value to set
+ * @return the UsageName object itself.
+ */
+ public UsageName withValue(String value) {
+ this.value = value;
+ return this;
+ }
+
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/UsagesWithinRegions.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/UsagesWithinRegions.java
new file mode 100644
index 0000000000000..dc6d121bdafa6
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/UsagesWithinRegions.java
@@ -0,0 +1,27 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01;
+
+import rx.Observable;
+import com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.Usage;
+
+/**
+ * Type representing UsagesWithinRegions.
+ */
+public interface UsagesWithinRegions {
+ /**
+ * Implements Usages List method.
+ * Returns list of usage in region.
+ *
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listAsync();
+
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/VirtualDisk.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/VirtualDisk.java
new file mode 100644
index 0000000000000..b67a7fa563c9f
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/VirtualDisk.java
@@ -0,0 +1,137 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Virtual disk model.
+ */
+public class VirtualDisk {
+ /**
+ * Disk's Controller id.
+ */
+ @JsonProperty(value = "controllerId", required = true)
+ private String controllerId;
+
+ /**
+ * Disk's independence mode type. Possible values include: 'persistent',
+ * 'independent_persistent', 'independent_nonpersistent'.
+ */
+ @JsonProperty(value = "independenceMode", required = true)
+ private DiskIndependenceMode independenceMode;
+
+ /**
+ * Disk's total size.
+ */
+ @JsonProperty(value = "totalSize", required = true)
+ private int totalSize;
+
+ /**
+ * Disk's id.
+ */
+ @JsonProperty(value = "virtualDiskId")
+ private String virtualDiskId;
+
+ /**
+ * Disk's display name.
+ */
+ @JsonProperty(value = "virtualDiskName", access = JsonProperty.Access.WRITE_ONLY)
+ private String virtualDiskName;
+
+ /**
+ * Get disk's Controller id.
+ *
+ * @return the controllerId value
+ */
+ public String controllerId() {
+ return this.controllerId;
+ }
+
+ /**
+ * Set disk's Controller id.
+ *
+ * @param controllerId the controllerId value to set
+ * @return the VirtualDisk object itself.
+ */
+ public VirtualDisk withControllerId(String controllerId) {
+ this.controllerId = controllerId;
+ return this;
+ }
+
+ /**
+ * Get disk's independence mode type. Possible values include: 'persistent', 'independent_persistent', 'independent_nonpersistent'.
+ *
+ * @return the independenceMode value
+ */
+ public DiskIndependenceMode independenceMode() {
+ return this.independenceMode;
+ }
+
+ /**
+ * Set disk's independence mode type. Possible values include: 'persistent', 'independent_persistent', 'independent_nonpersistent'.
+ *
+ * @param independenceMode the independenceMode value to set
+ * @return the VirtualDisk object itself.
+ */
+ public VirtualDisk withIndependenceMode(DiskIndependenceMode independenceMode) {
+ this.independenceMode = independenceMode;
+ return this;
+ }
+
+ /**
+ * Get disk's total size.
+ *
+ * @return the totalSize value
+ */
+ public int totalSize() {
+ return this.totalSize;
+ }
+
+ /**
+ * Set disk's total size.
+ *
+ * @param totalSize the totalSize value to set
+ * @return the VirtualDisk object itself.
+ */
+ public VirtualDisk withTotalSize(int totalSize) {
+ this.totalSize = totalSize;
+ return this;
+ }
+
+ /**
+ * Get disk's id.
+ *
+ * @return the virtualDiskId value
+ */
+ public String virtualDiskId() {
+ return this.virtualDiskId;
+ }
+
+ /**
+ * Set disk's id.
+ *
+ * @param virtualDiskId the virtualDiskId value to set
+ * @return the VirtualDisk object itself.
+ */
+ public VirtualDisk withVirtualDiskId(String virtualDiskId) {
+ this.virtualDiskId = virtualDiskId;
+ return this;
+ }
+
+ /**
+ * Get disk's display name.
+ *
+ * @return the virtualDiskName value
+ */
+ public String virtualDiskName() {
+ return this.virtualDiskName;
+ }
+
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/VirtualDiskController.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/VirtualDiskController.java
new file mode 100644
index 0000000000000..38176e287257e
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/VirtualDiskController.java
@@ -0,0 +1,78 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Virtual disk controller model.
+ */
+public class VirtualDiskController {
+ /**
+ * Controller's id.
+ */
+ @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY)
+ private String id;
+
+ /**
+ * The display name of Controller.
+ */
+ @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY)
+ private String name;
+
+ /**
+ * dik controller subtype (VMWARE_PARAVIRTUAL, BUS_PARALLEL, LSI_PARALLEL,
+ * LSI_SAS).
+ */
+ @JsonProperty(value = "subType", access = JsonProperty.Access.WRITE_ONLY)
+ private String subType;
+
+ /**
+ * disk controller type (SCSI).
+ */
+ @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY)
+ private String type;
+
+ /**
+ * Get controller's id.
+ *
+ * @return the id value
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Get the display name of Controller.
+ *
+ * @return the name value
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get dik controller subtype (VMWARE_PARAVIRTUAL, BUS_PARALLEL, LSI_PARALLEL, LSI_SAS).
+ *
+ * @return the subType value
+ */
+ public String subType() {
+ return this.subType;
+ }
+
+ /**
+ * Get disk controller type (SCSI).
+ *
+ * @return the type value
+ */
+ public String type() {
+ return this.type;
+ }
+
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/VirtualMachine.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/VirtualMachine.java
new file mode 100644
index 0000000000000..f0704fa9fdeef
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/VirtualMachine.java
@@ -0,0 +1,427 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.Resource;
+import com.microsoft.azure.arm.resources.models.GroupableResourceCore;
+import com.microsoft.azure.arm.resources.models.HasResourceGroup;
+import com.microsoft.azure.arm.model.Refreshable;
+import com.microsoft.azure.arm.model.Updatable;
+import com.microsoft.azure.arm.model.Appliable;
+import com.microsoft.azure.arm.model.Creatable;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.implementation.VMwareCloudSimpleManager;
+import java.util.List;
+import com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.implementation.ResourcePoolInner;
+import com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.implementation.VirtualMachineInner;
+
+/**
+ * Type representing VirtualMachine.
+ */
+public interface VirtualMachine extends HasInner, Resource, GroupableResourceCore, HasResourceGroup, Refreshable, Updatable, HasManager {
+ /**
+ * @return the amountOfRam value.
+ */
+ int amountOfRam();
+
+ /**
+ * @return the controllers value.
+ */
+ List controllers();
+
+ /**
+ * @return the disks value.
+ */
+ List disks();
+
+ /**
+ * @return the dnsname value.
+ */
+ String dnsname();
+
+ /**
+ * @return the exposeToGuestVM value.
+ */
+ Boolean exposeToGuestVM();
+
+ /**
+ * @return the folder value.
+ */
+ String folder();
+
+ /**
+ * @return the guestOS value.
+ */
+ String guestOS();
+
+ /**
+ * @return the guestOSType value.
+ */
+ GuestOSType guestOSType();
+
+ /**
+ * @return the nics value.
+ */
+ List nics();
+
+ /**
+ * @return the numberOfCores value.
+ */
+ int numberOfCores();
+
+ /**
+ * @return the password value.
+ */
+ String password();
+
+ /**
+ * @return the privateCloudId value.
+ */
+ String privateCloudId();
+
+ /**
+ * @return the provisioningState value.
+ */
+ String provisioningState();
+
+ /**
+ * @return the publicIP value.
+ */
+ String publicIP();
+
+ /**
+ * @return the resourcePool value.
+ */
+ PrivateCloudLocationResourcePool resourcePool();
+
+ /**
+ * @return the status value.
+ */
+ VirtualMachineStatus status();
+
+ /**
+ * @return the templateId value.
+ */
+ String templateId();
+
+ /**
+ * @return the username value.
+ */
+ String username();
+
+ /**
+ * @return the vmId value.
+ */
+ String vmId();
+
+ /**
+ * @return the vmwaretools value.
+ */
+ String vmwaretools();
+
+ /**
+ * @return the vSphereNetworks value.
+ */
+ List vSphereNetworks();
+
+ /**
+ * The entirety of the VirtualMachine definition.
+ */
+ interface Definition extends DefinitionStages.Blank, DefinitionStages.WithGroup, DefinitionStages.WithAmountOfRam, DefinitionStages.WithGuestOS, DefinitionStages.WithGuestOSType, DefinitionStages.WithNumberOfCores, DefinitionStages.WithPrivateCloudId, DefinitionStages.WithCreate {
+ }
+
+ /**
+ * Grouping of VirtualMachine definition stages.
+ */
+ interface DefinitionStages {
+ /**
+ * The first stage of a VirtualMachine definition.
+ */
+ interface Blank extends GroupableResourceCore.DefinitionWithRegion {
+ }
+
+ /**
+ * The stage of the VirtualMachine definition allowing to specify the resource group.
+ */
+ interface WithGroup extends GroupableResourceCore.DefinitionStages.WithGroup {
+ }
+
+ /**
+ * The stage of the virtualmachine definition allowing to specify AmountOfRam.
+ */
+ interface WithAmountOfRam {
+ /**
+ * Specifies amountOfRam.
+ * @param amountOfRam The amount of memory
+ * @return the next definition stage
+*/
+ WithGuestOS withAmountOfRam(int amountOfRam);
+ }
+
+ /**
+ * The stage of the virtualmachine definition allowing to specify GuestOS.
+ */
+ interface WithGuestOS {
+ /**
+ * Specifies guestOS.
+ * @param guestOS The name of Guest OS
+ * @return the next definition stage
+*/
+ WithGuestOSType withGuestOS(String guestOS);
+ }
+
+ /**
+ * The stage of the virtualmachine definition allowing to specify GuestOSType.
+ */
+ interface WithGuestOSType {
+ /**
+ * Specifies guestOSType.
+ * @param guestOSType The Guest OS type. Possible values include: 'linux', 'windows', 'other'
+ * @return the next definition stage
+*/
+ WithNumberOfCores withGuestOSType(GuestOSType guestOSType);
+ }
+
+ /**
+ * The stage of the virtualmachine definition allowing to specify NumberOfCores.
+ */
+ interface WithNumberOfCores {
+ /**
+ * Specifies numberOfCores.
+ * @param numberOfCores The number of CPU cores
+ * @return the next definition stage
+*/
+ WithPrivateCloudId withNumberOfCores(int numberOfCores);
+ }
+
+ /**
+ * The stage of the virtualmachine definition allowing to specify PrivateCloudId.
+ */
+ interface WithPrivateCloudId {
+ /**
+ * Specifies privateCloudId.
+ * @param privateCloudId Private Cloud Id
+ * @return the next definition stage
+*/
+ WithCreate withPrivateCloudId(String privateCloudId);
+ }
+
+ /**
+ * The stage of the virtualmachine definition allowing to specify Disks.
+ */
+ interface WithDisks {
+ /**
+ * Specifies disks.
+ * @param disks The list of Virtual Disks
+ * @return the next definition stage
+ */
+ WithCreate withDisks(List disks);
+ }
+
+ /**
+ * The stage of the virtualmachine definition allowing to specify ExposeToGuestVM.
+ */
+ interface WithExposeToGuestVM {
+ /**
+ * Specifies exposeToGuestVM.
+ * @param exposeToGuestVM Expose Guest OS or not
+ * @return the next definition stage
+ */
+ WithCreate withExposeToGuestVM(Boolean exposeToGuestVM);
+ }
+
+ /**
+ * The stage of the virtualmachine definition allowing to specify Nics.
+ */
+ interface WithNics {
+ /**
+ * Specifies nics.
+ * @param nics The list of Virtual NICs
+ * @return the next definition stage
+ */
+ WithCreate withNics(List nics);
+ }
+
+ /**
+ * The stage of the virtualmachine definition allowing to specify Password.
+ */
+ interface WithPassword {
+ /**
+ * Specifies password.
+ * @param password Password for login
+ * @return the next definition stage
+ */
+ WithCreate withPassword(String password);
+ }
+
+ /**
+ * The stage of the virtualmachine definition allowing to specify ResourcePool.
+ */
+ interface WithResourcePool {
+ /**
+ * Specifies resourcePool.
+ * @param resourcePool Virtual Machines Resource Pool
+ * @return the next definition stage
+ */
+ WithCreate withResourcePool(ResourcePoolInner resourcePool);
+ }
+
+ /**
+ * The stage of the virtualmachine definition allowing to specify TemplateId.
+ */
+ interface WithTemplateId {
+ /**
+ * Specifies templateId.
+ * @param templateId Virtual Machine Template Id
+ * @return the next definition stage
+ */
+ WithCreate withTemplateId(String templateId);
+ }
+
+ /**
+ * The stage of the virtualmachine definition allowing to specify Username.
+ */
+ interface WithUsername {
+ /**
+ * Specifies username.
+ * @param username Username for login
+ * @return the next definition stage
+ */
+ WithCreate withUsername(String username);
+ }
+
+ /**
+ * The stage of the virtualmachine definition allowing to specify VSphereNetworks.
+ */
+ interface WithVSphereNetworks {
+ /**
+ * Specifies vSphereNetworks.
+ * @param vSphereNetworks The list of Virtual VSphere Networks
+ * @return the next definition stage
+ */
+ WithCreate withVSphereNetworks(List vSphereNetworks);
+ }
+
+ /**
+ * The stage of the definition which contains all the minimum required inputs for
+ * the resource to be created (via {@link WithCreate#create()}), but also allows
+ * for any other optional settings to be specified.
+ */
+ interface WithCreate extends Creatable, Resource.DefinitionWithTags, DefinitionStages.WithDisks, DefinitionStages.WithExposeToGuestVM, DefinitionStages.WithNics, DefinitionStages.WithPassword, DefinitionStages.WithResourcePool, DefinitionStages.WithTemplateId, DefinitionStages.WithUsername, DefinitionStages.WithVSphereNetworks {
+ }
+ }
+ /**
+ * The template for a VirtualMachine update operation, containing all the settings that can be modified.
+ */
+ interface Update extends Appliable, Resource.UpdateWithTags, UpdateStages.WithDisks, UpdateStages.WithExposeToGuestVM, UpdateStages.WithNics, UpdateStages.WithPassword, UpdateStages.WithResourcePool, UpdateStages.WithTemplateId, UpdateStages.WithUsername, UpdateStages.WithVSphereNetworks {
+ }
+
+ /**
+ * Grouping of VirtualMachine update stages.
+ */
+ interface UpdateStages {
+ /**
+ * The stage of the virtualmachine update allowing to specify Disks.
+ */
+ interface WithDisks {
+ /**
+ * Specifies disks.
+ * @param disks The list of Virtual Disks
+ * @return the next update stage
+ */
+ Update withDisks(List disks);
+ }
+
+ /**
+ * The stage of the virtualmachine update allowing to specify ExposeToGuestVM.
+ */
+ interface WithExposeToGuestVM {
+ /**
+ * Specifies exposeToGuestVM.
+ * @param exposeToGuestVM Expose Guest OS or not
+ * @return the next update stage
+ */
+ Update withExposeToGuestVM(Boolean exposeToGuestVM);
+ }
+
+ /**
+ * The stage of the virtualmachine update allowing to specify Nics.
+ */
+ interface WithNics {
+ /**
+ * Specifies nics.
+ * @param nics The list of Virtual NICs
+ * @return the next update stage
+ */
+ Update withNics(List nics);
+ }
+
+ /**
+ * The stage of the virtualmachine update allowing to specify Password.
+ */
+ interface WithPassword {
+ /**
+ * Specifies password.
+ * @param password Password for login
+ * @return the next update stage
+ */
+ Update withPassword(String password);
+ }
+
+ /**
+ * The stage of the virtualmachine update allowing to specify ResourcePool.
+ */
+ interface WithResourcePool {
+ /**
+ * Specifies resourcePool.
+ * @param resourcePool Virtual Machines Resource Pool
+ * @return the next update stage
+ */
+ Update withResourcePool(ResourcePoolInner resourcePool);
+ }
+
+ /**
+ * The stage of the virtualmachine update allowing to specify TemplateId.
+ */
+ interface WithTemplateId {
+ /**
+ * Specifies templateId.
+ * @param templateId Virtual Machine Template Id
+ * @return the next update stage
+ */
+ Update withTemplateId(String templateId);
+ }
+
+ /**
+ * The stage of the virtualmachine update allowing to specify Username.
+ */
+ interface WithUsername {
+ /**
+ * Specifies username.
+ * @param username Username for login
+ * @return the next update stage
+ */
+ Update withUsername(String username);
+ }
+
+ /**
+ * The stage of the virtualmachine update allowing to specify VSphereNetworks.
+ */
+ interface WithVSphereNetworks {
+ /**
+ * Specifies vSphereNetworks.
+ * @param vSphereNetworks The list of Virtual VSphere Networks
+ * @return the next update stage
+ */
+ Update withVSphereNetworks(List vSphereNetworks);
+ }
+
+ }
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/VirtualMachineCreateOrUpdateHeaders.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/VirtualMachineCreateOrUpdateHeaders.java
new file mode 100644
index 0000000000000..0b77b1bf98898
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/VirtualMachineCreateOrUpdateHeaders.java
@@ -0,0 +1,43 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Defines headers for CreateOrUpdate operation.
+ */
+public class VirtualMachineCreateOrUpdateHeaders {
+ /**
+ * The azureAsyncOperation property.
+ */
+ @JsonProperty(value = "Azure-AsyncOperation")
+ private String azureAsyncOperation;
+
+ /**
+ * Get the azureAsyncOperation value.
+ *
+ * @return the azureAsyncOperation value
+ */
+ public String azureAsyncOperation() {
+ return this.azureAsyncOperation;
+ }
+
+ /**
+ * Set the azureAsyncOperation value.
+ *
+ * @param azureAsyncOperation the azureAsyncOperation value to set
+ * @return the VirtualMachineCreateOrUpdateHeaders object itself.
+ */
+ public VirtualMachineCreateOrUpdateHeaders withAzureAsyncOperation(String azureAsyncOperation) {
+ this.azureAsyncOperation = azureAsyncOperation;
+ return this;
+ }
+
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/VirtualMachineDeleteHeaders.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/VirtualMachineDeleteHeaders.java
new file mode 100644
index 0000000000000..df1e230e53c2e
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/VirtualMachineDeleteHeaders.java
@@ -0,0 +1,121 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Defines headers for Delete operation.
+ */
+public class VirtualMachineDeleteHeaders {
+ /**
+ * The azureAsyncOperation property.
+ */
+ @JsonProperty(value = "Azure-AsyncOperation")
+ private String azureAsyncOperation;
+
+ /**
+ * The location property.
+ */
+ @JsonProperty(value = "Location")
+ private String location;
+
+ /**
+ * The retryAfter property.
+ */
+ @JsonProperty(value = "Retry-After")
+ private Integer retryAfter;
+
+ /**
+ * The contentType property.
+ */
+ @JsonProperty(value = "Content-Type")
+ private String contentType;
+
+ /**
+ * Get the azureAsyncOperation value.
+ *
+ * @return the azureAsyncOperation value
+ */
+ public String azureAsyncOperation() {
+ return this.azureAsyncOperation;
+ }
+
+ /**
+ * Set the azureAsyncOperation value.
+ *
+ * @param azureAsyncOperation the azureAsyncOperation value to set
+ * @return the VirtualMachineDeleteHeaders object itself.
+ */
+ public VirtualMachineDeleteHeaders withAzureAsyncOperation(String azureAsyncOperation) {
+ this.azureAsyncOperation = azureAsyncOperation;
+ return this;
+ }
+
+ /**
+ * Get the location value.
+ *
+ * @return the location value
+ */
+ public String location() {
+ return this.location;
+ }
+
+ /**
+ * Set the location value.
+ *
+ * @param location the location value to set
+ * @return the VirtualMachineDeleteHeaders object itself.
+ */
+ public VirtualMachineDeleteHeaders withLocation(String location) {
+ this.location = location;
+ return this;
+ }
+
+ /**
+ * Get the retryAfter value.
+ *
+ * @return the retryAfter value
+ */
+ public Integer retryAfter() {
+ return this.retryAfter;
+ }
+
+ /**
+ * Set the retryAfter value.
+ *
+ * @param retryAfter the retryAfter value to set
+ * @return the VirtualMachineDeleteHeaders object itself.
+ */
+ public VirtualMachineDeleteHeaders withRetryAfter(Integer retryAfter) {
+ this.retryAfter = retryAfter;
+ return this;
+ }
+
+ /**
+ * Get the contentType value.
+ *
+ * @return the contentType value
+ */
+ public String contentType() {
+ return this.contentType;
+ }
+
+ /**
+ * Set the contentType value.
+ *
+ * @param contentType the contentType value to set
+ * @return the VirtualMachineDeleteHeaders object itself.
+ */
+ public VirtualMachineDeleteHeaders withContentType(String contentType) {
+ this.contentType = contentType;
+ return this;
+ }
+
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/VirtualMachineStartHeaders.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/VirtualMachineStartHeaders.java
new file mode 100644
index 0000000000000..6276473c118ae
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/VirtualMachineStartHeaders.java
@@ -0,0 +1,121 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Defines headers for Start operation.
+ */
+public class VirtualMachineStartHeaders {
+ /**
+ * The azureAsyncOperation property.
+ */
+ @JsonProperty(value = "Azure-AsyncOperation")
+ private String azureAsyncOperation;
+
+ /**
+ * The location property.
+ */
+ @JsonProperty(value = "Location")
+ private String location;
+
+ /**
+ * The retryAfter property.
+ */
+ @JsonProperty(value = "Retry-After")
+ private Integer retryAfter;
+
+ /**
+ * The contentType property.
+ */
+ @JsonProperty(value = "Content-Type")
+ private String contentType;
+
+ /**
+ * Get the azureAsyncOperation value.
+ *
+ * @return the azureAsyncOperation value
+ */
+ public String azureAsyncOperation() {
+ return this.azureAsyncOperation;
+ }
+
+ /**
+ * Set the azureAsyncOperation value.
+ *
+ * @param azureAsyncOperation the azureAsyncOperation value to set
+ * @return the VirtualMachineStartHeaders object itself.
+ */
+ public VirtualMachineStartHeaders withAzureAsyncOperation(String azureAsyncOperation) {
+ this.azureAsyncOperation = azureAsyncOperation;
+ return this;
+ }
+
+ /**
+ * Get the location value.
+ *
+ * @return the location value
+ */
+ public String location() {
+ return this.location;
+ }
+
+ /**
+ * Set the location value.
+ *
+ * @param location the location value to set
+ * @return the VirtualMachineStartHeaders object itself.
+ */
+ public VirtualMachineStartHeaders withLocation(String location) {
+ this.location = location;
+ return this;
+ }
+
+ /**
+ * Get the retryAfter value.
+ *
+ * @return the retryAfter value
+ */
+ public Integer retryAfter() {
+ return this.retryAfter;
+ }
+
+ /**
+ * Set the retryAfter value.
+ *
+ * @param retryAfter the retryAfter value to set
+ * @return the VirtualMachineStartHeaders object itself.
+ */
+ public VirtualMachineStartHeaders withRetryAfter(Integer retryAfter) {
+ this.retryAfter = retryAfter;
+ return this;
+ }
+
+ /**
+ * Get the contentType value.
+ *
+ * @return the contentType value
+ */
+ public String contentType() {
+ return this.contentType;
+ }
+
+ /**
+ * Set the contentType value.
+ *
+ * @param contentType the contentType value to set
+ * @return the VirtualMachineStartHeaders object itself.
+ */
+ public VirtualMachineStartHeaders withContentType(String contentType) {
+ this.contentType = contentType;
+ return this;
+ }
+
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/VirtualMachineStatus.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/VirtualMachineStatus.java
new file mode 100644
index 0000000000000..64e1acc5b5c04
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/VirtualMachineStatus.java
@@ -0,0 +1,65 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for VirtualMachineStatus.
+ */
+public enum VirtualMachineStatus {
+ /** Enum value running. */
+ RUNNING("running"),
+
+ /** Enum value suspended. */
+ SUSPENDED("suspended"),
+
+ /** Enum value poweredoff. */
+ POWEREDOFF("poweredoff"),
+
+ /** Enum value updating. */
+ UPDATING("updating"),
+
+ /** Enum value deallocating. */
+ DEALLOCATING("deallocating"),
+
+ /** Enum value deleting. */
+ DELETING("deleting");
+
+ /** The actual serialized value for a VirtualMachineStatus instance. */
+ private String value;
+
+ VirtualMachineStatus(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a VirtualMachineStatus instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed VirtualMachineStatus object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static VirtualMachineStatus fromString(String value) {
+ VirtualMachineStatus[] items = VirtualMachineStatus.values();
+ for (VirtualMachineStatus item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/VirtualMachineStopHeaders.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/VirtualMachineStopHeaders.java
new file mode 100644
index 0000000000000..2de04c0bfe0bb
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/VirtualMachineStopHeaders.java
@@ -0,0 +1,121 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Defines headers for Stop operation.
+ */
+public class VirtualMachineStopHeaders {
+ /**
+ * The azureAsyncOperation property.
+ */
+ @JsonProperty(value = "Azure-AsyncOperation")
+ private String azureAsyncOperation;
+
+ /**
+ * The location property.
+ */
+ @JsonProperty(value = "Location")
+ private String location;
+
+ /**
+ * The retryAfter property.
+ */
+ @JsonProperty(value = "Retry-After")
+ private Integer retryAfter;
+
+ /**
+ * The contentType property.
+ */
+ @JsonProperty(value = "Content-Type")
+ private String contentType;
+
+ /**
+ * Get the azureAsyncOperation value.
+ *
+ * @return the azureAsyncOperation value
+ */
+ public String azureAsyncOperation() {
+ return this.azureAsyncOperation;
+ }
+
+ /**
+ * Set the azureAsyncOperation value.
+ *
+ * @param azureAsyncOperation the azureAsyncOperation value to set
+ * @return the VirtualMachineStopHeaders object itself.
+ */
+ public VirtualMachineStopHeaders withAzureAsyncOperation(String azureAsyncOperation) {
+ this.azureAsyncOperation = azureAsyncOperation;
+ return this;
+ }
+
+ /**
+ * Get the location value.
+ *
+ * @return the location value
+ */
+ public String location() {
+ return this.location;
+ }
+
+ /**
+ * Set the location value.
+ *
+ * @param location the location value to set
+ * @return the VirtualMachineStopHeaders object itself.
+ */
+ public VirtualMachineStopHeaders withLocation(String location) {
+ this.location = location;
+ return this;
+ }
+
+ /**
+ * Get the retryAfter value.
+ *
+ * @return the retryAfter value
+ */
+ public Integer retryAfter() {
+ return this.retryAfter;
+ }
+
+ /**
+ * Set the retryAfter value.
+ *
+ * @param retryAfter the retryAfter value to set
+ * @return the VirtualMachineStopHeaders object itself.
+ */
+ public VirtualMachineStopHeaders withRetryAfter(Integer retryAfter) {
+ this.retryAfter = retryAfter;
+ return this;
+ }
+
+ /**
+ * Get the contentType value.
+ *
+ * @return the contentType value
+ */
+ public String contentType() {
+ return this.contentType;
+ }
+
+ /**
+ * Set the contentType value.
+ *
+ * @param contentType the contentType value to set
+ * @return the VirtualMachineStopHeaders object itself.
+ */
+ public VirtualMachineStopHeaders withContentType(String contentType) {
+ this.contentType = contentType;
+ return this;
+ }
+
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/VirtualMachineStopMode.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/VirtualMachineStopMode.java
new file mode 100644
index 0000000000000..4860df0d86e76
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/VirtualMachineStopMode.java
@@ -0,0 +1,45 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * List of virtual machine stop modes.
+ */
+public class VirtualMachineStopMode {
+ /**
+ * mode indicates a type of stop operation - reboot, suspend, shutdown or
+ * power-off. Possible values include: 'reboot', 'suspend', 'shutdown',
+ * 'poweroff'.
+ */
+ @JsonProperty(value = "mode")
+ private StopMode mode;
+
+ /**
+ * Get mode indicates a type of stop operation - reboot, suspend, shutdown or power-off. Possible values include: 'reboot', 'suspend', 'shutdown', 'poweroff'.
+ *
+ * @return the mode value
+ */
+ public StopMode mode() {
+ return this.mode;
+ }
+
+ /**
+ * Set mode indicates a type of stop operation - reboot, suspend, shutdown or power-off. Possible values include: 'reboot', 'suspend', 'shutdown', 'poweroff'.
+ *
+ * @param mode the mode value to set
+ * @return the VirtualMachineStopMode object itself.
+ */
+ public VirtualMachineStopMode withMode(StopMode mode) {
+ this.mode = mode;
+ return this;
+ }
+
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/VirtualMachineTemplateByPCs.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/VirtualMachineTemplateByPCs.java
new file mode 100644
index 0000000000000..18bdb206a21c4
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/VirtualMachineTemplateByPCs.java
@@ -0,0 +1,30 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01;
+
+import rx.Observable;
+import com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.implementation.VirtualMachineTemplateByPCsInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing VirtualMachineTemplateByPCs.
+ */
+public interface VirtualMachineTemplateByPCs extends HasInner {
+ /**
+ * Implements virtual machine template GET method.
+ * Returns virtual machine templates by its name.
+ *
+ * @param pcName The private cloud name
+ * @param virtualMachineTemplateName virtual machine template id (vsphereId)
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getAsync(String pcName, String virtualMachineTemplateName);
+
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/VirtualMachineTemplatesByPCs.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/VirtualMachineTemplatesByPCs.java
new file mode 100644
index 0000000000000..d63bfbbd123b6
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/VirtualMachineTemplatesByPCs.java
@@ -0,0 +1,30 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01;
+
+import rx.Observable;
+import com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.implementation.VirtualMachineTemplatesByPCsInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing VirtualMachineTemplatesByPCs.
+ */
+public interface VirtualMachineTemplatesByPCs extends HasInner {
+ /**
+ * Implements list of available VM templates.
+ * Returns list of virtual machine templates in region for private cloud.
+ *
+ * @param pcName The private cloud name
+ * @param resourcePoolName Resource pool used to derive vSphere cluster which contains VM templates
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listAsync(final String pcName, final String resourcePoolName);
+
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/VirtualMachines.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/VirtualMachines.java
new file mode 100644
index 0000000000000..bf7ca76b24f06
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/VirtualMachines.java
@@ -0,0 +1,48 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01;
+
+import com.microsoft.azure.arm.collection.SupportsCreating;
+import com.microsoft.azure.arm.resources.collection.SupportsDeletingByResourceGroup;
+import com.microsoft.azure.arm.resources.collection.SupportsBatchDeletion;
+import com.microsoft.azure.arm.resources.collection.SupportsGettingByResourceGroup;
+import rx.Observable;
+import com.microsoft.azure.arm.resources.collection.SupportsListingByResourceGroup;
+import com.microsoft.azure.arm.collection.SupportsListing;
+import rx.Completable;
+import com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.implementation.VirtualMachinesInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing VirtualMachines.
+ */
+public interface VirtualMachines extends SupportsCreating, SupportsDeletingByResourceGroup, SupportsBatchDeletion, SupportsGettingByResourceGroup, SupportsListingByResourceGroup, SupportsListing, HasInner {
+ /**
+ * Implements a start method for a virtual machine.
+ * Power on virtual machine.
+ *
+ * @param resourceGroupName The name of the resource group
+ * @param virtualMachineName virtual machine name
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable startAsync(String resourceGroupName, String virtualMachineName);
+
+ /**
+ * Implements shutdown, poweroff, and suspend method for a virtual machine.
+ * Power off virtual machine, options: shutdown, poweroff, and suspend.
+ *
+ * @param resourceGroupName The name of the resource group
+ * @param virtualMachineName virtual machine name
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable stopAsync(String resourceGroupName, String virtualMachineName);
+
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/VirtualNetworkByPCs.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/VirtualNetworkByPCs.java
new file mode 100644
index 0000000000000..49161d0ea9458
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/VirtualNetworkByPCs.java
@@ -0,0 +1,30 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01;
+
+import rx.Observable;
+import com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.implementation.VirtualNetworkByPCsInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing VirtualNetworkByPCs.
+ */
+public interface VirtualNetworkByPCs extends HasInner {
+ /**
+ * Implements virtual network GET method.
+ * Return virtual network by its name.
+ *
+ * @param pcName The private cloud name
+ * @param virtualNetworkName virtual network id (vsphereId)
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getAsync(String pcName, String virtualNetworkName);
+
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/VirtualNetworksByPCs.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/VirtualNetworksByPCs.java
new file mode 100644
index 0000000000000..dd940db7abb1d
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/VirtualNetworksByPCs.java
@@ -0,0 +1,30 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01;
+
+import rx.Observable;
+import com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.implementation.VirtualNetworksByPCsInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing VirtualNetworksByPCs.
+ */
+public interface VirtualNetworksByPCs extends HasInner {
+ /**
+ * Implements list available virtual networks within a subscription method.
+ * Return list of virtual networks in location for private cloud.
+ *
+ * @param pcName The private cloud name
+ * @param resourcePoolName Resource pool used to derive vSphere cluster which contains virtual networks
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listAsync(final String pcName, final String resourcePoolName);
+
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/VirtualNic.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/VirtualNic.java
new file mode 100644
index 0000000000000..4fc1c55210ae5
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/VirtualNic.java
@@ -0,0 +1,191 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01;
+
+import java.util.List;
+import com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.implementation.VirtualNetworkInner;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Virtual NIC model.
+ */
+public class VirtualNic {
+ /**
+ * NIC ip address.
+ */
+ @JsonProperty(value = "ipAddresses")
+ private List ipAddresses;
+
+ /**
+ * NIC MAC address.
+ */
+ @JsonProperty(value = "macAddress")
+ private String macAddress;
+
+ /**
+ * The list of Virtual Networks.
+ */
+ @JsonProperty(value = "network")
+ private VirtualNetworkInner network;
+
+ /**
+ * NIC type. Possible values include: 'E1000', 'E1000E', 'PCNET32',
+ * 'VMXNET', 'VMXNET2', 'VMXNET3'.
+ */
+ @JsonProperty(value = "nicType", required = true)
+ private NICType nicType;
+
+ /**
+ * Is NIC powered on/off on boot.
+ */
+ @JsonProperty(value = "powerOnBoot")
+ private Boolean powerOnBoot;
+
+ /**
+ * NIC id.
+ */
+ @JsonProperty(value = "virtualNicId")
+ private String virtualNicId;
+
+ /**
+ * NIC name.
+ */
+ @JsonProperty(value = "virtualNicName", access = JsonProperty.Access.WRITE_ONLY)
+ private String virtualNicName;
+
+ /**
+ * Get nIC ip address.
+ *
+ * @return the ipAddresses value
+ */
+ public List ipAddresses() {
+ return this.ipAddresses;
+ }
+
+ /**
+ * Set nIC ip address.
+ *
+ * @param ipAddresses the ipAddresses value to set
+ * @return the VirtualNic object itself.
+ */
+ public VirtualNic withIpAddresses(List ipAddresses) {
+ this.ipAddresses = ipAddresses;
+ return this;
+ }
+
+ /**
+ * Get nIC MAC address.
+ *
+ * @return the macAddress value
+ */
+ public String macAddress() {
+ return this.macAddress;
+ }
+
+ /**
+ * Set nIC MAC address.
+ *
+ * @param macAddress the macAddress value to set
+ * @return the VirtualNic object itself.
+ */
+ public VirtualNic withMacAddress(String macAddress) {
+ this.macAddress = macAddress;
+ return this;
+ }
+
+ /**
+ * Get the list of Virtual Networks.
+ *
+ * @return the network value
+ */
+ public VirtualNetworkInner network() {
+ return this.network;
+ }
+
+ /**
+ * Set the list of Virtual Networks.
+ *
+ * @param network the network value to set
+ * @return the VirtualNic object itself.
+ */
+ public VirtualNic withNetwork(VirtualNetworkInner network) {
+ this.network = network;
+ return this;
+ }
+
+ /**
+ * Get nIC type. Possible values include: 'E1000', 'E1000E', 'PCNET32', 'VMXNET', 'VMXNET2', 'VMXNET3'.
+ *
+ * @return the nicType value
+ */
+ public NICType nicType() {
+ return this.nicType;
+ }
+
+ /**
+ * Set nIC type. Possible values include: 'E1000', 'E1000E', 'PCNET32', 'VMXNET', 'VMXNET2', 'VMXNET3'.
+ *
+ * @param nicType the nicType value to set
+ * @return the VirtualNic object itself.
+ */
+ public VirtualNic withNicType(NICType nicType) {
+ this.nicType = nicType;
+ return this;
+ }
+
+ /**
+ * Get is NIC powered on/off on boot.
+ *
+ * @return the powerOnBoot value
+ */
+ public Boolean powerOnBoot() {
+ return this.powerOnBoot;
+ }
+
+ /**
+ * Set is NIC powered on/off on boot.
+ *
+ * @param powerOnBoot the powerOnBoot value to set
+ * @return the VirtualNic object itself.
+ */
+ public VirtualNic withPowerOnBoot(Boolean powerOnBoot) {
+ this.powerOnBoot = powerOnBoot;
+ return this;
+ }
+
+ /**
+ * Get nIC id.
+ *
+ * @return the virtualNicId value
+ */
+ public String virtualNicId() {
+ return this.virtualNicId;
+ }
+
+ /**
+ * Set nIC id.
+ *
+ * @param virtualNicId the virtualNicId value to set
+ * @return the VirtualNic object itself.
+ */
+ public VirtualNic withVirtualNicId(String virtualNicId) {
+ this.virtualNicId = virtualNicId;
+ return this;
+ }
+
+ /**
+ * Get nIC name.
+ *
+ * @return the virtualNicName value
+ */
+ public String virtualNicName() {
+ return this.virtualNicName;
+ }
+
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/implementation/AvailableOperationImpl.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/implementation/AvailableOperationImpl.java
new file mode 100644
index 0000000000000..311933a9fd195
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/implementation/AvailableOperationImpl.java
@@ -0,0 +1,54 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.implementation;
+
+import com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.AvailableOperation;
+import com.microsoft.azure.arm.model.implementation.WrapperImpl;
+import com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.AvailableOperationDisplay;
+import com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.OperationOrigin;
+import com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.AvailableOperationDisplayPropertyServiceSpecificationMetricsList;
+
+class AvailableOperationImpl extends WrapperImpl implements AvailableOperation {
+ private final VMwareCloudSimpleManager manager;
+ AvailableOperationImpl(AvailableOperationInner inner, VMwareCloudSimpleManager manager) {
+ super(inner);
+ this.manager = manager;
+ }
+
+ @Override
+ public VMwareCloudSimpleManager manager() {
+ return this.manager;
+ }
+
+ @Override
+ public AvailableOperationDisplay display() {
+ return this.inner().display();
+ }
+
+ @Override
+ public Boolean isDataAction() {
+ return this.inner().isDataAction();
+ }
+
+ @Override
+ public String name() {
+ return this.inner().name();
+ }
+
+ @Override
+ public OperationOrigin origin() {
+ return this.inner().origin();
+ }
+
+ @Override
+ public AvailableOperationDisplayPropertyServiceSpecificationMetricsList serviceSpecification() {
+ return this.inner().serviceSpecification();
+ }
+
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/implementation/AvailableOperationInner.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/implementation/AvailableOperationInner.java
new file mode 100644
index 0000000000000..6ea552f6d42f8
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/implementation/AvailableOperationInner.java
@@ -0,0 +1,153 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.implementation;
+
+import com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.AvailableOperationDisplay;
+import com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.OperationOrigin;
+import com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.AvailableOperationDisplayPropertyServiceSpecificationMetricsList;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.microsoft.rest.serializer.JsonFlatten;
+
+/**
+ * Resource provider available operation model.
+ */
+@JsonFlatten
+public class AvailableOperationInner {
+ /**
+ * The list of operations.
+ */
+ @JsonProperty(value = "display")
+ private AvailableOperationDisplay display;
+
+ /**
+ * Indicating whether the operation is a data action or not.
+ */
+ @JsonProperty(value = "isDataAction")
+ private Boolean isDataAction;
+
+ /**
+ * {resourceProviderNamespace}/{resourceType}/{read|write|delete|action}.
+ */
+ @JsonProperty(value = "name")
+ private String name;
+
+ /**
+ * The origin of operation. Possible values include: 'user', 'system',
+ * 'user,system'.
+ */
+ @JsonProperty(value = "origin")
+ private OperationOrigin origin;
+
+ /**
+ * The list of specification's service metrics.
+ */
+ @JsonProperty(value = "properties.serviceSpecification")
+ private AvailableOperationDisplayPropertyServiceSpecificationMetricsList serviceSpecification;
+
+ /**
+ * Get the list of operations.
+ *
+ * @return the display value
+ */
+ public AvailableOperationDisplay display() {
+ return this.display;
+ }
+
+ /**
+ * Set the list of operations.
+ *
+ * @param display the display value to set
+ * @return the AvailableOperationInner object itself.
+ */
+ public AvailableOperationInner withDisplay(AvailableOperationDisplay display) {
+ this.display = display;
+ return this;
+ }
+
+ /**
+ * Get indicating whether the operation is a data action or not.
+ *
+ * @return the isDataAction value
+ */
+ public Boolean isDataAction() {
+ return this.isDataAction;
+ }
+
+ /**
+ * Set indicating whether the operation is a data action or not.
+ *
+ * @param isDataAction the isDataAction value to set
+ * @return the AvailableOperationInner object itself.
+ */
+ public AvailableOperationInner withIsDataAction(Boolean isDataAction) {
+ this.isDataAction = isDataAction;
+ return this;
+ }
+
+ /**
+ * Get {resourceProviderNamespace}/{resourceType}/{read|write|delete|action}.
+ *
+ * @return the name value
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set {resourceProviderNamespace}/{resourceType}/{read|write|delete|action}.
+ *
+ * @param name the name value to set
+ * @return the AvailableOperationInner object itself.
+ */
+ public AvailableOperationInner withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get the origin of operation. Possible values include: 'user', 'system', 'user,system'.
+ *
+ * @return the origin value
+ */
+ public OperationOrigin origin() {
+ return this.origin;
+ }
+
+ /**
+ * Set the origin of operation. Possible values include: 'user', 'system', 'user,system'.
+ *
+ * @param origin the origin value to set
+ * @return the AvailableOperationInner object itself.
+ */
+ public AvailableOperationInner withOrigin(OperationOrigin origin) {
+ this.origin = origin;
+ return this;
+ }
+
+ /**
+ * Get the list of specification's service metrics.
+ *
+ * @return the serviceSpecification value
+ */
+ public AvailableOperationDisplayPropertyServiceSpecificationMetricsList serviceSpecification() {
+ return this.serviceSpecification;
+ }
+
+ /**
+ * Set the list of specification's service metrics.
+ *
+ * @param serviceSpecification the serviceSpecification value to set
+ * @return the AvailableOperationInner object itself.
+ */
+ public AvailableOperationInner withServiceSpecification(AvailableOperationDisplayPropertyServiceSpecificationMetricsList serviceSpecification) {
+ this.serviceSpecification = serviceSpecification;
+ return this;
+ }
+
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/implementation/AvailableOperationsImpl.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/implementation/AvailableOperationsImpl.java
new file mode 100644
index 0000000000000..f8a3937e99007
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/implementation/AvailableOperationsImpl.java
@@ -0,0 +1,49 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * abc
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.implementation;
+
+import com.microsoft.azure.arm.model.implementation.WrapperImpl;
+import com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.AvailableOperations;
+import rx.functions.Func1;
+import rx.Observable;
+import com.microsoft.azure.Page;
+import com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.AvailableOperation;
+
+class AvailableOperationsImpl extends WrapperImpl implements AvailableOperations {
+ private final VMwareCloudSimpleManager manager;
+
+ AvailableOperationsImpl(VMwareCloudSimpleManager manager) {
+ super(manager.inner().availableOperations());
+ this.manager = manager;
+ }
+
+ public VMwareCloudSimpleManager manager() {
+ return this.manager;
+ }
+
+ @Override
+ public Observable listAsync() {
+ AvailableOperationsInner client = this.inner();
+ return client.listAsync()
+ .flatMapIterable(new Func1, Iterable>() {
+ @Override
+ public Iterable call(Page page) {
+ return page.items();
+ }
+ })
+ .map(new Func1() {
+ @Override
+ public AvailableOperation call(AvailableOperationInner inner) {
+ return new AvailableOperationImpl(inner, manager());
+ }
+ });
+ }
+
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/implementation/AvailableOperationsInner.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/implementation/AvailableOperationsInner.java
new file mode 100644
index 0000000000000..8eecf503a3f1d
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/implementation/AvailableOperationsInner.java
@@ -0,0 +1,293 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.implementation;
+
+import retrofit2.Retrofit;
+import com.google.common.reflect.TypeToken;
+import com.microsoft.azure.AzureServiceFuture;
+import com.microsoft.azure.ListOperationCallback;
+import com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.CSRPErrorException;
+import com.microsoft.azure.Page;
+import com.microsoft.azure.PagedList;
+import com.microsoft.rest.ServiceFuture;
+import com.microsoft.rest.ServiceResponse;
+import java.io.IOException;
+import java.util.List;
+import okhttp3.ResponseBody;
+import retrofit2.http.GET;
+import retrofit2.http.Header;
+import retrofit2.http.Headers;
+import retrofit2.http.Query;
+import retrofit2.http.Url;
+import retrofit2.Response;
+import rx.functions.Func1;
+import rx.Observable;
+
+/**
+ * An instance of this class provides access to all the operations defined
+ * in AvailableOperations.
+ */
+public class AvailableOperationsInner {
+ /** The Retrofit service to perform REST calls. */
+ private AvailableOperationsService service;
+ /** The service client containing this operation class. */
+ private VMwareCloudSimpleClientImpl client;
+
+ /**
+ * Initializes an instance of AvailableOperationsInner.
+ *
+ * @param retrofit the Retrofit instance built from a Retrofit Builder.
+ * @param client the instance of the service client containing this operation class.
+ */
+ public AvailableOperationsInner(Retrofit retrofit, VMwareCloudSimpleClientImpl client) {
+ this.service = retrofit.create(AvailableOperationsService.class);
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for AvailableOperations to be
+ * used by Retrofit to perform actually REST calls.
+ */
+ interface AvailableOperationsService {
+ @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.AvailableOperations list" })
+ @GET("providers/Microsoft.VMwareCloudSimple/operations")
+ Observable> list(@Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
+
+ @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.AvailableOperations listNext" })
+ @GET
+ Observable> listNext(@Url String nextUrl, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
+
+ }
+
+ /**
+ * Implements list of available operations.
+ * Return list of operations.
+ *
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @throws CSRPErrorException thrown if the request is rejected by server
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent
+ * @return the PagedList<AvailableOperationInner> object if successful.
+ */
+ public PagedList list() {
+ ServiceResponse> response = listSinglePageAsync().toBlocking().single();
+ return new PagedList(response.body()) {
+ @Override
+ public Page nextPage(String nextPageLink) {
+ return listNextSinglePageAsync(nextPageLink).toBlocking().single().body();
+ }
+ };
+ }
+
+ /**
+ * Implements list of available operations.
+ * Return list of operations.
+ *
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the {@link ServiceFuture} object
+ */
+ public ServiceFuture> listAsync(final ListOperationCallback serviceCallback) {
+ return AzureServiceFuture.fromPageResponse(
+ listSinglePageAsync(),
+ new Func1>>>() {
+ @Override
+ public Observable>> call(String nextPageLink) {
+ return listNextSinglePageAsync(nextPageLink);
+ }
+ },
+ serviceCallback);
+ }
+
+ /**
+ * Implements list of available operations.
+ * Return list of operations.
+ *
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the PagedList<AvailableOperationInner> object
+ */
+ public Observable> listAsync() {
+ return listWithServiceResponseAsync()
+ .map(new Func1>, Page>() {
+ @Override
+ public Page call(ServiceResponse> response) {
+ return response.body();
+ }
+ });
+ }
+
+ /**
+ * Implements list of available operations.
+ * Return list of operations.
+ *
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the PagedList<AvailableOperationInner> object
+ */
+ public Observable>> listWithServiceResponseAsync() {
+ return listSinglePageAsync()
+ .concatMap(new Func1>, Observable>>>() {
+ @Override
+ public Observable>> call(ServiceResponse> page) {
+ String nextPageLink = page.body().nextPageLink();
+ if (nextPageLink == null) {
+ return Observable.just(page);
+ }
+ return Observable.just(page).concatWith(listNextWithServiceResponseAsync(nextPageLink));
+ }
+ });
+ }
+
+ /**
+ * Implements list of available operations.
+ * Return list of operations.
+ *
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the PagedList<AvailableOperationInner> object wrapped in {@link ServiceResponse} if successful.
+ */
+ public Observable>> listSinglePageAsync() {
+ if (this.client.apiVersion() == null) {
+ throw new IllegalArgumentException("Parameter this.client.apiVersion() is required and cannot be null.");
+ }
+ return service.list(this.client.apiVersion(), this.client.acceptLanguage(), this.client.userAgent())
+ .flatMap(new Func1, Observable>>>() {
+ @Override
+ public Observable>> call(Response response) {
+ try {
+ ServiceResponse> result = listDelegate(response);
+ return Observable.just(new ServiceResponse>(result.body(), result.response()));
+ } catch (Throwable t) {
+ return Observable.error(t);
+ }
+ }
+ });
+ }
+
+ private ServiceResponse> listDelegate(Response response) throws CSRPErrorException, IOException, IllegalArgumentException {
+ return this.client.restClient().responseBuilderFactory()., CSRPErrorException>newInstance(this.client.serializerAdapter())
+ .register(200, new TypeToken>() { }.getType())
+ .registerError(CSRPErrorException.class)
+ .build(response);
+ }
+
+ /**
+ * Implements list of available operations.
+ * Return list of operations.
+ *
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @throws CSRPErrorException thrown if the request is rejected by server
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent
+ * @return the PagedList<AvailableOperationInner> object if successful.
+ */
+ public PagedList listNext(final String nextPageLink) {
+ ServiceResponse> response = listNextSinglePageAsync(nextPageLink).toBlocking().single();
+ return new PagedList(response.body()) {
+ @Override
+ public Page nextPage(String nextPageLink) {
+ return listNextSinglePageAsync(nextPageLink).toBlocking().single().body();
+ }
+ };
+ }
+
+ /**
+ * Implements list of available operations.
+ * Return list of operations.
+ *
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param serviceFuture the ServiceFuture object tracking the Retrofit calls
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the {@link ServiceFuture} object
+ */
+ public ServiceFuture> listNextAsync(final String nextPageLink, final ServiceFuture> serviceFuture, final ListOperationCallback serviceCallback) {
+ return AzureServiceFuture.fromPageResponse(
+ listNextSinglePageAsync(nextPageLink),
+ new Func1>>>() {
+ @Override
+ public Observable>> call(String nextPageLink) {
+ return listNextSinglePageAsync(nextPageLink);
+ }
+ },
+ serviceCallback);
+ }
+
+ /**
+ * Implements list of available operations.
+ * Return list of operations.
+ *
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the PagedList<AvailableOperationInner> object
+ */
+ public Observable> listNextAsync(final String nextPageLink) {
+ return listNextWithServiceResponseAsync(nextPageLink)
+ .map(new Func1>, Page>() {
+ @Override
+ public Page call(ServiceResponse> response) {
+ return response.body();
+ }
+ });
+ }
+
+ /**
+ * Implements list of available operations.
+ * Return list of operations.
+ *
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the PagedList<AvailableOperationInner> object
+ */
+ public Observable>> listNextWithServiceResponseAsync(final String nextPageLink) {
+ return listNextSinglePageAsync(nextPageLink)
+ .concatMap(new Func1>, Observable>>>() {
+ @Override
+ public Observable>> call(ServiceResponse> page) {
+ String nextPageLink = page.body().nextPageLink();
+ if (nextPageLink == null) {
+ return Observable.just(page);
+ }
+ return Observable.just(page).concatWith(listNextWithServiceResponseAsync(nextPageLink));
+ }
+ });
+ }
+
+ /**
+ * Implements list of available operations.
+ * Return list of operations.
+ *
+ ServiceResponse> * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the PagedList<AvailableOperationInner> object wrapped in {@link ServiceResponse} if successful.
+ */
+ public Observable>> listNextSinglePageAsync(final String nextPageLink) {
+ if (nextPageLink == null) {
+ throw new IllegalArgumentException("Parameter nextPageLink is required and cannot be null.");
+ }
+ String nextUrl = String.format("%s", nextPageLink);
+ return service.listNext(nextUrl, this.client.acceptLanguage(), this.client.userAgent())
+ .flatMap(new Func1, Observable>>>() {
+ @Override
+ public Observable>> call(Response response) {
+ try {
+ ServiceResponse> result = listNextDelegate(response);
+ return Observable.just(new ServiceResponse>(result.body(), result.response()));
+ } catch (Throwable t) {
+ return Observable.error(t);
+ }
+ }
+ });
+ }
+
+ private ServiceResponse> listNextDelegate(Response response) throws CSRPErrorException, IOException, IllegalArgumentException {
+ return this.client.restClient().responseBuilderFactory()., CSRPErrorException>newInstance(this.client.serializerAdapter())
+ .register(200, new TypeToken>() { }.getType())
+ .registerError(CSRPErrorException.class)
+ .build(response);
+ }
+
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/implementation/DedicatedCloudNodeImpl.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/implementation/DedicatedCloudNodeImpl.java
new file mode 100644
index 0000000000000..1149a0cd02936
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/implementation/DedicatedCloudNodeImpl.java
@@ -0,0 +1,171 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.implementation;
+
+import com.microsoft.azure.arm.resources.models.implementation.GroupableResourceCoreImpl;
+import com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.DedicatedCloudNode;
+import rx.Observable;
+import java.util.UUID;
+import com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.NodeStatus;
+import com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.Sku;
+
+class DedicatedCloudNodeImpl extends GroupableResourceCoreImpl implements DedicatedCloudNode, DedicatedCloudNode.Definition, DedicatedCloudNode.Update {
+ DedicatedCloudNodeImpl(String name, DedicatedCloudNodeInner inner, VMwareCloudSimpleManager manager) {
+ super(name, inner, manager);
+ }
+
+ @Override
+ public Observable createResourceAsync() {
+ DedicatedCloudNodesInner client = this.manager().inner().dedicatedCloudNodes();
+ return client.createOrUpdateAsync(this.resourceGroupName(), this.name(), this.inner())
+ .map(innerToFluentMap(this));
+ }
+
+ @Override
+ public Observable updateResourceAsync() {
+ DedicatedCloudNodesInner client = this.manager().inner().dedicatedCloudNodes();
+ return client.createOrUpdateAsync(this.resourceGroupName(), this.name(), this.inner())
+ .map(innerToFluentMap(this));
+ }
+
+ @Override
+ protected Observable getInnerAsync() {
+ DedicatedCloudNodesInner client = this.manager().inner().dedicatedCloudNodes();
+ return client.getByResourceGroupAsync(this.resourceGroupName(), this.name());
+ }
+
+ @Override
+ public boolean isInCreateMode() {
+ return this.inner().id() == null;
+ }
+
+
+ @Override
+ public String availabilityZoneId() {
+ return this.inner().availabilityZoneId();
+ }
+
+ @Override
+ public String availabilityZoneName() {
+ return this.inner().availabilityZoneName();
+ }
+
+ @Override
+ public String cloudRackName() {
+ return this.inner().cloudRackName();
+ }
+
+ @Override
+ public Object created() {
+ return this.inner().created();
+ }
+
+ @Override
+ public String id1() {
+ return this.inner().id1();
+ }
+
+ @Override
+ public String name1() {
+ return this.inner().name1();
+ }
+
+ @Override
+ public int nodesCount() {
+ return this.inner().nodesCount();
+ }
+
+ @Override
+ public String placementGroupId() {
+ return this.inner().placementGroupId();
+ }
+
+ @Override
+ public String placementGroupName() {
+ return this.inner().placementGroupName();
+ }
+
+ @Override
+ public String privateCloudId() {
+ return this.inner().privateCloudId();
+ }
+
+ @Override
+ public String privateCloudName() {
+ return this.inner().privateCloudName();
+ }
+
+ @Override
+ public String provisioningState() {
+ return this.inner().provisioningState();
+ }
+
+ @Override
+ public UUID purchaseId() {
+ return this.inner().purchaseId();
+ }
+
+ @Override
+ public Sku sku() {
+ return this.inner().sku();
+ }
+
+ @Override
+ public NodeStatus status() {
+ return this.inner().status();
+ }
+
+ @Override
+ public String vmwareClusterName() {
+ return this.inner().vmwareClusterName();
+ }
+
+ @Override
+ public DedicatedCloudNodeImpl withAvailabilityZoneId(String availabilityZoneId) {
+ this.inner().withAvailabilityZoneId(availabilityZoneId);
+ return this;
+ }
+
+ @Override
+ public DedicatedCloudNodeImpl withId1(String id1) {
+ this.inner().withId1(id1);
+ return this;
+ }
+
+ @Override
+ public DedicatedCloudNodeImpl withName1(String name1) {
+ this.inner().withName1(name1);
+ return this;
+ }
+
+ @Override
+ public DedicatedCloudNodeImpl withNodesCount(int nodesCount) {
+ this.inner().withNodesCount(nodesCount);
+ return this;
+ }
+
+ @Override
+ public DedicatedCloudNodeImpl withPlacementGroupId(String placementGroupId) {
+ this.inner().withPlacementGroupId(placementGroupId);
+ return this;
+ }
+
+ @Override
+ public DedicatedCloudNodeImpl withPurchaseId(UUID purchaseId) {
+ this.inner().withPurchaseId(purchaseId);
+ return this;
+ }
+
+ @Override
+ public DedicatedCloudNodeImpl withSku(Sku sku) {
+ this.inner().withSku(sku);
+ return this;
+ }
+
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/implementation/DedicatedCloudNodeInner.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/implementation/DedicatedCloudNodeInner.java
new file mode 100644
index 0000000000000..77da6a319d67b
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/implementation/DedicatedCloudNodeInner.java
@@ -0,0 +1,341 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.implementation;
+
+import java.util.UUID;
+import com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.NodeStatus;
+import com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.Sku;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.microsoft.rest.serializer.JsonFlatten;
+import com.microsoft.azure.Resource;
+
+/**
+ * Dedicated cloud node model.
+ */
+@JsonFlatten
+public class DedicatedCloudNodeInner extends Resource {
+ /**
+ * Availability Zone id, e.g. "az1".
+ */
+ @JsonProperty(value = "properties.availabilityZoneId", required = true)
+ private String availabilityZoneId;
+
+ /**
+ * Availability Zone name, e.g. "Availability Zone 1".
+ */
+ @JsonProperty(value = "properties.availabilityZoneName", access = JsonProperty.Access.WRITE_ONLY)
+ private String availabilityZoneName;
+
+ /**
+ * VMWare Cloud Rack Name.
+ */
+ @JsonProperty(value = "properties.cloudRackName", access = JsonProperty.Access.WRITE_ONLY)
+ private String cloudRackName;
+
+ /**
+ * date time the resource was created.
+ */
+ @JsonProperty(value = "properties.created", access = JsonProperty.Access.WRITE_ONLY)
+ private Object created;
+
+ /**
+ * count of nodes to create.
+ */
+ @JsonProperty(value = "properties.nodesCount", required = true)
+ private int nodesCount;
+
+ /**
+ * Placement Group id, e.g. "n1".
+ */
+ @JsonProperty(value = "properties.placementGroupId", required = true)
+ private String placementGroupId;
+
+ /**
+ * Placement Name, e.g. "Placement Group 1".
+ */
+ @JsonProperty(value = "properties.placementGroupName", access = JsonProperty.Access.WRITE_ONLY)
+ private String placementGroupName;
+
+ /**
+ * Private Cloud Id.
+ */
+ @JsonProperty(value = "properties.privateCloudId", access = JsonProperty.Access.WRITE_ONLY)
+ private String privateCloudId;
+
+ /**
+ * Resource Pool Name.
+ */
+ @JsonProperty(value = "properties.privateCloudName", access = JsonProperty.Access.WRITE_ONLY)
+ private String privateCloudName;
+
+ /**
+ * The provisioning status of the resource.
+ */
+ @JsonProperty(value = "properties.provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private String provisioningState;
+
+ /**
+ * purchase id.
+ */
+ @JsonProperty(value = "properties.purchaseId", required = true)
+ private UUID purchaseId;
+
+ /**
+ * SKU's id.
+ */
+ @JsonProperty(value = "properties.skuDescription.id", required = true)
+ private String id1;
+
+ /**
+ * SKU's name.
+ */
+ @JsonProperty(value = "properties.skuDescription.name", required = true)
+ private String name1;
+
+ /**
+ * Node status, indicates is private cloud set up on this node or not.
+ * Possible values include: 'unused', 'used'.
+ */
+ @JsonProperty(value = "properties.status", access = JsonProperty.Access.WRITE_ONLY)
+ private NodeStatus status;
+
+ /**
+ * VMWare Cluster Name.
+ */
+ @JsonProperty(value = "properties.vmwareClusterName", access = JsonProperty.Access.WRITE_ONLY)
+ private String vmwareClusterName;
+
+ /**
+ * Dedicated Cloud Nodes SKU.
+ */
+ @JsonProperty(value = "sku")
+ private Sku sku;
+
+ /**
+ * Get availability Zone id, e.g. "az1".
+ *
+ * @return the availabilityZoneId value
+ */
+ public String availabilityZoneId() {
+ return this.availabilityZoneId;
+ }
+
+ /**
+ * Set availability Zone id, e.g. "az1".
+ *
+ * @param availabilityZoneId the availabilityZoneId value to set
+ * @return the DedicatedCloudNodeInner object itself.
+ */
+ public DedicatedCloudNodeInner withAvailabilityZoneId(String availabilityZoneId) {
+ this.availabilityZoneId = availabilityZoneId;
+ return this;
+ }
+
+ /**
+ * Get availability Zone name, e.g. "Availability Zone 1".
+ *
+ * @return the availabilityZoneName value
+ */
+ public String availabilityZoneName() {
+ return this.availabilityZoneName;
+ }
+
+ /**
+ * Get vMWare Cloud Rack Name.
+ *
+ * @return the cloudRackName value
+ */
+ public String cloudRackName() {
+ return this.cloudRackName;
+ }
+
+ /**
+ * Get date time the resource was created.
+ *
+ * @return the created value
+ */
+ public Object created() {
+ return this.created;
+ }
+
+ /**
+ * Get count of nodes to create.
+ *
+ * @return the nodesCount value
+ */
+ public int nodesCount() {
+ return this.nodesCount;
+ }
+
+ /**
+ * Set count of nodes to create.
+ *
+ * @param nodesCount the nodesCount value to set
+ * @return the DedicatedCloudNodeInner object itself.
+ */
+ public DedicatedCloudNodeInner withNodesCount(int nodesCount) {
+ this.nodesCount = nodesCount;
+ return this;
+ }
+
+ /**
+ * Get placement Group id, e.g. "n1".
+ *
+ * @return the placementGroupId value
+ */
+ public String placementGroupId() {
+ return this.placementGroupId;
+ }
+
+ /**
+ * Set placement Group id, e.g. "n1".
+ *
+ * @param placementGroupId the placementGroupId value to set
+ * @return the DedicatedCloudNodeInner object itself.
+ */
+ public DedicatedCloudNodeInner withPlacementGroupId(String placementGroupId) {
+ this.placementGroupId = placementGroupId;
+ return this;
+ }
+
+ /**
+ * Get placement Name, e.g. "Placement Group 1".
+ *
+ * @return the placementGroupName value
+ */
+ public String placementGroupName() {
+ return this.placementGroupName;
+ }
+
+ /**
+ * Get private Cloud Id.
+ *
+ * @return the privateCloudId value
+ */
+ public String privateCloudId() {
+ return this.privateCloudId;
+ }
+
+ /**
+ * Get resource Pool Name.
+ *
+ * @return the privateCloudName value
+ */
+ public String privateCloudName() {
+ return this.privateCloudName;
+ }
+
+ /**
+ * Get the provisioning status of the resource.
+ *
+ * @return the provisioningState value
+ */
+ public String provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get purchase id.
+ *
+ * @return the purchaseId value
+ */
+ public UUID purchaseId() {
+ return this.purchaseId;
+ }
+
+ /**
+ * Set purchase id.
+ *
+ * @param purchaseId the purchaseId value to set
+ * @return the DedicatedCloudNodeInner object itself.
+ */
+ public DedicatedCloudNodeInner withPurchaseId(UUID purchaseId) {
+ this.purchaseId = purchaseId;
+ return this;
+ }
+
+ /**
+ * Get sKU's id.
+ *
+ * @return the id1 value
+ */
+ public String id1() {
+ return this.id1;
+ }
+
+ /**
+ * Set sKU's id.
+ *
+ * @param id1 the id1 value to set
+ * @return the DedicatedCloudNodeInner object itself.
+ */
+ public DedicatedCloudNodeInner withId1(String id1) {
+ this.id1 = id1;
+ return this;
+ }
+
+ /**
+ * Get sKU's name.
+ *
+ * @return the name1 value
+ */
+ public String name1() {
+ return this.name1;
+ }
+
+ /**
+ * Set sKU's name.
+ *
+ * @param name1 the name1 value to set
+ * @return the DedicatedCloudNodeInner object itself.
+ */
+ public DedicatedCloudNodeInner withName1(String name1) {
+ this.name1 = name1;
+ return this;
+ }
+
+ /**
+ * Get node status, indicates is private cloud set up on this node or not. Possible values include: 'unused', 'used'.
+ *
+ * @return the status value
+ */
+ public NodeStatus status() {
+ return this.status;
+ }
+
+ /**
+ * Get vMWare Cluster Name.
+ *
+ * @return the vmwareClusterName value
+ */
+ public String vmwareClusterName() {
+ return this.vmwareClusterName;
+ }
+
+ /**
+ * Get dedicated Cloud Nodes SKU.
+ *
+ * @return the sku value
+ */
+ public Sku sku() {
+ return this.sku;
+ }
+
+ /**
+ * Set dedicated Cloud Nodes SKU.
+ *
+ * @param sku the sku value to set
+ * @return the DedicatedCloudNodeInner object itself.
+ */
+ public DedicatedCloudNodeInner withSku(Sku sku) {
+ this.sku = sku;
+ return this;
+ }
+
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/implementation/DedicatedCloudNodesImpl.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/implementation/DedicatedCloudNodesImpl.java
new file mode 100644
index 0000000000000..37a8b7ce86b19
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/implementation/DedicatedCloudNodesImpl.java
@@ -0,0 +1,138 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * def
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.implementation;
+
+import com.microsoft.azure.arm.resources.collection.implementation.GroupableResourcesCoreImpl;
+import com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.DedicatedCloudNodes;
+import com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.DedicatedCloudNode;
+import rx.Observable;
+import rx.Completable;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import com.microsoft.azure.arm.resources.ResourceUtilsCore;
+import com.microsoft.azure.arm.utils.RXMapper;
+import rx.functions.Func1;
+import com.microsoft.azure.PagedList;
+import com.microsoft.azure.Page;
+
+class DedicatedCloudNodesImpl extends GroupableResourcesCoreImpl implements DedicatedCloudNodes {
+ protected DedicatedCloudNodesImpl(VMwareCloudSimpleManager manager) {
+ super(manager.inner().dedicatedCloudNodes(), manager);
+ }
+
+ @Override
+ protected Observable getInnerAsync(String resourceGroupName, String name) {
+ DedicatedCloudNodesInner client = this.inner();
+ return client.getByResourceGroupAsync(resourceGroupName, name);
+ }
+
+ @Override
+ protected Completable deleteInnerAsync(String resourceGroupName, String name) {
+ DedicatedCloudNodesInner client = this.inner();
+ return client.deleteAsync(resourceGroupName, name).toCompletable();
+ }
+
+ @Override
+ public Observable deleteByIdsAsync(Collection ids) {
+ if (ids == null || ids.isEmpty()) {
+ return Observable.empty();
+ }
+ Collection> observables = new ArrayList<>();
+ for (String id : ids) {
+ final String resourceGroupName = ResourceUtilsCore.groupFromResourceId(id);
+ final String name = ResourceUtilsCore.nameFromResourceId(id);
+ Observable o = RXMapper.map(this.inner().deleteAsync(resourceGroupName, name), id);
+ observables.add(o);
+ }
+ return Observable.mergeDelayError(observables);
+ }
+
+ @Override
+ public Observable deleteByIdsAsync(String...ids) {
+ return this.deleteByIdsAsync(new ArrayList(Arrays.asList(ids)));
+ }
+
+ @Override
+ public void deleteByIds(Collection ids) {
+ if (ids != null && !ids.isEmpty()) {
+ this.deleteByIdsAsync(ids).toBlocking().last();
+ }
+ }
+
+ @Override
+ public void deleteByIds(String...ids) {
+ this.deleteByIds(new ArrayList(Arrays.asList(ids)));
+ }
+
+ @Override
+ public PagedList listByResourceGroup(String resourceGroupName) {
+ DedicatedCloudNodesInner client = this.inner();
+ return this.wrapList(client.listByResourceGroup(resourceGroupName));
+ }
+
+ @Override
+ public Observable listByResourceGroupAsync(String resourceGroupName) {
+ DedicatedCloudNodesInner client = this.inner();
+ return client.listByResourceGroupAsync(resourceGroupName)
+ .flatMapIterable(new Func1, Iterable>() {
+ @Override
+ public Iterable call(Page page) {
+ return page.items();
+ }
+ })
+ .map(new Func1() {
+ @Override
+ public DedicatedCloudNode call(DedicatedCloudNodeInner inner) {
+ return wrapModel(inner);
+ }
+ });
+ }
+
+ @Override
+ public PagedList list() {
+ DedicatedCloudNodesInner client = this.inner();
+ return this.wrapList(client.list());
+ }
+
+ @Override
+ public Observable listAsync() {
+ DedicatedCloudNodesInner client = this.inner();
+ return client.listAsync()
+ .flatMapIterable(new Func1, Iterable>() {
+ @Override
+ public Iterable call(Page page) {
+ return page.items();
+ }
+ })
+ .map(new Func1() {
+ @Override
+ public DedicatedCloudNode call(DedicatedCloudNodeInner inner) {
+ return wrapModel(inner);
+ }
+ });
+ }
+
+ @Override
+ public DedicatedCloudNodeImpl define(String name) {
+ return wrapModel(name);
+ }
+
+ @Override
+ protected DedicatedCloudNodeImpl wrapModel(DedicatedCloudNodeInner inner) {
+ return new DedicatedCloudNodeImpl(inner.name(), inner, manager());
+ }
+
+ @Override
+ protected DedicatedCloudNodeImpl wrapModel(String name) {
+ return new DedicatedCloudNodeImpl(name, new DedicatedCloudNodeInner(), this.manager());
+ }
+
+}
diff --git a/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/implementation/DedicatedCloudNodesInner.java b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/implementation/DedicatedCloudNodesInner.java
new file mode 100644
index 0000000000000..26dd0d3494fc6
--- /dev/null
+++ b/vmwarecloudsimple/resource-manager/v2019_04_01/src/main/java/com/microsoft/azure/management/vmwarecloudsimple/v2019_04_01/implementation/DedicatedCloudNodesInner.java
@@ -0,0 +1,1373 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.implementation;
+
+import com.microsoft.azure.arm.collection.InnerSupportsGet;
+import com.microsoft.azure.arm.collection.InnerSupportsDelete;
+import com.microsoft.azure.arm.collection.InnerSupportsListing;
+import retrofit2.Retrofit;
+import com.google.common.reflect.TypeToken;
+import com.microsoft.azure.AzureServiceFuture;
+import com.microsoft.azure.ListOperationCallback;
+import com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.CSRPErrorException;
+import com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.DedicatedCloudNodeCreateOrUpdateHeaders;
+import com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.DedicatedCloudNodeDeleteHeaders;
+import com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.PatchPayload;
+import com.microsoft.azure.Page;
+import com.microsoft.azure.PagedList;
+import com.microsoft.rest.ServiceCallback;
+import com.microsoft.rest.ServiceFuture;
+import com.microsoft.rest.ServiceResponse;
+import com.microsoft.rest.ServiceResponseWithHeaders;
+import com.microsoft.rest.Validator;
+import java.io.IOException;
+import java.util.List;
+import java.util.Map;
+import okhttp3.ResponseBody;
+import retrofit2.http.Body;
+import retrofit2.http.GET;
+import retrofit2.http.Header;
+import retrofit2.http.Headers;
+import retrofit2.http.HTTP;
+import retrofit2.http.PATCH;
+import retrofit2.http.Path;
+import retrofit2.http.PUT;
+import retrofit2.http.Query;
+import retrofit2.http.Url;
+import retrofit2.Response;
+import rx.functions.Func1;
+import rx.Observable;
+
+/**
+ * An instance of this class provides access to all the operations defined
+ * in DedicatedCloudNodes.
+ */
+public class DedicatedCloudNodesInner implements InnerSupportsGet, InnerSupportsDelete, InnerSupportsListing {
+ /** The Retrofit service to perform REST calls. */
+ private DedicatedCloudNodesService service;
+ /** The service client containing this operation class. */
+ private VMwareCloudSimpleClientImpl client;
+
+ /**
+ * Initializes an instance of DedicatedCloudNodesInner.
+ *
+ * @param retrofit the Retrofit instance built from a Retrofit Builder.
+ * @param client the instance of the service client containing this operation class.
+ */
+ public DedicatedCloudNodesInner(Retrofit retrofit, VMwareCloudSimpleClientImpl client) {
+ this.service = retrofit.create(DedicatedCloudNodesService.class);
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for DedicatedCloudNodes to be
+ * used by Retrofit to perform actually REST calls.
+ */
+ interface DedicatedCloudNodesService {
+ @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.DedicatedCloudNodes list" })
+ @GET("subscriptions/{subscriptionId}/providers/Microsoft.VMwareCloudSimple/dedicatedCloudNodes")
+ Observable> list(@Path("subscriptionId") String subscriptionId, @Query("api-version") String apiVersion, @Query("$filter") String filter, @Query("$top") Integer top, @Query("$skipToken") String skipToken, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
+
+ @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.DedicatedCloudNodes listByResourceGroup" })
+ @GET("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VMwareCloudSimple/dedicatedCloudNodes")
+ Observable> listByResourceGroup(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Query("api-version") String apiVersion, @Query("$filter") String filter, @Query("$top") Integer top, @Query("$skipToken") String skipToken, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
+
+ @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.DedicatedCloudNodes getByResourceGroup" })
+ @GET("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VMwareCloudSimple/dedicatedCloudNodes/{dedicatedCloudNodeName}")
+ Observable> getByResourceGroup(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("dedicatedCloudNodeName") String dedicatedCloudNodeName, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
+
+ @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.DedicatedCloudNodes createOrUpdate" })
+ @PUT("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VMwareCloudSimple/dedicatedCloudNodes/{dedicatedCloudNodeName}")
+ Observable> createOrUpdate(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("dedicatedCloudNodeName") String dedicatedCloudNodeName, @Header("Referer") String referer, @Body DedicatedCloudNodeInner dedicatedCloudNodeRequest, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
+
+ @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.DedicatedCloudNodes beginCreateOrUpdate" })
+ @PUT("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VMwareCloudSimple/dedicatedCloudNodes/{dedicatedCloudNodeName}")
+ Observable> beginCreateOrUpdate(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("dedicatedCloudNodeName") String dedicatedCloudNodeName, @Header("Referer") String referer, @Body DedicatedCloudNodeInner dedicatedCloudNodeRequest, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
+
+ @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.DedicatedCloudNodes delete" })
+ @HTTP(path = "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VMwareCloudSimple/dedicatedCloudNodes/{dedicatedCloudNodeName}", method = "DELETE", hasBody = true)
+ Observable> delete(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("dedicatedCloudNodeName") String dedicatedCloudNodeName, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
+
+ @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.DedicatedCloudNodes update" })
+ @PATCH("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VMwareCloudSimple/dedicatedCloudNodes/{dedicatedCloudNodeName}")
+ Observable> update(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("dedicatedCloudNodeName") String dedicatedCloudNodeName, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Body PatchPayload dedicatedCloudNodeRequest, @Header("User-Agent") String userAgent);
+
+ @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.DedicatedCloudNodes listNext" })
+ @GET
+ Observable> listNext(@Url String nextUrl, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
+
+ @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.vmwarecloudsimple.v2019_04_01.DedicatedCloudNodes listByResourceGroupNext" })
+ @GET
+ Observable> listByResourceGroupNext(@Url String nextUrl, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
+
+ }
+
+ /**
+ * Implements list of dedicated cloud nodes within subscription method.
+ * Returns list of dedicate cloud nodes within subscription.
+ *
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @throws CSRPErrorException thrown if the request is rejected by server
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent
+ * @return the PagedList<DedicatedCloudNodeInner> object if successful.
+ */
+ public PagedList list() {
+ ServiceResponse> response = listSinglePageAsync().toBlocking().single();
+ return new PagedList(response.body()) {
+ @Override
+ public Page nextPage(String nextPageLink) {
+ return listNextSinglePageAsync(nextPageLink).toBlocking().single().body();
+ }
+ };
+ }
+
+ /**
+ * Implements list of dedicated cloud nodes within subscription method.
+ * Returns list of dedicate cloud nodes within subscription.
+ *
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the {@link ServiceFuture} object
+ */
+ public ServiceFuture> listAsync(final ListOperationCallback serviceCallback) {
+ return AzureServiceFuture.fromPageResponse(
+ listSinglePageAsync(),
+ new Func1>>>() {
+ @Override
+ public Observable>> call(String nextPageLink) {
+ return listNextSinglePageAsync(nextPageLink);
+ }
+ },
+ serviceCallback);
+ }
+
+ /**
+ * Implements list of dedicated cloud nodes within subscription method.
+ * Returns list of dedicate cloud nodes within subscription.
+ *
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the PagedList<DedicatedCloudNodeInner> object
+ */
+ public Observable> listAsync() {
+ return listWithServiceResponseAsync()
+ .map(new Func1>, Page>() {
+ @Override
+ public Page call(ServiceResponse> response) {
+ return response.body();
+ }
+ });
+ }
+
+ /**
+ * Implements list of dedicated cloud nodes within subscription method.
+ * Returns list of dedicate cloud nodes within subscription.
+ *
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the PagedList<DedicatedCloudNodeInner> object
+ */
+ public Observable>> listWithServiceResponseAsync() {
+ return listSinglePageAsync()
+ .concatMap(new Func1>, Observable>>>() {
+ @Override
+ public Observable>> call(ServiceResponse> page) {
+ String nextPageLink = page.body().nextPageLink();
+ if (nextPageLink == null) {
+ return Observable.just(page);
+ }
+ return Observable.just(page).concatWith(listNextWithServiceResponseAsync(nextPageLink));
+ }
+ });
+ }
+
+ /**
+ * Implements list of dedicated cloud nodes within subscription method.
+ * Returns list of dedicate cloud nodes within subscription.
+ *
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the PagedList<DedicatedCloudNodeInner> object wrapped in {@link ServiceResponse} if successful.
+ */
+ public Observable>> listSinglePageAsync() {
+ if (this.client.subscriptionId() == null) {
+ throw new IllegalArgumentException("Parameter this.client.subscriptionId() is required and cannot be null.");
+ }
+ if (this.client.apiVersion() == null) {
+ throw new IllegalArgumentException("Parameter this.client.apiVersion() is required and cannot be null.");
+ }
+ final String filter = null;
+ final Integer top = null;
+ final String skipToken = null;
+ return service.list(this.client.subscriptionId(), this.client.apiVersion(), filter, top, skipToken, this.client.acceptLanguage(), this.client.userAgent())
+ .flatMap(new Func1