diff --git a/packages/@azure/arm-containerservice/.npmignore b/packages/@azure/arm-containerservice/.npmignore
new file mode 100644
index 000000000000..3b46bc6202d8
--- /dev/null
+++ b/packages/@azure/arm-containerservice/.npmignore
@@ -0,0 +1,35 @@
+#git
+.git
+.gitignore
+#gulp
+gulpfile.js
+#documentation
+doc/
+docs/
+#dependencies
+node_modules/
+#samples
+sample/
+samples/
+#tests
+test/
+tests/
+coverage/
+#tools and scripts
+tools/
+scripts/
+#IDE settings
+*.sln
+.vscode/
+.idea
+.editorconfig
+.ntvs_analysis.*
+#build tools
+.travis.yml
+.jenkins.yml
+.codeclimate.yml
+appveyor.yml
+# Nuget packages #
+.nuget/
+packages/
+packages.config
diff --git a/packages/@azure/arm-containerservice/LICENSE.txt b/packages/@azure/arm-containerservice/LICENSE.txt
new file mode 100644
index 000000000000..a70e8cf66038
--- /dev/null
+++ b/packages/@azure/arm-containerservice/LICENSE.txt
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2018 Microsoft
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/packages/@azure/arm-containerservice/README.md b/packages/@azure/arm-containerservice/README.md
new file mode 100644
index 000000000000..e5fb4dd4fa68
--- /dev/null
+++ b/packages/@azure/arm-containerservice/README.md
@@ -0,0 +1,77 @@
+# Azure ContainerServiceClient SDK for JavaScript
+This package contains an isomorphic SDK for ContainerServiceClient.
+
+## Currently supported environments
+- Node.js version 6.x.x or higher
+- Browser JavaScript
+
+## How to Install
+```
+npm install @azure/arm-containerservice
+```
+
+
+## How to use
+
+### nodejs - Authentication, client creation and list containerServices as an example written in TypeScript.
+
+```ts
+import * as msRest from "ms-rest-js";
+import * as msRestAzure from "ms-rest-azure-js";
+import * as msRestNodeAuth from "ms-rest-nodeauth";
+import { ContainerServiceClient, ContainerServiceModels, ContainerServiceMappers } from "@azure/arm-containerservice";
+const subscriptionId = process.env["AZURE_SUBSCRIPTION_ID"];
+
+msRestNodeAuth.interactiveLogin().then((creds) => {
+ const client = new ContainerServiceClient(creds, subscriptionId);
+ client.containerServices.list().then((result) => {
+ console.log("The result is:");
+ console.log(result);
+ });
+}).catch((err) => {
+ console.error(err);
+});
+```
+
+### browser - Authentication, client creation and list containerServices as an example written in JavaScript.
+See https://github.com/Azure/ms-rest-browserauth to learn how to authenticate to Azure in the browser.
+
+- index.html
+```html
+
+
+
+ @azure/arm-containerservice sample
+
+
+
+
+
+
+
+
+
+```
+
+# Related projects
+ - [Microsoft Azure SDK for Javascript](https://github.com/Azure/azure-sdk-for-js)
diff --git a/packages/@azure/arm-containerservice/lib/containerServiceClient.ts b/packages/@azure/arm-containerservice/lib/containerServiceClient.ts
new file mode 100644
index 000000000000..04c19f2bd553
--- /dev/null
+++ b/packages/@azure/arm-containerservice/lib/containerServiceClient.ts
@@ -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.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+import * as msRest from "ms-rest-js";
+import * as Models from "./models";
+import * as Mappers from "./models/mappers";
+import * as operations from "./operations";
+import { ContainerServiceClientContext } from "./containerServiceClientContext";
+
+
+class ContainerServiceClient extends ContainerServiceClientContext {
+ // Operation groups
+ containerServices: operations.ContainerServices;
+ operations: operations.Operations;
+ managedClusters: operations.ManagedClusters;
+
+ /**
+ * Initializes a new instance of the ContainerServiceClient class.
+ * @param credentials Credentials needed for the client to connect to Azure.
+ * @param subscriptionId Subscription credentials which uniquely identify Microsoft Azure
+ * subscription. The subscription ID forms part of the URI for every service call.
+ * @param [options] The parameter options
+ */
+ constructor(credentials: msRest.ServiceClientCredentials, subscriptionId: string, options?: Models.ContainerServiceClientOptions) {
+ super(credentials, subscriptionId, options);
+ this.containerServices = new operations.ContainerServices(this);
+ this.operations = new operations.Operations(this);
+ this.managedClusters = new operations.ManagedClusters(this);
+ }
+}
+
+// Operation Specifications
+
+export {
+ ContainerServiceClient,
+ ContainerServiceClientContext,
+ Models as ContainerServiceModels,
+ Mappers as ContainerServiceMappers
+};
+export * from "./operations";
diff --git a/packages/@azure/arm-containerservice/lib/containerServiceClientContext.ts b/packages/@azure/arm-containerservice/lib/containerServiceClientContext.ts
new file mode 100644
index 000000000000..6f6bb116da3c
--- /dev/null
+++ b/packages/@azure/arm-containerservice/lib/containerServiceClientContext.ts
@@ -0,0 +1,63 @@
+/*
+ * 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.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+import * as Models from "./models";
+import * as msRest from "ms-rest-js";
+import * as msRestAzure from "ms-rest-azure-js";
+
+const packageName = "@azure/arm-containerservice";
+const packageVersion = "1.0.0";
+
+export class ContainerServiceClientContext extends msRestAzure.AzureServiceClient {
+
+ credentials: msRest.ServiceClientCredentials;
+
+ subscriptionId: string;
+
+ acceptLanguage: string;
+
+ longRunningOperationRetryTimeout: number;
+
+ /**
+ * Initializes a new instance of the ContainerServiceClient class.
+ * @param credentials Credentials needed for the client to connect to Azure.
+ * @param subscriptionId Subscription credentials which uniquely identify Microsoft Azure
+ * subscription. The subscription ID forms part of the URI for every service call.
+ * @param [options] The parameter options
+ */
+ constructor(credentials: msRest.ServiceClientCredentials, subscriptionId: string, options?: Models.ContainerServiceClientOptions) {
+ if (credentials == undefined) {
+ throw new Error('\'credentials\' cannot be null.');
+ }
+ if (subscriptionId == undefined) {
+ throw new Error('\'subscriptionId\' cannot be null.');
+ }
+
+ if (!options) {
+ options = {};
+ }
+ super(credentials, options);
+
+ this.acceptLanguage = 'en-US';
+ this.longRunningOperationRetryTimeout = 30;
+ this.baseUri = options.baseUri || this.baseUri || "https://management.azure.com";
+ this.requestContentType = "application/json; charset=utf-8";
+ this.credentials = credentials;
+ this.subscriptionId = subscriptionId;
+
+ this.addUserAgentInfo(`${packageName}/${packageVersion}`);
+ if(options.acceptLanguage !== null && options.acceptLanguage !== undefined) {
+ this.acceptLanguage = options.acceptLanguage;
+ }
+ if(options.longRunningOperationRetryTimeout !== null && options.longRunningOperationRetryTimeout !== undefined) {
+ this.longRunningOperationRetryTimeout = options.longRunningOperationRetryTimeout;
+ }
+ }
+}
diff --git a/packages/@azure/arm-containerservice/lib/models/containerServicesMappers.ts b/packages/@azure/arm-containerservice/lib/models/containerServicesMappers.ts
new file mode 100644
index 000000000000..36e1eef51832
--- /dev/null
+++ b/packages/@azure/arm-containerservice/lib/models/containerServicesMappers.ts
@@ -0,0 +1,40 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+export {
+ ContainerServiceListResult,
+ ContainerService,
+ Resource,
+ BaseResource,
+ ContainerServiceOrchestratorProfile,
+ ContainerServiceCustomProfile,
+ ContainerServiceServicePrincipalProfile,
+ KeyVaultSecretRef,
+ ContainerServiceMasterProfile,
+ ContainerServiceAgentPoolProfile,
+ ContainerServiceWindowsProfile,
+ ContainerServiceLinuxProfile,
+ ContainerServiceSshConfiguration,
+ ContainerServiceSshPublicKey,
+ ContainerServiceDiagnosticsProfile,
+ ContainerServiceVMDiagnostics,
+ CloudError,
+ OrchestratorVersionProfileListResult,
+ OrchestratorVersionProfile,
+ OrchestratorProfile,
+ ManagedCluster,
+ ManagedClusterAgentPoolProfile,
+ ManagedClusterServicePrincipalProfile,
+ ManagedClusterAddonProfile,
+ ContainerServiceNetworkProfile,
+ ManagedClusterAADProfile,
+ ManagedClusterAccessProfile
+} from "../models/mappers";
+
diff --git a/packages/@azure/arm-containerservice/lib/models/index.ts b/packages/@azure/arm-containerservice/lib/models/index.ts
new file mode 100644
index 000000000000..379f648e76e8
--- /dev/null
+++ b/packages/@azure/arm-containerservice/lib/models/index.ts
@@ -0,0 +1,2081 @@
+/*
+ * 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.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+import { BaseResource, CloudError, AzureServiceClientOptions } from "ms-rest-azure-js";
+import * as msRest from "ms-rest-js";
+
+export { BaseResource, CloudError };
+
+
+/**
+ * @interface
+ * An interface representing Resource.
+ * The Resource model definition.
+ *
+ * @extends BaseResource
+ */
+export interface Resource extends BaseResource {
+ /**
+ * @member {string} [id] Resource Id
+ * **NOTE: This property will not be serialized. It can only be populated by
+ * the server.**
+ */
+ readonly id?: string;
+ /**
+ * @member {string} [name] Resource name
+ * **NOTE: This property will not be serialized. It can only be populated by
+ * the server.**
+ */
+ readonly name?: string;
+ /**
+ * @member {string} [type] Resource type
+ * **NOTE: This property will not be serialized. It can only be populated by
+ * the server.**
+ */
+ readonly type?: string;
+ /**
+ * @member {string} location Resource location
+ */
+ location: string;
+ /**
+ * @member {{ [propertyName: string]: string }} [tags] Resource tags
+ */
+ tags?: { [propertyName: string]: string };
+}
+
+/**
+ * @interface
+ * An interface representing ContainerServiceCustomProfile.
+ * Properties to configure a custom container service cluster.
+ *
+ */
+export interface ContainerServiceCustomProfile {
+ /**
+ * @member {string} orchestrator The name of the custom orchestrator to use.
+ */
+ orchestrator: string;
+}
+
+/**
+ * @interface
+ * An interface representing KeyVaultSecretRef.
+ * Reference to a secret stored in Azure Key Vault.
+ *
+ */
+export interface KeyVaultSecretRef {
+ /**
+ * @member {string} vaultID Key vault identifier.
+ */
+ vaultID: string;
+ /**
+ * @member {string} secretName The secret name.
+ */
+ secretName: string;
+ /**
+ * @member {string} [version] The secret version.
+ */
+ version?: string;
+}
+
+/**
+ * @interface
+ * An interface representing ContainerServiceServicePrincipalProfile.
+ * Information about a service principal identity for the cluster to use for
+ * manipulating Azure APIs. Either secret or keyVaultSecretRef must be
+ * specified.
+ *
+ */
+export interface ContainerServiceServicePrincipalProfile {
+ /**
+ * @member {string} clientId The ID for the service principal.
+ */
+ clientId: string;
+ /**
+ * @member {string} [secret] The secret password associated with the service
+ * principal in plain text.
+ */
+ secret?: string;
+ /**
+ * @member {KeyVaultSecretRef} [keyVaultSecretRef] Reference to a secret
+ * stored in Azure Key Vault.
+ */
+ keyVaultSecretRef?: KeyVaultSecretRef;
+}
+
+/**
+ * @interface
+ * An interface representing ContainerServiceOrchestratorProfile.
+ * Profile for the container service orchestrator.
+ *
+ */
+export interface ContainerServiceOrchestratorProfile {
+ /**
+ * @member {ContainerServiceOrchestratorTypes} orchestratorType 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'
+ */
+ orchestratorType: ContainerServiceOrchestratorTypes;
+ /**
+ * @member {string} [orchestratorVersion] 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".
+ */
+ orchestratorVersion?: string;
+}
+
+/**
+ * @interface
+ * An interface representing ContainerServiceMasterProfile.
+ * Profile for the container service master.
+ *
+ */
+export interface ContainerServiceMasterProfile {
+ /**
+ * @member {number} [count] Number of masters (VMs) in the container service
+ * cluster. Allowed values are 1, 3, and 5. The default value is 1. Default
+ * value: 1 .
+ */
+ count?: number;
+ /**
+ * @member {string} dnsPrefix DNS prefix to be used to create the FQDN for
+ * the master pool.
+ */
+ dnsPrefix: string;
+ /**
+ * @member {ContainerServiceVMSizeTypes} 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'
+ */
+ vmSize: ContainerServiceVMSizeTypes;
+ /**
+ * @member {number} [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.
+ */
+ osDiskSizeGB?: number;
+ /**
+ * @member {string} [vnetSubnetID] VNet SubnetID specifies the vnet's subnet
+ * identifier.
+ */
+ vnetSubnetID?: string;
+ /**
+ * @member {string} [firstConsecutiveStaticIP] FirstConsecutiveStaticIP used
+ * to specify the first static ip of masters. Default value: '10.240.255.5' .
+ */
+ firstConsecutiveStaticIP?: string;
+ /**
+ * @member {ContainerServiceStorageProfileTypes} [storageProfile] 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'
+ */
+ storageProfile?: ContainerServiceStorageProfileTypes;
+ /**
+ * @member {string} [fqdn] FDQN for the master pool.
+ * **NOTE: This property will not be serialized. It can only be populated by
+ * the server.**
+ */
+ readonly fqdn?: string;
+}
+
+/**
+ * @interface
+ * An interface representing ContainerServiceAgentPoolProfile.
+ * Profile for the container service agent pool.
+ *
+ */
+export interface ContainerServiceAgentPoolProfile {
+ /**
+ * @member {string} name Unique name of the agent pool profile in the context
+ * of the subscription and resource group.
+ */
+ name: string;
+ /**
+ * @member {number} [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. . Default value: 1 .
+ */
+ count?: number;
+ /**
+ * @member {ContainerServiceVMSizeTypes} 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'
+ */
+ vmSize: ContainerServiceVMSizeTypes;
+ /**
+ * @member {number} [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.
+ */
+ osDiskSizeGB?: number;
+ /**
+ * @member {string} [dnsPrefix] DNS prefix to be used to create the FQDN for
+ * the agent pool.
+ */
+ dnsPrefix?: string;
+ /**
+ * @member {string} [fqdn] FDQN for the agent pool.
+ * **NOTE: This property will not be serialized. It can only be populated by
+ * the server.**
+ */
+ readonly fqdn?: string;
+ /**
+ * @member {number[]} [ports] Ports number array used to expose on this agent
+ * pool. The default opened ports are different based on your choice of
+ * orchestrator.
+ */
+ ports?: number[];
+ /**
+ * @member {ContainerServiceStorageProfileTypes} [storageProfile] 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'
+ */
+ storageProfile?: ContainerServiceStorageProfileTypes;
+ /**
+ * @member {string} [vnetSubnetID] VNet SubnetID specifies the vnet's subnet
+ * identifier.
+ */
+ vnetSubnetID?: string;
+ /**
+ * @member {OSType} [osType] OsType to be used to specify os type. Choose
+ * from Linux and Windows. Default to Linux. Possible values include:
+ * 'Linux', 'Windows'. Default value: 'Linux' .
+ */
+ osType?: OSType;
+}
+
+/**
+ * @interface
+ * An interface representing ContainerServiceWindowsProfile.
+ * Profile for Windows VMs in the container service cluster.
+ *
+ */
+export interface ContainerServiceWindowsProfile {
+ /**
+ * @member {string} adminUsername The administrator username to use for
+ * Windows VMs.
+ */
+ adminUsername: string;
+ /**
+ * @member {string} adminPassword The administrator password to use for
+ * Windows VMs.
+ */
+ adminPassword: string;
+}
+
+/**
+ * @interface
+ * An interface representing ContainerServiceSshPublicKey.
+ * Contains information about SSH certificate public key data.
+ *
+ */
+export interface ContainerServiceSshPublicKey {
+ /**
+ * @member {string} keyData Certificate public key used to authenticate with
+ * VMs through SSH. The certificate must be in PEM format with or without
+ * headers.
+ */
+ keyData: string;
+}
+
+/**
+ * @interface
+ * An interface representing ContainerServiceSshConfiguration.
+ * SSH configuration for Linux-based VMs running on Azure.
+ *
+ */
+export interface ContainerServiceSshConfiguration {
+ /**
+ * @member {ContainerServiceSshPublicKey[]} publicKeys The list of SSH public
+ * keys used to authenticate with Linux-based VMs. Only expect one key
+ * specified.
+ */
+ publicKeys: ContainerServiceSshPublicKey[];
+}
+
+/**
+ * @interface
+ * An interface representing ContainerServiceLinuxProfile.
+ * Profile for Linux VMs in the container service cluster.
+ *
+ */
+export interface ContainerServiceLinuxProfile {
+ /**
+ * @member {string} adminUsername The administrator username to use for Linux
+ * VMs.
+ */
+ adminUsername: string;
+ /**
+ * @member {ContainerServiceSshConfiguration} ssh SSH configuration for
+ * Linux-based VMs running on Azure.
+ */
+ ssh: ContainerServiceSshConfiguration;
+}
+
+/**
+ * @interface
+ * An interface representing ContainerServiceVMDiagnostics.
+ * Profile for diagnostics on the container service VMs.
+ *
+ */
+export interface ContainerServiceVMDiagnostics {
+ /**
+ * @member {boolean} enabled Whether the VM diagnostic agent is provisioned
+ * on the VM.
+ */
+ enabled: boolean;
+ /**
+ * @member {string} [storageUri] The URI of the storage account where
+ * diagnostics are stored.
+ * **NOTE: This property will not be serialized. It can only be populated by
+ * the server.**
+ */
+ readonly storageUri?: string;
+}
+
+/**
+ * @interface
+ * An interface representing ContainerServiceDiagnosticsProfile.
+ * Profile for diagnostics on the container service cluster.
+ *
+ */
+export interface ContainerServiceDiagnosticsProfile {
+ /**
+ * @member {ContainerServiceVMDiagnostics} vmDiagnostics Profile for
+ * diagnostics on the container service VMs.
+ */
+ vmDiagnostics: ContainerServiceVMDiagnostics;
+}
+
+/**
+ * @interface
+ * An interface representing ContainerServiceProperties.
+ * Properties of the container service.
+ *
+ */
+export interface ContainerServiceProperties {
+ /**
+ * @member {string} [provisioningState] The current deployment or
+ * provisioning state, which only appears in the response.
+ * **NOTE: This property will not be serialized. It can only be populated by
+ * the server.**
+ */
+ readonly provisioningState?: string;
+ /**
+ * @member {ContainerServiceOrchestratorProfile} orchestratorProfile Profile
+ * for the container service orchestrator.
+ */
+ orchestratorProfile: ContainerServiceOrchestratorProfile;
+ /**
+ * @member {ContainerServiceCustomProfile} [customProfile] Properties to
+ * configure a custom container service cluster.
+ */
+ customProfile?: ContainerServiceCustomProfile;
+ /**
+ * @member {ContainerServiceServicePrincipalProfile}
+ * [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.
+ */
+ servicePrincipalProfile?: ContainerServiceServicePrincipalProfile;
+ /**
+ * @member {ContainerServiceMasterProfile} masterProfile Profile for the
+ * container service master.
+ */
+ masterProfile: ContainerServiceMasterProfile;
+ /**
+ * @member {ContainerServiceAgentPoolProfile[]} [agentPoolProfiles]
+ * Properties of the agent pool.
+ */
+ agentPoolProfiles?: ContainerServiceAgentPoolProfile[];
+ /**
+ * @member {ContainerServiceWindowsProfile} [windowsProfile] Profile for
+ * Windows VMs in the container service cluster.
+ */
+ windowsProfile?: ContainerServiceWindowsProfile;
+ /**
+ * @member {ContainerServiceLinuxProfile} linuxProfile Profile for Linux VMs
+ * in the container service cluster.
+ */
+ linuxProfile: ContainerServiceLinuxProfile;
+ /**
+ * @member {ContainerServiceDiagnosticsProfile} [diagnosticsProfile] Profile
+ * for diagnostics in the container service cluster.
+ */
+ diagnosticsProfile?: ContainerServiceDiagnosticsProfile;
+}
+
+/**
+ * @interface
+ * An interface representing ContainerService.
+ * Container service.
+ *
+ * @extends Resource
+ */
+export interface ContainerService extends Resource {
+ /**
+ * @member {string} [provisioningState] The current deployment or
+ * provisioning state, which only appears in the response.
+ * **NOTE: This property will not be serialized. It can only be populated by
+ * the server.**
+ */
+ readonly provisioningState?: string;
+ /**
+ * @member {ContainerServiceOrchestratorProfile} orchestratorProfile Profile
+ * for the container service orchestrator.
+ */
+ orchestratorProfile: ContainerServiceOrchestratorProfile;
+ /**
+ * @member {ContainerServiceCustomProfile} [customProfile] Properties to
+ * configure a custom container service cluster.
+ */
+ customProfile?: ContainerServiceCustomProfile;
+ /**
+ * @member {ContainerServiceServicePrincipalProfile}
+ * [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.
+ */
+ servicePrincipalProfile?: ContainerServiceServicePrincipalProfile;
+ /**
+ * @member {ContainerServiceMasterProfile} masterProfile Profile for the
+ * container service master.
+ */
+ masterProfile: ContainerServiceMasterProfile;
+ /**
+ * @member {ContainerServiceAgentPoolProfile[]} [agentPoolProfiles]
+ * Properties of the agent pool.
+ */
+ agentPoolProfiles?: ContainerServiceAgentPoolProfile[];
+ /**
+ * @member {ContainerServiceWindowsProfile} [windowsProfile] Profile for
+ * Windows VMs in the container service cluster.
+ */
+ windowsProfile?: ContainerServiceWindowsProfile;
+ /**
+ * @member {ContainerServiceLinuxProfile} linuxProfile Profile for Linux VMs
+ * in the container service cluster.
+ */
+ linuxProfile: ContainerServiceLinuxProfile;
+ /**
+ * @member {ContainerServiceDiagnosticsProfile} [diagnosticsProfile] Profile
+ * for diagnostics in the container service cluster.
+ */
+ diagnosticsProfile?: ContainerServiceDiagnosticsProfile;
+}
+
+/**
+ * @interface
+ * An interface representing OperationValueDisplay.
+ * Describes the properties of a Compute Operation Value Display.
+ *
+ */
+export interface OperationValueDisplay {
+ /**
+ * @member {string} [operation] The display name of the compute operation.
+ * **NOTE: This property will not be serialized. It can only be populated by
+ * the server.**
+ */
+ readonly operation?: string;
+ /**
+ * @member {string} [resource] The display name of the resource the operation
+ * applies to.
+ * **NOTE: This property will not be serialized. It can only be populated by
+ * the server.**
+ */
+ readonly resource?: string;
+ /**
+ * @member {string} [description] The description of the operation.
+ * **NOTE: This property will not be serialized. It can only be populated by
+ * the server.**
+ */
+ readonly description?: string;
+ /**
+ * @member {string} [provider] The resource provider for the operation.
+ * **NOTE: This property will not be serialized. It can only be populated by
+ * the server.**
+ */
+ readonly provider?: string;
+}
+
+/**
+ * @interface
+ * An interface representing OperationValue.
+ * Describes the properties of a Compute Operation value.
+ *
+ */
+export interface OperationValue {
+ /**
+ * @member {string} [origin] The origin of the compute operation.
+ * **NOTE: This property will not be serialized. It can only be populated by
+ * the server.**
+ */
+ readonly origin?: string;
+ /**
+ * @member {string} [name] The name of the compute operation.
+ * **NOTE: This property will not be serialized. It can only be populated by
+ * the server.**
+ */
+ readonly name?: string;
+ /**
+ * @member {string} [operation] The display name of the compute operation.
+ * **NOTE: This property will not be serialized. It can only be populated by
+ * the server.**
+ */
+ readonly operation?: string;
+ /**
+ * @member {string} [resource] The display name of the resource the operation
+ * applies to.
+ * **NOTE: This property will not be serialized. It can only be populated by
+ * the server.**
+ */
+ readonly resource?: string;
+ /**
+ * @member {string} [description] The description of the operation.
+ * **NOTE: This property will not be serialized. It can only be populated by
+ * the server.**
+ */
+ readonly description?: string;
+ /**
+ * @member {string} [provider] The resource provider for the operation.
+ * **NOTE: This property will not be serialized. It can only be populated by
+ * the server.**
+ */
+ readonly provider?: string;
+}
+
+/**
+ * @interface
+ * An interface representing TagsObject.
+ * Tags object for patch operations.
+ *
+ */
+export interface TagsObject {
+ /**
+ * @member {{ [propertyName: string]: string }} [tags] Resource tags.
+ */
+ tags?: { [propertyName: string]: string };
+}
+
+/**
+ * @interface
+ * An interface representing ManagedClusterServicePrincipalProfile.
+ * Information about a service principal identity for the cluster to use for
+ * manipulating Azure APIs.
+ *
+ */
+export interface ManagedClusterServicePrincipalProfile {
+ /**
+ * @member {string} clientId The ID for the service principal.
+ */
+ clientId: string;
+ /**
+ * @member {string} [secret] The secret password associated with the service
+ * principal in plain text.
+ */
+ secret?: string;
+}
+
+/**
+ * @interface
+ * An interface representing ManagedClusterAgentPoolProfile.
+ * Profile for the container service agent pool.
+ *
+ */
+export interface ManagedClusterAgentPoolProfile {
+ /**
+ * @member {string} name Unique name of the agent pool profile in the context
+ * of the subscription and resource group.
+ */
+ name: string;
+ /**
+ * @member {number} [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. . Default value: 1 .
+ */
+ count?: number;
+ /**
+ * @member {ContainerServiceVMSizeTypes} 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'
+ */
+ vmSize: ContainerServiceVMSizeTypes;
+ /**
+ * @member {number} [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.
+ */
+ osDiskSizeGB?: number;
+ /**
+ * @member {ContainerServiceStorageProfileTypes} [storageProfile] Storage
+ * profile specifies what kind of storage used. Defaults to ManagedDisks.
+ * Possible values include: 'StorageAccount', 'ManagedDisks'
+ * **NOTE: This property will not be serialized. It can only be populated by
+ * the server.**
+ */
+ readonly storageProfile?: ContainerServiceStorageProfileTypes;
+ /**
+ * @member {string} [vnetSubnetID] VNet SubnetID specifies the vnet's subnet
+ * identifier.
+ */
+ vnetSubnetID?: string;
+ /**
+ * @member {number} [maxPods] Maximum number of pods that can run on a node.
+ */
+ maxPods?: number;
+ /**
+ * @member {OSType} [osType] OsType to be used to specify os type. Choose
+ * from Linux and Windows. Default to Linux. Possible values include:
+ * 'Linux', 'Windows'. Default value: 'Linux' .
+ */
+ osType?: OSType;
+}
+
+/**
+ * @interface
+ * An interface representing ContainerServiceNetworkProfile.
+ * Profile of network configuration.
+ *
+ */
+export interface ContainerServiceNetworkProfile {
+ /**
+ * @member {NetworkPlugin} [networkPlugin] Network plugin used for building
+ * Kubernetes network. Possible values include: 'azure', 'kubenet'. Default
+ * value: 'kubenet' .
+ */
+ networkPlugin?: NetworkPlugin;
+ /**
+ * @member {NetworkPolicy} [networkPolicy] Network policy used for building
+ * Kubernetes network. Possible values include: 'calico'
+ */
+ networkPolicy?: NetworkPolicy;
+ /**
+ * @member {string} [podCidr] A CIDR notation IP range from which to assign
+ * pod IPs when kubenet is used. Default value: '10.244.0.0/16' .
+ */
+ podCidr?: string;
+ /**
+ * @member {string} [serviceCidr] A CIDR notation IP range from which to
+ * assign service cluster IPs. It must not overlap with any Subnet IP ranges.
+ * Default value: '10.0.0.0/16' .
+ */
+ serviceCidr?: string;
+ /**
+ * @member {string} [dnsServiceIP] An IP address assigned to the Kubernetes
+ * DNS service. It must be within the Kubernetes service address range
+ * specified in serviceCidr. Default value: '10.0.0.10' .
+ */
+ dnsServiceIP?: string;
+ /**
+ * @member {string} [dockerBridgeCidr] 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. Default value: '172.17.0.1/16' .
+ */
+ dockerBridgeCidr?: string;
+}
+
+/**
+ * @interface
+ * An interface representing ManagedClusterAddonProfile.
+ * A Kubernetes add-on profile for a managed cluster.
+ *
+ */
+export interface ManagedClusterAddonProfile {
+ /**
+ * @member {boolean} enabled Whether the add-on is enabled or not.
+ */
+ enabled: boolean;
+ /**
+ * @member {{ [propertyName: string]: string }} [config] Key-value pairs for
+ * configuring an add-on.
+ */
+ config?: { [propertyName: string]: string };
+}
+
+/**
+ * @interface
+ * An interface representing ManagedClusterAADProfile.
+ * AADProfile specifies attributes for Azure Active Directory integration.
+ *
+ */
+export interface ManagedClusterAADProfile {
+ /**
+ * @member {string} clientAppID The client AAD application ID.
+ */
+ clientAppID: string;
+ /**
+ * @member {string} serverAppID The server AAD application ID.
+ */
+ serverAppID: string;
+ /**
+ * @member {string} [serverAppSecret] The server AAD application secret.
+ */
+ serverAppSecret?: string;
+ /**
+ * @member {string} [tenantID] The AAD tenant ID to use for authentication.
+ * If not specified, will use the tenant of the deployment subscription.
+ */
+ tenantID?: string;
+}
+
+/**
+ * @interface
+ * An interface representing ManagedClusterProperties.
+ * Properties of the managed cluster.
+ *
+ */
+export interface ManagedClusterProperties {
+ /**
+ * @member {string} [provisioningState] The current deployment or
+ * provisioning state, which only appears in the response.
+ * **NOTE: This property will not be serialized. It can only be populated by
+ * the server.**
+ */
+ readonly provisioningState?: string;
+ /**
+ * @member {string} [kubernetesVersion] Version of Kubernetes specified when
+ * creating the managed cluster.
+ */
+ kubernetesVersion?: string;
+ /**
+ * @member {string} [dnsPrefix] DNS prefix specified when creating the
+ * managed cluster.
+ */
+ dnsPrefix?: string;
+ /**
+ * @member {string} [fqdn] FDQN for the master pool.
+ * **NOTE: This property will not be serialized. It can only be populated by
+ * the server.**
+ */
+ readonly fqdn?: string;
+ /**
+ * @member {ManagedClusterAgentPoolProfile[]} [agentPoolProfiles] Properties
+ * of the agent pool. Currently only one agent pool can exist.
+ */
+ agentPoolProfiles?: ManagedClusterAgentPoolProfile[];
+ /**
+ * @member {ContainerServiceLinuxProfile} [linuxProfile] Profile for Linux
+ * VMs in the container service cluster.
+ */
+ linuxProfile?: ContainerServiceLinuxProfile;
+ /**
+ * @member {ManagedClusterServicePrincipalProfile} [servicePrincipalProfile]
+ * Information about a service principal identity for the cluster to use for
+ * manipulating Azure APIs.
+ */
+ servicePrincipalProfile?: ManagedClusterServicePrincipalProfile;
+ /**
+ * @member {{ [propertyName: string]: ManagedClusterAddonProfile }}
+ * [addonProfiles] Profile of managed cluster add-on.
+ */
+ addonProfiles?: { [propertyName: string]: ManagedClusterAddonProfile };
+ /**
+ * @member {string} [nodeResourceGroup] Name of the resource group containing
+ * agent pool nodes.
+ * **NOTE: This property will not be serialized. It can only be populated by
+ * the server.**
+ */
+ readonly nodeResourceGroup?: string;
+ /**
+ * @member {boolean} [enableRBAC] Whether to enable Kubernetes Role-Based
+ * Access Control.
+ */
+ enableRBAC?: boolean;
+ /**
+ * @member {ContainerServiceNetworkProfile} [networkProfile] Profile of
+ * network configuration.
+ */
+ networkProfile?: ContainerServiceNetworkProfile;
+ /**
+ * @member {ManagedClusterAADProfile} [aadProfile] Profile of Azure Active
+ * Directory configuration.
+ */
+ aadProfile?: ManagedClusterAADProfile;
+}
+
+/**
+ * @interface
+ * An interface representing ManagedCluster.
+ * Managed cluster.
+ *
+ * @extends Resource
+ */
+export interface ManagedCluster extends Resource {
+ /**
+ * @member {string} [provisioningState] The current deployment or
+ * provisioning state, which only appears in the response.
+ * **NOTE: This property will not be serialized. It can only be populated by
+ * the server.**
+ */
+ readonly provisioningState?: string;
+ /**
+ * @member {string} [kubernetesVersion] Version of Kubernetes specified when
+ * creating the managed cluster.
+ */
+ kubernetesVersion?: string;
+ /**
+ * @member {string} [dnsPrefix] DNS prefix specified when creating the
+ * managed cluster.
+ */
+ dnsPrefix?: string;
+ /**
+ * @member {string} [fqdn] FDQN for the master pool.
+ * **NOTE: This property will not be serialized. It can only be populated by
+ * the server.**
+ */
+ readonly fqdn?: string;
+ /**
+ * @member {ManagedClusterAgentPoolProfile[]} [agentPoolProfiles] Properties
+ * of the agent pool. Currently only one agent pool can exist.
+ */
+ agentPoolProfiles?: ManagedClusterAgentPoolProfile[];
+ /**
+ * @member {ContainerServiceLinuxProfile} [linuxProfile] Profile for Linux
+ * VMs in the container service cluster.
+ */
+ linuxProfile?: ContainerServiceLinuxProfile;
+ /**
+ * @member {ManagedClusterServicePrincipalProfile} [servicePrincipalProfile]
+ * Information about a service principal identity for the cluster to use for
+ * manipulating Azure APIs.
+ */
+ servicePrincipalProfile?: ManagedClusterServicePrincipalProfile;
+ /**
+ * @member {{ [propertyName: string]: ManagedClusterAddonProfile }}
+ * [addonProfiles] Profile of managed cluster add-on.
+ */
+ addonProfiles?: { [propertyName: string]: ManagedClusterAddonProfile };
+ /**
+ * @member {string} [nodeResourceGroup] Name of the resource group containing
+ * agent pool nodes.
+ * **NOTE: This property will not be serialized. It can only be populated by
+ * the server.**
+ */
+ readonly nodeResourceGroup?: string;
+ /**
+ * @member {boolean} [enableRBAC] Whether to enable Kubernetes Role-Based
+ * Access Control.
+ */
+ enableRBAC?: boolean;
+ /**
+ * @member {ContainerServiceNetworkProfile} [networkProfile] Profile of
+ * network configuration.
+ */
+ networkProfile?: ContainerServiceNetworkProfile;
+ /**
+ * @member {ManagedClusterAADProfile} [aadProfile] Profile of Azure Active
+ * Directory configuration.
+ */
+ aadProfile?: ManagedClusterAADProfile;
+}
+
+/**
+ * @interface
+ * An interface representing OrchestratorProfile.
+ * Contains information about orchestrator.
+ *
+ */
+export interface OrchestratorProfile {
+ /**
+ * @member {string} orchestratorType Orchestrator type.
+ */
+ orchestratorType: string;
+ /**
+ * @member {string} orchestratorVersion Orchestrator version (major, minor,
+ * patch).
+ */
+ orchestratorVersion: string;
+}
+
+/**
+ * @interface
+ * An interface representing AccessProfile.
+ * Profile for enabling a user to access a managed cluster.
+ *
+ */
+export interface AccessProfile {
+ /**
+ * @member {Uint8Array} [kubeConfig] Base64-encoded Kubernetes configuration
+ * file.
+ */
+ kubeConfig?: Uint8Array;
+}
+
+/**
+ * @interface
+ * An interface representing ManagedClusterAccessProfile.
+ * Managed cluster Access Profile.
+ *
+ * @extends Resource
+ */
+export interface ManagedClusterAccessProfile extends Resource {
+ /**
+ * @member {Uint8Array} [kubeConfig] Base64-encoded Kubernetes configuration
+ * file.
+ */
+ kubeConfig?: Uint8Array;
+}
+
+/**
+ * @interface
+ * An interface representing ManagedClusterPoolUpgradeProfile.
+ * The list of available upgrade versions.
+ *
+ */
+export interface ManagedClusterPoolUpgradeProfile {
+ /**
+ * @member {string} kubernetesVersion Kubernetes version (major, minor,
+ * patch).
+ */
+ kubernetesVersion: string;
+ /**
+ * @member {string} [name] Pool name.
+ */
+ name?: string;
+ /**
+ * @member {OSType} osType OsType to be used to specify os type. Choose from
+ * Linux and Windows. Default to Linux. Possible values include: 'Linux',
+ * 'Windows'. Default value: 'Linux' .
+ */
+ osType: OSType;
+ /**
+ * @member {string[]} [upgrades] List of orchestrator types and versions
+ * available for upgrade.
+ */
+ upgrades?: string[];
+}
+
+/**
+ * @interface
+ * An interface representing ManagedClusterUpgradeProfileProperties.
+ * Control plane and agent pool upgrade profiles.
+ *
+ */
+export interface ManagedClusterUpgradeProfileProperties {
+ /**
+ * @member {ManagedClusterPoolUpgradeProfile} controlPlaneProfile The list of
+ * available upgrade versions for the control plane.
+ */
+ controlPlaneProfile: ManagedClusterPoolUpgradeProfile;
+ /**
+ * @member {ManagedClusterPoolUpgradeProfile[]} agentPoolProfiles The list of
+ * available upgrade versions for agent pools.
+ */
+ agentPoolProfiles: ManagedClusterPoolUpgradeProfile[];
+}
+
+/**
+ * @interface
+ * An interface representing ManagedClusterUpgradeProfile.
+ * The list of available upgrades for compute pools.
+ *
+ */
+export interface ManagedClusterUpgradeProfile {
+ /**
+ * @member {string} [id] Id of upgrade profile.
+ * **NOTE: This property will not be serialized. It can only be populated by
+ * the server.**
+ */
+ readonly id?: string;
+ /**
+ * @member {string} [name] Name of upgrade profile.
+ * **NOTE: This property will not be serialized. It can only be populated by
+ * the server.**
+ */
+ readonly name?: string;
+ /**
+ * @member {string} [type] Type of upgrade profile.
+ * **NOTE: This property will not be serialized. It can only be populated by
+ * the server.**
+ */
+ readonly type?: string;
+ /**
+ * @member {ManagedClusterPoolUpgradeProfile} controlPlaneProfile The list of
+ * available upgrade versions for the control plane.
+ */
+ controlPlaneProfile: ManagedClusterPoolUpgradeProfile;
+ /**
+ * @member {ManagedClusterPoolUpgradeProfile[]} agentPoolProfiles The list of
+ * available upgrade versions for agent pools.
+ */
+ agentPoolProfiles: ManagedClusterPoolUpgradeProfile[];
+}
+
+/**
+ * @interface
+ * An interface representing CredentialResult.
+ * The credential result response.
+ *
+ */
+export interface CredentialResult {
+ /**
+ * @member {string} [name] The name of the credential.
+ * **NOTE: This property will not be serialized. It can only be populated by
+ * the server.**
+ */
+ readonly name?: string;
+ /**
+ * @member {Uint8Array} [value] Base64-encoded Kubernetes configuration file.
+ * **NOTE: This property will not be serialized. It can only be populated by
+ * the server.**
+ */
+ readonly value?: Uint8Array;
+}
+
+/**
+ * @interface
+ * An interface representing CredentialResults.
+ * The list of credential result response.
+ *
+ */
+export interface CredentialResults {
+ /**
+ * @member {CredentialResult[]} [kubeconfigs] **NOTE: This property will not
+ * be serialized. It can only be populated by the server.**
+ */
+ readonly kubeconfigs?: CredentialResult[];
+}
+
+/**
+ * @interface
+ * An interface representing OrchestratorVersionProfile.
+ * The profile of an orchestrator and its available versions.
+ *
+ */
+export interface OrchestratorVersionProfile {
+ /**
+ * @member {string} orchestratorType Orchestrator type.
+ */
+ orchestratorType: string;
+ /**
+ * @member {string} orchestratorVersion Orchestrator version (major, minor,
+ * patch).
+ */
+ orchestratorVersion: string;
+ /**
+ * @member {boolean} default Installed by default if version is not
+ * specified.
+ */
+ default: boolean;
+ /**
+ * @member {OrchestratorProfile[]} upgrades The list of available upgrade
+ * versions.
+ */
+ upgrades: OrchestratorProfile[];
+}
+
+/**
+ * @interface
+ * An interface representing OrchestratorVersionProfileProperties.
+ * The properties of an orchestrator version profile.
+ *
+ */
+export interface OrchestratorVersionProfileProperties {
+ /**
+ * @member {OrchestratorVersionProfile[]} orchestrators List of orchestrator
+ * version profiles.
+ */
+ orchestrators: OrchestratorVersionProfile[];
+}
+
+/**
+ * @interface
+ * An interface representing OrchestratorVersionProfileListResult.
+ * The list of versions for supported orchestrators.
+ *
+ */
+export interface OrchestratorVersionProfileListResult {
+ /**
+ * @member {string} [id] Id of the orchestrator version profile list result.
+ * **NOTE: This property will not be serialized. It can only be populated by
+ * the server.**
+ */
+ readonly id?: string;
+ /**
+ * @member {string} [name] Name of the orchestrator version profile list
+ * result.
+ * **NOTE: This property will not be serialized. It can only be populated by
+ * the server.**
+ */
+ readonly name?: string;
+ /**
+ * @member {string} [type] Type of the orchestrator version profile list
+ * result.
+ * **NOTE: This property will not be serialized. It can only be populated by
+ * the server.**
+ */
+ readonly type?: string;
+ /**
+ * @member {OrchestratorVersionProfile[]} orchestrators List of orchestrator
+ * version profiles.
+ */
+ orchestrators: OrchestratorVersionProfile[];
+}
+
+/**
+ * @interface
+ * An interface representing ContainerServicesListOrchestratorsOptionalParams.
+ * Optional Parameters.
+ *
+ * @extends RequestOptionsBase
+ */
+export interface ContainerServicesListOrchestratorsOptionalParams extends msRest.RequestOptionsBase {
+ /**
+ * @member {string} [resourceType] resource type for which the list of
+ * orchestrators needs to be returned
+ */
+ resourceType?: string;
+}
+
+/**
+ * @interface
+ * An interface representing ContainerServiceClientOptions.
+ * @extends AzureServiceClientOptions
+ */
+export interface ContainerServiceClientOptions extends AzureServiceClientOptions {
+ /**
+ * @member {string} [baseUri]
+ */
+ baseUri?: string;
+}
+
+
+/**
+ * @interface
+ * An interface representing the ContainerServiceListResult.
+ * The response from the List Container Services operation.
+ *
+ * @extends Array
+ */
+export interface ContainerServiceListResult extends Array {
+ /**
+ * @member {string} [nextLink] The URL to get the next set of container
+ * service results.
+ * **NOTE: This property will not be serialized. It can only be populated by
+ * the server.**
+ */
+ readonly nextLink?: string;
+}
+
+/**
+ * @interface
+ * An interface representing the OperationListResult.
+ * The List Compute Operation operation response.
+ *
+ * @extends Array
+ */
+export interface OperationListResult extends Array {
+}
+
+/**
+ * @interface
+ * An interface representing the ManagedClusterListResult.
+ * The response from the List Managed Clusters operation.
+ *
+ * @extends Array
+ */
+export interface ManagedClusterListResult extends Array {
+ /**
+ * @member {string} [nextLink] The URL to get the next set of managed cluster
+ * results.
+ * **NOTE: This property will not be serialized. It can only be populated by
+ * the server.**
+ */
+ readonly nextLink?: string;
+}
+
+/**
+ * Defines values for ContainerServiceStorageProfileTypes.
+ * Possible values include: 'StorageAccount', 'ManagedDisks'
+ * There could be more values for this enum apart from the ones defined here.If
+ * you want to set a value that is not from the known values then you can do
+ * the following:
+ * let param: ContainerServiceStorageProfileTypes =
+ * "someUnknownValueThatWillStillBeValid";
+ * @readonly
+ * @enum {string}
+ */
+export enum ContainerServiceStorageProfileTypes {
+ StorageAccount = 'StorageAccount',
+ ManagedDisks = 'ManagedDisks',
+}
+
+/**
+ * Defines values for ContainerServiceVMSizeTypes.
+ * 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'
+ * There could be more values for this enum apart from the ones defined here.If
+ * you want to set a value that is not from the known values then you can do
+ * the following:
+ * let param: ContainerServiceVMSizeTypes =
+ * "someUnknownValueThatWillStillBeValid";
+ * @readonly
+ * @enum {string}
+ */
+export enum ContainerServiceVMSizeTypes {
+ StandardA1 = 'Standard_A1',
+ StandardA10 = 'Standard_A10',
+ StandardA11 = 'Standard_A11',
+ StandardA1V2 = 'Standard_A1_v2',
+ StandardA2 = 'Standard_A2',
+ StandardA2V2 = 'Standard_A2_v2',
+ StandardA2mV2 = 'Standard_A2m_v2',
+ StandardA3 = 'Standard_A3',
+ StandardA4 = 'Standard_A4',
+ StandardA4V2 = 'Standard_A4_v2',
+ StandardA4mV2 = 'Standard_A4m_v2',
+ StandardA5 = 'Standard_A5',
+ StandardA6 = 'Standard_A6',
+ StandardA7 = 'Standard_A7',
+ StandardA8 = 'Standard_A8',
+ StandardA8V2 = 'Standard_A8_v2',
+ StandardA8mV2 = 'Standard_A8m_v2',
+ StandardA9 = 'Standard_A9',
+ StandardB2ms = 'Standard_B2ms',
+ StandardB2s = 'Standard_B2s',
+ StandardB4ms = 'Standard_B4ms',
+ StandardB8ms = 'Standard_B8ms',
+ StandardD1 = 'Standard_D1',
+ StandardD11 = 'Standard_D11',
+ StandardD11V2 = 'Standard_D11_v2',
+ StandardD11V2Promo = 'Standard_D11_v2_Promo',
+ StandardD12 = 'Standard_D12',
+ StandardD12V2 = 'Standard_D12_v2',
+ StandardD12V2Promo = 'Standard_D12_v2_Promo',
+ StandardD13 = 'Standard_D13',
+ StandardD13V2 = 'Standard_D13_v2',
+ StandardD13V2Promo = 'Standard_D13_v2_Promo',
+ StandardD14 = 'Standard_D14',
+ StandardD14V2 = 'Standard_D14_v2',
+ StandardD14V2Promo = 'Standard_D14_v2_Promo',
+ StandardD15V2 = 'Standard_D15_v2',
+ StandardD16V3 = 'Standard_D16_v3',
+ StandardD16sV3 = 'Standard_D16s_v3',
+ StandardD1V2 = 'Standard_D1_v2',
+ StandardD2 = 'Standard_D2',
+ StandardD2V2 = 'Standard_D2_v2',
+ StandardD2V2Promo = 'Standard_D2_v2_Promo',
+ StandardD2V3 = 'Standard_D2_v3',
+ StandardD2sV3 = 'Standard_D2s_v3',
+ StandardD3 = 'Standard_D3',
+ StandardD32V3 = 'Standard_D32_v3',
+ StandardD32sV3 = 'Standard_D32s_v3',
+ StandardD3V2 = 'Standard_D3_v2',
+ StandardD3V2Promo = 'Standard_D3_v2_Promo',
+ StandardD4 = 'Standard_D4',
+ StandardD4V2 = 'Standard_D4_v2',
+ StandardD4V2Promo = 'Standard_D4_v2_Promo',
+ StandardD4V3 = 'Standard_D4_v3',
+ StandardD4sV3 = 'Standard_D4s_v3',
+ StandardD5V2 = 'Standard_D5_v2',
+ StandardD5V2Promo = 'Standard_D5_v2_Promo',
+ StandardD64V3 = 'Standard_D64_v3',
+ StandardD64sV3 = 'Standard_D64s_v3',
+ StandardD8V3 = 'Standard_D8_v3',
+ StandardD8sV3 = 'Standard_D8s_v3',
+ StandardDS1 = 'Standard_DS1',
+ StandardDS11 = 'Standard_DS11',
+ StandardDS11V2 = 'Standard_DS11_v2',
+ StandardDS11V2Promo = 'Standard_DS11_v2_Promo',
+ StandardDS12 = 'Standard_DS12',
+ StandardDS12V2 = 'Standard_DS12_v2',
+ StandardDS12V2Promo = 'Standard_DS12_v2_Promo',
+ StandardDS13 = 'Standard_DS13',
+ StandardDS132V2 = 'Standard_DS13-2_v2',
+ StandardDS134V2 = 'Standard_DS13-4_v2',
+ StandardDS13V2 = 'Standard_DS13_v2',
+ StandardDS13V2Promo = 'Standard_DS13_v2_Promo',
+ StandardDS14 = 'Standard_DS14',
+ StandardDS144V2 = 'Standard_DS14-4_v2',
+ StandardDS148V2 = 'Standard_DS14-8_v2',
+ StandardDS14V2 = 'Standard_DS14_v2',
+ StandardDS14V2Promo = 'Standard_DS14_v2_Promo',
+ StandardDS15V2 = 'Standard_DS15_v2',
+ StandardDS1V2 = 'Standard_DS1_v2',
+ StandardDS2 = 'Standard_DS2',
+ StandardDS2V2 = 'Standard_DS2_v2',
+ StandardDS2V2Promo = 'Standard_DS2_v2_Promo',
+ StandardDS3 = 'Standard_DS3',
+ StandardDS3V2 = 'Standard_DS3_v2',
+ StandardDS3V2Promo = 'Standard_DS3_v2_Promo',
+ StandardDS4 = 'Standard_DS4',
+ StandardDS4V2 = 'Standard_DS4_v2',
+ StandardDS4V2Promo = 'Standard_DS4_v2_Promo',
+ StandardDS5V2 = 'Standard_DS5_v2',
+ StandardDS5V2Promo = 'Standard_DS5_v2_Promo',
+ StandardE16V3 = 'Standard_E16_v3',
+ StandardE16sV3 = 'Standard_E16s_v3',
+ StandardE2V3 = 'Standard_E2_v3',
+ StandardE2sV3 = 'Standard_E2s_v3',
+ StandardE3216sV3 = 'Standard_E32-16s_v3',
+ StandardE328sV3 = 'Standard_E32-8s_v3',
+ StandardE32V3 = 'Standard_E32_v3',
+ StandardE32sV3 = 'Standard_E32s_v3',
+ StandardE4V3 = 'Standard_E4_v3',
+ StandardE4sV3 = 'Standard_E4s_v3',
+ StandardE6416sV3 = 'Standard_E64-16s_v3',
+ StandardE6432sV3 = 'Standard_E64-32s_v3',
+ StandardE64V3 = 'Standard_E64_v3',
+ StandardE64sV3 = 'Standard_E64s_v3',
+ StandardE8V3 = 'Standard_E8_v3',
+ StandardE8sV3 = 'Standard_E8s_v3',
+ StandardF1 = 'Standard_F1',
+ StandardF16 = 'Standard_F16',
+ StandardF16s = 'Standard_F16s',
+ StandardF16sV2 = 'Standard_F16s_v2',
+ StandardF1s = 'Standard_F1s',
+ StandardF2 = 'Standard_F2',
+ StandardF2s = 'Standard_F2s',
+ StandardF2sV2 = 'Standard_F2s_v2',
+ StandardF32sV2 = 'Standard_F32s_v2',
+ StandardF4 = 'Standard_F4',
+ StandardF4s = 'Standard_F4s',
+ StandardF4sV2 = 'Standard_F4s_v2',
+ StandardF64sV2 = 'Standard_F64s_v2',
+ StandardF72sV2 = 'Standard_F72s_v2',
+ StandardF8 = 'Standard_F8',
+ StandardF8s = 'Standard_F8s',
+ StandardF8sV2 = 'Standard_F8s_v2',
+ StandardG1 = 'Standard_G1',
+ StandardG2 = 'Standard_G2',
+ StandardG3 = 'Standard_G3',
+ StandardG4 = 'Standard_G4',
+ StandardG5 = 'Standard_G5',
+ StandardGS1 = 'Standard_GS1',
+ StandardGS2 = 'Standard_GS2',
+ StandardGS3 = 'Standard_GS3',
+ StandardGS4 = 'Standard_GS4',
+ StandardGS44 = 'Standard_GS4-4',
+ StandardGS48 = 'Standard_GS4-8',
+ StandardGS5 = 'Standard_GS5',
+ StandardGS516 = 'Standard_GS5-16',
+ StandardGS58 = 'Standard_GS5-8',
+ StandardH16 = 'Standard_H16',
+ StandardH16m = 'Standard_H16m',
+ StandardH16mr = 'Standard_H16mr',
+ StandardH16r = 'Standard_H16r',
+ StandardH8 = 'Standard_H8',
+ StandardH8m = 'Standard_H8m',
+ StandardL16s = 'Standard_L16s',
+ StandardL32s = 'Standard_L32s',
+ StandardL4s = 'Standard_L4s',
+ StandardL8s = 'Standard_L8s',
+ StandardM12832ms = 'Standard_M128-32ms',
+ StandardM12864ms = 'Standard_M128-64ms',
+ StandardM128ms = 'Standard_M128ms',
+ StandardM128s = 'Standard_M128s',
+ StandardM6416ms = 'Standard_M64-16ms',
+ StandardM6432ms = 'Standard_M64-32ms',
+ StandardM64ms = 'Standard_M64ms',
+ StandardM64s = 'Standard_M64s',
+ StandardNC12 = 'Standard_NC12',
+ StandardNC12sV2 = 'Standard_NC12s_v2',
+ StandardNC12sV3 = 'Standard_NC12s_v3',
+ StandardNC24 = 'Standard_NC24',
+ StandardNC24r = 'Standard_NC24r',
+ StandardNC24rsV2 = 'Standard_NC24rs_v2',
+ StandardNC24rsV3 = 'Standard_NC24rs_v3',
+ StandardNC24sV2 = 'Standard_NC24s_v2',
+ StandardNC24sV3 = 'Standard_NC24s_v3',
+ StandardNC6 = 'Standard_NC6',
+ StandardNC6sV2 = 'Standard_NC6s_v2',
+ StandardNC6sV3 = 'Standard_NC6s_v3',
+ StandardND12s = 'Standard_ND12s',
+ StandardND24rs = 'Standard_ND24rs',
+ StandardND24s = 'Standard_ND24s',
+ StandardND6s = 'Standard_ND6s',
+ StandardNV12 = 'Standard_NV12',
+ StandardNV24 = 'Standard_NV24',
+ StandardNV6 = 'Standard_NV6',
+}
+
+/**
+ * Defines values for ContainerServiceOrchestratorTypes.
+ * Possible values include: 'Kubernetes', 'Swarm', 'DCOS', 'DockerCE', 'Custom'
+ * There could be more values for this enum apart from the ones defined here.If
+ * you want to set a value that is not from the known values then you can do
+ * the following:
+ * let param: ContainerServiceOrchestratorTypes =
+ * "someUnknownValueThatWillStillBeValid";
+ * @readonly
+ * @enum {string}
+ */
+export enum ContainerServiceOrchestratorTypes {
+ Kubernetes = 'Kubernetes',
+ Swarm = 'Swarm',
+ DCOS = 'DCOS',
+ DockerCE = 'DockerCE',
+ Custom = 'Custom',
+}
+
+/**
+ * Defines values for OSType.
+ * Possible values include: 'Linux', 'Windows'
+ * There could be more values for this enum apart from the ones defined here.If
+ * you want to set a value that is not from the known values then you can do
+ * the following:
+ * let param: OSType = "someUnknownValueThatWillStillBeValid";
+ * @readonly
+ * @enum {string}
+ */
+export enum OSType {
+ Linux = 'Linux',
+ Windows = 'Windows',
+}
+
+/**
+ * Defines values for NetworkPlugin.
+ * Possible values include: 'azure', 'kubenet'
+ * There could be more values for this enum apart from the ones defined here.If
+ * you want to set a value that is not from the known values then you can do
+ * the following:
+ * let param: NetworkPlugin =
+ * "someUnknownValueThatWillStillBeValid";
+ * @readonly
+ * @enum {string}
+ */
+export enum NetworkPlugin {
+ Azure = 'azure',
+ Kubenet = 'kubenet',
+}
+
+/**
+ * Defines values for NetworkPolicy.
+ * Possible values include: 'calico'
+ * There could be more values for this enum apart from the ones defined here.If
+ * you want to set a value that is not from the known values then you can do
+ * the following:
+ * let param: NetworkPolicy =
+ * "someUnknownValueThatWillStillBeValid";
+ * @readonly
+ * @enum {string}
+ */
+export enum NetworkPolicy {
+ Calico = 'calico',
+}
+
+/**
+ * Contains response data for the list operation.
+ */
+export type ContainerServicesListResponse = ContainerServiceListResult & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ContainerServiceListResult;
+ };
+};
+
+/**
+ * Contains response data for the createOrUpdate operation.
+ */
+export type ContainerServicesCreateOrUpdateResponse = ContainerService & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ContainerService;
+ };
+};
+
+/**
+ * Contains response data for the get operation.
+ */
+export type ContainerServicesGetResponse = ContainerService & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ContainerService;
+ };
+};
+
+/**
+ * Contains response data for the listByResourceGroup operation.
+ */
+export type ContainerServicesListByResourceGroupResponse = ContainerServiceListResult & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ContainerServiceListResult;
+ };
+};
+
+/**
+ * Contains response data for the listOrchestrators operation.
+ */
+export type ContainerServicesListOrchestratorsResponse = OrchestratorVersionProfileListResult & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: OrchestratorVersionProfileListResult;
+ };
+};
+
+/**
+ * Contains response data for the beginCreateOrUpdate operation.
+ */
+export type ContainerServicesBeginCreateOrUpdateResponse = ContainerService & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ContainerService;
+ };
+};
+
+/**
+ * Contains response data for the listNext operation.
+ */
+export type ContainerServicesListNextResponse = ContainerServiceListResult & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ContainerServiceListResult;
+ };
+};
+
+/**
+ * Contains response data for the listByResourceGroupNext operation.
+ */
+export type ContainerServicesListByResourceGroupNextResponse = ContainerServiceListResult & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ContainerServiceListResult;
+ };
+};
+
+/**
+ * Contains response data for the list operation.
+ */
+export type OperationsListResponse = OperationListResult & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: OperationListResult;
+ };
+};
+
+/**
+ * Contains response data for the list operation.
+ */
+export type ManagedClustersListResponse = ManagedClusterListResult & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ManagedClusterListResult;
+ };
+};
+
+/**
+ * Contains response data for the listByResourceGroup operation.
+ */
+export type ManagedClustersListByResourceGroupResponse = ManagedClusterListResult & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ManagedClusterListResult;
+ };
+};
+
+/**
+ * Contains response data for the getUpgradeProfile operation.
+ */
+export type ManagedClustersGetUpgradeProfileResponse = ManagedClusterUpgradeProfile & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ManagedClusterUpgradeProfile;
+ };
+};
+
+/**
+ * Contains response data for the getAccessProfile operation.
+ */
+export type ManagedClustersGetAccessProfileResponse = ManagedClusterAccessProfile & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ManagedClusterAccessProfile;
+ };
+};
+
+/**
+ * Contains response data for the listClusterAdminCredentials operation.
+ */
+export type ManagedClustersListClusterAdminCredentialsResponse = CredentialResults & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: CredentialResults;
+ };
+};
+
+/**
+ * Contains response data for the listClusterUserCredentials operation.
+ */
+export type ManagedClustersListClusterUserCredentialsResponse = CredentialResults & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: CredentialResults;
+ };
+};
+
+/**
+ * Contains response data for the get operation.
+ */
+export type ManagedClustersGetResponse = ManagedCluster & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ManagedCluster;
+ };
+};
+
+/**
+ * Contains response data for the createOrUpdate operation.
+ */
+export type ManagedClustersCreateOrUpdateResponse = ManagedCluster & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ManagedCluster;
+ };
+};
+
+/**
+ * Contains response data for the updateTags operation.
+ */
+export type ManagedClustersUpdateTagsResponse = ManagedCluster & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ManagedCluster;
+ };
+};
+
+/**
+ * Contains response data for the beginCreateOrUpdate operation.
+ */
+export type ManagedClustersBeginCreateOrUpdateResponse = ManagedCluster & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ManagedCluster;
+ };
+};
+
+/**
+ * Contains response data for the beginUpdateTags operation.
+ */
+export type ManagedClustersBeginUpdateTagsResponse = ManagedCluster & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ManagedCluster;
+ };
+};
+
+/**
+ * Contains response data for the listNext operation.
+ */
+export type ManagedClustersListNextResponse = ManagedClusterListResult & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ManagedClusterListResult;
+ };
+};
+
+/**
+ * Contains response data for the listByResourceGroupNext operation.
+ */
+export type ManagedClustersListByResourceGroupNextResponse = ManagedClusterListResult & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ManagedClusterListResult;
+ };
+};
diff --git a/packages/@azure/arm-containerservice/lib/models/managedClustersMappers.ts b/packages/@azure/arm-containerservice/lib/models/managedClustersMappers.ts
new file mode 100644
index 000000000000..7814f9226340
--- /dev/null
+++ b/packages/@azure/arm-containerservice/lib/models/managedClustersMappers.ts
@@ -0,0 +1,42 @@
+/*
+ * 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.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+export {
+ ManagedClusterListResult,
+ ManagedCluster,
+ Resource,
+ BaseResource,
+ ManagedClusterAgentPoolProfile,
+ ContainerServiceLinuxProfile,
+ ContainerServiceSshConfiguration,
+ ContainerServiceSshPublicKey,
+ ManagedClusterServicePrincipalProfile,
+ ManagedClusterAddonProfile,
+ ContainerServiceNetworkProfile,
+ ManagedClusterAADProfile,
+ CloudError,
+ ManagedClusterUpgradeProfile,
+ ManagedClusterPoolUpgradeProfile,
+ ManagedClusterAccessProfile,
+ CredentialResults,
+ CredentialResult,
+ TagsObject,
+ ContainerService,
+ ContainerServiceOrchestratorProfile,
+ ContainerServiceCustomProfile,
+ ContainerServiceServicePrincipalProfile,
+ KeyVaultSecretRef,
+ ContainerServiceMasterProfile,
+ ContainerServiceAgentPoolProfile,
+ ContainerServiceWindowsProfile,
+ ContainerServiceDiagnosticsProfile,
+ ContainerServiceVMDiagnostics
+} from "../models/mappers";
+
diff --git a/packages/@azure/arm-containerservice/lib/models/mappers.ts b/packages/@azure/arm-containerservice/lib/models/mappers.ts
new file mode 100644
index 000000000000..ac05873781d4
--- /dev/null
+++ b/packages/@azure/arm-containerservice/lib/models/mappers.ts
@@ -0,0 +1,1566 @@
+/*
+ * 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.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+import { CloudErrorMapper, BaseResourceMapper } from "ms-rest-azure-js";
+import * as msRest from "ms-rest-js";
+
+export const CloudError = CloudErrorMapper;
+export const BaseResource = BaseResourceMapper;
+
+export const Resource: msRest.CompositeMapper = {
+ serializedName: "Resource",
+ type: {
+ name: "Composite",
+ className: "Resource",
+ modelProperties: {
+ id: {
+ readOnly: true,
+ serializedName: "id",
+ type: {
+ name: "String"
+ }
+ },
+ name: {
+ readOnly: true,
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ type: {
+ readOnly: true,
+ serializedName: "type",
+ type: {
+ name: "String"
+ }
+ },
+ location: {
+ required: true,
+ serializedName: "location",
+ type: {
+ name: "String"
+ }
+ },
+ tags: {
+ serializedName: "tags",
+ type: {
+ name: "Dictionary",
+ value: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const ContainerServiceCustomProfile: msRest.CompositeMapper = {
+ serializedName: "ContainerServiceCustomProfile",
+ type: {
+ name: "Composite",
+ className: "ContainerServiceCustomProfile",
+ modelProperties: {
+ orchestrator: {
+ required: true,
+ serializedName: "orchestrator",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const KeyVaultSecretRef: msRest.CompositeMapper = {
+ serializedName: "KeyVaultSecretRef",
+ type: {
+ name: "Composite",
+ className: "KeyVaultSecretRef",
+ modelProperties: {
+ vaultID: {
+ required: true,
+ serializedName: "vaultID",
+ type: {
+ name: "String"
+ }
+ },
+ secretName: {
+ required: true,
+ serializedName: "secretName",
+ type: {
+ name: "String"
+ }
+ },
+ version: {
+ serializedName: "version",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const ContainerServiceServicePrincipalProfile: msRest.CompositeMapper = {
+ serializedName: "ContainerServiceServicePrincipalProfile",
+ type: {
+ name: "Composite",
+ className: "ContainerServiceServicePrincipalProfile",
+ modelProperties: {
+ clientId: {
+ required: true,
+ serializedName: "clientId",
+ type: {
+ name: "String"
+ }
+ },
+ secret: {
+ serializedName: "secret",
+ type: {
+ name: "String"
+ }
+ },
+ keyVaultSecretRef: {
+ serializedName: "keyVaultSecretRef",
+ type: {
+ name: "Composite",
+ className: "KeyVaultSecretRef"
+ }
+ }
+ }
+ }
+};
+
+export const ContainerServiceOrchestratorProfile: msRest.CompositeMapper = {
+ serializedName: "ContainerServiceOrchestratorProfile",
+ type: {
+ name: "Composite",
+ className: "ContainerServiceOrchestratorProfile",
+ modelProperties: {
+ orchestratorType: {
+ required: true,
+ serializedName: "orchestratorType",
+ type: {
+ name: "String"
+ }
+ },
+ orchestratorVersion: {
+ serializedName: "orchestratorVersion",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const ContainerServiceMasterProfile: msRest.CompositeMapper = {
+ serializedName: "ContainerServiceMasterProfile",
+ type: {
+ name: "Composite",
+ className: "ContainerServiceMasterProfile",
+ modelProperties: {
+ count: {
+ serializedName: "count",
+ defaultValue: 1,
+ type: {
+ name: "Number"
+ }
+ },
+ dnsPrefix: {
+ required: true,
+ serializedName: "dnsPrefix",
+ type: {
+ name: "String"
+ }
+ },
+ vmSize: {
+ required: true,
+ serializedName: "vmSize",
+ type: {
+ name: "String"
+ }
+ },
+ osDiskSizeGB: {
+ serializedName: "osDiskSizeGB",
+ type: {
+ name: "Number"
+ }
+ },
+ vnetSubnetID: {
+ serializedName: "vnetSubnetID",
+ type: {
+ name: "String"
+ }
+ },
+ firstConsecutiveStaticIP: {
+ serializedName: "firstConsecutiveStaticIP",
+ defaultValue: '10.240.255.5',
+ type: {
+ name: "String"
+ }
+ },
+ storageProfile: {
+ serializedName: "storageProfile",
+ type: {
+ name: "String"
+ }
+ },
+ fqdn: {
+ readOnly: true,
+ serializedName: "fqdn",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const ContainerServiceAgentPoolProfile: msRest.CompositeMapper = {
+ serializedName: "ContainerServiceAgentPoolProfile",
+ type: {
+ name: "Composite",
+ className: "ContainerServiceAgentPoolProfile",
+ modelProperties: {
+ name: {
+ required: true,
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ count: {
+ serializedName: "count",
+ defaultValue: 1,
+ constraints: {
+ InclusiveMaximum: 100,
+ InclusiveMinimum: 1
+ },
+ type: {
+ name: "Number"
+ }
+ },
+ vmSize: {
+ required: true,
+ serializedName: "vmSize",
+ type: {
+ name: "String"
+ }
+ },
+ osDiskSizeGB: {
+ serializedName: "osDiskSizeGB",
+ type: {
+ name: "Number"
+ }
+ },
+ dnsPrefix: {
+ serializedName: "dnsPrefix",
+ type: {
+ name: "String"
+ }
+ },
+ fqdn: {
+ readOnly: true,
+ serializedName: "fqdn",
+ type: {
+ name: "String"
+ }
+ },
+ ports: {
+ serializedName: "ports",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Number"
+ }
+ }
+ }
+ },
+ storageProfile: {
+ serializedName: "storageProfile",
+ type: {
+ name: "String"
+ }
+ },
+ vnetSubnetID: {
+ serializedName: "vnetSubnetID",
+ type: {
+ name: "String"
+ }
+ },
+ osType: {
+ serializedName: "osType",
+ defaultValue: 'Linux',
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const ContainerServiceWindowsProfile: msRest.CompositeMapper = {
+ serializedName: "ContainerServiceWindowsProfile",
+ type: {
+ name: "Composite",
+ className: "ContainerServiceWindowsProfile",
+ modelProperties: {
+ adminUsername: {
+ required: true,
+ serializedName: "adminUsername",
+ constraints: {
+ Pattern: /^[a-zA-Z0-9]+([._]?[a-zA-Z0-9]+)*$/
+ },
+ type: {
+ name: "String"
+ }
+ },
+ adminPassword: {
+ required: true,
+ serializedName: "adminPassword",
+ constraints: {
+ Pattern: /^(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%\^&\*\(\)])[a-zA-Z\d!@#$%\^&\*\(\)]{12,123}$/
+ },
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const ContainerServiceSshPublicKey: msRest.CompositeMapper = {
+ serializedName: "ContainerServiceSshPublicKey",
+ type: {
+ name: "Composite",
+ className: "ContainerServiceSshPublicKey",
+ modelProperties: {
+ keyData: {
+ required: true,
+ serializedName: "keyData",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const ContainerServiceSshConfiguration: msRest.CompositeMapper = {
+ serializedName: "ContainerServiceSshConfiguration",
+ type: {
+ name: "Composite",
+ className: "ContainerServiceSshConfiguration",
+ modelProperties: {
+ publicKeys: {
+ required: true,
+ serializedName: "publicKeys",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ContainerServiceSshPublicKey"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const ContainerServiceLinuxProfile: msRest.CompositeMapper = {
+ serializedName: "ContainerServiceLinuxProfile",
+ type: {
+ name: "Composite",
+ className: "ContainerServiceLinuxProfile",
+ modelProperties: {
+ adminUsername: {
+ required: true,
+ serializedName: "adminUsername",
+ constraints: {
+ Pattern: /^[A-Za-z][-A-Za-z0-9_]*$/
+ },
+ type: {
+ name: "String"
+ }
+ },
+ ssh: {
+ required: true,
+ serializedName: "ssh",
+ type: {
+ name: "Composite",
+ className: "ContainerServiceSshConfiguration"
+ }
+ }
+ }
+ }
+};
+
+export const ContainerServiceVMDiagnostics: msRest.CompositeMapper = {
+ serializedName: "ContainerServiceVMDiagnostics",
+ type: {
+ name: "Composite",
+ className: "ContainerServiceVMDiagnostics",
+ modelProperties: {
+ enabled: {
+ required: true,
+ serializedName: "enabled",
+ type: {
+ name: "Boolean"
+ }
+ },
+ storageUri: {
+ readOnly: true,
+ serializedName: "storageUri",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const ContainerServiceDiagnosticsProfile: msRest.CompositeMapper = {
+ serializedName: "ContainerServiceDiagnosticsProfile",
+ type: {
+ name: "Composite",
+ className: "ContainerServiceDiagnosticsProfile",
+ modelProperties: {
+ vmDiagnostics: {
+ required: true,
+ serializedName: "vmDiagnostics",
+ type: {
+ name: "Composite",
+ className: "ContainerServiceVMDiagnostics"
+ }
+ }
+ }
+ }
+};
+
+export const ContainerServiceProperties: msRest.CompositeMapper = {
+ serializedName: "ContainerServiceProperties",
+ type: {
+ name: "Composite",
+ className: "ContainerServiceProperties",
+ modelProperties: {
+ provisioningState: {
+ readOnly: true,
+ serializedName: "provisioningState",
+ type: {
+ name: "String"
+ }
+ },
+ orchestratorProfile: {
+ required: true,
+ serializedName: "orchestratorProfile",
+ type: {
+ name: "Composite",
+ className: "ContainerServiceOrchestratorProfile"
+ }
+ },
+ customProfile: {
+ serializedName: "customProfile",
+ type: {
+ name: "Composite",
+ className: "ContainerServiceCustomProfile"
+ }
+ },
+ servicePrincipalProfile: {
+ serializedName: "servicePrincipalProfile",
+ type: {
+ name: "Composite",
+ className: "ContainerServiceServicePrincipalProfile"
+ }
+ },
+ masterProfile: {
+ required: true,
+ serializedName: "masterProfile",
+ type: {
+ name: "Composite",
+ className: "ContainerServiceMasterProfile"
+ }
+ },
+ agentPoolProfiles: {
+ serializedName: "agentPoolProfiles",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ContainerServiceAgentPoolProfile"
+ }
+ }
+ }
+ },
+ windowsProfile: {
+ serializedName: "windowsProfile",
+ type: {
+ name: "Composite",
+ className: "ContainerServiceWindowsProfile"
+ }
+ },
+ linuxProfile: {
+ required: true,
+ serializedName: "linuxProfile",
+ type: {
+ name: "Composite",
+ className: "ContainerServiceLinuxProfile"
+ }
+ },
+ diagnosticsProfile: {
+ serializedName: "diagnosticsProfile",
+ type: {
+ name: "Composite",
+ className: "ContainerServiceDiagnosticsProfile"
+ }
+ }
+ }
+ }
+};
+
+export const ContainerService: msRest.CompositeMapper = {
+ serializedName: "ContainerService",
+ type: {
+ name: "Composite",
+ className: "ContainerService",
+ modelProperties: {
+ ...Resource.type.modelProperties,
+ provisioningState: {
+ readOnly: true,
+ serializedName: "properties.provisioningState",
+ type: {
+ name: "String"
+ }
+ },
+ orchestratorProfile: {
+ required: true,
+ serializedName: "properties.orchestratorProfile",
+ type: {
+ name: "Composite",
+ className: "ContainerServiceOrchestratorProfile"
+ }
+ },
+ customProfile: {
+ serializedName: "properties.customProfile",
+ type: {
+ name: "Composite",
+ className: "ContainerServiceCustomProfile"
+ }
+ },
+ servicePrincipalProfile: {
+ serializedName: "properties.servicePrincipalProfile",
+ type: {
+ name: "Composite",
+ className: "ContainerServiceServicePrincipalProfile"
+ }
+ },
+ masterProfile: {
+ required: true,
+ serializedName: "properties.masterProfile",
+ type: {
+ name: "Composite",
+ className: "ContainerServiceMasterProfile"
+ }
+ },
+ agentPoolProfiles: {
+ serializedName: "properties.agentPoolProfiles",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ContainerServiceAgentPoolProfile"
+ }
+ }
+ }
+ },
+ windowsProfile: {
+ serializedName: "properties.windowsProfile",
+ type: {
+ name: "Composite",
+ className: "ContainerServiceWindowsProfile"
+ }
+ },
+ linuxProfile: {
+ required: true,
+ serializedName: "properties.linuxProfile",
+ type: {
+ name: "Composite",
+ className: "ContainerServiceLinuxProfile"
+ }
+ },
+ diagnosticsProfile: {
+ serializedName: "properties.diagnosticsProfile",
+ type: {
+ name: "Composite",
+ className: "ContainerServiceDiagnosticsProfile"
+ }
+ }
+ }
+ }
+};
+
+export const OperationValueDisplay: msRest.CompositeMapper = {
+ serializedName: "OperationValueDisplay",
+ type: {
+ name: "Composite",
+ className: "OperationValueDisplay",
+ modelProperties: {
+ operation: {
+ readOnly: true,
+ serializedName: "operation",
+ type: {
+ name: "String"
+ }
+ },
+ resource: {
+ readOnly: true,
+ serializedName: "resource",
+ type: {
+ name: "String"
+ }
+ },
+ description: {
+ readOnly: true,
+ serializedName: "description",
+ type: {
+ name: "String"
+ }
+ },
+ provider: {
+ readOnly: true,
+ serializedName: "provider",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const OperationValue: msRest.CompositeMapper = {
+ serializedName: "OperationValue",
+ type: {
+ name: "Composite",
+ className: "OperationValue",
+ modelProperties: {
+ origin: {
+ readOnly: true,
+ serializedName: "origin",
+ type: {
+ name: "String"
+ }
+ },
+ name: {
+ readOnly: true,
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ operation: {
+ readOnly: true,
+ serializedName: "display.operation",
+ type: {
+ name: "String"
+ }
+ },
+ resource: {
+ readOnly: true,
+ serializedName: "display.resource",
+ type: {
+ name: "String"
+ }
+ },
+ description: {
+ readOnly: true,
+ serializedName: "display.description",
+ type: {
+ name: "String"
+ }
+ },
+ provider: {
+ readOnly: true,
+ serializedName: "display.provider",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const TagsObject: msRest.CompositeMapper = {
+ serializedName: "TagsObject",
+ type: {
+ name: "Composite",
+ className: "TagsObject",
+ modelProperties: {
+ tags: {
+ serializedName: "tags",
+ type: {
+ name: "Dictionary",
+ value: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const ManagedClusterServicePrincipalProfile: msRest.CompositeMapper = {
+ serializedName: "ManagedClusterServicePrincipalProfile",
+ type: {
+ name: "Composite",
+ className: "ManagedClusterServicePrincipalProfile",
+ modelProperties: {
+ clientId: {
+ required: true,
+ serializedName: "clientId",
+ type: {
+ name: "String"
+ }
+ },
+ secret: {
+ serializedName: "secret",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const ManagedClusterAgentPoolProfile: msRest.CompositeMapper = {
+ serializedName: "ManagedClusterAgentPoolProfile",
+ type: {
+ name: "Composite",
+ className: "ManagedClusterAgentPoolProfile",
+ modelProperties: {
+ name: {
+ required: true,
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ count: {
+ serializedName: "count",
+ defaultValue: 1,
+ constraints: {
+ InclusiveMaximum: 100,
+ InclusiveMinimum: 1
+ },
+ type: {
+ name: "Number"
+ }
+ },
+ vmSize: {
+ required: true,
+ serializedName: "vmSize",
+ type: {
+ name: "String"
+ }
+ },
+ osDiskSizeGB: {
+ serializedName: "osDiskSizeGB",
+ type: {
+ name: "Number"
+ }
+ },
+ storageProfile: {
+ readOnly: true,
+ serializedName: "storageProfile",
+ type: {
+ name: "String"
+ }
+ },
+ vnetSubnetID: {
+ serializedName: "vnetSubnetID",
+ type: {
+ name: "String"
+ }
+ },
+ maxPods: {
+ serializedName: "maxPods",
+ type: {
+ name: "Number"
+ }
+ },
+ osType: {
+ serializedName: "osType",
+ defaultValue: 'Linux',
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const ContainerServiceNetworkProfile: msRest.CompositeMapper = {
+ serializedName: "ContainerServiceNetworkProfile",
+ type: {
+ name: "Composite",
+ className: "ContainerServiceNetworkProfile",
+ modelProperties: {
+ networkPlugin: {
+ serializedName: "networkPlugin",
+ defaultValue: 'kubenet',
+ type: {
+ name: "String"
+ }
+ },
+ networkPolicy: {
+ serializedName: "networkPolicy",
+ type: {
+ name: "String"
+ }
+ },
+ podCidr: {
+ serializedName: "podCidr",
+ defaultValue: '10.244.0.0/16',
+ constraints: {
+ Pattern: /^([0-9]{1,3}\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$/
+ },
+ type: {
+ name: "String"
+ }
+ },
+ serviceCidr: {
+ serializedName: "serviceCidr",
+ defaultValue: '10.0.0.0/16',
+ constraints: {
+ Pattern: /^([0-9]{1,3}\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$/
+ },
+ type: {
+ name: "String"
+ }
+ },
+ dnsServiceIP: {
+ serializedName: "dnsServiceIP",
+ defaultValue: '10.0.0.10',
+ constraints: {
+ Pattern: /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/
+ },
+ type: {
+ name: "String"
+ }
+ },
+ dockerBridgeCidr: {
+ serializedName: "dockerBridgeCidr",
+ defaultValue: '172.17.0.1/16',
+ constraints: {
+ Pattern: /^([0-9]{1,3}\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$/
+ },
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const ManagedClusterAddonProfile: msRest.CompositeMapper = {
+ serializedName: "ManagedClusterAddonProfile",
+ type: {
+ name: "Composite",
+ className: "ManagedClusterAddonProfile",
+ modelProperties: {
+ enabled: {
+ required: true,
+ serializedName: "enabled",
+ type: {
+ name: "Boolean"
+ }
+ },
+ config: {
+ serializedName: "config",
+ type: {
+ name: "Dictionary",
+ value: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const ManagedClusterAADProfile: msRest.CompositeMapper = {
+ serializedName: "ManagedClusterAADProfile",
+ type: {
+ name: "Composite",
+ className: "ManagedClusterAADProfile",
+ modelProperties: {
+ clientAppID: {
+ required: true,
+ serializedName: "clientAppID",
+ type: {
+ name: "String"
+ }
+ },
+ serverAppID: {
+ required: true,
+ serializedName: "serverAppID",
+ type: {
+ name: "String"
+ }
+ },
+ serverAppSecret: {
+ serializedName: "serverAppSecret",
+ type: {
+ name: "String"
+ }
+ },
+ tenantID: {
+ serializedName: "tenantID",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const ManagedClusterProperties: msRest.CompositeMapper = {
+ serializedName: "ManagedClusterProperties",
+ type: {
+ name: "Composite",
+ className: "ManagedClusterProperties",
+ modelProperties: {
+ provisioningState: {
+ readOnly: true,
+ serializedName: "provisioningState",
+ type: {
+ name: "String"
+ }
+ },
+ kubernetesVersion: {
+ serializedName: "kubernetesVersion",
+ type: {
+ name: "String"
+ }
+ },
+ dnsPrefix: {
+ serializedName: "dnsPrefix",
+ type: {
+ name: "String"
+ }
+ },
+ fqdn: {
+ readOnly: true,
+ serializedName: "fqdn",
+ type: {
+ name: "String"
+ }
+ },
+ agentPoolProfiles: {
+ serializedName: "agentPoolProfiles",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ManagedClusterAgentPoolProfile"
+ }
+ }
+ }
+ },
+ linuxProfile: {
+ serializedName: "linuxProfile",
+ type: {
+ name: "Composite",
+ className: "ContainerServiceLinuxProfile"
+ }
+ },
+ servicePrincipalProfile: {
+ serializedName: "servicePrincipalProfile",
+ type: {
+ name: "Composite",
+ className: "ManagedClusterServicePrincipalProfile"
+ }
+ },
+ addonProfiles: {
+ serializedName: "addonProfiles",
+ type: {
+ name: "Dictionary",
+ value: {
+ type: {
+ name: "Composite",
+ className: "ManagedClusterAddonProfile"
+ }
+ }
+ }
+ },
+ nodeResourceGroup: {
+ readOnly: true,
+ serializedName: "nodeResourceGroup",
+ type: {
+ name: "String"
+ }
+ },
+ enableRBAC: {
+ serializedName: "enableRBAC",
+ type: {
+ name: "Boolean"
+ }
+ },
+ networkProfile: {
+ serializedName: "networkProfile",
+ type: {
+ name: "Composite",
+ className: "ContainerServiceNetworkProfile"
+ }
+ },
+ aadProfile: {
+ serializedName: "aadProfile",
+ type: {
+ name: "Composite",
+ className: "ManagedClusterAADProfile"
+ }
+ }
+ }
+ }
+};
+
+export const ManagedCluster: msRest.CompositeMapper = {
+ serializedName: "ManagedCluster",
+ type: {
+ name: "Composite",
+ className: "ManagedCluster",
+ modelProperties: {
+ ...Resource.type.modelProperties,
+ provisioningState: {
+ readOnly: true,
+ serializedName: "properties.provisioningState",
+ type: {
+ name: "String"
+ }
+ },
+ kubernetesVersion: {
+ serializedName: "properties.kubernetesVersion",
+ type: {
+ name: "String"
+ }
+ },
+ dnsPrefix: {
+ serializedName: "properties.dnsPrefix",
+ type: {
+ name: "String"
+ }
+ },
+ fqdn: {
+ readOnly: true,
+ serializedName: "properties.fqdn",
+ type: {
+ name: "String"
+ }
+ },
+ agentPoolProfiles: {
+ serializedName: "properties.agentPoolProfiles",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ManagedClusterAgentPoolProfile"
+ }
+ }
+ }
+ },
+ linuxProfile: {
+ serializedName: "properties.linuxProfile",
+ type: {
+ name: "Composite",
+ className: "ContainerServiceLinuxProfile"
+ }
+ },
+ servicePrincipalProfile: {
+ serializedName: "properties.servicePrincipalProfile",
+ type: {
+ name: "Composite",
+ className: "ManagedClusterServicePrincipalProfile"
+ }
+ },
+ addonProfiles: {
+ serializedName: "properties.addonProfiles",
+ type: {
+ name: "Dictionary",
+ value: {
+ type: {
+ name: "Composite",
+ className: "ManagedClusterAddonProfile"
+ }
+ }
+ }
+ },
+ nodeResourceGroup: {
+ readOnly: true,
+ serializedName: "properties.nodeResourceGroup",
+ type: {
+ name: "String"
+ }
+ },
+ enableRBAC: {
+ serializedName: "properties.enableRBAC",
+ type: {
+ name: "Boolean"
+ }
+ },
+ networkProfile: {
+ serializedName: "properties.networkProfile",
+ type: {
+ name: "Composite",
+ className: "ContainerServiceNetworkProfile"
+ }
+ },
+ aadProfile: {
+ serializedName: "properties.aadProfile",
+ type: {
+ name: "Composite",
+ className: "ManagedClusterAADProfile"
+ }
+ }
+ }
+ }
+};
+
+export const OrchestratorProfile: msRest.CompositeMapper = {
+ serializedName: "OrchestratorProfile",
+ type: {
+ name: "Composite",
+ className: "OrchestratorProfile",
+ modelProperties: {
+ orchestratorType: {
+ required: true,
+ serializedName: "orchestratorType",
+ type: {
+ name: "String"
+ }
+ },
+ orchestratorVersion: {
+ required: true,
+ serializedName: "orchestratorVersion",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const AccessProfile: msRest.CompositeMapper = {
+ serializedName: "AccessProfile",
+ type: {
+ name: "Composite",
+ className: "AccessProfile",
+ modelProperties: {
+ kubeConfig: {
+ serializedName: "kubeConfig",
+ type: {
+ name: "ByteArray"
+ }
+ }
+ }
+ }
+};
+
+export const ManagedClusterAccessProfile: msRest.CompositeMapper = {
+ serializedName: "ManagedClusterAccessProfile",
+ type: {
+ name: "Composite",
+ className: "ManagedClusterAccessProfile",
+ modelProperties: {
+ ...Resource.type.modelProperties,
+ kubeConfig: {
+ serializedName: "properties.kubeConfig",
+ type: {
+ name: "ByteArray"
+ }
+ }
+ }
+ }
+};
+
+export const ManagedClusterPoolUpgradeProfile: msRest.CompositeMapper = {
+ serializedName: "ManagedClusterPoolUpgradeProfile",
+ type: {
+ name: "Composite",
+ className: "ManagedClusterPoolUpgradeProfile",
+ modelProperties: {
+ kubernetesVersion: {
+ required: true,
+ serializedName: "kubernetesVersion",
+ type: {
+ name: "String"
+ }
+ },
+ name: {
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ osType: {
+ required: true,
+ serializedName: "osType",
+ defaultValue: 'Linux',
+ type: {
+ name: "String"
+ }
+ },
+ upgrades: {
+ serializedName: "upgrades",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const ManagedClusterUpgradeProfileProperties: msRest.CompositeMapper = {
+ serializedName: "ManagedClusterUpgradeProfileProperties",
+ type: {
+ name: "Composite",
+ className: "ManagedClusterUpgradeProfileProperties",
+ modelProperties: {
+ controlPlaneProfile: {
+ required: true,
+ serializedName: "controlPlaneProfile",
+ type: {
+ name: "Composite",
+ className: "ManagedClusterPoolUpgradeProfile"
+ }
+ },
+ agentPoolProfiles: {
+ required: true,
+ serializedName: "agentPoolProfiles",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ManagedClusterPoolUpgradeProfile"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const ManagedClusterUpgradeProfile: msRest.CompositeMapper = {
+ serializedName: "ManagedClusterUpgradeProfile",
+ type: {
+ name: "Composite",
+ className: "ManagedClusterUpgradeProfile",
+ modelProperties: {
+ id: {
+ readOnly: true,
+ serializedName: "id",
+ type: {
+ name: "String"
+ }
+ },
+ name: {
+ readOnly: true,
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ type: {
+ readOnly: true,
+ serializedName: "type",
+ type: {
+ name: "String"
+ }
+ },
+ controlPlaneProfile: {
+ required: true,
+ serializedName: "properties.controlPlaneProfile",
+ type: {
+ name: "Composite",
+ className: "ManagedClusterPoolUpgradeProfile"
+ }
+ },
+ agentPoolProfiles: {
+ required: true,
+ serializedName: "properties.agentPoolProfiles",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ManagedClusterPoolUpgradeProfile"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const CredentialResult: msRest.CompositeMapper = {
+ serializedName: "CredentialResult",
+ type: {
+ name: "Composite",
+ className: "CredentialResult",
+ modelProperties: {
+ name: {
+ readOnly: true,
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ value: {
+ readOnly: true,
+ serializedName: "value",
+ type: {
+ name: "ByteArray"
+ }
+ }
+ }
+ }
+};
+
+export const CredentialResults: msRest.CompositeMapper = {
+ serializedName: "CredentialResults",
+ type: {
+ name: "Composite",
+ className: "CredentialResults",
+ modelProperties: {
+ kubeconfigs: {
+ readOnly: true,
+ serializedName: "kubeconfigs",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "CredentialResult"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const OrchestratorVersionProfile: msRest.CompositeMapper = {
+ serializedName: "OrchestratorVersionProfile",
+ type: {
+ name: "Composite",
+ className: "OrchestratorVersionProfile",
+ modelProperties: {
+ orchestratorType: {
+ required: true,
+ serializedName: "orchestratorType",
+ type: {
+ name: "String"
+ }
+ },
+ orchestratorVersion: {
+ required: true,
+ serializedName: "orchestratorVersion",
+ type: {
+ name: "String"
+ }
+ },
+ default: {
+ required: true,
+ serializedName: "default",
+ type: {
+ name: "Boolean"
+ }
+ },
+ upgrades: {
+ required: true,
+ serializedName: "upgrades",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "OrchestratorProfile"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const OrchestratorVersionProfileProperties: msRest.CompositeMapper = {
+ serializedName: "OrchestratorVersionProfileProperties",
+ type: {
+ name: "Composite",
+ className: "OrchestratorVersionProfileProperties",
+ modelProperties: {
+ orchestrators: {
+ required: true,
+ serializedName: "orchestrators",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "OrchestratorVersionProfile"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const OrchestratorVersionProfileListResult: msRest.CompositeMapper = {
+ serializedName: "OrchestratorVersionProfileListResult",
+ type: {
+ name: "Composite",
+ className: "OrchestratorVersionProfileListResult",
+ modelProperties: {
+ id: {
+ readOnly: true,
+ serializedName: "id",
+ type: {
+ name: "String"
+ }
+ },
+ name: {
+ readOnly: true,
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ type: {
+ readOnly: true,
+ serializedName: "type",
+ type: {
+ name: "String"
+ }
+ },
+ orchestrators: {
+ required: true,
+ serializedName: "properties.orchestrators",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "OrchestratorVersionProfile"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const ContainerServiceListResult: msRest.CompositeMapper = {
+ serializedName: "ContainerServiceListResult",
+ type: {
+ name: "Composite",
+ className: "ContainerServiceListResult",
+ modelProperties: {
+ value: {
+ serializedName: "",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ContainerService"
+ }
+ }
+ }
+ },
+ nextLink: {
+ readOnly: true,
+ serializedName: "nextLink",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const OperationListResult: msRest.CompositeMapper = {
+ serializedName: "OperationListResult",
+ type: {
+ name: "Composite",
+ className: "OperationListResult",
+ modelProperties: {
+ value: {
+ readOnly: true,
+ serializedName: "",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "OperationValue"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const ManagedClusterListResult: msRest.CompositeMapper = {
+ serializedName: "ManagedClusterListResult",
+ type: {
+ name: "Composite",
+ className: "ManagedClusterListResult",
+ modelProperties: {
+ value: {
+ serializedName: "",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ManagedCluster"
+ }
+ }
+ }
+ },
+ nextLink: {
+ readOnly: true,
+ serializedName: "nextLink",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
diff --git a/packages/@azure/arm-containerservice/lib/models/operationsMappers.ts b/packages/@azure/arm-containerservice/lib/models/operationsMappers.ts
new file mode 100644
index 000000000000..033edbed7464
--- /dev/null
+++ b/packages/@azure/arm-containerservice/lib/models/operationsMappers.ts
@@ -0,0 +1,16 @@
+/*
+ * 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.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+export {
+ OperationListResult,
+ OperationValue,
+ CloudError
+} from "../models/mappers";
+
diff --git a/packages/@azure/arm-containerservice/lib/models/parameters.ts b/packages/@azure/arm-containerservice/lib/models/parameters.ts
new file mode 100644
index 000000000000..17986b67cf4c
--- /dev/null
+++ b/packages/@azure/arm-containerservice/lib/models/parameters.ts
@@ -0,0 +1,141 @@
+/*
+ * 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.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+import * as msRest from "ms-rest-js";
+
+export const acceptLanguage: msRest.OperationParameter = {
+ parameterPath: "acceptLanguage",
+ mapper: {
+ serializedName: "accept-language",
+ defaultValue: 'en-US',
+ type: {
+ name: "String"
+ }
+ }
+};
+export const apiVersion0: msRest.OperationQueryParameter = {
+ parameterPath: "apiVersion",
+ mapper: {
+ required: true,
+ isConstant: true,
+ serializedName: "api-version",
+ defaultValue: '2017-07-01',
+ type: {
+ name: "String"
+ }
+ }
+};
+export const apiVersion1: msRest.OperationQueryParameter = {
+ parameterPath: "apiVersion",
+ mapper: {
+ required: true,
+ isConstant: true,
+ serializedName: "api-version",
+ defaultValue: '2017-09-30',
+ type: {
+ name: "String"
+ }
+ }
+};
+export const apiVersion2: msRest.OperationQueryParameter = {
+ parameterPath: "apiVersion",
+ mapper: {
+ required: true,
+ isConstant: true,
+ serializedName: "api-version",
+ defaultValue: '2018-03-31',
+ type: {
+ name: "String"
+ }
+ }
+};
+export const containerServiceName: msRest.OperationURLParameter = {
+ parameterPath: "containerServiceName",
+ mapper: {
+ required: true,
+ serializedName: "containerServiceName",
+ type: {
+ name: "String"
+ }
+ }
+};
+export const location: msRest.OperationURLParameter = {
+ parameterPath: "location",
+ mapper: {
+ required: true,
+ serializedName: "location",
+ type: {
+ name: "String"
+ }
+ }
+};
+export const nextPageLink: msRest.OperationURLParameter = {
+ parameterPath: "nextPageLink",
+ mapper: {
+ required: true,
+ serializedName: "nextLink",
+ type: {
+ name: "String"
+ }
+ },
+ skipEncoding: true
+};
+export const resourceGroupName: msRest.OperationURLParameter = {
+ parameterPath: "resourceGroupName",
+ mapper: {
+ required: true,
+ serializedName: "resourceGroupName",
+ type: {
+ name: "String"
+ }
+ }
+};
+export const resourceName: msRest.OperationURLParameter = {
+ parameterPath: "resourceName",
+ mapper: {
+ required: true,
+ serializedName: "resourceName",
+ type: {
+ name: "String"
+ }
+ }
+};
+export const resourceType: msRest.OperationQueryParameter = {
+ parameterPath: [
+ "options",
+ "resourceType"
+ ],
+ mapper: {
+ serializedName: "resource-type",
+ type: {
+ name: "String"
+ }
+ }
+};
+export const roleName: msRest.OperationURLParameter = {
+ parameterPath: "roleName",
+ mapper: {
+ required: true,
+ serializedName: "roleName",
+ type: {
+ name: "String"
+ }
+ }
+};
+export const subscriptionId: msRest.OperationURLParameter = {
+ parameterPath: "subscriptionId",
+ mapper: {
+ required: true,
+ serializedName: "subscriptionId",
+ type: {
+ name: "String"
+ }
+ }
+};
diff --git a/packages/@azure/arm-containerservice/lib/operations/containerServices.ts b/packages/@azure/arm-containerservice/lib/operations/containerServices.ts
new file mode 100644
index 000000000000..76a4e3dd3353
--- /dev/null
+++ b/packages/@azure/arm-containerservice/lib/operations/containerServices.ts
@@ -0,0 +1,499 @@
+/*
+ * 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.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+import * as msRest from "ms-rest-js";
+import * as msRestAzure from "ms-rest-azure-js";
+import * as Models from "../models";
+import * as Mappers from "../models/containerServicesMappers";
+import * as Parameters from "../models/parameters";
+import { ContainerServiceClientContext } from "../containerServiceClientContext";
+
+/** Class representing a ContainerServices. */
+export class ContainerServices {
+ private readonly client: ContainerServiceClientContext;
+
+ /**
+ * Create a ContainerServices.
+ * @param {ContainerServiceClientContext} client Reference to the service client.
+ */
+ constructor(client: ContainerServiceClientContext) {
+ this.client = client;
+ }
+
+ /**
+ * Gets a list of container services in the specified subscription. The operation returns
+ * properties of each container service including state, orchestrator, number of masters and
+ * agents, and FQDNs of masters and agents.
+ * @summary Gets a list of container services in the specified subscription.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ list(options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param callback The callback
+ */
+ list(callback: msRest.ServiceCallback): void;
+ /**
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ list(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ list(options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ options
+ },
+ listOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Creates or updates a container service with the specified configuration of orchestrator,
+ * masters, and agents.
+ * @summary Creates or updates a container service.
+ * @param resourceGroupName The name of the resource group.
+ * @param containerServiceName The name of the container service in the specified subscription and
+ * resource group.
+ * @param parameters Parameters supplied to the Create or Update a Container Service operation.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ createOrUpdate(resourceGroupName: string, containerServiceName: string, parameters: Models.ContainerService, options?: msRest.RequestOptionsBase): Promise {
+ return this.beginCreateOrUpdate(resourceGroupName,containerServiceName,parameters,options)
+ .then(lroPoller => lroPoller.pollUntilFinished()) as Promise;
+ }
+
+ /**
+ * Gets the properties of the specified container service in the specified subscription and
+ * resource group. The operation returns the properties including state, orchestrator, number of
+ * masters and agents, and FQDNs of masters and agents.
+ * @summary Gets the properties of the specified container service.
+ * @param resourceGroupName The name of the resource group.
+ * @param containerServiceName The name of the container service in the specified subscription and
+ * resource group.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ get(resourceGroupName: string, containerServiceName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param resourceGroupName The name of the resource group.
+ * @param containerServiceName The name of the container service in the specified subscription and
+ * resource group.
+ * @param callback The callback
+ */
+ get(resourceGroupName: string, containerServiceName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceGroupName The name of the resource group.
+ * @param containerServiceName The name of the container service in the specified subscription and
+ * resource group.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ get(resourceGroupName: string, containerServiceName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ get(resourceGroupName: string, containerServiceName: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ containerServiceName,
+ options
+ },
+ getOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Deletes the specified container service in the specified subscription and resource group. The
+ * operation does not delete other resources created as part of creating a container service,
+ * including storage accounts, VMs, and availability sets. All the other resources created with the
+ * container service are part of the same resource group and can be deleted individually.
+ * @summary Deletes the specified container service.
+ * @param resourceGroupName The name of the resource group.
+ * @param containerServiceName The name of the container service in the specified subscription and
+ * resource group.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ deleteMethod(resourceGroupName: string, containerServiceName: string, options?: msRest.RequestOptionsBase): Promise {
+ return this.beginDeleteMethod(resourceGroupName,containerServiceName,options)
+ .then(lroPoller => lroPoller.pollUntilFinished());
+ }
+
+ /**
+ * Gets a list of container services in the specified subscription and resource group. The
+ * operation returns properties of each container service including state, orchestrator, number of
+ * masters and agents, and FQDNs of masters and agents.
+ * @summary Gets a list of container services in the specified resource group.
+ * @param resourceGroupName The name of the resource group.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ listByResourceGroup(resourceGroupName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param resourceGroupName The name of the resource group.
+ * @param callback The callback
+ */
+ listByResourceGroup(resourceGroupName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceGroupName The name of the resource group.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ listByResourceGroup(resourceGroupName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ listByResourceGroup(resourceGroupName: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ options
+ },
+ listByResourceGroupOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Gets a list of supported orchestrators in the specified subscription. The operation returns
+ * properties of each orchestrator including verison and available upgrades.
+ * @summary Gets a list of supported orchestrators in the specified subscription.
+ * @param location The name of a supported Azure region.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ listOrchestrators(location: string, options?: Models.ContainerServicesListOrchestratorsOptionalParams): Promise;
+ /**
+ * @param location The name of a supported Azure region.
+ * @param callback The callback
+ */
+ listOrchestrators(location: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param location The name of a supported Azure region.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ listOrchestrators(location: string, options: Models.ContainerServicesListOrchestratorsOptionalParams, callback: msRest.ServiceCallback): void;
+ listOrchestrators(location: string, options?: Models.ContainerServicesListOrchestratorsOptionalParams, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ location,
+ options
+ },
+ listOrchestratorsOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Creates or updates a container service with the specified configuration of orchestrator,
+ * masters, and agents.
+ * @summary Creates or updates a container service.
+ * @param resourceGroupName The name of the resource group.
+ * @param containerServiceName The name of the container service in the specified subscription and
+ * resource group.
+ * @param parameters Parameters supplied to the Create or Update a Container Service operation.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ beginCreateOrUpdate(resourceGroupName: string, containerServiceName: string, parameters: Models.ContainerService, options?: msRest.RequestOptionsBase): Promise {
+ return this.client.sendLRORequest(
+ {
+ resourceGroupName,
+ containerServiceName,
+ parameters,
+ options
+ },
+ beginCreateOrUpdateOperationSpec,
+ options);
+ }
+
+ /**
+ * Deletes the specified container service in the specified subscription and resource group. The
+ * operation does not delete other resources created as part of creating a container service,
+ * including storage accounts, VMs, and availability sets. All the other resources created with the
+ * container service are part of the same resource group and can be deleted individually.
+ * @summary Deletes the specified container service.
+ * @param resourceGroupName The name of the resource group.
+ * @param containerServiceName The name of the container service in the specified subscription and
+ * resource group.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ beginDeleteMethod(resourceGroupName: string, containerServiceName: string, options?: msRest.RequestOptionsBase): Promise {
+ return this.client.sendLRORequest(
+ {
+ resourceGroupName,
+ containerServiceName,
+ options
+ },
+ beginDeleteMethodOperationSpec,
+ options);
+ }
+
+ /**
+ * Gets a list of container services in the specified subscription. The operation returns
+ * properties of each container service including state, orchestrator, number of masters and
+ * agents, and FQDNs of masters and agents.
+ * @summary Gets a list of container services in the specified subscription.
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param callback The callback
+ */
+ listNext(nextPageLink: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ listNext(nextPageLink: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ nextPageLink,
+ options
+ },
+ listNextOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Gets a list of container services in the specified subscription and resource group. The
+ * operation returns properties of each container service including state, orchestrator, number of
+ * masters and agents, and FQDNs of masters and agents.
+ * @summary Gets a list of container services in the specified resource group.
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ listByResourceGroupNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param callback The callback
+ */
+ listByResourceGroupNext(nextPageLink: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ listByResourceGroupNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ listByResourceGroupNext(nextPageLink: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ nextPageLink,
+ options
+ },
+ listByResourceGroupNextOperationSpec,
+ callback) as Promise;
+ }
+}
+
+// Operation Specifications
+const serializer = new msRest.Serializer(Mappers);
+const listOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/containerServices",
+ urlParameters: [
+ Parameters.subscriptionId
+ ],
+ queryParameters: [
+ Parameters.apiVersion0
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.ContainerServiceListResult
+ },
+ default: {
+ bodyMapper: Mappers.CloudError
+ }
+ },
+ serializer
+};
+
+const getOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/containerServices/{containerServiceName}",
+ urlParameters: [
+ Parameters.resourceGroupName,
+ Parameters.containerServiceName,
+ Parameters.subscriptionId
+ ],
+ queryParameters: [
+ Parameters.apiVersion0
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.ContainerService
+ },
+ default: {
+ bodyMapper: Mappers.CloudError
+ }
+ },
+ serializer
+};
+
+const listByResourceGroupOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/containerServices",
+ urlParameters: [
+ Parameters.resourceGroupName,
+ Parameters.subscriptionId
+ ],
+ queryParameters: [
+ Parameters.apiVersion0
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.ContainerServiceListResult
+ },
+ default: {
+ bodyMapper: Mappers.CloudError
+ }
+ },
+ serializer
+};
+
+const listOrchestratorsOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/orchestrators",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.location
+ ],
+ queryParameters: [
+ Parameters.apiVersion1,
+ Parameters.resourceType
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.OrchestratorVersionProfileListResult
+ },
+ default: {
+ bodyMapper: Mappers.CloudError
+ }
+ },
+ serializer
+};
+
+const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = {
+ httpMethod: "PUT",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/containerServices/{containerServiceName}",
+ urlParameters: [
+ Parameters.resourceGroupName,
+ Parameters.containerServiceName,
+ Parameters.subscriptionId
+ ],
+ queryParameters: [
+ Parameters.apiVersion0
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ requestBody: {
+ parameterPath: "parameters",
+ mapper: {
+ ...Mappers.ContainerService,
+ required: true
+ }
+ },
+ responses: {
+ 200: {
+ bodyMapper: Mappers.ContainerService
+ },
+ 201: {
+ bodyMapper: Mappers.ContainerService
+ },
+ 202: {
+ bodyMapper: Mappers.ContainerService
+ },
+ default: {
+ bodyMapper: Mappers.CloudError
+ }
+ },
+ serializer
+};
+
+const beginDeleteMethodOperationSpec: msRest.OperationSpec = {
+ httpMethod: "DELETE",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/containerServices/{containerServiceName}",
+ urlParameters: [
+ Parameters.resourceGroupName,
+ Parameters.containerServiceName,
+ Parameters.subscriptionId
+ ],
+ queryParameters: [
+ Parameters.apiVersion0
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 202: {},
+ 204: {},
+ default: {
+ bodyMapper: Mappers.CloudError
+ }
+ },
+ serializer
+};
+
+const listNextOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ baseUrl: "https://management.azure.com",
+ path: "{nextLink}",
+ urlParameters: [
+ Parameters.nextPageLink
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.ContainerServiceListResult
+ },
+ default: {
+ bodyMapper: Mappers.CloudError
+ }
+ },
+ serializer
+};
+
+const listByResourceGroupNextOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ baseUrl: "https://management.azure.com",
+ path: "{nextLink}",
+ urlParameters: [
+ Parameters.nextPageLink
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.ContainerServiceListResult
+ },
+ default: {
+ bodyMapper: Mappers.CloudError
+ }
+ },
+ serializer
+};
diff --git a/packages/@azure/arm-containerservice/lib/operations/index.ts b/packages/@azure/arm-containerservice/lib/operations/index.ts
new file mode 100644
index 000000000000..482f5f30a372
--- /dev/null
+++ b/packages/@azure/arm-containerservice/lib/operations/index.ts
@@ -0,0 +1,13 @@
+/*
+ * 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.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+export * from "./containerServices";
+export * from "./operations";
+export * from "./managedClusters";
diff --git a/packages/@azure/arm-containerservice/lib/operations/managedClusters.ts b/packages/@azure/arm-containerservice/lib/operations/managedClusters.ts
new file mode 100644
index 000000000000..fa81436e09f0
--- /dev/null
+++ b/packages/@azure/arm-containerservice/lib/operations/managedClusters.ts
@@ -0,0 +1,728 @@
+/*
+ * 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.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+import * as msRest from "ms-rest-js";
+import * as msRestAzure from "ms-rest-azure-js";
+import * as Models from "../models";
+import * as Mappers from "../models/managedClustersMappers";
+import * as Parameters from "../models/parameters";
+import { ContainerServiceClientContext } from "../containerServiceClientContext";
+
+/** Class representing a ManagedClusters. */
+export class ManagedClusters {
+ private readonly client: ContainerServiceClientContext;
+
+ /**
+ * Create a ManagedClusters.
+ * @param {ContainerServiceClientContext} client Reference to the service client.
+ */
+ constructor(client: ContainerServiceClientContext) {
+ this.client = client;
+ }
+
+ /**
+ * Gets a list of managed clusters in the specified subscription. The operation returns properties
+ * of each managed cluster.
+ * @summary Gets a list of managed clusters in the specified subscription.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ list(options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param callback The callback
+ */
+ list(callback: msRest.ServiceCallback): void;
+ /**
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ list(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ list(options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ options
+ },
+ listOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Lists managed clusters in the specified subscription and resource group. The operation returns
+ * properties of each managed cluster.
+ * @summary Lists managed clusters in the specified subscription and resource group.
+ * @param resourceGroupName The name of the resource group.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ listByResourceGroup(resourceGroupName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param resourceGroupName The name of the resource group.
+ * @param callback The callback
+ */
+ listByResourceGroup(resourceGroupName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceGroupName The name of the resource group.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ listByResourceGroup(resourceGroupName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ listByResourceGroup(resourceGroupName: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ options
+ },
+ listByResourceGroupOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Gets the details of the upgrade profile for a managed cluster with a specified resource group
+ * and name.
+ * @summary Gets upgrade profile for a managed cluster.
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ getUpgradeProfile(resourceGroupName: string, resourceName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param callback The callback
+ */
+ getUpgradeProfile(resourceGroupName: string, resourceName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ getUpgradeProfile(resourceGroupName: string, resourceName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ getUpgradeProfile(resourceGroupName: string, resourceName: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ resourceName,
+ options
+ },
+ getUpgradeProfileOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Gets the accessProfile for the specified role name of the managed cluster with a specified
+ * resource group and name.
+ * @summary Gets an access profile of a managed cluster.
+ * @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.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ getAccessProfile(resourceGroupName: string, resourceName: string, roleName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @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.
+ * @param callback The callback
+ */
+ getAccessProfile(resourceGroupName: string, resourceName: string, roleName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @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.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ getAccessProfile(resourceGroupName: string, resourceName: string, roleName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ getAccessProfile(resourceGroupName: string, resourceName: string, roleName: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ resourceName,
+ roleName,
+ options
+ },
+ getAccessProfileOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Gets clusteradmin credential of the managed cluster with a specified resource group and name.
+ * @summary Gets clusteradmin credential of a managed cluster.
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ listClusterAdminCredentials(resourceGroupName: string, resourceName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param callback The callback
+ */
+ listClusterAdminCredentials(resourceGroupName: string, resourceName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ listClusterAdminCredentials(resourceGroupName: string, resourceName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ listClusterAdminCredentials(resourceGroupName: string, resourceName: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ resourceName,
+ options
+ },
+ listClusterAdminCredentialsOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Gets clusteruser credential of the managed cluster with a specified resource group and name.
+ * @summary Gets clusteruser credential of a managed cluster.
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ listClusterUserCredentials(resourceGroupName: string, resourceName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param callback The callback
+ */
+ listClusterUserCredentials(resourceGroupName: string, resourceName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ listClusterUserCredentials(resourceGroupName: string, resourceName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ listClusterUserCredentials(resourceGroupName: string, resourceName: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ resourceName,
+ options
+ },
+ listClusterUserCredentialsOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Gets the details of the managed cluster with a specified resource group and name.
+ * @summary Gets a managed cluster.
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ get(resourceGroupName: string, resourceName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param callback The callback
+ */
+ get(resourceGroupName: string, resourceName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ get(resourceGroupName: string, resourceName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ get(resourceGroupName: string, resourceName: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ resourceName,
+ options
+ },
+ getOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Creates or updates a managed cluster with the specified configuration for agents and Kubernetes
+ * version.
+ * @summary Creates or updates 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 Create or Update a Managed Cluster operation.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ createOrUpdate(resourceGroupName: string, resourceName: string, parameters: Models.ManagedCluster, options?: msRest.RequestOptionsBase): Promise {
+ return this.beginCreateOrUpdate(resourceGroupName,resourceName,parameters,options)
+ .then(lroPoller => lroPoller.pollUntilFinished()) as Promise;
+ }
+
+ /**
+ * Updates a managed cluster with the specified tags.
+ * @summary Updates tags on 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 Update Managed Cluster Tags operation.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ updateTags(resourceGroupName: string, resourceName: string, parameters: Models.TagsObject, options?: msRest.RequestOptionsBase): Promise {
+ return this.beginUpdateTags(resourceGroupName,resourceName,parameters,options)
+ .then(lroPoller => lroPoller.pollUntilFinished()) as Promise;
+ }
+
+ /**
+ * Deletes the managed cluster with a specified resource group and name.
+ * @summary Deletes a managed cluster.
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ deleteMethod(resourceGroupName: string, resourceName: string, options?: msRest.RequestOptionsBase): Promise {
+ return this.beginDeleteMethod(resourceGroupName,resourceName,options)
+ .then(lroPoller => lroPoller.pollUntilFinished());
+ }
+
+ /**
+ * Creates or updates a managed cluster with the specified configuration for agents and Kubernetes
+ * version.
+ * @summary Creates or updates 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 Create or Update a Managed Cluster operation.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ beginCreateOrUpdate(resourceGroupName: string, resourceName: string, parameters: Models.ManagedCluster, options?: msRest.RequestOptionsBase): Promise {
+ return this.client.sendLRORequest(
+ {
+ resourceGroupName,
+ resourceName,
+ parameters,
+ options
+ },
+ beginCreateOrUpdateOperationSpec,
+ options);
+ }
+
+ /**
+ * Updates a managed cluster with the specified tags.
+ * @summary Updates tags on 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 Update Managed Cluster Tags operation.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ beginUpdateTags(resourceGroupName: string, resourceName: string, parameters: Models.TagsObject, options?: msRest.RequestOptionsBase): Promise {
+ return this.client.sendLRORequest(
+ {
+ resourceGroupName,
+ resourceName,
+ parameters,
+ options
+ },
+ beginUpdateTagsOperationSpec,
+ options);
+ }
+
+ /**
+ * Deletes the managed cluster with a specified resource group and name.
+ * @summary Deletes a managed cluster.
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ beginDeleteMethod(resourceGroupName: string, resourceName: string, options?: msRest.RequestOptionsBase): Promise {
+ return this.client.sendLRORequest(
+ {
+ resourceGroupName,
+ resourceName,
+ options
+ },
+ beginDeleteMethodOperationSpec,
+ options);
+ }
+
+ /**
+ * Gets a list of managed clusters in the specified subscription. The operation returns properties
+ * of each managed cluster.
+ * @summary Gets a list of managed clusters in the specified subscription.
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param callback The callback
+ */
+ listNext(nextPageLink: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ listNext(nextPageLink: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ nextPageLink,
+ options
+ },
+ listNextOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Lists managed clusters in the specified subscription and resource group. The operation returns
+ * properties of each managed cluster.
+ * @summary Lists managed clusters in the specified subscription and resource group.
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ listByResourceGroupNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param callback The callback
+ */
+ listByResourceGroupNext(nextPageLink: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ listByResourceGroupNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ listByResourceGroupNext(nextPageLink: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ nextPageLink,
+ options
+ },
+ listByResourceGroupNextOperationSpec,
+ callback) as Promise;
+ }
+}
+
+// Operation Specifications
+const serializer = new msRest.Serializer(Mappers);
+const listOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/managedClusters",
+ urlParameters: [
+ Parameters.subscriptionId
+ ],
+ queryParameters: [
+ Parameters.apiVersion2
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.ManagedClusterListResult
+ },
+ default: {
+ bodyMapper: Mappers.CloudError
+ }
+ },
+ serializer
+};
+
+const listByResourceGroupOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.resourceGroupName
+ ],
+ queryParameters: [
+ Parameters.apiVersion2
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.ManagedClusterListResult
+ },
+ default: {
+ bodyMapper: Mappers.CloudError
+ }
+ },
+ serializer
+};
+
+const getUpgradeProfileOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/upgradeProfiles/default",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.resourceGroupName,
+ Parameters.resourceName
+ ],
+ queryParameters: [
+ Parameters.apiVersion2
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.ManagedClusterUpgradeProfile
+ },
+ default: {
+ bodyMapper: Mappers.CloudError
+ }
+ },
+ serializer
+};
+
+const getAccessProfileOperationSpec: msRest.OperationSpec = {
+ httpMethod: "POST",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/accessProfiles/{roleName}/listCredential",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.resourceGroupName,
+ Parameters.resourceName,
+ Parameters.roleName
+ ],
+ queryParameters: [
+ Parameters.apiVersion2
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.ManagedClusterAccessProfile
+ },
+ default: {
+ bodyMapper: Mappers.CloudError
+ }
+ },
+ serializer
+};
+
+const listClusterAdminCredentialsOperationSpec: msRest.OperationSpec = {
+ httpMethod: "POST",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterAdminCredential",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.resourceGroupName,
+ Parameters.resourceName
+ ],
+ queryParameters: [
+ Parameters.apiVersion2
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.CredentialResults
+ },
+ default: {
+ bodyMapper: Mappers.CloudError
+ }
+ },
+ serializer
+};
+
+const listClusterUserCredentialsOperationSpec: msRest.OperationSpec = {
+ httpMethod: "POST",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterUserCredential",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.resourceGroupName,
+ Parameters.resourceName
+ ],
+ queryParameters: [
+ Parameters.apiVersion2
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.CredentialResults
+ },
+ default: {
+ bodyMapper: Mappers.CloudError
+ }
+ },
+ serializer
+};
+
+const getOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.resourceGroupName,
+ Parameters.resourceName
+ ],
+ queryParameters: [
+ Parameters.apiVersion2
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.ManagedCluster
+ },
+ default: {
+ bodyMapper: Mappers.CloudError
+ }
+ },
+ serializer
+};
+
+const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = {
+ httpMethod: "PUT",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.resourceGroupName,
+ Parameters.resourceName
+ ],
+ queryParameters: [
+ Parameters.apiVersion2
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ requestBody: {
+ parameterPath: "parameters",
+ mapper: {
+ ...Mappers.ManagedCluster,
+ required: true
+ }
+ },
+ responses: {
+ 200: {
+ bodyMapper: Mappers.ManagedCluster
+ },
+ 201: {
+ bodyMapper: Mappers.ManagedCluster
+ },
+ default: {
+ bodyMapper: Mappers.CloudError
+ }
+ },
+ serializer
+};
+
+const beginUpdateTagsOperationSpec: msRest.OperationSpec = {
+ httpMethod: "PATCH",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.resourceGroupName,
+ Parameters.resourceName
+ ],
+ queryParameters: [
+ Parameters.apiVersion2
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ requestBody: {
+ parameterPath: "parameters",
+ mapper: {
+ ...Mappers.TagsObject,
+ required: true
+ }
+ },
+ responses: {
+ 200: {
+ bodyMapper: Mappers.ManagedCluster
+ },
+ default: {
+ bodyMapper: Mappers.CloudError
+ }
+ },
+ serializer
+};
+
+const beginDeleteMethodOperationSpec: msRest.OperationSpec = {
+ httpMethod: "DELETE",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.resourceGroupName,
+ Parameters.resourceName
+ ],
+ queryParameters: [
+ Parameters.apiVersion2
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 202: {},
+ 204: {},
+ default: {
+ bodyMapper: Mappers.CloudError
+ }
+ },
+ serializer
+};
+
+const listNextOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ baseUrl: "https://management.azure.com",
+ path: "{nextLink}",
+ urlParameters: [
+ Parameters.nextPageLink
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.ManagedClusterListResult
+ },
+ default: {
+ bodyMapper: Mappers.CloudError
+ }
+ },
+ serializer
+};
+
+const listByResourceGroupNextOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ baseUrl: "https://management.azure.com",
+ path: "{nextLink}",
+ urlParameters: [
+ Parameters.nextPageLink
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.ManagedClusterListResult
+ },
+ default: {
+ bodyMapper: Mappers.CloudError
+ }
+ },
+ serializer
+};
diff --git a/packages/@azure/arm-containerservice/lib/operations/operations.ts b/packages/@azure/arm-containerservice/lib/operations/operations.ts
new file mode 100644
index 000000000000..78121222bbe1
--- /dev/null
+++ b/packages/@azure/arm-containerservice/lib/operations/operations.ts
@@ -0,0 +1,74 @@
+/*
+ * 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.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+import * as msRest from "ms-rest-js";
+import * as Models from "../models";
+import * as Mappers from "../models/operationsMappers";
+import * as Parameters from "../models/parameters";
+import { ContainerServiceClientContext } from "../containerServiceClientContext";
+
+/** Class representing a Operations. */
+export class Operations {
+ private readonly client: ContainerServiceClientContext;
+
+ /**
+ * Create a Operations.
+ * @param {ContainerServiceClientContext} client Reference to the service client.
+ */
+ constructor(client: ContainerServiceClientContext) {
+ this.client = client;
+ }
+
+ /**
+ * Gets a list of compute operations.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ list(options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param callback The callback
+ */
+ list(callback: msRest.ServiceCallback): void;
+ /**
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ list(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ list(options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ options
+ },
+ listOperationSpec,
+ callback) as Promise;
+ }
+}
+
+// Operation Specifications
+const serializer = new msRest.Serializer(Mappers);
+const listOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "providers/Microsoft.ContainerService/operations",
+ queryParameters: [
+ Parameters.apiVersion2
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.OperationListResult
+ },
+ default: {
+ bodyMapper: Mappers.CloudError
+ }
+ },
+ serializer
+};
diff --git a/packages/@azure/arm-containerservice/package.json b/packages/@azure/arm-containerservice/package.json
new file mode 100644
index 000000000000..3d119026d15c
--- /dev/null
+++ b/packages/@azure/arm-containerservice/package.json
@@ -0,0 +1,42 @@
+{
+ "name": "@azure/arm-containerservice",
+ "author": "Microsoft Corporation",
+ "description": "ContainerServiceClient Library with typescript type definitions for node.js and browser.",
+ "version": "1.0.0",
+ "dependencies": {
+ "ms-rest-azure-js": "^1.0.166",
+ "ms-rest-js": "^1.0.439",
+ "tslib": "^1.9.3"
+ },
+ "keywords": [
+ "node",
+ "azure",
+ "typescript",
+ "browser",
+ "isomorphic"
+ ],
+ "license": "MIT",
+ "main": "./dist/arm-containerservice.js",
+ "module": "./esm/containerServiceClient.js",
+ "types": "./esm/containerServiceClient.d.ts",
+ "devDependencies": {
+ "typescript": "^3.1.1",
+ "rollup": "^0.66.2",
+ "rollup-plugin-node-resolve": "^3.4.0",
+ "uglify-js": "^3.4.9"
+ },
+ "homepage": "https://github.com/azure/azure-sdk-for-js",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/azure/azure-sdk-for-js.git"
+ },
+ "bugs": {
+ "url": "https://github.com/azure/azure-sdk-for-js/issues"
+ },
+ "scripts": {
+ "build": "tsc && rollup -c rollup.config.js && npm run minify",
+ "minify": "uglifyjs -c -m --comments --source-map \"content='./dist/arm-containerservice.js.map'\" -o ./dist/arm-containerservice.min.js ./dist/arm-containerservice.js",
+ "prepare": "npm run build"
+ },
+ "sideEffects": false
+}
diff --git a/packages/@azure/arm-containerservice/rollup.config.js b/packages/@azure/arm-containerservice/rollup.config.js
new file mode 100644
index 000000000000..f97a239d27ee
--- /dev/null
+++ b/packages/@azure/arm-containerservice/rollup.config.js
@@ -0,0 +1,31 @@
+import nodeResolve from "rollup-plugin-node-resolve";
+/**
+ * @type {import('rollup').RollupFileOptions}
+ */
+const config = {
+ input: './esm/containerServiceClient.js',
+ external: ["ms-rest-js", "ms-rest-azure-js"],
+ output: {
+ file: "./dist/arm-containerservice.js",
+ format: "umd",
+ name: "Azure.ArmContainerservice",
+ sourcemap: true,
+ globals: {
+ "ms-rest-js": "msRest",
+ "ms-rest-azure-js": "msRestAzure"
+ },
+ banner: `/*
+ * 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.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */`
+ },
+ plugins: [
+ nodeResolve({ module: true })
+ ]
+};
+export default config;
diff --git a/packages/@azure/arm-containerservice/tsconfig.json b/packages/@azure/arm-containerservice/tsconfig.json
new file mode 100644
index 000000000000..f32d1664f320
--- /dev/null
+++ b/packages/@azure/arm-containerservice/tsconfig.json
@@ -0,0 +1,19 @@
+{
+ "compilerOptions": {
+ "module": "es6",
+ "moduleResolution": "node",
+ "strict": true,
+ "target": "es5",
+ "sourceMap": true,
+ "declarationMap": true,
+ "esModuleInterop": true,
+ "allowSyntheticDefaultImports": true,
+ "forceConsistentCasingInFileNames": true,
+ "lib": ["es6"],
+ "declaration": true,
+ "outDir": "./esm",
+ "importHelpers": true
+ },
+ "include": ["./lib/**/*"],
+ "exclude": ["node_modules"]
+}