diff --git a/hanaonazure/resource-manager/v2017_11_03_preview/pom.xml b/hanaonazure/resource-manager/v2017_11_03_preview/pom.xml
new file mode 100644
index 000000000000..cad348a8aae4
--- /dev/null
+++ b/hanaonazure/resource-manager/v2017_11_03_preview/pom.xml
@@ -0,0 +1,133 @@
+
+
+ 4.0.0
+ com.microsoft.azure.hanaonazure.v2017_11_03_preview
+
+ com.microsoft.azure
+ azure-arm-parent
+ 0.0.2-beta
+ ../../../pom.xml
+
+ azure-mgmt-hanaonazure
+ 1.0.0-beta
+ jar
+ Microsoft Azure SDK for HanaOnAzure Management
+ This package contains Microsoft HanaOnAzure Management SDK.
+ https://github.com/Azure/azure-libraries-for-java
+
+
+ The MIT License (MIT)
+ http://opensource.org/licenses/MIT
+ repo
+
+
+
+ scm:git:https://github.com/Azure/azure-libraries-for-java
+ scm:git:git@github.com:Azure/azure-libraries-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
+ 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/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/Disk.java b/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/Disk.java
new file mode 100644
index 000000000000..0d7b84205111
--- /dev/null
+++ b/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/Disk.java
@@ -0,0 +1,86 @@
+/**
+ * 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.hanaonazure.v2017_11_03_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Specifies the disk information fo the HANA instance.
+ */
+public class Disk {
+ /**
+ * The disk name.
+ */
+ @JsonProperty(value = "name")
+ private String name;
+
+ /**
+ * Specifies the size of an empty data disk in gigabytes.
+ */
+ @JsonProperty(value = "diskSizeGB")
+ private Integer diskSizeGB;
+
+ /**
+ * Specifies the logical unit number of the data disk. This value is used
+ * to identify data disks within the VM and therefore must be unique for
+ * each data disk attached to a VM.
+ */
+ @JsonProperty(value = "lun", access = JsonProperty.Access.WRITE_ONLY)
+ private Integer lun;
+
+ /**
+ * Get the disk name.
+ *
+ * @return the name value
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set the disk name.
+ *
+ * @param name the name value to set
+ * @return the Disk object itself.
+ */
+ public Disk withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get specifies the size of an empty data disk in gigabytes.
+ *
+ * @return the diskSizeGB value
+ */
+ public Integer diskSizeGB() {
+ return this.diskSizeGB;
+ }
+
+ /**
+ * Set specifies the size of an empty data disk in gigabytes.
+ *
+ * @param diskSizeGB the diskSizeGB value to set
+ * @return the Disk object itself.
+ */
+ public Disk withDiskSizeGB(Integer diskSizeGB) {
+ this.diskSizeGB = diskSizeGB;
+ return this;
+ }
+
+ /**
+ * Get specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM.
+ *
+ * @return the lun value
+ */
+ public Integer lun() {
+ return this.lun;
+ }
+
+}
diff --git a/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/Display.java b/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/Display.java
new file mode 100644
index 000000000000..8f704e632d49
--- /dev/null
+++ b/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/Display.java
@@ -0,0 +1,104 @@
+/**
+ * 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.hanaonazure.v2017_11_03_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Detailed HANA operation information.
+ */
+public class Display {
+ /**
+ * The localized friendly form of the resource provider name. This form is
+ * also expected to include the publisher/company responsible. Use Title
+ * Casing. Begin with "Microsoft" for 1st party services.
+ */
+ @JsonProperty(value = "provider", access = JsonProperty.Access.WRITE_ONLY)
+ private String provider;
+
+ /**
+ * The localized friendly form of the resource type related to this
+ * action/operation. This form should match the public documentation for
+ * the resource provider. Use Title Casing. For examples, refer to the
+ * “name” section.
+ */
+ @JsonProperty(value = "resource", access = JsonProperty.Access.WRITE_ONLY)
+ private String resource;
+
+ /**
+ * The localized friendly name for the operation as shown to the user. This
+ * name should be concise (to fit in drop downs), but clear
+ * (self-documenting). Use Title Casing and include the entity/resource to
+ * which it applies.
+ */
+ @JsonProperty(value = "operation", access = JsonProperty.Access.WRITE_ONLY)
+ private String operation;
+
+ /**
+ * The localized friendly description for the operation as shown to the
+ * user. This description should be thorough, yet concise. It will be used
+ * in tool-tips and detailed views.
+ */
+ @JsonProperty(value = "description", access = JsonProperty.Access.WRITE_ONLY)
+ private String description;
+
+ /**
+ * The intended executor of the operation; governs the display of the
+ * operation in the RBAC UX and the audit logs UX. Default value is
+ * 'user,system'.
+ */
+ @JsonProperty(value = "origin", access = JsonProperty.Access.WRITE_ONLY)
+ private String origin;
+
+ /**
+ * Get the localized friendly form of the resource provider name. This form is also expected to include the publisher/company responsible. Use Title Casing. Begin with "Microsoft" for 1st party services.
+ *
+ * @return the provider value
+ */
+ public String provider() {
+ return this.provider;
+ }
+
+ /**
+ * Get the localized friendly form of the resource type related to this action/operation. This form should match the public documentation for the resource provider. Use Title Casing. For examples, refer to the “name” section.
+ *
+ * @return the resource value
+ */
+ public String resource() {
+ return this.resource;
+ }
+
+ /**
+ * Get the localized friendly name for the operation as shown to the user. This name should be concise (to fit in drop downs), but clear (self-documenting). Use Title Casing and include the entity/resource to which it applies.
+ *
+ * @return the operation value
+ */
+ public String operation() {
+ return this.operation;
+ }
+
+ /**
+ * Get the localized friendly description for the operation as shown to the user. This description should be thorough, yet concise. It will be used in tool-tips and detailed views.
+ *
+ * @return the description value
+ */
+ public String description() {
+ return this.description;
+ }
+
+ /**
+ * Get the intended executor of the operation; governs the display of the operation in the RBAC UX and the audit logs UX. Default value is 'user,system'.
+ *
+ * @return the origin value
+ */
+ public String origin() {
+ return this.origin;
+ }
+
+}
diff --git a/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/ErrorResponse.java b/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/ErrorResponse.java
new file mode 100644
index 000000000000..d084b1004576
--- /dev/null
+++ b/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/ErrorResponse.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.hanaonazure.v2017_11_03_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Describes the format of Error response.
+ */
+public class ErrorResponse {
+ /**
+ * Error code.
+ */
+ @JsonProperty(value = "code")
+ private String code;
+
+ /**
+ * Error message indicating why the operation failed.
+ */
+ @JsonProperty(value = "message")
+ private String message;
+
+ /**
+ * Get error code.
+ *
+ * @return the code value
+ */
+ public String code() {
+ return this.code;
+ }
+
+ /**
+ * Set error code.
+ *
+ * @param code the code value to set
+ * @return the ErrorResponse object itself.
+ */
+ public ErrorResponse withCode(String code) {
+ this.code = code;
+ return this;
+ }
+
+ /**
+ * Get error message indicating why the operation failed.
+ *
+ * @return the message value
+ */
+ public String message() {
+ return this.message;
+ }
+
+ /**
+ * Set error message indicating why the operation failed.
+ *
+ * @param message the message value to set
+ * @return the ErrorResponse object itself.
+ */
+ public ErrorResponse withMessage(String message) {
+ this.message = message;
+ return this;
+ }
+
+}
diff --git a/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/ErrorResponseException.java b/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/ErrorResponseException.java
new file mode 100644
index 000000000000..a541e5baaad0
--- /dev/null
+++ b/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/ErrorResponseException.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.hanaonazure.v2017_11_03_preview;
+
+import com.microsoft.rest.RestException;
+import okhttp3.ResponseBody;
+import retrofit2.Response;
+
+/**
+ * Exception thrown for an invalid response with ErrorResponse information.
+ */
+public class ErrorResponseException extends RestException {
+ /**
+ * Initializes a new instance of the ErrorResponseException class.
+ *
+ * @param message the exception message or the response content if a message is not available
+ * @param response the HTTP response
+ */
+ public ErrorResponseException(final String message, final Response response) {
+ super(message, response);
+ }
+
+ /**
+ * Initializes a new instance of the ErrorResponseException 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 ErrorResponseException(final String message, final Response response, final ErrorResponse body) {
+ super(message, response, body);
+ }
+
+ @Override
+ public ErrorResponse body() {
+ return (ErrorResponse) super.body();
+ }
+}
diff --git a/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/HanaHardwareTypeNamesEnum.java b/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/HanaHardwareTypeNamesEnum.java
new file mode 100644
index 000000000000..0cbb3921f62a
--- /dev/null
+++ b/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/HanaHardwareTypeNamesEnum.java
@@ -0,0 +1,41 @@
+/**
+ * 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.hanaonazure.v2017_11_03_preview;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for HanaHardwareTypeNamesEnum.
+ */
+public final class HanaHardwareTypeNamesEnum extends ExpandableStringEnum {
+ /** Static value Cisco_UCS for HanaHardwareTypeNamesEnum. */
+ public static final HanaHardwareTypeNamesEnum CISCO_UCS = fromString("Cisco_UCS");
+
+ /** Static value HPE for HanaHardwareTypeNamesEnum. */
+ public static final HanaHardwareTypeNamesEnum HPE = fromString("HPE");
+
+ /**
+ * Creates or finds a HanaHardwareTypeNamesEnum from its string representation.
+ * @param name a name to look for
+ * @return the corresponding HanaHardwareTypeNamesEnum
+ */
+ @JsonCreator
+ public static HanaHardwareTypeNamesEnum fromString(String name) {
+ return fromString(name, HanaHardwareTypeNamesEnum.class);
+ }
+
+ /**
+ * @return known HanaHardwareTypeNamesEnum values
+ */
+ public static Collection values() {
+ return values(HanaHardwareTypeNamesEnum.class);
+ }
+}
diff --git a/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/HanaInstance.java b/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/HanaInstance.java
new file mode 100644
index 000000000000..ca36deca92c4
--- /dev/null
+++ b/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/HanaInstance.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.hanaonazure.v2017_11_03_preview;
+
+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.resources.models.HasManager;
+import com.microsoft.azure.management.hanaonazure.v2017_11_03_preview.implementation.HanaOnAzureManager;
+import com.microsoft.azure.management.hanaonazure.v2017_11_03_preview.implementation.HanaInstanceInner;
+
+/**
+ * Type representing HanaInstance.
+ */
+public interface HanaInstance extends HasInner, Resource, GroupableResourceCore, HasResourceGroup, Refreshable, HasManager {
+ /**
+ * @return the hanaInstanceId value.
+ */
+ String hanaInstanceId();
+
+ /**
+ * @return the hardwareProfile value.
+ */
+ HardwareProfile hardwareProfile();
+
+ /**
+ * @return the networkProfile value.
+ */
+ NetworkProfile networkProfile();
+
+ /**
+ * @return the osProfile value.
+ */
+ OSProfile osProfile();
+
+ /**
+ * @return the powerState value.
+ */
+ HanaInstancePowerStateEnum powerState();
+
+ /**
+ * @return the storageProfile value.
+ */
+ StorageProfile storageProfile();
+
+}
diff --git a/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/HanaInstancePowerStateEnum.java b/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/HanaInstancePowerStateEnum.java
new file mode 100644
index 000000000000..c57763c6d6b7
--- /dev/null
+++ b/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/HanaInstancePowerStateEnum.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.hanaonazure.v2017_11_03_preview;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for HanaInstancePowerStateEnum.
+ */
+public final class HanaInstancePowerStateEnum extends ExpandableStringEnum {
+ /** Static value starting for HanaInstancePowerStateEnum. */
+ public static final HanaInstancePowerStateEnum STARTING = fromString("starting");
+
+ /** Static value started for HanaInstancePowerStateEnum. */
+ public static final HanaInstancePowerStateEnum STARTED = fromString("started");
+
+ /** Static value stopping for HanaInstancePowerStateEnum. */
+ public static final HanaInstancePowerStateEnum STOPPING = fromString("stopping");
+
+ /** Static value stopped for HanaInstancePowerStateEnum. */
+ public static final HanaInstancePowerStateEnum STOPPED = fromString("stopped");
+
+ /** Static value restarting for HanaInstancePowerStateEnum. */
+ public static final HanaInstancePowerStateEnum RESTARTING = fromString("restarting");
+
+ /** Static value unknown for HanaInstancePowerStateEnum. */
+ public static final HanaInstancePowerStateEnum UNKNOWN = fromString("unknown");
+
+ /**
+ * Creates or finds a HanaInstancePowerStateEnum from its string representation.
+ * @param name a name to look for
+ * @return the corresponding HanaInstancePowerStateEnum
+ */
+ @JsonCreator
+ public static HanaInstancePowerStateEnum fromString(String name) {
+ return fromString(name, HanaInstancePowerStateEnum.class);
+ }
+
+ /**
+ * @return known HanaInstancePowerStateEnum values
+ */
+ public static Collection values() {
+ return values(HanaInstancePowerStateEnum.class);
+ }
+}
diff --git a/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/HanaInstanceSizeNamesEnum.java b/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/HanaInstanceSizeNamesEnum.java
new file mode 100644
index 000000000000..e40dd96beced
--- /dev/null
+++ b/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/HanaInstanceSizeNamesEnum.java
@@ -0,0 +1,86 @@
+/**
+ * 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.hanaonazure.v2017_11_03_preview;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for HanaInstanceSizeNamesEnum.
+ */
+public final class HanaInstanceSizeNamesEnum extends ExpandableStringEnum {
+ /** Static value S72m for HanaInstanceSizeNamesEnum. */
+ public static final HanaInstanceSizeNamesEnum S72M = fromString("S72m");
+
+ /** Static value S144m for HanaInstanceSizeNamesEnum. */
+ public static final HanaInstanceSizeNamesEnum S144M = fromString("S144m");
+
+ /** Static value S72 for HanaInstanceSizeNamesEnum. */
+ public static final HanaInstanceSizeNamesEnum S72 = fromString("S72");
+
+ /** Static value S144 for HanaInstanceSizeNamesEnum. */
+ public static final HanaInstanceSizeNamesEnum S144 = fromString("S144");
+
+ /** Static value S192 for HanaInstanceSizeNamesEnum. */
+ public static final HanaInstanceSizeNamesEnum S192 = fromString("S192");
+
+ /** Static value S192m for HanaInstanceSizeNamesEnum. */
+ public static final HanaInstanceSizeNamesEnum S192M = fromString("S192m");
+
+ /** Static value S192xm for HanaInstanceSizeNamesEnum. */
+ public static final HanaInstanceSizeNamesEnum S192XM = fromString("S192xm");
+
+ /** Static value S384 for HanaInstanceSizeNamesEnum. */
+ public static final HanaInstanceSizeNamesEnum S384 = fromString("S384");
+
+ /** Static value S384m for HanaInstanceSizeNamesEnum. */
+ public static final HanaInstanceSizeNamesEnum S384M = fromString("S384m");
+
+ /** Static value S384xm for HanaInstanceSizeNamesEnum. */
+ public static final HanaInstanceSizeNamesEnum S384XM = fromString("S384xm");
+
+ /** Static value S384xxm for HanaInstanceSizeNamesEnum. */
+ public static final HanaInstanceSizeNamesEnum S384XXM = fromString("S384xxm");
+
+ /** Static value S576m for HanaInstanceSizeNamesEnum. */
+ public static final HanaInstanceSizeNamesEnum S576M = fromString("S576m");
+
+ /** Static value S576xm for HanaInstanceSizeNamesEnum. */
+ public static final HanaInstanceSizeNamesEnum S576XM = fromString("S576xm");
+
+ /** Static value S768 for HanaInstanceSizeNamesEnum. */
+ public static final HanaInstanceSizeNamesEnum S768 = fromString("S768");
+
+ /** Static value S768m for HanaInstanceSizeNamesEnum. */
+ public static final HanaInstanceSizeNamesEnum S768M = fromString("S768m");
+
+ /** Static value S768xm for HanaInstanceSizeNamesEnum. */
+ public static final HanaInstanceSizeNamesEnum S768XM = fromString("S768xm");
+
+ /** Static value S960m for HanaInstanceSizeNamesEnum. */
+ public static final HanaInstanceSizeNamesEnum S960M = fromString("S960m");
+
+ /**
+ * Creates or finds a HanaInstanceSizeNamesEnum from its string representation.
+ * @param name a name to look for
+ * @return the corresponding HanaInstanceSizeNamesEnum
+ */
+ @JsonCreator
+ public static HanaInstanceSizeNamesEnum fromString(String name) {
+ return fromString(name, HanaInstanceSizeNamesEnum.class);
+ }
+
+ /**
+ * @return known HanaInstanceSizeNamesEnum values
+ */
+ public static Collection values() {
+ return values(HanaInstanceSizeNamesEnum.class);
+ }
+}
diff --git a/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/HanaInstances.java b/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/HanaInstances.java
new file mode 100644
index 000000000000..f33020d09a3a
--- /dev/null
+++ b/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/HanaInstances.java
@@ -0,0 +1,22 @@
+/**
+ * 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.hanaonazure.v2017_11_03_preview;
+
+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.hanaonazure.v2017_11_03_preview.implementation.HanaInstancesInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing HanaInstances.
+ */
+public interface HanaInstances extends SupportsGettingByResourceGroup, SupportsListingByResourceGroup, SupportsListing, HasInner {
+}
diff --git a/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/HardwareProfile.java b/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/HardwareProfile.java
new file mode 100644
index 000000000000..054e902bf904
--- /dev/null
+++ b/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/HardwareProfile.java
@@ -0,0 +1,51 @@
+/**
+ * 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.hanaonazure.v2017_11_03_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Specifies the hardware settings for the HANA instance.
+ */
+public class HardwareProfile {
+ /**
+ * Name of the hardware type (vendor and/or their product name). Possible
+ * values include: 'Cisco_UCS', 'HPE'.
+ */
+ @JsonProperty(value = "hardwareType", access = JsonProperty.Access.WRITE_ONLY)
+ private HanaHardwareTypeNamesEnum hardwareType;
+
+ /**
+ * Specifies the HANA instance SKU. Possible values include: 'S72m',
+ * 'S144m', 'S72', 'S144', 'S192', 'S192m', 'S192xm', 'S384', 'S384m',
+ * 'S384xm', 'S384xxm', 'S576m', 'S576xm', 'S768', 'S768m', 'S768xm',
+ * 'S960m'.
+ */
+ @JsonProperty(value = "hanaInstanceSize", access = JsonProperty.Access.WRITE_ONLY)
+ private HanaInstanceSizeNamesEnum hanaInstanceSize;
+
+ /**
+ * Get name of the hardware type (vendor and/or their product name). Possible values include: 'Cisco_UCS', 'HPE'.
+ *
+ * @return the hardwareType value
+ */
+ public HanaHardwareTypeNamesEnum hardwareType() {
+ return this.hardwareType;
+ }
+
+ /**
+ * Get specifies the HANA instance SKU. Possible values include: 'S72m', 'S144m', 'S72', 'S144', 'S192', 'S192m', 'S192xm', 'S384', 'S384m', 'S384xm', 'S384xxm', 'S576m', 'S576xm', 'S768', 'S768m', 'S768xm', 'S960m'.
+ *
+ * @return the hanaInstanceSize value
+ */
+ public HanaInstanceSizeNamesEnum hanaInstanceSize() {
+ return this.hanaInstanceSize;
+ }
+
+}
diff --git a/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/IpAddress.java b/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/IpAddress.java
new file mode 100644
index 000000000000..f1ca917b19ae
--- /dev/null
+++ b/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/IpAddress.java
@@ -0,0 +1,32 @@
+/**
+ * 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.hanaonazure.v2017_11_03_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Specifies the IP address of the network interaface.
+ */
+public class IpAddress {
+ /**
+ * Specifies the IP address of the network interface.
+ */
+ @JsonProperty(value = "ipAddress", access = JsonProperty.Access.WRITE_ONLY)
+ private String ipAddress;
+
+ /**
+ * Get specifies the IP address of the network interface.
+ *
+ * @return the ipAddress value
+ */
+ public String ipAddress() {
+ return this.ipAddress;
+ }
+
+}
diff --git a/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/NetworkProfile.java b/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/NetworkProfile.java
new file mode 100644
index 000000000000..0a355839dc5c
--- /dev/null
+++ b/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/NetworkProfile.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.hanaonazure.v2017_11_03_preview;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Specifies the network settings for the HANA instance disks.
+ */
+public class NetworkProfile {
+ /**
+ * Specifies the network interfaces for the HANA instance.
+ */
+ @JsonProperty(value = "networkInterfaces")
+ private List networkInterfaces;
+
+ /**
+ * Specifies the circuit id for connecting to express route.
+ */
+ @JsonProperty(value = "circuitId", access = JsonProperty.Access.WRITE_ONLY)
+ private String circuitId;
+
+ /**
+ * Get specifies the network interfaces for the HANA instance.
+ *
+ * @return the networkInterfaces value
+ */
+ public List networkInterfaces() {
+ return this.networkInterfaces;
+ }
+
+ /**
+ * Set specifies the network interfaces for the HANA instance.
+ *
+ * @param networkInterfaces the networkInterfaces value to set
+ * @return the NetworkProfile object itself.
+ */
+ public NetworkProfile withNetworkInterfaces(List networkInterfaces) {
+ this.networkInterfaces = networkInterfaces;
+ return this;
+ }
+
+ /**
+ * Get specifies the circuit id for connecting to express route.
+ *
+ * @return the circuitId value
+ */
+ public String circuitId() {
+ return this.circuitId;
+ }
+
+}
diff --git a/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/OSProfile.java b/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/OSProfile.java
new file mode 100644
index 000000000000..a2c68a942fe0
--- /dev/null
+++ b/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/OSProfile.java
@@ -0,0 +1,62 @@
+/**
+ * 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.hanaonazure.v2017_11_03_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Specifies the operating system settings for the HANA instance.
+ */
+public class OSProfile {
+ /**
+ * Specifies the host OS name of the HANA instance.
+ */
+ @JsonProperty(value = "computerName", access = JsonProperty.Access.WRITE_ONLY)
+ private String computerName;
+
+ /**
+ * This property allows you to specify the type of the OS.
+ */
+ @JsonProperty(value = "osType", access = JsonProperty.Access.WRITE_ONLY)
+ private String osType;
+
+ /**
+ * Specifies version of operating system.
+ */
+ @JsonProperty(value = "version", access = JsonProperty.Access.WRITE_ONLY)
+ private String version;
+
+ /**
+ * Get specifies the host OS name of the HANA instance.
+ *
+ * @return the computerName value
+ */
+ public String computerName() {
+ return this.computerName;
+ }
+
+ /**
+ * Get this property allows you to specify the type of the OS.
+ *
+ * @return the osType value
+ */
+ public String osType() {
+ return this.osType;
+ }
+
+ /**
+ * Get specifies version of operating system.
+ *
+ * @return the version value
+ */
+ public String version() {
+ return this.version;
+ }
+
+}
diff --git a/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/Operation.java b/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/Operation.java
new file mode 100644
index 000000000000..7aabd2011749
--- /dev/null
+++ b/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/Operation.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.hanaonazure.v2017_11_03_preview;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.hanaonazure.v2017_11_03_preview.implementation.HanaOnAzureManager;
+import com.microsoft.azure.management.hanaonazure.v2017_11_03_preview.implementation.OperationInner;
+
+/**
+ * Type representing Operation.
+ */
+public interface Operation extends HasInner, HasManager {
+ /**
+ * @return the display value.
+ */
+ Display display();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+}
diff --git a/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/Operations.java b/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/Operations.java
new file mode 100644
index 000000000000..3f75a91d8256
--- /dev/null
+++ b/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/Operations.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.hanaonazure.v2017_11_03_preview;
+
+import rx.Observable;
+import com.microsoft.azure.management.hanaonazure.v2017_11_03_preview.implementation.OperationsInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing Operations.
+ */
+public interface Operations extends HasInner {
+ /**
+ * Gets a list of SAP HANA management operations.
+ *
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listAsync();
+
+}
diff --git a/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/StorageProfile.java b/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/StorageProfile.java
new file mode 100644
index 000000000000..8cb4cb967aca
--- /dev/null
+++ b/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/StorageProfile.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.hanaonazure.v2017_11_03_preview;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Specifies the storage settings for the HANA instance disks.
+ */
+public class StorageProfile {
+ /**
+ * IP Address to connect to storage.
+ */
+ @JsonProperty(value = "nfsIpAddress", access = JsonProperty.Access.WRITE_ONLY)
+ private String nfsIpAddress;
+
+ /**
+ * Specifies information about the operating system disk used by the hana
+ * instance.
+ */
+ @JsonProperty(value = "osDisks")
+ private List osDisks;
+
+ /**
+ * Get iP Address to connect to storage.
+ *
+ * @return the nfsIpAddress value
+ */
+ public String nfsIpAddress() {
+ return this.nfsIpAddress;
+ }
+
+ /**
+ * Get specifies information about the operating system disk used by the hana instance.
+ *
+ * @return the osDisks value
+ */
+ public List osDisks() {
+ return this.osDisks;
+ }
+
+ /**
+ * Set specifies information about the operating system disk used by the hana instance.
+ *
+ * @param osDisks the osDisks value to set
+ * @return the StorageProfile object itself.
+ */
+ public StorageProfile withOsDisks(List osDisks) {
+ this.osDisks = osDisks;
+ return this;
+ }
+
+}
diff --git a/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/implementation/HanaInstanceImpl.java b/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/implementation/HanaInstanceImpl.java
new file mode 100644
index 000000000000..867bb074bbd4
--- /dev/null
+++ b/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/implementation/HanaInstanceImpl.java
@@ -0,0 +1,75 @@
+/**
+ * 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.hanaonazure.v2017_11_03_preview.implementation;
+
+import com.microsoft.azure.arm.resources.models.implementation.GroupableResourceCoreImpl;
+import com.microsoft.azure.management.hanaonazure.v2017_11_03_preview.HanaInstance;
+import rx.Observable;
+import com.microsoft.azure.management.hanaonazure.v2017_11_03_preview.HardwareProfile;
+import com.microsoft.azure.management.hanaonazure.v2017_11_03_preview.NetworkProfile;
+import com.microsoft.azure.management.hanaonazure.v2017_11_03_preview.OSProfile;
+import com.microsoft.azure.management.hanaonazure.v2017_11_03_preview.HanaInstancePowerStateEnum;
+import com.microsoft.azure.management.hanaonazure.v2017_11_03_preview.StorageProfile;
+
+class HanaInstanceImpl extends GroupableResourceCoreImpl implements HanaInstance {
+ HanaInstanceImpl(String name, HanaInstanceInner inner, HanaOnAzureManager manager) {
+ super(name, inner, manager);
+ }
+
+ @Override
+ public Observable createResourceAsync() {
+ HanaInstancesInner client = this.manager().inner().hanaInstances();
+ return null; // NOP createResourceAsync implementation as create is not supported
+ }
+
+ @Override
+ public Observable updateResourceAsync() {
+ HanaInstancesInner client = this.manager().inner().hanaInstances();
+ return null; // NOP updateResourceAsync implementation as update is not supported
+ }
+
+ @Override
+ protected Observable getInnerAsync() {
+ HanaInstancesInner client = this.manager().inner().hanaInstances();
+ return client.getByResourceGroupAsync(this.resourceGroupName(), this.name());
+ }
+
+
+
+ @Override
+ public String hanaInstanceId() {
+ return this.inner().hanaInstanceId();
+ }
+
+ @Override
+ public HardwareProfile hardwareProfile() {
+ return this.inner().hardwareProfile();
+ }
+
+ @Override
+ public NetworkProfile networkProfile() {
+ return this.inner().networkProfile();
+ }
+
+ @Override
+ public OSProfile osProfile() {
+ return this.inner().osProfile();
+ }
+
+ @Override
+ public HanaInstancePowerStateEnum powerState() {
+ return this.inner().powerState();
+ }
+
+ @Override
+ public StorageProfile storageProfile() {
+ return this.inner().storageProfile();
+ }
+
+}
diff --git a/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/implementation/HanaInstanceInner.java b/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/implementation/HanaInstanceInner.java
new file mode 100644
index 000000000000..6ee0b6592db5
--- /dev/null
+++ b/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/implementation/HanaInstanceInner.java
@@ -0,0 +1,162 @@
+/**
+ * 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.hanaonazure.v2017_11_03_preview.implementation;
+
+import com.microsoft.azure.management.hanaonazure.v2017_11_03_preview.HardwareProfile;
+import com.microsoft.azure.management.hanaonazure.v2017_11_03_preview.StorageProfile;
+import com.microsoft.azure.management.hanaonazure.v2017_11_03_preview.OSProfile;
+import com.microsoft.azure.management.hanaonazure.v2017_11_03_preview.NetworkProfile;
+import com.microsoft.azure.management.hanaonazure.v2017_11_03_preview.HanaInstancePowerStateEnum;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.microsoft.rest.serializer.JsonFlatten;
+import com.microsoft.rest.SkipParentValidation;
+import com.microsoft.azure.Resource;
+
+/**
+ * HANA instance info on Azure (ARM properties and HANA properties).
+ */
+@JsonFlatten
+@SkipParentValidation
+public class HanaInstanceInner extends Resource {
+ /**
+ * Specifies the hardware settings for the HANA instance.
+ */
+ @JsonProperty(value = "properties.hardwareProfile")
+ private HardwareProfile hardwareProfile;
+
+ /**
+ * Specifies the storage settings for the HANA instance disks.
+ */
+ @JsonProperty(value = "properties.storageProfile")
+ private StorageProfile storageProfile;
+
+ /**
+ * Specifies the operating system settings for the HANA instance.
+ */
+ @JsonProperty(value = "properties.osProfile")
+ private OSProfile osProfile;
+
+ /**
+ * Specifies the network settings for the HANA instance.
+ */
+ @JsonProperty(value = "properties.networkProfile")
+ private NetworkProfile networkProfile;
+
+ /**
+ * Specifies the HANA instance unique ID.
+ */
+ @JsonProperty(value = "properties.hanaInstanceId", access = JsonProperty.Access.WRITE_ONLY)
+ private String hanaInstanceId;
+
+ /**
+ * Resource power state. Possible values include: 'starting', 'started',
+ * 'stopping', 'stopped', 'restarting', 'unknown'.
+ */
+ @JsonProperty(value = "properties.powerState", access = JsonProperty.Access.WRITE_ONLY)
+ private HanaInstancePowerStateEnum powerState;
+
+ /**
+ * Get specifies the hardware settings for the HANA instance.
+ *
+ * @return the hardwareProfile value
+ */
+ public HardwareProfile hardwareProfile() {
+ return this.hardwareProfile;
+ }
+
+ /**
+ * Set specifies the hardware settings for the HANA instance.
+ *
+ * @param hardwareProfile the hardwareProfile value to set
+ * @return the HanaInstanceInner object itself.
+ */
+ public HanaInstanceInner withHardwareProfile(HardwareProfile hardwareProfile) {
+ this.hardwareProfile = hardwareProfile;
+ return this;
+ }
+
+ /**
+ * Get specifies the storage settings for the HANA instance disks.
+ *
+ * @return the storageProfile value
+ */
+ public StorageProfile storageProfile() {
+ return this.storageProfile;
+ }
+
+ /**
+ * Set specifies the storage settings for the HANA instance disks.
+ *
+ * @param storageProfile the storageProfile value to set
+ * @return the HanaInstanceInner object itself.
+ */
+ public HanaInstanceInner withStorageProfile(StorageProfile storageProfile) {
+ this.storageProfile = storageProfile;
+ return this;
+ }
+
+ /**
+ * Get specifies the operating system settings for the HANA instance.
+ *
+ * @return the osProfile value
+ */
+ public OSProfile osProfile() {
+ return this.osProfile;
+ }
+
+ /**
+ * Set specifies the operating system settings for the HANA instance.
+ *
+ * @param osProfile the osProfile value to set
+ * @return the HanaInstanceInner object itself.
+ */
+ public HanaInstanceInner withOsProfile(OSProfile osProfile) {
+ this.osProfile = osProfile;
+ return this;
+ }
+
+ /**
+ * Get specifies the network settings for the HANA instance.
+ *
+ * @return the networkProfile value
+ */
+ public NetworkProfile networkProfile() {
+ return this.networkProfile;
+ }
+
+ /**
+ * Set specifies the network settings for the HANA instance.
+ *
+ * @param networkProfile the networkProfile value to set
+ * @return the HanaInstanceInner object itself.
+ */
+ public HanaInstanceInner withNetworkProfile(NetworkProfile networkProfile) {
+ this.networkProfile = networkProfile;
+ return this;
+ }
+
+ /**
+ * Get specifies the HANA instance unique ID.
+ *
+ * @return the hanaInstanceId value
+ */
+ public String hanaInstanceId() {
+ return this.hanaInstanceId;
+ }
+
+ /**
+ * Get resource power state. Possible values include: 'starting', 'started', 'stopping', 'stopped', 'restarting', 'unknown'.
+ *
+ * @return the powerState value
+ */
+ public HanaInstancePowerStateEnum powerState() {
+ return this.powerState;
+ }
+
+}
diff --git a/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/implementation/HanaInstancesImpl.java b/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/implementation/HanaInstancesImpl.java
new file mode 100644
index 000000000000..607524c6624c
--- /dev/null
+++ b/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/implementation/HanaInstancesImpl.java
@@ -0,0 +1,96 @@
+/**
+ * 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.hanaonazure.v2017_11_03_preview.implementation;
+
+import com.microsoft.azure.arm.resources.collection.implementation.GroupableResourcesCoreImpl;
+import com.microsoft.azure.management.hanaonazure.v2017_11_03_preview.HanaInstances;
+import com.microsoft.azure.management.hanaonazure.v2017_11_03_preview.HanaInstance;
+import rx.Observable;
+import rx.Completable;
+import rx.functions.Func1;
+import com.microsoft.azure.PagedList;
+import com.microsoft.azure.Page;
+
+class HanaInstancesImpl extends GroupableResourcesCoreImpl implements HanaInstances {
+ protected HanaInstancesImpl(HanaOnAzureManager manager) {
+ super(manager.inner().hanaInstances(), manager);
+ }
+
+ @Override
+ protected Observable getInnerAsync(String resourceGroupName, String name) {
+ HanaInstancesInner client = this.inner();
+ return client.getByResourceGroupAsync(resourceGroupName, name);
+ }
+
+ @Override
+ protected Completable deleteInnerAsync(String resourceGroupName, String name) {
+ HanaInstancesInner client = this.inner();
+ return Completable.error(new Throwable("Delete by RG not supported for this resource")); // NOP Delete by RG not supported
+ }
+
+ @Override
+ public PagedList listByResourceGroup(String resourceGroupName) {
+ HanaInstancesInner client = this.inner();
+ return this.wrapList(client.listByResourceGroup(resourceGroupName));
+ }
+
+ @Override
+ public Observable listByResourceGroupAsync(String resourceGroupName) {
+ HanaInstancesInner 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 HanaInstance call(HanaInstanceInner inner) {
+ return wrapModel(inner);
+ }
+ });
+ }
+
+ @Override
+ public PagedList list() {
+ HanaInstancesInner client = this.inner();
+ return this.wrapList(client.list());
+ }
+
+ @Override
+ public Observable listAsync() {
+ HanaInstancesInner client = this.inner();
+ return client.listAsync()
+ .flatMapIterable(new Func1, Iterable>() {
+ @Override
+ public Iterable call(Page page) {
+ return page.items();
+ }
+ })
+ .map(new Func1() {
+ @Override
+ public HanaInstance call(HanaInstanceInner inner) {
+ return wrapModel(inner);
+ }
+ });
+ }
+
+ @Override
+ protected HanaInstanceImpl wrapModel(HanaInstanceInner inner) {
+ return new HanaInstanceImpl(inner.name(), inner, manager());
+ }
+
+ @Override
+ protected HanaInstanceImpl wrapModel(String name) {
+ return null; // Model is not creatable
+ }
+
+}
diff --git a/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/implementation/HanaInstancesInner.java b/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/implementation/HanaInstancesInner.java
new file mode 100644
index 000000000000..83bd78fbe85d
--- /dev/null
+++ b/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/implementation/HanaInstancesInner.java
@@ -0,0 +1,638 @@
+/**
+ * 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.hanaonazure.v2017_11_03_preview.implementation;
+
+import com.microsoft.azure.arm.collection.InnerSupportsGet;
+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.hanaonazure.v2017_11_03_preview.ErrorResponseException;
+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 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.Path;
+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 HanaInstances.
+ */
+public class HanaInstancesInner implements InnerSupportsGet, InnerSupportsListing {
+ /** The Retrofit service to perform REST calls. */
+ private HanaInstancesService service;
+ /** The service client containing this operation class. */
+ private HanaManagementClientImpl client;
+
+ /**
+ * Initializes an instance of HanaInstancesInner.
+ *
+ * @param retrofit the Retrofit instance built from a Retrofit Builder.
+ * @param client the instance of the service client containing this operation class.
+ */
+ public HanaInstancesInner(Retrofit retrofit, HanaManagementClientImpl client) {
+ this.service = retrofit.create(HanaInstancesService.class);
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for HanaInstances to be
+ * used by Retrofit to perform actually REST calls.
+ */
+ interface HanaInstancesService {
+ @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.hanaonazure.v2017_11_03_preview.HanaInstances list" })
+ @GET("subscriptions/{subscriptionId}/providers/Microsoft.HanaOnAzure/hanaInstances")
+ Observable> list(@Path("subscriptionId") String subscriptionId, @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.hanaonazure.v2017_11_03_preview.HanaInstances listByResourceGroup" })
+ @GET("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HanaOnAzure/hanaInstances")
+ Observable> listByResourceGroup(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @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.hanaonazure.v2017_11_03_preview.HanaInstances getByResourceGroup" })
+ @GET("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HanaOnAzure/hanaInstances/{hanaInstanceName}")
+ Observable> getByResourceGroup(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("hanaInstanceName") String hanaInstanceName, @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.hanaonazure.v2017_11_03_preview.HanaInstances 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.hanaonazure.v2017_11_03_preview.HanaInstances listByResourceGroupNext" })
+ @GET
+ Observable> listByResourceGroupNext(@Url String nextUrl, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
+
+ }
+
+ /**
+ * Gets a list of SAP HANA instances in the specified subscription.
+ * Gets a list of SAP HANA instances in the specified subscription. The operations returns various properties of each SAP HANA on Azure instance.
+ *
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @throws ErrorResponseException 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<HanaInstanceInner> 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();
+ }
+ };
+ }
+
+ /**
+ * Gets a list of SAP HANA instances in the specified subscription.
+ * Gets a list of SAP HANA instances in the specified subscription. The operations returns various properties of each SAP HANA on Azure instance.
+ *
+ * @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);
+ }
+
+ /**
+ * Gets a list of SAP HANA instances in the specified subscription.
+ * Gets a list of SAP HANA instances in the specified subscription. The operations returns various properties of each SAP HANA on Azure instance.
+ *
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the PagedList<HanaInstanceInner> object
+ */
+ public Observable> listAsync() {
+ return listWithServiceResponseAsync()
+ .map(new Func1>, Page>() {
+ @Override
+ public Page call(ServiceResponse> response) {
+ return response.body();
+ }
+ });
+ }
+
+ /**
+ * Gets a list of SAP HANA instances in the specified subscription.
+ * Gets a list of SAP HANA instances in the specified subscription. The operations returns various properties of each SAP HANA on Azure instance.
+ *
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the PagedList<HanaInstanceInner> 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));
+ }
+ });
+ }
+
+ /**
+ * Gets a list of SAP HANA instances in the specified subscription.
+ * Gets a list of SAP HANA instances in the specified subscription. The operations returns various properties of each SAP HANA on Azure instance.
+ *
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the PagedList<HanaInstanceInner> 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.");
+ }
+ return service.list(this.client.subscriptionId(), 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 ErrorResponseException, IOException, IllegalArgumentException {
+ return this.client.restClient().responseBuilderFactory()., ErrorResponseException>newInstance(this.client.serializerAdapter())
+ .register(200, new TypeToken>() { }.getType())
+ .registerError(ErrorResponseException.class)
+ .build(response);
+ }
+
+ /**
+ * Gets a list of SAP HANA instances in the specified subscription and the resource group.
+ * Gets a list of SAP HANA instances in the specified subscription and the resource group. The operations returns various properties of each SAP HANA on Azure instance.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @throws ErrorResponseException 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<HanaInstanceInner> object if successful.
+ */
+ public PagedList listByResourceGroup(final String resourceGroupName) {
+ ServiceResponse> response = listByResourceGroupSinglePageAsync(resourceGroupName).toBlocking().single();
+ return new PagedList(response.body()) {
+ @Override
+ public Page nextPage(String nextPageLink) {
+ return listByResourceGroupNextSinglePageAsync(nextPageLink).toBlocking().single().body();
+ }
+ };
+ }
+
+ /**
+ * Gets a list of SAP HANA instances in the specified subscription and the resource group.
+ * Gets a list of SAP HANA instances in the specified subscription and the resource group. The operations returns various properties of each SAP HANA on Azure instance.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @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> listByResourceGroupAsync(final String resourceGroupName, final ListOperationCallback serviceCallback) {
+ return AzureServiceFuture.fromPageResponse(
+ listByResourceGroupSinglePageAsync(resourceGroupName),
+ new Func1>>>() {
+ @Override
+ public Observable>> call(String nextPageLink) {
+ return listByResourceGroupNextSinglePageAsync(nextPageLink);
+ }
+ },
+ serviceCallback);
+ }
+
+ /**
+ * Gets a list of SAP HANA instances in the specified subscription and the resource group.
+ * Gets a list of SAP HANA instances in the specified subscription and the resource group. The operations returns various properties of each SAP HANA on Azure instance.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the PagedList<HanaInstanceInner> object
+ */
+ public Observable> listByResourceGroupAsync(final String resourceGroupName) {
+ return listByResourceGroupWithServiceResponseAsync(resourceGroupName)
+ .map(new Func1>, Page>() {
+ @Override
+ public Page call(ServiceResponse> response) {
+ return response.body();
+ }
+ });
+ }
+
+ /**
+ * Gets a list of SAP HANA instances in the specified subscription and the resource group.
+ * Gets a list of SAP HANA instances in the specified subscription and the resource group. The operations returns various properties of each SAP HANA on Azure instance.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the PagedList<HanaInstanceInner> object
+ */
+ public Observable>> listByResourceGroupWithServiceResponseAsync(final String resourceGroupName) {
+ return listByResourceGroupSinglePageAsync(resourceGroupName)
+ .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(listByResourceGroupNextWithServiceResponseAsync(nextPageLink));
+ }
+ });
+ }
+
+ /**
+ * Gets a list of SAP HANA instances in the specified subscription and the resource group.
+ * Gets a list of SAP HANA instances in the specified subscription and the resource group. The operations returns various properties of each SAP HANA on Azure instance.
+ *
+ ServiceResponse> * @param resourceGroupName Name of the resource group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the PagedList<HanaInstanceInner> object wrapped in {@link ServiceResponse} if successful.
+ */
+ public Observable>> listByResourceGroupSinglePageAsync(final String resourceGroupName) {
+ if (this.client.subscriptionId() == null) {
+ throw new IllegalArgumentException("Parameter this.client.subscriptionId() is required and cannot be null.");
+ }
+ if (resourceGroupName == null) {
+ throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null.");
+ }
+ if (this.client.apiVersion() == null) {
+ throw new IllegalArgumentException("Parameter this.client.apiVersion() is required and cannot be null.");
+ }
+ return service.listByResourceGroup(this.client.subscriptionId(), resourceGroupName, this.client.apiVersion(), this.client.acceptLanguage(), this.client.userAgent())
+ .flatMap(new Func1, Observable>>>() {
+ @Override
+ public Observable>> call(Response response) {
+ try {
+ ServiceResponse> result = listByResourceGroupDelegate(response);
+ return Observable.just(new ServiceResponse>(result.body(), result.response()));
+ } catch (Throwable t) {
+ return Observable.error(t);
+ }
+ }
+ });
+ }
+
+ private ServiceResponse> listByResourceGroupDelegate(Response response) throws ErrorResponseException, IOException, IllegalArgumentException {
+ return this.client.restClient().responseBuilderFactory()., ErrorResponseException>newInstance(this.client.serializerAdapter())
+ .register(200, new TypeToken>() { }.getType())
+ .registerError(ErrorResponseException.class)
+ .build(response);
+ }
+
+ /**
+ * Gets properties of a SAP HANA instance.
+ * Gets properties of a SAP HANA instance for the specified subscription, resource group, and instance name.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @param hanaInstanceName Name of the SAP HANA on Azure instance.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @throws ErrorResponseException thrown if the request is rejected by server
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent
+ * @return the HanaInstanceInner object if successful.
+ */
+ public HanaInstanceInner getByResourceGroup(String resourceGroupName, String hanaInstanceName) {
+ return getByResourceGroupWithServiceResponseAsync(resourceGroupName, hanaInstanceName).toBlocking().single().body();
+ }
+
+ /**
+ * Gets properties of a SAP HANA instance.
+ * Gets properties of a SAP HANA instance for the specified subscription, resource group, and instance name.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @param hanaInstanceName Name of the SAP HANA on Azure instance.
+ * @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 getByResourceGroupAsync(String resourceGroupName, String hanaInstanceName, final ServiceCallback serviceCallback) {
+ return ServiceFuture.fromResponse(getByResourceGroupWithServiceResponseAsync(resourceGroupName, hanaInstanceName), serviceCallback);
+ }
+
+ /**
+ * Gets properties of a SAP HANA instance.
+ * Gets properties of a SAP HANA instance for the specified subscription, resource group, and instance name.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @param hanaInstanceName Name of the SAP HANA on Azure instance.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the HanaInstanceInner object
+ */
+ public Observable getByResourceGroupAsync(String resourceGroupName, String hanaInstanceName) {
+ return getByResourceGroupWithServiceResponseAsync(resourceGroupName, hanaInstanceName).map(new Func1, HanaInstanceInner>() {
+ @Override
+ public HanaInstanceInner call(ServiceResponse response) {
+ return response.body();
+ }
+ });
+ }
+
+ /**
+ * Gets properties of a SAP HANA instance.
+ * Gets properties of a SAP HANA instance for the specified subscription, resource group, and instance name.
+ *
+ * @param resourceGroupName Name of the resource group.
+ * @param hanaInstanceName Name of the SAP HANA on Azure instance.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the HanaInstanceInner object
+ */
+ public Observable> getByResourceGroupWithServiceResponseAsync(String resourceGroupName, String hanaInstanceName) {
+ if (this.client.subscriptionId() == null) {
+ throw new IllegalArgumentException("Parameter this.client.subscriptionId() is required and cannot be null.");
+ }
+ if (resourceGroupName == null) {
+ throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null.");
+ }
+ if (hanaInstanceName == null) {
+ throw new IllegalArgumentException("Parameter hanaInstanceName is required and cannot be null.");
+ }
+ if (this.client.apiVersion() == null) {
+ throw new IllegalArgumentException("Parameter this.client.apiVersion() is required and cannot be null.");
+ }
+ return service.getByResourceGroup(this.client.subscriptionId(), resourceGroupName, hanaInstanceName, this.client.apiVersion(), this.client.acceptLanguage(), this.client.userAgent())
+ .flatMap(new Func1, Observable>>() {
+ @Override
+ public Observable> call(Response response) {
+ try {
+ ServiceResponse clientResponse = getByResourceGroupDelegate(response);
+ return Observable.just(clientResponse);
+ } catch (Throwable t) {
+ return Observable.error(t);
+ }
+ }
+ });
+ }
+
+ private ServiceResponse getByResourceGroupDelegate(Response response) throws ErrorResponseException, IOException, IllegalArgumentException {
+ return this.client.restClient().responseBuilderFactory().newInstance(this.client.serializerAdapter())
+ .register(200, new TypeToken() { }.getType())
+ .registerError(ErrorResponseException.class)
+ .build(response);
+ }
+
+ /**
+ * Gets a list of SAP HANA instances in the specified subscription.
+ * Gets a list of SAP HANA instances in the specified subscription. The operations returns various properties of each SAP HANA on Azure instance.
+ *
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @throws ErrorResponseException 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<HanaInstanceInner> 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();
+ }
+ };
+ }
+
+ /**
+ * Gets a list of SAP HANA instances in the specified subscription.
+ * Gets a list of SAP HANA instances in the specified subscription. The operations returns various properties of each SAP HANA on Azure instance.
+ *
+ * @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);
+ }
+
+ /**
+ * Gets a list of SAP HANA instances in the specified subscription.
+ * Gets a list of SAP HANA instances in the specified subscription. The operations returns various properties of each SAP HANA on Azure instance.
+ *
+ * @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<HanaInstanceInner> object
+ */
+ public Observable> listNextAsync(final String nextPageLink) {
+ return listNextWithServiceResponseAsync(nextPageLink)
+ .map(new Func1>, Page>() {
+ @Override
+ public Page call(ServiceResponse> response) {
+ return response.body();
+ }
+ });
+ }
+
+ /**
+ * Gets a list of SAP HANA instances in the specified subscription.
+ * Gets a list of SAP HANA instances in the specified subscription. The operations returns various properties of each SAP HANA on Azure instance.
+ *
+ * @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<HanaInstanceInner> 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));
+ }
+ });
+ }
+
+ /**
+ * Gets a list of SAP HANA instances in the specified subscription.
+ * Gets a list of SAP HANA instances in the specified subscription. The operations returns various properties of each SAP HANA on Azure instance.
+ *
+ ServiceResponse> * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the PagedList<HanaInstanceInner> 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 ErrorResponseException, IOException, IllegalArgumentException {
+ return this.client.restClient().responseBuilderFactory()., ErrorResponseException>newInstance(this.client.serializerAdapter())
+ .register(200, new TypeToken>() { }.getType())
+ .registerError(ErrorResponseException.class)
+ .build(response);
+ }
+
+ /**
+ * Gets a list of SAP HANA instances in the specified subscription and the resource group.
+ * Gets a list of SAP HANA instances in the specified subscription and the resource group. The operations returns various properties of each SAP HANA on Azure instance.
+ *
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @throws ErrorResponseException 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<HanaInstanceInner> object if successful.
+ */
+ public PagedList listByResourceGroupNext(final String nextPageLink) {
+ ServiceResponse> response = listByResourceGroupNextSinglePageAsync(nextPageLink).toBlocking().single();
+ return new PagedList(response.body()) {
+ @Override
+ public Page nextPage(String nextPageLink) {
+ return listByResourceGroupNextSinglePageAsync(nextPageLink).toBlocking().single().body();
+ }
+ };
+ }
+
+ /**
+ * Gets a list of SAP HANA instances in the specified subscription and the resource group.
+ * Gets a list of SAP HANA instances in the specified subscription and the resource group. The operations returns various properties of each SAP HANA on Azure instance.
+ *
+ * @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> listByResourceGroupNextAsync(final String nextPageLink, final ServiceFuture> serviceFuture, final ListOperationCallback serviceCallback) {
+ return AzureServiceFuture.fromPageResponse(
+ listByResourceGroupNextSinglePageAsync(nextPageLink),
+ new Func1>>>() {
+ @Override
+ public Observable>> call(String nextPageLink) {
+ return listByResourceGroupNextSinglePageAsync(nextPageLink);
+ }
+ },
+ serviceCallback);
+ }
+
+ /**
+ * Gets a list of SAP HANA instances in the specified subscription and the resource group.
+ * Gets a list of SAP HANA instances in the specified subscription and the resource group. The operations returns various properties of each SAP HANA on Azure instance.
+ *
+ * @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<HanaInstanceInner> object
+ */
+ public Observable> listByResourceGroupNextAsync(final String nextPageLink) {
+ return listByResourceGroupNextWithServiceResponseAsync(nextPageLink)
+ .map(new Func1>, Page>() {
+ @Override
+ public Page call(ServiceResponse> response) {
+ return response.body();
+ }
+ });
+ }
+
+ /**
+ * Gets a list of SAP HANA instances in the specified subscription and the resource group.
+ * Gets a list of SAP HANA instances in the specified subscription and the resource group. The operations returns various properties of each SAP HANA on Azure instance.
+ *
+ * @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<HanaInstanceInner> object
+ */
+ public Observable>> listByResourceGroupNextWithServiceResponseAsync(final String nextPageLink) {
+ return listByResourceGroupNextSinglePageAsync(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(listByResourceGroupNextWithServiceResponseAsync(nextPageLink));
+ }
+ });
+ }
+
+ /**
+ * Gets a list of SAP HANA instances in the specified subscription and the resource group.
+ * Gets a list of SAP HANA instances in the specified subscription and the resource group. The operations returns various properties of each SAP HANA on Azure instance.
+ *
+ ServiceResponse> * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the PagedList<HanaInstanceInner> object wrapped in {@link ServiceResponse} if successful.
+ */
+ public Observable>> listByResourceGroupNextSinglePageAsync(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.listByResourceGroupNext(nextUrl, this.client.acceptLanguage(), this.client.userAgent())
+ .flatMap(new Func1, Observable>>>() {
+ @Override
+ public Observable>> call(Response response) {
+ try {
+ ServiceResponse> result = listByResourceGroupNextDelegate(response);
+ return Observable.just(new ServiceResponse>(result.body(), result.response()));
+ } catch (Throwable t) {
+ return Observable.error(t);
+ }
+ }
+ });
+ }
+
+ private ServiceResponse> listByResourceGroupNextDelegate(Response response) throws ErrorResponseException, IOException, IllegalArgumentException {
+ return this.client.restClient().responseBuilderFactory()., ErrorResponseException>newInstance(this.client.serializerAdapter())
+ .register(200, new TypeToken>() { }.getType())
+ .registerError(ErrorResponseException.class)
+ .build(response);
+ }
+
+}
diff --git a/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/implementation/HanaManagementClientImpl.java b/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/implementation/HanaManagementClientImpl.java
new file mode 100644
index 000000000000..1330821d25e0
--- /dev/null
+++ b/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/implementation/HanaManagementClientImpl.java
@@ -0,0 +1,210 @@
+/**
+ * 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.hanaonazure.v2017_11_03_preview.implementation;
+
+import com.microsoft.azure.AzureClient;
+import com.microsoft.azure.AzureServiceClient;
+import com.microsoft.rest.credentials.ServiceClientCredentials;
+import com.microsoft.rest.RestClient;
+
+/**
+ * Initializes a new instance of the HanaManagementClientImpl class.
+ */
+public class HanaManagementClientImpl extends AzureServiceClient {
+ /** the {@link AzureClient} used for long running operations. */
+ private AzureClient azureClient;
+
+ /**
+ * Gets the {@link AzureClient} used for long running operations.
+ * @return the azure client;
+ */
+ public AzureClient getAzureClient() {
+ return this.azureClient;
+ }
+
+ /** Subscription ID which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call. */
+ private String subscriptionId;
+
+ /**
+ * Gets Subscription ID which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.
+ *
+ * @return the subscriptionId value.
+ */
+ public String subscriptionId() {
+ return this.subscriptionId;
+ }
+
+ /**
+ * Sets Subscription ID which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.
+ *
+ * @param subscriptionId the subscriptionId value.
+ * @return the service client itself
+ */
+ public HanaManagementClientImpl withSubscriptionId(String subscriptionId) {
+ this.subscriptionId = subscriptionId;
+ return this;
+ }
+
+ /** Client API version. */
+ private String apiVersion;
+
+ /**
+ * Gets Client API version.
+ *
+ * @return the apiVersion value.
+ */
+ public String apiVersion() {
+ return this.apiVersion;
+ }
+
+ /** Gets or sets the preferred language for the response. */
+ private String acceptLanguage;
+
+ /**
+ * Gets Gets or sets the preferred language for the response.
+ *
+ * @return the acceptLanguage value.
+ */
+ public String acceptLanguage() {
+ return this.acceptLanguage;
+ }
+
+ /**
+ * Sets Gets or sets the preferred language for the response.
+ *
+ * @param acceptLanguage the acceptLanguage value.
+ * @return the service client itself
+ */
+ public HanaManagementClientImpl withAcceptLanguage(String acceptLanguage) {
+ this.acceptLanguage = acceptLanguage;
+ return this;
+ }
+
+ /** Gets or sets the retry timeout in seconds for Long Running Operations. Default value is 30. */
+ private int longRunningOperationRetryTimeout;
+
+ /**
+ * Gets Gets or sets the retry timeout in seconds for Long Running Operations. Default value is 30.
+ *
+ * @return the longRunningOperationRetryTimeout value.
+ */
+ public int longRunningOperationRetryTimeout() {
+ return this.longRunningOperationRetryTimeout;
+ }
+
+ /**
+ * Sets Gets or sets the retry timeout in seconds for Long Running Operations. Default value is 30.
+ *
+ * @param longRunningOperationRetryTimeout the longRunningOperationRetryTimeout value.
+ * @return the service client itself
+ */
+ public HanaManagementClientImpl withLongRunningOperationRetryTimeout(int longRunningOperationRetryTimeout) {
+ this.longRunningOperationRetryTimeout = longRunningOperationRetryTimeout;
+ return this;
+ }
+
+ /** When set to true a unique x-ms-client-request-id value is generated and included in each request. Default is true. */
+ private boolean generateClientRequestId;
+
+ /**
+ * Gets When set to true a unique x-ms-client-request-id value is generated and included in each request. Default is true.
+ *
+ * @return the generateClientRequestId value.
+ */
+ public boolean generateClientRequestId() {
+ return this.generateClientRequestId;
+ }
+
+ /**
+ * Sets When set to true a unique x-ms-client-request-id value is generated and included in each request. Default is true.
+ *
+ * @param generateClientRequestId the generateClientRequestId value.
+ * @return the service client itself
+ */
+ public HanaManagementClientImpl withGenerateClientRequestId(boolean generateClientRequestId) {
+ this.generateClientRequestId = generateClientRequestId;
+ return this;
+ }
+
+ /**
+ * The OperationsInner object to access its operations.
+ */
+ private OperationsInner operations;
+
+ /**
+ * Gets the OperationsInner object to access its operations.
+ * @return the OperationsInner object.
+ */
+ public OperationsInner operations() {
+ return this.operations;
+ }
+
+ /**
+ * The HanaInstancesInner object to access its operations.
+ */
+ private HanaInstancesInner hanaInstances;
+
+ /**
+ * Gets the HanaInstancesInner object to access its operations.
+ * @return the HanaInstancesInner object.
+ */
+ public HanaInstancesInner hanaInstances() {
+ return this.hanaInstances;
+ }
+
+ /**
+ * Initializes an instance of HanaManagementClient client.
+ *
+ * @param credentials the management credentials for Azure
+ */
+ public HanaManagementClientImpl(ServiceClientCredentials credentials) {
+ this("https://management.azure.com", credentials);
+ }
+
+ /**
+ * Initializes an instance of HanaManagementClient client.
+ *
+ * @param baseUrl the base URL of the host
+ * @param credentials the management credentials for Azure
+ */
+ public HanaManagementClientImpl(String baseUrl, ServiceClientCredentials credentials) {
+ super(baseUrl, credentials);
+ initialize();
+ }
+
+ /**
+ * Initializes an instance of HanaManagementClient client.
+ *
+ * @param restClient the REST client to connect to Azure.
+ */
+ public HanaManagementClientImpl(RestClient restClient) {
+ super(restClient);
+ initialize();
+ }
+
+ protected void initialize() {
+ this.apiVersion = "2017-11-03-preview";
+ this.acceptLanguage = "en-US";
+ this.longRunningOperationRetryTimeout = 30;
+ this.generateClientRequestId = true;
+ this.operations = new OperationsInner(restClient().retrofit(), this);
+ this.hanaInstances = new HanaInstancesInner(restClient().retrofit(), this);
+ this.azureClient = new AzureClient(this);
+ }
+
+ /**
+ * Gets the User-Agent header for the client.
+ *
+ * @return the user agent string.
+ */
+ @Override
+ public String userAgent() {
+ return String.format("%s (%s, %s)", super.userAgent(), "HanaManagementClient", "2017-11-03-preview");
+ }
+}
diff --git a/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/implementation/HanaOnAzureManager.java b/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/implementation/HanaOnAzureManager.java
new file mode 100644
index 000000000000..f5492b95bf7e
--- /dev/null
+++ b/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/implementation/HanaOnAzureManager.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.hanaonazure.v2017_11_03_preview.implementation;
+
+import com.microsoft.azure.AzureEnvironment;
+import com.microsoft.azure.AzureResponseBuilder;
+import com.microsoft.azure.credentials.AzureTokenCredentials;
+import com.microsoft.azure.management.apigeneration.Beta;
+import com.microsoft.azure.management.apigeneration.Beta.SinceVersion;
+import com.microsoft.azure.arm.resources.AzureConfigurable;
+import com.microsoft.azure.serializer.AzureJacksonAdapter;
+import com.microsoft.rest.RestClient;
+import com.microsoft.azure.management.hanaonazure.v2017_11_03_preview.Operations;
+import com.microsoft.azure.management.hanaonazure.v2017_11_03_preview.HanaInstances;
+import com.microsoft.azure.arm.resources.implementation.AzureConfigurableCoreImpl;
+import com.microsoft.azure.arm.resources.implementation.ManagerCore;
+
+/**
+ * Entry point to Azure HanaOnAzure resource management.
+ */
+public final class HanaOnAzureManager extends ManagerCore {
+ private Operations operations;
+ private HanaInstances hanaInstances;
+ /**
+ * Get a Configurable instance that can be used to create HanaOnAzureManager with optional configuration.
+ *
+ * @return the instance allowing configurations
+ */
+ public static Configurable configure() {
+ return new HanaOnAzureManager.ConfigurableImpl();
+ }
+ /**
+ * Creates an instance of HanaOnAzureManager that exposes HanaOnAzure resource management API entry points.
+ *
+ * @param credentials the credentials to use
+ * @param subscriptionId the subscription UUID
+ * @return the HanaOnAzureManager
+ */
+ public static HanaOnAzureManager authenticate(AzureTokenCredentials credentials, String subscriptionId) {
+ return new HanaOnAzureManager(new RestClient.Builder()
+ .withBaseUrl(credentials.environment(), AzureEnvironment.Endpoint.RESOURCE_MANAGER)
+ .withCredentials(credentials)
+ .withSerializerAdapter(new AzureJacksonAdapter())
+ .withResponseBuilderFactory(new AzureResponseBuilder.Factory())
+ .build(), subscriptionId);
+ }
+ /**
+ * Creates an instance of HanaOnAzureManager that exposes HanaOnAzure resource management API entry points.
+ *
+ * @param restClient the RestClient to be used for API calls.
+ * @param subscriptionId the subscription UUID
+ * @return the HanaOnAzureManager
+ */
+ public static HanaOnAzureManager authenticate(RestClient restClient, String subscriptionId) {
+ return new HanaOnAzureManager(restClient, subscriptionId);
+ }
+ /**
+ * The interface allowing configurations to be set.
+ */
+ public interface Configurable extends AzureConfigurable {
+ /**
+ * Creates an instance of HanaOnAzureManager that exposes HanaOnAzure management API entry points.
+ *
+ * @param credentials the credentials to use
+ * @param subscriptionId the subscription UUID
+ * @return the interface exposing HanaOnAzure management API entry points that work across subscriptions
+ */
+ HanaOnAzureManager authenticate(AzureTokenCredentials credentials, String subscriptionId);
+ }
+
+ /**
+ * @return Entry point to manage Operations.
+ */
+ public Operations operations() {
+ if (this.operations == null) {
+ this.operations = new OperationsImpl(this);
+ }
+ return this.operations;
+ }
+
+ /**
+ * @return Entry point to manage HanaInstances.
+ */
+ public HanaInstances hanaInstances() {
+ if (this.hanaInstances == null) {
+ this.hanaInstances = new HanaInstancesImpl(this);
+ }
+ return this.hanaInstances;
+ }
+
+ /**
+ * The implementation for Configurable interface.
+ */
+ private static final class ConfigurableImpl extends AzureConfigurableCoreImpl implements Configurable {
+ public HanaOnAzureManager authenticate(AzureTokenCredentials credentials, String subscriptionId) {
+ return HanaOnAzureManager.authenticate(buildRestClient(credentials), subscriptionId);
+ }
+ }
+ private HanaOnAzureManager(RestClient restClient, String subscriptionId) {
+ super(
+ restClient,
+ subscriptionId,
+ new HanaManagementClientImpl(restClient).withSubscriptionId(subscriptionId));
+ }
+}
diff --git a/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/implementation/IdParsingUtils.java b/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/implementation/IdParsingUtils.java
new file mode 100644
index 000000000000..d84f43ce7abf
--- /dev/null
+++ b/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/implementation/IdParsingUtils.java
@@ -0,0 +1,57 @@
+/**
+ * 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.hanaonazure.v2017_11_03_preview.implementation;
+import java.util.Arrays;
+import java.util.Iterator;
+
+class IdParsingUtils {
+ public static String getValueFromIdByName(String id, String name) {
+ if (id == null) {
+ return null;
+ }
+ Iterable iterable = Arrays.asList(id.split("/"));
+ Iterator itr = iterable.iterator();
+ while (itr.hasNext()) {
+ String part = itr.next();
+ if (part != null && part.trim() != "") {
+ if (part.equalsIgnoreCase(name)) {
+ if (itr.hasNext()) {
+ return itr.next();
+ } else {
+ return null;
+ }
+ }
+ }
+ }
+ return null;
+ }
+
+ public static String getValueFromIdByPosition(String id, int pos) {
+ if (id == null) {
+ return null;
+ }
+ Iterable iterable = Arrays.asList(id.split("/"));
+ Iterator itr = iterable.iterator();
+ int index = 0;
+ while (itr.hasNext()) {
+ String part = itr.next();
+ if (part != null && part.trim() != "") {
+ if (index == pos) {
+ if (itr.hasNext()) {
+ return itr.next();
+ } else {
+ return null;
+ }
+ }
+ }
+ index++;
+ }
+ return null;
+ }
+}
diff --git a/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/implementation/OperationImpl.java b/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/implementation/OperationImpl.java
new file mode 100644
index 000000000000..d9a04fbf8d2e
--- /dev/null
+++ b/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/implementation/OperationImpl.java
@@ -0,0 +1,37 @@
+/**
+ * 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.hanaonazure.v2017_11_03_preview.implementation;
+
+import com.microsoft.azure.management.hanaonazure.v2017_11_03_preview.Operation;
+import com.microsoft.azure.arm.model.implementation.WrapperImpl;
+import com.microsoft.azure.management.hanaonazure.v2017_11_03_preview.Display;
+
+class OperationImpl extends WrapperImpl implements Operation {
+ private final HanaOnAzureManager manager;
+ OperationImpl(OperationInner inner, HanaOnAzureManager manager) {
+ super(inner);
+ this.manager = manager;
+ }
+
+ @Override
+ public HanaOnAzureManager manager() {
+ return this.manager;
+ }
+
+ @Override
+ public Display display() {
+ return this.inner().display();
+ }
+
+ @Override
+ public String name() {
+ return this.inner().name();
+ }
+
+}
diff --git a/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/implementation/OperationInner.java b/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/implementation/OperationInner.java
new file mode 100644
index 000000000000..53a1d6b7efad
--- /dev/null
+++ b/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/implementation/OperationInner.java
@@ -0,0 +1,61 @@
+/**
+ * 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.hanaonazure.v2017_11_03_preview.implementation;
+
+import com.microsoft.azure.management.hanaonazure.v2017_11_03_preview.Display;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * HANA operation information.
+ */
+public class OperationInner {
+ /**
+ * The name of the operation being performed on this particular object.
+ * This name should match the action name that appears in RBAC / the event
+ * service.
+ */
+ @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY)
+ private String name;
+
+ /**
+ * Displayed HANA operation information.
+ */
+ @JsonProperty(value = "display")
+ private Display display;
+
+ /**
+ * Get the name of the operation being performed on this particular object. This name should match the action name that appears in RBAC / the event service.
+ *
+ * @return the name value
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get displayed HANA operation information.
+ *
+ * @return the display value
+ */
+ public Display display() {
+ return this.display;
+ }
+
+ /**
+ * Set displayed HANA operation information.
+ *
+ * @param display the display value to set
+ * @return the OperationInner object itself.
+ */
+ public OperationInner withDisplay(Display display) {
+ this.display = display;
+ return this;
+ }
+
+}
diff --git a/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/implementation/OperationsImpl.java b/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/implementation/OperationsImpl.java
new file mode 100644
index 000000000000..444180ac1630
--- /dev/null
+++ b/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/implementation/OperationsImpl.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.hanaonazure.v2017_11_03_preview.implementation;
+
+import com.microsoft.azure.arm.model.implementation.WrapperImpl;
+import com.microsoft.azure.management.hanaonazure.v2017_11_03_preview.Operations;
+import rx.functions.Func1;
+import rx.Observable;
+import java.util.List;
+import com.microsoft.azure.management.hanaonazure.v2017_11_03_preview.Operation;
+
+class OperationsImpl extends WrapperImpl implements Operations {
+ private final HanaOnAzureManager manager;
+
+ OperationsImpl(HanaOnAzureManager manager) {
+ super(manager.inner().operations());
+ this.manager = manager;
+ }
+
+ public HanaOnAzureManager manager() {
+ return this.manager;
+ }
+
+ @Override
+ public Observable listAsync() {
+ OperationsInner client = this.inner();
+ return client.listAsync()
+ .flatMap(new Func1, Observable>() {
+ @Override
+ public Observable call(List innerList) {
+ return Observable.from(innerList);
+ }
+ })
+ .map(new Func1() {
+ @Override
+ public Operation call(OperationInner inner) {
+ return new OperationImpl(inner, manager());
+ }
+ });
+ }
+
+}
diff --git a/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/implementation/OperationsInner.java b/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/implementation/OperationsInner.java
new file mode 100644
index 000000000000..9d6767e223e1
--- /dev/null
+++ b/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/implementation/OperationsInner.java
@@ -0,0 +1,134 @@
+/**
+ * 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.hanaonazure.v2017_11_03_preview.implementation;
+
+import retrofit2.Retrofit;
+import com.google.common.reflect.TypeToken;
+import com.microsoft.azure.management.hanaonazure.v2017_11_03_preview.ErrorResponseException;
+import com.microsoft.rest.ServiceCallback;
+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.Response;
+import rx.functions.Func1;
+import rx.Observable;
+
+/**
+ * An instance of this class provides access to all the operations defined
+ * in Operations.
+ */
+public class OperationsInner {
+ /** The Retrofit service to perform REST calls. */
+ private OperationsService service;
+ /** The service client containing this operation class. */
+ private HanaManagementClientImpl client;
+
+ /**
+ * Initializes an instance of OperationsInner.
+ *
+ * @param retrofit the Retrofit instance built from a Retrofit Builder.
+ * @param client the instance of the service client containing this operation class.
+ */
+ public OperationsInner(Retrofit retrofit, HanaManagementClientImpl client) {
+ this.service = retrofit.create(OperationsService.class);
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for Operations to be
+ * used by Retrofit to perform actually REST calls.
+ */
+ interface OperationsService {
+ @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.hanaonazure.v2017_11_03_preview.Operations list" })
+ @GET("providers/Microsoft.HanaOnAzure/operations")
+ Observable> list(@Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
+
+ }
+
+ /**
+ * Gets a list of SAP HANA management operations.
+ *
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @throws ErrorResponseException thrown if the request is rejected by server
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent
+ * @return the List<OperationInner> object if successful.
+ */
+ public List list() {
+ return listWithServiceResponseAsync().toBlocking().single().body();
+ }
+
+ /**
+ * Gets a list of SAP HANA management 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 ServiceCallback> serviceCallback) {
+ return ServiceFuture.fromResponse(listWithServiceResponseAsync(), serviceCallback);
+ }
+
+ /**
+ * Gets a list of SAP HANA management operations.
+ *
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the List<OperationInner> object
+ */
+ public Observable> listAsync() {
+ return listWithServiceResponseAsync().map(new Func1>, List>() {
+ @Override
+ public List call(ServiceResponse> response) {
+ return response.body();
+ }
+ });
+ }
+
+ /**
+ * Gets a list of SAP HANA management operations.
+ *
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the List<OperationInner> object
+ */
+ public Observable>> listWithServiceResponseAsync() {
+ 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);
+ List items = null;
+ if (result.body() != null) {
+ items = result.body().items();
+ }
+ ServiceResponse> clientResponse = new ServiceResponse>(items, result.response());
+ return Observable.just(clientResponse);
+ } catch (Throwable t) {
+ return Observable.error(t);
+ }
+ }
+ });
+ }
+
+ private ServiceResponse> listDelegate(Response response) throws ErrorResponseException, IOException, IllegalArgumentException {
+ return this.client.restClient().responseBuilderFactory()., ErrorResponseException>newInstance(this.client.serializerAdapter())
+ .register(200, new TypeToken>() { }.getType())
+ .registerError(ErrorResponseException.class)
+ .build(response);
+ }
+
+}
diff --git a/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/implementation/PageImpl.java b/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/implementation/PageImpl.java
new file mode 100644
index 000000000000..828e23c49c37
--- /dev/null
+++ b/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/implementation/PageImpl.java
@@ -0,0 +1,75 @@
+/**
+ * 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.hanaonazure.v2017_11_03_preview.implementation;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.microsoft.azure.Page;
+import java.util.List;
+
+/**
+ * An instance of this class defines a page of Azure resources and a link to
+ * get the next page of resources, if any.
+ *
+ * @param type of Azure resource
+ */
+public class PageImpl implements Page {
+ /**
+ * The link to the next page.
+ */
+ @JsonProperty("")
+ private String nextPageLink;
+
+ /**
+ * The list of items.
+ */
+ @JsonProperty("value")
+ private List items;
+
+ /**
+ * Gets the link to the next page.
+ *
+ * @return the link to the next page.
+ */
+ @Override
+ public String nextPageLink() {
+ return this.nextPageLink;
+ }
+
+ /**
+ * Gets the list of items.
+ *
+ * @return the list of items in {@link List}.
+ */
+ @Override
+ public List items() {
+ return items;
+ }
+
+ /**
+ * Sets the link to the next page.
+ *
+ * @param nextPageLink the link to the next page.
+ * @return this Page object itself.
+ */
+ public PageImpl setNextPageLink(String nextPageLink) {
+ this.nextPageLink = nextPageLink;
+ return this;
+ }
+
+ /**
+ * Sets the list of items.
+ *
+ * @param items the list of items in {@link List}.
+ * @return this Page object itself.
+ */
+ public PageImpl setItems(List items) {
+ this.items = items;
+ return this;
+ }
+}
diff --git a/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/implementation/PageImpl1.java b/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/implementation/PageImpl1.java
new file mode 100644
index 000000000000..ca96993bdcb6
--- /dev/null
+++ b/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/implementation/PageImpl1.java
@@ -0,0 +1,75 @@
+/**
+ * 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.hanaonazure.v2017_11_03_preview.implementation;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.microsoft.azure.Page;
+import java.util.List;
+
+/**
+ * An instance of this class defines a page of Azure resources and a link to
+ * get the next page of resources, if any.
+ *
+ * @param type of Azure resource
+ */
+public class PageImpl1 implements Page {
+ /**
+ * The link to the next page.
+ */
+ @JsonProperty("nextLink")
+ private String nextPageLink;
+
+ /**
+ * The list of items.
+ */
+ @JsonProperty("value")
+ private List items;
+
+ /**
+ * Gets the link to the next page.
+ *
+ * @return the link to the next page.
+ */
+ @Override
+ public String nextPageLink() {
+ return this.nextPageLink;
+ }
+
+ /**
+ * Gets the list of items.
+ *
+ * @return the list of items in {@link List}.
+ */
+ @Override
+ public List items() {
+ return items;
+ }
+
+ /**
+ * Sets the link to the next page.
+ *
+ * @param nextPageLink the link to the next page.
+ * @return this Page object itself.
+ */
+ public PageImpl1 setNextPageLink(String nextPageLink) {
+ this.nextPageLink = nextPageLink;
+ return this;
+ }
+
+ /**
+ * Sets the list of items.
+ *
+ * @param items the list of items in {@link List}.
+ * @return this Page object itself.
+ */
+ public PageImpl1 setItems(List items) {
+ this.items = items;
+ return this;
+ }
+}
diff --git a/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/implementation/package-info.java b/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/implementation/package-info.java
new file mode 100644
index 000000000000..ae5fa0d1c038
--- /dev/null
+++ b/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/implementation/package-info.java
@@ -0,0 +1,11 @@
+// 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.
+
+/**
+ * This package contains the implementation classes for HanaManagementClient.
+ * HANA on Azure Client.
+ */
+package com.microsoft.azure.management.hanaonazure.v2017_11_03_preview.implementation;
diff --git a/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/package-info.java b/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/package-info.java
new file mode 100644
index 000000000000..e82047cd55fc
--- /dev/null
+++ b/hanaonazure/resource-manager/v2017_11_03_preview/src/main/java/com/microsoft/azure/management/hanaonazure/v2017_11_03_preview/package-info.java
@@ -0,0 +1,11 @@
+// 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.
+
+/**
+ * This package contains the classes for HanaManagementClient.
+ * HANA on Azure Client.
+ */
+package com.microsoft.azure.management.hanaonazure.v2017_11_03_preview;