diff --git a/.gitignore b/.gitignore
index cbda4da52ce4..0b117a131da2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,6 +4,9 @@
dist/
.publish/
+#javadoc overview files generated from README.md
+readme_overview.html
+
#External libs
extlib/
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 2e97f0850be5..a24d4f359cda 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -79,42 +79,41 @@ mvn -f sdk/{projectForlderDir}/pom.xml -Dgpg.skip clean install
## Versions and versioning
-Tooling has been introduced to centralize versioning and help ease the pain of updating artifact versions in POM and README files. Under the eng\versioning directory there version text files, one for client (version_client.txt) and one for data (version_data.txt). The format of the version files is as follows:
-groupId:artifactId;dependency-version;current-version
-The dependency-version should be set to the most recent released version and the current-version is set to the next version to be released.
+Tooling has been introduced to centralize versioning and help ease the pain of updating artifact versions in POM and README files. Under the eng\versioning directory there exists version text files, one for client ([version_client.txt](./eng/versioning/version_client.txt)) and one for data ([version_data.txt](./eng/versioning/version_data.txt)). The format of the version files is as follows:
-For example:
+`groupId:artifactId;dependency-version;current-version`
+
+The dependency-version should be set to the most recent released version and the current-version is set to the next version to be released. For example:
`com.azure:azure-identity;1.0.0-preview.4;1.0.0-preview.5`
Note: In the case of a new or unreleased artifact both versions will be the same.
-For more information
-
### Libraries vs External Dependencies
-Libraries refer to things that are built and released as part of the Azure SDK. Libraries have a current version and a dependency version.
+Libraries refer to things that are built and released as part of the Azure SDK. Libraries have a current version and a dependency version.
External Dependencies refer to dependencies for things that are not built and released as part of the Azure SDK regardless of the source. External Dependencies will only ever have one version.
-### Current version vs Depdendency version
+### Current version vs Dependency version
Current version - This is the version we should be using when defining a component in its POM file and also when dependent components are built within the same pipeline. The current version is the version currently in development.
-Depdendency version - This is the version we should be using when a given library is a dependency outside of a particular area. This should be the latest released version of the package.
+Dependency version - This is the version we should be using when a given library is a dependency outside of a particular area. This should be the latest released version of the package.
For example: `com.azure:azure-storage-blob-batch` has dependencies on `com.azure:azure-core`, `com.azure:azure-core-http-netty` and `com.azure:azure-storage-blob`. Because `com.azure:azure-core` and `com.azure:azure-core-http-netty` are both built outside of azure-storage pipeline we should be using the released or *Dependency* versions of these when they're dependencies of another library. Similarly, libraries built as part of the same pipeline, that have interdependencies, should be using the Current version. Since `com.azure:azure-storage-blob-batch` and `com.azure:azure-storage-blob` are both built part of the azure-batch pipeline when `com.azure:azure-storage-blob` is declared as a dependency of `com.azure:azure-storage-blob-batch` it should be the *Current* version.
This is going to be especially important after GA when releases aren't going to be the entire Azure SDK every time. If we're releasing a patch for a targeted azure-storage fix then we shouldn't need to build and release azure-core, we should be targeting the released versions and only building/releasing that update to azure-storage. It's worth noting that right now, in the version_client.txt, the dependency/current versions are the same. This will change once we GA, at which point the current version should be ahead of the dependency version.
-What about README files? Right now the README files in the repro end up getting into an odd state since things like samples and versions can get updated during the development process. We're in the process of versioning documentation with the releases which means that the docs are snapshot at the time of the release and then versioned and stored. This will allow the README files in the repro to have updated samples and versions that are setup for the next release.
+What about README files? Right now the README files in the repo end up getting into an odd state since things like samples and versions can get updated during the development process. We're in the process of versioning documentation with the releases which means that the docs are snapshot at the time of the release and then versioned and stored. This will allow the README files in the repo to have updated samples and versions that are setup for the next release.
### Tooling, version files and marker tags
All of the tooling lives under the **eng\versioning** directory.
+
- version_client.txt - Contains the Client library and versions
- version_data.txt - Contains Data library and versions
-- update_versions.py - This is just a basic python script that will climb through the source tree and update POM and README files. The script utilizies tags within the files to do replacements and the tags are slightly different between the POM and README files.
-- set_versions.py - This script should only be used by the build system when we start producing nightly ops builds.
+- update_versions.py - This is just a basic python script that will climb through the source tree and update POM and README files. The script utilizes tags within the files to do replacements and the tags are slightly different between the POM and README files.
+- set_versions.py - This script should only be used by the build system when we start producing nightly ops builds.
In POM files this is done by inserting a specifically formatted comment on the same line as the version element.
@@ -126,7 +125,7 @@ In POM files this is done by inserting a specifically formatted comment on the s
The last element of the tag would be current or dependency depending on the criteria previously explained.
-In README files this ends up being slightly different. Because the version tag is inside an XML element that we've explicitly telling a user to copy/paste into their product the comment tag really didn't make sense here. Instead there are tags before and after the XML element tags which effectively says "there's a version somewhere in between these two tags, when you find the line that matches replace it with the appropriate version of the group:artifact defined in the tag."
+In README files this ends up being slightly different. Because the version tag is inside an XML element that we're explicitly telling a user to copy/paste into their product the comment tag really didn't make sense here. Instead there are tags before and after the XML element tags which effectively says "there's a version somewhere in between these two tags, when you find the line that matches replace it with the appropriate version of the group:artifact defined in the tag."
[//]: # ({x-version-update-start;MyGroup:MyArtifact;dependency})
```xml
@@ -142,11 +141,11 @@ What if I've got something that, for whatever reason, shoudln't be updated? Ther
In theory, absence of an x-version-update tag would do the same thing but the tooling is still being developed and eventually there will be checkin blockers if xml has a version element with no tag.
-
### What does the process look like?
Let's say we've GA'd and I need to tick up the version of azure-storage libraries how would I do it? Guidelines for incrementing versions after release can be found [here](https://github.com/Azure/azure-sdk/blob/master/docs/policies/releases.md#incrementing-after-release).
-1. I'd open up eng\versioning\version_client.txt and update the current-versions of the libraries that are built and released as part of the azure storage pipeline. This list can be found in pom.service.xml under the sdk/storage directory. It's worth noting that any module entry starting with "../" isn't something that's released as part of the pipeline and once we GA these build dependencies for library components outside of a given area should go away and be replaced with downloading the appropriate dependency from Maven like we do for external dependencies.
+
+1. I'd open up eng\versioning\version_client.txt and update the current-versions of the libraries that are built and released as part of the azure storage pipeline. This list can be found in pom.service.xml under the sdk/storage directory. It's worth noting that any module entry starting with "../" are external module dependencies and not something that's released as part of the pipeline. Once we GA, these build dependencies for library components outside of a given area should go away and be replaced with downloading the appropriate dependency from Maven like we do for external dependencies.
2. Execute the update_versions python script from the root of the enlistment
`python eng/versioning/update_versions.py --ut libary --bt client`
This will go through the entire source tree and update all of the references in the POM and README files with the updated versions. Git status will show all of the modified files.
@@ -157,3 +156,32 @@ This will go through the entire source tree and update all of the references in
- External dependencies. Right now there are only version files for client and data (eng\versioning\version_\[client|data\].txt) which only encompass the built binaries for their respective tracks. External dependencies for both client and data are next on the list which should allow modification of the parent/pom.xml to remove the list of version properties and dependency management sections which brings things one step closer to not having to publish the parent pom.
- Management plane. Management is in the process of being moved to service pipeline builds. The versioning work needs to wait until that work is finished.
- Service pipeline changes. The service pipelines currently have to build not only the libraries that are part of that pipeline but also the Azure SDK libraries that are dependencies. Once we GA and can start targeting the released version of those packages and pulling them from Maven instead of building them. An good example of this would be in sdk/appconfiguration/pom.service.xml where to build azure-data-appconfiguration we end up building azure-core, azure-core-test and azure-core-http-netty along with azure-data-appconfiguration instead of just building azure-data-appconfiguration.
+
+### How are versioning and dependencies going to impact development after GA?
+
+As mentioned above, in the service pipeline changes, the plan after we GA is to start targeting the released version of the packages and pulling them from Maven. This is going to fundamentally change some aspects of the development process especially when work needs to be done on given library that requires dependency changes in one or more libraries.
+
+- **Scenario 1: Making changes to a single library which is not a dependency of any other libraries:** This ends up being the most straightforward scenario and really isn't much different than it is today.
+ - [ ] Appropriately increase the version
+ - [ ] Make the code changes
+ - [ ] Submit the PR
+ - [ ] Merge the PR
+ - [ ] Publish the new version
+
+- **Scenario 2: Making changes to a library that also requires dependency changes:** Right now things are in a state where dependency changes can be made along with libraries that depend on them because of the project dependencies in the service pom files. Local development isn't going to change that much except when changing the version of a library and its dependency or dependencies means that the service poms are going to have to be built, and installed, in the appropriate order. This is because these new versions of the library dependencies won't yet be released and Maven will need to find these in the local cache. The biggest change to the process is going to be around PRs and publishing. Separate PRs are going to have to be submitted in order, with dependencies being submitted first. This is necessary because the dependencies need to be published in order to allow things that depend on them to continue using the published version. Trying to submit everything in one PR would cause build breaks since the dependency being referenced is a version not yet published. An example of this would be making changes to `com.azure:azure-storage-common` that also required dependency changes to `com.azure:azure-identity`.
+ Changes are going to have to be made to `com.azure:azure-identity` first.
+ - [ ] Appropriately increase the version of `com.azure:azure-identity`
+ - [ ] Make the code changes
+ - [ ] Build and optionally install locally
+ This isn't completely necessary other than to install the updated version of the dependency into the local cache on the machine. The alternative to this would be to publish (DevOps or otherwise) and reference that version of the dependency after the release. Either one would allow `com.azure:azure-storage-common` to use the updated version of `com.azure:azure-identity`
+ - [ ] Submit the PR for the `com.azure:azure-identity`
+ - [ ] Merge the PR for the `com.azure:azure-identity`
+ - [ ] Publish the `com.azure:azure-identity` with the updated version.
+
+ Only after the dependency `com.azure:azure-identity` has been published can the PR for `com.azure:azure-storage-common` be created.
+ - [ ] Appropriately increase the version of `com.azure:azure-storage-common` and the dependency version of `com.azure:azure-identity` in its pom file.
+ - [ ] Make the code changes, if any
+ - [ ] Build/Test or whatever
+ - [ ] Submit the PR for `com.azure:azure-storage-common`
+ - [ ] Merge the PR for `com.azure:azure-storage-common`
+ - [ ] Publish the PR for `com.azure:azure-storage-common`
diff --git a/advisor/resource-manager/v2017_04_19/pom.xml b/advisor/resource-manager/v2017_04_19/pom.xml
index 51c0b68530d5..48c769bbbb8a 100644
--- a/advisor/resource-manager/v2017_04_19/pom.xml
+++ b/advisor/resource-manager/v2017_04_19/pom.xml
@@ -15,7 +15,7 @@
../../../pom.management.xmlazure-mgmt-advisor
- 1.0.0-beta-1
+ 1.0.0-beta-2jarMicrosoft Azure SDK for Advisor ManagementThis package contains Microsoft Advisor Management SDK.
@@ -71,6 +71,8 @@
azure-arm-client-runtimetest-jartest
+
+ 1.6.5
diff --git a/advisor/resource-manager/v2017_04_19/src/main/java/com/microsoft/azure/management/advisor/v2017_04_19/Category.java b/advisor/resource-manager/v2017_04_19/src/main/java/com/microsoft/azure/management/advisor/v2017_04_19/Category.java
index 2e5563117328..b61d626a3d38 100644
--- a/advisor/resource-manager/v2017_04_19/src/main/java/com/microsoft/azure/management/advisor/v2017_04_19/Category.java
+++ b/advisor/resource-manager/v2017_04_19/src/main/java/com/microsoft/azure/management/advisor/v2017_04_19/Category.java
@@ -28,6 +28,9 @@ public final class Category extends ExpandableStringEnum {
/** Static value Cost for Category. */
public static final Category COST = fromString("Cost");
+ /** Static value OperationalExcellence for Category. */
+ public static final Category OPERATIONAL_EXCELLENCE = fromString("OperationalExcellence");
+
/**
* Creates or finds a Category from its string representation.
* @param name a name to look for
diff --git a/advisor/resource-manager/v2017_04_19/src/main/java/com/microsoft/azure/management/advisor/v2017_04_19/implementation/ResourceRecommendationBaseInner.java b/advisor/resource-manager/v2017_04_19/src/main/java/com/microsoft/azure/management/advisor/v2017_04_19/implementation/ResourceRecommendationBaseInner.java
index a54a04104514..c01bc6fbcfaa 100644
--- a/advisor/resource-manager/v2017_04_19/src/main/java/com/microsoft/azure/management/advisor/v2017_04_19/implementation/ResourceRecommendationBaseInner.java
+++ b/advisor/resource-manager/v2017_04_19/src/main/java/com/microsoft/azure/management/advisor/v2017_04_19/implementation/ResourceRecommendationBaseInner.java
@@ -27,7 +27,8 @@
public class ResourceRecommendationBaseInner extends ProxyResource {
/**
* The category of the recommendation. Possible values include:
- * 'HighAvailability', 'Security', 'Performance', 'Cost'.
+ * 'HighAvailability', 'Security', 'Performance', 'Cost',
+ * 'OperationalExcellence'.
*/
@JsonProperty(value = "properties.category")
private Category category;
@@ -96,7 +97,7 @@ public class ResourceRecommendationBaseInner extends ProxyResource {
private Map extendedProperties;
/**
- * Get the category of the recommendation. Possible values include: 'HighAvailability', 'Security', 'Performance', 'Cost'.
+ * Get the category of the recommendation. Possible values include: 'HighAvailability', 'Security', 'Performance', 'Cost', 'OperationalExcellence'.
*
* @return the category value
*/
@@ -105,7 +106,7 @@ public Category category() {
}
/**
- * Set the category of the recommendation. Possible values include: 'HighAvailability', 'Security', 'Performance', 'Cost'.
+ * Set the category of the recommendation. Possible values include: 'HighAvailability', 'Security', 'Performance', 'Cost', 'OperationalExcellence'.
*
* @param category the category value to set
* @return the ResourceRecommendationBaseInner object itself.
diff --git a/advisor/resource-manager/v2017_04_19/src/main/java/com/microsoft/azure/management/advisor/v2017_04_19/implementation/SuppressionsImpl.java b/advisor/resource-manager/v2017_04_19/src/main/java/com/microsoft/azure/management/advisor/v2017_04_19/implementation/SuppressionsImpl.java
index c071181c6ea6..fb90bbc9d44d 100644
--- a/advisor/resource-manager/v2017_04_19/src/main/java/com/microsoft/azure/management/advisor/v2017_04_19/implementation/SuppressionsImpl.java
+++ b/advisor/resource-manager/v2017_04_19/src/main/java/com/microsoft/azure/management/advisor/v2017_04_19/implementation/SuppressionsImpl.java
@@ -64,10 +64,14 @@ public SuppressionContract call(SuppressionContractInner inner) {
public Observable getAsync(String resourceUri, String recommendationId, String name) {
SuppressionsInner client = this.inner();
return client.getAsync(resourceUri, recommendationId, name)
- .map(new Func1() {
+ .flatMap(new Func1>() {
@Override
- public SuppressionContract call(SuppressionContractInner inner) {
- return wrapModel(inner);
+ public Observable call(SuppressionContractInner inner) {
+ if (inner == null) {
+ return Observable.empty();
+ } else {
+ return Observable.just((SuppressionContract)wrapModel(inner));
+ }
}
});
}
diff --git a/api-specs.json b/api-specs.json
index 58362b05dce4..edc09c15e1f7 100644
--- a/api-specs.json
+++ b/api-specs.json
@@ -19,6 +19,10 @@
"source": "specification/applicationinsights/data-plane/readme.md",
"args": "--payload-flattening-threshold=1"
},
+ "appplatform/resource-manager": {
+ "source": "specification/appplatform/resource-manager/readme.md",
+ "args": "--multiapi --fluent"
+ },
"appservice/resource-manager": {
"source": "specification/web/resource-manager/readme.md",
"args": "--multiapi --fluent",
diff --git a/appplatform/resource-manager/v2019_05_01_preview/pom.xml b/appplatform/resource-manager/v2019_05_01_preview/pom.xml
new file mode 100644
index 000000000000..cf4889532688
--- /dev/null
+++ b/appplatform/resource-manager/v2019_05_01_preview/pom.xml
@@ -0,0 +1,135 @@
+
+
+ 4.0.0
+ com.microsoft.azure.appplatform.v2019_05_01_preview
+
+ com.microsoft.azure
+ azure-arm-parent
+ 1.1.0
+ ../../../pom.management.xml
+
+ azure-mgmt-appplatform
+ 1.0.0-beta-1
+ jar
+ Microsoft Azure SDK for AppPlatform Management
+ This package contains Microsoft AppPlatform Management SDK.
+ https://github.com/Azure/azure-sdk-for-java
+
+
+ The MIT License (MIT)
+ http://opensource.org/licenses/MIT
+ repo
+
+
+
+ scm:git:https://github.com/Azure/azure-sdk-for-java
+ scm:git:git@github.com:Azure/azure-sdk-for-java.git
+ HEAD
+
+
+ UTF-8
+
+
+
+
+ microsoft
+ Microsoft
+
+
+
+
+ com.microsoft.azure
+ azure-client-runtime
+
+
+ com.microsoft.azure
+ azure-arm-client-runtime
+
+
+ junit
+ junit
+ test
+
+
+ com.microsoft.azure
+ azure-client-authentication
+ test
+
+
+ com.microsoft.azure
+ azure-mgmt-resources
+ test
+
+
+ com.microsoft.azure
+ azure-arm-client-runtime
+ test-jar
+ test
+
+ 1.6.5
+
+
+
+
+
+ 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/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/AppResource.java b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/AppResource.java
new file mode 100644
index 000000000000..e76e0a7f25e0
--- /dev/null
+++ b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/AppResource.java
@@ -0,0 +1,128 @@
+/**
+ * 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.appplatform.v2019_05_01_preview;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.appplatform.v2019_05_01_preview.implementation.AppResourceInner;
+import com.microsoft.azure.arm.model.Indexable;
+import com.microsoft.azure.arm.model.Creatable;
+import com.microsoft.azure.arm.model.Updatable;
+import com.microsoft.azure.arm.model.Appliable;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.appplatform.v2019_05_01_preview.implementation.AppPlatformManager;
+import org.joda.time.DateTime;
+
+/**
+ * Type representing AppResource.
+ */
+public interface AppResource extends HasInner, Indexable, Updatable, HasManager {
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the properties value.
+ */
+ AppResourceProperties properties();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+ /**
+ * The entirety of the AppResource definition.
+ */
+ interface Definition extends DefinitionStages.Blank, DefinitionStages.WithResourceGroupName, DefinitionStages.WithServiceName, DefinitionStages.WithProperties, DefinitionStages.WithCreate {
+ }
+
+ /**
+ * Grouping of AppResource definition stages.
+ */
+ interface DefinitionStages {
+ /**
+ * The first stage of a AppResource definition.
+ */
+ interface Blank extends WithResourceGroupName {
+ }
+
+ /**
+ * The stage of the appresource definition allowing to specify ResourceGroupName.
+ */
+ interface WithResourceGroupName {
+ /**
+ * Specifies resourceGroupName.
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal
+ * @return the next definition stage
+ */
+ WithServiceName withResourceGroupName(String resourceGroupName);
+ }
+
+ /**
+ * The stage of the appresource definition allowing to specify ServiceName.
+ */
+ interface WithServiceName {
+ /**
+ * Specifies serviceName.
+ * @param serviceName The name of the Service resource
+ * @return the next definition stage
+ */
+ WithProperties withServiceName(String serviceName);
+ }
+
+ /**
+ * The stage of the appresource definition allowing to specify Properties.
+ */
+ interface WithProperties {
+ /**
+ * Specifies properties.
+ * @param properties Properties of the App resource
+ * @return the next definition stage
+ */
+ WithCreate withProperties(AppResourceProperties properties);
+ }
+
+ /**
+ * The stage of the definition which contains all the minimum required inputs for
+ * the resource to be created (via {@link WithCreate#create()}), but also allows
+ * for any other optional settings to be specified.
+ */
+ interface WithCreate extends Creatable {
+ }
+ }
+ /**
+ * The template for a AppResource update operation, containing all the settings that can be modified.
+ */
+ interface Update extends Appliable, UpdateStages.WithProperties {
+ }
+
+ /**
+ * Grouping of AppResource update stages.
+ */
+ interface UpdateStages {
+ /**
+ * The stage of the appresource update allowing to specify Properties.
+ */
+ interface WithProperties {
+ /**
+ * Specifies properties.
+ * @param properties Properties of the App resource
+ * @return the next update stage
+ */
+ Update withProperties(AppResourceProperties properties);
+ }
+
+ }
+}
diff --git a/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/AppResourceProperties.java b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/AppResourceProperties.java
new file mode 100644
index 000000000000..272ff8751b6c
--- /dev/null
+++ b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/AppResourceProperties.java
@@ -0,0 +1,168 @@
+/**
+ * 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.appplatform.v2019_05_01_preview;
+
+import org.joda.time.DateTime;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * App resource properties payload.
+ */
+public class AppResourceProperties {
+ /**
+ * Indicates whether the App exposes public endpoint.
+ */
+ @JsonProperty(value = "public")
+ private Boolean publicProperty;
+
+ /**
+ * URL of the App.
+ */
+ @JsonProperty(value = "url", access = JsonProperty.Access.WRITE_ONLY)
+ private String url;
+
+ /**
+ * Provisioning state of the App. Possible values include: 'Succeeded',
+ * 'Failed'.
+ */
+ @JsonProperty(value = "provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private AppResourceProvisioningState provisioningState;
+
+ /**
+ * Name of the active deployment of the App.
+ */
+ @JsonProperty(value = "activeDeploymentName")
+ private String activeDeploymentName;
+
+ /**
+ * Date time when the resource is created.
+ */
+ @JsonProperty(value = "createdTime", access = JsonProperty.Access.WRITE_ONLY)
+ private DateTime createdTime;
+
+ /**
+ * Temporary disk settings.
+ */
+ @JsonProperty(value = "temporaryDisk")
+ private TemporaryDisk temporaryDisk;
+
+ /**
+ * Persistent disk settings.
+ */
+ @JsonProperty(value = "persistentDisk")
+ private PersistentDisk persistentDisk;
+
+ /**
+ * Get indicates whether the App exposes public endpoint.
+ *
+ * @return the publicProperty value
+ */
+ public Boolean publicProperty() {
+ return this.publicProperty;
+ }
+
+ /**
+ * Set indicates whether the App exposes public endpoint.
+ *
+ * @param publicProperty the publicProperty value to set
+ * @return the AppResourceProperties object itself.
+ */
+ public AppResourceProperties withPublicProperty(Boolean publicProperty) {
+ this.publicProperty = publicProperty;
+ return this;
+ }
+
+ /**
+ * Get uRL of the App.
+ *
+ * @return the url value
+ */
+ public String url() {
+ return this.url;
+ }
+
+ /**
+ * Get provisioning state of the App. Possible values include: 'Succeeded', 'Failed'.
+ *
+ * @return the provisioningState value
+ */
+ public AppResourceProvisioningState provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get name of the active deployment of the App.
+ *
+ * @return the activeDeploymentName value
+ */
+ public String activeDeploymentName() {
+ return this.activeDeploymentName;
+ }
+
+ /**
+ * Set name of the active deployment of the App.
+ *
+ * @param activeDeploymentName the activeDeploymentName value to set
+ * @return the AppResourceProperties object itself.
+ */
+ public AppResourceProperties withActiveDeploymentName(String activeDeploymentName) {
+ this.activeDeploymentName = activeDeploymentName;
+ return this;
+ }
+
+ /**
+ * Get date time when the resource is created.
+ *
+ * @return the createdTime value
+ */
+ public DateTime createdTime() {
+ return this.createdTime;
+ }
+
+ /**
+ * Get temporary disk settings.
+ *
+ * @return the temporaryDisk value
+ */
+ public TemporaryDisk temporaryDisk() {
+ return this.temporaryDisk;
+ }
+
+ /**
+ * Set temporary disk settings.
+ *
+ * @param temporaryDisk the temporaryDisk value to set
+ * @return the AppResourceProperties object itself.
+ */
+ public AppResourceProperties withTemporaryDisk(TemporaryDisk temporaryDisk) {
+ this.temporaryDisk = temporaryDisk;
+ return this;
+ }
+
+ /**
+ * Get persistent disk settings.
+ *
+ * @return the persistentDisk value
+ */
+ public PersistentDisk persistentDisk() {
+ return this.persistentDisk;
+ }
+
+ /**
+ * Set persistent disk settings.
+ *
+ * @param persistentDisk the persistentDisk value to set
+ * @return the AppResourceProperties object itself.
+ */
+ public AppResourceProperties withPersistentDisk(PersistentDisk persistentDisk) {
+ this.persistentDisk = persistentDisk;
+ return this;
+ }
+
+}
diff --git a/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/AppResourceProvisioningState.java b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/AppResourceProvisioningState.java
new file mode 100644
index 000000000000..75583dfa840c
--- /dev/null
+++ b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/AppResourceProvisioningState.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.appplatform.v2019_05_01_preview;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for AppResourceProvisioningState.
+ */
+public final class AppResourceProvisioningState extends ExpandableStringEnum {
+ /** Static value Succeeded for AppResourceProvisioningState. */
+ public static final AppResourceProvisioningState SUCCEEDED = fromString("Succeeded");
+
+ /** Static value Failed for AppResourceProvisioningState. */
+ public static final AppResourceProvisioningState FAILED = fromString("Failed");
+
+ /**
+ * Creates or finds a AppResourceProvisioningState from its string representation.
+ * @param name a name to look for
+ * @return the corresponding AppResourceProvisioningState
+ */
+ @JsonCreator
+ public static AppResourceProvisioningState fromString(String name) {
+ return fromString(name, AppResourceProvisioningState.class);
+ }
+
+ /**
+ * @return known AppResourceProvisioningState values
+ */
+ public static Collection values() {
+ return values(AppResourceProvisioningState.class);
+ }
+}
diff --git a/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/Apps.java b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/Apps.java
new file mode 100644
index 000000000000..9d2fdfe4611e
--- /dev/null
+++ b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/Apps.java
@@ -0,0 +1,64 @@
+/**
+ * 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.appplatform.v2019_05_01_preview;
+
+import com.microsoft.azure.arm.collection.SupportsCreating;
+import rx.Completable;
+import rx.Observable;
+import com.microsoft.azure.management.appplatform.v2019_05_01_preview.implementation.AppsInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing Apps.
+ */
+public interface Apps extends SupportsCreating, HasInner {
+ /**
+ * Get an App and its properties.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param serviceName The name of the Service resource.
+ * @param appName The name of the App resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getAsync(String resourceGroupName, String serviceName, String appName);
+
+ /**
+ * Operation to delete an App.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param serviceName The name of the Service resource.
+ * @param appName The name of the App resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable deleteAsync(String resourceGroupName, String serviceName, String appName);
+
+ /**
+ * Handles requests to list all resources in a Service.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param serviceName The name of the Service resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listAsync(final String resourceGroupName, final String serviceName);
+
+ /**
+ * Get an resource upload URL for an App, which may be artifacts or source archive.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param serviceName The name of the Service resource.
+ * @param appName The name of the App resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getResourceUploadUrlAsync(String resourceGroupName, String serviceName, String appName);
+
+}
diff --git a/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/BindingResource.java b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/BindingResource.java
new file mode 100644
index 000000000000..e2fa9b328ffa
--- /dev/null
+++ b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/BindingResource.java
@@ -0,0 +1,119 @@
+/**
+ * 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.appplatform.v2019_05_01_preview;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.appplatform.v2019_05_01_preview.implementation.BindingResourceInner;
+import com.microsoft.azure.arm.model.Indexable;
+import com.microsoft.azure.arm.model.Refreshable;
+import com.microsoft.azure.arm.model.Updatable;
+import com.microsoft.azure.arm.model.Appliable;
+import com.microsoft.azure.arm.model.Creatable;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.appplatform.v2019_05_01_preview.implementation.AppPlatformManager;
+import java.util.Map;
+
+/**
+ * Type representing BindingResource.
+ */
+public interface BindingResource extends HasInner, Indexable, Refreshable, Updatable, HasManager {
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the properties value.
+ */
+ BindingResourceProperties properties();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+ /**
+ * The entirety of the BindingResource definition.
+ */
+ interface Definition extends DefinitionStages.Blank, DefinitionStages.WithApp, DefinitionStages.WithProperties, DefinitionStages.WithCreate {
+ }
+
+ /**
+ * Grouping of BindingResource definition stages.
+ */
+ interface DefinitionStages {
+ /**
+ * The first stage of a BindingResource definition.
+ */
+ interface Blank extends WithApp {
+ }
+
+ /**
+ * The stage of the bindingresource definition allowing to specify App.
+ */
+ interface WithApp {
+ /**
+ * Specifies resourceGroupName, serviceName, appName.
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal
+ * @param serviceName The name of the Service resource
+ * @param appName The name of the App resource
+ * @return the next definition stage
+ */
+ WithProperties withExistingApp(String resourceGroupName, String serviceName, String appName);
+ }
+
+ /**
+ * The stage of the bindingresource definition allowing to specify Properties.
+ */
+ interface WithProperties {
+ /**
+ * Specifies properties.
+ * @param properties Properties of the Binding resource
+ * @return the next definition stage
+ */
+ WithCreate withProperties(BindingResourceProperties properties);
+ }
+
+ /**
+ * The stage of the definition which contains all the minimum required inputs for
+ * the resource to be created (via {@link WithCreate#create()}), but also allows
+ * for any other optional settings to be specified.
+ */
+ interface WithCreate extends Creatable {
+ }
+ }
+ /**
+ * The template for a BindingResource update operation, containing all the settings that can be modified.
+ */
+ interface Update extends Appliable, UpdateStages.WithProperties {
+ }
+
+ /**
+ * Grouping of BindingResource update stages.
+ */
+ interface UpdateStages {
+ /**
+ * The stage of the bindingresource update allowing to specify Properties.
+ */
+ interface WithProperties {
+ /**
+ * Specifies properties.
+ * @param properties Properties of the Binding resource
+ * @return the next update stage
+ */
+ Update withProperties(BindingResourceProperties properties);
+ }
+
+ }
+}
diff --git a/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/BindingResourceProperties.java b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/BindingResourceProperties.java
new file mode 100644
index 000000000000..b0444be0fc4a
--- /dev/null
+++ b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/BindingResourceProperties.java
@@ -0,0 +1,194 @@
+/**
+ * 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.appplatform.v2019_05_01_preview;
+
+import java.util.Map;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Binding resource properties payload.
+ */
+public class BindingResourceProperties {
+ /**
+ * The name of the bound resource.
+ */
+ @JsonProperty(value = "resourceName")
+ private String resourceName;
+
+ /**
+ * The standard Azure resource type of the bound resource.
+ */
+ @JsonProperty(value = "resourceType")
+ private String resourceType;
+
+ /**
+ * The Azure resource id of the bound resource.
+ */
+ @JsonProperty(value = "resourceId")
+ private String resourceId;
+
+ /**
+ * The key of the bound resource.
+ */
+ @JsonProperty(value = "key")
+ private String key;
+
+ /**
+ * Binding parameters of the Binding resource.
+ */
+ @JsonProperty(value = "bindingParameters")
+ private Map bindingParameters;
+
+ /**
+ * The generated Spring Boot property file for this binding. The secret
+ * will be deducted.
+ */
+ @JsonProperty(value = "generatedProperties", access = JsonProperty.Access.WRITE_ONLY)
+ private String generatedProperties;
+
+ /**
+ * Creation time of the Binding resource.
+ */
+ @JsonProperty(value = "createdAt", access = JsonProperty.Access.WRITE_ONLY)
+ private String createdAt;
+
+ /**
+ * Update time of the Binding resource.
+ */
+ @JsonProperty(value = "updatedAt", access = JsonProperty.Access.WRITE_ONLY)
+ private String updatedAt;
+
+ /**
+ * Get the name of the bound resource.
+ *
+ * @return the resourceName value
+ */
+ public String resourceName() {
+ return this.resourceName;
+ }
+
+ /**
+ * Set the name of the bound resource.
+ *
+ * @param resourceName the resourceName value to set
+ * @return the BindingResourceProperties object itself.
+ */
+ public BindingResourceProperties withResourceName(String resourceName) {
+ this.resourceName = resourceName;
+ return this;
+ }
+
+ /**
+ * Get the standard Azure resource type of the bound resource.
+ *
+ * @return the resourceType value
+ */
+ public String resourceType() {
+ return this.resourceType;
+ }
+
+ /**
+ * Set the standard Azure resource type of the bound resource.
+ *
+ * @param resourceType the resourceType value to set
+ * @return the BindingResourceProperties object itself.
+ */
+ public BindingResourceProperties withResourceType(String resourceType) {
+ this.resourceType = resourceType;
+ return this;
+ }
+
+ /**
+ * Get the Azure resource id of the bound resource.
+ *
+ * @return the resourceId value
+ */
+ public String resourceId() {
+ return this.resourceId;
+ }
+
+ /**
+ * Set the Azure resource id of the bound resource.
+ *
+ * @param resourceId the resourceId value to set
+ * @return the BindingResourceProperties object itself.
+ */
+ public BindingResourceProperties withResourceId(String resourceId) {
+ this.resourceId = resourceId;
+ return this;
+ }
+
+ /**
+ * Get the key of the bound resource.
+ *
+ * @return the key value
+ */
+ public String key() {
+ return this.key;
+ }
+
+ /**
+ * Set the key of the bound resource.
+ *
+ * @param key the key value to set
+ * @return the BindingResourceProperties object itself.
+ */
+ public BindingResourceProperties withKey(String key) {
+ this.key = key;
+ return this;
+ }
+
+ /**
+ * Get binding parameters of the Binding resource.
+ *
+ * @return the bindingParameters value
+ */
+ public Map bindingParameters() {
+ return this.bindingParameters;
+ }
+
+ /**
+ * Set binding parameters of the Binding resource.
+ *
+ * @param bindingParameters the bindingParameters value to set
+ * @return the BindingResourceProperties object itself.
+ */
+ public BindingResourceProperties withBindingParameters(Map bindingParameters) {
+ this.bindingParameters = bindingParameters;
+ return this;
+ }
+
+ /**
+ * Get the generated Spring Boot property file for this binding. The secret will be deducted.
+ *
+ * @return the generatedProperties value
+ */
+ public String generatedProperties() {
+ return this.generatedProperties;
+ }
+
+ /**
+ * Get creation time of the Binding resource.
+ *
+ * @return the createdAt value
+ */
+ public String createdAt() {
+ return this.createdAt;
+ }
+
+ /**
+ * Get update time of the Binding resource.
+ *
+ * @return the updatedAt value
+ */
+ public String updatedAt() {
+ return this.updatedAt;
+ }
+
+}
diff --git a/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/Bindings.java b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/Bindings.java
new file mode 100644
index 000000000000..9b39c6982f49
--- /dev/null
+++ b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/Bindings.java
@@ -0,0 +1,56 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.appplatform.v2019_05_01_preview;
+
+import com.microsoft.azure.arm.collection.SupportsCreating;
+import rx.Completable;
+import rx.Observable;
+import com.microsoft.azure.management.appplatform.v2019_05_01_preview.implementation.BindingsInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing Bindings.
+ */
+public interface Bindings extends SupportsCreating, HasInner {
+ /**
+ * Get a Binding and its properties.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param serviceName The name of the Service resource.
+ * @param appName The name of the App resource.
+ * @param bindingName The name of the Binding resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getAsync(String resourceGroupName, String serviceName, String appName, String bindingName);
+
+ /**
+ * Handles requests to list all resources in an App.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param serviceName The name of the Service resource.
+ * @param appName The name of the App resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listAsync(final String resourceGroupName, final String serviceName, final String appName);
+
+ /**
+ * Operation to delete a Binding.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param serviceName The name of the Service resource.
+ * @param appName The name of the App resource.
+ * @param bindingName The name of the Binding resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable deleteAsync(String resourceGroupName, String serviceName, String appName, String bindingName);
+
+}
diff --git a/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/ClusterResourceProperties.java b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/ClusterResourceProperties.java
new file mode 100644
index 000000000000..c8651a77a9f4
--- /dev/null
+++ b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/ClusterResourceProperties.java
@@ -0,0 +1,116 @@
+/**
+ * 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.appplatform.v2019_05_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Service properties payload.
+ */
+public class ClusterResourceProperties {
+ /**
+ * Provisioning state of the Service. Possible values include: 'Creating',
+ * 'Updating', 'Deleting', 'Deleted', 'Succeeded', 'Failed', 'Moving',
+ * 'Moved', 'MoveFailed'.
+ */
+ @JsonProperty(value = "provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private ProvisioningState provisioningState;
+
+ /**
+ * Config server git properties of the Service.
+ */
+ @JsonProperty(value = "configServerProperties")
+ private ConfigServerProperties configServerProperties;
+
+ /**
+ * Trace properties of the Service.
+ */
+ @JsonProperty(value = "trace")
+ private TraceProperties trace;
+
+ /**
+ * Version of the Service.
+ */
+ @JsonProperty(value = "version", access = JsonProperty.Access.WRITE_ONLY)
+ private Integer version;
+
+ /**
+ * ServiceInstanceEntity GUID which uniquely identifies a created resource.
+ */
+ @JsonProperty(value = "serviceId", access = JsonProperty.Access.WRITE_ONLY)
+ private String serviceId;
+
+ /**
+ * Get provisioning state of the Service. Possible values include: 'Creating', 'Updating', 'Deleting', 'Deleted', 'Succeeded', 'Failed', 'Moving', 'Moved', 'MoveFailed'.
+ *
+ * @return the provisioningState value
+ */
+ public ProvisioningState provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get config server git properties of the Service.
+ *
+ * @return the configServerProperties value
+ */
+ public ConfigServerProperties configServerProperties() {
+ return this.configServerProperties;
+ }
+
+ /**
+ * Set config server git properties of the Service.
+ *
+ * @param configServerProperties the configServerProperties value to set
+ * @return the ClusterResourceProperties object itself.
+ */
+ public ClusterResourceProperties withConfigServerProperties(ConfigServerProperties configServerProperties) {
+ this.configServerProperties = configServerProperties;
+ return this;
+ }
+
+ /**
+ * Get trace properties of the Service.
+ *
+ * @return the trace value
+ */
+ public TraceProperties trace() {
+ return this.trace;
+ }
+
+ /**
+ * Set trace properties of the Service.
+ *
+ * @param trace the trace value to set
+ * @return the ClusterResourceProperties object itself.
+ */
+ public ClusterResourceProperties withTrace(TraceProperties trace) {
+ this.trace = trace;
+ return this;
+ }
+
+ /**
+ * Get version of the Service.
+ *
+ * @return the version value
+ */
+ public Integer version() {
+ return this.version;
+ }
+
+ /**
+ * Get serviceInstanceEntity GUID which uniquely identifies a created resource.
+ *
+ * @return the serviceId value
+ */
+ public String serviceId() {
+ return this.serviceId;
+ }
+
+}
diff --git a/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/ConfigServerGitProperty.java b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/ConfigServerGitProperty.java
new file mode 100644
index 000000000000..e21191ee3da4
--- /dev/null
+++ b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/ConfigServerGitProperty.java
@@ -0,0 +1,278 @@
+/**
+ * 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.appplatform.v2019_05_01_preview;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Property of git.
+ */
+public class ConfigServerGitProperty {
+ /**
+ * Repositories of git.
+ */
+ @JsonProperty(value = "repositories")
+ private List repositories;
+
+ /**
+ * URI of the repository.
+ */
+ @JsonProperty(value = "uri", required = true)
+ private String uri;
+
+ /**
+ * Label of the repository.
+ */
+ @JsonProperty(value = "label")
+ private String label;
+
+ /**
+ * Searching path of the repository.
+ */
+ @JsonProperty(value = "searchPaths")
+ private List searchPaths;
+
+ /**
+ * Username of git repository basic auth.
+ */
+ @JsonProperty(value = "username")
+ private String username;
+
+ /**
+ * Password of git repository basic auth.
+ */
+ @JsonProperty(value = "password")
+ private String password;
+
+ /**
+ * Public sshKey of git repository.
+ */
+ @JsonProperty(value = "hostKey")
+ private String hostKey;
+
+ /**
+ * SshKey algorithm of git repository.
+ */
+ @JsonProperty(value = "hostKeyAlgorithm")
+ private String hostKeyAlgorithm;
+
+ /**
+ * Private sshKey algorithm of git repository.
+ */
+ @JsonProperty(value = "privateKey")
+ private String privateKey;
+
+ /**
+ * Strict host key checking or not.
+ */
+ @JsonProperty(value = "strictHostKeyChecking")
+ private Boolean strictHostKeyChecking;
+
+ /**
+ * Get repositories of git.
+ *
+ * @return the repositories value
+ */
+ public List repositories() {
+ return this.repositories;
+ }
+
+ /**
+ * Set repositories of git.
+ *
+ * @param repositories the repositories value to set
+ * @return the ConfigServerGitProperty object itself.
+ */
+ public ConfigServerGitProperty withRepositories(List repositories) {
+ this.repositories = repositories;
+ return this;
+ }
+
+ /**
+ * Get uRI of the repository.
+ *
+ * @return the uri value
+ */
+ public String uri() {
+ return this.uri;
+ }
+
+ /**
+ * Set uRI of the repository.
+ *
+ * @param uri the uri value to set
+ * @return the ConfigServerGitProperty object itself.
+ */
+ public ConfigServerGitProperty withUri(String uri) {
+ this.uri = uri;
+ return this;
+ }
+
+ /**
+ * Get label of the repository.
+ *
+ * @return the label value
+ */
+ public String label() {
+ return this.label;
+ }
+
+ /**
+ * Set label of the repository.
+ *
+ * @param label the label value to set
+ * @return the ConfigServerGitProperty object itself.
+ */
+ public ConfigServerGitProperty withLabel(String label) {
+ this.label = label;
+ return this;
+ }
+
+ /**
+ * Get searching path of the repository.
+ *
+ * @return the searchPaths value
+ */
+ public List searchPaths() {
+ return this.searchPaths;
+ }
+
+ /**
+ * Set searching path of the repository.
+ *
+ * @param searchPaths the searchPaths value to set
+ * @return the ConfigServerGitProperty object itself.
+ */
+ public ConfigServerGitProperty withSearchPaths(List searchPaths) {
+ this.searchPaths = searchPaths;
+ return this;
+ }
+
+ /**
+ * Get username of git repository basic auth.
+ *
+ * @return the username value
+ */
+ public String username() {
+ return this.username;
+ }
+
+ /**
+ * Set username of git repository basic auth.
+ *
+ * @param username the username value to set
+ * @return the ConfigServerGitProperty object itself.
+ */
+ public ConfigServerGitProperty withUsername(String username) {
+ this.username = username;
+ return this;
+ }
+
+ /**
+ * Get password of git repository basic auth.
+ *
+ * @return the password value
+ */
+ public String password() {
+ return this.password;
+ }
+
+ /**
+ * Set password of git repository basic auth.
+ *
+ * @param password the password value to set
+ * @return the ConfigServerGitProperty object itself.
+ */
+ public ConfigServerGitProperty withPassword(String password) {
+ this.password = password;
+ return this;
+ }
+
+ /**
+ * Get public sshKey of git repository.
+ *
+ * @return the hostKey value
+ */
+ public String hostKey() {
+ return this.hostKey;
+ }
+
+ /**
+ * Set public sshKey of git repository.
+ *
+ * @param hostKey the hostKey value to set
+ * @return the ConfigServerGitProperty object itself.
+ */
+ public ConfigServerGitProperty withHostKey(String hostKey) {
+ this.hostKey = hostKey;
+ return this;
+ }
+
+ /**
+ * Get sshKey algorithm of git repository.
+ *
+ * @return the hostKeyAlgorithm value
+ */
+ public String hostKeyAlgorithm() {
+ return this.hostKeyAlgorithm;
+ }
+
+ /**
+ * Set sshKey algorithm of git repository.
+ *
+ * @param hostKeyAlgorithm the hostKeyAlgorithm value to set
+ * @return the ConfigServerGitProperty object itself.
+ */
+ public ConfigServerGitProperty withHostKeyAlgorithm(String hostKeyAlgorithm) {
+ this.hostKeyAlgorithm = hostKeyAlgorithm;
+ return this;
+ }
+
+ /**
+ * Get private sshKey algorithm of git repository.
+ *
+ * @return the privateKey value
+ */
+ public String privateKey() {
+ return this.privateKey;
+ }
+
+ /**
+ * Set private sshKey algorithm of git repository.
+ *
+ * @param privateKey the privateKey value to set
+ * @return the ConfigServerGitProperty object itself.
+ */
+ public ConfigServerGitProperty withPrivateKey(String privateKey) {
+ this.privateKey = privateKey;
+ return this;
+ }
+
+ /**
+ * Get strict host key checking or not.
+ *
+ * @return the strictHostKeyChecking value
+ */
+ public Boolean strictHostKeyChecking() {
+ return this.strictHostKeyChecking;
+ }
+
+ /**
+ * Set strict host key checking or not.
+ *
+ * @param strictHostKeyChecking the strictHostKeyChecking value to set
+ * @return the ConfigServerGitProperty object itself.
+ */
+ public ConfigServerGitProperty withStrictHostKeyChecking(Boolean strictHostKeyChecking) {
+ this.strictHostKeyChecking = strictHostKeyChecking;
+ return this;
+ }
+
+}
diff --git a/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/ConfigServerProperties.java b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/ConfigServerProperties.java
new file mode 100644
index 000000000000..aee39da3b12a
--- /dev/null
+++ b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/ConfigServerProperties.java
@@ -0,0 +1,85 @@
+/**
+ * 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.appplatform.v2019_05_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Config server git properties payload.
+ */
+public class ConfigServerProperties {
+ /**
+ * State of the config server. Possible values include: 'NotAvailable',
+ * 'Deleted', 'Failed', 'Succeeded', 'Updating'.
+ */
+ @JsonProperty(value = "state", access = JsonProperty.Access.WRITE_ONLY)
+ private ConfigServerState state;
+
+ /**
+ * Error when apply config server settings.
+ */
+ @JsonProperty(value = "error")
+ private Error error;
+
+ /**
+ * Settings of config server.
+ */
+ @JsonProperty(value = "configServer")
+ private ConfigServerSettings configServer;
+
+ /**
+ * Get state of the config server. Possible values include: 'NotAvailable', 'Deleted', 'Failed', 'Succeeded', 'Updating'.
+ *
+ * @return the state value
+ */
+ public ConfigServerState state() {
+ return this.state;
+ }
+
+ /**
+ * Get error when apply config server settings.
+ *
+ * @return the error value
+ */
+ public Error error() {
+ return this.error;
+ }
+
+ /**
+ * Set error when apply config server settings.
+ *
+ * @param error the error value to set
+ * @return the ConfigServerProperties object itself.
+ */
+ public ConfigServerProperties withError(Error error) {
+ this.error = error;
+ return this;
+ }
+
+ /**
+ * Get settings of config server.
+ *
+ * @return the configServer value
+ */
+ public ConfigServerSettings configServer() {
+ return this.configServer;
+ }
+
+ /**
+ * Set settings of config server.
+ *
+ * @param configServer the configServer value to set
+ * @return the ConfigServerProperties object itself.
+ */
+ public ConfigServerProperties withConfigServer(ConfigServerSettings configServer) {
+ this.configServer = configServer;
+ return this;
+ }
+
+}
diff --git a/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/ConfigServerSettings.java b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/ConfigServerSettings.java
new file mode 100644
index 000000000000..e3b0a64a2289
--- /dev/null
+++ b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/ConfigServerSettings.java
@@ -0,0 +1,43 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.appplatform.v2019_05_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The settings of config server.
+ */
+public class ConfigServerSettings {
+ /**
+ * Property of git environment.
+ */
+ @JsonProperty(value = "gitProperty")
+ private ConfigServerGitProperty gitProperty;
+
+ /**
+ * Get property of git environment.
+ *
+ * @return the gitProperty value
+ */
+ public ConfigServerGitProperty gitProperty() {
+ return this.gitProperty;
+ }
+
+ /**
+ * Set property of git environment.
+ *
+ * @param gitProperty the gitProperty value to set
+ * @return the ConfigServerSettings object itself.
+ */
+ public ConfigServerSettings withGitProperty(ConfigServerGitProperty gitProperty) {
+ this.gitProperty = gitProperty;
+ return this;
+ }
+
+}
diff --git a/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/ConfigServerState.java b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/ConfigServerState.java
new file mode 100644
index 000000000000..007231077499
--- /dev/null
+++ b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/ConfigServerState.java
@@ -0,0 +1,50 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.appplatform.v2019_05_01_preview;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for ConfigServerState.
+ */
+public final class ConfigServerState extends ExpandableStringEnum {
+ /** Static value NotAvailable for ConfigServerState. */
+ public static final ConfigServerState NOT_AVAILABLE = fromString("NotAvailable");
+
+ /** Static value Deleted for ConfigServerState. */
+ public static final ConfigServerState DELETED = fromString("Deleted");
+
+ /** Static value Failed for ConfigServerState. */
+ public static final ConfigServerState FAILED = fromString("Failed");
+
+ /** Static value Succeeded for ConfigServerState. */
+ public static final ConfigServerState SUCCEEDED = fromString("Succeeded");
+
+ /** Static value Updating for ConfigServerState. */
+ public static final ConfigServerState UPDATING = fromString("Updating");
+
+ /**
+ * Creates or finds a ConfigServerState from its string representation.
+ * @param name a name to look for
+ * @return the corresponding ConfigServerState
+ */
+ @JsonCreator
+ public static ConfigServerState fromString(String name) {
+ return fromString(name, ConfigServerState.class);
+ }
+
+ /**
+ * @return known ConfigServerState values
+ */
+ public static Collection values() {
+ return values(ConfigServerState.class);
+ }
+}
diff --git a/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/DeploymentInstance.java b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/DeploymentInstance.java
new file mode 100644
index 000000000000..8939e95ee995
--- /dev/null
+++ b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/DeploymentInstance.java
@@ -0,0 +1,77 @@
+/**
+ * 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.appplatform.v2019_05_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Deployment instance payload.
+ */
+public class DeploymentInstance {
+ /**
+ * Name of the deployment instance.
+ */
+ @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY)
+ private String name;
+
+ /**
+ * Status of the deployment instance.
+ */
+ @JsonProperty(value = "status", access = JsonProperty.Access.WRITE_ONLY)
+ private String status;
+
+ /**
+ * Failed reason of the deployment instance.
+ */
+ @JsonProperty(value = "reason", access = JsonProperty.Access.WRITE_ONLY)
+ private String reason;
+
+ /**
+ * Discovery status of the deployment instance.
+ */
+ @JsonProperty(value = "discoveryStatus", access = JsonProperty.Access.WRITE_ONLY)
+ private String discoveryStatus;
+
+ /**
+ * Get name of the deployment instance.
+ *
+ * @return the name value
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get status of the deployment instance.
+ *
+ * @return the status value
+ */
+ public String status() {
+ return this.status;
+ }
+
+ /**
+ * Get failed reason of the deployment instance.
+ *
+ * @return the reason value
+ */
+ public String reason() {
+ return this.reason;
+ }
+
+ /**
+ * Get discovery status of the deployment instance.
+ *
+ * @return the discoveryStatus value
+ */
+ public String discoveryStatus() {
+ return this.discoveryStatus;
+ }
+
+}
diff --git a/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/DeploymentResource.java b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/DeploymentResource.java
new file mode 100644
index 000000000000..b9d0bb39cb63
--- /dev/null
+++ b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/DeploymentResource.java
@@ -0,0 +1,120 @@
+/**
+ * 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.appplatform.v2019_05_01_preview;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.appplatform.v2019_05_01_preview.implementation.DeploymentResourceInner;
+import com.microsoft.azure.arm.model.Indexable;
+import com.microsoft.azure.arm.model.Refreshable;
+import com.microsoft.azure.arm.model.Updatable;
+import com.microsoft.azure.arm.model.Appliable;
+import com.microsoft.azure.arm.model.Creatable;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.appplatform.v2019_05_01_preview.implementation.AppPlatformManager;
+import org.joda.time.DateTime;
+import java.util.List;
+
+/**
+ * Type representing DeploymentResource.
+ */
+public interface DeploymentResource extends HasInner, Indexable, Refreshable, Updatable, HasManager {
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the properties value.
+ */
+ DeploymentResourceProperties properties();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+ /**
+ * The entirety of the DeploymentResource definition.
+ */
+ interface Definition extends DefinitionStages.Blank, DefinitionStages.WithApp, DefinitionStages.WithProperties, DefinitionStages.WithCreate {
+ }
+
+ /**
+ * Grouping of DeploymentResource definition stages.
+ */
+ interface DefinitionStages {
+ /**
+ * The first stage of a DeploymentResource definition.
+ */
+ interface Blank extends WithApp {
+ }
+
+ /**
+ * The stage of the deploymentresource definition allowing to specify App.
+ */
+ interface WithApp {
+ /**
+ * Specifies resourceGroupName, serviceName, appName.
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal
+ * @param serviceName The name of the Service resource
+ * @param appName The name of the App resource
+ * @return the next definition stage
+ */
+ WithProperties withExistingApp(String resourceGroupName, String serviceName, String appName);
+ }
+
+ /**
+ * The stage of the deploymentresource definition allowing to specify Properties.
+ */
+ interface WithProperties {
+ /**
+ * Specifies properties.
+ * @param properties Properties of the Deployment resource
+ * @return the next definition stage
+ */
+ WithCreate withProperties(DeploymentResourceProperties properties);
+ }
+
+ /**
+ * The stage of the definition which contains all the minimum required inputs for
+ * the resource to be created (via {@link WithCreate#create()}), but also allows
+ * for any other optional settings to be specified.
+ */
+ interface WithCreate extends Creatable {
+ }
+ }
+ /**
+ * The template for a DeploymentResource update operation, containing all the settings that can be modified.
+ */
+ interface Update extends Appliable, UpdateStages.WithProperties {
+ }
+
+ /**
+ * Grouping of DeploymentResource update stages.
+ */
+ interface UpdateStages {
+ /**
+ * The stage of the deploymentresource update allowing to specify Properties.
+ */
+ interface WithProperties {
+ /**
+ * Specifies properties.
+ * @param properties Properties of the Deployment resource
+ * @return the next update stage
+ */
+ Update withProperties(DeploymentResourceProperties properties);
+ }
+
+ }
+}
diff --git a/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/DeploymentResourceProperties.java b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/DeploymentResourceProperties.java
new file mode 100644
index 000000000000..b042e3fa267b
--- /dev/null
+++ b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/DeploymentResourceProperties.java
@@ -0,0 +1,164 @@
+/**
+ * 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.appplatform.v2019_05_01_preview;
+
+import org.joda.time.DateTime;
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Deployment resource properties payload.
+ */
+public class DeploymentResourceProperties {
+ /**
+ * Uploaded source information of the deployment.
+ */
+ @JsonProperty(value = "source")
+ private UserSourceInfo source;
+
+ /**
+ * App name of the deployment.
+ */
+ @JsonProperty(value = "appName", access = JsonProperty.Access.WRITE_ONLY)
+ private String appName;
+
+ /**
+ * Deployment settings of the Deployment.
+ */
+ @JsonProperty(value = "deploymentSettings")
+ private DeploymentSettings deploymentSettings;
+
+ /**
+ * Provisioning state of the Deployment. Possible values include:
+ * 'Creating', 'Processing', 'Succeeded', 'Failed'.
+ */
+ @JsonProperty(value = "provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private DeploymentResourceProvisioningState provisioningState;
+
+ /**
+ * Status of the Deployment. Possible values include: 'Unknown', 'Stopped',
+ * 'Running', 'Failed', 'Processing', 'Allocating', 'Upgrading',
+ * 'Compiling'.
+ */
+ @JsonProperty(value = "status", access = JsonProperty.Access.WRITE_ONLY)
+ private DeploymentResourceStatus status;
+
+ /**
+ * Indicates whether the Deployment is active.
+ */
+ @JsonProperty(value = "active", access = JsonProperty.Access.WRITE_ONLY)
+ private Boolean active;
+
+ /**
+ * Date time when the resource is created.
+ */
+ @JsonProperty(value = "createdTime", access = JsonProperty.Access.WRITE_ONLY)
+ private DateTime createdTime;
+
+ /**
+ * Collection of instances belong to the Deployment.
+ */
+ @JsonProperty(value = "instances", access = JsonProperty.Access.WRITE_ONLY)
+ private List instances;
+
+ /**
+ * Get uploaded source information of the deployment.
+ *
+ * @return the source value
+ */
+ public UserSourceInfo source() {
+ return this.source;
+ }
+
+ /**
+ * Set uploaded source information of the deployment.
+ *
+ * @param source the source value to set
+ * @return the DeploymentResourceProperties object itself.
+ */
+ public DeploymentResourceProperties withSource(UserSourceInfo source) {
+ this.source = source;
+ return this;
+ }
+
+ /**
+ * Get app name of the deployment.
+ *
+ * @return the appName value
+ */
+ public String appName() {
+ return this.appName;
+ }
+
+ /**
+ * Get deployment settings of the Deployment.
+ *
+ * @return the deploymentSettings value
+ */
+ public DeploymentSettings deploymentSettings() {
+ return this.deploymentSettings;
+ }
+
+ /**
+ * Set deployment settings of the Deployment.
+ *
+ * @param deploymentSettings the deploymentSettings value to set
+ * @return the DeploymentResourceProperties object itself.
+ */
+ public DeploymentResourceProperties withDeploymentSettings(DeploymentSettings deploymentSettings) {
+ this.deploymentSettings = deploymentSettings;
+ return this;
+ }
+
+ /**
+ * Get provisioning state of the Deployment. Possible values include: 'Creating', 'Processing', 'Succeeded', 'Failed'.
+ *
+ * @return the provisioningState value
+ */
+ public DeploymentResourceProvisioningState provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get status of the Deployment. Possible values include: 'Unknown', 'Stopped', 'Running', 'Failed', 'Processing', 'Allocating', 'Upgrading', 'Compiling'.
+ *
+ * @return the status value
+ */
+ public DeploymentResourceStatus status() {
+ return this.status;
+ }
+
+ /**
+ * Get indicates whether the Deployment is active.
+ *
+ * @return the active value
+ */
+ public Boolean active() {
+ return this.active;
+ }
+
+ /**
+ * Get date time when the resource is created.
+ *
+ * @return the createdTime value
+ */
+ public DateTime createdTime() {
+ return this.createdTime;
+ }
+
+ /**
+ * Get collection of instances belong to the Deployment.
+ *
+ * @return the instances value
+ */
+ public List instances() {
+ return this.instances;
+ }
+
+}
diff --git a/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/DeploymentResourceProvisioningState.java b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/DeploymentResourceProvisioningState.java
new file mode 100644
index 000000000000..f4e3ef7942be
--- /dev/null
+++ b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/DeploymentResourceProvisioningState.java
@@ -0,0 +1,47 @@
+/**
+ * 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.appplatform.v2019_05_01_preview;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for DeploymentResourceProvisioningState.
+ */
+public final class DeploymentResourceProvisioningState extends ExpandableStringEnum {
+ /** Static value Creating for DeploymentResourceProvisioningState. */
+ public static final DeploymentResourceProvisioningState CREATING = fromString("Creating");
+
+ /** Static value Processing for DeploymentResourceProvisioningState. */
+ public static final DeploymentResourceProvisioningState PROCESSING = fromString("Processing");
+
+ /** Static value Succeeded for DeploymentResourceProvisioningState. */
+ public static final DeploymentResourceProvisioningState SUCCEEDED = fromString("Succeeded");
+
+ /** Static value Failed for DeploymentResourceProvisioningState. */
+ public static final DeploymentResourceProvisioningState FAILED = fromString("Failed");
+
+ /**
+ * Creates or finds a DeploymentResourceProvisioningState from its string representation.
+ * @param name a name to look for
+ * @return the corresponding DeploymentResourceProvisioningState
+ */
+ @JsonCreator
+ public static DeploymentResourceProvisioningState fromString(String name) {
+ return fromString(name, DeploymentResourceProvisioningState.class);
+ }
+
+ /**
+ * @return known DeploymentResourceProvisioningState values
+ */
+ public static Collection values() {
+ return values(DeploymentResourceProvisioningState.class);
+ }
+}
diff --git a/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/DeploymentResourceStatus.java b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/DeploymentResourceStatus.java
new file mode 100644
index 000000000000..76836afdffb3
--- /dev/null
+++ b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/DeploymentResourceStatus.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.appplatform.v2019_05_01_preview;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for DeploymentResourceStatus.
+ */
+public final class DeploymentResourceStatus extends ExpandableStringEnum {
+ /** Static value Unknown for DeploymentResourceStatus. */
+ public static final DeploymentResourceStatus UNKNOWN = fromString("Unknown");
+
+ /** Static value Stopped for DeploymentResourceStatus. */
+ public static final DeploymentResourceStatus STOPPED = fromString("Stopped");
+
+ /** Static value Running for DeploymentResourceStatus. */
+ public static final DeploymentResourceStatus RUNNING = fromString("Running");
+
+ /** Static value Failed for DeploymentResourceStatus. */
+ public static final DeploymentResourceStatus FAILED = fromString("Failed");
+
+ /** Static value Processing for DeploymentResourceStatus. */
+ public static final DeploymentResourceStatus PROCESSING = fromString("Processing");
+
+ /** Static value Allocating for DeploymentResourceStatus. */
+ public static final DeploymentResourceStatus ALLOCATING = fromString("Allocating");
+
+ /** Static value Upgrading for DeploymentResourceStatus. */
+ public static final DeploymentResourceStatus UPGRADING = fromString("Upgrading");
+
+ /** Static value Compiling for DeploymentResourceStatus. */
+ public static final DeploymentResourceStatus COMPILING = fromString("Compiling");
+
+ /**
+ * Creates or finds a DeploymentResourceStatus from its string representation.
+ * @param name a name to look for
+ * @return the corresponding DeploymentResourceStatus
+ */
+ @JsonCreator
+ public static DeploymentResourceStatus fromString(String name) {
+ return fromString(name, DeploymentResourceStatus.class);
+ }
+
+ /**
+ * @return known DeploymentResourceStatus values
+ */
+ public static Collection values() {
+ return values(DeploymentResourceStatus.class);
+ }
+}
diff --git a/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/DeploymentSettings.java b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/DeploymentSettings.java
new file mode 100644
index 000000000000..33f4cbe17f9e
--- /dev/null
+++ b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/DeploymentSettings.java
@@ -0,0 +1,174 @@
+/**
+ * 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.appplatform.v2019_05_01_preview;
+
+import java.util.Map;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Deployment settings payload.
+ */
+public class DeploymentSettings {
+ /**
+ * Required CPU.
+ */
+ @JsonProperty(value = "cpu")
+ private Integer cpu;
+
+ /**
+ * Required Memory size in GB.
+ */
+ @JsonProperty(value = "memoryInGB")
+ private Integer memoryInGB;
+
+ /**
+ * JVM parameter.
+ */
+ @JsonProperty(value = "jvmOptions")
+ private String jvmOptions;
+
+ /**
+ * Instance count.
+ */
+ @JsonProperty(value = "instanceCount")
+ private Integer instanceCount;
+
+ /**
+ * Collection of environment variables.
+ */
+ @JsonProperty(value = "environmentVariables")
+ private Map environmentVariables;
+
+ /**
+ * Runtime version. Possible values include: 'Java_8', 'Java_11'.
+ */
+ @JsonProperty(value = "runtimeVersion")
+ private RuntimeVersion runtimeVersion;
+
+ /**
+ * Get required CPU.
+ *
+ * @return the cpu value
+ */
+ public Integer cpu() {
+ return this.cpu;
+ }
+
+ /**
+ * Set required CPU.
+ *
+ * @param cpu the cpu value to set
+ * @return the DeploymentSettings object itself.
+ */
+ public DeploymentSettings withCpu(Integer cpu) {
+ this.cpu = cpu;
+ return this;
+ }
+
+ /**
+ * Get required Memory size in GB.
+ *
+ * @return the memoryInGB value
+ */
+ public Integer memoryInGB() {
+ return this.memoryInGB;
+ }
+
+ /**
+ * Set required Memory size in GB.
+ *
+ * @param memoryInGB the memoryInGB value to set
+ * @return the DeploymentSettings object itself.
+ */
+ public DeploymentSettings withMemoryInGB(Integer memoryInGB) {
+ this.memoryInGB = memoryInGB;
+ return this;
+ }
+
+ /**
+ * Get jVM parameter.
+ *
+ * @return the jvmOptions value
+ */
+ public String jvmOptions() {
+ return this.jvmOptions;
+ }
+
+ /**
+ * Set jVM parameter.
+ *
+ * @param jvmOptions the jvmOptions value to set
+ * @return the DeploymentSettings object itself.
+ */
+ public DeploymentSettings withJvmOptions(String jvmOptions) {
+ this.jvmOptions = jvmOptions;
+ return this;
+ }
+
+ /**
+ * Get instance count.
+ *
+ * @return the instanceCount value
+ */
+ public Integer instanceCount() {
+ return this.instanceCount;
+ }
+
+ /**
+ * Set instance count.
+ *
+ * @param instanceCount the instanceCount value to set
+ * @return the DeploymentSettings object itself.
+ */
+ public DeploymentSettings withInstanceCount(Integer instanceCount) {
+ this.instanceCount = instanceCount;
+ return this;
+ }
+
+ /**
+ * Get collection of environment variables.
+ *
+ * @return the environmentVariables value
+ */
+ public Map environmentVariables() {
+ return this.environmentVariables;
+ }
+
+ /**
+ * Set collection of environment variables.
+ *
+ * @param environmentVariables the environmentVariables value to set
+ * @return the DeploymentSettings object itself.
+ */
+ public DeploymentSettings withEnvironmentVariables(Map environmentVariables) {
+ this.environmentVariables = environmentVariables;
+ return this;
+ }
+
+ /**
+ * Get runtime version. Possible values include: 'Java_8', 'Java_11'.
+ *
+ * @return the runtimeVersion value
+ */
+ public RuntimeVersion runtimeVersion() {
+ return this.runtimeVersion;
+ }
+
+ /**
+ * Set runtime version. Possible values include: 'Java_8', 'Java_11'.
+ *
+ * @param runtimeVersion the runtimeVersion value to set
+ * @return the DeploymentSettings object itself.
+ */
+ public DeploymentSettings withRuntimeVersion(RuntimeVersion runtimeVersion) {
+ this.runtimeVersion = runtimeVersion;
+ return this;
+ }
+
+}
diff --git a/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/Deployments.java b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/Deployments.java
new file mode 100644
index 000000000000..4021edaea234
--- /dev/null
+++ b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/Deployments.java
@@ -0,0 +1,114 @@
+/**
+ * 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.appplatform.v2019_05_01_preview;
+
+import com.microsoft.azure.arm.collection.SupportsCreating;
+import rx.Completable;
+import rx.Observable;
+import com.microsoft.azure.management.appplatform.v2019_05_01_preview.implementation.DeploymentsInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing Deployments.
+ */
+public interface Deployments extends SupportsCreating, HasInner {
+ /**
+ * List deployments for a certain service.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param serviceName The name of the Service resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listClusterAllDeploymentsAsync(final String resourceGroupName, final String serviceName);
+
+ /**
+ * Start the deployment.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param serviceName The name of the Service resource.
+ * @param appName The name of the App resource.
+ * @param deploymentName The name of the Deployment resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable startAsync(String resourceGroupName, String serviceName, String appName, String deploymentName);
+
+ /**
+ * Stop the deployment.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param serviceName The name of the Service resource.
+ * @param appName The name of the App resource.
+ * @param deploymentName The name of the Deployment resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable stopAsync(String resourceGroupName, String serviceName, String appName, String deploymentName);
+
+ /**
+ * Restart the deployment.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param serviceName The name of the Service resource.
+ * @param appName The name of the App resource.
+ * @param deploymentName The name of the Deployment resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable restartAsync(String resourceGroupName, String serviceName, String appName, String deploymentName);
+
+ /**
+ * Get deployment log file URL.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param serviceName The name of the Service resource.
+ * @param appName The name of the App resource.
+ * @param deploymentName The name of the Deployment resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getLogFileUrlAsync(String resourceGroupName, String serviceName, String appName, String deploymentName);
+
+ /**
+ * Get a Deployment and its properties.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param serviceName The name of the Service resource.
+ * @param appName The name of the App resource.
+ * @param deploymentName The name of the Deployment resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getAsync(String resourceGroupName, String serviceName, String appName, String deploymentName);
+
+ /**
+ * Handles requests to list all resources in an App.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param serviceName The name of the Service resource.
+ * @param appName The name of the App resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listAsync(final String resourceGroupName, final String serviceName, final String appName);
+
+ /**
+ * Operation to delete a Deployment.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param serviceName The name of the Service resource.
+ * @param appName The name of the App resource.
+ * @param deploymentName The name of the Deployment resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable deleteAsync(String resourceGroupName, String serviceName, String appName, String deploymentName);
+
+}
diff --git a/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/Error.java b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/Error.java
new file mode 100644
index 000000000000..48d4f91d41f8
--- /dev/null
+++ b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/Error.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.appplatform.v2019_05_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The error code compose of code and message.
+ */
+public class Error {
+ /**
+ * The code of error.
+ */
+ @JsonProperty(value = "code")
+ private String code;
+
+ /**
+ * The message of error.
+ */
+ @JsonProperty(value = "message")
+ private String message;
+
+ /**
+ * Get the code of error.
+ *
+ * @return the code value
+ */
+ public String code() {
+ return this.code;
+ }
+
+ /**
+ * Set the code of error.
+ *
+ * @param code the code value to set
+ * @return the Error object itself.
+ */
+ public Error withCode(String code) {
+ this.code = code;
+ return this;
+ }
+
+ /**
+ * Get the message of error.
+ *
+ * @return the message value
+ */
+ public String message() {
+ return this.message;
+ }
+
+ /**
+ * Set the message of error.
+ *
+ * @param message the message value to set
+ * @return the Error object itself.
+ */
+ public Error withMessage(String message) {
+ this.message = message;
+ return this;
+ }
+
+}
diff --git a/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/GitPatternRepository.java b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/GitPatternRepository.java
new file mode 100644
index 000000000000..10863b9b2d9b
--- /dev/null
+++ b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/GitPatternRepository.java
@@ -0,0 +1,304 @@
+/**
+ * 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.appplatform.v2019_05_01_preview;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Git repository property payload.
+ */
+public class GitPatternRepository {
+ /**
+ * Name of the repository.
+ */
+ @JsonProperty(value = "name", required = true)
+ private String name;
+
+ /**
+ * Collection of pattern of the repository.
+ */
+ @JsonProperty(value = "pattern")
+ private List pattern;
+
+ /**
+ * URI of the repository.
+ */
+ @JsonProperty(value = "uri", required = true)
+ private String uri;
+
+ /**
+ * Label of the repository.
+ */
+ @JsonProperty(value = "label")
+ private String label;
+
+ /**
+ * Searching path of the repository.
+ */
+ @JsonProperty(value = "searchPaths")
+ private List searchPaths;
+
+ /**
+ * Username of git repository basic auth.
+ */
+ @JsonProperty(value = "username")
+ private String username;
+
+ /**
+ * Password of git repository basic auth.
+ */
+ @JsonProperty(value = "password")
+ private String password;
+
+ /**
+ * Public sshKey of git repository.
+ */
+ @JsonProperty(value = "hostKey")
+ private String hostKey;
+
+ /**
+ * SshKey algorithm of git repository.
+ */
+ @JsonProperty(value = "hostKeyAlgorithm")
+ private String hostKeyAlgorithm;
+
+ /**
+ * Private sshKey algorithm of git repository.
+ */
+ @JsonProperty(value = "privateKey")
+ private String privateKey;
+
+ /**
+ * Strict host key checking or not.
+ */
+ @JsonProperty(value = "strictHostKeyChecking")
+ private Boolean strictHostKeyChecking;
+
+ /**
+ * Get name of the repository.
+ *
+ * @return the name value
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set name of the repository.
+ *
+ * @param name the name value to set
+ * @return the GitPatternRepository object itself.
+ */
+ public GitPatternRepository withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get collection of pattern of the repository.
+ *
+ * @return the pattern value
+ */
+ public List pattern() {
+ return this.pattern;
+ }
+
+ /**
+ * Set collection of pattern of the repository.
+ *
+ * @param pattern the pattern value to set
+ * @return the GitPatternRepository object itself.
+ */
+ public GitPatternRepository withPattern(List pattern) {
+ this.pattern = pattern;
+ return this;
+ }
+
+ /**
+ * Get uRI of the repository.
+ *
+ * @return the uri value
+ */
+ public String uri() {
+ return this.uri;
+ }
+
+ /**
+ * Set uRI of the repository.
+ *
+ * @param uri the uri value to set
+ * @return the GitPatternRepository object itself.
+ */
+ public GitPatternRepository withUri(String uri) {
+ this.uri = uri;
+ return this;
+ }
+
+ /**
+ * Get label of the repository.
+ *
+ * @return the label value
+ */
+ public String label() {
+ return this.label;
+ }
+
+ /**
+ * Set label of the repository.
+ *
+ * @param label the label value to set
+ * @return the GitPatternRepository object itself.
+ */
+ public GitPatternRepository withLabel(String label) {
+ this.label = label;
+ return this;
+ }
+
+ /**
+ * Get searching path of the repository.
+ *
+ * @return the searchPaths value
+ */
+ public List searchPaths() {
+ return this.searchPaths;
+ }
+
+ /**
+ * Set searching path of the repository.
+ *
+ * @param searchPaths the searchPaths value to set
+ * @return the GitPatternRepository object itself.
+ */
+ public GitPatternRepository withSearchPaths(List searchPaths) {
+ this.searchPaths = searchPaths;
+ return this;
+ }
+
+ /**
+ * Get username of git repository basic auth.
+ *
+ * @return the username value
+ */
+ public String username() {
+ return this.username;
+ }
+
+ /**
+ * Set username of git repository basic auth.
+ *
+ * @param username the username value to set
+ * @return the GitPatternRepository object itself.
+ */
+ public GitPatternRepository withUsername(String username) {
+ this.username = username;
+ return this;
+ }
+
+ /**
+ * Get password of git repository basic auth.
+ *
+ * @return the password value
+ */
+ public String password() {
+ return this.password;
+ }
+
+ /**
+ * Set password of git repository basic auth.
+ *
+ * @param password the password value to set
+ * @return the GitPatternRepository object itself.
+ */
+ public GitPatternRepository withPassword(String password) {
+ this.password = password;
+ return this;
+ }
+
+ /**
+ * Get public sshKey of git repository.
+ *
+ * @return the hostKey value
+ */
+ public String hostKey() {
+ return this.hostKey;
+ }
+
+ /**
+ * Set public sshKey of git repository.
+ *
+ * @param hostKey the hostKey value to set
+ * @return the GitPatternRepository object itself.
+ */
+ public GitPatternRepository withHostKey(String hostKey) {
+ this.hostKey = hostKey;
+ return this;
+ }
+
+ /**
+ * Get sshKey algorithm of git repository.
+ *
+ * @return the hostKeyAlgorithm value
+ */
+ public String hostKeyAlgorithm() {
+ return this.hostKeyAlgorithm;
+ }
+
+ /**
+ * Set sshKey algorithm of git repository.
+ *
+ * @param hostKeyAlgorithm the hostKeyAlgorithm value to set
+ * @return the GitPatternRepository object itself.
+ */
+ public GitPatternRepository withHostKeyAlgorithm(String hostKeyAlgorithm) {
+ this.hostKeyAlgorithm = hostKeyAlgorithm;
+ return this;
+ }
+
+ /**
+ * Get private sshKey algorithm of git repository.
+ *
+ * @return the privateKey value
+ */
+ public String privateKey() {
+ return this.privateKey;
+ }
+
+ /**
+ * Set private sshKey algorithm of git repository.
+ *
+ * @param privateKey the privateKey value to set
+ * @return the GitPatternRepository object itself.
+ */
+ public GitPatternRepository withPrivateKey(String privateKey) {
+ this.privateKey = privateKey;
+ return this;
+ }
+
+ /**
+ * Get strict host key checking or not.
+ *
+ * @return the strictHostKeyChecking value
+ */
+ public Boolean strictHostKeyChecking() {
+ return this.strictHostKeyChecking;
+ }
+
+ /**
+ * Set strict host key checking or not.
+ *
+ * @param strictHostKeyChecking the strictHostKeyChecking value to set
+ * @return the GitPatternRepository object itself.
+ */
+ public GitPatternRepository withStrictHostKeyChecking(Boolean strictHostKeyChecking) {
+ this.strictHostKeyChecking = strictHostKeyChecking;
+ return this;
+ }
+
+}
diff --git a/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/LogFileUrlResponse.java b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/LogFileUrlResponse.java
new file mode 100644
index 000000000000..f8c664acb3a7
--- /dev/null
+++ b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/LogFileUrlResponse.java
@@ -0,0 +1,25 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.appplatform.v2019_05_01_preview;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.appplatform.v2019_05_01_preview.implementation.AppPlatformManager;
+import com.microsoft.azure.management.appplatform.v2019_05_01_preview.implementation.LogFileUrlResponseInner;
+
+/**
+ * Type representing LogFileUrlResponse.
+ */
+public interface LogFileUrlResponse extends HasInner, HasManager {
+ /**
+ * @return the url value.
+ */
+ String url();
+
+}
diff --git a/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/LogSpecification.java b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/LogSpecification.java
new file mode 100644
index 000000000000..27f4d5289eb5
--- /dev/null
+++ b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/LogSpecification.java
@@ -0,0 +1,95 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.appplatform.v2019_05_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Specifications of the Log for Azure Monitoring.
+ */
+public class LogSpecification {
+ /**
+ * Name of the log.
+ */
+ @JsonProperty(value = "name")
+ private String name;
+
+ /**
+ * Localized friendly display name of the log.
+ */
+ @JsonProperty(value = "displayName")
+ private String displayName;
+
+ /**
+ * Blob duration of the log.
+ */
+ @JsonProperty(value = "blobDuration")
+ private String blobDuration;
+
+ /**
+ * Get name of the log.
+ *
+ * @return the name value
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set name of the log.
+ *
+ * @param name the name value to set
+ * @return the LogSpecification object itself.
+ */
+ public LogSpecification withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get localized friendly display name of the log.
+ *
+ * @return the displayName value
+ */
+ public String displayName() {
+ return this.displayName;
+ }
+
+ /**
+ * Set localized friendly display name of the log.
+ *
+ * @param displayName the displayName value to set
+ * @return the LogSpecification object itself.
+ */
+ public LogSpecification withDisplayName(String displayName) {
+ this.displayName = displayName;
+ return this;
+ }
+
+ /**
+ * Get blob duration of the log.
+ *
+ * @return the blobDuration value
+ */
+ public String blobDuration() {
+ return this.blobDuration;
+ }
+
+ /**
+ * Set blob duration of the log.
+ *
+ * @param blobDuration the blobDuration value to set
+ * @return the LogSpecification object itself.
+ */
+ public LogSpecification withBlobDuration(String blobDuration) {
+ this.blobDuration = blobDuration;
+ return this;
+ }
+
+}
diff --git a/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/MetricDimension.java b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/MetricDimension.java
new file mode 100644
index 000000000000..caeaf9abbe5d
--- /dev/null
+++ b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/MetricDimension.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.appplatform.v2019_05_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Specifications of the Dimension of metrics.
+ */
+public class MetricDimension {
+ /**
+ * Name of the dimension.
+ */
+ @JsonProperty(value = "name")
+ private String name;
+
+ /**
+ * Localized friendly display name of the dimension.
+ */
+ @JsonProperty(value = "displayName")
+ private String displayName;
+
+ /**
+ * Get name of the dimension.
+ *
+ * @return the name value
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set name of the dimension.
+ *
+ * @param name the name value to set
+ * @return the MetricDimension object itself.
+ */
+ public MetricDimension withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get localized friendly display name of the dimension.
+ *
+ * @return the displayName value
+ */
+ public String displayName() {
+ return this.displayName;
+ }
+
+ /**
+ * Set localized friendly display name of the dimension.
+ *
+ * @param displayName the displayName value to set
+ * @return the MetricDimension object itself.
+ */
+ public MetricDimension withDisplayName(String displayName) {
+ this.displayName = displayName;
+ return this;
+ }
+
+}
diff --git a/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/MetricSpecification.java b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/MetricSpecification.java
new file mode 100644
index 000000000000..8134ae2f015e
--- /dev/null
+++ b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/MetricSpecification.java
@@ -0,0 +1,281 @@
+/**
+ * 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.appplatform.v2019_05_01_preview;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Specifications of the Metrics for Azure Monitoring.
+ */
+public class MetricSpecification {
+ /**
+ * Name of the metric.
+ */
+ @JsonProperty(value = "name")
+ private String name;
+
+ /**
+ * Localized friendly display name of the metric.
+ */
+ @JsonProperty(value = "displayName")
+ private String displayName;
+
+ /**
+ * Localized friendly description of the metric.
+ */
+ @JsonProperty(value = "displayDescription")
+ private String displayDescription;
+
+ /**
+ * Unit that makes sense for the metric.
+ */
+ @JsonProperty(value = "unit")
+ private String unit;
+
+ /**
+ * Name of the metric category that the metric belongs to. A metric can
+ * only belong to a single category.
+ */
+ @JsonProperty(value = "category")
+ private String category;
+
+ /**
+ * Only provide one value for this field. Valid values: Average, Minimum,
+ * Maximum, Total, Count.
+ */
+ @JsonProperty(value = "aggregationType")
+ private String aggregationType;
+
+ /**
+ * Supported aggregation types.
+ */
+ @JsonProperty(value = "supportedAggregationTypes")
+ private List supportedAggregationTypes;
+
+ /**
+ * Supported time grain types.
+ */
+ @JsonProperty(value = "supportedTimeGrainTypes")
+ private List supportedTimeGrainTypes;
+
+ /**
+ * Optional. If set to true, then zero will be returned for time duration
+ * where no metric is emitted/published.
+ */
+ @JsonProperty(value = "fillGapWithZero")
+ private Boolean fillGapWithZero;
+
+ /**
+ * Dimensions of the metric.
+ */
+ @JsonProperty(value = "dimensions")
+ private List dimensions;
+
+ /**
+ * Get name of the metric.
+ *
+ * @return the name value
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set name of the metric.
+ *
+ * @param name the name value to set
+ * @return the MetricSpecification object itself.
+ */
+ public MetricSpecification withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get localized friendly display name of the metric.
+ *
+ * @return the displayName value
+ */
+ public String displayName() {
+ return this.displayName;
+ }
+
+ /**
+ * Set localized friendly display name of the metric.
+ *
+ * @param displayName the displayName value to set
+ * @return the MetricSpecification object itself.
+ */
+ public MetricSpecification withDisplayName(String displayName) {
+ this.displayName = displayName;
+ return this;
+ }
+
+ /**
+ * Get localized friendly description of the metric.
+ *
+ * @return the displayDescription value
+ */
+ public String displayDescription() {
+ return this.displayDescription;
+ }
+
+ /**
+ * Set localized friendly description of the metric.
+ *
+ * @param displayDescription the displayDescription value to set
+ * @return the MetricSpecification object itself.
+ */
+ public MetricSpecification withDisplayDescription(String displayDescription) {
+ this.displayDescription = displayDescription;
+ return this;
+ }
+
+ /**
+ * Get unit that makes sense for the metric.
+ *
+ * @return the unit value
+ */
+ public String unit() {
+ return this.unit;
+ }
+
+ /**
+ * Set unit that makes sense for the metric.
+ *
+ * @param unit the unit value to set
+ * @return the MetricSpecification object itself.
+ */
+ public MetricSpecification withUnit(String unit) {
+ this.unit = unit;
+ return this;
+ }
+
+ /**
+ * Get name of the metric category that the metric belongs to. A metric can only belong to a single category.
+ *
+ * @return the category value
+ */
+ public String category() {
+ return this.category;
+ }
+
+ /**
+ * Set name of the metric category that the metric belongs to. A metric can only belong to a single category.
+ *
+ * @param category the category value to set
+ * @return the MetricSpecification object itself.
+ */
+ public MetricSpecification withCategory(String category) {
+ this.category = category;
+ return this;
+ }
+
+ /**
+ * Get only provide one value for this field. Valid values: Average, Minimum, Maximum, Total, Count.
+ *
+ * @return the aggregationType value
+ */
+ public String aggregationType() {
+ return this.aggregationType;
+ }
+
+ /**
+ * Set only provide one value for this field. Valid values: Average, Minimum, Maximum, Total, Count.
+ *
+ * @param aggregationType the aggregationType value to set
+ * @return the MetricSpecification object itself.
+ */
+ public MetricSpecification withAggregationType(String aggregationType) {
+ this.aggregationType = aggregationType;
+ return this;
+ }
+
+ /**
+ * Get supported aggregation types.
+ *
+ * @return the supportedAggregationTypes value
+ */
+ public List supportedAggregationTypes() {
+ return this.supportedAggregationTypes;
+ }
+
+ /**
+ * Set supported aggregation types.
+ *
+ * @param supportedAggregationTypes the supportedAggregationTypes value to set
+ * @return the MetricSpecification object itself.
+ */
+ public MetricSpecification withSupportedAggregationTypes(List supportedAggregationTypes) {
+ this.supportedAggregationTypes = supportedAggregationTypes;
+ return this;
+ }
+
+ /**
+ * Get supported time grain types.
+ *
+ * @return the supportedTimeGrainTypes value
+ */
+ public List supportedTimeGrainTypes() {
+ return this.supportedTimeGrainTypes;
+ }
+
+ /**
+ * Set supported time grain types.
+ *
+ * @param supportedTimeGrainTypes the supportedTimeGrainTypes value to set
+ * @return the MetricSpecification object itself.
+ */
+ public MetricSpecification withSupportedTimeGrainTypes(List supportedTimeGrainTypes) {
+ this.supportedTimeGrainTypes = supportedTimeGrainTypes;
+ return this;
+ }
+
+ /**
+ * Get optional. If set to true, then zero will be returned for time duration where no metric is emitted/published.
+ *
+ * @return the fillGapWithZero value
+ */
+ public Boolean fillGapWithZero() {
+ return this.fillGapWithZero;
+ }
+
+ /**
+ * Set optional. If set to true, then zero will be returned for time duration where no metric is emitted/published.
+ *
+ * @param fillGapWithZero the fillGapWithZero value to set
+ * @return the MetricSpecification object itself.
+ */
+ public MetricSpecification withFillGapWithZero(Boolean fillGapWithZero) {
+ this.fillGapWithZero = fillGapWithZero;
+ return this;
+ }
+
+ /**
+ * Get dimensions of the metric.
+ *
+ * @return the dimensions value
+ */
+ public List dimensions() {
+ return this.dimensions;
+ }
+
+ /**
+ * Set dimensions of the metric.
+ *
+ * @param dimensions the dimensions value to set
+ * @return the MetricSpecification object itself.
+ */
+ public MetricSpecification withDimensions(List dimensions) {
+ this.dimensions = dimensions;
+ return this;
+ }
+
+}
diff --git a/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/NameAvailability.java b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/NameAvailability.java
new file mode 100644
index 000000000000..858734ca6c00
--- /dev/null
+++ b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/NameAvailability.java
@@ -0,0 +1,35 @@
+/**
+ * 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.appplatform.v2019_05_01_preview;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.appplatform.v2019_05_01_preview.implementation.AppPlatformManager;
+import com.microsoft.azure.management.appplatform.v2019_05_01_preview.implementation.NameAvailabilityInner;
+
+/**
+ * Type representing NameAvailability.
+ */
+public interface NameAvailability extends HasInner, HasManager {
+ /**
+ * @return the message value.
+ */
+ String message();
+
+ /**
+ * @return the nameAvailable value.
+ */
+ Boolean nameAvailable();
+
+ /**
+ * @return the reason value.
+ */
+ String reason();
+
+}
diff --git a/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/NameAvailabilityParameters.java b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/NameAvailabilityParameters.java
new file mode 100644
index 000000000000..e922ca29c9ec
--- /dev/null
+++ b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/NameAvailabilityParameters.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.appplatform.v2019_05_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Name availability parameters payload.
+ */
+public class NameAvailabilityParameters {
+ /**
+ * Type of the resource to check name availability.
+ */
+ @JsonProperty(value = "type", required = true)
+ private String type;
+
+ /**
+ * Name to be checked.
+ */
+ @JsonProperty(value = "name", required = true)
+ private String name;
+
+ /**
+ * Get type of the resource to check name availability.
+ *
+ * @return the type value
+ */
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Set type of the resource to check name availability.
+ *
+ * @param type the type value to set
+ * @return the NameAvailabilityParameters object itself.
+ */
+ public NameAvailabilityParameters withType(String type) {
+ this.type = type;
+ return this;
+ }
+
+ /**
+ * Get name to be checked.
+ *
+ * @return the name value
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set name to be checked.
+ *
+ * @param name the name value to set
+ * @return the NameAvailabilityParameters object itself.
+ */
+ public NameAvailabilityParameters withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+}
diff --git a/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/OperationDetail.java b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/OperationDetail.java
new file mode 100644
index 000000000000..15519bb4431b
--- /dev/null
+++ b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/OperationDetail.java
@@ -0,0 +1,45 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.appplatform.v2019_05_01_preview;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.appplatform.v2019_05_01_preview.implementation.AppPlatformManager;
+import com.microsoft.azure.management.appplatform.v2019_05_01_preview.implementation.OperationDetailInner;
+
+/**
+ * Type representing OperationDetail.
+ */
+public interface OperationDetail extends HasInner, HasManager {
+ /**
+ * @return the dataAction value.
+ */
+ Boolean dataAction();
+
+ /**
+ * @return the display value.
+ */
+ OperationDisplay display();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the origin value.
+ */
+ String origin();
+
+ /**
+ * @return the properties value.
+ */
+ OperationProperties properties();
+
+}
diff --git a/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/OperationDisplay.java b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/OperationDisplay.java
new file mode 100644
index 000000000000..b2741995d8c2
--- /dev/null
+++ b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/OperationDisplay.java
@@ -0,0 +1,121 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.appplatform.v2019_05_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Operation display payload.
+ */
+public class OperationDisplay {
+ /**
+ * Resource provider of the operation.
+ */
+ @JsonProperty(value = "provider")
+ private String provider;
+
+ /**
+ * Resource of the operation.
+ */
+ @JsonProperty(value = "resource")
+ private String resource;
+
+ /**
+ * Localized friendly name for the operation.
+ */
+ @JsonProperty(value = "operation")
+ private String operation;
+
+ /**
+ * Localized friendly description for the operation.
+ */
+ @JsonProperty(value = "description")
+ private String description;
+
+ /**
+ * Get resource provider of the operation.
+ *
+ * @return the provider value
+ */
+ public String provider() {
+ return this.provider;
+ }
+
+ /**
+ * Set resource provider of the operation.
+ *
+ * @param provider the provider value to set
+ * @return the OperationDisplay object itself.
+ */
+ public OperationDisplay withProvider(String provider) {
+ this.provider = provider;
+ return this;
+ }
+
+ /**
+ * Get resource of the operation.
+ *
+ * @return the resource value
+ */
+ public String resource() {
+ return this.resource;
+ }
+
+ /**
+ * Set resource of the operation.
+ *
+ * @param resource the resource value to set
+ * @return the OperationDisplay object itself.
+ */
+ public OperationDisplay withResource(String resource) {
+ this.resource = resource;
+ return this;
+ }
+
+ /**
+ * Get localized friendly name for the operation.
+ *
+ * @return the operation value
+ */
+ public String operation() {
+ return this.operation;
+ }
+
+ /**
+ * Set localized friendly name for the operation.
+ *
+ * @param operation the operation value to set
+ * @return the OperationDisplay object itself.
+ */
+ public OperationDisplay withOperation(String operation) {
+ this.operation = operation;
+ return this;
+ }
+
+ /**
+ * Get localized friendly description for the operation.
+ *
+ * @return the description value
+ */
+ public String description() {
+ return this.description;
+ }
+
+ /**
+ * Set localized friendly description for the operation.
+ *
+ * @param description the description value to set
+ * @return the OperationDisplay object itself.
+ */
+ public OperationDisplay withDescription(String description) {
+ this.description = description;
+ return this;
+ }
+
+}
diff --git a/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/OperationProperties.java b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/OperationProperties.java
new file mode 100644
index 000000000000..eae11d06215f
--- /dev/null
+++ b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/OperationProperties.java
@@ -0,0 +1,43 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.appplatform.v2019_05_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Extra Operation properties.
+ */
+public class OperationProperties {
+ /**
+ * Service specifications of the operation.
+ */
+ @JsonProperty(value = "serviceSpecification")
+ private ServiceSpecification serviceSpecification;
+
+ /**
+ * Get service specifications of the operation.
+ *
+ * @return the serviceSpecification value
+ */
+ public ServiceSpecification serviceSpecification() {
+ return this.serviceSpecification;
+ }
+
+ /**
+ * Set service specifications of the operation.
+ *
+ * @param serviceSpecification the serviceSpecification value to set
+ * @return the OperationProperties object itself.
+ */
+ public OperationProperties withServiceSpecification(ServiceSpecification serviceSpecification) {
+ this.serviceSpecification = serviceSpecification;
+ return this;
+ }
+
+}
diff --git a/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/Operations.java b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/Operations.java
new file mode 100644
index 000000000000..087a37cb159e
--- /dev/null
+++ b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_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.appplatform.v2019_05_01_preview;
+
+import rx.Observable;
+import com.microsoft.azure.management.appplatform.v2019_05_01_preview.implementation.OperationsInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing Operations.
+ */
+public interface Operations extends HasInner {
+ /**
+ * Lists all of the available REST API operations of the Microsoft.AppPlatform provider.
+ *
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listAsync();
+
+}
diff --git a/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/PersistentDisk.java b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/PersistentDisk.java
new file mode 100644
index 000000000000..3ad884534651
--- /dev/null
+++ b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/PersistentDisk.java
@@ -0,0 +1,84 @@
+/**
+ * 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.appplatform.v2019_05_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Persistent disk payload.
+ */
+public class PersistentDisk {
+ /**
+ * Size of the persistent disk in GB.
+ */
+ @JsonProperty(value = "sizeInGB")
+ private Integer sizeInGB;
+
+ /**
+ * Size of the used persistent disk in GB.
+ */
+ @JsonProperty(value = "usedInGB", access = JsonProperty.Access.WRITE_ONLY)
+ private Integer usedInGB;
+
+ /**
+ * Mount path of the persistent disk.
+ */
+ @JsonProperty(value = "mountPath")
+ private String mountPath;
+
+ /**
+ * Get size of the persistent disk in GB.
+ *
+ * @return the sizeInGB value
+ */
+ public Integer sizeInGB() {
+ return this.sizeInGB;
+ }
+
+ /**
+ * Set size of the persistent disk in GB.
+ *
+ * @param sizeInGB the sizeInGB value to set
+ * @return the PersistentDisk object itself.
+ */
+ public PersistentDisk withSizeInGB(Integer sizeInGB) {
+ this.sizeInGB = sizeInGB;
+ return this;
+ }
+
+ /**
+ * Get size of the used persistent disk in GB.
+ *
+ * @return the usedInGB value
+ */
+ public Integer usedInGB() {
+ return this.usedInGB;
+ }
+
+ /**
+ * Get mount path of the persistent disk.
+ *
+ * @return the mountPath value
+ */
+ public String mountPath() {
+ return this.mountPath;
+ }
+
+ /**
+ * Set mount path of the persistent disk.
+ *
+ * @param mountPath the mountPath value to set
+ * @return the PersistentDisk object itself.
+ */
+ public PersistentDisk withMountPath(String mountPath) {
+ this.mountPath = mountPath;
+ return this;
+ }
+
+}
diff --git a/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/ProvisioningState.java b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/ProvisioningState.java
new file mode 100644
index 000000000000..f7794b611e6a
--- /dev/null
+++ b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/ProvisioningState.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.appplatform.v2019_05_01_preview;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for ProvisioningState.
+ */
+public final class ProvisioningState extends ExpandableStringEnum {
+ /** Static value Creating for ProvisioningState. */
+ public static final ProvisioningState CREATING = fromString("Creating");
+
+ /** Static value Updating for ProvisioningState. */
+ public static final ProvisioningState UPDATING = fromString("Updating");
+
+ /** Static value Deleting for ProvisioningState. */
+ public static final ProvisioningState DELETING = fromString("Deleting");
+
+ /** Static value Deleted for ProvisioningState. */
+ public static final ProvisioningState DELETED = fromString("Deleted");
+
+ /** Static value Succeeded for ProvisioningState. */
+ public static final ProvisioningState SUCCEEDED = fromString("Succeeded");
+
+ /** Static value Failed for ProvisioningState. */
+ public static final ProvisioningState FAILED = fromString("Failed");
+
+ /** Static value Moving for ProvisioningState. */
+ public static final ProvisioningState MOVING = fromString("Moving");
+
+ /** Static value Moved for ProvisioningState. */
+ public static final ProvisioningState MOVED = fromString("Moved");
+
+ /** Static value MoveFailed for ProvisioningState. */
+ public static final ProvisioningState MOVE_FAILED = fromString("MoveFailed");
+
+ /**
+ * Creates or finds a ProvisioningState from its string representation.
+ * @param name a name to look for
+ * @return the corresponding ProvisioningState
+ */
+ @JsonCreator
+ public static ProvisioningState fromString(String name) {
+ return fromString(name, ProvisioningState.class);
+ }
+
+ /**
+ * @return known ProvisioningState values
+ */
+ public static Collection values() {
+ return values(ProvisioningState.class);
+ }
+}
diff --git a/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/RegenerateTestKeyRequestPayload.java b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/RegenerateTestKeyRequestPayload.java
new file mode 100644
index 000000000000..5506491c97ff
--- /dev/null
+++ b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/RegenerateTestKeyRequestPayload.java
@@ -0,0 +1,43 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.appplatform.v2019_05_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Regenerate test key request payload.
+ */
+public class RegenerateTestKeyRequestPayload {
+ /**
+ * Type of the test key. Possible values include: 'Primary', 'Secondary'.
+ */
+ @JsonProperty(value = "keyType", required = true)
+ private TestKeyType keyType;
+
+ /**
+ * Get type of the test key. Possible values include: 'Primary', 'Secondary'.
+ *
+ * @return the keyType value
+ */
+ public TestKeyType keyType() {
+ return this.keyType;
+ }
+
+ /**
+ * Set type of the test key. Possible values include: 'Primary', 'Secondary'.
+ *
+ * @param keyType the keyType value to set
+ * @return the RegenerateTestKeyRequestPayload object itself.
+ */
+ public RegenerateTestKeyRequestPayload withKeyType(TestKeyType keyType) {
+ this.keyType = keyType;
+ return this;
+ }
+
+}
diff --git a/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/ResourceUploadDefinition.java b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/ResourceUploadDefinition.java
new file mode 100644
index 000000000000..d8d3e256fa21
--- /dev/null
+++ b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/ResourceUploadDefinition.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.appplatform.v2019_05_01_preview;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.appplatform.v2019_05_01_preview.implementation.AppPlatformManager;
+import com.microsoft.azure.management.appplatform.v2019_05_01_preview.implementation.ResourceUploadDefinitionInner;
+
+/**
+ * Type representing ResourceUploadDefinition.
+ */
+public interface ResourceUploadDefinition extends HasInner, HasManager {
+ /**
+ * @return the relativePath value.
+ */
+ String relativePath();
+
+ /**
+ * @return the uploadUrl value.
+ */
+ String uploadUrl();
+
+}
diff --git a/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/RuntimeVersion.java b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/RuntimeVersion.java
new file mode 100644
index 000000000000..1e61bb636345
--- /dev/null
+++ b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/RuntimeVersion.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.appplatform.v2019_05_01_preview;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for RuntimeVersion.
+ */
+public final class RuntimeVersion extends ExpandableStringEnum {
+ /** Static value Java_8 for RuntimeVersion. */
+ public static final RuntimeVersion JAVA_8 = fromString("Java_8");
+
+ /** Static value Java_11 for RuntimeVersion. */
+ public static final RuntimeVersion JAVA_11 = fromString("Java_11");
+
+ /**
+ * Creates or finds a RuntimeVersion from its string representation.
+ * @param name a name to look for
+ * @return the corresponding RuntimeVersion
+ */
+ @JsonCreator
+ public static RuntimeVersion fromString(String name) {
+ return fromString(name, RuntimeVersion.class);
+ }
+
+ /**
+ * @return known RuntimeVersion values
+ */
+ public static Collection values() {
+ return values(RuntimeVersion.class);
+ }
+}
diff --git a/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/ServiceResource.java b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/ServiceResource.java
new file mode 100644
index 000000000000..1b876c03a47a
--- /dev/null
+++ b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/ServiceResource.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.appplatform.v2019_05_01_preview;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.appplatform.v2019_05_01_preview.implementation.AppPlatformManager;
+import com.microsoft.azure.management.appplatform.v2019_05_01_preview.implementation.ServiceResourceInner;
+import java.util.Map;
+
+/**
+ * Type representing ServiceResource.
+ */
+public interface ServiceResource extends HasInner, HasManager {
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the location value.
+ */
+ String location();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the properties value.
+ */
+ ClusterResourceProperties properties();
+
+ /**
+ * @return the tags value.
+ */
+ Map tags();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+}
diff --git a/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/ServiceSpecification.java b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/ServiceSpecification.java
new file mode 100644
index 000000000000..39214353a9e5
--- /dev/null
+++ b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/ServiceSpecification.java
@@ -0,0 +1,70 @@
+/**
+ * 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.appplatform.v2019_05_01_preview;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Service specification payload.
+ */
+public class ServiceSpecification {
+ /**
+ * Specifications of the Log for Azure Monitoring.
+ */
+ @JsonProperty(value = "logSpecifications")
+ private List logSpecifications;
+
+ /**
+ * Specifications of the Metrics for Azure Monitoring.
+ */
+ @JsonProperty(value = "metricSpecifications")
+ private List metricSpecifications;
+
+ /**
+ * Get specifications of the Log for Azure Monitoring.
+ *
+ * @return the logSpecifications value
+ */
+ public List logSpecifications() {
+ return this.logSpecifications;
+ }
+
+ /**
+ * Set specifications of the Log for Azure Monitoring.
+ *
+ * @param logSpecifications the logSpecifications value to set
+ * @return the ServiceSpecification object itself.
+ */
+ public ServiceSpecification withLogSpecifications(List logSpecifications) {
+ this.logSpecifications = logSpecifications;
+ return this;
+ }
+
+ /**
+ * Get specifications of the Metrics for Azure Monitoring.
+ *
+ * @return the metricSpecifications value
+ */
+ public List metricSpecifications() {
+ return this.metricSpecifications;
+ }
+
+ /**
+ * Set specifications of the Metrics for Azure Monitoring.
+ *
+ * @param metricSpecifications the metricSpecifications value to set
+ * @return the ServiceSpecification object itself.
+ */
+ public ServiceSpecification withMetricSpecifications(List metricSpecifications) {
+ this.metricSpecifications = metricSpecifications;
+ return this;
+ }
+
+}
diff --git a/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/Services.java b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/Services.java
new file mode 100644
index 000000000000..9ca007c9f363
--- /dev/null
+++ b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/Services.java
@@ -0,0 +1,124 @@
+/**
+ * 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.appplatform.v2019_05_01_preview;
+
+import rx.Completable;
+import rx.Observable;
+
+/**
+ * Type representing Services.
+ */
+public interface Services {
+ /**
+ * Get a Service and its properties.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param serviceName The name of the Service resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getByResourceGroupAsync(String resourceGroupName, String serviceName);
+
+ /**
+ * Create a new Service or update an exiting Service.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param serviceName The name of the Service resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable createOrUpdateAsync(String resourceGroupName, String serviceName);
+
+ /**
+ * Operation to delete a Service.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param serviceName The name of the Service resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable deleteAsync(String resourceGroupName, String serviceName);
+
+ /**
+ * Operation to update an exiting Service.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param serviceName The name of the Service resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable updateAsync(String resourceGroupName, String serviceName);
+
+ /**
+ * Regenerate a test key for a Service.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param serviceName The name of the Service resource.
+ * @param keyType Type of the test key. Possible values include: 'Primary', 'Secondary'
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable regenerateTestKeyAsync(String resourceGroupName, String serviceName, TestKeyType keyType);
+
+ /**
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param serviceName The name of the Service resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable disableTestEndpointAsync(String resourceGroupName, String serviceName);
+
+ /**
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param serviceName The name of the Service resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable enableTestEndpointAsync(String resourceGroupName, String serviceName);
+
+ /**
+ * Handles requests to list all resources in a subscription.
+ *
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listAsync();
+
+ /**
+ * Handles requests to list all resources in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listByResourceGroupAsync(final String resourceGroupName);
+
+ /**
+ * List test keys for a Service.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param serviceName The name of the Service resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listTestKeysAsync(String resourceGroupName, String serviceName);
+
+ /**
+ * Checks that the resource name is valid and is not already in use.
+ *
+ * @param location the region
+ * @param availabilityParameters Parameters supplied to the operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable checkNameAvailabilityAsync(String location, NameAvailabilityParameters availabilityParameters);
+
+}
diff --git a/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/TemporaryDisk.java b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/TemporaryDisk.java
new file mode 100644
index 000000000000..10d6a334729b
--- /dev/null
+++ b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/TemporaryDisk.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.appplatform.v2019_05_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Temporary disk payload.
+ */
+public class TemporaryDisk {
+ /**
+ * Size of the temporary disk in GB.
+ */
+ @JsonProperty(value = "sizeInGB")
+ private Integer sizeInGB;
+
+ /**
+ * Mount path of the temporary disk.
+ */
+ @JsonProperty(value = "mountPath")
+ private String mountPath;
+
+ /**
+ * Get size of the temporary disk in GB.
+ *
+ * @return the sizeInGB value
+ */
+ public Integer sizeInGB() {
+ return this.sizeInGB;
+ }
+
+ /**
+ * Set size of the temporary disk in GB.
+ *
+ * @param sizeInGB the sizeInGB value to set
+ * @return the TemporaryDisk object itself.
+ */
+ public TemporaryDisk withSizeInGB(Integer sizeInGB) {
+ this.sizeInGB = sizeInGB;
+ return this;
+ }
+
+ /**
+ * Get mount path of the temporary disk.
+ *
+ * @return the mountPath value
+ */
+ public String mountPath() {
+ return this.mountPath;
+ }
+
+ /**
+ * Set mount path of the temporary disk.
+ *
+ * @param mountPath the mountPath value to set
+ * @return the TemporaryDisk object itself.
+ */
+ public TemporaryDisk withMountPath(String mountPath) {
+ this.mountPath = mountPath;
+ return this;
+ }
+
+}
diff --git a/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/TestKeyType.java b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/TestKeyType.java
new file mode 100644
index 000000000000..31d71d62caae
--- /dev/null
+++ b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/TestKeyType.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.appplatform.v2019_05_01_preview;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for TestKeyType.
+ */
+public final class TestKeyType extends ExpandableStringEnum {
+ /** Static value Primary for TestKeyType. */
+ public static final TestKeyType PRIMARY = fromString("Primary");
+
+ /** Static value Secondary for TestKeyType. */
+ public static final TestKeyType SECONDARY = fromString("Secondary");
+
+ /**
+ * Creates or finds a TestKeyType from its string representation.
+ * @param name a name to look for
+ * @return the corresponding TestKeyType
+ */
+ @JsonCreator
+ public static TestKeyType fromString(String name) {
+ return fromString(name, TestKeyType.class);
+ }
+
+ /**
+ * @return known TestKeyType values
+ */
+ public static Collection values() {
+ return values(TestKeyType.class);
+ }
+}
diff --git a/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/TestKeys.java b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/TestKeys.java
new file mode 100644
index 000000000000..c716a229be22
--- /dev/null
+++ b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/TestKeys.java
@@ -0,0 +1,45 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.appplatform.v2019_05_01_preview;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.appplatform.v2019_05_01_preview.implementation.AppPlatformManager;
+import com.microsoft.azure.management.appplatform.v2019_05_01_preview.implementation.TestKeysInner;
+
+/**
+ * Type representing TestKeys.
+ */
+public interface TestKeys extends HasInner, HasManager {
+ /**
+ * @return the enabled value.
+ */
+ Boolean enabled();
+
+ /**
+ * @return the primaryKey value.
+ */
+ String primaryKey();
+
+ /**
+ * @return the primaryTestEndpoint value.
+ */
+ String primaryTestEndpoint();
+
+ /**
+ * @return the secondaryKey value.
+ */
+ String secondaryKey();
+
+ /**
+ * @return the secondaryTestEndpoint value.
+ */
+ String secondaryTestEndpoint();
+
+}
diff --git a/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/TraceProperties.java b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/TraceProperties.java
new file mode 100644
index 000000000000..f58c39e15743
--- /dev/null
+++ b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/TraceProperties.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.appplatform.v2019_05_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Trace properties payload.
+ */
+public class TraceProperties {
+ /**
+ * State of the trace proxy. Possible values include: 'NotAvailable',
+ * 'Failed', 'Succeeded', 'Updating'.
+ */
+ @JsonProperty(value = "state", access = JsonProperty.Access.WRITE_ONLY)
+ private TraceProxyState state;
+
+ /**
+ * Error when apply trace proxy changes.
+ */
+ @JsonProperty(value = "error")
+ private Error error;
+
+ /**
+ * Indicates whether enable the tracing functionality.
+ */
+ @JsonProperty(value = "enabled")
+ private Boolean enabled;
+
+ /**
+ * Target application insight instrumentation key.
+ */
+ @JsonProperty(value = "appInsightInstrumentationKey")
+ private String appInsightInstrumentationKey;
+
+ /**
+ * Get state of the trace proxy. Possible values include: 'NotAvailable', 'Failed', 'Succeeded', 'Updating'.
+ *
+ * @return the state value
+ */
+ public TraceProxyState state() {
+ return this.state;
+ }
+
+ /**
+ * Get error when apply trace proxy changes.
+ *
+ * @return the error value
+ */
+ public Error error() {
+ return this.error;
+ }
+
+ /**
+ * Set error when apply trace proxy changes.
+ *
+ * @param error the error value to set
+ * @return the TraceProperties object itself.
+ */
+ public TraceProperties withError(Error error) {
+ this.error = error;
+ return this;
+ }
+
+ /**
+ * Get indicates whether enable the tracing functionality.
+ *
+ * @return the enabled value
+ */
+ public Boolean enabled() {
+ return this.enabled;
+ }
+
+ /**
+ * Set indicates whether enable the tracing functionality.
+ *
+ * @param enabled the enabled value to set
+ * @return the TraceProperties object itself.
+ */
+ public TraceProperties withEnabled(Boolean enabled) {
+ this.enabled = enabled;
+ return this;
+ }
+
+ /**
+ * Get target application insight instrumentation key.
+ *
+ * @return the appInsightInstrumentationKey value
+ */
+ public String appInsightInstrumentationKey() {
+ return this.appInsightInstrumentationKey;
+ }
+
+ /**
+ * Set target application insight instrumentation key.
+ *
+ * @param appInsightInstrumentationKey the appInsightInstrumentationKey value to set
+ * @return the TraceProperties object itself.
+ */
+ public TraceProperties withAppInsightInstrumentationKey(String appInsightInstrumentationKey) {
+ this.appInsightInstrumentationKey = appInsightInstrumentationKey;
+ return this;
+ }
+
+}
diff --git a/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/TraceProxyState.java b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/TraceProxyState.java
new file mode 100644
index 000000000000..2e1fc8048a8a
--- /dev/null
+++ b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/TraceProxyState.java
@@ -0,0 +1,47 @@
+/**
+ * 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.appplatform.v2019_05_01_preview;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for TraceProxyState.
+ */
+public final class TraceProxyState extends ExpandableStringEnum {
+ /** Static value NotAvailable for TraceProxyState. */
+ public static final TraceProxyState NOT_AVAILABLE = fromString("NotAvailable");
+
+ /** Static value Failed for TraceProxyState. */
+ public static final TraceProxyState FAILED = fromString("Failed");
+
+ /** Static value Succeeded for TraceProxyState. */
+ public static final TraceProxyState SUCCEEDED = fromString("Succeeded");
+
+ /** Static value Updating for TraceProxyState. */
+ public static final TraceProxyState UPDATING = fromString("Updating");
+
+ /**
+ * Creates or finds a TraceProxyState from its string representation.
+ * @param name a name to look for
+ * @return the corresponding TraceProxyState
+ */
+ @JsonCreator
+ public static TraceProxyState fromString(String name) {
+ return fromString(name, TraceProxyState.class);
+ }
+
+ /**
+ * @return known TraceProxyState values
+ */
+ public static Collection values() {
+ return values(TraceProxyState.class);
+ }
+}
diff --git a/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/UserSourceInfo.java b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/UserSourceInfo.java
new file mode 100644
index 000000000000..d8fc3cef0202
--- /dev/null
+++ b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/UserSourceInfo.java
@@ -0,0 +1,125 @@
+/**
+ * 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.appplatform.v2019_05_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Source information for a deployment.
+ */
+public class UserSourceInfo {
+ /**
+ * Type of the source uploaded. Possible values include: 'Jar', 'Source'.
+ */
+ @JsonProperty(value = "type")
+ private UserSourceType type;
+
+ /**
+ * Relative path of the storage which stores the source.
+ */
+ @JsonProperty(value = "relativePath")
+ private String relativePath;
+
+ /**
+ * Version of the source.
+ */
+ @JsonProperty(value = "version")
+ private String version;
+
+ /**
+ * Selector for the artifact to be used for the deployment for multi-module
+ * projects. This should be
+ * the relative path to the target module/project.
+ */
+ @JsonProperty(value = "artifactSelector")
+ private String artifactSelector;
+
+ /**
+ * Get type of the source uploaded. Possible values include: 'Jar', 'Source'.
+ *
+ * @return the type value
+ */
+ public UserSourceType type() {
+ return this.type;
+ }
+
+ /**
+ * Set type of the source uploaded. Possible values include: 'Jar', 'Source'.
+ *
+ * @param type the type value to set
+ * @return the UserSourceInfo object itself.
+ */
+ public UserSourceInfo withType(UserSourceType type) {
+ this.type = type;
+ return this;
+ }
+
+ /**
+ * Get relative path of the storage which stores the source.
+ *
+ * @return the relativePath value
+ */
+ public String relativePath() {
+ return this.relativePath;
+ }
+
+ /**
+ * Set relative path of the storage which stores the source.
+ *
+ * @param relativePath the relativePath value to set
+ * @return the UserSourceInfo object itself.
+ */
+ public UserSourceInfo withRelativePath(String relativePath) {
+ this.relativePath = relativePath;
+ return this;
+ }
+
+ /**
+ * Get version of the source.
+ *
+ * @return the version value
+ */
+ public String version() {
+ return this.version;
+ }
+
+ /**
+ * Set version of the source.
+ *
+ * @param version the version value to set
+ * @return the UserSourceInfo object itself.
+ */
+ public UserSourceInfo withVersion(String version) {
+ this.version = version;
+ return this;
+ }
+
+ /**
+ * Get selector for the artifact to be used for the deployment for multi-module projects. This should be
+ the relative path to the target module/project.
+ *
+ * @return the artifactSelector value
+ */
+ public String artifactSelector() {
+ return this.artifactSelector;
+ }
+
+ /**
+ * Set selector for the artifact to be used for the deployment for multi-module projects. This should be
+ the relative path to the target module/project.
+ *
+ * @param artifactSelector the artifactSelector value to set
+ * @return the UserSourceInfo object itself.
+ */
+ public UserSourceInfo withArtifactSelector(String artifactSelector) {
+ this.artifactSelector = artifactSelector;
+ return this;
+ }
+
+}
diff --git a/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/UserSourceType.java b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/UserSourceType.java
new file mode 100644
index 000000000000..4008744d7ce0
--- /dev/null
+++ b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/UserSourceType.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.appplatform.v2019_05_01_preview;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for UserSourceType.
+ */
+public final class UserSourceType extends ExpandableStringEnum {
+ /** Static value Jar for UserSourceType. */
+ public static final UserSourceType JAR = fromString("Jar");
+
+ /** Static value Source for UserSourceType. */
+ public static final UserSourceType SOURCE = fromString("Source");
+
+ /**
+ * Creates or finds a UserSourceType from its string representation.
+ * @param name a name to look for
+ * @return the corresponding UserSourceType
+ */
+ @JsonCreator
+ public static UserSourceType fromString(String name) {
+ return fromString(name, UserSourceType.class);
+ }
+
+ /**
+ * @return known UserSourceType values
+ */
+ public static Collection values() {
+ return values(UserSourceType.class);
+ }
+}
diff --git a/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/implementation/AppPlatformManagementClientImpl.java b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/implementation/AppPlatformManagementClientImpl.java
new file mode 100644
index 000000000000..6e5eb0418d75
--- /dev/null
+++ b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/implementation/AppPlatformManagementClientImpl.java
@@ -0,0 +1,252 @@
+/**
+ * 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.appplatform.v2019_05_01_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 AppPlatformManagementClientImpl class.
+ */
+public class AppPlatformManagementClientImpl 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;
+ }
+
+ /** Client Api Version. */
+ private String apiVersion;
+
+ /**
+ * Gets Client Api Version.
+ *
+ * @return the apiVersion value.
+ */
+ public String apiVersion() {
+ return this.apiVersion;
+ }
+
+ /** Gets subscription ID which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call. */
+ private String subscriptionId;
+
+ /**
+ * Gets Gets subscription ID which uniquely identify the 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 Gets subscription ID which uniquely identify the 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 AppPlatformManagementClientImpl withSubscriptionId(String subscriptionId) {
+ this.subscriptionId = subscriptionId;
+ return this;
+ }
+
+ /** The preferred language for the response. */
+ private String acceptLanguage;
+
+ /**
+ * Gets The preferred language for the response.
+ *
+ * @return the acceptLanguage value.
+ */
+ public String acceptLanguage() {
+ return this.acceptLanguage;
+ }
+
+ /**
+ * Sets The preferred language for the response.
+ *
+ * @param acceptLanguage the acceptLanguage value.
+ * @return the service client itself
+ */
+ public AppPlatformManagementClientImpl withAcceptLanguage(String acceptLanguage) {
+ this.acceptLanguage = acceptLanguage;
+ return this;
+ }
+
+ /** The retry timeout in seconds for Long Running Operations. Default value is 30. */
+ private int longRunningOperationRetryTimeout;
+
+ /**
+ * Gets The retry timeout in seconds for Long Running Operations. Default value is 30.
+ *
+ * @return the longRunningOperationRetryTimeout value.
+ */
+ public int longRunningOperationRetryTimeout() {
+ return this.longRunningOperationRetryTimeout;
+ }
+
+ /**
+ * 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 AppPlatformManagementClientImpl withLongRunningOperationRetryTimeout(int longRunningOperationRetryTimeout) {
+ this.longRunningOperationRetryTimeout = longRunningOperationRetryTimeout;
+ return this;
+ }
+
+ /** Whether a unique x-ms-client-request-id should be generated. 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 Whether a unique x-ms-client-request-id should be generated. 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 Whether a unique x-ms-client-request-id should be generated. 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 AppPlatformManagementClientImpl withGenerateClientRequestId(boolean generateClientRequestId) {
+ this.generateClientRequestId = generateClientRequestId;
+ return this;
+ }
+
+ /**
+ * The ServicesInner object to access its operations.
+ */
+ private ServicesInner services;
+
+ /**
+ * Gets the ServicesInner object to access its operations.
+ * @return the ServicesInner object.
+ */
+ public ServicesInner services() {
+ return this.services;
+ }
+
+ /**
+ * The AppsInner object to access its operations.
+ */
+ private AppsInner apps;
+
+ /**
+ * Gets the AppsInner object to access its operations.
+ * @return the AppsInner object.
+ */
+ public AppsInner apps() {
+ return this.apps;
+ }
+
+ /**
+ * The BindingsInner object to access its operations.
+ */
+ private BindingsInner bindings;
+
+ /**
+ * Gets the BindingsInner object to access its operations.
+ * @return the BindingsInner object.
+ */
+ public BindingsInner bindings() {
+ return this.bindings;
+ }
+
+ /**
+ * The DeploymentsInner object to access its operations.
+ */
+ private DeploymentsInner deployments;
+
+ /**
+ * Gets the DeploymentsInner object to access its operations.
+ * @return the DeploymentsInner object.
+ */
+ public DeploymentsInner deployments() {
+ return this.deployments;
+ }
+
+ /**
+ * 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;
+ }
+
+ /**
+ * Initializes an instance of AppPlatformManagementClient client.
+ *
+ * @param credentials the management credentials for Azure
+ */
+ public AppPlatformManagementClientImpl(ServiceClientCredentials credentials) {
+ this("https://management.azure.com", credentials);
+ }
+
+ /**
+ * Initializes an instance of AppPlatformManagementClient client.
+ *
+ * @param baseUrl the base URL of the host
+ * @param credentials the management credentials for Azure
+ */
+ public AppPlatformManagementClientImpl(String baseUrl, ServiceClientCredentials credentials) {
+ super(baseUrl, credentials);
+ initialize();
+ }
+
+ /**
+ * Initializes an instance of AppPlatformManagementClient client.
+ *
+ * @param restClient the REST client to connect to Azure.
+ */
+ public AppPlatformManagementClientImpl(RestClient restClient) {
+ super(restClient);
+ initialize();
+ }
+
+ protected void initialize() {
+ this.apiVersion = "2019-05-01-preview";
+ this.acceptLanguage = "en-US";
+ this.longRunningOperationRetryTimeout = 30;
+ this.generateClientRequestId = true;
+ this.services = new ServicesInner(restClient().retrofit(), this);
+ this.apps = new AppsInner(restClient().retrofit(), this);
+ this.bindings = new BindingsInner(restClient().retrofit(), this);
+ this.deployments = new DeploymentsInner(restClient().retrofit(), this);
+ this.operations = new OperationsInner(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, auto-generated)", super.userAgent(), "AppPlatformManagementClient", "2019-05-01-preview");
+ }
+}
diff --git a/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/implementation/AppPlatformManager.java b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/implementation/AppPlatformManager.java
new file mode 100644
index 000000000000..1f61fedfc108
--- /dev/null
+++ b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/implementation/AppPlatformManager.java
@@ -0,0 +1,147 @@
+/**
+ * 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.appplatform.v2019_05_01_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.appplatform.v2019_05_01_preview.Services;
+import com.microsoft.azure.management.appplatform.v2019_05_01_preview.Apps;
+import com.microsoft.azure.management.appplatform.v2019_05_01_preview.Bindings;
+import com.microsoft.azure.management.appplatform.v2019_05_01_preview.Deployments;
+import com.microsoft.azure.management.appplatform.v2019_05_01_preview.Operations;
+import com.microsoft.azure.arm.resources.implementation.AzureConfigurableCoreImpl;
+import com.microsoft.azure.arm.resources.implementation.ManagerCore;
+
+/**
+ * Entry point to Azure AppPlatform resource management.
+ */
+public final class AppPlatformManager extends ManagerCore {
+ private Services services;
+ private Apps apps;
+ private Bindings bindings;
+ private Deployments deployments;
+ private Operations operations;
+ /**
+ * Get a Configurable instance that can be used to create AppPlatformManager with optional configuration.
+ *
+ * @return the instance allowing configurations
+ */
+ public static Configurable configure() {
+ return new AppPlatformManager.ConfigurableImpl();
+ }
+ /**
+ * Creates an instance of AppPlatformManager that exposes AppPlatform resource management API entry points.
+ *
+ * @param credentials the credentials to use
+ * @param subscriptionId the subscription UUID
+ * @return the AppPlatformManager
+ */
+ public static AppPlatformManager authenticate(AzureTokenCredentials credentials, String subscriptionId) {
+ return new AppPlatformManager(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 AppPlatformManager that exposes AppPlatform resource management API entry points.
+ *
+ * @param restClient the RestClient to be used for API calls.
+ * @param subscriptionId the subscription UUID
+ * @return the AppPlatformManager
+ */
+ public static AppPlatformManager authenticate(RestClient restClient, String subscriptionId) {
+ return new AppPlatformManager(restClient, subscriptionId);
+ }
+ /**
+ * The interface allowing configurations to be set.
+ */
+ public interface Configurable extends AzureConfigurable {
+ /**
+ * Creates an instance of AppPlatformManager that exposes AppPlatform management API entry points.
+ *
+ * @param credentials the credentials to use
+ * @param subscriptionId the subscription UUID
+ * @return the interface exposing AppPlatform management API entry points that work across subscriptions
+ */
+ AppPlatformManager authenticate(AzureTokenCredentials credentials, String subscriptionId);
+ }
+
+ /**
+ * @return Entry point to manage Services.
+ */
+ public Services services() {
+ if (this.services == null) {
+ this.services = new ServicesImpl(this);
+ }
+ return this.services;
+ }
+
+ /**
+ * @return Entry point to manage Apps.
+ */
+ public Apps apps() {
+ if (this.apps == null) {
+ this.apps = new AppsImpl(this);
+ }
+ return this.apps;
+ }
+
+ /**
+ * @return Entry point to manage Bindings.
+ */
+ public Bindings bindings() {
+ if (this.bindings == null) {
+ this.bindings = new BindingsImpl(this);
+ }
+ return this.bindings;
+ }
+
+ /**
+ * @return Entry point to manage Deployments.
+ */
+ public Deployments deployments() {
+ if (this.deployments == null) {
+ this.deployments = new DeploymentsImpl(this);
+ }
+ return this.deployments;
+ }
+
+ /**
+ * @return Entry point to manage Operations.
+ */
+ public Operations operations() {
+ if (this.operations == null) {
+ this.operations = new OperationsImpl(this);
+ }
+ return this.operations;
+ }
+
+ /**
+ * The implementation for Configurable interface.
+ */
+ private static final class ConfigurableImpl extends AzureConfigurableCoreImpl implements Configurable {
+ public AppPlatformManager authenticate(AzureTokenCredentials credentials, String subscriptionId) {
+ return AppPlatformManager.authenticate(buildRestClient(credentials), subscriptionId);
+ }
+ }
+ private AppPlatformManager(RestClient restClient, String subscriptionId) {
+ super(
+ restClient,
+ subscriptionId,
+ new AppPlatformManagementClientImpl(restClient).withSubscriptionId(subscriptionId));
+ }
+}
diff --git a/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/implementation/AppResourceImpl.java b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/implementation/AppResourceImpl.java
new file mode 100644
index 000000000000..ad69132cf992
--- /dev/null
+++ b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/implementation/AppResourceImpl.java
@@ -0,0 +1,142 @@
+/**
+ * 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.appplatform.v2019_05_01_preview.implementation;
+
+import com.microsoft.azure.management.appplatform.v2019_05_01_preview.AppResource;
+import com.microsoft.azure.arm.model.implementation.CreatableUpdatableImpl;
+import rx.Observable;
+import com.microsoft.azure.management.appplatform.v2019_05_01_preview.AppResourceProperties;
+import org.joda.time.DateTime;
+import rx.functions.Func1;
+
+class AppResourceImpl extends CreatableUpdatableImpl implements AppResource, AppResource.Definition, AppResource.Update {
+ private String resourceGroupName;
+ private String serviceName;
+ private String appName;
+ private AppResourceProperties cproperties;
+ private AppResourceProperties uproperties;
+ private final AppPlatformManager manager;
+
+ AppResourceImpl(String name, AppPlatformManager manager) {
+ super(name, new AppResourceInner());
+ this.manager = manager;
+ // Set resource name
+ this.appName = name;
+ //
+ this.cproperties = new AppResourceProperties();
+ this.uproperties = new AppResourceProperties();
+ }
+
+ AppResourceImpl(AppResourceInner inner, AppPlatformManager manager) {
+ super(inner.name(), inner);
+ this.manager = manager;
+ // Set resource name
+ this.appName = inner.name();
+ // set resource ancestor and positional variables
+ this.resourceGroupName = IdParsingUtils.getValueFromIdByName(inner.id(), "resourceGroups");
+ this.serviceName = IdParsingUtils.getValueFromIdByName(inner.id(), "Spring");
+ this.appName = IdParsingUtils.getValueFromIdByName(inner.id(), "apps");
+ // set other parameters for create and update
+ this.cproperties = new AppResourceProperties();
+ this.uproperties = new AppResourceProperties();
+ }
+
+ @Override
+ public AppPlatformManager manager() {
+ return this.manager;
+ }
+
+ @Override
+ public Observable createResourceAsync() {
+ AppsInner client = this.manager().inner().apps();
+ return client.createOrUpdateAsync(this.resourceGroupName, this.serviceName, this.appName, this.cproperties)
+ .map(new Func1() {
+ @Override
+ public AppResourceInner call(AppResourceInner resource) {
+ resetCreateUpdateParameters();
+ return resource;
+ }
+ })
+ .map(innerToFluentMap(this));
+ }
+
+ @Override
+ public Observable updateResourceAsync() {
+ AppsInner client = this.manager().inner().apps();
+ return client.updateAsync(this.resourceGroupName, this.serviceName, this.appName, this.uproperties)
+ .map(new Func1() {
+ @Override
+ public AppResourceInner call(AppResourceInner resource) {
+ resetCreateUpdateParameters();
+ return resource;
+ }
+ })
+ .map(innerToFluentMap(this));
+ }
+
+ @Override
+ protected Observable getInnerAsync() {
+ AppsInner client = this.manager().inner().apps();
+ return null; // NOP getInnerAsync implementation as get is not supported
+ }
+
+ @Override
+ public boolean isInCreateMode() {
+ return this.inner().id() == null;
+ }
+
+ private void resetCreateUpdateParameters() {
+ this.cproperties = new AppResourceProperties();
+ this.uproperties = new AppResourceProperties();
+ }
+
+ @Override
+ public String id() {
+ return this.inner().id();
+ }
+
+ @Override
+ public String name() {
+ return this.inner().name();
+ }
+
+ @Override
+ public AppResourceProperties properties() {
+ return this.inner().properties();
+ }
+
+ @Override
+ public String type() {
+ return this.inner().type();
+ }
+
+ @Override
+ public AppResourceImpl withResourceGroupName(String resourceGroupName) {
+ this.resourceGroupName = resourceGroupName;
+ return this;
+ }
+
+ @Override
+ public AppResourceImpl withServiceName(String serviceName) {
+ this.serviceName = serviceName;
+ return this;
+ }
+
+ @Override
+ public AppResourceImpl withProperties(AppResourceProperties properties) {
+ if (isInCreateMode()) {
+ this.cproperties = properties;
+ } else {
+ this.uproperties = properties;
+ }
+ return this;
+ }
+
+}
diff --git a/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/implementation/AppResourceInner.java b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/implementation/AppResourceInner.java
new file mode 100644
index 000000000000..ff55fc32e1d9
--- /dev/null
+++ b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/implementation/AppResourceInner.java
@@ -0,0 +1,45 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.appplatform.v2019_05_01_preview.implementation;
+
+import com.microsoft.azure.management.appplatform.v2019_05_01_preview.AppResourceProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.microsoft.azure.ProxyResource;
+
+/**
+ * App resource payload.
+ */
+public class AppResourceInner extends ProxyResource {
+ /**
+ * Properties of the App resource.
+ */
+ @JsonProperty(value = "properties")
+ private AppResourceProperties properties;
+
+ /**
+ * Get properties of the App resource.
+ *
+ * @return the properties value
+ */
+ public AppResourceProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set properties of the App resource.
+ *
+ * @param properties the properties value to set
+ * @return the AppResourceInner object itself.
+ */
+ public AppResourceInner withProperties(AppResourceProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+}
diff --git a/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/implementation/AppsImpl.java b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/implementation/AppsImpl.java
new file mode 100644
index 000000000000..82cbb431c092
--- /dev/null
+++ b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/implementation/AppsImpl.java
@@ -0,0 +1,94 @@
+/**
+ * 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.
+ * jkl
+ */
+
+package com.microsoft.azure.management.appplatform.v2019_05_01_preview.implementation;
+
+import com.microsoft.azure.arm.model.implementation.WrapperImpl;
+import com.microsoft.azure.management.appplatform.v2019_05_01_preview.Apps;
+import rx.Completable;
+import rx.functions.Func1;
+import rx.Observable;
+import com.microsoft.azure.Page;
+import com.microsoft.azure.management.appplatform.v2019_05_01_preview.AppResource;
+import com.microsoft.azure.management.appplatform.v2019_05_01_preview.ResourceUploadDefinition;
+
+class AppsImpl extends WrapperImpl implements Apps {
+ private final AppPlatformManager manager;
+
+ AppsImpl(AppPlatformManager manager) {
+ super(manager.inner().apps());
+ this.manager = manager;
+ }
+
+ public AppPlatformManager manager() {
+ return this.manager;
+ }
+
+ @Override
+ public AppResourceImpl define(String name) {
+ return wrapModel(name);
+ }
+
+ private AppResourceImpl wrapModel(AppResourceInner inner) {
+ return new AppResourceImpl(inner, manager());
+ }
+
+ private AppResourceImpl wrapModel(String name) {
+ return new AppResourceImpl(name, this.manager());
+ }
+
+ @Override
+ public Observable getAsync(String resourceGroupName, String serviceName, String appName) {
+ AppsInner client = this.inner();
+ return client.getAsync(resourceGroupName, serviceName, appName)
+ .map(new Func1() {
+ @Override
+ public AppResource call(AppResourceInner inner) {
+ return new AppResourceImpl(inner, manager());
+ }
+ });
+ }
+
+ @Override
+ public Completable deleteAsync(String resourceGroupName, String serviceName, String appName) {
+ AppsInner client = this.inner();
+ return client.deleteAsync(resourceGroupName, serviceName, appName).toCompletable();
+ }
+
+ @Override
+ public Observable listAsync(final String resourceGroupName, final String serviceName) {
+ AppsInner client = this.inner();
+ return client.listAsync(resourceGroupName, serviceName)
+ .flatMapIterable(new Func1, Iterable>() {
+ @Override
+ public Iterable call(Page page) {
+ return page.items();
+ }
+ })
+ .map(new Func1() {
+ @Override
+ public AppResource call(AppResourceInner inner) {
+ return new AppResourceImpl(inner, manager());
+ }
+ });
+ }
+
+ @Override
+ public Observable getResourceUploadUrlAsync(String resourceGroupName, String serviceName, String appName) {
+ AppsInner client = this.inner();
+ return client.getResourceUploadUrlAsync(resourceGroupName, serviceName, appName)
+ .map(new Func1() {
+ @Override
+ public ResourceUploadDefinition call(ResourceUploadDefinitionInner inner) {
+ return new ResourceUploadDefinitionImpl(inner, manager());
+ }
+ });
+ }
+
+}
diff --git a/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/implementation/AppsInner.java b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/implementation/AppsInner.java
new file mode 100644
index 000000000000..70e18cc35be9
--- /dev/null
+++ b/appplatform/resource-manager/v2019_05_01_preview/src/main/java/com/microsoft/azure/management/appplatform/v2019_05_01_preview/implementation/AppsInner.java
@@ -0,0 +1,1058 @@
+/**
+ * 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.appplatform.v2019_05_01_preview.implementation;
+
+import retrofit2.Retrofit;
+import com.google.common.reflect.TypeToken;
+import com.microsoft.azure.AzureServiceFuture;
+import com.microsoft.azure.CloudException;
+import com.microsoft.azure.ListOperationCallback;
+import com.microsoft.azure.management.appplatform.v2019_05_01_preview.AppResourceProperties;
+import com.microsoft.azure.Page;
+import com.microsoft.azure.PagedList;
+import com.microsoft.rest.ServiceCallback;
+import com.microsoft.rest.ServiceFuture;
+import com.microsoft.rest.ServiceResponse;
+import com.microsoft.rest.Validator;
+import java.io.IOException;
+import java.util.List;
+import okhttp3.ResponseBody;
+import retrofit2.http.Body;
+import retrofit2.http.GET;
+import retrofit2.http.Header;
+import retrofit2.http.Headers;
+import retrofit2.http.HTTP;
+import retrofit2.http.PATCH;
+import retrofit2.http.Path;
+import retrofit2.http.POST;
+import retrofit2.http.PUT;
+import retrofit2.http.Query;
+import retrofit2.http.Url;
+import retrofit2.Response;
+import rx.functions.Func1;
+import rx.Observable;
+
+/**
+ * An instance of this class provides access to all the operations defined
+ * in Apps.
+ */
+public class AppsInner {
+ /** The Retrofit service to perform REST calls. */
+ private AppsService service;
+ /** The service client containing this operation class. */
+ private AppPlatformManagementClientImpl client;
+
+ /**
+ * Initializes an instance of AppsInner.
+ *
+ * @param retrofit the Retrofit instance built from a Retrofit Builder.
+ * @param client the instance of the service client containing this operation class.
+ */
+ public AppsInner(Retrofit retrofit, AppPlatformManagementClientImpl client) {
+ this.service = retrofit.create(AppsService.class);
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for Apps to be
+ * used by Retrofit to perform actually REST calls.
+ */
+ interface AppsService {
+ @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.appplatform.v2019_05_01_preview.Apps get" })
+ @GET("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}")
+ Observable> get(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("serviceName") String serviceName, @Path("appName") String appName, @Query("syncStatus") String syncStatus, @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.appplatform.v2019_05_01_preview.Apps createOrUpdate" })
+ @PUT("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}")
+ Observable> createOrUpdate(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("serviceName") String serviceName, @Path("appName") String appName, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Body AppResourceInner appResource, @Header("User-Agent") String userAgent);
+
+ @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.appplatform.v2019_05_01_preview.Apps delete" })
+ @HTTP(path = "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}", method = "DELETE", hasBody = true)
+ Observable> delete(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("serviceName") String serviceName, @Path("appName") String appName, @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.appplatform.v2019_05_01_preview.Apps update" })
+ @PATCH("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}")
+ Observable> update(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("serviceName") String serviceName, @Path("appName") String appName, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Body AppResourceInner appResource, @Header("User-Agent") String userAgent);
+
+ @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.appplatform.v2019_05_01_preview.Apps list" })
+ @GET("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps")
+ Observable> list(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("serviceName") String serviceName, @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.appplatform.v2019_05_01_preview.Apps getResourceUploadUrl" })
+ @POST("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/getResourceUploadUrl")
+ Observable> getResourceUploadUrl(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("serviceName") String serviceName, @Path("appName") String appName, @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.appplatform.v2019_05_01_preview.Apps listNext" })
+ @GET
+ Observable> listNext(@Url String nextUrl, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
+
+ }
+
+ /**
+ * Get an App and its properties.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param serviceName The name of the Service resource.
+ * @param appName The name of the App resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @throws CloudException thrown if the request is rejected by server
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent
+ * @return the AppResourceInner object if successful.
+ */
+ public AppResourceInner get(String resourceGroupName, String serviceName, String appName) {
+ return getWithServiceResponseAsync(resourceGroupName, serviceName, appName).toBlocking().single().body();
+ }
+
+ /**
+ * Get an App and its properties.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param serviceName The name of the Service resource.
+ * @param appName The name of the App resource.
+ * @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 getAsync(String resourceGroupName, String serviceName, String appName, final ServiceCallback serviceCallback) {
+ return ServiceFuture.fromResponse(getWithServiceResponseAsync(resourceGroupName, serviceName, appName), serviceCallback);
+ }
+
+ /**
+ * Get an App and its properties.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param serviceName The name of the Service resource.
+ * @param appName The name of the App resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the AppResourceInner object
+ */
+ public Observable getAsync(String resourceGroupName, String serviceName, String appName) {
+ return getWithServiceResponseAsync(resourceGroupName, serviceName, appName).map(new Func1, AppResourceInner>() {
+ @Override
+ public AppResourceInner call(ServiceResponse response) {
+ return response.body();
+ }
+ });
+ }
+
+ /**
+ * Get an App and its properties.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param serviceName The name of the Service resource.
+ * @param appName The name of the App resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the AppResourceInner object
+ */
+ public Observable> getWithServiceResponseAsync(String resourceGroupName, String serviceName, String appName) {
+ 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 (serviceName == null) {
+ throw new IllegalArgumentException("Parameter serviceName is required and cannot be null.");
+ }
+ if (appName == null) {
+ throw new IllegalArgumentException("Parameter appName is required and cannot be null.");
+ }
+ final String syncStatus = null;
+ return service.get(this.client.subscriptionId(), resourceGroupName, serviceName, appName, syncStatus, this.client.apiVersion(), this.client.acceptLanguage(), this.client.userAgent())
+ .flatMap(new Func1, Observable>>() {
+ @Override
+ public Observable> call(Response response) {
+ try {
+ ServiceResponse clientResponse = getDelegate(response);
+ return Observable.just(clientResponse);
+ } catch (Throwable t) {
+ return Observable.error(t);
+ }
+ }
+ });
+ }
+
+ /**
+ * Get an App and its properties.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param serviceName The name of the Service resource.
+ * @param appName The name of the App resource.
+ * @param syncStatus Indicates whether sync status
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @throws CloudException thrown if the request is rejected by server
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent
+ * @return the AppResourceInner object if successful.
+ */
+ public AppResourceInner get(String resourceGroupName, String serviceName, String appName, String syncStatus) {
+ return getWithServiceResponseAsync(resourceGroupName, serviceName, appName, syncStatus).toBlocking().single().body();
+ }
+
+ /**
+ * Get an App and its properties.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param serviceName The name of the Service resource.
+ * @param appName The name of the App resource.
+ * @param syncStatus Indicates whether sync status
+ * @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 getAsync(String resourceGroupName, String serviceName, String appName, String syncStatus, final ServiceCallback serviceCallback) {
+ return ServiceFuture.fromResponse(getWithServiceResponseAsync(resourceGroupName, serviceName, appName, syncStatus), serviceCallback);
+ }
+
+ /**
+ * Get an App and its properties.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param serviceName The name of the Service resource.
+ * @param appName The name of the App resource.
+ * @param syncStatus Indicates whether sync status
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the AppResourceInner object
+ */
+ public Observable getAsync(String resourceGroupName, String serviceName, String appName, String syncStatus) {
+ return getWithServiceResponseAsync(resourceGroupName, serviceName, appName, syncStatus).map(new Func1, AppResourceInner>() {
+ @Override
+ public AppResourceInner call(ServiceResponse response) {
+ return response.body();
+ }
+ });
+ }
+
+ /**
+ * Get an App and its properties.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param serviceName The name of the Service resource.
+ * @param appName The name of the App resource.
+ * @param syncStatus Indicates whether sync status
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the AppResourceInner object
+ */
+ public Observable> getWithServiceResponseAsync(String resourceGroupName, String serviceName, String appName, String syncStatus) {
+ 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 (serviceName == null) {
+ throw new IllegalArgumentException("Parameter serviceName is required and cannot be null.");
+ }
+ if (appName == null) {
+ throw new IllegalArgumentException("Parameter appName is required and cannot be null.");
+ }
+ return service.get(this.client.subscriptionId(), resourceGroupName, serviceName, appName, syncStatus, this.client.apiVersion(), this.client.acceptLanguage(), this.client.userAgent())
+ .flatMap(new Func1, Observable>>() {
+ @Override
+ public Observable> call(Response response) {
+ try {
+ ServiceResponse clientResponse = getDelegate(response);
+ return Observable.just(clientResponse);
+ } catch (Throwable t) {
+ return Observable.error(t);
+ }
+ }
+ });
+ }
+
+ private ServiceResponse getDelegate(Response response) throws CloudException, IOException, IllegalArgumentException {
+ return this.client.restClient().responseBuilderFactory().newInstance(this.client.serializerAdapter())
+ .register(200, new TypeToken() { }.getType())
+ .registerError(CloudException.class)
+ .build(response);
+ }
+
+ /**
+ * Create a new App or update an exiting App.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param serviceName The name of the Service resource.
+ * @param appName The name of the App resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @throws CloudException thrown if the request is rejected by server
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent
+ * @return the AppResourceInner object if successful.
+ */
+ public AppResourceInner createOrUpdate(String resourceGroupName, String serviceName, String appName) {
+ return createOrUpdateWithServiceResponseAsync(resourceGroupName, serviceName, appName).toBlocking().single().body();
+ }
+
+ /**
+ * Create a new App or update an exiting App.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param serviceName The name of the Service resource.
+ * @param appName The name of the App resource.
+ * @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 createOrUpdateAsync(String resourceGroupName, String serviceName, String appName, final ServiceCallback serviceCallback) {
+ return ServiceFuture.fromResponse(createOrUpdateWithServiceResponseAsync(resourceGroupName, serviceName, appName), serviceCallback);
+ }
+
+ /**
+ * Create a new App or update an exiting App.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param serviceName The name of the Service resource.
+ * @param appName The name of the App resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the AppResourceInner object
+ */
+ public Observable createOrUpdateAsync(String resourceGroupName, String serviceName, String appName) {
+ return createOrUpdateWithServiceResponseAsync(resourceGroupName, serviceName, appName).map(new Func1, AppResourceInner>() {
+ @Override
+ public AppResourceInner call(ServiceResponse response) {
+ return response.body();
+ }
+ });
+ }
+
+ /**
+ * Create a new App or update an exiting App.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param serviceName The name of the Service resource.
+ * @param appName The name of the App resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the AppResourceInner object
+ */
+ public Observable> createOrUpdateWithServiceResponseAsync(String resourceGroupName, String serviceName, String appName) {
+ 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 (serviceName == null) {
+ throw new IllegalArgumentException("Parameter serviceName is required and cannot be null.");
+ }
+ if (appName == null) {
+ throw new IllegalArgumentException("Parameter appName is required and cannot be null.");
+ }
+ final AppResourceProperties properties = null;
+ AppResourceInner appResource = new AppResourceInner();
+ appResource.withProperties(null);
+ return service.createOrUpdate(this.client.subscriptionId(), resourceGroupName, serviceName, appName, this.client.apiVersion(), this.client.acceptLanguage(), appResource, this.client.userAgent())
+ .flatMap(new Func1, Observable>>() {
+ @Override
+ public Observable> call(Response response) {
+ try {
+ ServiceResponse clientResponse = createOrUpdateDelegate(response);
+ return Observable.just(clientResponse);
+ } catch (Throwable t) {
+ return Observable.error(t);
+ }
+ }
+ });
+ }
+
+ /**
+ * Create a new App or update an exiting App.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param serviceName The name of the Service resource.
+ * @param appName The name of the App resource.
+ * @param properties Properties of the App resource
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @throws CloudException thrown if the request is rejected by server
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent
+ * @return the AppResourceInner object if successful.
+ */
+ public AppResourceInner createOrUpdate(String resourceGroupName, String serviceName, String appName, AppResourceProperties properties) {
+ return createOrUpdateWithServiceResponseAsync(resourceGroupName, serviceName, appName, properties).toBlocking().single().body();
+ }
+
+ /**
+ * Create a new App or update an exiting App.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param serviceName The name of the Service resource.
+ * @param appName The name of the App resource.
+ * @param properties Properties of the App resource
+ * @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 createOrUpdateAsync(String resourceGroupName, String serviceName, String appName, AppResourceProperties properties, final ServiceCallback serviceCallback) {
+ return ServiceFuture.fromResponse(createOrUpdateWithServiceResponseAsync(resourceGroupName, serviceName, appName, properties), serviceCallback);
+ }
+
+ /**
+ * Create a new App or update an exiting App.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param serviceName The name of the Service resource.
+ * @param appName The name of the App resource.
+ * @param properties Properties of the App resource
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the AppResourceInner object
+ */
+ public Observable createOrUpdateAsync(String resourceGroupName, String serviceName, String appName, AppResourceProperties properties) {
+ return createOrUpdateWithServiceResponseAsync(resourceGroupName, serviceName, appName, properties).map(new Func1, AppResourceInner>() {
+ @Override
+ public AppResourceInner call(ServiceResponse response) {
+ return response.body();
+ }
+ });
+ }
+
+ /**
+ * Create a new App or update an exiting App.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param serviceName The name of the Service resource.
+ * @param appName The name of the App resource.
+ * @param properties Properties of the App resource
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the AppResourceInner object
+ */
+ public Observable> createOrUpdateWithServiceResponseAsync(String resourceGroupName, String serviceName, String appName, AppResourceProperties properties) {
+ 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 (serviceName == null) {
+ throw new IllegalArgumentException("Parameter serviceName is required and cannot be null.");
+ }
+ if (appName == null) {
+ throw new IllegalArgumentException("Parameter appName is required and cannot be null.");
+ }
+ Validator.validate(properties);
+ AppResourceInner appResource = null;
+ if (properties != null) {
+ appResource = new AppResourceInner();
+ appResource.withProperties(properties);
+ }
+ return service.createOrUpdate(this.client.subscriptionId(), resourceGroupName, serviceName, appName, this.client.apiVersion(), this.client.acceptLanguage(), appResource, this.client.userAgent())
+ .flatMap(new Func1, Observable>>() {
+ @Override
+ public Observable> call(Response response) {
+ try {
+ ServiceResponse clientResponse = createOrUpdateDelegate(response);
+ return Observable.just(clientResponse);
+ } catch (Throwable t) {
+ return Observable.error(t);
+ }
+ }
+ });
+ }
+
+ private ServiceResponse createOrUpdateDelegate(Response response) throws CloudException, IOException, IllegalArgumentException {
+ return this.client.restClient().responseBuilderFactory().newInstance(this.client.serializerAdapter())
+ .register(200, new TypeToken() { }.getType())
+ .registerError(CloudException.class)
+ .build(response);
+ }
+
+ /**
+ * Operation to delete an App.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param serviceName The name of the Service resource.
+ * @param appName The name of the App resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @throws CloudException thrown if the request is rejected by server
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent
+ */
+ public void delete(String resourceGroupName, String serviceName, String appName) {
+ deleteWithServiceResponseAsync(resourceGroupName, serviceName, appName).toBlocking().single().body();
+ }
+
+ /**
+ * Operation to delete an App.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param serviceName The name of the Service resource.
+ * @param appName The name of the App resource.
+ * @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 deleteAsync(String resourceGroupName, String serviceName, String appName, final ServiceCallback serviceCallback) {
+ return ServiceFuture.fromResponse(deleteWithServiceResponseAsync(resourceGroupName, serviceName, appName), serviceCallback);
+ }
+
+ /**
+ * Operation to delete an App.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param serviceName The name of the Service resource.
+ * @param appName The name of the App resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the {@link ServiceResponse} object if successful.
+ */
+ public Observable deleteAsync(String resourceGroupName, String serviceName, String appName) {
+ return deleteWithServiceResponseAsync(resourceGroupName, serviceName, appName).map(new Func1, Void>() {
+ @Override
+ public Void call(ServiceResponse response) {
+ return response.body();
+ }
+ });
+ }
+
+ /**
+ * Operation to delete an App.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param serviceName The name of the Service resource.
+ * @param appName The name of the App resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the {@link ServiceResponse} object if successful.
+ */
+ public Observable> deleteWithServiceResponseAsync(String resourceGroupName, String serviceName, String appName) {
+ 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 (serviceName == null) {
+ throw new IllegalArgumentException("Parameter serviceName is required and cannot be null.");
+ }
+ if (appName == null) {
+ throw new IllegalArgumentException("Parameter appName is required and cannot be null.");
+ }
+ return service.delete(this.client.subscriptionId(), resourceGroupName, serviceName, appName, this.client.apiVersion(), this.client.acceptLanguage(), this.client.userAgent())
+ .flatMap(new Func1, Observable>>() {
+ @Override
+ public Observable> call(Response response) {
+ try {
+ ServiceResponse clientResponse = deleteDelegate(response);
+ return Observable.just(clientResponse);
+ } catch (Throwable t) {
+ return Observable.error(t);
+ }
+ }
+ });
+ }
+
+ private ServiceResponse deleteDelegate(Response response) throws CloudException, IOException, IllegalArgumentException {
+ return this.client.restClient().responseBuilderFactory().newInstance(this.client.serializerAdapter())
+ .register(200, new TypeToken() { }.getType())
+ .register(204, new TypeToken() { }.getType())
+ .registerError(CloudException.class)
+ .build(response);
+ }
+
+ /**
+ * Operation to update an exiting App.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param serviceName The name of the Service resource.
+ * @param appName The name of the App resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @throws CloudException thrown if the request is rejected by server
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent
+ * @return the AppResourceInner object if successful.
+ */
+ public AppResourceInner update(String resourceGroupName, String serviceName, String appName) {
+ return updateWithServiceResponseAsync(resourceGroupName, serviceName, appName).toBlocking().single().body();
+ }
+
+ /**
+ * Operation to update an exiting App.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param serviceName The name of the Service resource.
+ * @param appName The name of the App resource.
+ * @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 updateAsync(String resourceGroupName, String serviceName, String appName, final ServiceCallback serviceCallback) {
+ return ServiceFuture.fromResponse(updateWithServiceResponseAsync(resourceGroupName, serviceName, appName), serviceCallback);
+ }
+
+ /**
+ * Operation to update an exiting App.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param serviceName The name of the Service resource.
+ * @param appName The name of the App resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the AppResourceInner object
+ */
+ public Observable updateAsync(String resourceGroupName, String serviceName, String appName) {
+ return updateWithServiceResponseAsync(resourceGroupName, serviceName, appName).map(new Func1, AppResourceInner>() {
+ @Override
+ public AppResourceInner call(ServiceResponse response) {
+ return response.body();
+ }
+ });
+ }
+
+ /**
+ * Operation to update an exiting App.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param serviceName The name of the Service resource.
+ * @param appName The name of the App resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the AppResourceInner object
+ */
+ public Observable> updateWithServiceResponseAsync(String resourceGroupName, String serviceName, String appName) {
+ 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 (serviceName == null) {
+ throw new IllegalArgumentException("Parameter serviceName is required and cannot be null.");
+ }
+ if (appName == null) {
+ throw new IllegalArgumentException("Parameter appName is required and cannot be null.");
+ }
+ final AppResourceProperties properties = null;
+ AppResourceInner appResource = new AppResourceInner();
+ appResource.withProperties(null);
+ return service.update(this.client.subscriptionId(), resourceGroupName, serviceName, appName, this.client.apiVersion(), this.client.acceptLanguage(), appResource, this.client.userAgent())
+ .flatMap(new Func1, Observable>>() {
+ @Override
+ public Observable> call(Response response) {
+ try {
+ ServiceResponse clientResponse = updateDelegate(response);
+ return Observable.just(clientResponse);
+ } catch (Throwable t) {
+ return Observable.error(t);
+ }
+ }
+ });
+ }
+
+ /**
+ * Operation to update an exiting App.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param serviceName The name of the Service resource.
+ * @param appName The name of the App resource.
+ * @param properties Properties of the App resource
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @throws CloudException thrown if the request is rejected by server
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent
+ * @return the AppResourceInner object if successful.
+ */
+ public AppResourceInner update(String resourceGroupName, String serviceName, String appName, AppResourceProperties properties) {
+ return updateWithServiceResponseAsync(resourceGroupName, serviceName, appName, properties).toBlocking().single().body();
+ }
+
+ /**
+ * Operation to update an exiting App.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param serviceName The name of the Service resource.
+ * @param appName The name of the App resource.
+ * @param properties Properties of the App resource
+ * @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 updateAsync(String resourceGroupName, String serviceName, String appName, AppResourceProperties properties, final ServiceCallback serviceCallback) {
+ return ServiceFuture.fromResponse(updateWithServiceResponseAsync(resourceGroupName, serviceName, appName, properties), serviceCallback);
+ }
+
+ /**
+ * Operation to update an exiting App.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param serviceName The name of the Service resource.
+ * @param appName The name of the App resource.
+ * @param properties Properties of the App resource
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the AppResourceInner object
+ */
+ public Observable updateAsync(String resourceGroupName, String serviceName, String appName, AppResourceProperties properties) {
+ return updateWithServiceResponseAsync(resourceGroupName, serviceName, appName, properties).map(new Func1, AppResourceInner>() {
+ @Override
+ public AppResourceInner call(ServiceResponse response) {
+ return response.body();
+ }
+ });
+ }
+
+ /**
+ * Operation to update an exiting App.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param serviceName The name of the Service resource.
+ * @param appName The name of the App resource.
+ * @param properties Properties of the App resource
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the AppResourceInner object
+ */
+ public Observable> updateWithServiceResponseAsync(String resourceGroupName, String serviceName, String appName, AppResourceProperties properties) {
+ 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 (serviceName == null) {
+ throw new IllegalArgumentException("Parameter serviceName is required and cannot be null.");
+ }
+ if (appName == null) {
+ throw new IllegalArgumentException("Parameter appName is required and cannot be null.");
+ }
+ Validator.validate(properties);
+ AppResourceInner appResource = null;
+ if (properties != null) {
+ appResource = new AppResourceInner();
+ appResource.withProperties(properties);
+ }
+ return service.update(this.client.subscriptionId(), resourceGroupName, serviceName, appName, this.client.apiVersion(), this.client.acceptLanguage(), appResource, this.client.userAgent())
+ .flatMap(new Func1, Observable>>() {
+ @Override
+ public Observable> call(Response response) {
+ try {
+ ServiceResponse clientResponse = updateDelegate(response);
+ return Observable.just(clientResponse);
+ } catch (Throwable t) {
+ return Observable.error(t);
+ }
+ }
+ });
+ }
+
+ private ServiceResponse updateDelegate(Response response) throws CloudException, IOException, IllegalArgumentException {
+ return this.client.restClient().responseBuilderFactory().newInstance(this.client.serializerAdapter())
+ .register(200, new TypeToken() { }.getType())
+ .registerError(CloudException.class)
+ .build(response);
+ }
+
+ /**
+ * Handles requests to list all resources in a Service.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param serviceName The name of the Service resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @throws CloudException 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<AppResourceInner> object if successful.
+ */
+ public PagedList list(final String resourceGroupName, final String serviceName) {
+ ServiceResponse> response = listSinglePageAsync(resourceGroupName, serviceName).toBlocking().single();
+ return new PagedList(response.body()) {
+ @Override
+ public Page nextPage(String nextPageLink) {
+ return listNextSinglePageAsync(nextPageLink).toBlocking().single().body();
+ }
+ };
+ }
+
+ /**
+ * Handles requests to list all resources in a Service.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param serviceName The name of the Service resource.
+ * @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 String resourceGroupName, final String serviceName, final ListOperationCallback serviceCallback) {
+ return AzureServiceFuture.fromPageResponse(
+ listSinglePageAsync(resourceGroupName, serviceName),
+ new Func1>>>() {
+ @Override
+ public Observable>> call(String nextPageLink) {
+ return listNextSinglePageAsync(nextPageLink);
+ }
+ },
+ serviceCallback);
+ }
+
+ /**
+ * Handles requests to list all resources in a Service.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param serviceName The name of the Service resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the PagedList<AppResourceInner> object
+ */
+ public Observable> listAsync(final String resourceGroupName, final String serviceName) {
+ return listWithServiceResponseAsync(resourceGroupName, serviceName)
+ .map(new Func1>, Page>() {
+ @Override
+ public Page call(ServiceResponse> response) {
+ return response.body();
+ }
+ });
+ }
+
+ /**
+ * Handles requests to list all resources in a Service.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param serviceName The name of the Service resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the PagedList<AppResourceInner> object
+ */
+ public Observable>> listWithServiceResponseAsync(final String resourceGroupName, final String serviceName) {
+ return listSinglePageAsync(resourceGroupName, serviceName)
+ .concatMap(new Func1>, Observable>>>() {
+ @Override
+ public Observable>> call(ServiceResponse