diff --git a/.azure-pipelines/docs.yml b/.azure-pipelines/docs.yml
index f83f220ff14d..a66d7513ec1d 100644
--- a/.azure-pipelines/docs.yml
+++ b/.azure-pipelines/docs.yml
@@ -11,7 +11,7 @@ jobs:
skipComponentGovernanceDetection: true
timeoutInMinutes: 120
pool:
- vmImage: 'vs2017-win2016'
+ vmImage: 'windows-2019'
steps:
- powershell: |
@@ -79,7 +79,7 @@ jobs:
skipComponentGovernanceDetection: true
timeoutInMinutes: 120
pool:
- vmImage: 'vs2017-win2016'
+ vmImage: 'windows-2019'
steps:
# We `install` separately from running `site:site site:stage` so that the `install` brings in the non-shipping-modules,
@@ -96,6 +96,18 @@ jobs:
publishJUnitResults: false
goals: 'install'
+ - task: Maven@3
+ displayName: 'Install azure-sdk-parent'
+ inputs:
+ mavenPomFile: parent/pom.xml
+ options: '$(DefaultOptions) -DskipTests -Dgpg.skip'
+ mavenOptions: '$(LoggingOptions)'
+ javaHomeOption: 'JDKVersion'
+ jdkVersionOption: '1.11'
+ jdkArchitectureOption: 'x64'
+ publishJUnitResults: false
+ goals: 'install'
+
- task: Maven@3
displayName: 'Install Data Packages'
inputs:
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index 3352c4744a3b..f3a1a4beab5d 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -10,6 +10,7 @@
# Service teams
/sdk/appconfiguration/ @alzimmermsft @conniey @sima-zhu
+/sdk/batch/ @xingwu1 @bgklein @matthchr
/sdk/core/ @alzimmermsft @jianghaolu @srnagar @hemanttanwar
/sdk/cosmos/ @moderakh @christopheranderson @kushagraThapar
/sdk/eventhubs/ @conniey @srnagar @mssfang
@@ -18,7 +19,7 @@
/sdk/servicebus/ @yvgopal @nemakam
/sdk/tracing/ @samvaity @alzimmermsft
-/sdk/storage/ @rickle-msft @jaschrep-msft @alzimmermsft @sima-zhu
+/sdk/storage/ @rickle-msft @jaschrep-msft @gapra-msft @alzimmermsft @sima-zhu
# Management Plane
/**/resource-manager/ @yaohaizh
@@ -28,5 +29,8 @@
###########
/eng/ @weshaggard @mitchdenny @danieljurek
/eng/code-quality-reports/ @mssfang @JonathanGiles
+/eng/jacoco-test-coverage/ @srnagar @JonathanGiles
+/eng/spotbugs-aggregate-report/ @srnagar @JonathanGiles
+
/**/tests.yml @danieljurek
/**/ci.yml @mitchdenny
diff --git a/CHECKENFORCER b/CHECKENFORCER
new file mode 100644
index 000000000000..02c2e26d53ec
--- /dev/null
+++ b/CHECKENFORCER
@@ -0,0 +1,3 @@
+format: v0.1-alpha
+enabled: true
+minimumCheckRuns: 2
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 2ef9810e8c56..f3baa1c0ba4a 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -1,5 +1,49 @@
# How to contribute
-If you encounter any bugs with the library please file an issue in the [Issues](https://github.com/Azure/azure-sdk-for-java/issues) section of the project.
+Thank you for your interest in contributing to Azure SDK for Java.
-If you would like to become an active contributor to this project please follow the instructions provided in [Microsoft Azure Projects Contribution Guidelines](http://azure.github.com/guidelines.html).
\ No newline at end of file
+## About Azure SDK for java project
+
+- For reporting bugs, requesting features or asking for support, please file an issue in the [issues](https://github.com/Azure/azure-sdk-for-java/issues) section of the project.
+
+- If you would like to become an active contributor to this project please follow the instructions provided in [Microsoft Azure Projects Contribution Guidelines](http://azure.github.com/guidelines.html).
+
+- To make code changes, or contribute something new, please follow the [GitHub Forks / Pull requests model](https://help.github.com/articles/fork-a-repo/): Fork the repo, make the change and propose it back by submitting a pull request.
+
+- Refer to the [wiki](https://github.com/Azure/azure-sdk-for-java/wiki/Building#testing-for-spotbugs-and-checkstyle-issues) to learn about how Azure SDK for java generates CheckStyle, SpotBugs, Jacoco, and JavaDoc reports.
+
+- There are two Maven projects in the repo. Refer to the [wiki](https://github.com/Azure/azure-sdk-for-java/wiki/Building#pomclientxml-vs-pomdataxml) to learn about project structure for each.
+
+## Developer Guide
+
+### Pre-requisites
+- Install Java Development Kit 8
+ - add `JAVA_HOME` to environment variables
+- Install [Maven](http://maven.apache.org/download.cgi)
+ - add `MAVEN_HOME` to environment variables
+
+
+>**Note:** If you are on `Windows`, enable paths longer than 260 characters by:
+1.- Run this as Administrator on a command prompt:
+`REG ADD HKLM\SYSTEM\CurrentControlSet\Control\FileSystem /v LongPathsEnabled /t REG_DWORD /d 1` *(might need to type `yes` to override key if it already exists)*
+2.- Set up `git` by running: `git config --system core.longpaths true`
+
+### Building and Testing
+The easiest way to build is by running the following command from the root folder:
+```
+mvn -f pom.client.xml -Dgpg.skip -DskipTests clean install
+```
+- `-f pom.client.xml`: tells maven to target latest Azure SDK for Java project.
+- `-Dgpg.skip`: disables [gpg](https://mran.microsoft.com/snapshot/2016-12-19/web/packages/gpg/vignettes/intro.html) signing.
+- `-DskipTests:` Building without running unit tests would speed operation up, however, make sure all tests pass before creating a new PR.
+- `clean:` will remove any previous generated output.
+- `install:` compiles project and installs it in the local Maven cache.
+
+>**Note**: Refer to [wiki](https://github.com/Azure/azure-sdk-for-java/wiki/Building) for learning about how to build using Java 11
+
+### Compiling one project only
+```
+mvn -f sdk/{projectForlderDir}/pom.xml -Dgpg.skip clean install
+
+//example: mvn -f sdk/keyvault/azure-keyvault-keys/pom.xml clean install
+```
diff --git a/README.md b/README.md
index 3a89fec4d97e..8d01aaa910b2 100644
--- a/README.md
+++ b/README.md
@@ -14,27 +14,31 @@ To get started with a specific library, see the **README.md** file located in th
For tutorials, samples, quick starts and other documentation, visit [Azure for Java Developers](https://docs.microsoft.com/java/azure/).
### Prerequisites
-Java 8 or later is required to use the July 2019 client preview libraries, otherwise Java 7 or later is required.
+Java 8 or later is required to use the September 2019 client preview libraries, otherwise Java 7 or later is required.
## Packages available
Each service might have a number of libraries available from each of the following categories:
-* [Client - July 2019 Preview](#Client-July-2019-Preview)
+* [Client - September 2019 Preview](#Client-September-2019-Preview)
* [Client - Stable](#Client-Stable)
* [Management](#Management)
-### Client: July 2019 Preview
-New wave of packages that we are currently releasing in **preview**. These libraries follow the [Azure SDK Design Guidelines for Java](https://azuresdkspecs.z5.web.core.windows.net/JavaSpec.html) and share a number of core features such as HTTP retries, logging, transport protocols, authentication protocols, etc., so that once you learn how to use these features in one client library, you will know how to use them in other client libraries. You can learn about these shared features [here](core).
+### Client: September 2019 Preview
+New wave of packages that we are currently releasing in **preview**. These libraries follow the [Azure SDK Design Guidelines for Java](https://azure.github.io/azure-sdk/java/guidelines/) and share a number of core features such as HTTP retries, logging, transport protocols, authentication protocols, etc., so that once you learn how to use these features in one client library, you will know how to use them in other client libraries. You can learn about these shared features [here](core).
These preview libraries can be easily identified by their folder, package, and namespaces names starting with `azure-`, e.g. `azure-keyvault`.
-The libraries released in the July 2019 preview:
+The libraries released in the September 2019 preview:
- [App Configuration](sdk/appconfiguration/azure-data-appconfiguration/README.md)
- [Event Hubs](sdk/eventhubs/azure-messaging-eventhubs/README.md)
+- [Event Hubs Checkpoint Store](sdk/eventhubs/azure-messaging-eventhubs-checkpointstore-blob/README.md)
- [Identity](sdk/identity/azure-identity/README.md)
+- [Key Vault Certificates](sdk/keyvault/azure-keyvault-certificates/README.md)
- [Key Vault Keys](sdk/keyvault/azure-keyvault-keys/README.md)
-- [Key Vault Secrets](sdk/keyvault/client/azure-keyvault-secrets/README.md)
+- [Key Vault Secrets](sdk/keyvault/azure-keyvault-secrets/README.md)
- [Storage Blobs](sdk/storage/azure-storage-blob/README.md)
+- [Storage Files](sdk/storage/azure-storage-file/README.md)
+- [Storage Queues](sdk/storage/azure-storage-queue/README.md)
>NOTE: If you need to ensure your code is ready for production, use one of the stable libraries.
diff --git a/api-specs.json b/api-specs.json
index bd963d00995b..0166ab5c4fdb 100644
--- a/api-specs.json
+++ b/api-specs.json
@@ -34,6 +34,10 @@
"source": "specification/authorization/resource-manager/readme.md",
"args": "--multiapi --fluent"
},
+ "azure-kusto/resource-manager": {
+ "source": "specification/azure-kusto/resource-manager/readme.md",
+ "args": "--multiapi --fluent"
+ },
"azurestack/resource-manager": {
"source": "specification/azurestack/resource-manager/readme.md",
"args": "--multiapi --fluent"
@@ -272,6 +276,10 @@
"source": "specification/storage/resource-manager/readme.md",
"args": "--multiapi --fluent"
},
+ "storagecache/resource-manager": {
+ "source": "specification/storagecache/resource-manager/readme.md",
+ "args": "--multiapi --fluent"
+ },
"storageimportexport/resource-manager": {
"source": "specification/storageimportexport/resource-manager/readme.md",
"args": "--multiapi --fluent"
diff --git a/containerservice/resource-manager/v2019_08_01/pom.xml b/containerservice/resource-manager/v2019_08_01/pom.xml
new file mode 100644
index 000000000000..9fe51ff4ffd3
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/pom.xml
@@ -0,0 +1,135 @@
+
+
+ 4.0.0
+ com.microsoft.azure.containerservice.v2019_08_01
+
+ com.microsoft.azure
+ azure-arm-parent
+ 1.1.0
+ ../../../pom.management.xml
+
+ azure-mgmt-containerservice
+ 1.0.0-beta
+ jar
+ Microsoft Azure SDK for ContainerService Management
+ This package contains Microsoft ContainerService 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/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/AgentPool.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/AgentPool.java
new file mode 100644
index 000000000000..3f4d900add37
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/AgentPool.java
@@ -0,0 +1,534 @@
+/**
+ * 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.containerservice.v2019_08_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.containerservice.v2019_08_01.implementation.AgentPoolInner;
+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.containerservice.v2019_08_01.implementation.ContainerServiceManager;
+import java.util.List;
+
+/**
+ * Type representing AgentPool.
+ */
+public interface AgentPool extends HasInner, Indexable, Refreshable, Updatable, HasManager {
+ /**
+ * @return the agentPoolType value.
+ */
+ AgentPoolType agentPoolType();
+
+ /**
+ * @return the availabilityZones value.
+ */
+ List availabilityZones();
+
+ /**
+ * @return the count value.
+ */
+ int count();
+
+ /**
+ * @return the enableAutoScaling value.
+ */
+ Boolean enableAutoScaling();
+
+ /**
+ * @return the enableNodePublicIP value.
+ */
+ Boolean enableNodePublicIP();
+
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the maxCount value.
+ */
+ Integer maxCount();
+
+ /**
+ * @return the maxPods value.
+ */
+ Integer maxPods();
+
+ /**
+ * @return the minCount value.
+ */
+ Integer minCount();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the nodeTaints value.
+ */
+ List nodeTaints();
+
+ /**
+ * @return the orchestratorVersion value.
+ */
+ String orchestratorVersion();
+
+ /**
+ * @return the osDiskSizeGB value.
+ */
+ Integer osDiskSizeGB();
+
+ /**
+ * @return the osType value.
+ */
+ OSType osType();
+
+ /**
+ * @return the provisioningState value.
+ */
+ String provisioningState();
+
+ /**
+ * @return the scaleSetEvictionPolicy value.
+ */
+ ScaleSetEvictionPolicy scaleSetEvictionPolicy();
+
+ /**
+ * @return the scaleSetPriority value.
+ */
+ ScaleSetPriority scaleSetPriority();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+ /**
+ * @return the vmSize value.
+ */
+ ContainerServiceVMSizeTypes vmSize();
+
+ /**
+ * @return the vnetSubnetID value.
+ */
+ String vnetSubnetID();
+
+ /**
+ * The entirety of the AgentPool definition.
+ */
+ interface Definition extends DefinitionStages.Blank, DefinitionStages.WithManagedCluster, DefinitionStages.WithCount, DefinitionStages.WithVmSize, DefinitionStages.WithCreate {
+ }
+
+ /**
+ * Grouping of AgentPool definition stages.
+ */
+ interface DefinitionStages {
+ /**
+ * The first stage of a AgentPool definition.
+ */
+ interface Blank extends WithManagedCluster {
+ }
+
+ /**
+ * The stage of the agentpool definition allowing to specify ManagedCluster.
+ */
+ interface WithManagedCluster {
+ /**
+ * Specifies resourceGroupName, resourceName.
+ * @param resourceGroupName The name of the resource group
+ * @param resourceName The name of the managed cluster resource
+ * @return the next definition stage
+ */
+ WithCount withExistingManagedCluster(String resourceGroupName, String resourceName);
+ }
+
+ /**
+ * The stage of the agentpool definition allowing to specify Count.
+ */
+ interface WithCount {
+ /**
+ * Specifies count.
+ * @param count Number of agents (VMs) to host docker containers. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1
+ * @return the next definition stage
+ */
+ WithVmSize withCount(int count);
+ }
+
+ /**
+ * The stage of the agentpool definition allowing to specify VmSize.
+ */
+ interface WithVmSize {
+ /**
+ * Specifies vmSize.
+ * @param vmSize Size of agent VMs. Possible values include: 'Standard_A1', 'Standard_A10', 'Standard_A11', 'Standard_A1_v2', 'Standard_A2', 'Standard_A2_v2', 'Standard_A2m_v2', 'Standard_A3', 'Standard_A4', 'Standard_A4_v2', 'Standard_A4m_v2', 'Standard_A5', 'Standard_A6', 'Standard_A7', 'Standard_A8', 'Standard_A8_v2', 'Standard_A8m_v2', 'Standard_A9', 'Standard_B2ms', 'Standard_B2s', 'Standard_B4ms', 'Standard_B8ms', 'Standard_D1', 'Standard_D11', 'Standard_D11_v2', 'Standard_D11_v2_Promo', 'Standard_D12', 'Standard_D12_v2', 'Standard_D12_v2_Promo', 'Standard_D13', 'Standard_D13_v2', 'Standard_D13_v2_Promo', 'Standard_D14', 'Standard_D14_v2', 'Standard_D14_v2_Promo', 'Standard_D15_v2', 'Standard_D16_v3', 'Standard_D16s_v3', 'Standard_D1_v2', 'Standard_D2', 'Standard_D2_v2', 'Standard_D2_v2_Promo', 'Standard_D2_v3', 'Standard_D2s_v3', 'Standard_D3', 'Standard_D32_v3', 'Standard_D32s_v3', 'Standard_D3_v2', 'Standard_D3_v2_Promo', 'Standard_D4', 'Standard_D4_v2', 'Standard_D4_v2_Promo', 'Standard_D4_v3', 'Standard_D4s_v3', 'Standard_D5_v2', 'Standard_D5_v2_Promo', 'Standard_D64_v3', 'Standard_D64s_v3', 'Standard_D8_v3', 'Standard_D8s_v3', 'Standard_DS1', 'Standard_DS11', 'Standard_DS11_v2', 'Standard_DS11_v2_Promo', 'Standard_DS12', 'Standard_DS12_v2', 'Standard_DS12_v2_Promo', 'Standard_DS13', 'Standard_DS13-2_v2', 'Standard_DS13-4_v2', 'Standard_DS13_v2', 'Standard_DS13_v2_Promo', 'Standard_DS14', 'Standard_DS14-4_v2', 'Standard_DS14-8_v2', 'Standard_DS14_v2', 'Standard_DS14_v2_Promo', 'Standard_DS15_v2', 'Standard_DS1_v2', 'Standard_DS2', 'Standard_DS2_v2', 'Standard_DS2_v2_Promo', 'Standard_DS3', 'Standard_DS3_v2', 'Standard_DS3_v2_Promo', 'Standard_DS4', 'Standard_DS4_v2', 'Standard_DS4_v2_Promo', 'Standard_DS5_v2', 'Standard_DS5_v2_Promo', 'Standard_E16_v3', 'Standard_E16s_v3', 'Standard_E2_v3', 'Standard_E2s_v3', 'Standard_E32-16s_v3', 'Standard_E32-8s_v3', 'Standard_E32_v3', 'Standard_E32s_v3', 'Standard_E4_v3', 'Standard_E4s_v3', 'Standard_E64-16s_v3', 'Standard_E64-32s_v3', 'Standard_E64_v3', 'Standard_E64s_v3', 'Standard_E8_v3', 'Standard_E8s_v3', 'Standard_F1', 'Standard_F16', 'Standard_F16s', 'Standard_F16s_v2', 'Standard_F1s', 'Standard_F2', 'Standard_F2s', 'Standard_F2s_v2', 'Standard_F32s_v2', 'Standard_F4', 'Standard_F4s', 'Standard_F4s_v2', 'Standard_F64s_v2', 'Standard_F72s_v2', 'Standard_F8', 'Standard_F8s', 'Standard_F8s_v2', 'Standard_G1', 'Standard_G2', 'Standard_G3', 'Standard_G4', 'Standard_G5', 'Standard_GS1', 'Standard_GS2', 'Standard_GS3', 'Standard_GS4', 'Standard_GS4-4', 'Standard_GS4-8', 'Standard_GS5', 'Standard_GS5-16', 'Standard_GS5-8', 'Standard_H16', 'Standard_H16m', 'Standard_H16mr', 'Standard_H16r', 'Standard_H8', 'Standard_H8m', 'Standard_L16s', 'Standard_L32s', 'Standard_L4s', 'Standard_L8s', 'Standard_M128-32ms', 'Standard_M128-64ms', 'Standard_M128ms', 'Standard_M128s', 'Standard_M64-16ms', 'Standard_M64-32ms', 'Standard_M64ms', 'Standard_M64s', 'Standard_NC12', 'Standard_NC12s_v2', 'Standard_NC12s_v3', 'Standard_NC24', 'Standard_NC24r', 'Standard_NC24rs_v2', 'Standard_NC24rs_v3', 'Standard_NC24s_v2', 'Standard_NC24s_v3', 'Standard_NC6', 'Standard_NC6s_v2', 'Standard_NC6s_v3', 'Standard_ND12s', 'Standard_ND24rs', 'Standard_ND24s', 'Standard_ND6s', 'Standard_NV12', 'Standard_NV24', 'Standard_NV6'
+ * @return the next definition stage
+ */
+ WithCreate withVmSize(ContainerServiceVMSizeTypes vmSize);
+ }
+
+ /**
+ * The stage of the agentpool definition allowing to specify AgentPoolType.
+ */
+ interface WithAgentPoolType {
+ /**
+ * Specifies agentPoolType.
+ * @param agentPoolType AgentPoolType represents types of an agent pool. Possible values include: 'VirtualMachineScaleSets', 'AvailabilitySet'
+ * @return the next definition stage
+ */
+ WithCreate withAgentPoolType(AgentPoolType agentPoolType);
+ }
+
+ /**
+ * The stage of the agentpool definition allowing to specify AvailabilityZones.
+ */
+ interface WithAvailabilityZones {
+ /**
+ * Specifies availabilityZones.
+ * @param availabilityZones (PREVIEW) Availability zones for nodes. Must use VirtualMachineScaleSets AgentPoolType
+ * @return the next definition stage
+ */
+ WithCreate withAvailabilityZones(List availabilityZones);
+ }
+
+ /**
+ * The stage of the agentpool definition allowing to specify EnableAutoScaling.
+ */
+ interface WithEnableAutoScaling {
+ /**
+ * Specifies enableAutoScaling.
+ * @param enableAutoScaling Whether to enable auto-scaler
+ * @return the next definition stage
+ */
+ WithCreate withEnableAutoScaling(Boolean enableAutoScaling);
+ }
+
+ /**
+ * The stage of the agentpool definition allowing to specify EnableNodePublicIP.
+ */
+ interface WithEnableNodePublicIP {
+ /**
+ * Specifies enableNodePublicIP.
+ * @param enableNodePublicIP Enable public IP for nodes
+ * @return the next definition stage
+ */
+ WithCreate withEnableNodePublicIP(Boolean enableNodePublicIP);
+ }
+
+ /**
+ * The stage of the agentpool definition allowing to specify MaxCount.
+ */
+ interface WithMaxCount {
+ /**
+ * Specifies maxCount.
+ * @param maxCount Maximum number of nodes for auto-scaling
+ * @return the next definition stage
+ */
+ WithCreate withMaxCount(Integer maxCount);
+ }
+
+ /**
+ * The stage of the agentpool definition allowing to specify MaxPods.
+ */
+ interface WithMaxPods {
+ /**
+ * Specifies maxPods.
+ * @param maxPods Maximum number of pods that can run on a node
+ * @return the next definition stage
+ */
+ WithCreate withMaxPods(Integer maxPods);
+ }
+
+ /**
+ * The stage of the agentpool definition allowing to specify MinCount.
+ */
+ interface WithMinCount {
+ /**
+ * Specifies minCount.
+ * @param minCount Minimum number of nodes for auto-scaling
+ * @return the next definition stage
+ */
+ WithCreate withMinCount(Integer minCount);
+ }
+
+ /**
+ * The stage of the agentpool definition allowing to specify NodeTaints.
+ */
+ interface WithNodeTaints {
+ /**
+ * Specifies nodeTaints.
+ * @param nodeTaints Taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule
+ * @return the next definition stage
+ */
+ WithCreate withNodeTaints(List nodeTaints);
+ }
+
+ /**
+ * The stage of the agentpool definition allowing to specify OrchestratorVersion.
+ */
+ interface WithOrchestratorVersion {
+ /**
+ * Specifies orchestratorVersion.
+ * @param orchestratorVersion Version of orchestrator specified when creating the managed cluster
+ * @return the next definition stage
+ */
+ WithCreate withOrchestratorVersion(String orchestratorVersion);
+ }
+
+ /**
+ * The stage of the agentpool definition allowing to specify OsDiskSizeGB.
+ */
+ interface WithOsDiskSizeGB {
+ /**
+ * Specifies osDiskSizeGB.
+ * @param osDiskSizeGB OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified
+ * @return the next definition stage
+ */
+ WithCreate withOsDiskSizeGB(Integer osDiskSizeGB);
+ }
+
+ /**
+ * The stage of the agentpool definition allowing to specify OsType.
+ */
+ interface WithOsType {
+ /**
+ * Specifies osType.
+ * @param osType OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux. Possible values include: 'Linux', 'Windows'
+ * @return the next definition stage
+ */
+ WithCreate withOsType(OSType osType);
+ }
+
+ /**
+ * The stage of the agentpool definition allowing to specify ScaleSetEvictionPolicy.
+ */
+ interface WithScaleSetEvictionPolicy {
+ /**
+ * Specifies scaleSetEvictionPolicy.
+ * @param scaleSetEvictionPolicy ScaleSetEvictionPolicy to be used to specify eviction policy for low priority virtual machine scale set. Default to Delete. Possible values include: 'Delete', 'Deallocate'
+ * @return the next definition stage
+ */
+ WithCreate withScaleSetEvictionPolicy(ScaleSetEvictionPolicy scaleSetEvictionPolicy);
+ }
+
+ /**
+ * The stage of the agentpool definition allowing to specify ScaleSetPriority.
+ */
+ interface WithScaleSetPriority {
+ /**
+ * Specifies scaleSetPriority.
+ * @param scaleSetPriority ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular. Possible values include: 'Low', 'Regular'
+ * @return the next definition stage
+ */
+ WithCreate withScaleSetPriority(ScaleSetPriority scaleSetPriority);
+ }
+
+ /**
+ * The stage of the agentpool definition allowing to specify VnetSubnetID.
+ */
+ interface WithVnetSubnetID {
+ /**
+ * Specifies vnetSubnetID.
+ * @param vnetSubnetID VNet SubnetID specifies the VNet's subnet identifier
+ * @return the next definition stage
+ */
+ WithCreate withVnetSubnetID(String vnetSubnetID);
+ }
+
+ /**
+ * 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, DefinitionStages.WithAgentPoolType, DefinitionStages.WithAvailabilityZones, DefinitionStages.WithEnableAutoScaling, DefinitionStages.WithEnableNodePublicIP, DefinitionStages.WithMaxCount, DefinitionStages.WithMaxPods, DefinitionStages.WithMinCount, DefinitionStages.WithNodeTaints, DefinitionStages.WithOrchestratorVersion, DefinitionStages.WithOsDiskSizeGB, DefinitionStages.WithOsType, DefinitionStages.WithScaleSetEvictionPolicy, DefinitionStages.WithScaleSetPriority, DefinitionStages.WithVnetSubnetID {
+ }
+ }
+ /**
+ * The template for a AgentPool update operation, containing all the settings that can be modified.
+ */
+ interface Update extends Appliable, UpdateStages.WithAgentPoolType, UpdateStages.WithAvailabilityZones, UpdateStages.WithEnableAutoScaling, UpdateStages.WithEnableNodePublicIP, UpdateStages.WithMaxCount, UpdateStages.WithMaxPods, UpdateStages.WithMinCount, UpdateStages.WithNodeTaints, UpdateStages.WithOrchestratorVersion, UpdateStages.WithOsDiskSizeGB, UpdateStages.WithOsType, UpdateStages.WithScaleSetEvictionPolicy, UpdateStages.WithScaleSetPriority, UpdateStages.WithVnetSubnetID {
+ }
+
+ /**
+ * Grouping of AgentPool update stages.
+ */
+ interface UpdateStages {
+ /**
+ * The stage of the agentpool update allowing to specify AgentPoolType.
+ */
+ interface WithAgentPoolType {
+ /**
+ * Specifies agentPoolType.
+ * @param agentPoolType AgentPoolType represents types of an agent pool. Possible values include: 'VirtualMachineScaleSets', 'AvailabilitySet'
+ * @return the next update stage
+ */
+ Update withAgentPoolType(AgentPoolType agentPoolType);
+ }
+
+ /**
+ * The stage of the agentpool update allowing to specify AvailabilityZones.
+ */
+ interface WithAvailabilityZones {
+ /**
+ * Specifies availabilityZones.
+ * @param availabilityZones (PREVIEW) Availability zones for nodes. Must use VirtualMachineScaleSets AgentPoolType
+ * @return the next update stage
+ */
+ Update withAvailabilityZones(List availabilityZones);
+ }
+
+ /**
+ * The stage of the agentpool update allowing to specify EnableAutoScaling.
+ */
+ interface WithEnableAutoScaling {
+ /**
+ * Specifies enableAutoScaling.
+ * @param enableAutoScaling Whether to enable auto-scaler
+ * @return the next update stage
+ */
+ Update withEnableAutoScaling(Boolean enableAutoScaling);
+ }
+
+ /**
+ * The stage of the agentpool update allowing to specify EnableNodePublicIP.
+ */
+ interface WithEnableNodePublicIP {
+ /**
+ * Specifies enableNodePublicIP.
+ * @param enableNodePublicIP Enable public IP for nodes
+ * @return the next update stage
+ */
+ Update withEnableNodePublicIP(Boolean enableNodePublicIP);
+ }
+
+ /**
+ * The stage of the agentpool update allowing to specify MaxCount.
+ */
+ interface WithMaxCount {
+ /**
+ * Specifies maxCount.
+ * @param maxCount Maximum number of nodes for auto-scaling
+ * @return the next update stage
+ */
+ Update withMaxCount(Integer maxCount);
+ }
+
+ /**
+ * The stage of the agentpool update allowing to specify MaxPods.
+ */
+ interface WithMaxPods {
+ /**
+ * Specifies maxPods.
+ * @param maxPods Maximum number of pods that can run on a node
+ * @return the next update stage
+ */
+ Update withMaxPods(Integer maxPods);
+ }
+
+ /**
+ * The stage of the agentpool update allowing to specify MinCount.
+ */
+ interface WithMinCount {
+ /**
+ * Specifies minCount.
+ * @param minCount Minimum number of nodes for auto-scaling
+ * @return the next update stage
+ */
+ Update withMinCount(Integer minCount);
+ }
+
+ /**
+ * The stage of the agentpool update allowing to specify NodeTaints.
+ */
+ interface WithNodeTaints {
+ /**
+ * Specifies nodeTaints.
+ * @param nodeTaints Taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule
+ * @return the next update stage
+ */
+ Update withNodeTaints(List nodeTaints);
+ }
+
+ /**
+ * The stage of the agentpool update allowing to specify OrchestratorVersion.
+ */
+ interface WithOrchestratorVersion {
+ /**
+ * Specifies orchestratorVersion.
+ * @param orchestratorVersion Version of orchestrator specified when creating the managed cluster
+ * @return the next update stage
+ */
+ Update withOrchestratorVersion(String orchestratorVersion);
+ }
+
+ /**
+ * The stage of the agentpool update allowing to specify OsDiskSizeGB.
+ */
+ interface WithOsDiskSizeGB {
+ /**
+ * Specifies osDiskSizeGB.
+ * @param osDiskSizeGB OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified
+ * @return the next update stage
+ */
+ Update withOsDiskSizeGB(Integer osDiskSizeGB);
+ }
+
+ /**
+ * The stage of the agentpool update allowing to specify OsType.
+ */
+ interface WithOsType {
+ /**
+ * Specifies osType.
+ * @param osType OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux. Possible values include: 'Linux', 'Windows'
+ * @return the next update stage
+ */
+ Update withOsType(OSType osType);
+ }
+
+ /**
+ * The stage of the agentpool update allowing to specify ScaleSetEvictionPolicy.
+ */
+ interface WithScaleSetEvictionPolicy {
+ /**
+ * Specifies scaleSetEvictionPolicy.
+ * @param scaleSetEvictionPolicy ScaleSetEvictionPolicy to be used to specify eviction policy for low priority virtual machine scale set. Default to Delete. Possible values include: 'Delete', 'Deallocate'
+ * @return the next update stage
+ */
+ Update withScaleSetEvictionPolicy(ScaleSetEvictionPolicy scaleSetEvictionPolicy);
+ }
+
+ /**
+ * The stage of the agentpool update allowing to specify ScaleSetPriority.
+ */
+ interface WithScaleSetPriority {
+ /**
+ * Specifies scaleSetPriority.
+ * @param scaleSetPriority ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular. Possible values include: 'Low', 'Regular'
+ * @return the next update stage
+ */
+ Update withScaleSetPriority(ScaleSetPriority scaleSetPriority);
+ }
+
+ /**
+ * The stage of the agentpool update allowing to specify VnetSubnetID.
+ */
+ interface WithVnetSubnetID {
+ /**
+ * Specifies vnetSubnetID.
+ * @param vnetSubnetID VNet SubnetID specifies the VNet's subnet identifier
+ * @return the next update stage
+ */
+ Update withVnetSubnetID(String vnetSubnetID);
+ }
+
+ }
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/AgentPoolAvailableVersions.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/AgentPoolAvailableVersions.java
new file mode 100644
index 000000000000..d2023548caf6
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/AgentPoolAvailableVersions.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.containerservice.v2019_08_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.containerservice.v2019_08_01.implementation.ContainerServiceManager;
+import com.microsoft.azure.management.containerservice.v2019_08_01.implementation.AgentPoolAvailableVersionsInner;
+import java.util.List;
+
+/**
+ * Type representing AgentPoolAvailableVersions.
+ */
+public interface AgentPoolAvailableVersions extends HasInner, HasManager {
+ /**
+ * @return the agentPoolVersions value.
+ */
+ List agentPoolVersions();
+
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem.java
new file mode 100644
index 000000000000..8cebcf840f03
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem.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.containerservice.v2019_08_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem model.
+ */
+public class AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem {
+ /**
+ * Whether this version is the default agent pool version.
+ */
+ @JsonProperty(value = "default")
+ private Boolean defaultProperty;
+
+ /**
+ * Kubernetes version (major, minor, patch).
+ */
+ @JsonProperty(value = "kubernetesVersion")
+ private String kubernetesVersion;
+
+ /**
+ * Whether Kubernetes version is currently in preview.
+ */
+ @JsonProperty(value = "isPreview")
+ private Boolean isPreview;
+
+ /**
+ * Get whether this version is the default agent pool version.
+ *
+ * @return the defaultProperty value
+ */
+ public Boolean defaultProperty() {
+ return this.defaultProperty;
+ }
+
+ /**
+ * Set whether this version is the default agent pool version.
+ *
+ * @param defaultProperty the defaultProperty value to set
+ * @return the AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem object itself.
+ */
+ public AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem withDefaultProperty(Boolean defaultProperty) {
+ this.defaultProperty = defaultProperty;
+ return this;
+ }
+
+ /**
+ * Get kubernetes version (major, minor, patch).
+ *
+ * @return the kubernetesVersion value
+ */
+ public String kubernetesVersion() {
+ return this.kubernetesVersion;
+ }
+
+ /**
+ * Set kubernetes version (major, minor, patch).
+ *
+ * @param kubernetesVersion the kubernetesVersion value to set
+ * @return the AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem object itself.
+ */
+ public AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem withKubernetesVersion(String kubernetesVersion) {
+ this.kubernetesVersion = kubernetesVersion;
+ return this;
+ }
+
+ /**
+ * Get whether Kubernetes version is currently in preview.
+ *
+ * @return the isPreview value
+ */
+ public Boolean isPreview() {
+ return this.isPreview;
+ }
+
+ /**
+ * Set whether Kubernetes version is currently in preview.
+ *
+ * @param isPreview the isPreview value to set
+ * @return the AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem object itself.
+ */
+ public AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem withIsPreview(Boolean isPreview) {
+ this.isPreview = isPreview;
+ return this;
+ }
+
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/AgentPoolType.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/AgentPoolType.java
new file mode 100644
index 000000000000..8ec122af9c1e
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/AgentPoolType.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.containerservice.v2019_08_01;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for AgentPoolType.
+ */
+public final class AgentPoolType extends ExpandableStringEnum {
+ /** Static value VirtualMachineScaleSets for AgentPoolType. */
+ public static final AgentPoolType VIRTUAL_MACHINE_SCALE_SETS = fromString("VirtualMachineScaleSets");
+
+ /** Static value AvailabilitySet for AgentPoolType. */
+ public static final AgentPoolType AVAILABILITY_SET = fromString("AvailabilitySet");
+
+ /**
+ * Creates or finds a AgentPoolType from its string representation.
+ * @param name a name to look for
+ * @return the corresponding AgentPoolType
+ */
+ @JsonCreator
+ public static AgentPoolType fromString(String name) {
+ return fromString(name, AgentPoolType.class);
+ }
+
+ /**
+ * @return known AgentPoolType values
+ */
+ public static Collection values() {
+ return values(AgentPoolType.class);
+ }
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/AgentPoolUpgradeProfile.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/AgentPoolUpgradeProfile.java
new file mode 100644
index 000000000000..f72c825af7db
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/AgentPoolUpgradeProfile.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.containerservice.v2019_08_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.containerservice.v2019_08_01.implementation.ContainerServiceManager;
+import com.microsoft.azure.management.containerservice.v2019_08_01.implementation.AgentPoolUpgradeProfileInner;
+import java.util.List;
+
+/**
+ * Type representing AgentPoolUpgradeProfile.
+ */
+public interface AgentPoolUpgradeProfile extends HasInner, HasManager {
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the kubernetesVersion value.
+ */
+ String kubernetesVersion();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the osType value.
+ */
+ OSType osType();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+ /**
+ * @return the upgrades value.
+ */
+ List upgrades();
+
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/AgentPoolUpgradeProfilePropertiesUpgradesItem.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/AgentPoolUpgradeProfilePropertiesUpgradesItem.java
new file mode 100644
index 000000000000..2b9824130eaf
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/AgentPoolUpgradeProfilePropertiesUpgradesItem.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.containerservice.v2019_08_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The AgentPoolUpgradeProfilePropertiesUpgradesItem model.
+ */
+public class AgentPoolUpgradeProfilePropertiesUpgradesItem {
+ /**
+ * Kubernetes version (major, minor, patch).
+ */
+ @JsonProperty(value = "kubernetesVersion")
+ private String kubernetesVersion;
+
+ /**
+ * Whether Kubernetes version is currently in preview.
+ */
+ @JsonProperty(value = "isPreview")
+ private Boolean isPreview;
+
+ /**
+ * Get kubernetes version (major, minor, patch).
+ *
+ * @return the kubernetesVersion value
+ */
+ public String kubernetesVersion() {
+ return this.kubernetesVersion;
+ }
+
+ /**
+ * Set kubernetes version (major, minor, patch).
+ *
+ * @param kubernetesVersion the kubernetesVersion value to set
+ * @return the AgentPoolUpgradeProfilePropertiesUpgradesItem object itself.
+ */
+ public AgentPoolUpgradeProfilePropertiesUpgradesItem withKubernetesVersion(String kubernetesVersion) {
+ this.kubernetesVersion = kubernetesVersion;
+ return this;
+ }
+
+ /**
+ * Get whether Kubernetes version is currently in preview.
+ *
+ * @return the isPreview value
+ */
+ public Boolean isPreview() {
+ return this.isPreview;
+ }
+
+ /**
+ * Set whether Kubernetes version is currently in preview.
+ *
+ * @param isPreview the isPreview value to set
+ * @return the AgentPoolUpgradeProfilePropertiesUpgradesItem object itself.
+ */
+ public AgentPoolUpgradeProfilePropertiesUpgradesItem withIsPreview(Boolean isPreview) {
+ this.isPreview = isPreview;
+ return this;
+ }
+
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/AgentPools.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/AgentPools.java
new file mode 100644
index 000000000000..7428e17148c3
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/AgentPools.java
@@ -0,0 +1,80 @@
+/**
+ * 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.containerservice.v2019_08_01;
+
+import com.microsoft.azure.arm.collection.SupportsCreating;
+import rx.Completable;
+import rx.Observable;
+import com.microsoft.azure.management.containerservice.v2019_08_01.implementation.AgentPoolsInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing AgentPools.
+ */
+public interface AgentPools extends SupportsCreating, HasInner {
+ /**
+ * Gets the agent pool.
+ * Gets the details of the agent pool by managed cluster and resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param agentPoolName The name of the agent pool.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getAsync(String resourceGroupName, String resourceName, String agentPoolName);
+
+ /**
+ * Gets a list of agent pools in the specified managed cluster.
+ * Gets a list of agent pools in the specified managed cluster. The operation returns properties of each agent pool.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listAsync(final String resourceGroupName, final String resourceName);
+
+ /**
+ * Deletes an agent pool.
+ * Deletes the agent pool in the specified managed cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param agentPoolName The name of the agent pool.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable deleteAsync(String resourceGroupName, String resourceName, String agentPoolName);
+
+ /**
+ * Gets upgrade profile for an agent pool.
+ * Gets the details of the upgrade profile for an agent pool with a specified resource group and managed cluster name.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param agentPoolName The name of the agent pool.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getUpgradeProfileAsync(String resourceGroupName, String resourceName, String agentPoolName);
+
+ /**
+ * Gets a list of supported versions for the specified agent pool.
+ * Gets a list of supported versions for the specified agent pool.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param agentPoolName The name of the agent pool.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getAvailableAgentPoolVersionsAsync(String resourceGroupName, String resourceName, String agentPoolName);
+
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ContainerService.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ContainerService.java
new file mode 100644
index 000000000000..2239d56b5e8e
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ContainerService.java
@@ -0,0 +1,270 @@
+/**
+ * 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.containerservice.v2019_08_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.Resource;
+import com.microsoft.azure.arm.resources.models.GroupableResourceCore;
+import com.microsoft.azure.arm.resources.models.HasResourceGroup;
+import com.microsoft.azure.arm.model.Refreshable;
+import com.microsoft.azure.arm.model.Updatable;
+import com.microsoft.azure.arm.model.Appliable;
+import com.microsoft.azure.arm.model.Creatable;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.containerservice.v2019_08_01.implementation.ContainerServiceManager;
+import java.util.List;
+import com.microsoft.azure.management.containerservice.v2019_08_01.implementation.ContainerServiceInner;
+
+/**
+ * Type representing ContainerService.
+ */
+public interface ContainerService extends HasInner, Resource, GroupableResourceCore, HasResourceGroup, Refreshable, Updatable, HasManager {
+ /**
+ * @return the agentPoolProfiles value.
+ */
+ List agentPoolProfiles();
+
+ /**
+ * @return the customProfile value.
+ */
+ ContainerServiceCustomProfile customProfile();
+
+ /**
+ * @return the diagnosticsProfile value.
+ */
+ ContainerServiceDiagnosticsProfile diagnosticsProfile();
+
+ /**
+ * @return the linuxProfile value.
+ */
+ ContainerServiceLinuxProfile linuxProfile();
+
+ /**
+ * @return the masterProfile value.
+ */
+ ContainerServiceMasterProfile masterProfile();
+
+ /**
+ * @return the orchestratorProfile value.
+ */
+ ContainerServiceOrchestratorProfile orchestratorProfile();
+
+ /**
+ * @return the provisioningState value.
+ */
+ String provisioningState();
+
+ /**
+ * @return the servicePrincipalProfile value.
+ */
+ ContainerServiceServicePrincipalProfile servicePrincipalProfile();
+
+ /**
+ * @return the windowsProfile value.
+ */
+ ContainerServiceWindowsProfile windowsProfile();
+
+ /**
+ * The entirety of the ContainerService definition.
+ */
+ interface Definition extends DefinitionStages.Blank, DefinitionStages.WithGroup, DefinitionStages.WithLinuxProfile, DefinitionStages.WithMasterProfile, DefinitionStages.WithOrchestratorProfile, DefinitionStages.WithCreate {
+ }
+
+ /**
+ * Grouping of ContainerService definition stages.
+ */
+ interface DefinitionStages {
+ /**
+ * The first stage of a ContainerService definition.
+ */
+ interface Blank extends GroupableResourceCore.DefinitionWithRegion {
+ }
+
+ /**
+ * The stage of the ContainerService definition allowing to specify the resource group.
+ */
+ interface WithGroup extends GroupableResourceCore.DefinitionStages.WithGroup {
+ }
+
+ /**
+ * The stage of the containerservice definition allowing to specify LinuxProfile.
+ */
+ interface WithLinuxProfile {
+ /**
+ * Specifies linuxProfile.
+ * @param linuxProfile Profile for Linux VMs in the container service cluster
+ * @return the next definition stage
+*/
+ WithMasterProfile withLinuxProfile(ContainerServiceLinuxProfile linuxProfile);
+ }
+
+ /**
+ * The stage of the containerservice definition allowing to specify MasterProfile.
+ */
+ interface WithMasterProfile {
+ /**
+ * Specifies masterProfile.
+ * @param masterProfile Profile for the container service master
+ * @return the next definition stage
+*/
+ WithOrchestratorProfile withMasterProfile(ContainerServiceMasterProfile masterProfile);
+ }
+
+ /**
+ * The stage of the containerservice definition allowing to specify OrchestratorProfile.
+ */
+ interface WithOrchestratorProfile {
+ /**
+ * Specifies orchestratorProfile.
+ * @param orchestratorProfile Profile for the container service orchestrator
+ * @return the next definition stage
+*/
+ WithCreate withOrchestratorProfile(ContainerServiceOrchestratorProfile orchestratorProfile);
+ }
+
+ /**
+ * The stage of the containerservice definition allowing to specify AgentPoolProfiles.
+ */
+ interface WithAgentPoolProfiles {
+ /**
+ * Specifies agentPoolProfiles.
+ * @param agentPoolProfiles Properties of the agent pool
+ * @return the next definition stage
+ */
+ WithCreate withAgentPoolProfiles(List agentPoolProfiles);
+ }
+
+ /**
+ * The stage of the containerservice definition allowing to specify CustomProfile.
+ */
+ interface WithCustomProfile {
+ /**
+ * Specifies customProfile.
+ * @param customProfile Properties to configure a custom container service cluster
+ * @return the next definition stage
+ */
+ WithCreate withCustomProfile(ContainerServiceCustomProfile customProfile);
+ }
+
+ /**
+ * The stage of the containerservice definition allowing to specify DiagnosticsProfile.
+ */
+ interface WithDiagnosticsProfile {
+ /**
+ * Specifies diagnosticsProfile.
+ * @param diagnosticsProfile Profile for diagnostics in the container service cluster
+ * @return the next definition stage
+ */
+ WithCreate withDiagnosticsProfile(ContainerServiceDiagnosticsProfile diagnosticsProfile);
+ }
+
+ /**
+ * The stage of the containerservice definition allowing to specify ServicePrincipalProfile.
+ */
+ interface WithServicePrincipalProfile {
+ /**
+ * Specifies servicePrincipalProfile.
+ * @param servicePrincipalProfile Information about a service principal identity for the cluster to use for manipulating Azure APIs. Exact one of secret or keyVaultSecretRef need to be specified
+ * @return the next definition stage
+ */
+ WithCreate withServicePrincipalProfile(ContainerServiceServicePrincipalProfile servicePrincipalProfile);
+ }
+
+ /**
+ * The stage of the containerservice definition allowing to specify WindowsProfile.
+ */
+ interface WithWindowsProfile {
+ /**
+ * Specifies windowsProfile.
+ * @param windowsProfile Profile for Windows VMs in the container service cluster
+ * @return the next definition stage
+ */
+ WithCreate withWindowsProfile(ContainerServiceWindowsProfile windowsProfile);
+ }
+
+ /**
+ * The stage of the definition which contains all the minimum required inputs for
+ * the resource to be created (via {@link WithCreate#create()}), but also allows
+ * for any other optional settings to be specified.
+ */
+ interface WithCreate extends Creatable, Resource.DefinitionWithTags, DefinitionStages.WithAgentPoolProfiles, DefinitionStages.WithCustomProfile, DefinitionStages.WithDiagnosticsProfile, DefinitionStages.WithServicePrincipalProfile, DefinitionStages.WithWindowsProfile {
+ }
+ }
+ /**
+ * The template for a ContainerService update operation, containing all the settings that can be modified.
+ */
+ interface Update extends Appliable, Resource.UpdateWithTags, UpdateStages.WithAgentPoolProfiles, UpdateStages.WithCustomProfile, UpdateStages.WithDiagnosticsProfile, UpdateStages.WithServicePrincipalProfile, UpdateStages.WithWindowsProfile {
+ }
+
+ /**
+ * Grouping of ContainerService update stages.
+ */
+ interface UpdateStages {
+ /**
+ * The stage of the containerservice update allowing to specify AgentPoolProfiles.
+ */
+ interface WithAgentPoolProfiles {
+ /**
+ * Specifies agentPoolProfiles.
+ * @param agentPoolProfiles Properties of the agent pool
+ * @return the next update stage
+ */
+ Update withAgentPoolProfiles(List agentPoolProfiles);
+ }
+
+ /**
+ * The stage of the containerservice update allowing to specify CustomProfile.
+ */
+ interface WithCustomProfile {
+ /**
+ * Specifies customProfile.
+ * @param customProfile Properties to configure a custom container service cluster
+ * @return the next update stage
+ */
+ Update withCustomProfile(ContainerServiceCustomProfile customProfile);
+ }
+
+ /**
+ * The stage of the containerservice update allowing to specify DiagnosticsProfile.
+ */
+ interface WithDiagnosticsProfile {
+ /**
+ * Specifies diagnosticsProfile.
+ * @param diagnosticsProfile Profile for diagnostics in the container service cluster
+ * @return the next update stage
+ */
+ Update withDiagnosticsProfile(ContainerServiceDiagnosticsProfile diagnosticsProfile);
+ }
+
+ /**
+ * The stage of the containerservice update allowing to specify ServicePrincipalProfile.
+ */
+ interface WithServicePrincipalProfile {
+ /**
+ * Specifies servicePrincipalProfile.
+ * @param servicePrincipalProfile Information about a service principal identity for the cluster to use for manipulating Azure APIs. Exact one of secret or keyVaultSecretRef need to be specified
+ * @return the next update stage
+ */
+ Update withServicePrincipalProfile(ContainerServiceServicePrincipalProfile servicePrincipalProfile);
+ }
+
+ /**
+ * The stage of the containerservice update allowing to specify WindowsProfile.
+ */
+ interface WithWindowsProfile {
+ /**
+ * Specifies windowsProfile.
+ * @param windowsProfile Profile for Windows VMs in the container service cluster
+ * @return the next update stage
+ */
+ Update withWindowsProfile(ContainerServiceWindowsProfile windowsProfile);
+ }
+
+ }
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ContainerServiceAgentPoolProfile.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ContainerServiceAgentPoolProfile.java
new file mode 100644
index 000000000000..458d166b2458
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ContainerServiceAgentPoolProfile.java
@@ -0,0 +1,327 @@
+/**
+ * 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.containerservice.v2019_08_01;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Profile for the container service agent pool.
+ */
+public class ContainerServiceAgentPoolProfile {
+ /**
+ * Unique name of the agent pool profile in the context of the subscription
+ * and resource group.
+ */
+ @JsonProperty(value = "name", required = true)
+ private String name;
+
+ /**
+ * Number of agents (VMs) to host docker containers. Allowed values must be
+ * in the range of 1 to 100 (inclusive). The default value is 1.
+ */
+ @JsonProperty(value = "count")
+ private Integer count;
+
+ /**
+ * Size of agent VMs. Possible values include: 'Standard_A1',
+ * 'Standard_A10', 'Standard_A11', 'Standard_A1_v2', 'Standard_A2',
+ * 'Standard_A2_v2', 'Standard_A2m_v2', 'Standard_A3', 'Standard_A4',
+ * 'Standard_A4_v2', 'Standard_A4m_v2', 'Standard_A5', 'Standard_A6',
+ * 'Standard_A7', 'Standard_A8', 'Standard_A8_v2', 'Standard_A8m_v2',
+ * 'Standard_A9', 'Standard_B2ms', 'Standard_B2s', 'Standard_B4ms',
+ * 'Standard_B8ms', 'Standard_D1', 'Standard_D11', 'Standard_D11_v2',
+ * 'Standard_D11_v2_Promo', 'Standard_D12', 'Standard_D12_v2',
+ * 'Standard_D12_v2_Promo', 'Standard_D13', 'Standard_D13_v2',
+ * 'Standard_D13_v2_Promo', 'Standard_D14', 'Standard_D14_v2',
+ * 'Standard_D14_v2_Promo', 'Standard_D15_v2', 'Standard_D16_v3',
+ * 'Standard_D16s_v3', 'Standard_D1_v2', 'Standard_D2', 'Standard_D2_v2',
+ * 'Standard_D2_v2_Promo', 'Standard_D2_v3', 'Standard_D2s_v3',
+ * 'Standard_D3', 'Standard_D32_v3', 'Standard_D32s_v3', 'Standard_D3_v2',
+ * 'Standard_D3_v2_Promo', 'Standard_D4', 'Standard_D4_v2',
+ * 'Standard_D4_v2_Promo', 'Standard_D4_v3', 'Standard_D4s_v3',
+ * 'Standard_D5_v2', 'Standard_D5_v2_Promo', 'Standard_D64_v3',
+ * 'Standard_D64s_v3', 'Standard_D8_v3', 'Standard_D8s_v3', 'Standard_DS1',
+ * 'Standard_DS11', 'Standard_DS11_v2', 'Standard_DS11_v2_Promo',
+ * 'Standard_DS12', 'Standard_DS12_v2', 'Standard_DS12_v2_Promo',
+ * 'Standard_DS13', 'Standard_DS13-2_v2', 'Standard_DS13-4_v2',
+ * 'Standard_DS13_v2', 'Standard_DS13_v2_Promo', 'Standard_DS14',
+ * 'Standard_DS14-4_v2', 'Standard_DS14-8_v2', 'Standard_DS14_v2',
+ * 'Standard_DS14_v2_Promo', 'Standard_DS15_v2', 'Standard_DS1_v2',
+ * 'Standard_DS2', 'Standard_DS2_v2', 'Standard_DS2_v2_Promo',
+ * 'Standard_DS3', 'Standard_DS3_v2', 'Standard_DS3_v2_Promo',
+ * 'Standard_DS4', 'Standard_DS4_v2', 'Standard_DS4_v2_Promo',
+ * 'Standard_DS5_v2', 'Standard_DS5_v2_Promo', 'Standard_E16_v3',
+ * 'Standard_E16s_v3', 'Standard_E2_v3', 'Standard_E2s_v3',
+ * 'Standard_E32-16s_v3', 'Standard_E32-8s_v3', 'Standard_E32_v3',
+ * 'Standard_E32s_v3', 'Standard_E4_v3', 'Standard_E4s_v3',
+ * 'Standard_E64-16s_v3', 'Standard_E64-32s_v3', 'Standard_E64_v3',
+ * 'Standard_E64s_v3', 'Standard_E8_v3', 'Standard_E8s_v3', 'Standard_F1',
+ * 'Standard_F16', 'Standard_F16s', 'Standard_F16s_v2', 'Standard_F1s',
+ * 'Standard_F2', 'Standard_F2s', 'Standard_F2s_v2', 'Standard_F32s_v2',
+ * 'Standard_F4', 'Standard_F4s', 'Standard_F4s_v2', 'Standard_F64s_v2',
+ * 'Standard_F72s_v2', 'Standard_F8', 'Standard_F8s', 'Standard_F8s_v2',
+ * 'Standard_G1', 'Standard_G2', 'Standard_G3', 'Standard_G4',
+ * 'Standard_G5', 'Standard_GS1', 'Standard_GS2', 'Standard_GS3',
+ * 'Standard_GS4', 'Standard_GS4-4', 'Standard_GS4-8', 'Standard_GS5',
+ * 'Standard_GS5-16', 'Standard_GS5-8', 'Standard_H16', 'Standard_H16m',
+ * 'Standard_H16mr', 'Standard_H16r', 'Standard_H8', 'Standard_H8m',
+ * 'Standard_L16s', 'Standard_L32s', 'Standard_L4s', 'Standard_L8s',
+ * 'Standard_M128-32ms', 'Standard_M128-64ms', 'Standard_M128ms',
+ * 'Standard_M128s', 'Standard_M64-16ms', 'Standard_M64-32ms',
+ * 'Standard_M64ms', 'Standard_M64s', 'Standard_NC12', 'Standard_NC12s_v2',
+ * 'Standard_NC12s_v3', 'Standard_NC24', 'Standard_NC24r',
+ * 'Standard_NC24rs_v2', 'Standard_NC24rs_v3', 'Standard_NC24s_v2',
+ * 'Standard_NC24s_v3', 'Standard_NC6', 'Standard_NC6s_v2',
+ * 'Standard_NC6s_v3', 'Standard_ND12s', 'Standard_ND24rs',
+ * 'Standard_ND24s', 'Standard_ND6s', 'Standard_NV12', 'Standard_NV24',
+ * 'Standard_NV6'.
+ */
+ @JsonProperty(value = "vmSize", required = true)
+ private ContainerServiceVMSizeTypes vmSize;
+
+ /**
+ * OS Disk Size in GB to be used to specify the disk size for every machine
+ * in this master/agent pool. If you specify 0, it will apply the default
+ * osDisk size according to the vmSize specified.
+ */
+ @JsonProperty(value = "osDiskSizeGB")
+ private Integer osDiskSizeGB;
+
+ /**
+ * DNS prefix to be used to create the FQDN for the agent pool.
+ */
+ @JsonProperty(value = "dnsPrefix")
+ private String dnsPrefix;
+
+ /**
+ * FQDN for the agent pool.
+ */
+ @JsonProperty(value = "fqdn", access = JsonProperty.Access.WRITE_ONLY)
+ private String fqdn;
+
+ /**
+ * Ports number array used to expose on this agent pool. The default opened
+ * ports are different based on your choice of orchestrator.
+ */
+ @JsonProperty(value = "ports")
+ private List ports;
+
+ /**
+ * Storage profile specifies what kind of storage used. Choose from
+ * StorageAccount and ManagedDisks. Leave it empty, we will choose for you
+ * based on the orchestrator choice. Possible values include:
+ * 'StorageAccount', 'ManagedDisks'.
+ */
+ @JsonProperty(value = "storageProfile")
+ private ContainerServiceStorageProfileTypes storageProfile;
+
+ /**
+ * VNet SubnetID specifies the VNet's subnet identifier.
+ */
+ @JsonProperty(value = "vnetSubnetID")
+ private String vnetSubnetID;
+
+ /**
+ * OsType to be used to specify os type. Choose from Linux and Windows.
+ * Default to Linux. Possible values include: 'Linux', 'Windows'.
+ */
+ @JsonProperty(value = "osType")
+ private OSType osType;
+
+ /**
+ * Get unique name of the agent pool profile in the context of the subscription and resource group.
+ *
+ * @return the name value
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set unique name of the agent pool profile in the context of the subscription and resource group.
+ *
+ * @param name the name value to set
+ * @return the ContainerServiceAgentPoolProfile object itself.
+ */
+ public ContainerServiceAgentPoolProfile withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get number of agents (VMs) to host docker containers. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1.
+ *
+ * @return the count value
+ */
+ public Integer count() {
+ return this.count;
+ }
+
+ /**
+ * Set number of agents (VMs) to host docker containers. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1.
+ *
+ * @param count the count value to set
+ * @return the ContainerServiceAgentPoolProfile object itself.
+ */
+ public ContainerServiceAgentPoolProfile withCount(Integer count) {
+ this.count = count;
+ return this;
+ }
+
+ /**
+ * Get size of agent VMs. Possible values include: 'Standard_A1', 'Standard_A10', 'Standard_A11', 'Standard_A1_v2', 'Standard_A2', 'Standard_A2_v2', 'Standard_A2m_v2', 'Standard_A3', 'Standard_A4', 'Standard_A4_v2', 'Standard_A4m_v2', 'Standard_A5', 'Standard_A6', 'Standard_A7', 'Standard_A8', 'Standard_A8_v2', 'Standard_A8m_v2', 'Standard_A9', 'Standard_B2ms', 'Standard_B2s', 'Standard_B4ms', 'Standard_B8ms', 'Standard_D1', 'Standard_D11', 'Standard_D11_v2', 'Standard_D11_v2_Promo', 'Standard_D12', 'Standard_D12_v2', 'Standard_D12_v2_Promo', 'Standard_D13', 'Standard_D13_v2', 'Standard_D13_v2_Promo', 'Standard_D14', 'Standard_D14_v2', 'Standard_D14_v2_Promo', 'Standard_D15_v2', 'Standard_D16_v3', 'Standard_D16s_v3', 'Standard_D1_v2', 'Standard_D2', 'Standard_D2_v2', 'Standard_D2_v2_Promo', 'Standard_D2_v3', 'Standard_D2s_v3', 'Standard_D3', 'Standard_D32_v3', 'Standard_D32s_v3', 'Standard_D3_v2', 'Standard_D3_v2_Promo', 'Standard_D4', 'Standard_D4_v2', 'Standard_D4_v2_Promo', 'Standard_D4_v3', 'Standard_D4s_v3', 'Standard_D5_v2', 'Standard_D5_v2_Promo', 'Standard_D64_v3', 'Standard_D64s_v3', 'Standard_D8_v3', 'Standard_D8s_v3', 'Standard_DS1', 'Standard_DS11', 'Standard_DS11_v2', 'Standard_DS11_v2_Promo', 'Standard_DS12', 'Standard_DS12_v2', 'Standard_DS12_v2_Promo', 'Standard_DS13', 'Standard_DS13-2_v2', 'Standard_DS13-4_v2', 'Standard_DS13_v2', 'Standard_DS13_v2_Promo', 'Standard_DS14', 'Standard_DS14-4_v2', 'Standard_DS14-8_v2', 'Standard_DS14_v2', 'Standard_DS14_v2_Promo', 'Standard_DS15_v2', 'Standard_DS1_v2', 'Standard_DS2', 'Standard_DS2_v2', 'Standard_DS2_v2_Promo', 'Standard_DS3', 'Standard_DS3_v2', 'Standard_DS3_v2_Promo', 'Standard_DS4', 'Standard_DS4_v2', 'Standard_DS4_v2_Promo', 'Standard_DS5_v2', 'Standard_DS5_v2_Promo', 'Standard_E16_v3', 'Standard_E16s_v3', 'Standard_E2_v3', 'Standard_E2s_v3', 'Standard_E32-16s_v3', 'Standard_E32-8s_v3', 'Standard_E32_v3', 'Standard_E32s_v3', 'Standard_E4_v3', 'Standard_E4s_v3', 'Standard_E64-16s_v3', 'Standard_E64-32s_v3', 'Standard_E64_v3', 'Standard_E64s_v3', 'Standard_E8_v3', 'Standard_E8s_v3', 'Standard_F1', 'Standard_F16', 'Standard_F16s', 'Standard_F16s_v2', 'Standard_F1s', 'Standard_F2', 'Standard_F2s', 'Standard_F2s_v2', 'Standard_F32s_v2', 'Standard_F4', 'Standard_F4s', 'Standard_F4s_v2', 'Standard_F64s_v2', 'Standard_F72s_v2', 'Standard_F8', 'Standard_F8s', 'Standard_F8s_v2', 'Standard_G1', 'Standard_G2', 'Standard_G3', 'Standard_G4', 'Standard_G5', 'Standard_GS1', 'Standard_GS2', 'Standard_GS3', 'Standard_GS4', 'Standard_GS4-4', 'Standard_GS4-8', 'Standard_GS5', 'Standard_GS5-16', 'Standard_GS5-8', 'Standard_H16', 'Standard_H16m', 'Standard_H16mr', 'Standard_H16r', 'Standard_H8', 'Standard_H8m', 'Standard_L16s', 'Standard_L32s', 'Standard_L4s', 'Standard_L8s', 'Standard_M128-32ms', 'Standard_M128-64ms', 'Standard_M128ms', 'Standard_M128s', 'Standard_M64-16ms', 'Standard_M64-32ms', 'Standard_M64ms', 'Standard_M64s', 'Standard_NC12', 'Standard_NC12s_v2', 'Standard_NC12s_v3', 'Standard_NC24', 'Standard_NC24r', 'Standard_NC24rs_v2', 'Standard_NC24rs_v3', 'Standard_NC24s_v2', 'Standard_NC24s_v3', 'Standard_NC6', 'Standard_NC6s_v2', 'Standard_NC6s_v3', 'Standard_ND12s', 'Standard_ND24rs', 'Standard_ND24s', 'Standard_ND6s', 'Standard_NV12', 'Standard_NV24', 'Standard_NV6'.
+ *
+ * @return the vmSize value
+ */
+ public ContainerServiceVMSizeTypes vmSize() {
+ return this.vmSize;
+ }
+
+ /**
+ * Set size of agent VMs. Possible values include: 'Standard_A1', 'Standard_A10', 'Standard_A11', 'Standard_A1_v2', 'Standard_A2', 'Standard_A2_v2', 'Standard_A2m_v2', 'Standard_A3', 'Standard_A4', 'Standard_A4_v2', 'Standard_A4m_v2', 'Standard_A5', 'Standard_A6', 'Standard_A7', 'Standard_A8', 'Standard_A8_v2', 'Standard_A8m_v2', 'Standard_A9', 'Standard_B2ms', 'Standard_B2s', 'Standard_B4ms', 'Standard_B8ms', 'Standard_D1', 'Standard_D11', 'Standard_D11_v2', 'Standard_D11_v2_Promo', 'Standard_D12', 'Standard_D12_v2', 'Standard_D12_v2_Promo', 'Standard_D13', 'Standard_D13_v2', 'Standard_D13_v2_Promo', 'Standard_D14', 'Standard_D14_v2', 'Standard_D14_v2_Promo', 'Standard_D15_v2', 'Standard_D16_v3', 'Standard_D16s_v3', 'Standard_D1_v2', 'Standard_D2', 'Standard_D2_v2', 'Standard_D2_v2_Promo', 'Standard_D2_v3', 'Standard_D2s_v3', 'Standard_D3', 'Standard_D32_v3', 'Standard_D32s_v3', 'Standard_D3_v2', 'Standard_D3_v2_Promo', 'Standard_D4', 'Standard_D4_v2', 'Standard_D4_v2_Promo', 'Standard_D4_v3', 'Standard_D4s_v3', 'Standard_D5_v2', 'Standard_D5_v2_Promo', 'Standard_D64_v3', 'Standard_D64s_v3', 'Standard_D8_v3', 'Standard_D8s_v3', 'Standard_DS1', 'Standard_DS11', 'Standard_DS11_v2', 'Standard_DS11_v2_Promo', 'Standard_DS12', 'Standard_DS12_v2', 'Standard_DS12_v2_Promo', 'Standard_DS13', 'Standard_DS13-2_v2', 'Standard_DS13-4_v2', 'Standard_DS13_v2', 'Standard_DS13_v2_Promo', 'Standard_DS14', 'Standard_DS14-4_v2', 'Standard_DS14-8_v2', 'Standard_DS14_v2', 'Standard_DS14_v2_Promo', 'Standard_DS15_v2', 'Standard_DS1_v2', 'Standard_DS2', 'Standard_DS2_v2', 'Standard_DS2_v2_Promo', 'Standard_DS3', 'Standard_DS3_v2', 'Standard_DS3_v2_Promo', 'Standard_DS4', 'Standard_DS4_v2', 'Standard_DS4_v2_Promo', 'Standard_DS5_v2', 'Standard_DS5_v2_Promo', 'Standard_E16_v3', 'Standard_E16s_v3', 'Standard_E2_v3', 'Standard_E2s_v3', 'Standard_E32-16s_v3', 'Standard_E32-8s_v3', 'Standard_E32_v3', 'Standard_E32s_v3', 'Standard_E4_v3', 'Standard_E4s_v3', 'Standard_E64-16s_v3', 'Standard_E64-32s_v3', 'Standard_E64_v3', 'Standard_E64s_v3', 'Standard_E8_v3', 'Standard_E8s_v3', 'Standard_F1', 'Standard_F16', 'Standard_F16s', 'Standard_F16s_v2', 'Standard_F1s', 'Standard_F2', 'Standard_F2s', 'Standard_F2s_v2', 'Standard_F32s_v2', 'Standard_F4', 'Standard_F4s', 'Standard_F4s_v2', 'Standard_F64s_v2', 'Standard_F72s_v2', 'Standard_F8', 'Standard_F8s', 'Standard_F8s_v2', 'Standard_G1', 'Standard_G2', 'Standard_G3', 'Standard_G4', 'Standard_G5', 'Standard_GS1', 'Standard_GS2', 'Standard_GS3', 'Standard_GS4', 'Standard_GS4-4', 'Standard_GS4-8', 'Standard_GS5', 'Standard_GS5-16', 'Standard_GS5-8', 'Standard_H16', 'Standard_H16m', 'Standard_H16mr', 'Standard_H16r', 'Standard_H8', 'Standard_H8m', 'Standard_L16s', 'Standard_L32s', 'Standard_L4s', 'Standard_L8s', 'Standard_M128-32ms', 'Standard_M128-64ms', 'Standard_M128ms', 'Standard_M128s', 'Standard_M64-16ms', 'Standard_M64-32ms', 'Standard_M64ms', 'Standard_M64s', 'Standard_NC12', 'Standard_NC12s_v2', 'Standard_NC12s_v3', 'Standard_NC24', 'Standard_NC24r', 'Standard_NC24rs_v2', 'Standard_NC24rs_v3', 'Standard_NC24s_v2', 'Standard_NC24s_v3', 'Standard_NC6', 'Standard_NC6s_v2', 'Standard_NC6s_v3', 'Standard_ND12s', 'Standard_ND24rs', 'Standard_ND24s', 'Standard_ND6s', 'Standard_NV12', 'Standard_NV24', 'Standard_NV6'.
+ *
+ * @param vmSize the vmSize value to set
+ * @return the ContainerServiceAgentPoolProfile object itself.
+ */
+ public ContainerServiceAgentPoolProfile withVmSize(ContainerServiceVMSizeTypes vmSize) {
+ this.vmSize = vmSize;
+ return this;
+ }
+
+ /**
+ * Get oS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified.
+ *
+ * @return the osDiskSizeGB value
+ */
+ public Integer osDiskSizeGB() {
+ return this.osDiskSizeGB;
+ }
+
+ /**
+ * Set oS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified.
+ *
+ * @param osDiskSizeGB the osDiskSizeGB value to set
+ * @return the ContainerServiceAgentPoolProfile object itself.
+ */
+ public ContainerServiceAgentPoolProfile withOsDiskSizeGB(Integer osDiskSizeGB) {
+ this.osDiskSizeGB = osDiskSizeGB;
+ return this;
+ }
+
+ /**
+ * Get dNS prefix to be used to create the FQDN for the agent pool.
+ *
+ * @return the dnsPrefix value
+ */
+ public String dnsPrefix() {
+ return this.dnsPrefix;
+ }
+
+ /**
+ * Set dNS prefix to be used to create the FQDN for the agent pool.
+ *
+ * @param dnsPrefix the dnsPrefix value to set
+ * @return the ContainerServiceAgentPoolProfile object itself.
+ */
+ public ContainerServiceAgentPoolProfile withDnsPrefix(String dnsPrefix) {
+ this.dnsPrefix = dnsPrefix;
+ return this;
+ }
+
+ /**
+ * Get fQDN for the agent pool.
+ *
+ * @return the fqdn value
+ */
+ public String fqdn() {
+ return this.fqdn;
+ }
+
+ /**
+ * Get ports number array used to expose on this agent pool. The default opened ports are different based on your choice of orchestrator.
+ *
+ * @return the ports value
+ */
+ public List ports() {
+ return this.ports;
+ }
+
+ /**
+ * Set ports number array used to expose on this agent pool. The default opened ports are different based on your choice of orchestrator.
+ *
+ * @param ports the ports value to set
+ * @return the ContainerServiceAgentPoolProfile object itself.
+ */
+ public ContainerServiceAgentPoolProfile withPorts(List ports) {
+ this.ports = ports;
+ return this;
+ }
+
+ /**
+ * Get storage profile specifies what kind of storage used. Choose from StorageAccount and ManagedDisks. Leave it empty, we will choose for you based on the orchestrator choice. Possible values include: 'StorageAccount', 'ManagedDisks'.
+ *
+ * @return the storageProfile value
+ */
+ public ContainerServiceStorageProfileTypes storageProfile() {
+ return this.storageProfile;
+ }
+
+ /**
+ * Set storage profile specifies what kind of storage used. Choose from StorageAccount and ManagedDisks. Leave it empty, we will choose for you based on the orchestrator choice. Possible values include: 'StorageAccount', 'ManagedDisks'.
+ *
+ * @param storageProfile the storageProfile value to set
+ * @return the ContainerServiceAgentPoolProfile object itself.
+ */
+ public ContainerServiceAgentPoolProfile withStorageProfile(ContainerServiceStorageProfileTypes storageProfile) {
+ this.storageProfile = storageProfile;
+ return this;
+ }
+
+ /**
+ * Get vNet SubnetID specifies the VNet's subnet identifier.
+ *
+ * @return the vnetSubnetID value
+ */
+ public String vnetSubnetID() {
+ return this.vnetSubnetID;
+ }
+
+ /**
+ * Set vNet SubnetID specifies the VNet's subnet identifier.
+ *
+ * @param vnetSubnetID the vnetSubnetID value to set
+ * @return the ContainerServiceAgentPoolProfile object itself.
+ */
+ public ContainerServiceAgentPoolProfile withVnetSubnetID(String vnetSubnetID) {
+ this.vnetSubnetID = vnetSubnetID;
+ return this;
+ }
+
+ /**
+ * Get osType to be used to specify os type. Choose from Linux and Windows. Default to Linux. Possible values include: 'Linux', 'Windows'.
+ *
+ * @return the osType value
+ */
+ public OSType osType() {
+ return this.osType;
+ }
+
+ /**
+ * Set osType to be used to specify os type. Choose from Linux and Windows. Default to Linux. Possible values include: 'Linux', 'Windows'.
+ *
+ * @param osType the osType value to set
+ * @return the ContainerServiceAgentPoolProfile object itself.
+ */
+ public ContainerServiceAgentPoolProfile withOsType(OSType osType) {
+ this.osType = osType;
+ return this;
+ }
+
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ContainerServiceCustomProfile.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ContainerServiceCustomProfile.java
new file mode 100644
index 000000000000..5166dd87aa88
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ContainerServiceCustomProfile.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.containerservice.v2019_08_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Properties to configure a custom container service cluster.
+ */
+public class ContainerServiceCustomProfile {
+ /**
+ * The name of the custom orchestrator to use.
+ */
+ @JsonProperty(value = "orchestrator", required = true)
+ private String orchestrator;
+
+ /**
+ * Get the name of the custom orchestrator to use.
+ *
+ * @return the orchestrator value
+ */
+ public String orchestrator() {
+ return this.orchestrator;
+ }
+
+ /**
+ * Set the name of the custom orchestrator to use.
+ *
+ * @param orchestrator the orchestrator value to set
+ * @return the ContainerServiceCustomProfile object itself.
+ */
+ public ContainerServiceCustomProfile withOrchestrator(String orchestrator) {
+ this.orchestrator = orchestrator;
+ return this;
+ }
+
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ContainerServiceDiagnosticsProfile.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ContainerServiceDiagnosticsProfile.java
new file mode 100644
index 000000000000..bfe6b2dc0a74
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ContainerServiceDiagnosticsProfile.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.containerservice.v2019_08_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Profile for diagnostics on the container service cluster.
+ */
+public class ContainerServiceDiagnosticsProfile {
+ /**
+ * Profile for diagnostics on the container service VMs.
+ */
+ @JsonProperty(value = "vmDiagnostics", required = true)
+ private ContainerServiceVMDiagnostics vmDiagnostics;
+
+ /**
+ * Get profile for diagnostics on the container service VMs.
+ *
+ * @return the vmDiagnostics value
+ */
+ public ContainerServiceVMDiagnostics vmDiagnostics() {
+ return this.vmDiagnostics;
+ }
+
+ /**
+ * Set profile for diagnostics on the container service VMs.
+ *
+ * @param vmDiagnostics the vmDiagnostics value to set
+ * @return the ContainerServiceDiagnosticsProfile object itself.
+ */
+ public ContainerServiceDiagnosticsProfile withVmDiagnostics(ContainerServiceVMDiagnostics vmDiagnostics) {
+ this.vmDiagnostics = vmDiagnostics;
+ return this;
+ }
+
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ContainerServiceLinuxProfile.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ContainerServiceLinuxProfile.java
new file mode 100644
index 000000000000..4eb352b2e916
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ContainerServiceLinuxProfile.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.containerservice.v2019_08_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Profile for Linux VMs in the container service cluster.
+ */
+public class ContainerServiceLinuxProfile {
+ /**
+ * The administrator username to use for Linux VMs.
+ */
+ @JsonProperty(value = "adminUsername", required = true)
+ private String adminUsername;
+
+ /**
+ * SSH configuration for Linux-based VMs running on Azure.
+ */
+ @JsonProperty(value = "ssh", required = true)
+ private ContainerServiceSshConfiguration ssh;
+
+ /**
+ * Get the administrator username to use for Linux VMs.
+ *
+ * @return the adminUsername value
+ */
+ public String adminUsername() {
+ return this.adminUsername;
+ }
+
+ /**
+ * Set the administrator username to use for Linux VMs.
+ *
+ * @param adminUsername the adminUsername value to set
+ * @return the ContainerServiceLinuxProfile object itself.
+ */
+ public ContainerServiceLinuxProfile withAdminUsername(String adminUsername) {
+ this.adminUsername = adminUsername;
+ return this;
+ }
+
+ /**
+ * Get sSH configuration for Linux-based VMs running on Azure.
+ *
+ * @return the ssh value
+ */
+ public ContainerServiceSshConfiguration ssh() {
+ return this.ssh;
+ }
+
+ /**
+ * Set sSH configuration for Linux-based VMs running on Azure.
+ *
+ * @param ssh the ssh value to set
+ * @return the ContainerServiceLinuxProfile object itself.
+ */
+ public ContainerServiceLinuxProfile withSsh(ContainerServiceSshConfiguration ssh) {
+ this.ssh = ssh;
+ return this;
+ }
+
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ContainerServiceMasterProfile.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ContainerServiceMasterProfile.java
new file mode 100644
index 000000000000..e249782148dc
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ContainerServiceMasterProfile.java
@@ -0,0 +1,271 @@
+/**
+ * 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.containerservice.v2019_08_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Profile for the container service master.
+ */
+public class ContainerServiceMasterProfile {
+ /**
+ * Number of masters (VMs) in the container service cluster. Allowed values
+ * are 1, 3, and 5. The default value is 1.
+ */
+ @JsonProperty(value = "count")
+ private Integer count;
+
+ /**
+ * DNS prefix to be used to create the FQDN for the master pool.
+ */
+ @JsonProperty(value = "dnsPrefix", required = true)
+ private String dnsPrefix;
+
+ /**
+ * Size of agent VMs. Possible values include: 'Standard_A1',
+ * 'Standard_A10', 'Standard_A11', 'Standard_A1_v2', 'Standard_A2',
+ * 'Standard_A2_v2', 'Standard_A2m_v2', 'Standard_A3', 'Standard_A4',
+ * 'Standard_A4_v2', 'Standard_A4m_v2', 'Standard_A5', 'Standard_A6',
+ * 'Standard_A7', 'Standard_A8', 'Standard_A8_v2', 'Standard_A8m_v2',
+ * 'Standard_A9', 'Standard_B2ms', 'Standard_B2s', 'Standard_B4ms',
+ * 'Standard_B8ms', 'Standard_D1', 'Standard_D11', 'Standard_D11_v2',
+ * 'Standard_D11_v2_Promo', 'Standard_D12', 'Standard_D12_v2',
+ * 'Standard_D12_v2_Promo', 'Standard_D13', 'Standard_D13_v2',
+ * 'Standard_D13_v2_Promo', 'Standard_D14', 'Standard_D14_v2',
+ * 'Standard_D14_v2_Promo', 'Standard_D15_v2', 'Standard_D16_v3',
+ * 'Standard_D16s_v3', 'Standard_D1_v2', 'Standard_D2', 'Standard_D2_v2',
+ * 'Standard_D2_v2_Promo', 'Standard_D2_v3', 'Standard_D2s_v3',
+ * 'Standard_D3', 'Standard_D32_v3', 'Standard_D32s_v3', 'Standard_D3_v2',
+ * 'Standard_D3_v2_Promo', 'Standard_D4', 'Standard_D4_v2',
+ * 'Standard_D4_v2_Promo', 'Standard_D4_v3', 'Standard_D4s_v3',
+ * 'Standard_D5_v2', 'Standard_D5_v2_Promo', 'Standard_D64_v3',
+ * 'Standard_D64s_v3', 'Standard_D8_v3', 'Standard_D8s_v3', 'Standard_DS1',
+ * 'Standard_DS11', 'Standard_DS11_v2', 'Standard_DS11_v2_Promo',
+ * 'Standard_DS12', 'Standard_DS12_v2', 'Standard_DS12_v2_Promo',
+ * 'Standard_DS13', 'Standard_DS13-2_v2', 'Standard_DS13-4_v2',
+ * 'Standard_DS13_v2', 'Standard_DS13_v2_Promo', 'Standard_DS14',
+ * 'Standard_DS14-4_v2', 'Standard_DS14-8_v2', 'Standard_DS14_v2',
+ * 'Standard_DS14_v2_Promo', 'Standard_DS15_v2', 'Standard_DS1_v2',
+ * 'Standard_DS2', 'Standard_DS2_v2', 'Standard_DS2_v2_Promo',
+ * 'Standard_DS3', 'Standard_DS3_v2', 'Standard_DS3_v2_Promo',
+ * 'Standard_DS4', 'Standard_DS4_v2', 'Standard_DS4_v2_Promo',
+ * 'Standard_DS5_v2', 'Standard_DS5_v2_Promo', 'Standard_E16_v3',
+ * 'Standard_E16s_v3', 'Standard_E2_v3', 'Standard_E2s_v3',
+ * 'Standard_E32-16s_v3', 'Standard_E32-8s_v3', 'Standard_E32_v3',
+ * 'Standard_E32s_v3', 'Standard_E4_v3', 'Standard_E4s_v3',
+ * 'Standard_E64-16s_v3', 'Standard_E64-32s_v3', 'Standard_E64_v3',
+ * 'Standard_E64s_v3', 'Standard_E8_v3', 'Standard_E8s_v3', 'Standard_F1',
+ * 'Standard_F16', 'Standard_F16s', 'Standard_F16s_v2', 'Standard_F1s',
+ * 'Standard_F2', 'Standard_F2s', 'Standard_F2s_v2', 'Standard_F32s_v2',
+ * 'Standard_F4', 'Standard_F4s', 'Standard_F4s_v2', 'Standard_F64s_v2',
+ * 'Standard_F72s_v2', 'Standard_F8', 'Standard_F8s', 'Standard_F8s_v2',
+ * 'Standard_G1', 'Standard_G2', 'Standard_G3', 'Standard_G4',
+ * 'Standard_G5', 'Standard_GS1', 'Standard_GS2', 'Standard_GS3',
+ * 'Standard_GS4', 'Standard_GS4-4', 'Standard_GS4-8', 'Standard_GS5',
+ * 'Standard_GS5-16', 'Standard_GS5-8', 'Standard_H16', 'Standard_H16m',
+ * 'Standard_H16mr', 'Standard_H16r', 'Standard_H8', 'Standard_H8m',
+ * 'Standard_L16s', 'Standard_L32s', 'Standard_L4s', 'Standard_L8s',
+ * 'Standard_M128-32ms', 'Standard_M128-64ms', 'Standard_M128ms',
+ * 'Standard_M128s', 'Standard_M64-16ms', 'Standard_M64-32ms',
+ * 'Standard_M64ms', 'Standard_M64s', 'Standard_NC12', 'Standard_NC12s_v2',
+ * 'Standard_NC12s_v3', 'Standard_NC24', 'Standard_NC24r',
+ * 'Standard_NC24rs_v2', 'Standard_NC24rs_v3', 'Standard_NC24s_v2',
+ * 'Standard_NC24s_v3', 'Standard_NC6', 'Standard_NC6s_v2',
+ * 'Standard_NC6s_v3', 'Standard_ND12s', 'Standard_ND24rs',
+ * 'Standard_ND24s', 'Standard_ND6s', 'Standard_NV12', 'Standard_NV24',
+ * 'Standard_NV6'.
+ */
+ @JsonProperty(value = "vmSize", required = true)
+ private ContainerServiceVMSizeTypes vmSize;
+
+ /**
+ * OS Disk Size in GB to be used to specify the disk size for every machine
+ * in this master/agent pool. If you specify 0, it will apply the default
+ * osDisk size according to the vmSize specified.
+ */
+ @JsonProperty(value = "osDiskSizeGB")
+ private Integer osDiskSizeGB;
+
+ /**
+ * VNet SubnetID specifies the VNet's subnet identifier.
+ */
+ @JsonProperty(value = "vnetSubnetID")
+ private String vnetSubnetID;
+
+ /**
+ * FirstConsecutiveStaticIP used to specify the first static ip of masters.
+ */
+ @JsonProperty(value = "firstConsecutiveStaticIP")
+ private String firstConsecutiveStaticIP;
+
+ /**
+ * Storage profile specifies what kind of storage used. Choose from
+ * StorageAccount and ManagedDisks. Leave it empty, we will choose for you
+ * based on the orchestrator choice. Possible values include:
+ * 'StorageAccount', 'ManagedDisks'.
+ */
+ @JsonProperty(value = "storageProfile")
+ private ContainerServiceStorageProfileTypes storageProfile;
+
+ /**
+ * FQDN for the master pool.
+ */
+ @JsonProperty(value = "fqdn", access = JsonProperty.Access.WRITE_ONLY)
+ private String fqdn;
+
+ /**
+ * Get number of masters (VMs) in the container service cluster. Allowed values are 1, 3, and 5. The default value is 1.
+ *
+ * @return the count value
+ */
+ public Integer count() {
+ return this.count;
+ }
+
+ /**
+ * Set number of masters (VMs) in the container service cluster. Allowed values are 1, 3, and 5. The default value is 1.
+ *
+ * @param count the count value to set
+ * @return the ContainerServiceMasterProfile object itself.
+ */
+ public ContainerServiceMasterProfile withCount(Integer count) {
+ this.count = count;
+ return this;
+ }
+
+ /**
+ * Get dNS prefix to be used to create the FQDN for the master pool.
+ *
+ * @return the dnsPrefix value
+ */
+ public String dnsPrefix() {
+ return this.dnsPrefix;
+ }
+
+ /**
+ * Set dNS prefix to be used to create the FQDN for the master pool.
+ *
+ * @param dnsPrefix the dnsPrefix value to set
+ * @return the ContainerServiceMasterProfile object itself.
+ */
+ public ContainerServiceMasterProfile withDnsPrefix(String dnsPrefix) {
+ this.dnsPrefix = dnsPrefix;
+ return this;
+ }
+
+ /**
+ * Get size of agent VMs. Possible values include: 'Standard_A1', 'Standard_A10', 'Standard_A11', 'Standard_A1_v2', 'Standard_A2', 'Standard_A2_v2', 'Standard_A2m_v2', 'Standard_A3', 'Standard_A4', 'Standard_A4_v2', 'Standard_A4m_v2', 'Standard_A5', 'Standard_A6', 'Standard_A7', 'Standard_A8', 'Standard_A8_v2', 'Standard_A8m_v2', 'Standard_A9', 'Standard_B2ms', 'Standard_B2s', 'Standard_B4ms', 'Standard_B8ms', 'Standard_D1', 'Standard_D11', 'Standard_D11_v2', 'Standard_D11_v2_Promo', 'Standard_D12', 'Standard_D12_v2', 'Standard_D12_v2_Promo', 'Standard_D13', 'Standard_D13_v2', 'Standard_D13_v2_Promo', 'Standard_D14', 'Standard_D14_v2', 'Standard_D14_v2_Promo', 'Standard_D15_v2', 'Standard_D16_v3', 'Standard_D16s_v3', 'Standard_D1_v2', 'Standard_D2', 'Standard_D2_v2', 'Standard_D2_v2_Promo', 'Standard_D2_v3', 'Standard_D2s_v3', 'Standard_D3', 'Standard_D32_v3', 'Standard_D32s_v3', 'Standard_D3_v2', 'Standard_D3_v2_Promo', 'Standard_D4', 'Standard_D4_v2', 'Standard_D4_v2_Promo', 'Standard_D4_v3', 'Standard_D4s_v3', 'Standard_D5_v2', 'Standard_D5_v2_Promo', 'Standard_D64_v3', 'Standard_D64s_v3', 'Standard_D8_v3', 'Standard_D8s_v3', 'Standard_DS1', 'Standard_DS11', 'Standard_DS11_v2', 'Standard_DS11_v2_Promo', 'Standard_DS12', 'Standard_DS12_v2', 'Standard_DS12_v2_Promo', 'Standard_DS13', 'Standard_DS13-2_v2', 'Standard_DS13-4_v2', 'Standard_DS13_v2', 'Standard_DS13_v2_Promo', 'Standard_DS14', 'Standard_DS14-4_v2', 'Standard_DS14-8_v2', 'Standard_DS14_v2', 'Standard_DS14_v2_Promo', 'Standard_DS15_v2', 'Standard_DS1_v2', 'Standard_DS2', 'Standard_DS2_v2', 'Standard_DS2_v2_Promo', 'Standard_DS3', 'Standard_DS3_v2', 'Standard_DS3_v2_Promo', 'Standard_DS4', 'Standard_DS4_v2', 'Standard_DS4_v2_Promo', 'Standard_DS5_v2', 'Standard_DS5_v2_Promo', 'Standard_E16_v3', 'Standard_E16s_v3', 'Standard_E2_v3', 'Standard_E2s_v3', 'Standard_E32-16s_v3', 'Standard_E32-8s_v3', 'Standard_E32_v3', 'Standard_E32s_v3', 'Standard_E4_v3', 'Standard_E4s_v3', 'Standard_E64-16s_v3', 'Standard_E64-32s_v3', 'Standard_E64_v3', 'Standard_E64s_v3', 'Standard_E8_v3', 'Standard_E8s_v3', 'Standard_F1', 'Standard_F16', 'Standard_F16s', 'Standard_F16s_v2', 'Standard_F1s', 'Standard_F2', 'Standard_F2s', 'Standard_F2s_v2', 'Standard_F32s_v2', 'Standard_F4', 'Standard_F4s', 'Standard_F4s_v2', 'Standard_F64s_v2', 'Standard_F72s_v2', 'Standard_F8', 'Standard_F8s', 'Standard_F8s_v2', 'Standard_G1', 'Standard_G2', 'Standard_G3', 'Standard_G4', 'Standard_G5', 'Standard_GS1', 'Standard_GS2', 'Standard_GS3', 'Standard_GS4', 'Standard_GS4-4', 'Standard_GS4-8', 'Standard_GS5', 'Standard_GS5-16', 'Standard_GS5-8', 'Standard_H16', 'Standard_H16m', 'Standard_H16mr', 'Standard_H16r', 'Standard_H8', 'Standard_H8m', 'Standard_L16s', 'Standard_L32s', 'Standard_L4s', 'Standard_L8s', 'Standard_M128-32ms', 'Standard_M128-64ms', 'Standard_M128ms', 'Standard_M128s', 'Standard_M64-16ms', 'Standard_M64-32ms', 'Standard_M64ms', 'Standard_M64s', 'Standard_NC12', 'Standard_NC12s_v2', 'Standard_NC12s_v3', 'Standard_NC24', 'Standard_NC24r', 'Standard_NC24rs_v2', 'Standard_NC24rs_v3', 'Standard_NC24s_v2', 'Standard_NC24s_v3', 'Standard_NC6', 'Standard_NC6s_v2', 'Standard_NC6s_v3', 'Standard_ND12s', 'Standard_ND24rs', 'Standard_ND24s', 'Standard_ND6s', 'Standard_NV12', 'Standard_NV24', 'Standard_NV6'.
+ *
+ * @return the vmSize value
+ */
+ public ContainerServiceVMSizeTypes vmSize() {
+ return this.vmSize;
+ }
+
+ /**
+ * Set size of agent VMs. Possible values include: 'Standard_A1', 'Standard_A10', 'Standard_A11', 'Standard_A1_v2', 'Standard_A2', 'Standard_A2_v2', 'Standard_A2m_v2', 'Standard_A3', 'Standard_A4', 'Standard_A4_v2', 'Standard_A4m_v2', 'Standard_A5', 'Standard_A6', 'Standard_A7', 'Standard_A8', 'Standard_A8_v2', 'Standard_A8m_v2', 'Standard_A9', 'Standard_B2ms', 'Standard_B2s', 'Standard_B4ms', 'Standard_B8ms', 'Standard_D1', 'Standard_D11', 'Standard_D11_v2', 'Standard_D11_v2_Promo', 'Standard_D12', 'Standard_D12_v2', 'Standard_D12_v2_Promo', 'Standard_D13', 'Standard_D13_v2', 'Standard_D13_v2_Promo', 'Standard_D14', 'Standard_D14_v2', 'Standard_D14_v2_Promo', 'Standard_D15_v2', 'Standard_D16_v3', 'Standard_D16s_v3', 'Standard_D1_v2', 'Standard_D2', 'Standard_D2_v2', 'Standard_D2_v2_Promo', 'Standard_D2_v3', 'Standard_D2s_v3', 'Standard_D3', 'Standard_D32_v3', 'Standard_D32s_v3', 'Standard_D3_v2', 'Standard_D3_v2_Promo', 'Standard_D4', 'Standard_D4_v2', 'Standard_D4_v2_Promo', 'Standard_D4_v3', 'Standard_D4s_v3', 'Standard_D5_v2', 'Standard_D5_v2_Promo', 'Standard_D64_v3', 'Standard_D64s_v3', 'Standard_D8_v3', 'Standard_D8s_v3', 'Standard_DS1', 'Standard_DS11', 'Standard_DS11_v2', 'Standard_DS11_v2_Promo', 'Standard_DS12', 'Standard_DS12_v2', 'Standard_DS12_v2_Promo', 'Standard_DS13', 'Standard_DS13-2_v2', 'Standard_DS13-4_v2', 'Standard_DS13_v2', 'Standard_DS13_v2_Promo', 'Standard_DS14', 'Standard_DS14-4_v2', 'Standard_DS14-8_v2', 'Standard_DS14_v2', 'Standard_DS14_v2_Promo', 'Standard_DS15_v2', 'Standard_DS1_v2', 'Standard_DS2', 'Standard_DS2_v2', 'Standard_DS2_v2_Promo', 'Standard_DS3', 'Standard_DS3_v2', 'Standard_DS3_v2_Promo', 'Standard_DS4', 'Standard_DS4_v2', 'Standard_DS4_v2_Promo', 'Standard_DS5_v2', 'Standard_DS5_v2_Promo', 'Standard_E16_v3', 'Standard_E16s_v3', 'Standard_E2_v3', 'Standard_E2s_v3', 'Standard_E32-16s_v3', 'Standard_E32-8s_v3', 'Standard_E32_v3', 'Standard_E32s_v3', 'Standard_E4_v3', 'Standard_E4s_v3', 'Standard_E64-16s_v3', 'Standard_E64-32s_v3', 'Standard_E64_v3', 'Standard_E64s_v3', 'Standard_E8_v3', 'Standard_E8s_v3', 'Standard_F1', 'Standard_F16', 'Standard_F16s', 'Standard_F16s_v2', 'Standard_F1s', 'Standard_F2', 'Standard_F2s', 'Standard_F2s_v2', 'Standard_F32s_v2', 'Standard_F4', 'Standard_F4s', 'Standard_F4s_v2', 'Standard_F64s_v2', 'Standard_F72s_v2', 'Standard_F8', 'Standard_F8s', 'Standard_F8s_v2', 'Standard_G1', 'Standard_G2', 'Standard_G3', 'Standard_G4', 'Standard_G5', 'Standard_GS1', 'Standard_GS2', 'Standard_GS3', 'Standard_GS4', 'Standard_GS4-4', 'Standard_GS4-8', 'Standard_GS5', 'Standard_GS5-16', 'Standard_GS5-8', 'Standard_H16', 'Standard_H16m', 'Standard_H16mr', 'Standard_H16r', 'Standard_H8', 'Standard_H8m', 'Standard_L16s', 'Standard_L32s', 'Standard_L4s', 'Standard_L8s', 'Standard_M128-32ms', 'Standard_M128-64ms', 'Standard_M128ms', 'Standard_M128s', 'Standard_M64-16ms', 'Standard_M64-32ms', 'Standard_M64ms', 'Standard_M64s', 'Standard_NC12', 'Standard_NC12s_v2', 'Standard_NC12s_v3', 'Standard_NC24', 'Standard_NC24r', 'Standard_NC24rs_v2', 'Standard_NC24rs_v3', 'Standard_NC24s_v2', 'Standard_NC24s_v3', 'Standard_NC6', 'Standard_NC6s_v2', 'Standard_NC6s_v3', 'Standard_ND12s', 'Standard_ND24rs', 'Standard_ND24s', 'Standard_ND6s', 'Standard_NV12', 'Standard_NV24', 'Standard_NV6'.
+ *
+ * @param vmSize the vmSize value to set
+ * @return the ContainerServiceMasterProfile object itself.
+ */
+ public ContainerServiceMasterProfile withVmSize(ContainerServiceVMSizeTypes vmSize) {
+ this.vmSize = vmSize;
+ return this;
+ }
+
+ /**
+ * Get oS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified.
+ *
+ * @return the osDiskSizeGB value
+ */
+ public Integer osDiskSizeGB() {
+ return this.osDiskSizeGB;
+ }
+
+ /**
+ * Set oS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified.
+ *
+ * @param osDiskSizeGB the osDiskSizeGB value to set
+ * @return the ContainerServiceMasterProfile object itself.
+ */
+ public ContainerServiceMasterProfile withOsDiskSizeGB(Integer osDiskSizeGB) {
+ this.osDiskSizeGB = osDiskSizeGB;
+ return this;
+ }
+
+ /**
+ * Get vNet SubnetID specifies the VNet's subnet identifier.
+ *
+ * @return the vnetSubnetID value
+ */
+ public String vnetSubnetID() {
+ return this.vnetSubnetID;
+ }
+
+ /**
+ * Set vNet SubnetID specifies the VNet's subnet identifier.
+ *
+ * @param vnetSubnetID the vnetSubnetID value to set
+ * @return the ContainerServiceMasterProfile object itself.
+ */
+ public ContainerServiceMasterProfile withVnetSubnetID(String vnetSubnetID) {
+ this.vnetSubnetID = vnetSubnetID;
+ return this;
+ }
+
+ /**
+ * Get firstConsecutiveStaticIP used to specify the first static ip of masters.
+ *
+ * @return the firstConsecutiveStaticIP value
+ */
+ public String firstConsecutiveStaticIP() {
+ return this.firstConsecutiveStaticIP;
+ }
+
+ /**
+ * Set firstConsecutiveStaticIP used to specify the first static ip of masters.
+ *
+ * @param firstConsecutiveStaticIP the firstConsecutiveStaticIP value to set
+ * @return the ContainerServiceMasterProfile object itself.
+ */
+ public ContainerServiceMasterProfile withFirstConsecutiveStaticIP(String firstConsecutiveStaticIP) {
+ this.firstConsecutiveStaticIP = firstConsecutiveStaticIP;
+ return this;
+ }
+
+ /**
+ * Get storage profile specifies what kind of storage used. Choose from StorageAccount and ManagedDisks. Leave it empty, we will choose for you based on the orchestrator choice. Possible values include: 'StorageAccount', 'ManagedDisks'.
+ *
+ * @return the storageProfile value
+ */
+ public ContainerServiceStorageProfileTypes storageProfile() {
+ return this.storageProfile;
+ }
+
+ /**
+ * Set storage profile specifies what kind of storage used. Choose from StorageAccount and ManagedDisks. Leave it empty, we will choose for you based on the orchestrator choice. Possible values include: 'StorageAccount', 'ManagedDisks'.
+ *
+ * @param storageProfile the storageProfile value to set
+ * @return the ContainerServiceMasterProfile object itself.
+ */
+ public ContainerServiceMasterProfile withStorageProfile(ContainerServiceStorageProfileTypes storageProfile) {
+ this.storageProfile = storageProfile;
+ return this;
+ }
+
+ /**
+ * Get fQDN for the master pool.
+ *
+ * @return the fqdn value
+ */
+ public String fqdn() {
+ return this.fqdn;
+ }
+
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ContainerServiceNetworkProfile.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ContainerServiceNetworkProfile.java
new file mode 100644
index 000000000000..2ffd5e9a4821
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ContainerServiceNetworkProfile.java
@@ -0,0 +1,233 @@
+/**
+ * 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.containerservice.v2019_08_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Profile of network configuration.
+ */
+public class ContainerServiceNetworkProfile {
+ /**
+ * Network plugin used for building Kubernetes network. Possible values
+ * include: 'azure', 'kubenet'.
+ */
+ @JsonProperty(value = "networkPlugin")
+ private NetworkPlugin networkPlugin;
+
+ /**
+ * Network policy used for building Kubernetes network. Possible values
+ * include: 'calico', 'azure'.
+ */
+ @JsonProperty(value = "networkPolicy")
+ private NetworkPolicy networkPolicy;
+
+ /**
+ * A CIDR notation IP range from which to assign pod IPs when kubenet is
+ * used.
+ */
+ @JsonProperty(value = "podCidr")
+ private String podCidr;
+
+ /**
+ * A CIDR notation IP range from which to assign service cluster IPs. It
+ * must not overlap with any Subnet IP ranges.
+ */
+ @JsonProperty(value = "serviceCidr")
+ private String serviceCidr;
+
+ /**
+ * An IP address assigned to the Kubernetes DNS service. It must be within
+ * the Kubernetes service address range specified in serviceCidr.
+ */
+ @JsonProperty(value = "dnsServiceIP")
+ private String dnsServiceIP;
+
+ /**
+ * A CIDR notation IP range assigned to the Docker bridge network. It must
+ * not overlap with any Subnet IP ranges or the Kubernetes service address
+ * range.
+ */
+ @JsonProperty(value = "dockerBridgeCidr")
+ private String dockerBridgeCidr;
+
+ /**
+ * The load balancer sku for the managed cluster. Possible values include:
+ * 'standard', 'basic'.
+ */
+ @JsonProperty(value = "loadBalancerSku")
+ private LoadBalancerSku loadBalancerSku;
+
+ /**
+ * Profile of the cluster load balancer.
+ */
+ @JsonProperty(value = "loadBalancerProfile")
+ private ManagedClusterLoadBalancerProfile loadBalancerProfile;
+
+ /**
+ * Get network plugin used for building Kubernetes network. Possible values include: 'azure', 'kubenet'.
+ *
+ * @return the networkPlugin value
+ */
+ public NetworkPlugin networkPlugin() {
+ return this.networkPlugin;
+ }
+
+ /**
+ * Set network plugin used for building Kubernetes network. Possible values include: 'azure', 'kubenet'.
+ *
+ * @param networkPlugin the networkPlugin value to set
+ * @return the ContainerServiceNetworkProfile object itself.
+ */
+ public ContainerServiceNetworkProfile withNetworkPlugin(NetworkPlugin networkPlugin) {
+ this.networkPlugin = networkPlugin;
+ return this;
+ }
+
+ /**
+ * Get network policy used for building Kubernetes network. Possible values include: 'calico', 'azure'.
+ *
+ * @return the networkPolicy value
+ */
+ public NetworkPolicy networkPolicy() {
+ return this.networkPolicy;
+ }
+
+ /**
+ * Set network policy used for building Kubernetes network. Possible values include: 'calico', 'azure'.
+ *
+ * @param networkPolicy the networkPolicy value to set
+ * @return the ContainerServiceNetworkProfile object itself.
+ */
+ public ContainerServiceNetworkProfile withNetworkPolicy(NetworkPolicy networkPolicy) {
+ this.networkPolicy = networkPolicy;
+ return this;
+ }
+
+ /**
+ * Get a CIDR notation IP range from which to assign pod IPs when kubenet is used.
+ *
+ * @return the podCidr value
+ */
+ public String podCidr() {
+ return this.podCidr;
+ }
+
+ /**
+ * Set a CIDR notation IP range from which to assign pod IPs when kubenet is used.
+ *
+ * @param podCidr the podCidr value to set
+ * @return the ContainerServiceNetworkProfile object itself.
+ */
+ public ContainerServiceNetworkProfile withPodCidr(String podCidr) {
+ this.podCidr = podCidr;
+ return this;
+ }
+
+ /**
+ * Get a CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges.
+ *
+ * @return the serviceCidr value
+ */
+ public String serviceCidr() {
+ return this.serviceCidr;
+ }
+
+ /**
+ * Set a CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges.
+ *
+ * @param serviceCidr the serviceCidr value to set
+ * @return the ContainerServiceNetworkProfile object itself.
+ */
+ public ContainerServiceNetworkProfile withServiceCidr(String serviceCidr) {
+ this.serviceCidr = serviceCidr;
+ return this;
+ }
+
+ /**
+ * Get an IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr.
+ *
+ * @return the dnsServiceIP value
+ */
+ public String dnsServiceIP() {
+ return this.dnsServiceIP;
+ }
+
+ /**
+ * Set an IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr.
+ *
+ * @param dnsServiceIP the dnsServiceIP value to set
+ * @return the ContainerServiceNetworkProfile object itself.
+ */
+ public ContainerServiceNetworkProfile withDnsServiceIP(String dnsServiceIP) {
+ this.dnsServiceIP = dnsServiceIP;
+ return this;
+ }
+
+ /**
+ * Get a CIDR notation IP range assigned to the Docker bridge network. It must not overlap with any Subnet IP ranges or the Kubernetes service address range.
+ *
+ * @return the dockerBridgeCidr value
+ */
+ public String dockerBridgeCidr() {
+ return this.dockerBridgeCidr;
+ }
+
+ /**
+ * Set a CIDR notation IP range assigned to the Docker bridge network. It must not overlap with any Subnet IP ranges or the Kubernetes service address range.
+ *
+ * @param dockerBridgeCidr the dockerBridgeCidr value to set
+ * @return the ContainerServiceNetworkProfile object itself.
+ */
+ public ContainerServiceNetworkProfile withDockerBridgeCidr(String dockerBridgeCidr) {
+ this.dockerBridgeCidr = dockerBridgeCidr;
+ return this;
+ }
+
+ /**
+ * Get the load balancer sku for the managed cluster. Possible values include: 'standard', 'basic'.
+ *
+ * @return the loadBalancerSku value
+ */
+ public LoadBalancerSku loadBalancerSku() {
+ return this.loadBalancerSku;
+ }
+
+ /**
+ * Set the load balancer sku for the managed cluster. Possible values include: 'standard', 'basic'.
+ *
+ * @param loadBalancerSku the loadBalancerSku value to set
+ * @return the ContainerServiceNetworkProfile object itself.
+ */
+ public ContainerServiceNetworkProfile withLoadBalancerSku(LoadBalancerSku loadBalancerSku) {
+ this.loadBalancerSku = loadBalancerSku;
+ return this;
+ }
+
+ /**
+ * Get profile of the cluster load balancer.
+ *
+ * @return the loadBalancerProfile value
+ */
+ public ManagedClusterLoadBalancerProfile loadBalancerProfile() {
+ return this.loadBalancerProfile;
+ }
+
+ /**
+ * Set profile of the cluster load balancer.
+ *
+ * @param loadBalancerProfile the loadBalancerProfile value to set
+ * @return the ContainerServiceNetworkProfile object itself.
+ */
+ public ContainerServiceNetworkProfile withLoadBalancerProfile(ManagedClusterLoadBalancerProfile loadBalancerProfile) {
+ this.loadBalancerProfile = loadBalancerProfile;
+ return this;
+ }
+
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ContainerServiceOrchestratorProfile.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ContainerServiceOrchestratorProfile.java
new file mode 100644
index 000000000000..3f38b5d099b1
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ContainerServiceOrchestratorProfile.java
@@ -0,0 +1,73 @@
+/**
+ * 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.containerservice.v2019_08_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Profile for the container service orchestrator.
+ */
+public class ContainerServiceOrchestratorProfile {
+ /**
+ * The orchestrator to use to manage container service cluster resources.
+ * Valid values are Kubernetes, Swarm, DCOS, DockerCE and Custom. Possible
+ * values include: 'Kubernetes', 'Swarm', 'DCOS', 'DockerCE', 'Custom'.
+ */
+ @JsonProperty(value = "orchestratorType", required = true)
+ private ContainerServiceOrchestratorTypes orchestratorType;
+
+ /**
+ * The version of the orchestrator to use. You can specify the
+ * major.minor.patch part of the actual version.For example, you can
+ * specify version as "1.6.11".
+ */
+ @JsonProperty(value = "orchestratorVersion")
+ private String orchestratorVersion;
+
+ /**
+ * Get the orchestrator to use to manage container service cluster resources. Valid values are Kubernetes, Swarm, DCOS, DockerCE and Custom. Possible values include: 'Kubernetes', 'Swarm', 'DCOS', 'DockerCE', 'Custom'.
+ *
+ * @return the orchestratorType value
+ */
+ public ContainerServiceOrchestratorTypes orchestratorType() {
+ return this.orchestratorType;
+ }
+
+ /**
+ * Set the orchestrator to use to manage container service cluster resources. Valid values are Kubernetes, Swarm, DCOS, DockerCE and Custom. Possible values include: 'Kubernetes', 'Swarm', 'DCOS', 'DockerCE', 'Custom'.
+ *
+ * @param orchestratorType the orchestratorType value to set
+ * @return the ContainerServiceOrchestratorProfile object itself.
+ */
+ public ContainerServiceOrchestratorProfile withOrchestratorType(ContainerServiceOrchestratorTypes orchestratorType) {
+ this.orchestratorType = orchestratorType;
+ return this;
+ }
+
+ /**
+ * Get the version of the orchestrator to use. You can specify the major.minor.patch part of the actual version.For example, you can specify version as "1.6.11".
+ *
+ * @return the orchestratorVersion value
+ */
+ public String orchestratorVersion() {
+ return this.orchestratorVersion;
+ }
+
+ /**
+ * Set the version of the orchestrator to use. You can specify the major.minor.patch part of the actual version.For example, you can specify version as "1.6.11".
+ *
+ * @param orchestratorVersion the orchestratorVersion value to set
+ * @return the ContainerServiceOrchestratorProfile object itself.
+ */
+ public ContainerServiceOrchestratorProfile withOrchestratorVersion(String orchestratorVersion) {
+ this.orchestratorVersion = orchestratorVersion;
+ return this;
+ }
+
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ContainerServiceOrchestratorTypes.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ContainerServiceOrchestratorTypes.java
new file mode 100644
index 000000000000..d81ff9c943f7
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ContainerServiceOrchestratorTypes.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.containerservice.v2019_08_01;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for ContainerServiceOrchestratorTypes.
+ */
+public final class ContainerServiceOrchestratorTypes extends ExpandableStringEnum {
+ /** Static value Kubernetes for ContainerServiceOrchestratorTypes. */
+ public static final ContainerServiceOrchestratorTypes KUBERNETES = fromString("Kubernetes");
+
+ /** Static value Swarm for ContainerServiceOrchestratorTypes. */
+ public static final ContainerServiceOrchestratorTypes SWARM = fromString("Swarm");
+
+ /** Static value DCOS for ContainerServiceOrchestratorTypes. */
+ public static final ContainerServiceOrchestratorTypes DCOS = fromString("DCOS");
+
+ /** Static value DockerCE for ContainerServiceOrchestratorTypes. */
+ public static final ContainerServiceOrchestratorTypes DOCKER_CE = fromString("DockerCE");
+
+ /** Static value Custom for ContainerServiceOrchestratorTypes. */
+ public static final ContainerServiceOrchestratorTypes CUSTOM = fromString("Custom");
+
+ /**
+ * Creates or finds a ContainerServiceOrchestratorTypes from its string representation.
+ * @param name a name to look for
+ * @return the corresponding ContainerServiceOrchestratorTypes
+ */
+ @JsonCreator
+ public static ContainerServiceOrchestratorTypes fromString(String name) {
+ return fromString(name, ContainerServiceOrchestratorTypes.class);
+ }
+
+ /**
+ * @return known ContainerServiceOrchestratorTypes values
+ */
+ public static Collection values() {
+ return values(ContainerServiceOrchestratorTypes.class);
+ }
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ContainerServiceServicePrincipalProfile.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ContainerServiceServicePrincipalProfile.java
new file mode 100644
index 000000000000..5d3e69921416
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ContainerServiceServicePrincipalProfile.java
@@ -0,0 +1,97 @@
+/**
+ * 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.containerservice.v2019_08_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Information about a service principal identity for the cluster to use for
+ * manipulating Azure APIs. Either secret or keyVaultSecretRef must be
+ * specified.
+ */
+public class ContainerServiceServicePrincipalProfile {
+ /**
+ * The ID for the service principal.
+ */
+ @JsonProperty(value = "clientId", required = true)
+ private String clientId;
+
+ /**
+ * The secret password associated with the service principal in plain text.
+ */
+ @JsonProperty(value = "secret")
+ private String secret;
+
+ /**
+ * Reference to a secret stored in Azure Key Vault.
+ */
+ @JsonProperty(value = "keyVaultSecretRef")
+ private KeyVaultSecretRef keyVaultSecretRef;
+
+ /**
+ * Get the ID for the service principal.
+ *
+ * @return the clientId value
+ */
+ public String clientId() {
+ return this.clientId;
+ }
+
+ /**
+ * Set the ID for the service principal.
+ *
+ * @param clientId the clientId value to set
+ * @return the ContainerServiceServicePrincipalProfile object itself.
+ */
+ public ContainerServiceServicePrincipalProfile withClientId(String clientId) {
+ this.clientId = clientId;
+ return this;
+ }
+
+ /**
+ * Get the secret password associated with the service principal in plain text.
+ *
+ * @return the secret value
+ */
+ public String secret() {
+ return this.secret;
+ }
+
+ /**
+ * Set the secret password associated with the service principal in plain text.
+ *
+ * @param secret the secret value to set
+ * @return the ContainerServiceServicePrincipalProfile object itself.
+ */
+ public ContainerServiceServicePrincipalProfile withSecret(String secret) {
+ this.secret = secret;
+ return this;
+ }
+
+ /**
+ * Get reference to a secret stored in Azure Key Vault.
+ *
+ * @return the keyVaultSecretRef value
+ */
+ public KeyVaultSecretRef keyVaultSecretRef() {
+ return this.keyVaultSecretRef;
+ }
+
+ /**
+ * Set reference to a secret stored in Azure Key Vault.
+ *
+ * @param keyVaultSecretRef the keyVaultSecretRef value to set
+ * @return the ContainerServiceServicePrincipalProfile object itself.
+ */
+ public ContainerServiceServicePrincipalProfile withKeyVaultSecretRef(KeyVaultSecretRef keyVaultSecretRef) {
+ this.keyVaultSecretRef = keyVaultSecretRef;
+ return this;
+ }
+
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ContainerServiceSshConfiguration.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ContainerServiceSshConfiguration.java
new file mode 100644
index 000000000000..a0de8c467e6c
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ContainerServiceSshConfiguration.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.containerservice.v2019_08_01;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * SSH configuration for Linux-based VMs running on Azure.
+ */
+public class ContainerServiceSshConfiguration {
+ /**
+ * The list of SSH public keys used to authenticate with Linux-based VMs.
+ * Only expect one key specified.
+ */
+ @JsonProperty(value = "publicKeys", required = true)
+ private List publicKeys;
+
+ /**
+ * Get the list of SSH public keys used to authenticate with Linux-based VMs. Only expect one key specified.
+ *
+ * @return the publicKeys value
+ */
+ public List publicKeys() {
+ return this.publicKeys;
+ }
+
+ /**
+ * Set the list of SSH public keys used to authenticate with Linux-based VMs. Only expect one key specified.
+ *
+ * @param publicKeys the publicKeys value to set
+ * @return the ContainerServiceSshConfiguration object itself.
+ */
+ public ContainerServiceSshConfiguration withPublicKeys(List publicKeys) {
+ this.publicKeys = publicKeys;
+ return this;
+ }
+
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ContainerServiceSshPublicKey.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ContainerServiceSshPublicKey.java
new file mode 100644
index 000000000000..acbaaa3b68c9
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ContainerServiceSshPublicKey.java
@@ -0,0 +1,44 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerservice.v2019_08_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Contains information about SSH certificate public key data.
+ */
+public class ContainerServiceSshPublicKey {
+ /**
+ * Certificate public key used to authenticate with VMs through SSH. The
+ * certificate must be in PEM format with or without headers.
+ */
+ @JsonProperty(value = "keyData", required = true)
+ private String keyData;
+
+ /**
+ * Get certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers.
+ *
+ * @return the keyData value
+ */
+ public String keyData() {
+ return this.keyData;
+ }
+
+ /**
+ * Set certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers.
+ *
+ * @param keyData the keyData value to set
+ * @return the ContainerServiceSshPublicKey object itself.
+ */
+ public ContainerServiceSshPublicKey withKeyData(String keyData) {
+ this.keyData = keyData;
+ return this;
+ }
+
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ContainerServiceStorageProfileTypes.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ContainerServiceStorageProfileTypes.java
new file mode 100644
index 000000000000..53aa4619feb2
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ContainerServiceStorageProfileTypes.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.containerservice.v2019_08_01;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for ContainerServiceStorageProfileTypes.
+ */
+public final class ContainerServiceStorageProfileTypes extends ExpandableStringEnum {
+ /** Static value StorageAccount for ContainerServiceStorageProfileTypes. */
+ public static final ContainerServiceStorageProfileTypes STORAGE_ACCOUNT = fromString("StorageAccount");
+
+ /** Static value ManagedDisks for ContainerServiceStorageProfileTypes. */
+ public static final ContainerServiceStorageProfileTypes MANAGED_DISKS = fromString("ManagedDisks");
+
+ /**
+ * Creates or finds a ContainerServiceStorageProfileTypes from its string representation.
+ * @param name a name to look for
+ * @return the corresponding ContainerServiceStorageProfileTypes
+ */
+ @JsonCreator
+ public static ContainerServiceStorageProfileTypes fromString(String name) {
+ return fromString(name, ContainerServiceStorageProfileTypes.class);
+ }
+
+ /**
+ * @return known ContainerServiceStorageProfileTypes values
+ */
+ public static Collection values() {
+ return values(ContainerServiceStorageProfileTypes.class);
+ }
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ContainerServiceVMDiagnostics.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ContainerServiceVMDiagnostics.java
new file mode 100644
index 000000000000..48e6a9514165
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ContainerServiceVMDiagnostics.java
@@ -0,0 +1,58 @@
+/**
+ * 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.containerservice.v2019_08_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Profile for diagnostics on the container service VMs.
+ */
+public class ContainerServiceVMDiagnostics {
+ /**
+ * Whether the VM diagnostic agent is provisioned on the VM.
+ */
+ @JsonProperty(value = "enabled", required = true)
+ private boolean enabled;
+
+ /**
+ * The URI of the storage account where diagnostics are stored.
+ */
+ @JsonProperty(value = "storageUri", access = JsonProperty.Access.WRITE_ONLY)
+ private String storageUri;
+
+ /**
+ * Get whether the VM diagnostic agent is provisioned on the VM.
+ *
+ * @return the enabled value
+ */
+ public boolean enabled() {
+ return this.enabled;
+ }
+
+ /**
+ * Set whether the VM diagnostic agent is provisioned on the VM.
+ *
+ * @param enabled the enabled value to set
+ * @return the ContainerServiceVMDiagnostics object itself.
+ */
+ public ContainerServiceVMDiagnostics withEnabled(boolean enabled) {
+ this.enabled = enabled;
+ return this;
+ }
+
+ /**
+ * Get the URI of the storage account where diagnostics are stored.
+ *
+ * @return the storageUri value
+ */
+ public String storageUri() {
+ return this.storageUri;
+ }
+
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ContainerServiceVMSizeTypes.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ContainerServiceVMSizeTypes.java
new file mode 100644
index 000000000000..33558b7248b8
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ContainerServiceVMSizeTypes.java
@@ -0,0 +1,557 @@
+/**
+ * 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.containerservice.v2019_08_01;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for ContainerServiceVMSizeTypes.
+ */
+public final class ContainerServiceVMSizeTypes extends ExpandableStringEnum {
+ /** Static value Standard_A1 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_A1 = fromString("Standard_A1");
+
+ /** Static value Standard_A10 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_A10 = fromString("Standard_A10");
+
+ /** Static value Standard_A11 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_A11 = fromString("Standard_A11");
+
+ /** Static value Standard_A1_v2 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_A1_V2 = fromString("Standard_A1_v2");
+
+ /** Static value Standard_A2 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_A2 = fromString("Standard_A2");
+
+ /** Static value Standard_A2_v2 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_A2_V2 = fromString("Standard_A2_v2");
+
+ /** Static value Standard_A2m_v2 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_A2M_V2 = fromString("Standard_A2m_v2");
+
+ /** Static value Standard_A3 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_A3 = fromString("Standard_A3");
+
+ /** Static value Standard_A4 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_A4 = fromString("Standard_A4");
+
+ /** Static value Standard_A4_v2 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_A4_V2 = fromString("Standard_A4_v2");
+
+ /** Static value Standard_A4m_v2 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_A4M_V2 = fromString("Standard_A4m_v2");
+
+ /** Static value Standard_A5 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_A5 = fromString("Standard_A5");
+
+ /** Static value Standard_A6 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_A6 = fromString("Standard_A6");
+
+ /** Static value Standard_A7 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_A7 = fromString("Standard_A7");
+
+ /** Static value Standard_A8 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_A8 = fromString("Standard_A8");
+
+ /** Static value Standard_A8_v2 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_A8_V2 = fromString("Standard_A8_v2");
+
+ /** Static value Standard_A8m_v2 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_A8M_V2 = fromString("Standard_A8m_v2");
+
+ /** Static value Standard_A9 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_A9 = fromString("Standard_A9");
+
+ /** Static value Standard_B2ms for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_B2MS = fromString("Standard_B2ms");
+
+ /** Static value Standard_B2s for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_B2S = fromString("Standard_B2s");
+
+ /** Static value Standard_B4ms for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_B4MS = fromString("Standard_B4ms");
+
+ /** Static value Standard_B8ms for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_B8MS = fromString("Standard_B8ms");
+
+ /** Static value Standard_D1 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_D1 = fromString("Standard_D1");
+
+ /** Static value Standard_D11 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_D11 = fromString("Standard_D11");
+
+ /** Static value Standard_D11_v2 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_D11_V2 = fromString("Standard_D11_v2");
+
+ /** Static value Standard_D11_v2_Promo for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_D11_V2_PROMO = fromString("Standard_D11_v2_Promo");
+
+ /** Static value Standard_D12 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_D12 = fromString("Standard_D12");
+
+ /** Static value Standard_D12_v2 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_D12_V2 = fromString("Standard_D12_v2");
+
+ /** Static value Standard_D12_v2_Promo for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_D12_V2_PROMO = fromString("Standard_D12_v2_Promo");
+
+ /** Static value Standard_D13 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_D13 = fromString("Standard_D13");
+
+ /** Static value Standard_D13_v2 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_D13_V2 = fromString("Standard_D13_v2");
+
+ /** Static value Standard_D13_v2_Promo for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_D13_V2_PROMO = fromString("Standard_D13_v2_Promo");
+
+ /** Static value Standard_D14 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_D14 = fromString("Standard_D14");
+
+ /** Static value Standard_D14_v2 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_D14_V2 = fromString("Standard_D14_v2");
+
+ /** Static value Standard_D14_v2_Promo for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_D14_V2_PROMO = fromString("Standard_D14_v2_Promo");
+
+ /** Static value Standard_D15_v2 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_D15_V2 = fromString("Standard_D15_v2");
+
+ /** Static value Standard_D16_v3 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_D16_V3 = fromString("Standard_D16_v3");
+
+ /** Static value Standard_D16s_v3 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_D16S_V3 = fromString("Standard_D16s_v3");
+
+ /** Static value Standard_D1_v2 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_D1_V2 = fromString("Standard_D1_v2");
+
+ /** Static value Standard_D2 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_D2 = fromString("Standard_D2");
+
+ /** Static value Standard_D2_v2 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_D2_V2 = fromString("Standard_D2_v2");
+
+ /** Static value Standard_D2_v2_Promo for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_D2_V2_PROMO = fromString("Standard_D2_v2_Promo");
+
+ /** Static value Standard_D2_v3 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_D2_V3 = fromString("Standard_D2_v3");
+
+ /** Static value Standard_D2s_v3 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_D2S_V3 = fromString("Standard_D2s_v3");
+
+ /** Static value Standard_D3 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_D3 = fromString("Standard_D3");
+
+ /** Static value Standard_D32_v3 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_D32_V3 = fromString("Standard_D32_v3");
+
+ /** Static value Standard_D32s_v3 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_D32S_V3 = fromString("Standard_D32s_v3");
+
+ /** Static value Standard_D3_v2 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_D3_V2 = fromString("Standard_D3_v2");
+
+ /** Static value Standard_D3_v2_Promo for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_D3_V2_PROMO = fromString("Standard_D3_v2_Promo");
+
+ /** Static value Standard_D4 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_D4 = fromString("Standard_D4");
+
+ /** Static value Standard_D4_v2 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_D4_V2 = fromString("Standard_D4_v2");
+
+ /** Static value Standard_D4_v2_Promo for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_D4_V2_PROMO = fromString("Standard_D4_v2_Promo");
+
+ /** Static value Standard_D4_v3 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_D4_V3 = fromString("Standard_D4_v3");
+
+ /** Static value Standard_D4s_v3 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_D4S_V3 = fromString("Standard_D4s_v3");
+
+ /** Static value Standard_D5_v2 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_D5_V2 = fromString("Standard_D5_v2");
+
+ /** Static value Standard_D5_v2_Promo for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_D5_V2_PROMO = fromString("Standard_D5_v2_Promo");
+
+ /** Static value Standard_D64_v3 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_D64_V3 = fromString("Standard_D64_v3");
+
+ /** Static value Standard_D64s_v3 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_D64S_V3 = fromString("Standard_D64s_v3");
+
+ /** Static value Standard_D8_v3 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_D8_V3 = fromString("Standard_D8_v3");
+
+ /** Static value Standard_D8s_v3 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_D8S_V3 = fromString("Standard_D8s_v3");
+
+ /** Static value Standard_DS1 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_DS1 = fromString("Standard_DS1");
+
+ /** Static value Standard_DS11 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_DS11 = fromString("Standard_DS11");
+
+ /** Static value Standard_DS11_v2 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_DS11_V2 = fromString("Standard_DS11_v2");
+
+ /** Static value Standard_DS11_v2_Promo for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_DS11_V2_PROMO = fromString("Standard_DS11_v2_Promo");
+
+ /** Static value Standard_DS12 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_DS12 = fromString("Standard_DS12");
+
+ /** Static value Standard_DS12_v2 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_DS12_V2 = fromString("Standard_DS12_v2");
+
+ /** Static value Standard_DS12_v2_Promo for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_DS12_V2_PROMO = fromString("Standard_DS12_v2_Promo");
+
+ /** Static value Standard_DS13 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_DS13 = fromString("Standard_DS13");
+
+ /** Static value Standard_DS13-2_v2 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_DS13_2_V2 = fromString("Standard_DS13-2_v2");
+
+ /** Static value Standard_DS13-4_v2 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_DS13_4_V2 = fromString("Standard_DS13-4_v2");
+
+ /** Static value Standard_DS13_v2 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_DS13_V2 = fromString("Standard_DS13_v2");
+
+ /** Static value Standard_DS13_v2_Promo for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_DS13_V2_PROMO = fromString("Standard_DS13_v2_Promo");
+
+ /** Static value Standard_DS14 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_DS14 = fromString("Standard_DS14");
+
+ /** Static value Standard_DS14-4_v2 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_DS14_4_V2 = fromString("Standard_DS14-4_v2");
+
+ /** Static value Standard_DS14-8_v2 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_DS14_8_V2 = fromString("Standard_DS14-8_v2");
+
+ /** Static value Standard_DS14_v2 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_DS14_V2 = fromString("Standard_DS14_v2");
+
+ /** Static value Standard_DS14_v2_Promo for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_DS14_V2_PROMO = fromString("Standard_DS14_v2_Promo");
+
+ /** Static value Standard_DS15_v2 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_DS15_V2 = fromString("Standard_DS15_v2");
+
+ /** Static value Standard_DS1_v2 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_DS1_V2 = fromString("Standard_DS1_v2");
+
+ /** Static value Standard_DS2 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_DS2 = fromString("Standard_DS2");
+
+ /** Static value Standard_DS2_v2 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_DS2_V2 = fromString("Standard_DS2_v2");
+
+ /** Static value Standard_DS2_v2_Promo for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_DS2_V2_PROMO = fromString("Standard_DS2_v2_Promo");
+
+ /** Static value Standard_DS3 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_DS3 = fromString("Standard_DS3");
+
+ /** Static value Standard_DS3_v2 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_DS3_V2 = fromString("Standard_DS3_v2");
+
+ /** Static value Standard_DS3_v2_Promo for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_DS3_V2_PROMO = fromString("Standard_DS3_v2_Promo");
+
+ /** Static value Standard_DS4 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_DS4 = fromString("Standard_DS4");
+
+ /** Static value Standard_DS4_v2 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_DS4_V2 = fromString("Standard_DS4_v2");
+
+ /** Static value Standard_DS4_v2_Promo for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_DS4_V2_PROMO = fromString("Standard_DS4_v2_Promo");
+
+ /** Static value Standard_DS5_v2 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_DS5_V2 = fromString("Standard_DS5_v2");
+
+ /** Static value Standard_DS5_v2_Promo for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_DS5_V2_PROMO = fromString("Standard_DS5_v2_Promo");
+
+ /** Static value Standard_E16_v3 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_E16_V3 = fromString("Standard_E16_v3");
+
+ /** Static value Standard_E16s_v3 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_E16S_V3 = fromString("Standard_E16s_v3");
+
+ /** Static value Standard_E2_v3 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_E2_V3 = fromString("Standard_E2_v3");
+
+ /** Static value Standard_E2s_v3 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_E2S_V3 = fromString("Standard_E2s_v3");
+
+ /** Static value Standard_E32-16s_v3 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_E32_16S_V3 = fromString("Standard_E32-16s_v3");
+
+ /** Static value Standard_E32-8s_v3 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_E32_8S_V3 = fromString("Standard_E32-8s_v3");
+
+ /** Static value Standard_E32_v3 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_E32_V3 = fromString("Standard_E32_v3");
+
+ /** Static value Standard_E32s_v3 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_E32S_V3 = fromString("Standard_E32s_v3");
+
+ /** Static value Standard_E4_v3 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_E4_V3 = fromString("Standard_E4_v3");
+
+ /** Static value Standard_E4s_v3 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_E4S_V3 = fromString("Standard_E4s_v3");
+
+ /** Static value Standard_E64-16s_v3 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_E64_16S_V3 = fromString("Standard_E64-16s_v3");
+
+ /** Static value Standard_E64-32s_v3 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_E64_32S_V3 = fromString("Standard_E64-32s_v3");
+
+ /** Static value Standard_E64_v3 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_E64_V3 = fromString("Standard_E64_v3");
+
+ /** Static value Standard_E64s_v3 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_E64S_V3 = fromString("Standard_E64s_v3");
+
+ /** Static value Standard_E8_v3 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_E8_V3 = fromString("Standard_E8_v3");
+
+ /** Static value Standard_E8s_v3 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_E8S_V3 = fromString("Standard_E8s_v3");
+
+ /** Static value Standard_F1 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_F1 = fromString("Standard_F1");
+
+ /** Static value Standard_F16 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_F16 = fromString("Standard_F16");
+
+ /** Static value Standard_F16s for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_F16S = fromString("Standard_F16s");
+
+ /** Static value Standard_F16s_v2 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_F16S_V2 = fromString("Standard_F16s_v2");
+
+ /** Static value Standard_F1s for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_F1S = fromString("Standard_F1s");
+
+ /** Static value Standard_F2 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_F2 = fromString("Standard_F2");
+
+ /** Static value Standard_F2s for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_F2S = fromString("Standard_F2s");
+
+ /** Static value Standard_F2s_v2 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_F2S_V2 = fromString("Standard_F2s_v2");
+
+ /** Static value Standard_F32s_v2 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_F32S_V2 = fromString("Standard_F32s_v2");
+
+ /** Static value Standard_F4 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_F4 = fromString("Standard_F4");
+
+ /** Static value Standard_F4s for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_F4S = fromString("Standard_F4s");
+
+ /** Static value Standard_F4s_v2 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_F4S_V2 = fromString("Standard_F4s_v2");
+
+ /** Static value Standard_F64s_v2 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_F64S_V2 = fromString("Standard_F64s_v2");
+
+ /** Static value Standard_F72s_v2 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_F72S_V2 = fromString("Standard_F72s_v2");
+
+ /** Static value Standard_F8 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_F8 = fromString("Standard_F8");
+
+ /** Static value Standard_F8s for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_F8S = fromString("Standard_F8s");
+
+ /** Static value Standard_F8s_v2 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_F8S_V2 = fromString("Standard_F8s_v2");
+
+ /** Static value Standard_G1 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_G1 = fromString("Standard_G1");
+
+ /** Static value Standard_G2 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_G2 = fromString("Standard_G2");
+
+ /** Static value Standard_G3 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_G3 = fromString("Standard_G3");
+
+ /** Static value Standard_G4 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_G4 = fromString("Standard_G4");
+
+ /** Static value Standard_G5 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_G5 = fromString("Standard_G5");
+
+ /** Static value Standard_GS1 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_GS1 = fromString("Standard_GS1");
+
+ /** Static value Standard_GS2 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_GS2 = fromString("Standard_GS2");
+
+ /** Static value Standard_GS3 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_GS3 = fromString("Standard_GS3");
+
+ /** Static value Standard_GS4 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_GS4 = fromString("Standard_GS4");
+
+ /** Static value Standard_GS4-4 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_GS4_4 = fromString("Standard_GS4-4");
+
+ /** Static value Standard_GS4-8 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_GS4_8 = fromString("Standard_GS4-8");
+
+ /** Static value Standard_GS5 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_GS5 = fromString("Standard_GS5");
+
+ /** Static value Standard_GS5-16 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_GS5_16 = fromString("Standard_GS5-16");
+
+ /** Static value Standard_GS5-8 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_GS5_8 = fromString("Standard_GS5-8");
+
+ /** Static value Standard_H16 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_H16 = fromString("Standard_H16");
+
+ /** Static value Standard_H16m for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_H16M = fromString("Standard_H16m");
+
+ /** Static value Standard_H16mr for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_H16MR = fromString("Standard_H16mr");
+
+ /** Static value Standard_H16r for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_H16R = fromString("Standard_H16r");
+
+ /** Static value Standard_H8 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_H8 = fromString("Standard_H8");
+
+ /** Static value Standard_H8m for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_H8M = fromString("Standard_H8m");
+
+ /** Static value Standard_L16s for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_L16S = fromString("Standard_L16s");
+
+ /** Static value Standard_L32s for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_L32S = fromString("Standard_L32s");
+
+ /** Static value Standard_L4s for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_L4S = fromString("Standard_L4s");
+
+ /** Static value Standard_L8s for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_L8S = fromString("Standard_L8s");
+
+ /** Static value Standard_M128-32ms for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_M128_32MS = fromString("Standard_M128-32ms");
+
+ /** Static value Standard_M128-64ms for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_M128_64MS = fromString("Standard_M128-64ms");
+
+ /** Static value Standard_M128ms for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_M128MS = fromString("Standard_M128ms");
+
+ /** Static value Standard_M128s for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_M128S = fromString("Standard_M128s");
+
+ /** Static value Standard_M64-16ms for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_M64_16MS = fromString("Standard_M64-16ms");
+
+ /** Static value Standard_M64-32ms for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_M64_32MS = fromString("Standard_M64-32ms");
+
+ /** Static value Standard_M64ms for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_M64MS = fromString("Standard_M64ms");
+
+ /** Static value Standard_M64s for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_M64S = fromString("Standard_M64s");
+
+ /** Static value Standard_NC12 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_NC12 = fromString("Standard_NC12");
+
+ /** Static value Standard_NC12s_v2 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_NC12S_V2 = fromString("Standard_NC12s_v2");
+
+ /** Static value Standard_NC12s_v3 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_NC12S_V3 = fromString("Standard_NC12s_v3");
+
+ /** Static value Standard_NC24 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_NC24 = fromString("Standard_NC24");
+
+ /** Static value Standard_NC24r for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_NC24R = fromString("Standard_NC24r");
+
+ /** Static value Standard_NC24rs_v2 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_NC24RS_V2 = fromString("Standard_NC24rs_v2");
+
+ /** Static value Standard_NC24rs_v3 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_NC24RS_V3 = fromString("Standard_NC24rs_v3");
+
+ /** Static value Standard_NC24s_v2 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_NC24S_V2 = fromString("Standard_NC24s_v2");
+
+ /** Static value Standard_NC24s_v3 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_NC24S_V3 = fromString("Standard_NC24s_v3");
+
+ /** Static value Standard_NC6 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_NC6 = fromString("Standard_NC6");
+
+ /** Static value Standard_NC6s_v2 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_NC6S_V2 = fromString("Standard_NC6s_v2");
+
+ /** Static value Standard_NC6s_v3 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_NC6S_V3 = fromString("Standard_NC6s_v3");
+
+ /** Static value Standard_ND12s for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_ND12S = fromString("Standard_ND12s");
+
+ /** Static value Standard_ND24rs for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_ND24RS = fromString("Standard_ND24rs");
+
+ /** Static value Standard_ND24s for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_ND24S = fromString("Standard_ND24s");
+
+ /** Static value Standard_ND6s for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_ND6S = fromString("Standard_ND6s");
+
+ /** Static value Standard_NV12 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_NV12 = fromString("Standard_NV12");
+
+ /** Static value Standard_NV24 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_NV24 = fromString("Standard_NV24");
+
+ /** Static value Standard_NV6 for ContainerServiceVMSizeTypes. */
+ public static final ContainerServiceVMSizeTypes STANDARD_NV6 = fromString("Standard_NV6");
+
+ /**
+ * Creates or finds a ContainerServiceVMSizeTypes from its string representation.
+ * @param name a name to look for
+ * @return the corresponding ContainerServiceVMSizeTypes
+ */
+ @JsonCreator
+ public static ContainerServiceVMSizeTypes fromString(String name) {
+ return fromString(name, ContainerServiceVMSizeTypes.class);
+ }
+
+ /**
+ * @return known ContainerServiceVMSizeTypes values
+ */
+ public static Collection values() {
+ return values(ContainerServiceVMSizeTypes.class);
+ }
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ContainerServiceWindowsProfile.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ContainerServiceWindowsProfile.java
new file mode 100644
index 000000000000..6f596676c67d
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ContainerServiceWindowsProfile.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.containerservice.v2019_08_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Profile for Windows VMs in the container service cluster.
+ */
+public class ContainerServiceWindowsProfile {
+ /**
+ * The administrator username to use for Windows VMs.
+ */
+ @JsonProperty(value = "adminUsername", required = true)
+ private String adminUsername;
+
+ /**
+ * The administrator password to use for Windows VMs.
+ */
+ @JsonProperty(value = "adminPassword", required = true)
+ private String adminPassword;
+
+ /**
+ * Get the administrator username to use for Windows VMs.
+ *
+ * @return the adminUsername value
+ */
+ public String adminUsername() {
+ return this.adminUsername;
+ }
+
+ /**
+ * Set the administrator username to use for Windows VMs.
+ *
+ * @param adminUsername the adminUsername value to set
+ * @return the ContainerServiceWindowsProfile object itself.
+ */
+ public ContainerServiceWindowsProfile withAdminUsername(String adminUsername) {
+ this.adminUsername = adminUsername;
+ return this;
+ }
+
+ /**
+ * Get the administrator password to use for Windows VMs.
+ *
+ * @return the adminPassword value
+ */
+ public String adminPassword() {
+ return this.adminPassword;
+ }
+
+ /**
+ * Set the administrator password to use for Windows VMs.
+ *
+ * @param adminPassword the adminPassword value to set
+ * @return the ContainerServiceWindowsProfile object itself.
+ */
+ public ContainerServiceWindowsProfile withAdminPassword(String adminPassword) {
+ this.adminPassword = adminPassword;
+ return this;
+ }
+
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ContainerServices.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ContainerServices.java
new file mode 100644
index 000000000000..c987fec856e3
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ContainerServices.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.containerservice.v2019_08_01;
+
+import com.microsoft.azure.arm.collection.SupportsCreating;
+import com.microsoft.azure.arm.resources.collection.SupportsDeletingByResourceGroup;
+import com.microsoft.azure.arm.resources.collection.SupportsBatchDeletion;
+import com.microsoft.azure.arm.resources.collection.SupportsGettingByResourceGroup;
+import rx.Observable;
+import com.microsoft.azure.arm.resources.collection.SupportsListingByResourceGroup;
+import com.microsoft.azure.arm.collection.SupportsListing;
+import com.microsoft.azure.management.containerservice.v2019_08_01.implementation.ContainerServicesInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing ContainerServices.
+ */
+public interface ContainerServices extends SupportsCreating, SupportsDeletingByResourceGroup, SupportsBatchDeletion, SupportsGettingByResourceGroup, SupportsListingByResourceGroup, SupportsListing, HasInner {
+ /**
+ * Gets a list of supported orchestrators in the specified subscription.
+ * Gets a list of supported orchestrators in the specified subscription. The operation returns properties of each orchestrator including version, available upgrades and whether that version or upgrades are in preview.
+ *
+ * @param location The name of a supported Azure region.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listOrchestratorsAsync(String location);
+
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/CredentialResult.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/CredentialResult.java
new file mode 100644
index 000000000000..ee020612cd74
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/CredentialResult.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.containerservice.v2019_08_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The credential result response.
+ */
+public class CredentialResult {
+ /**
+ * The name of the credential.
+ */
+ @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY)
+ private String name;
+
+ /**
+ * Base64-encoded Kubernetes configuration file.
+ */
+ @JsonProperty(value = "value", access = JsonProperty.Access.WRITE_ONLY)
+ private byte[] value;
+
+ /**
+ * Get the name of the credential.
+ *
+ * @return the name value
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get base64-encoded Kubernetes configuration file.
+ *
+ * @return the value value
+ */
+ public byte[] value() {
+ return this.value;
+ }
+
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/CredentialResults.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/CredentialResults.java
new file mode 100644
index 000000000000..3e82b6edb7b7
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/CredentialResults.java
@@ -0,0 +1,26 @@
+/**
+ * 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.containerservice.v2019_08_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.containerservice.v2019_08_01.implementation.ContainerServiceManager;
+import com.microsoft.azure.management.containerservice.v2019_08_01.implementation.CredentialResultsInner;
+import java.util.List;
+
+/**
+ * Type representing CredentialResults.
+ */
+public interface CredentialResults extends HasInner, HasManager {
+ /**
+ * @return the kubeconfigs value.
+ */
+ List kubeconfigs();
+
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/KeyVaultSecretRef.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/KeyVaultSecretRef.java
new file mode 100644
index 000000000000..3ed5a2acf8de
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/KeyVaultSecretRef.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.containerservice.v2019_08_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Reference to a secret stored in Azure Key Vault.
+ */
+public class KeyVaultSecretRef {
+ /**
+ * Key vault identifier.
+ */
+ @JsonProperty(value = "vaultID", required = true)
+ private String vaultID;
+
+ /**
+ * The secret name.
+ */
+ @JsonProperty(value = "secretName", required = true)
+ private String secretName;
+
+ /**
+ * The secret version.
+ */
+ @JsonProperty(value = "version")
+ private String version;
+
+ /**
+ * Get key vault identifier.
+ *
+ * @return the vaultID value
+ */
+ public String vaultID() {
+ return this.vaultID;
+ }
+
+ /**
+ * Set key vault identifier.
+ *
+ * @param vaultID the vaultID value to set
+ * @return the KeyVaultSecretRef object itself.
+ */
+ public KeyVaultSecretRef withVaultID(String vaultID) {
+ this.vaultID = vaultID;
+ return this;
+ }
+
+ /**
+ * Get the secret name.
+ *
+ * @return the secretName value
+ */
+ public String secretName() {
+ return this.secretName;
+ }
+
+ /**
+ * Set the secret name.
+ *
+ * @param secretName the secretName value to set
+ * @return the KeyVaultSecretRef object itself.
+ */
+ public KeyVaultSecretRef withSecretName(String secretName) {
+ this.secretName = secretName;
+ return this;
+ }
+
+ /**
+ * Get the secret version.
+ *
+ * @return the version value
+ */
+ public String version() {
+ return this.version;
+ }
+
+ /**
+ * Set the secret version.
+ *
+ * @param version the version value to set
+ * @return the KeyVaultSecretRef object itself.
+ */
+ public KeyVaultSecretRef withVersion(String version) {
+ this.version = version;
+ return this;
+ }
+
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/LoadBalancerSku.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/LoadBalancerSku.java
new file mode 100644
index 000000000000..a8ce0d012e30
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/LoadBalancerSku.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.containerservice.v2019_08_01;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for LoadBalancerSku.
+ */
+public final class LoadBalancerSku extends ExpandableStringEnum {
+ /** Static value standard for LoadBalancerSku. */
+ public static final LoadBalancerSku STANDARD = fromString("standard");
+
+ /** Static value basic for LoadBalancerSku. */
+ public static final LoadBalancerSku BASIC = fromString("basic");
+
+ /**
+ * Creates or finds a LoadBalancerSku from its string representation.
+ * @param name a name to look for
+ * @return the corresponding LoadBalancerSku
+ */
+ @JsonCreator
+ public static LoadBalancerSku fromString(String name) {
+ return fromString(name, LoadBalancerSku.class);
+ }
+
+ /**
+ * @return known LoadBalancerSku values
+ */
+ public static Collection values() {
+ return values(LoadBalancerSku.class);
+ }
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ManagedCluster.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ManagedCluster.java
new file mode 100644
index 000000000000..4e002464971f
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ManagedCluster.java
@@ -0,0 +1,491 @@
+/**
+ * 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.containerservice.v2019_08_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.Resource;
+import com.microsoft.azure.arm.resources.models.GroupableResourceCore;
+import com.microsoft.azure.arm.resources.models.HasResourceGroup;
+import com.microsoft.azure.arm.model.Refreshable;
+import com.microsoft.azure.arm.model.Updatable;
+import com.microsoft.azure.arm.model.Appliable;
+import com.microsoft.azure.arm.model.Creatable;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.containerservice.v2019_08_01.implementation.ContainerServiceManager;
+import java.util.List;
+import java.util.Map;
+import com.microsoft.azure.management.containerservice.v2019_08_01.implementation.ManagedClusterInner;
+
+/**
+ * Type representing ManagedCluster.
+ */
+public interface ManagedCluster extends HasInner, Resource, GroupableResourceCore, HasResourceGroup, Refreshable, Updatable, HasManager {
+ /**
+ * @return the aadProfile value.
+ */
+ ManagedClusterAADProfile aadProfile();
+
+ /**
+ * @return the addonProfiles value.
+ */
+ Map addonProfiles();
+
+ /**
+ * @return the agentPoolProfiles value.
+ */
+ List agentPoolProfiles();
+
+ /**
+ * @return the apiServerAccessProfile value.
+ */
+ ManagedClusterAPIServerAccessProfile apiServerAccessProfile();
+
+ /**
+ * @return the dnsPrefix value.
+ */
+ String dnsPrefix();
+
+ /**
+ * @return the enablePodSecurityPolicy value.
+ */
+ Boolean enablePodSecurityPolicy();
+
+ /**
+ * @return the enableRBAC value.
+ */
+ Boolean enableRBAC();
+
+ /**
+ * @return the fqdn value.
+ */
+ String fqdn();
+
+ /**
+ * @return the identity value.
+ */
+ ManagedClusterIdentity identity();
+
+ /**
+ * @return the kubernetesVersion value.
+ */
+ String kubernetesVersion();
+
+ /**
+ * @return the linuxProfile value.
+ */
+ ContainerServiceLinuxProfile linuxProfile();
+
+ /**
+ * @return the maxAgentPools value.
+ */
+ Integer maxAgentPools();
+
+ /**
+ * @return the networkProfile value.
+ */
+ ContainerServiceNetworkProfile networkProfile();
+
+ /**
+ * @return the nodeResourceGroup value.
+ */
+ String nodeResourceGroup();
+
+ /**
+ * @return the provisioningState value.
+ */
+ String provisioningState();
+
+ /**
+ * @return the servicePrincipalProfile value.
+ */
+ ManagedClusterServicePrincipalProfile servicePrincipalProfile();
+
+ /**
+ * @return the windowsProfile value.
+ */
+ ManagedClusterWindowsProfile windowsProfile();
+
+ /**
+ * The entirety of the ManagedCluster definition.
+ */
+ interface Definition extends DefinitionStages.Blank, DefinitionStages.WithGroup, DefinitionStages.WithCreate {
+ }
+
+ /**
+ * Grouping of ManagedCluster definition stages.
+ */
+ interface DefinitionStages {
+ /**
+ * The first stage of a ManagedCluster definition.
+ */
+ interface Blank extends GroupableResourceCore.DefinitionWithRegion {
+ }
+
+ /**
+ * The stage of the ManagedCluster definition allowing to specify the resource group.
+ */
+ interface WithGroup extends GroupableResourceCore.DefinitionStages.WithGroup {
+ }
+
+ /**
+ * The stage of the managedcluster definition allowing to specify AadProfile.
+ */
+ interface WithAadProfile {
+ /**
+ * Specifies aadProfile.
+ * @param aadProfile Profile of Azure Active Directory configuration
+ * @return the next definition stage
+ */
+ WithCreate withAadProfile(ManagedClusterAADProfile aadProfile);
+ }
+
+ /**
+ * The stage of the managedcluster definition allowing to specify AddonProfiles.
+ */
+ interface WithAddonProfiles {
+ /**
+ * Specifies addonProfiles.
+ * @param addonProfiles Profile of managed cluster add-on
+ * @return the next definition stage
+ */
+ WithCreate withAddonProfiles(Map addonProfiles);
+ }
+
+ /**
+ * The stage of the managedcluster definition allowing to specify AgentPoolProfiles.
+ */
+ interface WithAgentPoolProfiles {
+ /**
+ * Specifies agentPoolProfiles.
+ * @param agentPoolProfiles Properties of the agent pool
+ * @return the next definition stage
+ */
+ WithCreate withAgentPoolProfiles(List agentPoolProfiles);
+ }
+
+ /**
+ * The stage of the managedcluster definition allowing to specify ApiServerAccessProfile.
+ */
+ interface WithApiServerAccessProfile {
+ /**
+ * Specifies apiServerAccessProfile.
+ * @param apiServerAccessProfile Access profile for managed cluster API server
+ * @return the next definition stage
+ */
+ WithCreate withApiServerAccessProfile(ManagedClusterAPIServerAccessProfile apiServerAccessProfile);
+ }
+
+ /**
+ * The stage of the managedcluster definition allowing to specify DnsPrefix.
+ */
+ interface WithDnsPrefix {
+ /**
+ * Specifies dnsPrefix.
+ * @param dnsPrefix DNS prefix specified when creating the managed cluster
+ * @return the next definition stage
+ */
+ WithCreate withDnsPrefix(String dnsPrefix);
+ }
+
+ /**
+ * The stage of the managedcluster definition allowing to specify EnablePodSecurityPolicy.
+ */
+ interface WithEnablePodSecurityPolicy {
+ /**
+ * Specifies enablePodSecurityPolicy.
+ * @param enablePodSecurityPolicy (PREVIEW) Whether to enable Kubernetes Pod security policy
+ * @return the next definition stage
+ */
+ WithCreate withEnablePodSecurityPolicy(Boolean enablePodSecurityPolicy);
+ }
+
+ /**
+ * The stage of the managedcluster definition allowing to specify EnableRBAC.
+ */
+ interface WithEnableRBAC {
+ /**
+ * Specifies enableRBAC.
+ * @param enableRBAC Whether to enable Kubernetes Role-Based Access Control
+ * @return the next definition stage
+ */
+ WithCreate withEnableRBAC(Boolean enableRBAC);
+ }
+
+ /**
+ * The stage of the managedcluster definition allowing to specify Identity.
+ */
+ interface WithIdentity {
+ /**
+ * Specifies identity.
+ * @param identity The identity of the managed cluster, if configured
+ * @return the next definition stage
+ */
+ WithCreate withIdentity(ManagedClusterIdentity identity);
+ }
+
+ /**
+ * The stage of the managedcluster definition allowing to specify KubernetesVersion.
+ */
+ interface WithKubernetesVersion {
+ /**
+ * Specifies kubernetesVersion.
+ * @param kubernetesVersion Version of Kubernetes specified when creating the managed cluster
+ * @return the next definition stage
+ */
+ WithCreate withKubernetesVersion(String kubernetesVersion);
+ }
+
+ /**
+ * The stage of the managedcluster definition allowing to specify LinuxProfile.
+ */
+ interface WithLinuxProfile {
+ /**
+ * Specifies linuxProfile.
+ * @param linuxProfile Profile for Linux VMs in the container service cluster
+ * @return the next definition stage
+ */
+ WithCreate withLinuxProfile(ContainerServiceLinuxProfile linuxProfile);
+ }
+
+ /**
+ * The stage of the managedcluster definition allowing to specify NetworkProfile.
+ */
+ interface WithNetworkProfile {
+ /**
+ * Specifies networkProfile.
+ * @param networkProfile Profile of network configuration
+ * @return the next definition stage
+ */
+ WithCreate withNetworkProfile(ContainerServiceNetworkProfile networkProfile);
+ }
+
+ /**
+ * The stage of the managedcluster definition allowing to specify NodeResourceGroup.
+ */
+ interface WithNodeResourceGroup {
+ /**
+ * Specifies nodeResourceGroup.
+ * @param nodeResourceGroup Name of the resource group containing agent pool nodes
+ * @return the next definition stage
+ */
+ WithCreate withNodeResourceGroup(String nodeResourceGroup);
+ }
+
+ /**
+ * The stage of the managedcluster definition allowing to specify ServicePrincipalProfile.
+ */
+ interface WithServicePrincipalProfile {
+ /**
+ * Specifies servicePrincipalProfile.
+ * @param servicePrincipalProfile Information about a service principal identity for the cluster to use for manipulating Azure APIs
+ * @return the next definition stage
+ */
+ WithCreate withServicePrincipalProfile(ManagedClusterServicePrincipalProfile servicePrincipalProfile);
+ }
+
+ /**
+ * The stage of the managedcluster definition allowing to specify WindowsProfile.
+ */
+ interface WithWindowsProfile {
+ /**
+ * Specifies windowsProfile.
+ * @param windowsProfile Profile for Windows VMs in the container service cluster
+ * @return the next definition stage
+ */
+ WithCreate withWindowsProfile(ManagedClusterWindowsProfile windowsProfile);
+ }
+
+ /**
+ * The stage of the definition which contains all the minimum required inputs for
+ * the resource to be created (via {@link WithCreate#create()}), but also allows
+ * for any other optional settings to be specified.
+ */
+ interface WithCreate extends Creatable, Resource.DefinitionWithTags, DefinitionStages.WithAadProfile, DefinitionStages.WithAddonProfiles, DefinitionStages.WithAgentPoolProfiles, DefinitionStages.WithApiServerAccessProfile, DefinitionStages.WithDnsPrefix, DefinitionStages.WithEnablePodSecurityPolicy, DefinitionStages.WithEnableRBAC, DefinitionStages.WithIdentity, DefinitionStages.WithKubernetesVersion, DefinitionStages.WithLinuxProfile, DefinitionStages.WithNetworkProfile, DefinitionStages.WithNodeResourceGroup, DefinitionStages.WithServicePrincipalProfile, DefinitionStages.WithWindowsProfile {
+ }
+ }
+ /**
+ * The template for a ManagedCluster update operation, containing all the settings that can be modified.
+ */
+ interface Update extends Appliable, Resource.UpdateWithTags, UpdateStages.WithAadProfile, UpdateStages.WithAddonProfiles, UpdateStages.WithAgentPoolProfiles, UpdateStages.WithApiServerAccessProfile, UpdateStages.WithDnsPrefix, UpdateStages.WithEnablePodSecurityPolicy, UpdateStages.WithEnableRBAC, UpdateStages.WithIdentity, UpdateStages.WithKubernetesVersion, UpdateStages.WithLinuxProfile, UpdateStages.WithNetworkProfile, UpdateStages.WithNodeResourceGroup, UpdateStages.WithServicePrincipalProfile, UpdateStages.WithWindowsProfile {
+ }
+
+ /**
+ * Grouping of ManagedCluster update stages.
+ */
+ interface UpdateStages {
+ /**
+ * The stage of the managedcluster update allowing to specify AadProfile.
+ */
+ interface WithAadProfile {
+ /**
+ * Specifies aadProfile.
+ * @param aadProfile Profile of Azure Active Directory configuration
+ * @return the next update stage
+ */
+ Update withAadProfile(ManagedClusterAADProfile aadProfile);
+ }
+
+ /**
+ * The stage of the managedcluster update allowing to specify AddonProfiles.
+ */
+ interface WithAddonProfiles {
+ /**
+ * Specifies addonProfiles.
+ * @param addonProfiles Profile of managed cluster add-on
+ * @return the next update stage
+ */
+ Update withAddonProfiles(Map addonProfiles);
+ }
+
+ /**
+ * The stage of the managedcluster update allowing to specify AgentPoolProfiles.
+ */
+ interface WithAgentPoolProfiles {
+ /**
+ * Specifies agentPoolProfiles.
+ * @param agentPoolProfiles Properties of the agent pool
+ * @return the next update stage
+ */
+ Update withAgentPoolProfiles(List agentPoolProfiles);
+ }
+
+ /**
+ * The stage of the managedcluster update allowing to specify ApiServerAccessProfile.
+ */
+ interface WithApiServerAccessProfile {
+ /**
+ * Specifies apiServerAccessProfile.
+ * @param apiServerAccessProfile Access profile for managed cluster API server
+ * @return the next update stage
+ */
+ Update withApiServerAccessProfile(ManagedClusterAPIServerAccessProfile apiServerAccessProfile);
+ }
+
+ /**
+ * The stage of the managedcluster update allowing to specify DnsPrefix.
+ */
+ interface WithDnsPrefix {
+ /**
+ * Specifies dnsPrefix.
+ * @param dnsPrefix DNS prefix specified when creating the managed cluster
+ * @return the next update stage
+ */
+ Update withDnsPrefix(String dnsPrefix);
+ }
+
+ /**
+ * The stage of the managedcluster update allowing to specify EnablePodSecurityPolicy.
+ */
+ interface WithEnablePodSecurityPolicy {
+ /**
+ * Specifies enablePodSecurityPolicy.
+ * @param enablePodSecurityPolicy (PREVIEW) Whether to enable Kubernetes Pod security policy
+ * @return the next update stage
+ */
+ Update withEnablePodSecurityPolicy(Boolean enablePodSecurityPolicy);
+ }
+
+ /**
+ * The stage of the managedcluster update allowing to specify EnableRBAC.
+ */
+ interface WithEnableRBAC {
+ /**
+ * Specifies enableRBAC.
+ * @param enableRBAC Whether to enable Kubernetes Role-Based Access Control
+ * @return the next update stage
+ */
+ Update withEnableRBAC(Boolean enableRBAC);
+ }
+
+ /**
+ * The stage of the managedcluster update allowing to specify Identity.
+ */
+ interface WithIdentity {
+ /**
+ * Specifies identity.
+ * @param identity The identity of the managed cluster, if configured
+ * @return the next update stage
+ */
+ Update withIdentity(ManagedClusterIdentity identity);
+ }
+
+ /**
+ * The stage of the managedcluster update allowing to specify KubernetesVersion.
+ */
+ interface WithKubernetesVersion {
+ /**
+ * Specifies kubernetesVersion.
+ * @param kubernetesVersion Version of Kubernetes specified when creating the managed cluster
+ * @return the next update stage
+ */
+ Update withKubernetesVersion(String kubernetesVersion);
+ }
+
+ /**
+ * The stage of the managedcluster update allowing to specify LinuxProfile.
+ */
+ interface WithLinuxProfile {
+ /**
+ * Specifies linuxProfile.
+ * @param linuxProfile Profile for Linux VMs in the container service cluster
+ * @return the next update stage
+ */
+ Update withLinuxProfile(ContainerServiceLinuxProfile linuxProfile);
+ }
+
+ /**
+ * The stage of the managedcluster update allowing to specify NetworkProfile.
+ */
+ interface WithNetworkProfile {
+ /**
+ * Specifies networkProfile.
+ * @param networkProfile Profile of network configuration
+ * @return the next update stage
+ */
+ Update withNetworkProfile(ContainerServiceNetworkProfile networkProfile);
+ }
+
+ /**
+ * The stage of the managedcluster update allowing to specify NodeResourceGroup.
+ */
+ interface WithNodeResourceGroup {
+ /**
+ * Specifies nodeResourceGroup.
+ * @param nodeResourceGroup Name of the resource group containing agent pool nodes
+ * @return the next update stage
+ */
+ Update withNodeResourceGroup(String nodeResourceGroup);
+ }
+
+ /**
+ * The stage of the managedcluster update allowing to specify ServicePrincipalProfile.
+ */
+ interface WithServicePrincipalProfile {
+ /**
+ * Specifies servicePrincipalProfile.
+ * @param servicePrincipalProfile Information about a service principal identity for the cluster to use for manipulating Azure APIs
+ * @return the next update stage
+ */
+ Update withServicePrincipalProfile(ManagedClusterServicePrincipalProfile servicePrincipalProfile);
+ }
+
+ /**
+ * The stage of the managedcluster update allowing to specify WindowsProfile.
+ */
+ interface WithWindowsProfile {
+ /**
+ * Specifies windowsProfile.
+ * @param windowsProfile Profile for Windows VMs in the container service cluster
+ * @return the next update stage
+ */
+ Update withWindowsProfile(ManagedClusterWindowsProfile windowsProfile);
+ }
+
+ }
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ManagedClusterAADProfile.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ManagedClusterAADProfile.java
new file mode 100644
index 000000000000..5bb7d3effab8
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ManagedClusterAADProfile.java
@@ -0,0 +1,122 @@
+/**
+ * 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.containerservice.v2019_08_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * AADProfile specifies attributes for Azure Active Directory integration.
+ */
+public class ManagedClusterAADProfile {
+ /**
+ * The client AAD application ID.
+ */
+ @JsonProperty(value = "clientAppID", required = true)
+ private String clientAppID;
+
+ /**
+ * The server AAD application ID.
+ */
+ @JsonProperty(value = "serverAppID", required = true)
+ private String serverAppID;
+
+ /**
+ * The server AAD application secret.
+ */
+ @JsonProperty(value = "serverAppSecret")
+ private String serverAppSecret;
+
+ /**
+ * The AAD tenant ID to use for authentication. If not specified, will use
+ * the tenant of the deployment subscription.
+ */
+ @JsonProperty(value = "tenantID")
+ private String tenantID;
+
+ /**
+ * Get the client AAD application ID.
+ *
+ * @return the clientAppID value
+ */
+ public String clientAppID() {
+ return this.clientAppID;
+ }
+
+ /**
+ * Set the client AAD application ID.
+ *
+ * @param clientAppID the clientAppID value to set
+ * @return the ManagedClusterAADProfile object itself.
+ */
+ public ManagedClusterAADProfile withClientAppID(String clientAppID) {
+ this.clientAppID = clientAppID;
+ return this;
+ }
+
+ /**
+ * Get the server AAD application ID.
+ *
+ * @return the serverAppID value
+ */
+ public String serverAppID() {
+ return this.serverAppID;
+ }
+
+ /**
+ * Set the server AAD application ID.
+ *
+ * @param serverAppID the serverAppID value to set
+ * @return the ManagedClusterAADProfile object itself.
+ */
+ public ManagedClusterAADProfile withServerAppID(String serverAppID) {
+ this.serverAppID = serverAppID;
+ return this;
+ }
+
+ /**
+ * Get the server AAD application secret.
+ *
+ * @return the serverAppSecret value
+ */
+ public String serverAppSecret() {
+ return this.serverAppSecret;
+ }
+
+ /**
+ * Set the server AAD application secret.
+ *
+ * @param serverAppSecret the serverAppSecret value to set
+ * @return the ManagedClusterAADProfile object itself.
+ */
+ public ManagedClusterAADProfile withServerAppSecret(String serverAppSecret) {
+ this.serverAppSecret = serverAppSecret;
+ return this;
+ }
+
+ /**
+ * Get the AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription.
+ *
+ * @return the tenantID value
+ */
+ public String tenantID() {
+ return this.tenantID;
+ }
+
+ /**
+ * Set the AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription.
+ *
+ * @param tenantID the tenantID value to set
+ * @return the ManagedClusterAADProfile object itself.
+ */
+ public ManagedClusterAADProfile withTenantID(String tenantID) {
+ this.tenantID = tenantID;
+ return this;
+ }
+
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ManagedClusterAPIServerAccessProfile.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ManagedClusterAPIServerAccessProfile.java
new file mode 100644
index 000000000000..e28893148faa
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ManagedClusterAPIServerAccessProfile.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.containerservice.v2019_08_01;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Access profile for managed cluster API server.
+ */
+public class ManagedClusterAPIServerAccessProfile {
+ /**
+ * Authorized IP Ranges to kubernetes API server.
+ */
+ @JsonProperty(value = "authorizedIPRanges")
+ private List authorizedIPRanges;
+
+ /**
+ * Whether to create the cluster as a private cluster or not.
+ */
+ @JsonProperty(value = "enablePrivateCluster")
+ private Boolean enablePrivateCluster;
+
+ /**
+ * Get authorized IP Ranges to kubernetes API server.
+ *
+ * @return the authorizedIPRanges value
+ */
+ public List authorizedIPRanges() {
+ return this.authorizedIPRanges;
+ }
+
+ /**
+ * Set authorized IP Ranges to kubernetes API server.
+ *
+ * @param authorizedIPRanges the authorizedIPRanges value to set
+ * @return the ManagedClusterAPIServerAccessProfile object itself.
+ */
+ public ManagedClusterAPIServerAccessProfile withAuthorizedIPRanges(List authorizedIPRanges) {
+ this.authorizedIPRanges = authorizedIPRanges;
+ return this;
+ }
+
+ /**
+ * Get whether to create the cluster as a private cluster or not.
+ *
+ * @return the enablePrivateCluster value
+ */
+ public Boolean enablePrivateCluster() {
+ return this.enablePrivateCluster;
+ }
+
+ /**
+ * Set whether to create the cluster as a private cluster or not.
+ *
+ * @param enablePrivateCluster the enablePrivateCluster value to set
+ * @return the ManagedClusterAPIServerAccessProfile object itself.
+ */
+ public ManagedClusterAPIServerAccessProfile withEnablePrivateCluster(Boolean enablePrivateCluster) {
+ this.enablePrivateCluster = enablePrivateCluster;
+ return this;
+ }
+
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ManagedClusterAccessProfile.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ManagedClusterAccessProfile.java
new file mode 100644
index 000000000000..c11a33700689
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ManagedClusterAccessProfile.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.containerservice.v2019_08_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.containerservice.v2019_08_01.implementation.ContainerServiceManager;
+import com.microsoft.azure.management.containerservice.v2019_08_01.implementation.ManagedClusterAccessProfileInner;
+import java.util.Map;
+
+/**
+ * Type representing ManagedClusterAccessProfile.
+ */
+public interface ManagedClusterAccessProfile extends HasInner, HasManager {
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the kubeConfig value.
+ */
+ byte[] kubeConfig();
+
+ /**
+ * @return the location value.
+ */
+ String location();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the tags value.
+ */
+ Map tags();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ManagedClusterAddonProfile.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ManagedClusterAddonProfile.java
new file mode 100644
index 000000000000..6700ba66acb0
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ManagedClusterAddonProfile.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.containerservice.v2019_08_01;
+
+import java.util.Map;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * A Kubernetes add-on profile for a managed cluster.
+ */
+public class ManagedClusterAddonProfile {
+ /**
+ * Whether the add-on is enabled or not.
+ */
+ @JsonProperty(value = "enabled", required = true)
+ private boolean enabled;
+
+ /**
+ * Key-value pairs for configuring an add-on.
+ */
+ @JsonProperty(value = "config")
+ private Map config;
+
+ /**
+ * Get whether the add-on is enabled or not.
+ *
+ * @return the enabled value
+ */
+ public boolean enabled() {
+ return this.enabled;
+ }
+
+ /**
+ * Set whether the add-on is enabled or not.
+ *
+ * @param enabled the enabled value to set
+ * @return the ManagedClusterAddonProfile object itself.
+ */
+ public ManagedClusterAddonProfile withEnabled(boolean enabled) {
+ this.enabled = enabled;
+ return this;
+ }
+
+ /**
+ * Get key-value pairs for configuring an add-on.
+ *
+ * @return the config value
+ */
+ public Map config() {
+ return this.config;
+ }
+
+ /**
+ * Set key-value pairs for configuring an add-on.
+ *
+ * @param config the config value to set
+ * @return the ManagedClusterAddonProfile object itself.
+ */
+ public ManagedClusterAddonProfile withConfig(Map config) {
+ this.config = config;
+ return this;
+ }
+
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ManagedClusterAgentPoolProfile.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ManagedClusterAgentPoolProfile.java
new file mode 100644
index 000000000000..4af0e3f80c1c
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ManagedClusterAgentPoolProfile.java
@@ -0,0 +1,44 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerservice.v2019_08_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Profile for the container service agent pool.
+ */
+public class ManagedClusterAgentPoolProfile extends ManagedClusterAgentPoolProfileProperties {
+ /**
+ * Unique name of the agent pool profile in the context of the subscription
+ * and resource group.
+ */
+ @JsonProperty(value = "name", required = true)
+ private String name;
+
+ /**
+ * Get unique name of the agent pool profile in the context of the subscription and resource group.
+ *
+ * @return the name value
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set unique name of the agent pool profile in the context of the subscription and resource group.
+ *
+ * @param name the name value to set
+ * @return the ManagedClusterAgentPoolProfile object itself.
+ */
+ public ManagedClusterAgentPoolProfile withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ManagedClusterAgentPoolProfileProperties.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ManagedClusterAgentPoolProfileProperties.java
new file mode 100644
index 000000000000..71a75d7f1378
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ManagedClusterAgentPoolProfileProperties.java
@@ -0,0 +1,511 @@
+/**
+ * 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.containerservice.v2019_08_01;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Properties for the container service agent pool profile.
+ */
+public class ManagedClusterAgentPoolProfileProperties {
+ /**
+ * Number of agents (VMs) to host docker containers. Allowed values must be
+ * in the range of 1 to 100 (inclusive). The default value is 1.
+ */
+ @JsonProperty(value = "count", required = true)
+ private int count;
+
+ /**
+ * Size of agent VMs. Possible values include: 'Standard_A1',
+ * 'Standard_A10', 'Standard_A11', 'Standard_A1_v2', 'Standard_A2',
+ * 'Standard_A2_v2', 'Standard_A2m_v2', 'Standard_A3', 'Standard_A4',
+ * 'Standard_A4_v2', 'Standard_A4m_v2', 'Standard_A5', 'Standard_A6',
+ * 'Standard_A7', 'Standard_A8', 'Standard_A8_v2', 'Standard_A8m_v2',
+ * 'Standard_A9', 'Standard_B2ms', 'Standard_B2s', 'Standard_B4ms',
+ * 'Standard_B8ms', 'Standard_D1', 'Standard_D11', 'Standard_D11_v2',
+ * 'Standard_D11_v2_Promo', 'Standard_D12', 'Standard_D12_v2',
+ * 'Standard_D12_v2_Promo', 'Standard_D13', 'Standard_D13_v2',
+ * 'Standard_D13_v2_Promo', 'Standard_D14', 'Standard_D14_v2',
+ * 'Standard_D14_v2_Promo', 'Standard_D15_v2', 'Standard_D16_v3',
+ * 'Standard_D16s_v3', 'Standard_D1_v2', 'Standard_D2', 'Standard_D2_v2',
+ * 'Standard_D2_v2_Promo', 'Standard_D2_v3', 'Standard_D2s_v3',
+ * 'Standard_D3', 'Standard_D32_v3', 'Standard_D32s_v3', 'Standard_D3_v2',
+ * 'Standard_D3_v2_Promo', 'Standard_D4', 'Standard_D4_v2',
+ * 'Standard_D4_v2_Promo', 'Standard_D4_v3', 'Standard_D4s_v3',
+ * 'Standard_D5_v2', 'Standard_D5_v2_Promo', 'Standard_D64_v3',
+ * 'Standard_D64s_v3', 'Standard_D8_v3', 'Standard_D8s_v3', 'Standard_DS1',
+ * 'Standard_DS11', 'Standard_DS11_v2', 'Standard_DS11_v2_Promo',
+ * 'Standard_DS12', 'Standard_DS12_v2', 'Standard_DS12_v2_Promo',
+ * 'Standard_DS13', 'Standard_DS13-2_v2', 'Standard_DS13-4_v2',
+ * 'Standard_DS13_v2', 'Standard_DS13_v2_Promo', 'Standard_DS14',
+ * 'Standard_DS14-4_v2', 'Standard_DS14-8_v2', 'Standard_DS14_v2',
+ * 'Standard_DS14_v2_Promo', 'Standard_DS15_v2', 'Standard_DS1_v2',
+ * 'Standard_DS2', 'Standard_DS2_v2', 'Standard_DS2_v2_Promo',
+ * 'Standard_DS3', 'Standard_DS3_v2', 'Standard_DS3_v2_Promo',
+ * 'Standard_DS4', 'Standard_DS4_v2', 'Standard_DS4_v2_Promo',
+ * 'Standard_DS5_v2', 'Standard_DS5_v2_Promo', 'Standard_E16_v3',
+ * 'Standard_E16s_v3', 'Standard_E2_v3', 'Standard_E2s_v3',
+ * 'Standard_E32-16s_v3', 'Standard_E32-8s_v3', 'Standard_E32_v3',
+ * 'Standard_E32s_v3', 'Standard_E4_v3', 'Standard_E4s_v3',
+ * 'Standard_E64-16s_v3', 'Standard_E64-32s_v3', 'Standard_E64_v3',
+ * 'Standard_E64s_v3', 'Standard_E8_v3', 'Standard_E8s_v3', 'Standard_F1',
+ * 'Standard_F16', 'Standard_F16s', 'Standard_F16s_v2', 'Standard_F1s',
+ * 'Standard_F2', 'Standard_F2s', 'Standard_F2s_v2', 'Standard_F32s_v2',
+ * 'Standard_F4', 'Standard_F4s', 'Standard_F4s_v2', 'Standard_F64s_v2',
+ * 'Standard_F72s_v2', 'Standard_F8', 'Standard_F8s', 'Standard_F8s_v2',
+ * 'Standard_G1', 'Standard_G2', 'Standard_G3', 'Standard_G4',
+ * 'Standard_G5', 'Standard_GS1', 'Standard_GS2', 'Standard_GS3',
+ * 'Standard_GS4', 'Standard_GS4-4', 'Standard_GS4-8', 'Standard_GS5',
+ * 'Standard_GS5-16', 'Standard_GS5-8', 'Standard_H16', 'Standard_H16m',
+ * 'Standard_H16mr', 'Standard_H16r', 'Standard_H8', 'Standard_H8m',
+ * 'Standard_L16s', 'Standard_L32s', 'Standard_L4s', 'Standard_L8s',
+ * 'Standard_M128-32ms', 'Standard_M128-64ms', 'Standard_M128ms',
+ * 'Standard_M128s', 'Standard_M64-16ms', 'Standard_M64-32ms',
+ * 'Standard_M64ms', 'Standard_M64s', 'Standard_NC12', 'Standard_NC12s_v2',
+ * 'Standard_NC12s_v3', 'Standard_NC24', 'Standard_NC24r',
+ * 'Standard_NC24rs_v2', 'Standard_NC24rs_v3', 'Standard_NC24s_v2',
+ * 'Standard_NC24s_v3', 'Standard_NC6', 'Standard_NC6s_v2',
+ * 'Standard_NC6s_v3', 'Standard_ND12s', 'Standard_ND24rs',
+ * 'Standard_ND24s', 'Standard_ND6s', 'Standard_NV12', 'Standard_NV24',
+ * 'Standard_NV6'.
+ */
+ @JsonProperty(value = "vmSize", required = true)
+ private ContainerServiceVMSizeTypes vmSize;
+
+ /**
+ * OS Disk Size in GB to be used to specify the disk size for every machine
+ * in this master/agent pool. If you specify 0, it will apply the default
+ * osDisk size according to the vmSize specified.
+ */
+ @JsonProperty(value = "osDiskSizeGB")
+ private Integer osDiskSizeGB;
+
+ /**
+ * VNet SubnetID specifies the VNet's subnet identifier.
+ */
+ @JsonProperty(value = "vnetSubnetID")
+ private String vnetSubnetID;
+
+ /**
+ * Maximum number of pods that can run on a node.
+ */
+ @JsonProperty(value = "maxPods")
+ private Integer maxPods;
+
+ /**
+ * OsType to be used to specify os type. Choose from Linux and Windows.
+ * Default to Linux. Possible values include: 'Linux', 'Windows'.
+ */
+ @JsonProperty(value = "osType")
+ private OSType osType;
+
+ /**
+ * Maximum number of nodes for auto-scaling.
+ */
+ @JsonProperty(value = "maxCount")
+ private Integer maxCount;
+
+ /**
+ * Minimum number of nodes for auto-scaling.
+ */
+ @JsonProperty(value = "minCount")
+ private Integer minCount;
+
+ /**
+ * Whether to enable auto-scaler.
+ */
+ @JsonProperty(value = "enableAutoScaling")
+ private Boolean enableAutoScaling;
+
+ /**
+ * AgentPoolType represents types of an agent pool. Possible values
+ * include: 'VirtualMachineScaleSets', 'AvailabilitySet'.
+ */
+ @JsonProperty(value = "type")
+ private AgentPoolType type;
+
+ /**
+ * Version of orchestrator specified when creating the managed cluster.
+ */
+ @JsonProperty(value = "orchestratorVersion")
+ private String orchestratorVersion;
+
+ /**
+ * The current deployment or provisioning state, which only appears in the
+ * response.
+ */
+ @JsonProperty(value = "provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private String provisioningState;
+
+ /**
+ * (PREVIEW) Availability zones for nodes. Must use VirtualMachineScaleSets
+ * AgentPoolType.
+ */
+ @JsonProperty(value = "availabilityZones")
+ private List availabilityZones;
+
+ /**
+ * Enable public IP for nodes.
+ */
+ @JsonProperty(value = "enableNodePublicIP")
+ private Boolean enableNodePublicIP;
+
+ /**
+ * ScaleSetPriority to be used to specify virtual machine scale set
+ * priority. Default to regular. Possible values include: 'Low', 'Regular'.
+ */
+ @JsonProperty(value = "scaleSetPriority")
+ private ScaleSetPriority scaleSetPriority;
+
+ /**
+ * ScaleSetEvictionPolicy to be used to specify eviction policy for low
+ * priority virtual machine scale set. Default to Delete. Possible values
+ * include: 'Delete', 'Deallocate'.
+ */
+ @JsonProperty(value = "scaleSetEvictionPolicy")
+ private ScaleSetEvictionPolicy scaleSetEvictionPolicy;
+
+ /**
+ * Taints added to new nodes during node pool create and scale. For
+ * example, key=value:NoSchedule.
+ */
+ @JsonProperty(value = "nodeTaints")
+ private List nodeTaints;
+
+ /**
+ * Get number of agents (VMs) to host docker containers. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1.
+ *
+ * @return the count value
+ */
+ public int count() {
+ return this.count;
+ }
+
+ /**
+ * Set number of agents (VMs) to host docker containers. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1.
+ *
+ * @param count the count value to set
+ * @return the ManagedClusterAgentPoolProfileProperties object itself.
+ */
+ public ManagedClusterAgentPoolProfileProperties withCount(int count) {
+ this.count = count;
+ return this;
+ }
+
+ /**
+ * Get size of agent VMs. Possible values include: 'Standard_A1', 'Standard_A10', 'Standard_A11', 'Standard_A1_v2', 'Standard_A2', 'Standard_A2_v2', 'Standard_A2m_v2', 'Standard_A3', 'Standard_A4', 'Standard_A4_v2', 'Standard_A4m_v2', 'Standard_A5', 'Standard_A6', 'Standard_A7', 'Standard_A8', 'Standard_A8_v2', 'Standard_A8m_v2', 'Standard_A9', 'Standard_B2ms', 'Standard_B2s', 'Standard_B4ms', 'Standard_B8ms', 'Standard_D1', 'Standard_D11', 'Standard_D11_v2', 'Standard_D11_v2_Promo', 'Standard_D12', 'Standard_D12_v2', 'Standard_D12_v2_Promo', 'Standard_D13', 'Standard_D13_v2', 'Standard_D13_v2_Promo', 'Standard_D14', 'Standard_D14_v2', 'Standard_D14_v2_Promo', 'Standard_D15_v2', 'Standard_D16_v3', 'Standard_D16s_v3', 'Standard_D1_v2', 'Standard_D2', 'Standard_D2_v2', 'Standard_D2_v2_Promo', 'Standard_D2_v3', 'Standard_D2s_v3', 'Standard_D3', 'Standard_D32_v3', 'Standard_D32s_v3', 'Standard_D3_v2', 'Standard_D3_v2_Promo', 'Standard_D4', 'Standard_D4_v2', 'Standard_D4_v2_Promo', 'Standard_D4_v3', 'Standard_D4s_v3', 'Standard_D5_v2', 'Standard_D5_v2_Promo', 'Standard_D64_v3', 'Standard_D64s_v3', 'Standard_D8_v3', 'Standard_D8s_v3', 'Standard_DS1', 'Standard_DS11', 'Standard_DS11_v2', 'Standard_DS11_v2_Promo', 'Standard_DS12', 'Standard_DS12_v2', 'Standard_DS12_v2_Promo', 'Standard_DS13', 'Standard_DS13-2_v2', 'Standard_DS13-4_v2', 'Standard_DS13_v2', 'Standard_DS13_v2_Promo', 'Standard_DS14', 'Standard_DS14-4_v2', 'Standard_DS14-8_v2', 'Standard_DS14_v2', 'Standard_DS14_v2_Promo', 'Standard_DS15_v2', 'Standard_DS1_v2', 'Standard_DS2', 'Standard_DS2_v2', 'Standard_DS2_v2_Promo', 'Standard_DS3', 'Standard_DS3_v2', 'Standard_DS3_v2_Promo', 'Standard_DS4', 'Standard_DS4_v2', 'Standard_DS4_v2_Promo', 'Standard_DS5_v2', 'Standard_DS5_v2_Promo', 'Standard_E16_v3', 'Standard_E16s_v3', 'Standard_E2_v3', 'Standard_E2s_v3', 'Standard_E32-16s_v3', 'Standard_E32-8s_v3', 'Standard_E32_v3', 'Standard_E32s_v3', 'Standard_E4_v3', 'Standard_E4s_v3', 'Standard_E64-16s_v3', 'Standard_E64-32s_v3', 'Standard_E64_v3', 'Standard_E64s_v3', 'Standard_E8_v3', 'Standard_E8s_v3', 'Standard_F1', 'Standard_F16', 'Standard_F16s', 'Standard_F16s_v2', 'Standard_F1s', 'Standard_F2', 'Standard_F2s', 'Standard_F2s_v2', 'Standard_F32s_v2', 'Standard_F4', 'Standard_F4s', 'Standard_F4s_v2', 'Standard_F64s_v2', 'Standard_F72s_v2', 'Standard_F8', 'Standard_F8s', 'Standard_F8s_v2', 'Standard_G1', 'Standard_G2', 'Standard_G3', 'Standard_G4', 'Standard_G5', 'Standard_GS1', 'Standard_GS2', 'Standard_GS3', 'Standard_GS4', 'Standard_GS4-4', 'Standard_GS4-8', 'Standard_GS5', 'Standard_GS5-16', 'Standard_GS5-8', 'Standard_H16', 'Standard_H16m', 'Standard_H16mr', 'Standard_H16r', 'Standard_H8', 'Standard_H8m', 'Standard_L16s', 'Standard_L32s', 'Standard_L4s', 'Standard_L8s', 'Standard_M128-32ms', 'Standard_M128-64ms', 'Standard_M128ms', 'Standard_M128s', 'Standard_M64-16ms', 'Standard_M64-32ms', 'Standard_M64ms', 'Standard_M64s', 'Standard_NC12', 'Standard_NC12s_v2', 'Standard_NC12s_v3', 'Standard_NC24', 'Standard_NC24r', 'Standard_NC24rs_v2', 'Standard_NC24rs_v3', 'Standard_NC24s_v2', 'Standard_NC24s_v3', 'Standard_NC6', 'Standard_NC6s_v2', 'Standard_NC6s_v3', 'Standard_ND12s', 'Standard_ND24rs', 'Standard_ND24s', 'Standard_ND6s', 'Standard_NV12', 'Standard_NV24', 'Standard_NV6'.
+ *
+ * @return the vmSize value
+ */
+ public ContainerServiceVMSizeTypes vmSize() {
+ return this.vmSize;
+ }
+
+ /**
+ * Set size of agent VMs. Possible values include: 'Standard_A1', 'Standard_A10', 'Standard_A11', 'Standard_A1_v2', 'Standard_A2', 'Standard_A2_v2', 'Standard_A2m_v2', 'Standard_A3', 'Standard_A4', 'Standard_A4_v2', 'Standard_A4m_v2', 'Standard_A5', 'Standard_A6', 'Standard_A7', 'Standard_A8', 'Standard_A8_v2', 'Standard_A8m_v2', 'Standard_A9', 'Standard_B2ms', 'Standard_B2s', 'Standard_B4ms', 'Standard_B8ms', 'Standard_D1', 'Standard_D11', 'Standard_D11_v2', 'Standard_D11_v2_Promo', 'Standard_D12', 'Standard_D12_v2', 'Standard_D12_v2_Promo', 'Standard_D13', 'Standard_D13_v2', 'Standard_D13_v2_Promo', 'Standard_D14', 'Standard_D14_v2', 'Standard_D14_v2_Promo', 'Standard_D15_v2', 'Standard_D16_v3', 'Standard_D16s_v3', 'Standard_D1_v2', 'Standard_D2', 'Standard_D2_v2', 'Standard_D2_v2_Promo', 'Standard_D2_v3', 'Standard_D2s_v3', 'Standard_D3', 'Standard_D32_v3', 'Standard_D32s_v3', 'Standard_D3_v2', 'Standard_D3_v2_Promo', 'Standard_D4', 'Standard_D4_v2', 'Standard_D4_v2_Promo', 'Standard_D4_v3', 'Standard_D4s_v3', 'Standard_D5_v2', 'Standard_D5_v2_Promo', 'Standard_D64_v3', 'Standard_D64s_v3', 'Standard_D8_v3', 'Standard_D8s_v3', 'Standard_DS1', 'Standard_DS11', 'Standard_DS11_v2', 'Standard_DS11_v2_Promo', 'Standard_DS12', 'Standard_DS12_v2', 'Standard_DS12_v2_Promo', 'Standard_DS13', 'Standard_DS13-2_v2', 'Standard_DS13-4_v2', 'Standard_DS13_v2', 'Standard_DS13_v2_Promo', 'Standard_DS14', 'Standard_DS14-4_v2', 'Standard_DS14-8_v2', 'Standard_DS14_v2', 'Standard_DS14_v2_Promo', 'Standard_DS15_v2', 'Standard_DS1_v2', 'Standard_DS2', 'Standard_DS2_v2', 'Standard_DS2_v2_Promo', 'Standard_DS3', 'Standard_DS3_v2', 'Standard_DS3_v2_Promo', 'Standard_DS4', 'Standard_DS4_v2', 'Standard_DS4_v2_Promo', 'Standard_DS5_v2', 'Standard_DS5_v2_Promo', 'Standard_E16_v3', 'Standard_E16s_v3', 'Standard_E2_v3', 'Standard_E2s_v3', 'Standard_E32-16s_v3', 'Standard_E32-8s_v3', 'Standard_E32_v3', 'Standard_E32s_v3', 'Standard_E4_v3', 'Standard_E4s_v3', 'Standard_E64-16s_v3', 'Standard_E64-32s_v3', 'Standard_E64_v3', 'Standard_E64s_v3', 'Standard_E8_v3', 'Standard_E8s_v3', 'Standard_F1', 'Standard_F16', 'Standard_F16s', 'Standard_F16s_v2', 'Standard_F1s', 'Standard_F2', 'Standard_F2s', 'Standard_F2s_v2', 'Standard_F32s_v2', 'Standard_F4', 'Standard_F4s', 'Standard_F4s_v2', 'Standard_F64s_v2', 'Standard_F72s_v2', 'Standard_F8', 'Standard_F8s', 'Standard_F8s_v2', 'Standard_G1', 'Standard_G2', 'Standard_G3', 'Standard_G4', 'Standard_G5', 'Standard_GS1', 'Standard_GS2', 'Standard_GS3', 'Standard_GS4', 'Standard_GS4-4', 'Standard_GS4-8', 'Standard_GS5', 'Standard_GS5-16', 'Standard_GS5-8', 'Standard_H16', 'Standard_H16m', 'Standard_H16mr', 'Standard_H16r', 'Standard_H8', 'Standard_H8m', 'Standard_L16s', 'Standard_L32s', 'Standard_L4s', 'Standard_L8s', 'Standard_M128-32ms', 'Standard_M128-64ms', 'Standard_M128ms', 'Standard_M128s', 'Standard_M64-16ms', 'Standard_M64-32ms', 'Standard_M64ms', 'Standard_M64s', 'Standard_NC12', 'Standard_NC12s_v2', 'Standard_NC12s_v3', 'Standard_NC24', 'Standard_NC24r', 'Standard_NC24rs_v2', 'Standard_NC24rs_v3', 'Standard_NC24s_v2', 'Standard_NC24s_v3', 'Standard_NC6', 'Standard_NC6s_v2', 'Standard_NC6s_v3', 'Standard_ND12s', 'Standard_ND24rs', 'Standard_ND24s', 'Standard_ND6s', 'Standard_NV12', 'Standard_NV24', 'Standard_NV6'.
+ *
+ * @param vmSize the vmSize value to set
+ * @return the ManagedClusterAgentPoolProfileProperties object itself.
+ */
+ public ManagedClusterAgentPoolProfileProperties withVmSize(ContainerServiceVMSizeTypes vmSize) {
+ this.vmSize = vmSize;
+ return this;
+ }
+
+ /**
+ * Get oS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified.
+ *
+ * @return the osDiskSizeGB value
+ */
+ public Integer osDiskSizeGB() {
+ return this.osDiskSizeGB;
+ }
+
+ /**
+ * Set oS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified.
+ *
+ * @param osDiskSizeGB the osDiskSizeGB value to set
+ * @return the ManagedClusterAgentPoolProfileProperties object itself.
+ */
+ public ManagedClusterAgentPoolProfileProperties withOsDiskSizeGB(Integer osDiskSizeGB) {
+ this.osDiskSizeGB = osDiskSizeGB;
+ return this;
+ }
+
+ /**
+ * Get vNet SubnetID specifies the VNet's subnet identifier.
+ *
+ * @return the vnetSubnetID value
+ */
+ public String vnetSubnetID() {
+ return this.vnetSubnetID;
+ }
+
+ /**
+ * Set vNet SubnetID specifies the VNet's subnet identifier.
+ *
+ * @param vnetSubnetID the vnetSubnetID value to set
+ * @return the ManagedClusterAgentPoolProfileProperties object itself.
+ */
+ public ManagedClusterAgentPoolProfileProperties withVnetSubnetID(String vnetSubnetID) {
+ this.vnetSubnetID = vnetSubnetID;
+ return this;
+ }
+
+ /**
+ * Get maximum number of pods that can run on a node.
+ *
+ * @return the maxPods value
+ */
+ public Integer maxPods() {
+ return this.maxPods;
+ }
+
+ /**
+ * Set maximum number of pods that can run on a node.
+ *
+ * @param maxPods the maxPods value to set
+ * @return the ManagedClusterAgentPoolProfileProperties object itself.
+ */
+ public ManagedClusterAgentPoolProfileProperties withMaxPods(Integer maxPods) {
+ this.maxPods = maxPods;
+ return this;
+ }
+
+ /**
+ * Get osType to be used to specify os type. Choose from Linux and Windows. Default to Linux. Possible values include: 'Linux', 'Windows'.
+ *
+ * @return the osType value
+ */
+ public OSType osType() {
+ return this.osType;
+ }
+
+ /**
+ * Set osType to be used to specify os type. Choose from Linux and Windows. Default to Linux. Possible values include: 'Linux', 'Windows'.
+ *
+ * @param osType the osType value to set
+ * @return the ManagedClusterAgentPoolProfileProperties object itself.
+ */
+ public ManagedClusterAgentPoolProfileProperties withOsType(OSType osType) {
+ this.osType = osType;
+ return this;
+ }
+
+ /**
+ * Get maximum number of nodes for auto-scaling.
+ *
+ * @return the maxCount value
+ */
+ public Integer maxCount() {
+ return this.maxCount;
+ }
+
+ /**
+ * Set maximum number of nodes for auto-scaling.
+ *
+ * @param maxCount the maxCount value to set
+ * @return the ManagedClusterAgentPoolProfileProperties object itself.
+ */
+ public ManagedClusterAgentPoolProfileProperties withMaxCount(Integer maxCount) {
+ this.maxCount = maxCount;
+ return this;
+ }
+
+ /**
+ * Get minimum number of nodes for auto-scaling.
+ *
+ * @return the minCount value
+ */
+ public Integer minCount() {
+ return this.minCount;
+ }
+
+ /**
+ * Set minimum number of nodes for auto-scaling.
+ *
+ * @param minCount the minCount value to set
+ * @return the ManagedClusterAgentPoolProfileProperties object itself.
+ */
+ public ManagedClusterAgentPoolProfileProperties withMinCount(Integer minCount) {
+ this.minCount = minCount;
+ return this;
+ }
+
+ /**
+ * Get whether to enable auto-scaler.
+ *
+ * @return the enableAutoScaling value
+ */
+ public Boolean enableAutoScaling() {
+ return this.enableAutoScaling;
+ }
+
+ /**
+ * Set whether to enable auto-scaler.
+ *
+ * @param enableAutoScaling the enableAutoScaling value to set
+ * @return the ManagedClusterAgentPoolProfileProperties object itself.
+ */
+ public ManagedClusterAgentPoolProfileProperties withEnableAutoScaling(Boolean enableAutoScaling) {
+ this.enableAutoScaling = enableAutoScaling;
+ return this;
+ }
+
+ /**
+ * Get agentPoolType represents types of an agent pool. Possible values include: 'VirtualMachineScaleSets', 'AvailabilitySet'.
+ *
+ * @return the type value
+ */
+ public AgentPoolType type() {
+ return this.type;
+ }
+
+ /**
+ * Set agentPoolType represents types of an agent pool. Possible values include: 'VirtualMachineScaleSets', 'AvailabilitySet'.
+ *
+ * @param type the type value to set
+ * @return the ManagedClusterAgentPoolProfileProperties object itself.
+ */
+ public ManagedClusterAgentPoolProfileProperties withType(AgentPoolType type) {
+ this.type = type;
+ return this;
+ }
+
+ /**
+ * Get version of orchestrator specified when creating the managed cluster.
+ *
+ * @return the orchestratorVersion value
+ */
+ public String orchestratorVersion() {
+ return this.orchestratorVersion;
+ }
+
+ /**
+ * Set version of orchestrator specified when creating the managed cluster.
+ *
+ * @param orchestratorVersion the orchestratorVersion value to set
+ * @return the ManagedClusterAgentPoolProfileProperties object itself.
+ */
+ public ManagedClusterAgentPoolProfileProperties withOrchestratorVersion(String orchestratorVersion) {
+ this.orchestratorVersion = orchestratorVersion;
+ return this;
+ }
+
+ /**
+ * Get the current deployment or provisioning state, which only appears in the response.
+ *
+ * @return the provisioningState value
+ */
+ public String provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get (PREVIEW) Availability zones for nodes. Must use VirtualMachineScaleSets AgentPoolType.
+ *
+ * @return the availabilityZones value
+ */
+ public List availabilityZones() {
+ return this.availabilityZones;
+ }
+
+ /**
+ * Set (PREVIEW) Availability zones for nodes. Must use VirtualMachineScaleSets AgentPoolType.
+ *
+ * @param availabilityZones the availabilityZones value to set
+ * @return the ManagedClusterAgentPoolProfileProperties object itself.
+ */
+ public ManagedClusterAgentPoolProfileProperties withAvailabilityZones(List availabilityZones) {
+ this.availabilityZones = availabilityZones;
+ return this;
+ }
+
+ /**
+ * Get enable public IP for nodes.
+ *
+ * @return the enableNodePublicIP value
+ */
+ public Boolean enableNodePublicIP() {
+ return this.enableNodePublicIP;
+ }
+
+ /**
+ * Set enable public IP for nodes.
+ *
+ * @param enableNodePublicIP the enableNodePublicIP value to set
+ * @return the ManagedClusterAgentPoolProfileProperties object itself.
+ */
+ public ManagedClusterAgentPoolProfileProperties withEnableNodePublicIP(Boolean enableNodePublicIP) {
+ this.enableNodePublicIP = enableNodePublicIP;
+ return this;
+ }
+
+ /**
+ * Get scaleSetPriority to be used to specify virtual machine scale set priority. Default to regular. Possible values include: 'Low', 'Regular'.
+ *
+ * @return the scaleSetPriority value
+ */
+ public ScaleSetPriority scaleSetPriority() {
+ return this.scaleSetPriority;
+ }
+
+ /**
+ * Set scaleSetPriority to be used to specify virtual machine scale set priority. Default to regular. Possible values include: 'Low', 'Regular'.
+ *
+ * @param scaleSetPriority the scaleSetPriority value to set
+ * @return the ManagedClusterAgentPoolProfileProperties object itself.
+ */
+ public ManagedClusterAgentPoolProfileProperties withScaleSetPriority(ScaleSetPriority scaleSetPriority) {
+ this.scaleSetPriority = scaleSetPriority;
+ return this;
+ }
+
+ /**
+ * Get scaleSetEvictionPolicy to be used to specify eviction policy for low priority virtual machine scale set. Default to Delete. Possible values include: 'Delete', 'Deallocate'.
+ *
+ * @return the scaleSetEvictionPolicy value
+ */
+ public ScaleSetEvictionPolicy scaleSetEvictionPolicy() {
+ return this.scaleSetEvictionPolicy;
+ }
+
+ /**
+ * Set scaleSetEvictionPolicy to be used to specify eviction policy for low priority virtual machine scale set. Default to Delete. Possible values include: 'Delete', 'Deallocate'.
+ *
+ * @param scaleSetEvictionPolicy the scaleSetEvictionPolicy value to set
+ * @return the ManagedClusterAgentPoolProfileProperties object itself.
+ */
+ public ManagedClusterAgentPoolProfileProperties withScaleSetEvictionPolicy(ScaleSetEvictionPolicy scaleSetEvictionPolicy) {
+ this.scaleSetEvictionPolicy = scaleSetEvictionPolicy;
+ return this;
+ }
+
+ /**
+ * Get taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.
+ *
+ * @return the nodeTaints value
+ */
+ public List nodeTaints() {
+ return this.nodeTaints;
+ }
+
+ /**
+ * Set taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.
+ *
+ * @param nodeTaints the nodeTaints value to set
+ * @return the ManagedClusterAgentPoolProfileProperties object itself.
+ */
+ public ManagedClusterAgentPoolProfileProperties withNodeTaints(List nodeTaints) {
+ this.nodeTaints = nodeTaints;
+ return this;
+ }
+
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ManagedClusterIdentity.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ManagedClusterIdentity.java
new file mode 100644
index 000000000000..90f8a418b46a
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ManagedClusterIdentity.java
@@ -0,0 +1,80 @@
+/**
+ * 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.containerservice.v2019_08_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Identity for the managed cluster.
+ */
+public class ManagedClusterIdentity {
+ /**
+ * The principal id of the system assigned identity which is used by master
+ * components.
+ */
+ @JsonProperty(value = "principalId", access = JsonProperty.Access.WRITE_ONLY)
+ private String principalId;
+
+ /**
+ * The tenant id of the system assigned identity which is used by master
+ * components.
+ */
+ @JsonProperty(value = "tenantId", access = JsonProperty.Access.WRITE_ONLY)
+ private String tenantId;
+
+ /**
+ * The type of identity used for the managed cluster. Type 'SystemAssigned'
+ * will use an implicitly created identity in master components and an
+ * auto-created user assigned identity in MC_ resource group in agent
+ * nodes. Type 'None' will not use MSI for the managed cluster, service
+ * principal will be used instead. Possible values include:
+ * 'SystemAssigned', 'None'.
+ */
+ @JsonProperty(value = "type")
+ private ResourceIdentityType type;
+
+ /**
+ * Get the principal id of the system assigned identity which is used by master components.
+ *
+ * @return the principalId value
+ */
+ public String principalId() {
+ return this.principalId;
+ }
+
+ /**
+ * Get the tenant id of the system assigned identity which is used by master components.
+ *
+ * @return the tenantId value
+ */
+ public String tenantId() {
+ return this.tenantId;
+ }
+
+ /**
+ * Get the type of identity used for the managed cluster. Type 'SystemAssigned' will use an implicitly created identity in master components and an auto-created user assigned identity in MC_ resource group in agent nodes. Type 'None' will not use MSI for the managed cluster, service principal will be used instead. Possible values include: 'SystemAssigned', 'None'.
+ *
+ * @return the type value
+ */
+ public ResourceIdentityType type() {
+ return this.type;
+ }
+
+ /**
+ * Set the type of identity used for the managed cluster. Type 'SystemAssigned' will use an implicitly created identity in master components and an auto-created user assigned identity in MC_ resource group in agent nodes. Type 'None' will not use MSI for the managed cluster, service principal will be used instead. Possible values include: 'SystemAssigned', 'None'.
+ *
+ * @param type the type value to set
+ * @return the ManagedClusterIdentity object itself.
+ */
+ public ManagedClusterIdentity withType(ResourceIdentityType type) {
+ this.type = type;
+ return this;
+ }
+
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ManagedClusterLoadBalancerProfile.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ManagedClusterLoadBalancerProfile.java
new file mode 100644
index 000000000000..1a8b539f9bf8
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ManagedClusterLoadBalancerProfile.java
@@ -0,0 +1,122 @@
+/**
+ * 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.containerservice.v2019_08_01;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Profile of the managed cluster load balancer.
+ */
+public class ManagedClusterLoadBalancerProfile {
+ /**
+ * Desired managed outbound IPs for the cluster load balancer.
+ */
+ @JsonProperty(value = "managedOutboundIPs")
+ private ManagedClusterLoadBalancerProfileManagedOutboundIPs managedOutboundIPs;
+
+ /**
+ * Desired outbound IP Prefix resources for the cluster load balancer.
+ */
+ @JsonProperty(value = "outboundIPPrefixes")
+ private ManagedClusterLoadBalancerProfileOutboundIPPrefixes outboundIPPrefixes;
+
+ /**
+ * Desired outbound IP resources for the cluster load balancer.
+ */
+ @JsonProperty(value = "outboundIPs")
+ private ManagedClusterLoadBalancerProfileOutboundIPs outboundIPs;
+
+ /**
+ * The effective outbound IP resources of the cluster load balancer.
+ */
+ @JsonProperty(value = "effectiveOutboundIPs")
+ private List effectiveOutboundIPs;
+
+ /**
+ * Get desired managed outbound IPs for the cluster load balancer.
+ *
+ * @return the managedOutboundIPs value
+ */
+ public ManagedClusterLoadBalancerProfileManagedOutboundIPs managedOutboundIPs() {
+ return this.managedOutboundIPs;
+ }
+
+ /**
+ * Set desired managed outbound IPs for the cluster load balancer.
+ *
+ * @param managedOutboundIPs the managedOutboundIPs value to set
+ * @return the ManagedClusterLoadBalancerProfile object itself.
+ */
+ public ManagedClusterLoadBalancerProfile withManagedOutboundIPs(ManagedClusterLoadBalancerProfileManagedOutboundIPs managedOutboundIPs) {
+ this.managedOutboundIPs = managedOutboundIPs;
+ return this;
+ }
+
+ /**
+ * Get desired outbound IP Prefix resources for the cluster load balancer.
+ *
+ * @return the outboundIPPrefixes value
+ */
+ public ManagedClusterLoadBalancerProfileOutboundIPPrefixes outboundIPPrefixes() {
+ return this.outboundIPPrefixes;
+ }
+
+ /**
+ * Set desired outbound IP Prefix resources for the cluster load balancer.
+ *
+ * @param outboundIPPrefixes the outboundIPPrefixes value to set
+ * @return the ManagedClusterLoadBalancerProfile object itself.
+ */
+ public ManagedClusterLoadBalancerProfile withOutboundIPPrefixes(ManagedClusterLoadBalancerProfileOutboundIPPrefixes outboundIPPrefixes) {
+ this.outboundIPPrefixes = outboundIPPrefixes;
+ return this;
+ }
+
+ /**
+ * Get desired outbound IP resources for the cluster load balancer.
+ *
+ * @return the outboundIPs value
+ */
+ public ManagedClusterLoadBalancerProfileOutboundIPs outboundIPs() {
+ return this.outboundIPs;
+ }
+
+ /**
+ * Set desired outbound IP resources for the cluster load balancer.
+ *
+ * @param outboundIPs the outboundIPs value to set
+ * @return the ManagedClusterLoadBalancerProfile object itself.
+ */
+ public ManagedClusterLoadBalancerProfile withOutboundIPs(ManagedClusterLoadBalancerProfileOutboundIPs outboundIPs) {
+ this.outboundIPs = outboundIPs;
+ return this;
+ }
+
+ /**
+ * Get the effective outbound IP resources of the cluster load balancer.
+ *
+ * @return the effectiveOutboundIPs value
+ */
+ public List effectiveOutboundIPs() {
+ return this.effectiveOutboundIPs;
+ }
+
+ /**
+ * Set the effective outbound IP resources of the cluster load balancer.
+ *
+ * @param effectiveOutboundIPs the effectiveOutboundIPs value to set
+ * @return the ManagedClusterLoadBalancerProfile object itself.
+ */
+ public ManagedClusterLoadBalancerProfile withEffectiveOutboundIPs(List effectiveOutboundIPs) {
+ this.effectiveOutboundIPs = effectiveOutboundIPs;
+ return this;
+ }
+
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ManagedClusterLoadBalancerProfileManagedOutboundIPs.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ManagedClusterLoadBalancerProfileManagedOutboundIPs.java
new file mode 100644
index 000000000000..52376a69697b
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ManagedClusterLoadBalancerProfileManagedOutboundIPs.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.containerservice.v2019_08_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Desired managed outbound IPs for the cluster load balancer.
+ */
+public class ManagedClusterLoadBalancerProfileManagedOutboundIPs {
+ /**
+ * Desired number of outbound IP created/managed by Azure for the cluster
+ * load balancer. Allowed values must be in the range of 1 to 100
+ * (inclusive). The default value is 1.
+ */
+ @JsonProperty(value = "count")
+ private Integer count;
+
+ /**
+ * Get desired number of outbound IP created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1.
+ *
+ * @return the count value
+ */
+ public Integer count() {
+ return this.count;
+ }
+
+ /**
+ * Set desired number of outbound IP created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1.
+ *
+ * @param count the count value to set
+ * @return the ManagedClusterLoadBalancerProfileManagedOutboundIPs object itself.
+ */
+ public ManagedClusterLoadBalancerProfileManagedOutboundIPs withCount(Integer count) {
+ this.count = count;
+ return this;
+ }
+
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ManagedClusterLoadBalancerProfileOutboundIPPrefixes.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ManagedClusterLoadBalancerProfileOutboundIPPrefixes.java
new file mode 100644
index 000000000000..10ec84941db5
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ManagedClusterLoadBalancerProfileOutboundIPPrefixes.java
@@ -0,0 +1,44 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerservice.v2019_08_01;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Desired outbound IP Prefix resources for the cluster load balancer.
+ */
+public class ManagedClusterLoadBalancerProfileOutboundIPPrefixes {
+ /**
+ * A list of public IP prefix resources.
+ */
+ @JsonProperty(value = "publicIPPrefixes")
+ private List publicIPPrefixes;
+
+ /**
+ * Get a list of public IP prefix resources.
+ *
+ * @return the publicIPPrefixes value
+ */
+ public List publicIPPrefixes() {
+ return this.publicIPPrefixes;
+ }
+
+ /**
+ * Set a list of public IP prefix resources.
+ *
+ * @param publicIPPrefixes the publicIPPrefixes value to set
+ * @return the ManagedClusterLoadBalancerProfileOutboundIPPrefixes object itself.
+ */
+ public ManagedClusterLoadBalancerProfileOutboundIPPrefixes withPublicIPPrefixes(List publicIPPrefixes) {
+ this.publicIPPrefixes = publicIPPrefixes;
+ return this;
+ }
+
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ManagedClusterLoadBalancerProfileOutboundIPs.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ManagedClusterLoadBalancerProfileOutboundIPs.java
new file mode 100644
index 000000000000..9f709a148ab8
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ManagedClusterLoadBalancerProfileOutboundIPs.java
@@ -0,0 +1,44 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerservice.v2019_08_01;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Desired outbound IP resources for the cluster load balancer.
+ */
+public class ManagedClusterLoadBalancerProfileOutboundIPs {
+ /**
+ * A list of public IP resources.
+ */
+ @JsonProperty(value = "publicIPs")
+ private List publicIPs;
+
+ /**
+ * Get a list of public IP resources.
+ *
+ * @return the publicIPs value
+ */
+ public List publicIPs() {
+ return this.publicIPs;
+ }
+
+ /**
+ * Set a list of public IP resources.
+ *
+ * @param publicIPs the publicIPs value to set
+ * @return the ManagedClusterLoadBalancerProfileOutboundIPs object itself.
+ */
+ public ManagedClusterLoadBalancerProfileOutboundIPs withPublicIPs(List publicIPs) {
+ this.publicIPs = publicIPs;
+ return this;
+ }
+
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ManagedClusterPoolUpgradeProfile.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ManagedClusterPoolUpgradeProfile.java
new file mode 100644
index 000000000000..bbcade8ba9dd
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ManagedClusterPoolUpgradeProfile.java
@@ -0,0 +1,123 @@
+/**
+ * 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.containerservice.v2019_08_01;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The list of available upgrade versions.
+ */
+public class ManagedClusterPoolUpgradeProfile {
+ /**
+ * Kubernetes version (major, minor, patch).
+ */
+ @JsonProperty(value = "kubernetesVersion", required = true)
+ private String kubernetesVersion;
+
+ /**
+ * Pool name.
+ */
+ @JsonProperty(value = "name")
+ private String name;
+
+ /**
+ * OsType to be used to specify os type. Choose from Linux and Windows.
+ * Default to Linux. Possible values include: 'Linux', 'Windows'.
+ */
+ @JsonProperty(value = "osType", required = true)
+ private OSType osType;
+
+ /**
+ * List of orchestrator types and versions available for upgrade.
+ */
+ @JsonProperty(value = "upgrades")
+ private List upgrades;
+
+ /**
+ * Get kubernetes version (major, minor, patch).
+ *
+ * @return the kubernetesVersion value
+ */
+ public String kubernetesVersion() {
+ return this.kubernetesVersion;
+ }
+
+ /**
+ * Set kubernetes version (major, minor, patch).
+ *
+ * @param kubernetesVersion the kubernetesVersion value to set
+ * @return the ManagedClusterPoolUpgradeProfile object itself.
+ */
+ public ManagedClusterPoolUpgradeProfile withKubernetesVersion(String kubernetesVersion) {
+ this.kubernetesVersion = kubernetesVersion;
+ return this;
+ }
+
+ /**
+ * Get pool name.
+ *
+ * @return the name value
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set pool name.
+ *
+ * @param name the name value to set
+ * @return the ManagedClusterPoolUpgradeProfile object itself.
+ */
+ public ManagedClusterPoolUpgradeProfile withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get osType to be used to specify os type. Choose from Linux and Windows. Default to Linux. Possible values include: 'Linux', 'Windows'.
+ *
+ * @return the osType value
+ */
+ public OSType osType() {
+ return this.osType;
+ }
+
+ /**
+ * Set osType to be used to specify os type. Choose from Linux and Windows. Default to Linux. Possible values include: 'Linux', 'Windows'.
+ *
+ * @param osType the osType value to set
+ * @return the ManagedClusterPoolUpgradeProfile object itself.
+ */
+ public ManagedClusterPoolUpgradeProfile withOsType(OSType osType) {
+ this.osType = osType;
+ return this;
+ }
+
+ /**
+ * Get list of orchestrator types and versions available for upgrade.
+ *
+ * @return the upgrades value
+ */
+ public List upgrades() {
+ return this.upgrades;
+ }
+
+ /**
+ * Set list of orchestrator types and versions available for upgrade.
+ *
+ * @param upgrades the upgrades value to set
+ * @return the ManagedClusterPoolUpgradeProfile object itself.
+ */
+ public ManagedClusterPoolUpgradeProfile withUpgrades(List upgrades) {
+ this.upgrades = upgrades;
+ return this;
+ }
+
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ManagedClusterPoolUpgradeProfileUpgradesItem.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ManagedClusterPoolUpgradeProfileUpgradesItem.java
new file mode 100644
index 000000000000..2e437bbe2a35
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ManagedClusterPoolUpgradeProfileUpgradesItem.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.containerservice.v2019_08_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The ManagedClusterPoolUpgradeProfileUpgradesItem model.
+ */
+public class ManagedClusterPoolUpgradeProfileUpgradesItem {
+ /**
+ * Kubernetes version (major, minor, patch).
+ */
+ @JsonProperty(value = "kubernetesVersion")
+ private String kubernetesVersion;
+
+ /**
+ * Whether Kubernetes version is currently in preview.
+ */
+ @JsonProperty(value = "isPreview")
+ private Boolean isPreview;
+
+ /**
+ * Get kubernetes version (major, minor, patch).
+ *
+ * @return the kubernetesVersion value
+ */
+ public String kubernetesVersion() {
+ return this.kubernetesVersion;
+ }
+
+ /**
+ * Set kubernetes version (major, minor, patch).
+ *
+ * @param kubernetesVersion the kubernetesVersion value to set
+ * @return the ManagedClusterPoolUpgradeProfileUpgradesItem object itself.
+ */
+ public ManagedClusterPoolUpgradeProfileUpgradesItem withKubernetesVersion(String kubernetesVersion) {
+ this.kubernetesVersion = kubernetesVersion;
+ return this;
+ }
+
+ /**
+ * Get whether Kubernetes version is currently in preview.
+ *
+ * @return the isPreview value
+ */
+ public Boolean isPreview() {
+ return this.isPreview;
+ }
+
+ /**
+ * Set whether Kubernetes version is currently in preview.
+ *
+ * @param isPreview the isPreview value to set
+ * @return the ManagedClusterPoolUpgradeProfileUpgradesItem object itself.
+ */
+ public ManagedClusterPoolUpgradeProfileUpgradesItem withIsPreview(Boolean isPreview) {
+ this.isPreview = isPreview;
+ return this;
+ }
+
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ManagedClusterServicePrincipalProfile.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ManagedClusterServicePrincipalProfile.java
new file mode 100644
index 000000000000..a010b1760468
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ManagedClusterServicePrincipalProfile.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.containerservice.v2019_08_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Information about a service principal identity for the cluster to use for
+ * manipulating Azure APIs.
+ */
+public class ManagedClusterServicePrincipalProfile {
+ /**
+ * The ID for the service principal.
+ */
+ @JsonProperty(value = "clientId", required = true)
+ private String clientId;
+
+ /**
+ * The secret password associated with the service principal in plain text.
+ */
+ @JsonProperty(value = "secret")
+ private String secret;
+
+ /**
+ * Get the ID for the service principal.
+ *
+ * @return the clientId value
+ */
+ public String clientId() {
+ return this.clientId;
+ }
+
+ /**
+ * Set the ID for the service principal.
+ *
+ * @param clientId the clientId value to set
+ * @return the ManagedClusterServicePrincipalProfile object itself.
+ */
+ public ManagedClusterServicePrincipalProfile withClientId(String clientId) {
+ this.clientId = clientId;
+ return this;
+ }
+
+ /**
+ * Get the secret password associated with the service principal in plain text.
+ *
+ * @return the secret value
+ */
+ public String secret() {
+ return this.secret;
+ }
+
+ /**
+ * Set the secret password associated with the service principal in plain text.
+ *
+ * @param secret the secret value to set
+ * @return the ManagedClusterServicePrincipalProfile object itself.
+ */
+ public ManagedClusterServicePrincipalProfile withSecret(String secret) {
+ this.secret = secret;
+ return this;
+ }
+
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ManagedClusterUpgradeProfile.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ManagedClusterUpgradeProfile.java
new file mode 100644
index 000000000000..3c0a3f09f119
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ManagedClusterUpgradeProfile.java
@@ -0,0 +1,46 @@
+/**
+ * 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.containerservice.v2019_08_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.containerservice.v2019_08_01.implementation.ContainerServiceManager;
+import com.microsoft.azure.management.containerservice.v2019_08_01.implementation.ManagedClusterUpgradeProfileInner;
+import java.util.List;
+
+/**
+ * Type representing ManagedClusterUpgradeProfile.
+ */
+public interface ManagedClusterUpgradeProfile extends HasInner, HasManager {
+ /**
+ * @return the agentPoolProfiles value.
+ */
+ List agentPoolProfiles();
+
+ /**
+ * @return the controlPlaneProfile value.
+ */
+ ManagedClusterPoolUpgradeProfile controlPlaneProfile();
+
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ManagedClusterWindowsProfile.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ManagedClusterWindowsProfile.java
new file mode 100644
index 000000000000..19234fa8e11c
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ManagedClusterWindowsProfile.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.containerservice.v2019_08_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Profile for Windows VMs in the container service cluster.
+ */
+public class ManagedClusterWindowsProfile {
+ /**
+ * The administrator username to use for Windows VMs.
+ */
+ @JsonProperty(value = "adminUsername", required = true)
+ private String adminUsername;
+
+ /**
+ * The administrator password to use for Windows VMs.
+ */
+ @JsonProperty(value = "adminPassword")
+ private String adminPassword;
+
+ /**
+ * Get the administrator username to use for Windows VMs.
+ *
+ * @return the adminUsername value
+ */
+ public String adminUsername() {
+ return this.adminUsername;
+ }
+
+ /**
+ * Set the administrator username to use for Windows VMs.
+ *
+ * @param adminUsername the adminUsername value to set
+ * @return the ManagedClusterWindowsProfile object itself.
+ */
+ public ManagedClusterWindowsProfile withAdminUsername(String adminUsername) {
+ this.adminUsername = adminUsername;
+ return this;
+ }
+
+ /**
+ * Get the administrator password to use for Windows VMs.
+ *
+ * @return the adminPassword value
+ */
+ public String adminPassword() {
+ return this.adminPassword;
+ }
+
+ /**
+ * Set the administrator password to use for Windows VMs.
+ *
+ * @param adminPassword the adminPassword value to set
+ * @return the ManagedClusterWindowsProfile object itself.
+ */
+ public ManagedClusterWindowsProfile withAdminPassword(String adminPassword) {
+ this.adminPassword = adminPassword;
+ return this;
+ }
+
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ManagedClusters.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ManagedClusters.java
new file mode 100644
index 000000000000..429838adfadd
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ManagedClusters.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.containerservice.v2019_08_01;
+
+import com.microsoft.azure.arm.collection.SupportsCreating;
+import com.microsoft.azure.arm.resources.collection.SupportsDeletingByResourceGroup;
+import com.microsoft.azure.arm.resources.collection.SupportsBatchDeletion;
+import com.microsoft.azure.arm.resources.collection.SupportsGettingByResourceGroup;
+import rx.Observable;
+import com.microsoft.azure.arm.resources.collection.SupportsListingByResourceGroup;
+import com.microsoft.azure.arm.collection.SupportsListing;
+import rx.Completable;
+import com.microsoft.azure.management.containerservice.v2019_08_01.implementation.ManagedClustersInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing ManagedClusters.
+ */
+public interface ManagedClusters extends SupportsCreating, SupportsDeletingByResourceGroup, SupportsBatchDeletion, SupportsGettingByResourceGroup, SupportsListingByResourceGroup, SupportsListing, HasInner {
+ /**
+ * Gets cluster admin credential of a managed cluster.
+ * Gets cluster admin credential of the managed cluster with a specified resource group and name.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listClusterAdminCredentialsAsync(String resourceGroupName, String resourceName);
+
+ /**
+ * Gets cluster user credential of a managed cluster.
+ * Gets cluster user credential of the managed cluster with a specified resource group and name.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listClusterUserCredentialsAsync(String resourceGroupName, String resourceName);
+
+ /**
+ * Reset Service Principal Profile of a managed cluster.
+ * Update the service principal Profile for a managed cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param parameters Parameters supplied to the Reset Service Principal Profile operation for a Managed Cluster.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable resetServicePrincipalProfileAsync(String resourceGroupName, String resourceName, ManagedClusterServicePrincipalProfile parameters);
+
+ /**
+ * Reset AAD Profile of a managed cluster.
+ * Update the AAD Profile for a managed cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param parameters Parameters supplied to the Reset AAD Profile operation for a Managed Cluster.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable resetAADProfileAsync(String resourceGroupName, String resourceName, ManagedClusterAADProfile parameters);
+
+ /**
+ * Gets upgrade profile for a managed cluster.
+ * Gets the details of the upgrade profile for a managed cluster with a specified resource group and name.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getUpgradeProfileAsync(String resourceGroupName, String resourceName);
+
+ /**
+ * Gets an access profile of a managed cluster.
+ * Gets the accessProfile for the specified role name of the managed cluster with a specified resource group and name.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param roleName The name of the role for managed cluster accessProfile resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getAccessProfileAsync(String resourceGroupName, String resourceName, String roleName);
+
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/NetworkPlugin.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/NetworkPlugin.java
new file mode 100644
index 000000000000..93bf8665b2b1
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/NetworkPlugin.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.containerservice.v2019_08_01;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for NetworkPlugin.
+ */
+public final class NetworkPlugin extends ExpandableStringEnum {
+ /** Static value azure for NetworkPlugin. */
+ public static final NetworkPlugin AZURE = fromString("azure");
+
+ /** Static value kubenet for NetworkPlugin. */
+ public static final NetworkPlugin KUBENET = fromString("kubenet");
+
+ /**
+ * Creates or finds a NetworkPlugin from its string representation.
+ * @param name a name to look for
+ * @return the corresponding NetworkPlugin
+ */
+ @JsonCreator
+ public static NetworkPlugin fromString(String name) {
+ return fromString(name, NetworkPlugin.class);
+ }
+
+ /**
+ * @return known NetworkPlugin values
+ */
+ public static Collection values() {
+ return values(NetworkPlugin.class);
+ }
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/NetworkPolicy.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/NetworkPolicy.java
new file mode 100644
index 000000000000..6c629b6babcd
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/NetworkPolicy.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.containerservice.v2019_08_01;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for NetworkPolicy.
+ */
+public final class NetworkPolicy extends ExpandableStringEnum {
+ /** Static value calico for NetworkPolicy. */
+ public static final NetworkPolicy CALICO = fromString("calico");
+
+ /** Static value azure for NetworkPolicy. */
+ public static final NetworkPolicy AZURE = fromString("azure");
+
+ /**
+ * Creates or finds a NetworkPolicy from its string representation.
+ * @param name a name to look for
+ * @return the corresponding NetworkPolicy
+ */
+ @JsonCreator
+ public static NetworkPolicy fromString(String name) {
+ return fromString(name, NetworkPolicy.class);
+ }
+
+ /**
+ * @return known NetworkPolicy values
+ */
+ public static Collection values() {
+ return values(NetworkPolicy.class);
+ }
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/NetworkProfile.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/NetworkProfile.java
new file mode 100644
index 000000000000..d5e922d0b260
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/NetworkProfile.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.containerservice.v2019_08_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Represents the OpenShift networking configuration.
+ */
+public class NetworkProfile {
+ /**
+ * CIDR for the OpenShift Vnet.
+ */
+ @JsonProperty(value = "vnetCidr")
+ private String vnetCidr;
+
+ /**
+ * CIDR of the Vnet to peer.
+ */
+ @JsonProperty(value = "peerVnetId")
+ private String peerVnetId;
+
+ /**
+ * ID of the Vnet created for OSA cluster.
+ */
+ @JsonProperty(value = "vnetId")
+ private String vnetId;
+
+ /**
+ * Get cIDR for the OpenShift Vnet.
+ *
+ * @return the vnetCidr value
+ */
+ public String vnetCidr() {
+ return this.vnetCidr;
+ }
+
+ /**
+ * Set cIDR for the OpenShift Vnet.
+ *
+ * @param vnetCidr the vnetCidr value to set
+ * @return the NetworkProfile object itself.
+ */
+ public NetworkProfile withVnetCidr(String vnetCidr) {
+ this.vnetCidr = vnetCidr;
+ return this;
+ }
+
+ /**
+ * Get cIDR of the Vnet to peer.
+ *
+ * @return the peerVnetId value
+ */
+ public String peerVnetId() {
+ return this.peerVnetId;
+ }
+
+ /**
+ * Set cIDR of the Vnet to peer.
+ *
+ * @param peerVnetId the peerVnetId value to set
+ * @return the NetworkProfile object itself.
+ */
+ public NetworkProfile withPeerVnetId(String peerVnetId) {
+ this.peerVnetId = peerVnetId;
+ return this;
+ }
+
+ /**
+ * Get iD of the Vnet created for OSA cluster.
+ *
+ * @return the vnetId value
+ */
+ public String vnetId() {
+ return this.vnetId;
+ }
+
+ /**
+ * Set iD of the Vnet created for OSA cluster.
+ *
+ * @param vnetId the vnetId value to set
+ * @return the NetworkProfile object itself.
+ */
+ public NetworkProfile withVnetId(String vnetId) {
+ this.vnetId = vnetId;
+ return this;
+ }
+
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/OSType.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/OSType.java
new file mode 100644
index 000000000000..a8b4fe9dd66f
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/OSType.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.containerservice.v2019_08_01;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for OSType.
+ */
+public final class OSType extends ExpandableStringEnum {
+ /** Static value Linux for OSType. */
+ public static final OSType LINUX = fromString("Linux");
+
+ /** Static value Windows for OSType. */
+ public static final OSType WINDOWS = fromString("Windows");
+
+ /**
+ * Creates or finds a OSType from its string representation.
+ * @param name a name to look for
+ * @return the corresponding OSType
+ */
+ @JsonCreator
+ public static OSType fromString(String name) {
+ return fromString(name, OSType.class);
+ }
+
+ /**
+ * @return known OSType values
+ */
+ public static Collection values() {
+ return values(OSType.class);
+ }
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/OpenShiftAgentPoolProfileRole.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/OpenShiftAgentPoolProfileRole.java
new file mode 100644
index 000000000000..13d6cccd7b16
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/OpenShiftAgentPoolProfileRole.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.containerservice.v2019_08_01;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for OpenShiftAgentPoolProfileRole.
+ */
+public final class OpenShiftAgentPoolProfileRole extends ExpandableStringEnum {
+ /** Static value compute for OpenShiftAgentPoolProfileRole. */
+ public static final OpenShiftAgentPoolProfileRole COMPUTE = fromString("compute");
+
+ /** Static value infra for OpenShiftAgentPoolProfileRole. */
+ public static final OpenShiftAgentPoolProfileRole INFRA = fromString("infra");
+
+ /**
+ * Creates or finds a OpenShiftAgentPoolProfileRole from its string representation.
+ * @param name a name to look for
+ * @return the corresponding OpenShiftAgentPoolProfileRole
+ */
+ @JsonCreator
+ public static OpenShiftAgentPoolProfileRole fromString(String name) {
+ return fromString(name, OpenShiftAgentPoolProfileRole.class);
+ }
+
+ /**
+ * @return known OpenShiftAgentPoolProfileRole values
+ */
+ public static Collection values() {
+ return values(OpenShiftAgentPoolProfileRole.class);
+ }
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/OpenShiftContainerServiceVMSize.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/OpenShiftContainerServiceVMSize.java
new file mode 100644
index 000000000000..ea35d7fe61bb
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/OpenShiftContainerServiceVMSize.java
@@ -0,0 +1,134 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerservice.v2019_08_01;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for OpenShiftContainerServiceVMSize.
+ */
+public final class OpenShiftContainerServiceVMSize extends ExpandableStringEnum {
+ /** Static value Standard_D2s_v3 for OpenShiftContainerServiceVMSize. */
+ public static final OpenShiftContainerServiceVMSize STANDARD_D2S_V3 = fromString("Standard_D2s_v3");
+
+ /** Static value Standard_D4s_v3 for OpenShiftContainerServiceVMSize. */
+ public static final OpenShiftContainerServiceVMSize STANDARD_D4S_V3 = fromString("Standard_D4s_v3");
+
+ /** Static value Standard_D8s_v3 for OpenShiftContainerServiceVMSize. */
+ public static final OpenShiftContainerServiceVMSize STANDARD_D8S_V3 = fromString("Standard_D8s_v3");
+
+ /** Static value Standard_D16s_v3 for OpenShiftContainerServiceVMSize. */
+ public static final OpenShiftContainerServiceVMSize STANDARD_D16S_V3 = fromString("Standard_D16s_v3");
+
+ /** Static value Standard_D32s_v3 for OpenShiftContainerServiceVMSize. */
+ public static final OpenShiftContainerServiceVMSize STANDARD_D32S_V3 = fromString("Standard_D32s_v3");
+
+ /** Static value Standard_D64s_v3 for OpenShiftContainerServiceVMSize. */
+ public static final OpenShiftContainerServiceVMSize STANDARD_D64S_V3 = fromString("Standard_D64s_v3");
+
+ /** Static value Standard_DS4_v2 for OpenShiftContainerServiceVMSize. */
+ public static final OpenShiftContainerServiceVMSize STANDARD_DS4_V2 = fromString("Standard_DS4_v2");
+
+ /** Static value Standard_DS5_v2 for OpenShiftContainerServiceVMSize. */
+ public static final OpenShiftContainerServiceVMSize STANDARD_DS5_V2 = fromString("Standard_DS5_v2");
+
+ /** Static value Standard_F8s_v2 for OpenShiftContainerServiceVMSize. */
+ public static final OpenShiftContainerServiceVMSize STANDARD_F8S_V2 = fromString("Standard_F8s_v2");
+
+ /** Static value Standard_F16s_v2 for OpenShiftContainerServiceVMSize. */
+ public static final OpenShiftContainerServiceVMSize STANDARD_F16S_V2 = fromString("Standard_F16s_v2");
+
+ /** Static value Standard_F32s_v2 for OpenShiftContainerServiceVMSize. */
+ public static final OpenShiftContainerServiceVMSize STANDARD_F32S_V2 = fromString("Standard_F32s_v2");
+
+ /** Static value Standard_F64s_v2 for OpenShiftContainerServiceVMSize. */
+ public static final OpenShiftContainerServiceVMSize STANDARD_F64S_V2 = fromString("Standard_F64s_v2");
+
+ /** Static value Standard_F72s_v2 for OpenShiftContainerServiceVMSize. */
+ public static final OpenShiftContainerServiceVMSize STANDARD_F72S_V2 = fromString("Standard_F72s_v2");
+
+ /** Static value Standard_F8s for OpenShiftContainerServiceVMSize. */
+ public static final OpenShiftContainerServiceVMSize STANDARD_F8S = fromString("Standard_F8s");
+
+ /** Static value Standard_F16s for OpenShiftContainerServiceVMSize. */
+ public static final OpenShiftContainerServiceVMSize STANDARD_F16S = fromString("Standard_F16s");
+
+ /** Static value Standard_E4s_v3 for OpenShiftContainerServiceVMSize. */
+ public static final OpenShiftContainerServiceVMSize STANDARD_E4S_V3 = fromString("Standard_E4s_v3");
+
+ /** Static value Standard_E8s_v3 for OpenShiftContainerServiceVMSize. */
+ public static final OpenShiftContainerServiceVMSize STANDARD_E8S_V3 = fromString("Standard_E8s_v3");
+
+ /** Static value Standard_E16s_v3 for OpenShiftContainerServiceVMSize. */
+ public static final OpenShiftContainerServiceVMSize STANDARD_E16S_V3 = fromString("Standard_E16s_v3");
+
+ /** Static value Standard_E20s_v3 for OpenShiftContainerServiceVMSize. */
+ public static final OpenShiftContainerServiceVMSize STANDARD_E20S_V3 = fromString("Standard_E20s_v3");
+
+ /** Static value Standard_E32s_v3 for OpenShiftContainerServiceVMSize. */
+ public static final OpenShiftContainerServiceVMSize STANDARD_E32S_V3 = fromString("Standard_E32s_v3");
+
+ /** Static value Standard_E64s_v3 for OpenShiftContainerServiceVMSize. */
+ public static final OpenShiftContainerServiceVMSize STANDARD_E64S_V3 = fromString("Standard_E64s_v3");
+
+ /** Static value Standard_GS2 for OpenShiftContainerServiceVMSize. */
+ public static final OpenShiftContainerServiceVMSize STANDARD_GS2 = fromString("Standard_GS2");
+
+ /** Static value Standard_GS3 for OpenShiftContainerServiceVMSize. */
+ public static final OpenShiftContainerServiceVMSize STANDARD_GS3 = fromString("Standard_GS3");
+
+ /** Static value Standard_GS4 for OpenShiftContainerServiceVMSize. */
+ public static final OpenShiftContainerServiceVMSize STANDARD_GS4 = fromString("Standard_GS4");
+
+ /** Static value Standard_GS5 for OpenShiftContainerServiceVMSize. */
+ public static final OpenShiftContainerServiceVMSize STANDARD_GS5 = fromString("Standard_GS5");
+
+ /** Static value Standard_DS12_v2 for OpenShiftContainerServiceVMSize. */
+ public static final OpenShiftContainerServiceVMSize STANDARD_DS12_V2 = fromString("Standard_DS12_v2");
+
+ /** Static value Standard_DS13_v2 for OpenShiftContainerServiceVMSize. */
+ public static final OpenShiftContainerServiceVMSize STANDARD_DS13_V2 = fromString("Standard_DS13_v2");
+
+ /** Static value Standard_DS14_v2 for OpenShiftContainerServiceVMSize. */
+ public static final OpenShiftContainerServiceVMSize STANDARD_DS14_V2 = fromString("Standard_DS14_v2");
+
+ /** Static value Standard_DS15_v2 for OpenShiftContainerServiceVMSize. */
+ public static final OpenShiftContainerServiceVMSize STANDARD_DS15_V2 = fromString("Standard_DS15_v2");
+
+ /** Static value Standard_L4s for OpenShiftContainerServiceVMSize. */
+ public static final OpenShiftContainerServiceVMSize STANDARD_L4S = fromString("Standard_L4s");
+
+ /** Static value Standard_L8s for OpenShiftContainerServiceVMSize. */
+ public static final OpenShiftContainerServiceVMSize STANDARD_L8S = fromString("Standard_L8s");
+
+ /** Static value Standard_L16s for OpenShiftContainerServiceVMSize. */
+ public static final OpenShiftContainerServiceVMSize STANDARD_L16S = fromString("Standard_L16s");
+
+ /** Static value Standard_L32s for OpenShiftContainerServiceVMSize. */
+ public static final OpenShiftContainerServiceVMSize STANDARD_L32S = fromString("Standard_L32s");
+
+ /**
+ * Creates or finds a OpenShiftContainerServiceVMSize from its string representation.
+ * @param name a name to look for
+ * @return the corresponding OpenShiftContainerServiceVMSize
+ */
+ @JsonCreator
+ public static OpenShiftContainerServiceVMSize fromString(String name) {
+ return fromString(name, OpenShiftContainerServiceVMSize.class);
+ }
+
+ /**
+ * @return known OpenShiftContainerServiceVMSize values
+ */
+ public static Collection values() {
+ return values(OpenShiftContainerServiceVMSize.class);
+ }
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/OpenShiftManagedCluster.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/OpenShiftManagedCluster.java
new file mode 100644
index 000000000000..de5f1eca1699
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/OpenShiftManagedCluster.java
@@ -0,0 +1,280 @@
+/**
+ * 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.containerservice.v2019_08_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.Resource;
+import com.microsoft.azure.arm.resources.models.GroupableResourceCore;
+import com.microsoft.azure.arm.resources.models.HasResourceGroup;
+import com.microsoft.azure.arm.model.Refreshable;
+import com.microsoft.azure.arm.model.Updatable;
+import com.microsoft.azure.arm.model.Appliable;
+import com.microsoft.azure.arm.model.Creatable;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.containerservice.v2019_08_01.implementation.ContainerServiceManager;
+import java.util.List;
+import com.microsoft.azure.management.containerservice.v2019_08_01.implementation.OpenShiftManagedClusterInner;
+
+/**
+ * Type representing OpenShiftManagedCluster.
+ */
+public interface OpenShiftManagedCluster extends HasInner, Resource, GroupableResourceCore, HasResourceGroup, Refreshable, Updatable, HasManager {
+ /**
+ * @return the agentPoolProfiles value.
+ */
+ List agentPoolProfiles();
+
+ /**
+ * @return the authProfile value.
+ */
+ OpenShiftManagedClusterAuthProfile authProfile();
+
+ /**
+ * @return the clusterVersion value.
+ */
+ String clusterVersion();
+
+ /**
+ * @return the fqdn value.
+ */
+ String fqdn();
+
+ /**
+ * @return the masterPoolProfile value.
+ */
+ OpenShiftManagedClusterMasterPoolProfile masterPoolProfile();
+
+ /**
+ * @return the networkProfile value.
+ */
+ NetworkProfile networkProfile();
+
+ /**
+ * @return the openShiftVersion value.
+ */
+ String openShiftVersion();
+
+ /**
+ * @return the plan value.
+ */
+ PurchasePlan plan();
+
+ /**
+ * @return the provisioningState value.
+ */
+ String provisioningState();
+
+ /**
+ * @return the publicHostname value.
+ */
+ String publicHostname();
+
+ /**
+ * @return the routerProfiles value.
+ */
+ List routerProfiles();
+
+ /**
+ * The entirety of the OpenShiftManagedCluster definition.
+ */
+ interface Definition extends DefinitionStages.Blank, DefinitionStages.WithGroup, DefinitionStages.WithOpenShiftVersion, DefinitionStages.WithCreate {
+ }
+
+ /**
+ * Grouping of OpenShiftManagedCluster definition stages.
+ */
+ interface DefinitionStages {
+ /**
+ * The first stage of a OpenShiftManagedCluster definition.
+ */
+ interface Blank extends GroupableResourceCore.DefinitionWithRegion {
+ }
+
+ /**
+ * The stage of the OpenShiftManagedCluster definition allowing to specify the resource group.
+ */
+ interface WithGroup extends GroupableResourceCore.DefinitionStages.WithGroup {
+ }
+
+ /**
+ * The stage of the openshiftmanagedcluster definition allowing to specify OpenShiftVersion.
+ */
+ interface WithOpenShiftVersion {
+ /**
+ * Specifies openShiftVersion.
+ * @param openShiftVersion Version of OpenShift specified when creating the cluster
+ * @return the next definition stage
+*/
+ WithCreate withOpenShiftVersion(String openShiftVersion);
+ }
+
+ /**
+ * The stage of the openshiftmanagedcluster definition allowing to specify AgentPoolProfiles.
+ */
+ interface WithAgentPoolProfiles {
+ /**
+ * Specifies agentPoolProfiles.
+ * @param agentPoolProfiles Configuration of OpenShift cluster VMs
+ * @return the next definition stage
+ */
+ WithCreate withAgentPoolProfiles(List agentPoolProfiles);
+ }
+
+ /**
+ * The stage of the openshiftmanagedcluster definition allowing to specify AuthProfile.
+ */
+ interface WithAuthProfile {
+ /**
+ * Specifies authProfile.
+ * @param authProfile Configures OpenShift authentication
+ * @return the next definition stage
+ */
+ WithCreate withAuthProfile(OpenShiftManagedClusterAuthProfile authProfile);
+ }
+
+ /**
+ * The stage of the openshiftmanagedcluster definition allowing to specify MasterPoolProfile.
+ */
+ interface WithMasterPoolProfile {
+ /**
+ * Specifies masterPoolProfile.
+ * @param masterPoolProfile Configuration for OpenShift master VMs
+ * @return the next definition stage
+ */
+ WithCreate withMasterPoolProfile(OpenShiftManagedClusterMasterPoolProfile masterPoolProfile);
+ }
+
+ /**
+ * The stage of the openshiftmanagedcluster definition allowing to specify NetworkProfile.
+ */
+ interface WithNetworkProfile {
+ /**
+ * Specifies networkProfile.
+ * @param networkProfile Configuration for OpenShift networking
+ * @return the next definition stage
+ */
+ WithCreate withNetworkProfile(NetworkProfile networkProfile);
+ }
+
+ /**
+ * The stage of the openshiftmanagedcluster definition allowing to specify Plan.
+ */
+ interface WithPlan {
+ /**
+ * Specifies plan.
+ * @param plan Define the resource plan as required by ARM for billing purposes
+ * @return the next definition stage
+ */
+ WithCreate withPlan(PurchasePlan plan);
+ }
+
+ /**
+ * The stage of the openshiftmanagedcluster definition allowing to specify RouterProfiles.
+ */
+ interface WithRouterProfiles {
+ /**
+ * Specifies routerProfiles.
+ * @param routerProfiles Configuration for OpenShift router(s)
+ * @return the next definition stage
+ */
+ WithCreate withRouterProfiles(List routerProfiles);
+ }
+
+ /**
+ * The stage of the definition which contains all the minimum required inputs for
+ * the resource to be created (via {@link WithCreate#create()}), but also allows
+ * for any other optional settings to be specified.
+ */
+ interface WithCreate extends Creatable, Resource.DefinitionWithTags, DefinitionStages.WithAgentPoolProfiles, DefinitionStages.WithAuthProfile, DefinitionStages.WithMasterPoolProfile, DefinitionStages.WithNetworkProfile, DefinitionStages.WithPlan, DefinitionStages.WithRouterProfiles {
+ }
+ }
+ /**
+ * The template for a OpenShiftManagedCluster update operation, containing all the settings that can be modified.
+ */
+ interface Update extends Appliable, Resource.UpdateWithTags, UpdateStages.WithAgentPoolProfiles, UpdateStages.WithAuthProfile, UpdateStages.WithMasterPoolProfile, UpdateStages.WithNetworkProfile, UpdateStages.WithPlan, UpdateStages.WithRouterProfiles {
+ }
+
+ /**
+ * Grouping of OpenShiftManagedCluster update stages.
+ */
+ interface UpdateStages {
+ /**
+ * The stage of the openshiftmanagedcluster update allowing to specify AgentPoolProfiles.
+ */
+ interface WithAgentPoolProfiles {
+ /**
+ * Specifies agentPoolProfiles.
+ * @param agentPoolProfiles Configuration of OpenShift cluster VMs
+ * @return the next update stage
+ */
+ Update withAgentPoolProfiles(List agentPoolProfiles);
+ }
+
+ /**
+ * The stage of the openshiftmanagedcluster update allowing to specify AuthProfile.
+ */
+ interface WithAuthProfile {
+ /**
+ * Specifies authProfile.
+ * @param authProfile Configures OpenShift authentication
+ * @return the next update stage
+ */
+ Update withAuthProfile(OpenShiftManagedClusterAuthProfile authProfile);
+ }
+
+ /**
+ * The stage of the openshiftmanagedcluster update allowing to specify MasterPoolProfile.
+ */
+ interface WithMasterPoolProfile {
+ /**
+ * Specifies masterPoolProfile.
+ * @param masterPoolProfile Configuration for OpenShift master VMs
+ * @return the next update stage
+ */
+ Update withMasterPoolProfile(OpenShiftManagedClusterMasterPoolProfile masterPoolProfile);
+ }
+
+ /**
+ * The stage of the openshiftmanagedcluster update allowing to specify NetworkProfile.
+ */
+ interface WithNetworkProfile {
+ /**
+ * Specifies networkProfile.
+ * @param networkProfile Configuration for OpenShift networking
+ * @return the next update stage
+ */
+ Update withNetworkProfile(NetworkProfile networkProfile);
+ }
+
+ /**
+ * The stage of the openshiftmanagedcluster update allowing to specify Plan.
+ */
+ interface WithPlan {
+ /**
+ * Specifies plan.
+ * @param plan Define the resource plan as required by ARM for billing purposes
+ * @return the next update stage
+ */
+ Update withPlan(PurchasePlan plan);
+ }
+
+ /**
+ * The stage of the openshiftmanagedcluster update allowing to specify RouterProfiles.
+ */
+ interface WithRouterProfiles {
+ /**
+ * Specifies routerProfiles.
+ * @param routerProfiles Configuration for OpenShift router(s)
+ * @return the next update stage
+ */
+ Update withRouterProfiles(List routerProfiles);
+ }
+
+ }
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/OpenShiftManagedClusterAADIdentityProvider.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/OpenShiftManagedClusterAADIdentityProvider.java
new file mode 100644
index 000000000000..5f29092c1e5c
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/OpenShiftManagedClusterAADIdentityProvider.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.containerservice.v2019_08_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * Defines the Identity provider for MS AAD.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind", defaultImpl = OpenShiftManagedClusterAADIdentityProvider.class)
+@JsonTypeName("AADIdentityProvider")
+public class OpenShiftManagedClusterAADIdentityProvider extends OpenShiftManagedClusterBaseIdentityProvider {
+ /**
+ * The clientId password associated with the provider.
+ */
+ @JsonProperty(value = "clientId")
+ private String clientId;
+
+ /**
+ * The secret password associated with the provider.
+ */
+ @JsonProperty(value = "secret")
+ private String secret;
+
+ /**
+ * The tenantId associated with the provider.
+ */
+ @JsonProperty(value = "tenantId")
+ private String tenantId;
+
+ /**
+ * The groupId to be granted cluster admin role.
+ */
+ @JsonProperty(value = "customerAdminGroupId")
+ private String customerAdminGroupId;
+
+ /**
+ * Get the clientId password associated with the provider.
+ *
+ * @return the clientId value
+ */
+ public String clientId() {
+ return this.clientId;
+ }
+
+ /**
+ * Set the clientId password associated with the provider.
+ *
+ * @param clientId the clientId value to set
+ * @return the OpenShiftManagedClusterAADIdentityProvider object itself.
+ */
+ public OpenShiftManagedClusterAADIdentityProvider withClientId(String clientId) {
+ this.clientId = clientId;
+ return this;
+ }
+
+ /**
+ * Get the secret password associated with the provider.
+ *
+ * @return the secret value
+ */
+ public String secret() {
+ return this.secret;
+ }
+
+ /**
+ * Set the secret password associated with the provider.
+ *
+ * @param secret the secret value to set
+ * @return the OpenShiftManagedClusterAADIdentityProvider object itself.
+ */
+ public OpenShiftManagedClusterAADIdentityProvider withSecret(String secret) {
+ this.secret = secret;
+ return this;
+ }
+
+ /**
+ * Get the tenantId associated with the provider.
+ *
+ * @return the tenantId value
+ */
+ public String tenantId() {
+ return this.tenantId;
+ }
+
+ /**
+ * Set the tenantId associated with the provider.
+ *
+ * @param tenantId the tenantId value to set
+ * @return the OpenShiftManagedClusterAADIdentityProvider object itself.
+ */
+ public OpenShiftManagedClusterAADIdentityProvider withTenantId(String tenantId) {
+ this.tenantId = tenantId;
+ return this;
+ }
+
+ /**
+ * Get the groupId to be granted cluster admin role.
+ *
+ * @return the customerAdminGroupId value
+ */
+ public String customerAdminGroupId() {
+ return this.customerAdminGroupId;
+ }
+
+ /**
+ * Set the groupId to be granted cluster admin role.
+ *
+ * @param customerAdminGroupId the customerAdminGroupId value to set
+ * @return the OpenShiftManagedClusterAADIdentityProvider object itself.
+ */
+ public OpenShiftManagedClusterAADIdentityProvider withCustomerAdminGroupId(String customerAdminGroupId) {
+ this.customerAdminGroupId = customerAdminGroupId;
+ return this;
+ }
+
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/OpenShiftManagedClusterAgentPoolProfile.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/OpenShiftManagedClusterAgentPoolProfile.java
new file mode 100644
index 000000000000..3eccb30f5587
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/OpenShiftManagedClusterAgentPoolProfile.java
@@ -0,0 +1,186 @@
+/**
+ * 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.containerservice.v2019_08_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Defines the configuration of the OpenShift cluster VMs.
+ */
+public class OpenShiftManagedClusterAgentPoolProfile {
+ /**
+ * Unique name of the pool profile in the context of the subscription and
+ * resource group.
+ */
+ @JsonProperty(value = "name", required = true)
+ private String name;
+
+ /**
+ * Number of agents (VMs) to host docker containers.
+ */
+ @JsonProperty(value = "count", required = true)
+ private int count;
+
+ /**
+ * Size of agent VMs. Possible values include: 'Standard_D2s_v3',
+ * 'Standard_D4s_v3', 'Standard_D8s_v3', 'Standard_D16s_v3',
+ * 'Standard_D32s_v3', 'Standard_D64s_v3', 'Standard_DS4_v2',
+ * 'Standard_DS5_v2', 'Standard_F8s_v2', 'Standard_F16s_v2',
+ * 'Standard_F32s_v2', 'Standard_F64s_v2', 'Standard_F72s_v2',
+ * 'Standard_F8s', 'Standard_F16s', 'Standard_E4s_v3', 'Standard_E8s_v3',
+ * 'Standard_E16s_v3', 'Standard_E20s_v3', 'Standard_E32s_v3',
+ * 'Standard_E64s_v3', 'Standard_GS2', 'Standard_GS3', 'Standard_GS4',
+ * 'Standard_GS5', 'Standard_DS12_v2', 'Standard_DS13_v2',
+ * 'Standard_DS14_v2', 'Standard_DS15_v2', 'Standard_L4s', 'Standard_L8s',
+ * 'Standard_L16s', 'Standard_L32s'.
+ */
+ @JsonProperty(value = "vmSize", required = true)
+ private OpenShiftContainerServiceVMSize vmSize;
+
+ /**
+ * Subnet CIDR for the peering.
+ */
+ @JsonProperty(value = "subnetCidr")
+ private String subnetCidr;
+
+ /**
+ * OsType to be used to specify os type. Choose from Linux and Windows.
+ * Default to Linux. Possible values include: 'Linux', 'Windows'.
+ */
+ @JsonProperty(value = "osType")
+ private OSType osType;
+
+ /**
+ * Define the role of the AgentPoolProfile. Possible values include:
+ * 'compute', 'infra'.
+ */
+ @JsonProperty(value = "role")
+ private OpenShiftAgentPoolProfileRole role;
+
+ /**
+ * Get unique name of the pool profile in the context of the subscription and resource group.
+ *
+ * @return the name value
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set unique name of the pool profile in the context of the subscription and resource group.
+ *
+ * @param name the name value to set
+ * @return the OpenShiftManagedClusterAgentPoolProfile object itself.
+ */
+ public OpenShiftManagedClusterAgentPoolProfile withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get number of agents (VMs) to host docker containers.
+ *
+ * @return the count value
+ */
+ public int count() {
+ return this.count;
+ }
+
+ /**
+ * Set number of agents (VMs) to host docker containers.
+ *
+ * @param count the count value to set
+ * @return the OpenShiftManagedClusterAgentPoolProfile object itself.
+ */
+ public OpenShiftManagedClusterAgentPoolProfile withCount(int count) {
+ this.count = count;
+ return this;
+ }
+
+ /**
+ * Get size of agent VMs. Possible values include: 'Standard_D2s_v3', 'Standard_D4s_v3', 'Standard_D8s_v3', 'Standard_D16s_v3', 'Standard_D32s_v3', 'Standard_D64s_v3', 'Standard_DS4_v2', 'Standard_DS5_v2', 'Standard_F8s_v2', 'Standard_F16s_v2', 'Standard_F32s_v2', 'Standard_F64s_v2', 'Standard_F72s_v2', 'Standard_F8s', 'Standard_F16s', 'Standard_E4s_v3', 'Standard_E8s_v3', 'Standard_E16s_v3', 'Standard_E20s_v3', 'Standard_E32s_v3', 'Standard_E64s_v3', 'Standard_GS2', 'Standard_GS3', 'Standard_GS4', 'Standard_GS5', 'Standard_DS12_v2', 'Standard_DS13_v2', 'Standard_DS14_v2', 'Standard_DS15_v2', 'Standard_L4s', 'Standard_L8s', 'Standard_L16s', 'Standard_L32s'.
+ *
+ * @return the vmSize value
+ */
+ public OpenShiftContainerServiceVMSize vmSize() {
+ return this.vmSize;
+ }
+
+ /**
+ * Set size of agent VMs. Possible values include: 'Standard_D2s_v3', 'Standard_D4s_v3', 'Standard_D8s_v3', 'Standard_D16s_v3', 'Standard_D32s_v3', 'Standard_D64s_v3', 'Standard_DS4_v2', 'Standard_DS5_v2', 'Standard_F8s_v2', 'Standard_F16s_v2', 'Standard_F32s_v2', 'Standard_F64s_v2', 'Standard_F72s_v2', 'Standard_F8s', 'Standard_F16s', 'Standard_E4s_v3', 'Standard_E8s_v3', 'Standard_E16s_v3', 'Standard_E20s_v3', 'Standard_E32s_v3', 'Standard_E64s_v3', 'Standard_GS2', 'Standard_GS3', 'Standard_GS4', 'Standard_GS5', 'Standard_DS12_v2', 'Standard_DS13_v2', 'Standard_DS14_v2', 'Standard_DS15_v2', 'Standard_L4s', 'Standard_L8s', 'Standard_L16s', 'Standard_L32s'.
+ *
+ * @param vmSize the vmSize value to set
+ * @return the OpenShiftManagedClusterAgentPoolProfile object itself.
+ */
+ public OpenShiftManagedClusterAgentPoolProfile withVmSize(OpenShiftContainerServiceVMSize vmSize) {
+ this.vmSize = vmSize;
+ return this;
+ }
+
+ /**
+ * Get subnet CIDR for the peering.
+ *
+ * @return the subnetCidr value
+ */
+ public String subnetCidr() {
+ return this.subnetCidr;
+ }
+
+ /**
+ * Set subnet CIDR for the peering.
+ *
+ * @param subnetCidr the subnetCidr value to set
+ * @return the OpenShiftManagedClusterAgentPoolProfile object itself.
+ */
+ public OpenShiftManagedClusterAgentPoolProfile withSubnetCidr(String subnetCidr) {
+ this.subnetCidr = subnetCidr;
+ return this;
+ }
+
+ /**
+ * Get osType to be used to specify os type. Choose from Linux and Windows. Default to Linux. Possible values include: 'Linux', 'Windows'.
+ *
+ * @return the osType value
+ */
+ public OSType osType() {
+ return this.osType;
+ }
+
+ /**
+ * Set osType to be used to specify os type. Choose from Linux and Windows. Default to Linux. Possible values include: 'Linux', 'Windows'.
+ *
+ * @param osType the osType value to set
+ * @return the OpenShiftManagedClusterAgentPoolProfile object itself.
+ */
+ public OpenShiftManagedClusterAgentPoolProfile withOsType(OSType osType) {
+ this.osType = osType;
+ return this;
+ }
+
+ /**
+ * Get define the role of the AgentPoolProfile. Possible values include: 'compute', 'infra'.
+ *
+ * @return the role value
+ */
+ public OpenShiftAgentPoolProfileRole role() {
+ return this.role;
+ }
+
+ /**
+ * Set define the role of the AgentPoolProfile. Possible values include: 'compute', 'infra'.
+ *
+ * @param role the role value to set
+ * @return the OpenShiftManagedClusterAgentPoolProfile object itself.
+ */
+ public OpenShiftManagedClusterAgentPoolProfile withRole(OpenShiftAgentPoolProfileRole role) {
+ this.role = role;
+ return this;
+ }
+
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/OpenShiftManagedClusterAuthProfile.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/OpenShiftManagedClusterAuthProfile.java
new file mode 100644
index 000000000000..5e168240bca5
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/OpenShiftManagedClusterAuthProfile.java
@@ -0,0 +1,44 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerservice.v2019_08_01;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Defines all possible authentication profiles for the OpenShift cluster.
+ */
+public class OpenShiftManagedClusterAuthProfile {
+ /**
+ * Type of authentication profile to use.
+ */
+ @JsonProperty(value = "identityProviders")
+ private List identityProviders;
+
+ /**
+ * Get type of authentication profile to use.
+ *
+ * @return the identityProviders value
+ */
+ public List identityProviders() {
+ return this.identityProviders;
+ }
+
+ /**
+ * Set type of authentication profile to use.
+ *
+ * @param identityProviders the identityProviders value to set
+ * @return the OpenShiftManagedClusterAuthProfile object itself.
+ */
+ public OpenShiftManagedClusterAuthProfile withIdentityProviders(List identityProviders) {
+ this.identityProviders = identityProviders;
+ return this;
+ }
+
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/OpenShiftManagedClusterBaseIdentityProvider.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/OpenShiftManagedClusterBaseIdentityProvider.java
new file mode 100644
index 000000000000..e278f76c7f5d
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/OpenShiftManagedClusterBaseIdentityProvider.java
@@ -0,0 +1,24 @@
+/**
+ * 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.containerservice.v2019_08_01;
+
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+
+/**
+ * Structure for any Identity provider.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind", defaultImpl = OpenShiftManagedClusterBaseIdentityProvider.class)
+@JsonTypeName("OpenShiftManagedClusterBaseIdentityProvider")
+@JsonSubTypes({
+ @JsonSubTypes.Type(name = "AADIdentityProvider", value = OpenShiftManagedClusterAADIdentityProvider.class)
+})
+public class OpenShiftManagedClusterBaseIdentityProvider {
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/OpenShiftManagedClusterIdentityProvider.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/OpenShiftManagedClusterIdentityProvider.java
new file mode 100644
index 000000000000..377b1f92ae39
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/OpenShiftManagedClusterIdentityProvider.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.containerservice.v2019_08_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Defines the configuration of the identity providers to be used in the
+ * OpenShift cluster.
+ */
+public class OpenShiftManagedClusterIdentityProvider {
+ /**
+ * Name of the provider.
+ */
+ @JsonProperty(value = "name")
+ private String name;
+
+ /**
+ * Configuration of the provider.
+ */
+ @JsonProperty(value = "provider")
+ private OpenShiftManagedClusterBaseIdentityProvider provider;
+
+ /**
+ * Get name of the provider.
+ *
+ * @return the name value
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set name of the provider.
+ *
+ * @param name the name value to set
+ * @return the OpenShiftManagedClusterIdentityProvider object itself.
+ */
+ public OpenShiftManagedClusterIdentityProvider withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get configuration of the provider.
+ *
+ * @return the provider value
+ */
+ public OpenShiftManagedClusterBaseIdentityProvider provider() {
+ return this.provider;
+ }
+
+ /**
+ * Set configuration of the provider.
+ *
+ * @param provider the provider value to set
+ * @return the OpenShiftManagedClusterIdentityProvider object itself.
+ */
+ public OpenShiftManagedClusterIdentityProvider withProvider(OpenShiftManagedClusterBaseIdentityProvider provider) {
+ this.provider = provider;
+ return this;
+ }
+
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/OpenShiftManagedClusterMasterPoolProfile.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/OpenShiftManagedClusterMasterPoolProfile.java
new file mode 100644
index 000000000000..f441f3611c1b
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/OpenShiftManagedClusterMasterPoolProfile.java
@@ -0,0 +1,161 @@
+/**
+ * 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.containerservice.v2019_08_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * OpenShiftManagedClusterMaterPoolProfile contains configuration for OpenShift
+ * master VMs.
+ */
+public class OpenShiftManagedClusterMasterPoolProfile {
+ /**
+ * Unique name of the master pool profile in the context of the
+ * subscription and resource group.
+ */
+ @JsonProperty(value = "name")
+ private String name;
+
+ /**
+ * Number of masters (VMs) to host docker containers. The default value is
+ * 3.
+ */
+ @JsonProperty(value = "count", required = true)
+ private int count;
+
+ /**
+ * Size of agent VMs. Possible values include: 'Standard_D2s_v3',
+ * 'Standard_D4s_v3', 'Standard_D8s_v3', 'Standard_D16s_v3',
+ * 'Standard_D32s_v3', 'Standard_D64s_v3', 'Standard_DS4_v2',
+ * 'Standard_DS5_v2', 'Standard_F8s_v2', 'Standard_F16s_v2',
+ * 'Standard_F32s_v2', 'Standard_F64s_v2', 'Standard_F72s_v2',
+ * 'Standard_F8s', 'Standard_F16s', 'Standard_E4s_v3', 'Standard_E8s_v3',
+ * 'Standard_E16s_v3', 'Standard_E20s_v3', 'Standard_E32s_v3',
+ * 'Standard_E64s_v3', 'Standard_GS2', 'Standard_GS3', 'Standard_GS4',
+ * 'Standard_GS5', 'Standard_DS12_v2', 'Standard_DS13_v2',
+ * 'Standard_DS14_v2', 'Standard_DS15_v2', 'Standard_L4s', 'Standard_L8s',
+ * 'Standard_L16s', 'Standard_L32s'.
+ */
+ @JsonProperty(value = "vmSize", required = true)
+ private OpenShiftContainerServiceVMSize vmSize;
+
+ /**
+ * Subnet CIDR for the peering.
+ */
+ @JsonProperty(value = "subnetCidr")
+ private String subnetCidr;
+
+ /**
+ * OsType to be used to specify os type. Choose from Linux and Windows.
+ * Default to Linux. Possible values include: 'Linux', 'Windows'.
+ */
+ @JsonProperty(value = "osType")
+ private OSType osType;
+
+ /**
+ * Get unique name of the master pool profile in the context of the subscription and resource group.
+ *
+ * @return the name value
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set unique name of the master pool profile in the context of the subscription and resource group.
+ *
+ * @param name the name value to set
+ * @return the OpenShiftManagedClusterMasterPoolProfile object itself.
+ */
+ public OpenShiftManagedClusterMasterPoolProfile withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get number of masters (VMs) to host docker containers. The default value is 3.
+ *
+ * @return the count value
+ */
+ public int count() {
+ return this.count;
+ }
+
+ /**
+ * Set number of masters (VMs) to host docker containers. The default value is 3.
+ *
+ * @param count the count value to set
+ * @return the OpenShiftManagedClusterMasterPoolProfile object itself.
+ */
+ public OpenShiftManagedClusterMasterPoolProfile withCount(int count) {
+ this.count = count;
+ return this;
+ }
+
+ /**
+ * Get size of agent VMs. Possible values include: 'Standard_D2s_v3', 'Standard_D4s_v3', 'Standard_D8s_v3', 'Standard_D16s_v3', 'Standard_D32s_v3', 'Standard_D64s_v3', 'Standard_DS4_v2', 'Standard_DS5_v2', 'Standard_F8s_v2', 'Standard_F16s_v2', 'Standard_F32s_v2', 'Standard_F64s_v2', 'Standard_F72s_v2', 'Standard_F8s', 'Standard_F16s', 'Standard_E4s_v3', 'Standard_E8s_v3', 'Standard_E16s_v3', 'Standard_E20s_v3', 'Standard_E32s_v3', 'Standard_E64s_v3', 'Standard_GS2', 'Standard_GS3', 'Standard_GS4', 'Standard_GS5', 'Standard_DS12_v2', 'Standard_DS13_v2', 'Standard_DS14_v2', 'Standard_DS15_v2', 'Standard_L4s', 'Standard_L8s', 'Standard_L16s', 'Standard_L32s'.
+ *
+ * @return the vmSize value
+ */
+ public OpenShiftContainerServiceVMSize vmSize() {
+ return this.vmSize;
+ }
+
+ /**
+ * Set size of agent VMs. Possible values include: 'Standard_D2s_v3', 'Standard_D4s_v3', 'Standard_D8s_v3', 'Standard_D16s_v3', 'Standard_D32s_v3', 'Standard_D64s_v3', 'Standard_DS4_v2', 'Standard_DS5_v2', 'Standard_F8s_v2', 'Standard_F16s_v2', 'Standard_F32s_v2', 'Standard_F64s_v2', 'Standard_F72s_v2', 'Standard_F8s', 'Standard_F16s', 'Standard_E4s_v3', 'Standard_E8s_v3', 'Standard_E16s_v3', 'Standard_E20s_v3', 'Standard_E32s_v3', 'Standard_E64s_v3', 'Standard_GS2', 'Standard_GS3', 'Standard_GS4', 'Standard_GS5', 'Standard_DS12_v2', 'Standard_DS13_v2', 'Standard_DS14_v2', 'Standard_DS15_v2', 'Standard_L4s', 'Standard_L8s', 'Standard_L16s', 'Standard_L32s'.
+ *
+ * @param vmSize the vmSize value to set
+ * @return the OpenShiftManagedClusterMasterPoolProfile object itself.
+ */
+ public OpenShiftManagedClusterMasterPoolProfile withVmSize(OpenShiftContainerServiceVMSize vmSize) {
+ this.vmSize = vmSize;
+ return this;
+ }
+
+ /**
+ * Get subnet CIDR for the peering.
+ *
+ * @return the subnetCidr value
+ */
+ public String subnetCidr() {
+ return this.subnetCidr;
+ }
+
+ /**
+ * Set subnet CIDR for the peering.
+ *
+ * @param subnetCidr the subnetCidr value to set
+ * @return the OpenShiftManagedClusterMasterPoolProfile object itself.
+ */
+ public OpenShiftManagedClusterMasterPoolProfile withSubnetCidr(String subnetCidr) {
+ this.subnetCidr = subnetCidr;
+ return this;
+ }
+
+ /**
+ * Get osType to be used to specify os type. Choose from Linux and Windows. Default to Linux. Possible values include: 'Linux', 'Windows'.
+ *
+ * @return the osType value
+ */
+ public OSType osType() {
+ return this.osType;
+ }
+
+ /**
+ * Set osType to be used to specify os type. Choose from Linux and Windows. Default to Linux. Possible values include: 'Linux', 'Windows'.
+ *
+ * @param osType the osType value to set
+ * @return the OpenShiftManagedClusterMasterPoolProfile object itself.
+ */
+ public OpenShiftManagedClusterMasterPoolProfile withOsType(OSType osType) {
+ this.osType = osType;
+ return this;
+ }
+
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/OpenShiftManagedClusters.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/OpenShiftManagedClusters.java
new file mode 100644
index 000000000000..40061a758906
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/OpenShiftManagedClusters.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.containerservice.v2019_08_01;
+
+import com.microsoft.azure.arm.collection.SupportsCreating;
+import com.microsoft.azure.arm.resources.collection.SupportsDeletingByResourceGroup;
+import com.microsoft.azure.arm.resources.collection.SupportsBatchDeletion;
+import com.microsoft.azure.arm.resources.collection.SupportsGettingByResourceGroup;
+import rx.Observable;
+import com.microsoft.azure.arm.resources.collection.SupportsListingByResourceGroup;
+import com.microsoft.azure.arm.collection.SupportsListing;
+import com.microsoft.azure.management.containerservice.v2019_08_01.implementation.OpenShiftManagedClustersInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing OpenShiftManagedClusters.
+ */
+public interface OpenShiftManagedClusters extends SupportsCreating, SupportsDeletingByResourceGroup, SupportsBatchDeletion, SupportsGettingByResourceGroup, SupportsListingByResourceGroup, SupportsListing, HasInner {
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/OpenShiftRouterProfile.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/OpenShiftRouterProfile.java
new file mode 100644
index 000000000000..b3d740641f1d
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/OpenShiftRouterProfile.java
@@ -0,0 +1,73 @@
+/**
+ * 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.containerservice.v2019_08_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Represents an OpenShift router.
+ */
+public class OpenShiftRouterProfile {
+ /**
+ * Name of the router profile.
+ */
+ @JsonProperty(value = "name")
+ private String name;
+
+ /**
+ * DNS subdomain for OpenShift router.
+ */
+ @JsonProperty(value = "publicSubdomain", access = JsonProperty.Access.WRITE_ONLY)
+ private String publicSubdomain;
+
+ /**
+ * Auto-allocated FQDN for the OpenShift router.
+ */
+ @JsonProperty(value = "fqdn", access = JsonProperty.Access.WRITE_ONLY)
+ private String fqdn;
+
+ /**
+ * Get name of the router profile.
+ *
+ * @return the name value
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set name of the router profile.
+ *
+ * @param name the name value to set
+ * @return the OpenShiftRouterProfile object itself.
+ */
+ public OpenShiftRouterProfile withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get dNS subdomain for OpenShift router.
+ *
+ * @return the publicSubdomain value
+ */
+ public String publicSubdomain() {
+ return this.publicSubdomain;
+ }
+
+ /**
+ * Get auto-allocated FQDN for the OpenShift router.
+ *
+ * @return the fqdn value
+ */
+ public String fqdn() {
+ return this.fqdn;
+ }
+
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/OperationValue.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/OperationValue.java
new file mode 100644
index 000000000000..ce5f90208da5
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/OperationValue.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.containerservice.v2019_08_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.containerservice.v2019_08_01.implementation.ContainerServiceManager;
+import com.microsoft.azure.management.containerservice.v2019_08_01.implementation.OperationValueInner;
+
+/**
+ * Type representing OperationValue.
+ */
+public interface OperationValue extends HasInner, HasManager {
+ /**
+ * @return the description value.
+ */
+ String description();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the operation value.
+ */
+ String operation();
+
+ /**
+ * @return the origin value.
+ */
+ String origin();
+
+ /**
+ * @return the provider value.
+ */
+ String provider();
+
+ /**
+ * @return the resource value.
+ */
+ String resource();
+
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/Operations.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/Operations.java
new file mode 100644
index 000000000000..f859cb23871a
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/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.containerservice.v2019_08_01;
+
+import rx.Observable;
+import com.microsoft.azure.management.containerservice.v2019_08_01.implementation.OperationsInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing Operations.
+ */
+public interface Operations extends HasInner {
+ /**
+ * Gets a list of compute operations.
+ *
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listAsync();
+
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/OrchestratorProfile.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/OrchestratorProfile.java
new file mode 100644
index 000000000000..4d59cc6c9cb1
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/OrchestratorProfile.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.containerservice.v2019_08_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Contains information about orchestrator.
+ */
+public class OrchestratorProfile {
+ /**
+ * Orchestrator type.
+ */
+ @JsonProperty(value = "orchestratorType")
+ private String orchestratorType;
+
+ /**
+ * Orchestrator version (major, minor, patch).
+ */
+ @JsonProperty(value = "orchestratorVersion", required = true)
+ private String orchestratorVersion;
+
+ /**
+ * Whether Kubernetes version is currently in preview.
+ */
+ @JsonProperty(value = "isPreview")
+ private Boolean isPreview;
+
+ /**
+ * Get orchestrator type.
+ *
+ * @return the orchestratorType value
+ */
+ public String orchestratorType() {
+ return this.orchestratorType;
+ }
+
+ /**
+ * Set orchestrator type.
+ *
+ * @param orchestratorType the orchestratorType value to set
+ * @return the OrchestratorProfile object itself.
+ */
+ public OrchestratorProfile withOrchestratorType(String orchestratorType) {
+ this.orchestratorType = orchestratorType;
+ return this;
+ }
+
+ /**
+ * Get orchestrator version (major, minor, patch).
+ *
+ * @return the orchestratorVersion value
+ */
+ public String orchestratorVersion() {
+ return this.orchestratorVersion;
+ }
+
+ /**
+ * Set orchestrator version (major, minor, patch).
+ *
+ * @param orchestratorVersion the orchestratorVersion value to set
+ * @return the OrchestratorProfile object itself.
+ */
+ public OrchestratorProfile withOrchestratorVersion(String orchestratorVersion) {
+ this.orchestratorVersion = orchestratorVersion;
+ return this;
+ }
+
+ /**
+ * Get whether Kubernetes version is currently in preview.
+ *
+ * @return the isPreview value
+ */
+ public Boolean isPreview() {
+ return this.isPreview;
+ }
+
+ /**
+ * Set whether Kubernetes version is currently in preview.
+ *
+ * @param isPreview the isPreview value to set
+ * @return the OrchestratorProfile object itself.
+ */
+ public OrchestratorProfile withIsPreview(Boolean isPreview) {
+ this.isPreview = isPreview;
+ return this;
+ }
+
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/OrchestratorVersionProfile.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/OrchestratorVersionProfile.java
new file mode 100644
index 000000000000..a5ed50e3d0a6
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/OrchestratorVersionProfile.java
@@ -0,0 +1,148 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerservice.v2019_08_01;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The profile of an orchestrator and its available versions.
+ */
+public class OrchestratorVersionProfile {
+ /**
+ * Orchestrator type.
+ */
+ @JsonProperty(value = "orchestratorType", required = true)
+ private String orchestratorType;
+
+ /**
+ * Orchestrator version (major, minor, patch).
+ */
+ @JsonProperty(value = "orchestratorVersion", required = true)
+ private String orchestratorVersion;
+
+ /**
+ * Installed by default if version is not specified.
+ */
+ @JsonProperty(value = "default")
+ private Boolean defaultProperty;
+
+ /**
+ * Whether Kubernetes version is currently in preview.
+ */
+ @JsonProperty(value = "isPreview")
+ private Boolean isPreview;
+
+ /**
+ * The list of available upgrade versions.
+ */
+ @JsonProperty(value = "upgrades")
+ private List upgrades;
+
+ /**
+ * Get orchestrator type.
+ *
+ * @return the orchestratorType value
+ */
+ public String orchestratorType() {
+ return this.orchestratorType;
+ }
+
+ /**
+ * Set orchestrator type.
+ *
+ * @param orchestratorType the orchestratorType value to set
+ * @return the OrchestratorVersionProfile object itself.
+ */
+ public OrchestratorVersionProfile withOrchestratorType(String orchestratorType) {
+ this.orchestratorType = orchestratorType;
+ return this;
+ }
+
+ /**
+ * Get orchestrator version (major, minor, patch).
+ *
+ * @return the orchestratorVersion value
+ */
+ public String orchestratorVersion() {
+ return this.orchestratorVersion;
+ }
+
+ /**
+ * Set orchestrator version (major, minor, patch).
+ *
+ * @param orchestratorVersion the orchestratorVersion value to set
+ * @return the OrchestratorVersionProfile object itself.
+ */
+ public OrchestratorVersionProfile withOrchestratorVersion(String orchestratorVersion) {
+ this.orchestratorVersion = orchestratorVersion;
+ return this;
+ }
+
+ /**
+ * Get installed by default if version is not specified.
+ *
+ * @return the defaultProperty value
+ */
+ public Boolean defaultProperty() {
+ return this.defaultProperty;
+ }
+
+ /**
+ * Set installed by default if version is not specified.
+ *
+ * @param defaultProperty the defaultProperty value to set
+ * @return the OrchestratorVersionProfile object itself.
+ */
+ public OrchestratorVersionProfile withDefaultProperty(Boolean defaultProperty) {
+ this.defaultProperty = defaultProperty;
+ return this;
+ }
+
+ /**
+ * Get whether Kubernetes version is currently in preview.
+ *
+ * @return the isPreview value
+ */
+ public Boolean isPreview() {
+ return this.isPreview;
+ }
+
+ /**
+ * Set whether Kubernetes version is currently in preview.
+ *
+ * @param isPreview the isPreview value to set
+ * @return the OrchestratorVersionProfile object itself.
+ */
+ public OrchestratorVersionProfile withIsPreview(Boolean isPreview) {
+ this.isPreview = isPreview;
+ return this;
+ }
+
+ /**
+ * Get the list of available upgrade versions.
+ *
+ * @return the upgrades value
+ */
+ public List upgrades() {
+ return this.upgrades;
+ }
+
+ /**
+ * Set the list of available upgrade versions.
+ *
+ * @param upgrades the upgrades value to set
+ * @return the OrchestratorVersionProfile object itself.
+ */
+ public OrchestratorVersionProfile withUpgrades(List upgrades) {
+ this.upgrades = upgrades;
+ return this;
+ }
+
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/OrchestratorVersionProfileListResult.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/OrchestratorVersionProfileListResult.java
new file mode 100644
index 000000000000..2c05209149b0
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/OrchestratorVersionProfileListResult.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.containerservice.v2019_08_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.containerservice.v2019_08_01.implementation.ContainerServiceManager;
+import com.microsoft.azure.management.containerservice.v2019_08_01.implementation.OrchestratorVersionProfileListResultInner;
+import java.util.List;
+
+/**
+ * Type representing OrchestratorVersionProfileListResult.
+ */
+public interface OrchestratorVersionProfileListResult extends HasInner, HasManager {
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the orchestrators value.
+ */
+ List orchestrators();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/PurchasePlan.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/PurchasePlan.java
new file mode 100644
index 000000000000..1c1cdb8210f3
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/PurchasePlan.java
@@ -0,0 +1,123 @@
+/**
+ * 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.containerservice.v2019_08_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Used for establishing the purchase context of any 3rd Party artifact through
+ * MarketPlace.
+ */
+public class PurchasePlan {
+ /**
+ * The plan ID.
+ */
+ @JsonProperty(value = "name")
+ private String name;
+
+ /**
+ * Specifies the product of the image from the marketplace. This is the
+ * same value as Offer under the imageReference element.
+ */
+ @JsonProperty(value = "product")
+ private String product;
+
+ /**
+ * The promotion code.
+ */
+ @JsonProperty(value = "promotionCode")
+ private String promotionCode;
+
+ /**
+ * The plan ID.
+ */
+ @JsonProperty(value = "publisher")
+ private String publisher;
+
+ /**
+ * Get the plan ID.
+ *
+ * @return the name value
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set the plan ID.
+ *
+ * @param name the name value to set
+ * @return the PurchasePlan object itself.
+ */
+ public PurchasePlan withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element.
+ *
+ * @return the product value
+ */
+ public String product() {
+ return this.product;
+ }
+
+ /**
+ * Set specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element.
+ *
+ * @param product the product value to set
+ * @return the PurchasePlan object itself.
+ */
+ public PurchasePlan withProduct(String product) {
+ this.product = product;
+ return this;
+ }
+
+ /**
+ * Get the promotion code.
+ *
+ * @return the promotionCode value
+ */
+ public String promotionCode() {
+ return this.promotionCode;
+ }
+
+ /**
+ * Set the promotion code.
+ *
+ * @param promotionCode the promotionCode value to set
+ * @return the PurchasePlan object itself.
+ */
+ public PurchasePlan withPromotionCode(String promotionCode) {
+ this.promotionCode = promotionCode;
+ return this;
+ }
+
+ /**
+ * Get the plan ID.
+ *
+ * @return the publisher value
+ */
+ public String publisher() {
+ return this.publisher;
+ }
+
+ /**
+ * Set the plan ID.
+ *
+ * @param publisher the publisher value to set
+ * @return the PurchasePlan object itself.
+ */
+ public PurchasePlan withPublisher(String publisher) {
+ this.publisher = publisher;
+ return this;
+ }
+
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ResourceIdentityType.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ResourceIdentityType.java
new file mode 100644
index 000000000000..3841dd4dc7c9
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ResourceIdentityType.java
@@ -0,0 +1,53 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerservice.v2019_08_01;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for ResourceIdentityType.
+ */
+public enum ResourceIdentityType {
+ /** Enum value SystemAssigned. */
+ SYSTEM_ASSIGNED("SystemAssigned"),
+
+ /** Enum value None. */
+ NONE("None");
+
+ /** The actual serialized value for a ResourceIdentityType instance. */
+ private String value;
+
+ ResourceIdentityType(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a ResourceIdentityType instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed ResourceIdentityType object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static ResourceIdentityType fromString(String value) {
+ ResourceIdentityType[] items = ResourceIdentityType.values();
+ for (ResourceIdentityType item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ResourceReference.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ResourceReference.java
new file mode 100644
index 000000000000..e88fff982465
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ResourceReference.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.containerservice.v2019_08_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * A reference to an Azure resource.
+ */
+public class ResourceReference {
+ /**
+ * The fully qualified Azure resource id.
+ */
+ @JsonProperty(value = "id")
+ private String id;
+
+ /**
+ * Get the fully qualified Azure resource id.
+ *
+ * @return the id value
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Set the fully qualified Azure resource id.
+ *
+ * @param id the id value to set
+ * @return the ResourceReference object itself.
+ */
+ public ResourceReference withId(String id) {
+ this.id = id;
+ return this;
+ }
+
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ScaleSetEvictionPolicy.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ScaleSetEvictionPolicy.java
new file mode 100644
index 000000000000..5399e37e8ad7
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ScaleSetEvictionPolicy.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.containerservice.v2019_08_01;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for ScaleSetEvictionPolicy.
+ */
+public final class ScaleSetEvictionPolicy extends ExpandableStringEnum {
+ /** Static value Delete for ScaleSetEvictionPolicy. */
+ public static final ScaleSetEvictionPolicy DELETE = fromString("Delete");
+
+ /** Static value Deallocate for ScaleSetEvictionPolicy. */
+ public static final ScaleSetEvictionPolicy DEALLOCATE = fromString("Deallocate");
+
+ /**
+ * Creates or finds a ScaleSetEvictionPolicy from its string representation.
+ * @param name a name to look for
+ * @return the corresponding ScaleSetEvictionPolicy
+ */
+ @JsonCreator
+ public static ScaleSetEvictionPolicy fromString(String name) {
+ return fromString(name, ScaleSetEvictionPolicy.class);
+ }
+
+ /**
+ * @return known ScaleSetEvictionPolicy values
+ */
+ public static Collection values() {
+ return values(ScaleSetEvictionPolicy.class);
+ }
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ScaleSetPriority.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ScaleSetPriority.java
new file mode 100644
index 000000000000..bef9422ab4b2
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/ScaleSetPriority.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.containerservice.v2019_08_01;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for ScaleSetPriority.
+ */
+public final class ScaleSetPriority extends ExpandableStringEnum {
+ /** Static value Low for ScaleSetPriority. */
+ public static final ScaleSetPriority LOW = fromString("Low");
+
+ /** Static value Regular for ScaleSetPriority. */
+ public static final ScaleSetPriority REGULAR = fromString("Regular");
+
+ /**
+ * Creates or finds a ScaleSetPriority from its string representation.
+ * @param name a name to look for
+ * @return the corresponding ScaleSetPriority
+ */
+ @JsonCreator
+ public static ScaleSetPriority fromString(String name) {
+ return fromString(name, ScaleSetPriority.class);
+ }
+
+ /**
+ * @return known ScaleSetPriority values
+ */
+ public static Collection values() {
+ return values(ScaleSetPriority.class);
+ }
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/TagsObject.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/TagsObject.java
new file mode 100644
index 000000000000..94a13efa9728
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/TagsObject.java
@@ -0,0 +1,44 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerservice.v2019_08_01;
+
+import java.util.Map;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Tags object for patch operations.
+ */
+public class TagsObject {
+ /**
+ * Resource tags.
+ */
+ @JsonProperty(value = "tags")
+ private Map tags;
+
+ /**
+ * Get resource tags.
+ *
+ * @return the tags value
+ */
+ public Map tags() {
+ return this.tags;
+ }
+
+ /**
+ * Set resource tags.
+ *
+ * @param tags the tags value to set
+ * @return the TagsObject object itself.
+ */
+ public TagsObject withTags(Map tags) {
+ this.tags = tags;
+ return this;
+ }
+
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/implementation/AgentPoolAvailableVersionsImpl.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/implementation/AgentPoolAvailableVersionsImpl.java
new file mode 100644
index 000000000000..f67860dcdf90
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/implementation/AgentPoolAvailableVersionsImpl.java
@@ -0,0 +1,48 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerservice.v2019_08_01.implementation;
+
+import com.microsoft.azure.management.containerservice.v2019_08_01.AgentPoolAvailableVersions;
+import com.microsoft.azure.arm.model.implementation.WrapperImpl;
+import java.util.List;
+import com.microsoft.azure.management.containerservice.v2019_08_01.AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem;
+
+class AgentPoolAvailableVersionsImpl extends WrapperImpl implements AgentPoolAvailableVersions {
+ private final ContainerServiceManager manager;
+ AgentPoolAvailableVersionsImpl(AgentPoolAvailableVersionsInner inner, ContainerServiceManager manager) {
+ super(inner);
+ this.manager = manager;
+ }
+
+ @Override
+ public ContainerServiceManager manager() {
+ return this.manager;
+ }
+
+ @Override
+ public List agentPoolVersions() {
+ return this.inner().agentPoolVersions();
+ }
+
+ @Override
+ public String id() {
+ return this.inner().id();
+ }
+
+ @Override
+ public String name() {
+ return this.inner().name();
+ }
+
+ @Override
+ public String type() {
+ return this.inner().type();
+ }
+
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/implementation/AgentPoolAvailableVersionsInner.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/implementation/AgentPoolAvailableVersionsInner.java
new file mode 100644
index 000000000000..4679b134d636
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/implementation/AgentPoolAvailableVersionsInner.java
@@ -0,0 +1,92 @@
+/**
+ * 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.containerservice.v2019_08_01.implementation;
+
+import java.util.List;
+import com.microsoft.azure.management.containerservice.v2019_08_01.AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.microsoft.rest.serializer.JsonFlatten;
+
+/**
+ * The list of available versions for an agent pool.
+ */
+@JsonFlatten
+public class AgentPoolAvailableVersionsInner {
+ /**
+ * Id of the agent pool available versions.
+ */
+ @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY)
+ private String id;
+
+ /**
+ * Name of the agent pool available versions.
+ */
+ @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY)
+ private String name;
+
+ /**
+ * Type of the agent pool available versions.
+ */
+ @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY)
+ private String type;
+
+ /**
+ * List of versions available for agent pool.
+ */
+ @JsonProperty(value = "properties.agentPoolVersions")
+ private List agentPoolVersions;
+
+ /**
+ * Get id of the agent pool available versions.
+ *
+ * @return the id value
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Get name of the agent pool available versions.
+ *
+ * @return the name value
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get type of the agent pool available versions.
+ *
+ * @return the type value
+ */
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get list of versions available for agent pool.
+ *
+ * @return the agentPoolVersions value
+ */
+ public List agentPoolVersions() {
+ return this.agentPoolVersions;
+ }
+
+ /**
+ * Set list of versions available for agent pool.
+ *
+ * @param agentPoolVersions the agentPoolVersions value to set
+ * @return the AgentPoolAvailableVersionsInner object itself.
+ */
+ public AgentPoolAvailableVersionsInner withAgentPoolVersions(List agentPoolVersions) {
+ this.agentPoolVersions = agentPoolVersions;
+ return this;
+ }
+
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/implementation/AgentPoolImpl.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/implementation/AgentPoolImpl.java
new file mode 100644
index 000000000000..3ae98ed95a30
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/implementation/AgentPoolImpl.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.containerservice.v2019_08_01.implementation;
+
+import com.microsoft.azure.management.containerservice.v2019_08_01.AgentPool;
+import com.microsoft.azure.arm.model.implementation.CreatableUpdatableImpl;
+import rx.Observable;
+import com.microsoft.azure.management.containerservice.v2019_08_01.ContainerServiceVMSizeTypes;
+import com.microsoft.azure.management.containerservice.v2019_08_01.OSType;
+import com.microsoft.azure.management.containerservice.v2019_08_01.AgentPoolType;
+import java.util.List;
+import com.microsoft.azure.management.containerservice.v2019_08_01.ScaleSetPriority;
+import com.microsoft.azure.management.containerservice.v2019_08_01.ScaleSetEvictionPolicy;
+
+class AgentPoolImpl extends CreatableUpdatableImpl implements AgentPool, AgentPool.Definition, AgentPool.Update {
+ private final ContainerServiceManager manager;
+ private String resourceGroupName;
+ private String resourceName;
+ private String agentPoolName;
+
+ AgentPoolImpl(String name, ContainerServiceManager manager) {
+ super(name, new AgentPoolInner());
+ this.manager = manager;
+ // Set resource name
+ this.agentPoolName = name;
+ //
+ }
+
+ AgentPoolImpl(AgentPoolInner inner, ContainerServiceManager manager) {
+ super(inner.name(), inner);
+ this.manager = manager;
+ // Set resource name
+ this.agentPoolName = inner.name();
+ // set resource ancestor and positional variables
+ this.resourceGroupName = IdParsingUtils.getValueFromIdByName(inner.id(), "resourceGroups");
+ this.resourceName = IdParsingUtils.getValueFromIdByName(inner.id(), "managedClusters");
+ this.agentPoolName = IdParsingUtils.getValueFromIdByName(inner.id(), "agentPools");
+ //
+ }
+
+ @Override
+ public ContainerServiceManager manager() {
+ return this.manager;
+ }
+
+ @Override
+ public Observable createResourceAsync() {
+ AgentPoolsInner client = this.manager().inner().agentPools();
+ return client.createOrUpdateAsync(this.resourceGroupName, this.resourceName, this.agentPoolName, this.inner())
+ .map(innerToFluentMap(this));
+ }
+
+ @Override
+ public Observable updateResourceAsync() {
+ AgentPoolsInner client = this.manager().inner().agentPools();
+ return client.createOrUpdateAsync(this.resourceGroupName, this.resourceName, this.agentPoolName, this.inner())
+ .map(innerToFluentMap(this));
+ }
+
+ @Override
+ protected Observable getInnerAsync() {
+ AgentPoolsInner client = this.manager().inner().agentPools();
+ return client.getAsync(this.resourceGroupName, this.resourceName, this.agentPoolName);
+ }
+
+ @Override
+ public boolean isInCreateMode() {
+ return this.inner().id() == null;
+ }
+
+
+ @Override
+ public AgentPoolType agentPoolType() {
+ return this.inner().agentPoolType();
+ }
+
+ @Override
+ public List availabilityZones() {
+ return this.inner().availabilityZones();
+ }
+
+ @Override
+ public int count() {
+ return this.inner().count();
+ }
+
+ @Override
+ public Boolean enableAutoScaling() {
+ return this.inner().enableAutoScaling();
+ }
+
+ @Override
+ public Boolean enableNodePublicIP() {
+ return this.inner().enableNodePublicIP();
+ }
+
+ @Override
+ public String id() {
+ return this.inner().id();
+ }
+
+ @Override
+ public Integer maxCount() {
+ return this.inner().maxCount();
+ }
+
+ @Override
+ public Integer maxPods() {
+ return this.inner().maxPods();
+ }
+
+ @Override
+ public Integer minCount() {
+ return this.inner().minCount();
+ }
+
+ @Override
+ public String name() {
+ return this.inner().name();
+ }
+
+ @Override
+ public List nodeTaints() {
+ return this.inner().nodeTaints();
+ }
+
+ @Override
+ public String orchestratorVersion() {
+ return this.inner().orchestratorVersion();
+ }
+
+ @Override
+ public Integer osDiskSizeGB() {
+ return this.inner().osDiskSizeGB();
+ }
+
+ @Override
+ public OSType osType() {
+ return this.inner().osType();
+ }
+
+ @Override
+ public String provisioningState() {
+ return this.inner().provisioningState();
+ }
+
+ @Override
+ public ScaleSetEvictionPolicy scaleSetEvictionPolicy() {
+ return this.inner().scaleSetEvictionPolicy();
+ }
+
+ @Override
+ public ScaleSetPriority scaleSetPriority() {
+ return this.inner().scaleSetPriority();
+ }
+
+ @Override
+ public String type() {
+ return this.inner().type();
+ }
+
+ @Override
+ public ContainerServiceVMSizeTypes vmSize() {
+ return this.inner().vmSize();
+ }
+
+ @Override
+ public String vnetSubnetID() {
+ return this.inner().vnetSubnetID();
+ }
+
+ @Override
+ public AgentPoolImpl withExistingManagedCluster(String resourceGroupName, String resourceName) {
+ this.resourceGroupName = resourceGroupName;
+ this.resourceName = resourceName;
+ return this;
+ }
+
+ @Override
+ public AgentPoolImpl withCount(int count) {
+ this.inner().withCount(count);
+ return this;
+ }
+
+ @Override
+ public AgentPoolImpl withVmSize(ContainerServiceVMSizeTypes vmSize) {
+ this.inner().withVmSize(vmSize);
+ return this;
+ }
+
+ @Override
+ public AgentPoolImpl withAgentPoolType(AgentPoolType agentPoolType) {
+ this.inner().withAgentPoolType(agentPoolType);
+ return this;
+ }
+
+ @Override
+ public AgentPoolImpl withAvailabilityZones(List availabilityZones) {
+ this.inner().withAvailabilityZones(availabilityZones);
+ return this;
+ }
+
+ @Override
+ public AgentPoolImpl withEnableAutoScaling(Boolean enableAutoScaling) {
+ this.inner().withEnableAutoScaling(enableAutoScaling);
+ return this;
+ }
+
+ @Override
+ public AgentPoolImpl withEnableNodePublicIP(Boolean enableNodePublicIP) {
+ this.inner().withEnableNodePublicIP(enableNodePublicIP);
+ return this;
+ }
+
+ @Override
+ public AgentPoolImpl withMaxCount(Integer maxCount) {
+ this.inner().withMaxCount(maxCount);
+ return this;
+ }
+
+ @Override
+ public AgentPoolImpl withMaxPods(Integer maxPods) {
+ this.inner().withMaxPods(maxPods);
+ return this;
+ }
+
+ @Override
+ public AgentPoolImpl withMinCount(Integer minCount) {
+ this.inner().withMinCount(minCount);
+ return this;
+ }
+
+ @Override
+ public AgentPoolImpl withNodeTaints(List nodeTaints) {
+ this.inner().withNodeTaints(nodeTaints);
+ return this;
+ }
+
+ @Override
+ public AgentPoolImpl withOrchestratorVersion(String orchestratorVersion) {
+ this.inner().withOrchestratorVersion(orchestratorVersion);
+ return this;
+ }
+
+ @Override
+ public AgentPoolImpl withOsDiskSizeGB(Integer osDiskSizeGB) {
+ this.inner().withOsDiskSizeGB(osDiskSizeGB);
+ return this;
+ }
+
+ @Override
+ public AgentPoolImpl withOsType(OSType osType) {
+ this.inner().withOsType(osType);
+ return this;
+ }
+
+ @Override
+ public AgentPoolImpl withScaleSetEvictionPolicy(ScaleSetEvictionPolicy scaleSetEvictionPolicy) {
+ this.inner().withScaleSetEvictionPolicy(scaleSetEvictionPolicy);
+ return this;
+ }
+
+ @Override
+ public AgentPoolImpl withScaleSetPriority(ScaleSetPriority scaleSetPriority) {
+ this.inner().withScaleSetPriority(scaleSetPriority);
+ return this;
+ }
+
+ @Override
+ public AgentPoolImpl withVnetSubnetID(String vnetSubnetID) {
+ this.inner().withVnetSubnetID(vnetSubnetID);
+ return this;
+ }
+
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/implementation/AgentPoolInner.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/implementation/AgentPoolInner.java
new file mode 100644
index 000000000000..58db15a020ad
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/implementation/AgentPoolInner.java
@@ -0,0 +1,550 @@
+/**
+ * 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.containerservice.v2019_08_01.implementation;
+
+import com.microsoft.azure.management.containerservice.v2019_08_01.ContainerServiceVMSizeTypes;
+import com.microsoft.azure.management.containerservice.v2019_08_01.OSType;
+import com.microsoft.azure.management.containerservice.v2019_08_01.AgentPoolType;
+import java.util.List;
+import com.microsoft.azure.management.containerservice.v2019_08_01.ScaleSetPriority;
+import com.microsoft.azure.management.containerservice.v2019_08_01.ScaleSetEvictionPolicy;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.microsoft.rest.serializer.JsonFlatten;
+import com.microsoft.azure.SubResource;
+
+/**
+ * Agent Pool.
+ */
+@JsonFlatten
+public class AgentPoolInner extends SubResource {
+ /**
+ * Number of agents (VMs) to host docker containers. Allowed values must be
+ * in the range of 1 to 100 (inclusive). The default value is 1.
+ */
+ @JsonProperty(value = "properties.count", required = true)
+ private int count;
+
+ /**
+ * Size of agent VMs. Possible values include: 'Standard_A1',
+ * 'Standard_A10', 'Standard_A11', 'Standard_A1_v2', 'Standard_A2',
+ * 'Standard_A2_v2', 'Standard_A2m_v2', 'Standard_A3', 'Standard_A4',
+ * 'Standard_A4_v2', 'Standard_A4m_v2', 'Standard_A5', 'Standard_A6',
+ * 'Standard_A7', 'Standard_A8', 'Standard_A8_v2', 'Standard_A8m_v2',
+ * 'Standard_A9', 'Standard_B2ms', 'Standard_B2s', 'Standard_B4ms',
+ * 'Standard_B8ms', 'Standard_D1', 'Standard_D11', 'Standard_D11_v2',
+ * 'Standard_D11_v2_Promo', 'Standard_D12', 'Standard_D12_v2',
+ * 'Standard_D12_v2_Promo', 'Standard_D13', 'Standard_D13_v2',
+ * 'Standard_D13_v2_Promo', 'Standard_D14', 'Standard_D14_v2',
+ * 'Standard_D14_v2_Promo', 'Standard_D15_v2', 'Standard_D16_v3',
+ * 'Standard_D16s_v3', 'Standard_D1_v2', 'Standard_D2', 'Standard_D2_v2',
+ * 'Standard_D2_v2_Promo', 'Standard_D2_v3', 'Standard_D2s_v3',
+ * 'Standard_D3', 'Standard_D32_v3', 'Standard_D32s_v3', 'Standard_D3_v2',
+ * 'Standard_D3_v2_Promo', 'Standard_D4', 'Standard_D4_v2',
+ * 'Standard_D4_v2_Promo', 'Standard_D4_v3', 'Standard_D4s_v3',
+ * 'Standard_D5_v2', 'Standard_D5_v2_Promo', 'Standard_D64_v3',
+ * 'Standard_D64s_v3', 'Standard_D8_v3', 'Standard_D8s_v3', 'Standard_DS1',
+ * 'Standard_DS11', 'Standard_DS11_v2', 'Standard_DS11_v2_Promo',
+ * 'Standard_DS12', 'Standard_DS12_v2', 'Standard_DS12_v2_Promo',
+ * 'Standard_DS13', 'Standard_DS13-2_v2', 'Standard_DS13-4_v2',
+ * 'Standard_DS13_v2', 'Standard_DS13_v2_Promo', 'Standard_DS14',
+ * 'Standard_DS14-4_v2', 'Standard_DS14-8_v2', 'Standard_DS14_v2',
+ * 'Standard_DS14_v2_Promo', 'Standard_DS15_v2', 'Standard_DS1_v2',
+ * 'Standard_DS2', 'Standard_DS2_v2', 'Standard_DS2_v2_Promo',
+ * 'Standard_DS3', 'Standard_DS3_v2', 'Standard_DS3_v2_Promo',
+ * 'Standard_DS4', 'Standard_DS4_v2', 'Standard_DS4_v2_Promo',
+ * 'Standard_DS5_v2', 'Standard_DS5_v2_Promo', 'Standard_E16_v3',
+ * 'Standard_E16s_v3', 'Standard_E2_v3', 'Standard_E2s_v3',
+ * 'Standard_E32-16s_v3', 'Standard_E32-8s_v3', 'Standard_E32_v3',
+ * 'Standard_E32s_v3', 'Standard_E4_v3', 'Standard_E4s_v3',
+ * 'Standard_E64-16s_v3', 'Standard_E64-32s_v3', 'Standard_E64_v3',
+ * 'Standard_E64s_v3', 'Standard_E8_v3', 'Standard_E8s_v3', 'Standard_F1',
+ * 'Standard_F16', 'Standard_F16s', 'Standard_F16s_v2', 'Standard_F1s',
+ * 'Standard_F2', 'Standard_F2s', 'Standard_F2s_v2', 'Standard_F32s_v2',
+ * 'Standard_F4', 'Standard_F4s', 'Standard_F4s_v2', 'Standard_F64s_v2',
+ * 'Standard_F72s_v2', 'Standard_F8', 'Standard_F8s', 'Standard_F8s_v2',
+ * 'Standard_G1', 'Standard_G2', 'Standard_G3', 'Standard_G4',
+ * 'Standard_G5', 'Standard_GS1', 'Standard_GS2', 'Standard_GS3',
+ * 'Standard_GS4', 'Standard_GS4-4', 'Standard_GS4-8', 'Standard_GS5',
+ * 'Standard_GS5-16', 'Standard_GS5-8', 'Standard_H16', 'Standard_H16m',
+ * 'Standard_H16mr', 'Standard_H16r', 'Standard_H8', 'Standard_H8m',
+ * 'Standard_L16s', 'Standard_L32s', 'Standard_L4s', 'Standard_L8s',
+ * 'Standard_M128-32ms', 'Standard_M128-64ms', 'Standard_M128ms',
+ * 'Standard_M128s', 'Standard_M64-16ms', 'Standard_M64-32ms',
+ * 'Standard_M64ms', 'Standard_M64s', 'Standard_NC12', 'Standard_NC12s_v2',
+ * 'Standard_NC12s_v3', 'Standard_NC24', 'Standard_NC24r',
+ * 'Standard_NC24rs_v2', 'Standard_NC24rs_v3', 'Standard_NC24s_v2',
+ * 'Standard_NC24s_v3', 'Standard_NC6', 'Standard_NC6s_v2',
+ * 'Standard_NC6s_v3', 'Standard_ND12s', 'Standard_ND24rs',
+ * 'Standard_ND24s', 'Standard_ND6s', 'Standard_NV12', 'Standard_NV24',
+ * 'Standard_NV6'.
+ */
+ @JsonProperty(value = "properties.vmSize", required = true)
+ private ContainerServiceVMSizeTypes vmSize;
+
+ /**
+ * OS Disk Size in GB to be used to specify the disk size for every machine
+ * in this master/agent pool. If you specify 0, it will apply the default
+ * osDisk size according to the vmSize specified.
+ */
+ @JsonProperty(value = "properties.osDiskSizeGB")
+ private Integer osDiskSizeGB;
+
+ /**
+ * VNet SubnetID specifies the VNet's subnet identifier.
+ */
+ @JsonProperty(value = "properties.vnetSubnetID")
+ private String vnetSubnetID;
+
+ /**
+ * Maximum number of pods that can run on a node.
+ */
+ @JsonProperty(value = "properties.maxPods")
+ private Integer maxPods;
+
+ /**
+ * OsType to be used to specify os type. Choose from Linux and Windows.
+ * Default to Linux. Possible values include: 'Linux', 'Windows'.
+ */
+ @JsonProperty(value = "properties.osType")
+ private OSType osType;
+
+ /**
+ * Maximum number of nodes for auto-scaling.
+ */
+ @JsonProperty(value = "properties.maxCount")
+ private Integer maxCount;
+
+ /**
+ * Minimum number of nodes for auto-scaling.
+ */
+ @JsonProperty(value = "properties.minCount")
+ private Integer minCount;
+
+ /**
+ * Whether to enable auto-scaler.
+ */
+ @JsonProperty(value = "properties.enableAutoScaling")
+ private Boolean enableAutoScaling;
+
+ /**
+ * AgentPoolType represents types of an agent pool. Possible values
+ * include: 'VirtualMachineScaleSets', 'AvailabilitySet'.
+ */
+ @JsonProperty(value = "properties.type")
+ private AgentPoolType agentPoolType;
+
+ /**
+ * Version of orchestrator specified when creating the managed cluster.
+ */
+ @JsonProperty(value = "properties.orchestratorVersion")
+ private String orchestratorVersion;
+
+ /**
+ * The current deployment or provisioning state, which only appears in the
+ * response.
+ */
+ @JsonProperty(value = "properties.provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private String provisioningState;
+
+ /**
+ * (PREVIEW) Availability zones for nodes. Must use VirtualMachineScaleSets
+ * AgentPoolType.
+ */
+ @JsonProperty(value = "properties.availabilityZones")
+ private List availabilityZones;
+
+ /**
+ * Enable public IP for nodes.
+ */
+ @JsonProperty(value = "properties.enableNodePublicIP")
+ private Boolean enableNodePublicIP;
+
+ /**
+ * ScaleSetPriority to be used to specify virtual machine scale set
+ * priority. Default to regular. Possible values include: 'Low', 'Regular'.
+ */
+ @JsonProperty(value = "properties.scaleSetPriority")
+ private ScaleSetPriority scaleSetPriority;
+
+ /**
+ * ScaleSetEvictionPolicy to be used to specify eviction policy for low
+ * priority virtual machine scale set. Default to Delete. Possible values
+ * include: 'Delete', 'Deallocate'.
+ */
+ @JsonProperty(value = "properties.scaleSetEvictionPolicy")
+ private ScaleSetEvictionPolicy scaleSetEvictionPolicy;
+
+ /**
+ * Taints added to new nodes during node pool create and scale. For
+ * example, key=value:NoSchedule.
+ */
+ @JsonProperty(value = "properties.nodeTaints")
+ private List nodeTaints;
+
+ /**
+ * The name of the resource that is unique within a resource group. This
+ * name can be used to access the resource.
+ */
+ @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY)
+ private String name;
+
+ /**
+ * Resource type.
+ */
+ @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY)
+ private String type;
+
+ /**
+ * Get number of agents (VMs) to host docker containers. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1.
+ *
+ * @return the count value
+ */
+ public int count() {
+ return this.count;
+ }
+
+ /**
+ * Set number of agents (VMs) to host docker containers. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1.
+ *
+ * @param count the count value to set
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withCount(int count) {
+ this.count = count;
+ return this;
+ }
+
+ /**
+ * Get size of agent VMs. Possible values include: 'Standard_A1', 'Standard_A10', 'Standard_A11', 'Standard_A1_v2', 'Standard_A2', 'Standard_A2_v2', 'Standard_A2m_v2', 'Standard_A3', 'Standard_A4', 'Standard_A4_v2', 'Standard_A4m_v2', 'Standard_A5', 'Standard_A6', 'Standard_A7', 'Standard_A8', 'Standard_A8_v2', 'Standard_A8m_v2', 'Standard_A9', 'Standard_B2ms', 'Standard_B2s', 'Standard_B4ms', 'Standard_B8ms', 'Standard_D1', 'Standard_D11', 'Standard_D11_v2', 'Standard_D11_v2_Promo', 'Standard_D12', 'Standard_D12_v2', 'Standard_D12_v2_Promo', 'Standard_D13', 'Standard_D13_v2', 'Standard_D13_v2_Promo', 'Standard_D14', 'Standard_D14_v2', 'Standard_D14_v2_Promo', 'Standard_D15_v2', 'Standard_D16_v3', 'Standard_D16s_v3', 'Standard_D1_v2', 'Standard_D2', 'Standard_D2_v2', 'Standard_D2_v2_Promo', 'Standard_D2_v3', 'Standard_D2s_v3', 'Standard_D3', 'Standard_D32_v3', 'Standard_D32s_v3', 'Standard_D3_v2', 'Standard_D3_v2_Promo', 'Standard_D4', 'Standard_D4_v2', 'Standard_D4_v2_Promo', 'Standard_D4_v3', 'Standard_D4s_v3', 'Standard_D5_v2', 'Standard_D5_v2_Promo', 'Standard_D64_v3', 'Standard_D64s_v3', 'Standard_D8_v3', 'Standard_D8s_v3', 'Standard_DS1', 'Standard_DS11', 'Standard_DS11_v2', 'Standard_DS11_v2_Promo', 'Standard_DS12', 'Standard_DS12_v2', 'Standard_DS12_v2_Promo', 'Standard_DS13', 'Standard_DS13-2_v2', 'Standard_DS13-4_v2', 'Standard_DS13_v2', 'Standard_DS13_v2_Promo', 'Standard_DS14', 'Standard_DS14-4_v2', 'Standard_DS14-8_v2', 'Standard_DS14_v2', 'Standard_DS14_v2_Promo', 'Standard_DS15_v2', 'Standard_DS1_v2', 'Standard_DS2', 'Standard_DS2_v2', 'Standard_DS2_v2_Promo', 'Standard_DS3', 'Standard_DS3_v2', 'Standard_DS3_v2_Promo', 'Standard_DS4', 'Standard_DS4_v2', 'Standard_DS4_v2_Promo', 'Standard_DS5_v2', 'Standard_DS5_v2_Promo', 'Standard_E16_v3', 'Standard_E16s_v3', 'Standard_E2_v3', 'Standard_E2s_v3', 'Standard_E32-16s_v3', 'Standard_E32-8s_v3', 'Standard_E32_v3', 'Standard_E32s_v3', 'Standard_E4_v3', 'Standard_E4s_v3', 'Standard_E64-16s_v3', 'Standard_E64-32s_v3', 'Standard_E64_v3', 'Standard_E64s_v3', 'Standard_E8_v3', 'Standard_E8s_v3', 'Standard_F1', 'Standard_F16', 'Standard_F16s', 'Standard_F16s_v2', 'Standard_F1s', 'Standard_F2', 'Standard_F2s', 'Standard_F2s_v2', 'Standard_F32s_v2', 'Standard_F4', 'Standard_F4s', 'Standard_F4s_v2', 'Standard_F64s_v2', 'Standard_F72s_v2', 'Standard_F8', 'Standard_F8s', 'Standard_F8s_v2', 'Standard_G1', 'Standard_G2', 'Standard_G3', 'Standard_G4', 'Standard_G5', 'Standard_GS1', 'Standard_GS2', 'Standard_GS3', 'Standard_GS4', 'Standard_GS4-4', 'Standard_GS4-8', 'Standard_GS5', 'Standard_GS5-16', 'Standard_GS5-8', 'Standard_H16', 'Standard_H16m', 'Standard_H16mr', 'Standard_H16r', 'Standard_H8', 'Standard_H8m', 'Standard_L16s', 'Standard_L32s', 'Standard_L4s', 'Standard_L8s', 'Standard_M128-32ms', 'Standard_M128-64ms', 'Standard_M128ms', 'Standard_M128s', 'Standard_M64-16ms', 'Standard_M64-32ms', 'Standard_M64ms', 'Standard_M64s', 'Standard_NC12', 'Standard_NC12s_v2', 'Standard_NC12s_v3', 'Standard_NC24', 'Standard_NC24r', 'Standard_NC24rs_v2', 'Standard_NC24rs_v3', 'Standard_NC24s_v2', 'Standard_NC24s_v3', 'Standard_NC6', 'Standard_NC6s_v2', 'Standard_NC6s_v3', 'Standard_ND12s', 'Standard_ND24rs', 'Standard_ND24s', 'Standard_ND6s', 'Standard_NV12', 'Standard_NV24', 'Standard_NV6'.
+ *
+ * @return the vmSize value
+ */
+ public ContainerServiceVMSizeTypes vmSize() {
+ return this.vmSize;
+ }
+
+ /**
+ * Set size of agent VMs. Possible values include: 'Standard_A1', 'Standard_A10', 'Standard_A11', 'Standard_A1_v2', 'Standard_A2', 'Standard_A2_v2', 'Standard_A2m_v2', 'Standard_A3', 'Standard_A4', 'Standard_A4_v2', 'Standard_A4m_v2', 'Standard_A5', 'Standard_A6', 'Standard_A7', 'Standard_A8', 'Standard_A8_v2', 'Standard_A8m_v2', 'Standard_A9', 'Standard_B2ms', 'Standard_B2s', 'Standard_B4ms', 'Standard_B8ms', 'Standard_D1', 'Standard_D11', 'Standard_D11_v2', 'Standard_D11_v2_Promo', 'Standard_D12', 'Standard_D12_v2', 'Standard_D12_v2_Promo', 'Standard_D13', 'Standard_D13_v2', 'Standard_D13_v2_Promo', 'Standard_D14', 'Standard_D14_v2', 'Standard_D14_v2_Promo', 'Standard_D15_v2', 'Standard_D16_v3', 'Standard_D16s_v3', 'Standard_D1_v2', 'Standard_D2', 'Standard_D2_v2', 'Standard_D2_v2_Promo', 'Standard_D2_v3', 'Standard_D2s_v3', 'Standard_D3', 'Standard_D32_v3', 'Standard_D32s_v3', 'Standard_D3_v2', 'Standard_D3_v2_Promo', 'Standard_D4', 'Standard_D4_v2', 'Standard_D4_v2_Promo', 'Standard_D4_v3', 'Standard_D4s_v3', 'Standard_D5_v2', 'Standard_D5_v2_Promo', 'Standard_D64_v3', 'Standard_D64s_v3', 'Standard_D8_v3', 'Standard_D8s_v3', 'Standard_DS1', 'Standard_DS11', 'Standard_DS11_v2', 'Standard_DS11_v2_Promo', 'Standard_DS12', 'Standard_DS12_v2', 'Standard_DS12_v2_Promo', 'Standard_DS13', 'Standard_DS13-2_v2', 'Standard_DS13-4_v2', 'Standard_DS13_v2', 'Standard_DS13_v2_Promo', 'Standard_DS14', 'Standard_DS14-4_v2', 'Standard_DS14-8_v2', 'Standard_DS14_v2', 'Standard_DS14_v2_Promo', 'Standard_DS15_v2', 'Standard_DS1_v2', 'Standard_DS2', 'Standard_DS2_v2', 'Standard_DS2_v2_Promo', 'Standard_DS3', 'Standard_DS3_v2', 'Standard_DS3_v2_Promo', 'Standard_DS4', 'Standard_DS4_v2', 'Standard_DS4_v2_Promo', 'Standard_DS5_v2', 'Standard_DS5_v2_Promo', 'Standard_E16_v3', 'Standard_E16s_v3', 'Standard_E2_v3', 'Standard_E2s_v3', 'Standard_E32-16s_v3', 'Standard_E32-8s_v3', 'Standard_E32_v3', 'Standard_E32s_v3', 'Standard_E4_v3', 'Standard_E4s_v3', 'Standard_E64-16s_v3', 'Standard_E64-32s_v3', 'Standard_E64_v3', 'Standard_E64s_v3', 'Standard_E8_v3', 'Standard_E8s_v3', 'Standard_F1', 'Standard_F16', 'Standard_F16s', 'Standard_F16s_v2', 'Standard_F1s', 'Standard_F2', 'Standard_F2s', 'Standard_F2s_v2', 'Standard_F32s_v2', 'Standard_F4', 'Standard_F4s', 'Standard_F4s_v2', 'Standard_F64s_v2', 'Standard_F72s_v2', 'Standard_F8', 'Standard_F8s', 'Standard_F8s_v2', 'Standard_G1', 'Standard_G2', 'Standard_G3', 'Standard_G4', 'Standard_G5', 'Standard_GS1', 'Standard_GS2', 'Standard_GS3', 'Standard_GS4', 'Standard_GS4-4', 'Standard_GS4-8', 'Standard_GS5', 'Standard_GS5-16', 'Standard_GS5-8', 'Standard_H16', 'Standard_H16m', 'Standard_H16mr', 'Standard_H16r', 'Standard_H8', 'Standard_H8m', 'Standard_L16s', 'Standard_L32s', 'Standard_L4s', 'Standard_L8s', 'Standard_M128-32ms', 'Standard_M128-64ms', 'Standard_M128ms', 'Standard_M128s', 'Standard_M64-16ms', 'Standard_M64-32ms', 'Standard_M64ms', 'Standard_M64s', 'Standard_NC12', 'Standard_NC12s_v2', 'Standard_NC12s_v3', 'Standard_NC24', 'Standard_NC24r', 'Standard_NC24rs_v2', 'Standard_NC24rs_v3', 'Standard_NC24s_v2', 'Standard_NC24s_v3', 'Standard_NC6', 'Standard_NC6s_v2', 'Standard_NC6s_v3', 'Standard_ND12s', 'Standard_ND24rs', 'Standard_ND24s', 'Standard_ND6s', 'Standard_NV12', 'Standard_NV24', 'Standard_NV6'.
+ *
+ * @param vmSize the vmSize value to set
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withVmSize(ContainerServiceVMSizeTypes vmSize) {
+ this.vmSize = vmSize;
+ return this;
+ }
+
+ /**
+ * Get oS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified.
+ *
+ * @return the osDiskSizeGB value
+ */
+ public Integer osDiskSizeGB() {
+ return this.osDiskSizeGB;
+ }
+
+ /**
+ * Set oS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified.
+ *
+ * @param osDiskSizeGB the osDiskSizeGB value to set
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withOsDiskSizeGB(Integer osDiskSizeGB) {
+ this.osDiskSizeGB = osDiskSizeGB;
+ return this;
+ }
+
+ /**
+ * Get vNet SubnetID specifies the VNet's subnet identifier.
+ *
+ * @return the vnetSubnetID value
+ */
+ public String vnetSubnetID() {
+ return this.vnetSubnetID;
+ }
+
+ /**
+ * Set vNet SubnetID specifies the VNet's subnet identifier.
+ *
+ * @param vnetSubnetID the vnetSubnetID value to set
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withVnetSubnetID(String vnetSubnetID) {
+ this.vnetSubnetID = vnetSubnetID;
+ return this;
+ }
+
+ /**
+ * Get maximum number of pods that can run on a node.
+ *
+ * @return the maxPods value
+ */
+ public Integer maxPods() {
+ return this.maxPods;
+ }
+
+ /**
+ * Set maximum number of pods that can run on a node.
+ *
+ * @param maxPods the maxPods value to set
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withMaxPods(Integer maxPods) {
+ this.maxPods = maxPods;
+ return this;
+ }
+
+ /**
+ * Get osType to be used to specify os type. Choose from Linux and Windows. Default to Linux. Possible values include: 'Linux', 'Windows'.
+ *
+ * @return the osType value
+ */
+ public OSType osType() {
+ return this.osType;
+ }
+
+ /**
+ * Set osType to be used to specify os type. Choose from Linux and Windows. Default to Linux. Possible values include: 'Linux', 'Windows'.
+ *
+ * @param osType the osType value to set
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withOsType(OSType osType) {
+ this.osType = osType;
+ return this;
+ }
+
+ /**
+ * Get maximum number of nodes for auto-scaling.
+ *
+ * @return the maxCount value
+ */
+ public Integer maxCount() {
+ return this.maxCount;
+ }
+
+ /**
+ * Set maximum number of nodes for auto-scaling.
+ *
+ * @param maxCount the maxCount value to set
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withMaxCount(Integer maxCount) {
+ this.maxCount = maxCount;
+ return this;
+ }
+
+ /**
+ * Get minimum number of nodes for auto-scaling.
+ *
+ * @return the minCount value
+ */
+ public Integer minCount() {
+ return this.minCount;
+ }
+
+ /**
+ * Set minimum number of nodes for auto-scaling.
+ *
+ * @param minCount the minCount value to set
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withMinCount(Integer minCount) {
+ this.minCount = minCount;
+ return this;
+ }
+
+ /**
+ * Get whether to enable auto-scaler.
+ *
+ * @return the enableAutoScaling value
+ */
+ public Boolean enableAutoScaling() {
+ return this.enableAutoScaling;
+ }
+
+ /**
+ * Set whether to enable auto-scaler.
+ *
+ * @param enableAutoScaling the enableAutoScaling value to set
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withEnableAutoScaling(Boolean enableAutoScaling) {
+ this.enableAutoScaling = enableAutoScaling;
+ return this;
+ }
+
+ /**
+ * Get agentPoolType represents types of an agent pool. Possible values include: 'VirtualMachineScaleSets', 'AvailabilitySet'.
+ *
+ * @return the agentPoolType value
+ */
+ public AgentPoolType agentPoolType() {
+ return this.agentPoolType;
+ }
+
+ /**
+ * Set agentPoolType represents types of an agent pool. Possible values include: 'VirtualMachineScaleSets', 'AvailabilitySet'.
+ *
+ * @param agentPoolType the agentPoolType value to set
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withAgentPoolType(AgentPoolType agentPoolType) {
+ this.agentPoolType = agentPoolType;
+ return this;
+ }
+
+ /**
+ * Get version of orchestrator specified when creating the managed cluster.
+ *
+ * @return the orchestratorVersion value
+ */
+ public String orchestratorVersion() {
+ return this.orchestratorVersion;
+ }
+
+ /**
+ * Set version of orchestrator specified when creating the managed cluster.
+ *
+ * @param orchestratorVersion the orchestratorVersion value to set
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withOrchestratorVersion(String orchestratorVersion) {
+ this.orchestratorVersion = orchestratorVersion;
+ return this;
+ }
+
+ /**
+ * Get the current deployment or provisioning state, which only appears in the response.
+ *
+ * @return the provisioningState value
+ */
+ public String provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get (PREVIEW) Availability zones for nodes. Must use VirtualMachineScaleSets AgentPoolType.
+ *
+ * @return the availabilityZones value
+ */
+ public List availabilityZones() {
+ return this.availabilityZones;
+ }
+
+ /**
+ * Set (PREVIEW) Availability zones for nodes. Must use VirtualMachineScaleSets AgentPoolType.
+ *
+ * @param availabilityZones the availabilityZones value to set
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withAvailabilityZones(List availabilityZones) {
+ this.availabilityZones = availabilityZones;
+ return this;
+ }
+
+ /**
+ * Get enable public IP for nodes.
+ *
+ * @return the enableNodePublicIP value
+ */
+ public Boolean enableNodePublicIP() {
+ return this.enableNodePublicIP;
+ }
+
+ /**
+ * Set enable public IP for nodes.
+ *
+ * @param enableNodePublicIP the enableNodePublicIP value to set
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withEnableNodePublicIP(Boolean enableNodePublicIP) {
+ this.enableNodePublicIP = enableNodePublicIP;
+ return this;
+ }
+
+ /**
+ * Get scaleSetPriority to be used to specify virtual machine scale set priority. Default to regular. Possible values include: 'Low', 'Regular'.
+ *
+ * @return the scaleSetPriority value
+ */
+ public ScaleSetPriority scaleSetPriority() {
+ return this.scaleSetPriority;
+ }
+
+ /**
+ * Set scaleSetPriority to be used to specify virtual machine scale set priority. Default to regular. Possible values include: 'Low', 'Regular'.
+ *
+ * @param scaleSetPriority the scaleSetPriority value to set
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withScaleSetPriority(ScaleSetPriority scaleSetPriority) {
+ this.scaleSetPriority = scaleSetPriority;
+ return this;
+ }
+
+ /**
+ * Get scaleSetEvictionPolicy to be used to specify eviction policy for low priority virtual machine scale set. Default to Delete. Possible values include: 'Delete', 'Deallocate'.
+ *
+ * @return the scaleSetEvictionPolicy value
+ */
+ public ScaleSetEvictionPolicy scaleSetEvictionPolicy() {
+ return this.scaleSetEvictionPolicy;
+ }
+
+ /**
+ * Set scaleSetEvictionPolicy to be used to specify eviction policy for low priority virtual machine scale set. Default to Delete. Possible values include: 'Delete', 'Deallocate'.
+ *
+ * @param scaleSetEvictionPolicy the scaleSetEvictionPolicy value to set
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withScaleSetEvictionPolicy(ScaleSetEvictionPolicy scaleSetEvictionPolicy) {
+ this.scaleSetEvictionPolicy = scaleSetEvictionPolicy;
+ return this;
+ }
+
+ /**
+ * Get taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.
+ *
+ * @return the nodeTaints value
+ */
+ public List nodeTaints() {
+ return this.nodeTaints;
+ }
+
+ /**
+ * Set taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.
+ *
+ * @param nodeTaints the nodeTaints value to set
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withNodeTaints(List nodeTaints) {
+ this.nodeTaints = nodeTaints;
+ return this;
+ }
+
+ /**
+ * Get the name of the resource that is unique within a resource group. This name can be used to access the resource.
+ *
+ * @return the name value
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get resource type.
+ *
+ * @return the type value
+ */
+ public String type() {
+ return this.type;
+ }
+
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/implementation/AgentPoolUpgradeProfileImpl.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/implementation/AgentPoolUpgradeProfileImpl.java
new file mode 100644
index 000000000000..b268e73755eb
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/implementation/AgentPoolUpgradeProfileImpl.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.containerservice.v2019_08_01.implementation;
+
+import com.microsoft.azure.management.containerservice.v2019_08_01.AgentPoolUpgradeProfile;
+import com.microsoft.azure.arm.model.implementation.WrapperImpl;
+import com.microsoft.azure.management.containerservice.v2019_08_01.OSType;
+import java.util.List;
+import com.microsoft.azure.management.containerservice.v2019_08_01.AgentPoolUpgradeProfilePropertiesUpgradesItem;
+
+class AgentPoolUpgradeProfileImpl extends WrapperImpl implements AgentPoolUpgradeProfile {
+ private final ContainerServiceManager manager;
+ AgentPoolUpgradeProfileImpl(AgentPoolUpgradeProfileInner inner, ContainerServiceManager manager) {
+ super(inner);
+ this.manager = manager;
+ }
+
+ @Override
+ public ContainerServiceManager manager() {
+ return this.manager;
+ }
+
+ @Override
+ public String id() {
+ return this.inner().id();
+ }
+
+ @Override
+ public String kubernetesVersion() {
+ return this.inner().kubernetesVersion();
+ }
+
+ @Override
+ public String name() {
+ return this.inner().name();
+ }
+
+ @Override
+ public OSType osType() {
+ return this.inner().osType();
+ }
+
+ @Override
+ public String type() {
+ return this.inner().type();
+ }
+
+ @Override
+ public List upgrades() {
+ return this.inner().upgrades();
+ }
+
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/implementation/AgentPoolUpgradeProfileInner.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/implementation/AgentPoolUpgradeProfileInner.java
new file mode 100644
index 000000000000..9a7a068de465
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/implementation/AgentPoolUpgradeProfileInner.java
@@ -0,0 +1,146 @@
+/**
+ * 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.containerservice.v2019_08_01.implementation;
+
+import com.microsoft.azure.management.containerservice.v2019_08_01.OSType;
+import java.util.List;
+import com.microsoft.azure.management.containerservice.v2019_08_01.AgentPoolUpgradeProfilePropertiesUpgradesItem;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.microsoft.rest.serializer.JsonFlatten;
+
+/**
+ * The list of available upgrades for an agent pool.
+ */
+@JsonFlatten
+public class AgentPoolUpgradeProfileInner {
+ /**
+ * Id of the agent pool upgrade profile.
+ */
+ @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY)
+ private String id;
+
+ /**
+ * Name of the agent pool upgrade profile.
+ */
+ @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY)
+ private String name;
+
+ /**
+ * Type of the agent pool upgrade profile.
+ */
+ @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY)
+ private String type;
+
+ /**
+ * Kubernetes version (major, minor, patch).
+ */
+ @JsonProperty(value = "properties.kubernetesVersion", required = true)
+ private String kubernetesVersion;
+
+ /**
+ * OsType to be used to specify os type. Choose from Linux and Windows.
+ * Default to Linux. Possible values include: 'Linux', 'Windows'.
+ */
+ @JsonProperty(value = "properties.osType", required = true)
+ private OSType osType;
+
+ /**
+ * List of orchestrator types and versions available for upgrade.
+ */
+ @JsonProperty(value = "properties.upgrades")
+ private List upgrades;
+
+ /**
+ * Get id of the agent pool upgrade profile.
+ *
+ * @return the id value
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Get name of the agent pool upgrade profile.
+ *
+ * @return the name value
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get type of the agent pool upgrade profile.
+ *
+ * @return the type value
+ */
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get kubernetes version (major, minor, patch).
+ *
+ * @return the kubernetesVersion value
+ */
+ public String kubernetesVersion() {
+ return this.kubernetesVersion;
+ }
+
+ /**
+ * Set kubernetes version (major, minor, patch).
+ *
+ * @param kubernetesVersion the kubernetesVersion value to set
+ * @return the AgentPoolUpgradeProfileInner object itself.
+ */
+ public AgentPoolUpgradeProfileInner withKubernetesVersion(String kubernetesVersion) {
+ this.kubernetesVersion = kubernetesVersion;
+ return this;
+ }
+
+ /**
+ * Get osType to be used to specify os type. Choose from Linux and Windows. Default to Linux. Possible values include: 'Linux', 'Windows'.
+ *
+ * @return the osType value
+ */
+ public OSType osType() {
+ return this.osType;
+ }
+
+ /**
+ * Set osType to be used to specify os type. Choose from Linux and Windows. Default to Linux. Possible values include: 'Linux', 'Windows'.
+ *
+ * @param osType the osType value to set
+ * @return the AgentPoolUpgradeProfileInner object itself.
+ */
+ public AgentPoolUpgradeProfileInner withOsType(OSType osType) {
+ this.osType = osType;
+ return this;
+ }
+
+ /**
+ * Get list of orchestrator types and versions available for upgrade.
+ *
+ * @return the upgrades value
+ */
+ public List upgrades() {
+ return this.upgrades;
+ }
+
+ /**
+ * Set list of orchestrator types and versions available for upgrade.
+ *
+ * @param upgrades the upgrades value to set
+ * @return the AgentPoolUpgradeProfileInner object itself.
+ */
+ public AgentPoolUpgradeProfileInner withUpgrades(List upgrades) {
+ this.upgrades = upgrades;
+ return this;
+ }
+
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/implementation/AgentPoolsImpl.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/implementation/AgentPoolsImpl.java
new file mode 100644
index 000000000000..6f67a955bcd2
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/implementation/AgentPoolsImpl.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.containerservice.v2019_08_01.implementation;
+
+import com.microsoft.azure.arm.model.implementation.WrapperImpl;
+import com.microsoft.azure.management.containerservice.v2019_08_01.AgentPools;
+import rx.Completable;
+import rx.Observable;
+import rx.functions.Func1;
+import com.microsoft.azure.Page;
+import com.microsoft.azure.management.containerservice.v2019_08_01.AgentPool;
+import com.microsoft.azure.management.containerservice.v2019_08_01.AgentPoolUpgradeProfile;
+import com.microsoft.azure.management.containerservice.v2019_08_01.AgentPoolAvailableVersions;
+
+class AgentPoolsImpl extends WrapperImpl implements AgentPools {
+ private final ContainerServiceManager manager;
+
+ AgentPoolsImpl(ContainerServiceManager manager) {
+ super(manager.inner().agentPools());
+ this.manager = manager;
+ }
+
+ public ContainerServiceManager manager() {
+ return this.manager;
+ }
+
+ @Override
+ public AgentPoolImpl define(String name) {
+ return wrapModel(name);
+ }
+
+ private AgentPoolImpl wrapModel(AgentPoolInner inner) {
+ return new AgentPoolImpl(inner, manager());
+ }
+
+ private AgentPoolImpl wrapModel(String name) {
+ return new AgentPoolImpl(name, this.manager());
+ }
+
+ @Override
+ public Observable listAsync(final String resourceGroupName, final String resourceName) {
+ AgentPoolsInner client = this.inner();
+ return client.listAsync(resourceGroupName, resourceName)
+ .flatMapIterable(new Func1, Iterable>() {
+ @Override
+ public Iterable call(Page page) {
+ return page.items();
+ }
+ })
+ .map(new Func1() {
+ @Override
+ public AgentPool call(AgentPoolInner inner) {
+ return wrapModel(inner);
+ }
+ });
+ }
+
+ @Override
+ public Observable getAsync(String resourceGroupName, String resourceName, String agentPoolName) {
+ AgentPoolsInner client = this.inner();
+ return client.getAsync(resourceGroupName, resourceName, agentPoolName)
+ .flatMap(new Func1>() {
+ @Override
+ public Observable call(AgentPoolInner inner) {
+ if (inner == null) {
+ return Observable.empty();
+ } else {
+ return Observable.just((AgentPool)wrapModel(inner));
+ }
+ }
+ });
+ }
+
+ @Override
+ public Completable deleteAsync(String resourceGroupName, String resourceName, String agentPoolName) {
+ AgentPoolsInner client = this.inner();
+ return client.deleteAsync(resourceGroupName, resourceName, agentPoolName).toCompletable();
+ }
+
+ @Override
+ public Observable getUpgradeProfileAsync(String resourceGroupName, String resourceName, String agentPoolName) {
+ AgentPoolsInner client = this.inner();
+ return client.getUpgradeProfileAsync(resourceGroupName, resourceName, agentPoolName)
+ .map(new Func1() {
+ @Override
+ public AgentPoolUpgradeProfile call(AgentPoolUpgradeProfileInner inner) {
+ return new AgentPoolUpgradeProfileImpl(inner, manager());
+ }
+ });
+ }
+
+ @Override
+ public Observable getAvailableAgentPoolVersionsAsync(String resourceGroupName, String resourceName, String agentPoolName) {
+ AgentPoolsInner client = this.inner();
+ return client.getAvailableAgentPoolVersionsAsync(resourceGroupName, resourceName, agentPoolName)
+ .map(new Func1() {
+ @Override
+ public AgentPoolAvailableVersions call(AgentPoolAvailableVersionsInner inner) {
+ return new AgentPoolAvailableVersionsImpl(inner, manager());
+ }
+ });
+ }
+
+}
diff --git a/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/implementation/AgentPoolsInner.java b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/implementation/AgentPoolsInner.java
new file mode 100644
index 000000000000..2d49eb40a186
--- /dev/null
+++ b/containerservice/resource-manager/v2019_08_01/src/main/java/com/microsoft/azure/management/containerservice/v2019_08_01/implementation/AgentPoolsInner.java
@@ -0,0 +1,991 @@
+/**
+ * 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.containerservice.v2019_08_01.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.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.Path;
+import retrofit2.http.PUT;
+import retrofit2.http.Query;
+import retrofit2.http.Url;
+import retrofit2.Response;
+import rx.functions.Func1;
+import rx.Observable;
+
+/**
+ * An instance of this class provides access to all the operations defined
+ * in AgentPools.
+ */
+public class AgentPoolsInner {
+ /** The Retrofit service to perform REST calls. */
+ private AgentPoolsService service;
+ /** The service client containing this operation class. */
+ private ContainerServiceManagementClientImpl client;
+
+ /**
+ * Initializes an instance of AgentPoolsInner.
+ *
+ * @param retrofit the Retrofit instance built from a Retrofit Builder.
+ * @param client the instance of the service client containing this operation class.
+ */
+ public AgentPoolsInner(Retrofit retrofit, ContainerServiceManagementClientImpl client) {
+ this.service = retrofit.create(AgentPoolsService.class);
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for AgentPools to be
+ * used by Retrofit to perform actually REST calls.
+ */
+ interface AgentPoolsService {
+ @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.containerservice.v2019_08_01.AgentPools list" })
+ @GET("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools")
+ Observable> list(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("resourceName") String resourceName, @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.containerservice.v2019_08_01.AgentPools get" })
+ @GET("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}")
+ Observable> get(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("resourceName") String resourceName, @Path("agentPoolName") String agentPoolName, @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.containerservice.v2019_08_01.AgentPools createOrUpdate" })
+ @PUT("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}")
+ Observable> createOrUpdate(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("resourceName") String resourceName, @Path("agentPoolName") String agentPoolName, @Query("api-version") String apiVersion, @Body AgentPoolInner parameters, @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.containerservice.v2019_08_01.AgentPools beginCreateOrUpdate" })
+ @PUT("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}")
+ Observable> beginCreateOrUpdate(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("resourceName") String resourceName, @Path("agentPoolName") String agentPoolName, @Query("api-version") String apiVersion, @Body AgentPoolInner parameters, @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.containerservice.v2019_08_01.AgentPools delete" })
+ @HTTP(path = "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}", method = "DELETE", hasBody = true)
+ Observable> delete(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("resourceName") String resourceName, @Path("agentPoolName") String agentPoolName, @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.containerservice.v2019_08_01.AgentPools beginDelete" })
+ @HTTP(path = "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}", method = "DELETE", hasBody = true)
+ Observable> beginDelete(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("resourceName") String resourceName, @Path("agentPoolName") String agentPoolName, @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.containerservice.v2019_08_01.AgentPools getUpgradeProfile" })
+ @GET("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeProfiles/default")
+ Observable> getUpgradeProfile(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("resourceName") String resourceName, @Path("agentPoolName") String agentPoolName, @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.containerservice.v2019_08_01.AgentPools getAvailableAgentPoolVersions" })
+ @GET("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/availableAgentPoolVersions")
+ Observable> getAvailableAgentPoolVersions(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("resourceName") String resourceName, @Path("agentPoolName") String agentPoolName, @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.containerservice.v2019_08_01.AgentPools listNext" })
+ @GET
+ Observable> listNext(@Url String nextUrl, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
+
+ }
+
+ /**
+ * Gets a list of agent pools in the specified managed cluster.
+ * Gets a list of agent pools in the specified managed cluster. The operation returns properties of each agent pool.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster 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<AgentPoolInner> object if successful.
+ */
+ public PagedList list(final String resourceGroupName, final String resourceName) {
+ ServiceResponse> response = listSinglePageAsync(resourceGroupName, resourceName).toBlocking().single();
+ return new PagedList(response.body()) {
+ @Override
+ public Page nextPage(String nextPageLink) {
+ return listNextSinglePageAsync(nextPageLink).toBlocking().single().body();
+ }
+ };
+ }
+
+ /**
+ * Gets a list of agent pools in the specified managed cluster.
+ * Gets a list of agent pools in the specified managed cluster. The operation returns properties of each agent pool.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster 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 resourceName, final ListOperationCallback serviceCallback) {
+ return AzureServiceFuture.fromPageResponse(
+ listSinglePageAsync(resourceGroupName, resourceName),
+ new Func1>>>() {
+ @Override
+ public Observable>> call(String nextPageLink) {
+ return listNextSinglePageAsync(nextPageLink);
+ }
+ },
+ serviceCallback);
+ }
+
+ /**
+ * Gets a list of agent pools in the specified managed cluster.
+ * Gets a list of agent pools in the specified managed cluster. The operation returns properties of each agent pool.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the PagedList<AgentPoolInner> object
+ */
+ public Observable> listAsync(final String resourceGroupName, final String resourceName) {
+ return listWithServiceResponseAsync(resourceGroupName, resourceName)
+ .map(new Func1>, Page>() {
+ @Override
+ public Page call(ServiceResponse> response) {
+ return response.body();
+ }
+ });
+ }
+
+ /**
+ * Gets a list of agent pools in the specified managed cluster.
+ * Gets a list of agent pools in the specified managed cluster. The operation returns properties of each agent pool.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the PagedList<AgentPoolInner> object
+ */
+ public Observable>> listWithServiceResponseAsync(final String resourceGroupName, final String resourceName) {
+ return listSinglePageAsync(resourceGroupName, resourceName)
+ .concatMap(new Func1>, Observable>>>() {
+ @Override
+ public Observable>> call(ServiceResponse> page) {
+ String nextPageLink = page.body().nextPageLink();
+ if (nextPageLink == null) {
+ return Observable.just(page);
+ }
+ return Observable.just(page).concatWith(listNextWithServiceResponseAsync(nextPageLink));
+ }
+ });
+ }
+
+ /**
+ * Gets a list of agent pools in the specified managed cluster.
+ * Gets a list of agent pools in the specified managed cluster. The operation returns properties of each agent pool.
+ *
+ ServiceResponse> * @param resourceGroupName The name of the resource group.
+ ServiceResponse> * @param resourceName The name of the managed cluster resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the PagedList<AgentPoolInner> object wrapped in {@link ServiceResponse} if successful.
+ */
+ public Observable>> listSinglePageAsync(final String resourceGroupName, final String resourceName) {
+ 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 (resourceName == null) {
+ throw new IllegalArgumentException("Parameter resourceName is required and cannot be null.");
+ }
+ final String apiVersion = "2019-08-01";
+ return service.list(this.client.subscriptionId(), resourceGroupName, resourceName, apiVersion, this.client.acceptLanguage(), this.client.userAgent())
+ .flatMap(new Func1, Observable>>>() {
+ @Override
+ public Observable>> call(Response response) {
+ try {
+ ServiceResponse> result = listDelegate(response);
+ return Observable.just(new ServiceResponse>(result.body(), result.response()));
+ } catch (Throwable t) {
+ return Observable.error(t);
+ }
+ }
+ });
+ }
+
+ private ServiceResponse> listDelegate(Response response) throws CloudException, IOException, IllegalArgumentException {
+ return this.client.restClient().responseBuilderFactory()., CloudException>newInstance(this.client.serializerAdapter())
+ .register(200, new TypeToken>() { }.getType())
+ .registerError(CloudException.class)
+ .build(response);
+ }
+
+ /**
+ * Gets the agent pool.
+ * Gets the details of the agent pool by managed cluster and resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param agentPoolName The name of the agent pool.
+ * @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 AgentPoolInner object if successful.
+ */
+ public AgentPoolInner get(String resourceGroupName, String resourceName, String agentPoolName) {
+ return getWithServiceResponseAsync(resourceGroupName, resourceName, agentPoolName).toBlocking().single().body();
+ }
+
+ /**
+ * Gets the agent pool.
+ * Gets the details of the agent pool by managed cluster and resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param agentPoolName The name of the agent pool.
+ * @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 resourceName, String agentPoolName, final ServiceCallback serviceCallback) {
+ return ServiceFuture.fromResponse(getWithServiceResponseAsync(resourceGroupName, resourceName, agentPoolName), serviceCallback);
+ }
+
+ /**
+ * Gets the agent pool.
+ * Gets the details of the agent pool by managed cluster and resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param agentPoolName The name of the agent pool.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the AgentPoolInner object
+ */
+ public Observable getAsync(String resourceGroupName, String resourceName, String agentPoolName) {
+ return getWithServiceResponseAsync(resourceGroupName, resourceName, agentPoolName).map(new Func1, AgentPoolInner>() {
+ @Override
+ public AgentPoolInner call(ServiceResponse response) {
+ return response.body();
+ }
+ });
+ }
+
+ /**
+ * Gets the agent pool.
+ * Gets the details of the agent pool by managed cluster and resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param agentPoolName The name of the agent pool.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the AgentPoolInner object
+ */
+ public Observable