From d4548453b2e95f476c07109e72bd48f52893a9df Mon Sep 17 00:00:00 2001 From: SDKAuto Date: Mon, 12 Jul 2021 20:25:29 +0000 Subject: [PATCH] CodeGen from PR 15124 in Azure/azure-rest-api-specs Merge bb5ac293d2042db157824ce87763b59931f8db7b into 10b62f609daf6fac48a33a4327fd704a868e0d32 --- .../arm-containerservice/README.md | 9 +- .../arm-containerservice/package.json | 2 +- .../src/containerServiceClientContext.ts | 4 +- .../src/models/agentPoolsMappers.ts | 5 +- .../arm-containerservice/src/models/index.ts | 1123 +++++++++++------ .../maintenanceConfigurationsMappers.ts | 5 +- .../src/models/managedClustersMappers.ts | 9 +- .../src/models/mappers.ts | 476 +++++-- .../src/models/parameters.ts | 12 + .../privateEndpointConnectionsMappers.ts | 5 +- .../src/operations/agentPools.ts | 45 +- .../operations/maintenanceConfigurations.ts | 20 +- .../src/operations/managedClusters.ts | 272 ++-- .../src/operations/operations.ts | 2 +- .../operations/privateEndpointConnections.ts | 16 +- .../src/operations/privateLinkResources.ts | 3 +- .../operations/resolvePrivateLinkServiceId.ts | 10 +- 17 files changed, 1345 insertions(+), 673 deletions(-) diff --git a/sdk/containerservice/arm-containerservice/README.md b/sdk/containerservice/arm-containerservice/README.md index 5c707f9dbfdc..6d058275a4f2 100644 --- a/sdk/containerservice/arm-containerservice/README.md +++ b/sdk/containerservice/arm-containerservice/README.md @@ -1,11 +1,11 @@ ## Azure ContainerServiceClient SDK for JavaScript -This package contains an isomorphic SDK (runs both in Node.js and in browsers) for ContainerServiceClient. +This package contains an isomorphic SDK (runs both in node.js and in browsers) for ContainerServiceClient. ### Currently supported environments - [LTS versions of Node.js](https://nodejs.org/about/releases/) -- Latest versions of Safari, Chrome, Edge, and Firefox. +- Latest versions of Safari, Chrome, Edge and Firefox. ### Prerequisites @@ -21,7 +21,6 @@ Install both packages using the below command: ```bash npm install --save @azure/arm-containerservice @azure/identity ``` - > **Note**: You may have used either `@azure/ms-rest-nodeauth` or `@azure/ms-rest-browserauth` in the past. These packages are in maintenance mode receiving critical bug fixes, but no new features. If you are on a [Node.js that has LTS status](https://nodejs.org/about/releases/), or are writing a client side browser application, we strongly encourage you to upgrade to `@azure/identity` which uses the latest versions of Azure Active Directory and MSAL APIs and provides more authentication options. @@ -37,7 +36,6 @@ If you are on a [Node.js that has LTS status](https://nodejs.org/about/releases/ In the below samples, we pass the credential and the Azure subscription id to instantiate the client. Once the client is created, explore the operations on it either in your favorite editor or in our [API reference documentation](https://docs.microsoft.com/javascript/api) to get started. - #### nodejs - Authentication, client creation, and list operations as an example written in JavaScript. ##### Sample code @@ -51,7 +49,6 @@ const subscriptionId = process.env["AZURE_SUBSCRIPTION_ID"]; // Please note that you can also use credentials from the `@azure/ms-rest-nodeauth` package instead. const creds = new DefaultAzureCredential(); const client = new ContainerServiceClient(creds, subscriptionId); - client.operations.list().then((result) => { console.log("The result is:"); console.log(result); @@ -86,7 +83,7 @@ In browser applications, we recommend using the `InteractiveBrowserCredential` t const credential = new InteractiveBrowserCredential( { clientId: "", - tenantId: "" + tenant: "" }); const client = new Azure.ArmContainerservice.ContainerServiceClient(creds, subscriptionId); client.operations.list().then((result) => { diff --git a/sdk/containerservice/arm-containerservice/package.json b/sdk/containerservice/arm-containerservice/package.json index 7603177c7924..77ccc2090831 100644 --- a/sdk/containerservice/arm-containerservice/package.json +++ b/sdk/containerservice/arm-containerservice/package.json @@ -27,7 +27,7 @@ "rollup-plugin-sourcemaps": "^0.4.2", "uglify-js": "^3.6.0" }, - "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/containerservice/arm-containerservice", + "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/master/sdk/containerservice/arm-containerservice", "repository": { "type": "git", "url": "https://github.com/Azure/azure-sdk-for-js.git" diff --git a/sdk/containerservice/arm-containerservice/src/containerServiceClientContext.ts b/sdk/containerservice/arm-containerservice/src/containerServiceClientContext.ts index 931b9efe6aa0..52e7326082de 100644 --- a/sdk/containerservice/arm-containerservice/src/containerServiceClientContext.ts +++ b/sdk/containerservice/arm-containerservice/src/containerServiceClientContext.ts @@ -9,8 +9,8 @@ import * as Models from "./models"; import * as msRest from "@azure/ms-rest-js"; -import { TokenCredential } from "@azure/core-auth"; import * as msRestAzure from "@azure/ms-rest-azure-js"; +import { TokenCredential } from "@azure/core-auth"; const packageName = "@azure/arm-containerservice"; const packageVersion = "13.3.0"; @@ -50,7 +50,7 @@ export class ContainerServiceClientContext extends msRestAzure.AzureServiceClien super(credentials, options); - this.apiVersion = '2021-03-01'; + this.apiVersion = '2021-07-01'; this.acceptLanguage = 'en-US'; this.longRunningOperationRetryTimeout = 30; this.baseUri = options.baseUri || this.baseUri || "https://management.azure.com"; diff --git a/sdk/containerservice/arm-containerservice/src/models/agentPoolsMappers.ts b/sdk/containerservice/arm-containerservice/src/models/agentPoolsMappers.ts index bd7b4fd3f556..fb38079b06ff 100644 --- a/sdk/containerservice/arm-containerservice/src/models/agentPoolsMappers.ts +++ b/sdk/containerservice/arm-containerservice/src/models/agentPoolsMappers.ts @@ -43,9 +43,12 @@ export { ManagedClusterPodIdentity, ManagedClusterPodIdentityException, ManagedClusterPodIdentityProfile, + ManagedClusterPodIdentityProvisioningError, + ManagedClusterPodIdentityProvisioningErrorBody, ManagedClusterPodIdentityProvisioningInfo, ManagedClusterPropertiesAutoScalerProfile, - ManagedClusterPropertiesIdentityProfileValue, + ManagedClusterSecurityProfile, + ManagedClusterSecurityProfileAzureDefender, ManagedClusterServicePrincipalProfile, ManagedClusterSKU, ManagedClusterWindowsProfile, diff --git a/sdk/containerservice/arm-containerservice/src/models/index.ts b/sdk/containerservice/arm-containerservice/src/models/index.ts index 05b5f0887ffd..a86709a28a61 100644 --- a/sdk/containerservice/arm-containerservice/src/models/index.ts +++ b/sdk/containerservice/arm-containerservice/src/models/index.ts @@ -12,21 +12,21 @@ import * as msRest from "@azure/ms-rest-js"; export { BaseResource, CloudError }; /** - * Describes the properties of a Compute Operation value. + * Describes the properties of a Operation value. */ export interface OperationValue { /** - * The origin of the compute operation. + * The origin of the operation. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly origin?: string; /** - * The name of the compute operation. + * The name of the operation. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly name?: string; /** - * The display name of the compute operation. + * The display name of the operation. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly operation?: string; @@ -210,7 +210,12 @@ export interface ContainerServiceMasterProfile { */ export interface AgentPoolUpgradeSettings { /** - * Count or percentage of additional nodes to be added during upgrade. If empty uses AKS default + * The maximum number or percentage of nodes that are surged during upgrade. This can either be + * set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is + * the percentage of the total agent pool size at the time of the upgrade. For percentages, + * fractional nodes are rounded up. If not specified, the default is 1. For more information, + * including best practices, see: + * https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade */ maxSurge?: string; } @@ -226,35 +231,46 @@ export interface PowerState { } /** - * Kubelet configurations of agent nodes. + * See [AKS custom node + * configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + * @summary Kubelet configurations of agent nodes. */ export interface KubeletConfig { /** - * CPU Manager policy to use. + * The CPU Manager policy to use. The default is 'none'. See [Kubernetes CPU management + * policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) + * for more information. Allowed values are 'none' and 'static'. */ cpuManagerPolicy?: string; /** - * Enable CPU CFS quota enforcement for containers that specify CPU limits. + * If CPU CFS quota enforcement is enabled for containers that specify CPU limits. The default is + * true. */ cpuCfsQuota?: boolean; /** - * Sets CPU CFS quota period value. + * The CPU CFS quota period value. The default is '100ms.' Valid values are a sequence of decimal + * numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported + * units are 'ns', 'us', 'ms', 's', 'm', and 'h'. */ cpuCfsQuotaPeriod?: string; /** - * The percent of disk usage after which image garbage collection is always run. + * The percent of disk usage after which image garbage collection is always run. To disable image + * garbage collection, set to 100. The default is 85% */ imageGcHighThreshold?: number; /** - * The percent of disk usage before which image garbage collection is never run. + * The percent of disk usage before which image garbage collection is never run. This cannot be + * set higher than imageGcHighThreshold. The default is 80% */ imageGcLowThreshold?: number; /** - * Topology Manager policy to use. + * The Topology Manager policy to use. For more information see [Kubernetes Topology + * Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is + * 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'. */ topologyManagerPolicy?: string; /** - * Allowlist of unsafe sysctls or unsafe sysctl patterns (ending in `*`). + * Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`). */ allowedUnsafeSysctls?: string[]; /** @@ -395,7 +411,9 @@ export interface SysctlConfig { } /** - * OS configurations of Linux agent nodes. + * See [AKS custom node + * configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + * @summary OS configurations of Linux agent nodes. */ export interface LinuxOSConfig { /** @@ -403,15 +421,20 @@ export interface LinuxOSConfig { */ sysctls?: SysctlConfig; /** - * Transparent Huge Page enabled configuration. + * Whether transparent hugepages are enabled. Valid values are 'always', 'madvise', and 'never'. + * The default is 'always'. For more information see [Transparent + * Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). */ transparentHugePageEnabled?: string; /** - * Transparent Huge Page defrag configuration. + * Whether the kernel should make aggressive use of memory compaction to make more hugepages + * available. Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The + * default is 'madvise'. For more information see [Transparent + * Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). */ transparentHugePageDefrag?: string; /** - * SwapFileSizeMB specifies size in MB of a swap file will be created on each node. + * The size in MB of a swap file that will be created on each node. */ swapFileSizeMB?: number; } @@ -422,97 +445,57 @@ export interface LinuxOSConfig { export interface ManagedClusterAgentPoolProfileProperties { /** * Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to - * 100 (inclusive) for user pools and in the range of 1 to 100 (inclusive) for system pools. The - * default value is 1. + * 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. + * The default value is 1. */ count?: number; /** - * 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; - /** - * 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. + * The size of the agent pool VMs. VM size availability varies by region. If a node contains + * insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more + * details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions */ + vmSize?: string; osDiskSizeGB?: number; /** - * OS disk type to be used for machines in a given agent pool. Allowed values are 'Ephemeral' and - * 'Managed'. Defaults to 'Managed'. May not be changed after creation. Possible values include: - * 'Managed', 'Ephemeral' + * Possible values include: 'Managed', 'Ephemeral' */ osDiskType?: OSDiskType; /** - * KubeletDiskType determines the placement of emptyDir volumes, container runtime data root, and - * Kubelet ephemeral storage. Currently allows one value, OS, resulting in Kubelet using the OS - * disk for data. Possible values include: 'OS', 'Temporary' + * Possible values include: 'OS', 'Temporary' */ kubeletDiskType?: KubeletDiskType; /** - * VNet SubnetID specifies the VNet's subnet identifier for nodes and maybe pods + * The ID of the subnet which agent pool nodes and optionally pods will join on startup. If this + * is not specified, a VNET and subnet will be generated and used. If no podSubnetID is + * specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the + * form: + * /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} */ vnetSubnetID?: string; /** - * Pod SubnetID specifies the VNet's subnet identifier for pods. + * The ID of the subnet which pods will join when launched. If omitted, pod IPs are statically + * assigned on the node subnet (see vnetSubnetID for more details). This is of the form: + * /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} */ podSubnetID?: string; /** - * Maximum number of pods that can run on a node. + * The maximum number of pods that can run on a node. */ maxPods?: number; /** - * 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; /** - * OsSKU to be used to specify os sku. Choose from Ubuntu(default) and CBLMariner for Linux - * OSType. Not applicable to Windows OSType. Possible values include: 'Ubuntu', 'CBLMariner' + * Possible values include: 'Ubuntu', 'CBLMariner' */ osSKU?: OSSKU; /** - * Maximum number of nodes for auto-scaling + * The maximum number of nodes for auto-scaling */ maxCount?: number; /** - * Minimum number of nodes for auto-scaling + * The minimum number of nodes for auto-scaling */ minCount?: number; /** @@ -520,20 +503,30 @@ export interface ManagedClusterAgentPoolProfileProperties { */ enableAutoScaling?: boolean; /** - * AgentPoolType represents types of an agent pool. Possible values include: - * 'VirtualMachineScaleSets', 'AvailabilitySet' + * The scale down mode to use when scaling the Agent Pool. This also effects the cluster + * autoscaler behavior. If not specified, it defaults to Delete. Possible values include: + * 'Delete', 'Deallocate' + */ + scaleDownMode?: ScaleDownMode; + /** + * Possible values include: 'VirtualMachineScaleSets', 'AvailabilitySet' */ type?: AgentPoolType; /** - * AgentPoolMode represents mode of an agent pool. Possible values include: 'System', 'User' + * Possible values include: 'System', 'User' */ mode?: AgentPoolMode; /** - * Version of orchestrator specified when creating the managed cluster. + * The version of Kubernetes running on the Agent Pool. As a best practice, you should upgrade + * all node pools in an AKS cluster to the same Kubernetes version. The node pool version must + * have the same major version as the control plane. The node pool minor version must be within + * two minor versions of the control plane version. The node pool version cannot be greater than + * the control plane version. For more information see [upgrading a node + * pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). */ orchestratorVersion?: string; /** - * Version of node image + * The version of node image * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly nodeImageVersion?: string; @@ -542,7 +535,7 @@ export interface ManagedClusterAgentPoolProfileProperties { */ upgradeSettings?: AgentPoolUpgradeSettings; /** - * The current deployment or provisioning state, which only appears in the response. + * The current deployment or provisioning state. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly provisioningState?: string; @@ -552,44 +545,53 @@ export interface ManagedClusterAgentPoolProfileProperties { */ readonly powerState?: PowerState; /** - * Availability zones for nodes. Must use VirtualMachineScaleSets AgentPoolType. + * The list of Availability zones to use for nodes. This can only be specified if the + * AgentPoolType property is 'VirtualMachineScaleSets'. */ availabilityZones?: string[]; /** - * Enable public IP for nodes + * Whether each node is allocated its own public IP. Some scenarios may require nodes in a node + * pool to receive their own dedicated public IP addresses. A common scenario is for gaming + * workloads, where a console needs to make a direct connection to a cloud virtual machine to + * minimize hops. For more information see [assigning a public IP per + * node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). + * The default is false. */ enableNodePublicIP?: boolean; /** - * Public IP Prefix ID. VM nodes use IPs assigned from this Public IP Prefix. + * The public IP prefix ID which VM nodes should use IPs from. This is of the form: + * /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} */ nodePublicIPPrefixID?: string; /** - * ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular. - * Possible values include: 'Spot', 'Regular'. Default value: 'Regular'. + * The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. Possible + * values include: 'Spot', 'Regular'. Default value: 'Regular'. */ scaleSetPriority?: ScaleSetPriority; /** - * ScaleSetEvictionPolicy to be used to specify eviction policy for Spot virtual machine scale - * set. Default to Delete. Possible values include: 'Delete', 'Deallocate'. Default value: - * 'Delete'. + * The Virtual Machine Scale Set eviction policy to use. This cannot be specified unless the + * scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'. Possible values + * include: 'Delete', 'Deallocate'. Default value: 'Delete'. */ scaleSetEvictionPolicy?: ScaleSetEvictionPolicy; /** - * SpotMaxPrice to be used to specify the maximum price you are willing to pay in US Dollars. - * Possible values are any decimal value greater than zero or -1 which indicates default price to - * be up-to on-demand. + * The max price (in US Dollars) you are willing to pay for spot instances. Possible values are + * any decimal value greater than zero or -1 which indicates default price to be up-to on-demand. + * Possible values are any decimal value greater than zero or -1 which indicates the willingness + * to pay any on-demand price. For more details on spot pricing, see [spot VMs + * pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) */ spotMaxPrice?: number; /** - * Agent pool tags to be persisted on the agent pool virtual machine scale set. + * The tags to be persisted on the agent pool virtual machine scale set. */ tags?: { [propertyName: string]: string }; /** - * Agent pool node labels to be persisted across all nodes in agent pool. + * The node labels to be persisted across all nodes in agent pool. */ nodeLabels?: { [propertyName: string]: string }; /** - * Taints added to new nodes during node pool create and scale. For example, + * The taints added to new nodes during node pool create and scale. For example, * key=value:NoSchedule. */ nodeTaints?: string[]; @@ -598,25 +600,32 @@ export interface ManagedClusterAgentPoolProfileProperties { */ proximityPlacementGroupID?: string; /** - * KubeletConfig specifies the configuration of kubelet on agent nodes. + * The Kubelet configuration on the agent pool nodes. */ kubeletConfig?: KubeletConfig; /** - * LinuxOSConfig specifies the OS configuration of linux agent nodes. + * The OS configuration of Linux agent nodes. */ linuxOSConfig?: LinuxOSConfig; /** - * Whether to enable EncryptionAtHost + * Whether to enable host based OS and data drive encryption. This is only supported on certain + * VM sizes and in certain Azure regions. For more information, see: + * https://docs.microsoft.com/azure/aks/enable-host-encryption */ enableEncryptionAtHost?: boolean; /** - * Whether to use FIPS enabled OS + * Whether to enable UltraSSD + */ + enableUltraSSD?: boolean; + /** + * Whether to use a FIPS-enabled OS. See [Add a FIPS-enabled node + * pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) + * for more details. */ enableFIPS?: boolean; /** * GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. - * Supported values are MIG1g, MIG2g, MIG3g, MIG4g and MIG7g. Possible values include: 'MIG1g', - * 'MIG2g', 'MIG3g', 'MIG4g', 'MIG7g' + * Possible values include: 'MIG1g', 'MIG2g', 'MIG3g', 'MIG4g', 'MIG7g' */ gpuInstanceProfile?: GPUInstanceProfile; } @@ -627,6 +636,7 @@ export interface ManagedClusterAgentPoolProfileProperties { export interface ManagedClusterAgentPoolProfile extends ManagedClusterAgentPoolProfileProperties { /** * Unique name of the agent pool profile in the context of the subscription and resource group. + * Windows agent pool names must be 6 characters or less. */ name: string; } @@ -637,97 +647,57 @@ export interface ManagedClusterAgentPoolProfile extends ManagedClusterAgentPoolP export interface AgentPool extends SubResource { /** * Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to - * 100 (inclusive) for user pools and in the range of 1 to 100 (inclusive) for system pools. The - * default value is 1. + * 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. + * The default value is 1. */ count?: number; /** - * 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; - /** - * 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. + * The size of the agent pool VMs. VM size availability varies by region. If a node contains + * insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more + * details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions */ + vmSize?: string; osDiskSizeGB?: number; /** - * OS disk type to be used for machines in a given agent pool. Allowed values are 'Ephemeral' and - * 'Managed'. Defaults to 'Managed'. May not be changed after creation. Possible values include: - * 'Managed', 'Ephemeral' + * Possible values include: 'Managed', 'Ephemeral' */ osDiskType?: OSDiskType; /** - * KubeletDiskType determines the placement of emptyDir volumes, container runtime data root, and - * Kubelet ephemeral storage. Currently allows one value, OS, resulting in Kubelet using the OS - * disk for data. Possible values include: 'OS', 'Temporary' + * Possible values include: 'OS', 'Temporary' */ kubeletDiskType?: KubeletDiskType; /** - * VNet SubnetID specifies the VNet's subnet identifier for nodes and maybe pods + * The ID of the subnet which agent pool nodes and optionally pods will join on startup. If this + * is not specified, a VNET and subnet will be generated and used. If no podSubnetID is + * specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the + * form: + * /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} */ vnetSubnetID?: string; /** - * Pod SubnetID specifies the VNet's subnet identifier for pods. + * The ID of the subnet which pods will join when launched. If omitted, pod IPs are statically + * assigned on the node subnet (see vnetSubnetID for more details). This is of the form: + * /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} */ podSubnetID?: string; /** - * Maximum number of pods that can run on a node. + * The maximum number of pods that can run on a node. */ maxPods?: number; /** - * 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; /** - * OsSKU to be used to specify os sku. Choose from Ubuntu(default) and CBLMariner for Linux - * OSType. Not applicable to Windows OSType. Possible values include: 'Ubuntu', 'CBLMariner' + * Possible values include: 'Ubuntu', 'CBLMariner' */ osSKU?: OSSKU; /** - * Maximum number of nodes for auto-scaling + * The maximum number of nodes for auto-scaling */ maxCount?: number; /** - * Minimum number of nodes for auto-scaling + * The minimum number of nodes for auto-scaling */ minCount?: number; /** @@ -735,20 +705,30 @@ export interface AgentPool extends SubResource { */ enableAutoScaling?: boolean; /** - * AgentPoolType represents types of an agent pool. Possible values include: - * 'VirtualMachineScaleSets', 'AvailabilitySet' + * The scale down mode to use when scaling the Agent Pool. This also effects the cluster + * autoscaler behavior. If not specified, it defaults to Delete. Possible values include: + * 'Delete', 'Deallocate' + */ + scaleDownMode?: ScaleDownMode; + /** + * Possible values include: 'VirtualMachineScaleSets', 'AvailabilitySet' */ agentPoolType?: AgentPoolType; /** - * AgentPoolMode represents mode of an agent pool. Possible values include: 'System', 'User' + * Possible values include: 'System', 'User' */ mode?: AgentPoolMode; /** - * Version of orchestrator specified when creating the managed cluster. + * The version of Kubernetes running on the Agent Pool. As a best practice, you should upgrade + * all node pools in an AKS cluster to the same Kubernetes version. The node pool version must + * have the same major version as the control plane. The node pool minor version must be within + * two minor versions of the control plane version. The node pool version cannot be greater than + * the control plane version. For more information see [upgrading a node + * pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). */ orchestratorVersion?: string; /** - * Version of node image + * The version of node image * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly nodeImageVersion?: string; @@ -757,7 +737,7 @@ export interface AgentPool extends SubResource { */ upgradeSettings?: AgentPoolUpgradeSettings; /** - * The current deployment or provisioning state, which only appears in the response. + * The current deployment or provisioning state. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly provisioningState?: string; @@ -767,44 +747,53 @@ export interface AgentPool extends SubResource { */ readonly powerState?: PowerState; /** - * Availability zones for nodes. Must use VirtualMachineScaleSets AgentPoolType. + * The list of Availability zones to use for nodes. This can only be specified if the + * AgentPoolType property is 'VirtualMachineScaleSets'. */ availabilityZones?: string[]; /** - * Enable public IP for nodes + * Whether each node is allocated its own public IP. Some scenarios may require nodes in a node + * pool to receive their own dedicated public IP addresses. A common scenario is for gaming + * workloads, where a console needs to make a direct connection to a cloud virtual machine to + * minimize hops. For more information see [assigning a public IP per + * node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). + * The default is false. */ enableNodePublicIP?: boolean; /** - * Public IP Prefix ID. VM nodes use IPs assigned from this Public IP Prefix. + * The public IP prefix ID which VM nodes should use IPs from. This is of the form: + * /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} */ nodePublicIPPrefixID?: string; /** - * ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular. - * Possible values include: 'Spot', 'Regular'. Default value: 'Regular'. + * The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. Possible + * values include: 'Spot', 'Regular'. Default value: 'Regular'. */ scaleSetPriority?: ScaleSetPriority; /** - * ScaleSetEvictionPolicy to be used to specify eviction policy for Spot virtual machine scale - * set. Default to Delete. Possible values include: 'Delete', 'Deallocate'. Default value: - * 'Delete'. + * The Virtual Machine Scale Set eviction policy to use. This cannot be specified unless the + * scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'. Possible values + * include: 'Delete', 'Deallocate'. Default value: 'Delete'. */ scaleSetEvictionPolicy?: ScaleSetEvictionPolicy; /** - * SpotMaxPrice to be used to specify the maximum price you are willing to pay in US Dollars. - * Possible values are any decimal value greater than zero or -1 which indicates default price to - * be up-to on-demand. + * The max price (in US Dollars) you are willing to pay for spot instances. Possible values are + * any decimal value greater than zero or -1 which indicates default price to be up-to on-demand. + * Possible values are any decimal value greater than zero or -1 which indicates the willingness + * to pay any on-demand price. For more details on spot pricing, see [spot VMs + * pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) */ spotMaxPrice?: number; /** - * Agent pool tags to be persisted on the agent pool virtual machine scale set. + * The tags to be persisted on the agent pool virtual machine scale set. */ tags?: { [propertyName: string]: string }; /** - * Agent pool node labels to be persisted across all nodes in agent pool. + * The node labels to be persisted across all nodes in agent pool. */ nodeLabels?: { [propertyName: string]: string }; /** - * Taints added to new nodes during node pool create and scale. For example, + * The taints added to new nodes during node pool create and scale. For example, * key=value:NoSchedule. */ nodeTaints?: string[]; @@ -813,35 +802,42 @@ export interface AgentPool extends SubResource { */ proximityPlacementGroupID?: string; /** - * KubeletConfig specifies the configuration of kubelet on agent nodes. + * The Kubelet configuration on the agent pool nodes. */ kubeletConfig?: KubeletConfig; /** - * LinuxOSConfig specifies the OS configuration of linux agent nodes. + * The OS configuration of Linux agent nodes. */ linuxOSConfig?: LinuxOSConfig; /** - * Whether to enable EncryptionAtHost + * Whether to enable host based OS and data drive encryption. This is only supported on certain + * VM sizes and in certain Azure regions. For more information, see: + * https://docs.microsoft.com/azure/aks/enable-host-encryption */ enableEncryptionAtHost?: boolean; /** - * Whether to use FIPS enabled OS + * Whether to enable UltraSSD + */ + enableUltraSSD?: boolean; + /** + * Whether to use a FIPS-enabled OS. See [Add a FIPS-enabled node + * pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) + * for more details. */ enableFIPS?: boolean; /** * GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. - * Supported values are MIG1g, MIG2g, MIG3g, MIG4g and MIG7g. Possible values include: 'MIG1g', - * 'MIG2g', 'MIG3g', 'MIG4g', 'MIG7g' + * Possible values include: 'MIG1g', 'MIG2g', 'MIG3g', 'MIG4g', 'MIG7g' */ gpuInstanceProfile?: GPUInstanceProfile; } /** - * Profile for Windows VMs in the container service cluster. + * Profile for Windows VMs in the managed cluster. */ export interface ManagedClusterWindowsProfile { /** - * Specifies the name of the administrator account.

**restriction:** Cannot end in "." + * Specifies the name of the administrator account.

**Restriction:** Cannot end in "." *

**Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2", * "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", * "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", @@ -859,12 +855,14 @@ export interface ManagedClusterWindowsProfile { */ adminPassword?: string; /** - * The licenseType to use for Windows VMs. Windows_Server is used to enable Azure Hybrid User - * Benefits for Windows VMs. Possible values include: 'None', 'Windows_Server' + * The license type to use for Windows VMs. See [Azure Hybrid User + * Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. Possible + * values include: 'None', 'Windows_Server' */ licenseType?: LicenseType; /** - * Whether to enable CSI proxy. + * Whether to enable CSI proxy. For more details on CSI proxy, see the [CSI proxy GitHub + * repo](https://github.com/kubernetes-csi/csi-proxy). */ enableCSIProxy?: boolean; } @@ -885,8 +883,8 @@ export interface ContainerServiceSshPublicKey { */ export interface ContainerServiceSshConfiguration { /** - * The list of SSH public keys used to authenticate with Linux-based VMs. Only expect one key - * specified. + * The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may + * be specified. */ publicKeys: ContainerServiceSshPublicKey[]; } @@ -900,7 +898,7 @@ export interface ContainerServiceLinuxProfile { */ adminUsername: string; /** - * SSH configuration for Linux-based VMs running on Azure. + * The SSH configuration for Linux-based VMs running on Azure. */ ssh: ContainerServiceSshConfiguration; } @@ -910,8 +908,9 @@ export interface ContainerServiceLinuxProfile { */ export interface ManagedClusterLoadBalancerProfileManagedOutboundIPs { /** - * Desired number of outbound IP created/managed by Azure for the cluster load balancer. Allowed - * values must be in the range of 1 to 100 (inclusive). The default value is 1. Default value: 1. + * The desired number of outbound IPs created/managed by Azure for the cluster load balancer. + * Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. Default + * value: 1. */ count?: number; } @@ -967,13 +966,13 @@ export interface ManagedClusterLoadBalancerProfile { */ effectiveOutboundIPs?: ResourceReference[]; /** - * Desired number of allocated SNAT ports per VM. Allowed values must be in the range of 0 to + * The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to * 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports. * Default value: 0. */ allocatedOutboundPorts?: number; /** - * Desired outbound flow idle timeout in minutes. Allowed values must be in the range of 4 to 120 + * Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 * (inclusive). The default value is 30 minutes. Default value: 30. */ idleTimeoutInMinutes?: number; @@ -984,18 +983,18 @@ export interface ManagedClusterLoadBalancerProfile { */ export interface ContainerServiceNetworkProfile { /** - * Network plugin used for building Kubernetes network. Possible values include: 'azure', + * Network plugin used for building the Kubernetes network. Possible values include: 'azure', * 'kubenet'. Default value: 'kubenet'. */ networkPlugin?: NetworkPlugin; /** - * Network policy used for building Kubernetes network. Possible values include: 'calico', + * Network policy used for building the Kubernetes network. Possible values include: 'calico', * 'azure' */ networkPolicy?: NetworkPolicy; /** - * Network mode used for building Kubernetes network. Possible values include: 'transparent', - * 'bridge' + * The network mode Azure CNI is configured with. This cannot be specified if networkPlugin is + * anything other than 'azure'. Possible values include: 'transparent', 'bridge' */ networkMode?: NetworkMode; /** @@ -1019,12 +1018,16 @@ export interface ContainerServiceNetworkProfile { */ dockerBridgeCidr?: string; /** - * The outbound (egress) routing method. Possible values include: 'loadBalancer', - * 'userDefinedRouting'. Default value: 'loadBalancer'. + * The outbound (egress) routing method. This can only be set at cluster creation time and cannot + * be changed later. For more information see [egress outbound + * type](https://docs.microsoft.com/azure/aks/egress-outboundtype). Possible values include: + * 'loadBalancer', 'userDefinedRouting'. Default value: 'loadBalancer'. */ outboundType?: OutboundType; /** - * The load balancer sku for the managed cluster. Possible values include: 'standard', 'basic' + * The load balancer sku for the managed cluster. The default is 'standard'. See [Azure Load + * Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about + * the differences between load balancer SKUs. Possible values include: 'standard', 'basic' */ loadBalancerSku?: LoadBalancerSku; /** @@ -1047,7 +1050,7 @@ export interface SystemData { */ createdByType?: CreatedByType; /** - * The timestamp of resource creation (UTC). + * The UTC timestamp of resource creation. */ createdAt?: Date; /** @@ -1070,18 +1073,22 @@ export interface SystemData { */ export interface TimeInWeek { /** - * A day in a week. Possible values include: 'Sunday', 'Monday', 'Tuesday', 'Wednesday', + * The day of the week. Possible values include: 'Sunday', 'Monday', 'Tuesday', 'Wednesday', * 'Thursday', 'Friday', 'Saturday' */ day?: WeekDay; /** - * hour slots in a day. + * A list of hours in the day used to identify a time range. Each integer hour represents a time + * range beginning at 0m after the hour ending at the next hour (non-inclusive). 0 corresponds to + * 00:00 UTC, 23 corresponds to 23:00 UTC. Specifying [0, 1] means the 00:00 - 02:00 UTC time + * range. */ hourSlots?: number[]; } /** - * The time span with start and end properties. + * For example, between 2021-05-25T13:00:00Z and 2021-05-25T14:00:00Z. + * @summary A time range. */ export interface TimeSpan { /** @@ -1095,16 +1102,21 @@ export interface TimeSpan { } /** - * maintenance configuration. + * See [planned maintenance](https://docs.microsoft.com/azure/aks/planned-maintenance) for more + * information about planned maintenance. + * @summary Planned maintenance configuration, used to configure when updates can be deployed to a + * Managed Cluster. */ export interface MaintenanceConfiguration extends SubResource { /** - * The system meta data relating to this resource. + * The system metadata relating to this resource. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly systemData?: SystemData; /** - * Weekday time slots allowed to upgrade. + * Time slots during the week when planned maintenance is allowed to proceed. If two array + * entries specify the same day of the week, the applied configuration is the union of times in + * both entries. */ timeInWeek?: TimeInWeek[]; /** @@ -1114,15 +1126,15 @@ export interface MaintenanceConfiguration extends SubResource { } /** - * run command request + * A run command request */ export interface RunCommandRequest { /** - * command to run. + * The command to run. */ command: string; /** - * base64 encoded zip file, contains files required by the command + * A base64 encoded zip file containing the files required by the command. */ context?: string; /** @@ -1136,7 +1148,7 @@ export interface RunCommandRequest { */ export interface RunCommandResult { /** - * command id. + * The command id. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly id?: string; @@ -1146,27 +1158,27 @@ export interface RunCommandResult { */ readonly provisioningState?: string; /** - * exit code of the command + * The exit code of the command * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly exitCode?: number; /** - * time when the command started. + * The time when the command started. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly startedAt?: Date; /** - * time when the command finished. + * The time when the command finished. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly finishedAt?: Date; /** - * command output. + * The command output. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly logs?: string; /** - * explain why provisioningState is set to failed (if so). + * An explanation of why provisioningState is set to failed (if so). * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly reason?: string; @@ -1198,19 +1210,94 @@ export interface ContainerServiceDiagnosticsProfile { } /** - * An interface representing UserAssignedIdentity. + * The SKU of a Managed Cluster. + */ +export interface ManagedClusterSKU { + /** + * The name of a managed cluster SKU. Possible values include: 'Basic' + */ + name?: ManagedClusterSKUName; + /** + * The tier of a managed cluster SKU. If not specified, the default is 'Free'. See [uptime + * SLA](https://docs.microsoft.com/azure/aks/uptime-sla) for more details. Possible values + * include: 'Paid', 'Free' + */ + tier?: ManagedClusterSKUTier; +} + +/** + * The complex type of the extended location. + */ +export interface ExtendedLocation { + /** + * The name of the extended location. + */ + name?: string; + /** + * The type of the extended location. Possible values include: 'EdgeZone' + */ + type?: ExtendedLocationTypes; +} + +/** + * An interface representing ManagedClusterIdentityUserAssignedIdentitiesValue. + */ +export interface ManagedClusterIdentityUserAssignedIdentitiesValue { + /** + * The principal id of user assigned identity. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly principalId?: string; + /** + * The client id of user assigned identity. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly clientId?: string; +} + +/** + * Identity for the managed cluster. + */ +export interface ManagedClusterIdentity { + /** + * The principal id of the system assigned identity which is used by master components. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly principalId?: string; + /** + * The tenant id of the system assigned identity which is used by master components. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly tenantId?: string; + /** + * The type of identity used for the managed cluster. For more information see [use managed + * identities in AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). Possible values + * include: 'SystemAssigned', 'UserAssigned', 'None' + */ + type?: ResourceIdentityType; + /** + * The user identity associated with the managed cluster. This identity will be used in control + * plane. Only one user assigned identity is allowed. The keys must be ARM resource IDs in the + * form: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + */ + userAssignedIdentities?: { [propertyName: string]: ManagedClusterIdentityUserAssignedIdentitiesValue }; +} + +/** + * Details about a user assigned identity. */ export interface UserAssignedIdentity { /** - * The resource id of the user assigned identity. + * The resource ID of the user assigned identity. */ resourceId?: string; /** - * The client id of the user assigned identity. + * The client ID of the user assigned identity. */ clientId?: string; /** - * The object id of the user assigned identity. + * The object ID of the user assigned identity. */ objectId?: string; } @@ -1240,6 +1327,39 @@ export interface ManagedClusterAddonProfile { readonly identity?: ManagedClusterAddonProfileIdentity; } +/** + * An error response from the pod identity provisioning. + */ +export interface ManagedClusterPodIdentityProvisioningErrorBody { + /** + * An identifier for the error. Codes are invariant and are intended to be consumed + * programmatically. + */ + code?: string; + /** + * A message describing the error, intended to be suitable for display in a user interface. + */ + message?: string; + /** + * The target of the particular error. For example, the name of the property in error. + */ + target?: string; + /** + * A list of additional details about the error. + */ + details?: ManagedClusterPodIdentityProvisioningErrorBody[]; +} + +/** + * An error response from the pod identity provisioning. + */ +export interface ManagedClusterPodIdentityProvisioningError { + /** + * Details about the error. + */ + error?: ManagedClusterPodIdentityProvisioningErrorBody; +} + /** * An interface representing ManagedClusterPodIdentityProvisioningInfo. */ @@ -1247,27 +1367,27 @@ export interface ManagedClusterPodIdentityProvisioningInfo { /** * Pod identity assignment error (if any). */ - error?: CloudError; + error?: ManagedClusterPodIdentityProvisioningError; } /** - * An interface representing ManagedClusterPodIdentity. + * Details about the pod identity assigned to the Managed Cluster. */ export interface ManagedClusterPodIdentity { /** - * Name of the pod identity. + * The name of the pod identity. */ name: string; /** - * Namespace of the pod identity. + * The namespace of the pod identity. */ namespace: string; /** - * Binding selector to use for the AzureIdentityBinding resource. + * The binding selector to use for the AzureIdentityBinding resource. */ bindingSelector?: string; /** - * Information of the user assigned identity. + * The user assigned identity details. */ identity: UserAssignedIdentity; /** @@ -1283,25 +1403,32 @@ export interface ManagedClusterPodIdentity { } /** - * An interface representing ManagedClusterPodIdentityException. + * See [disable AAD Pod Identity for a specific + * Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) + * for more details. + * @summary A pod identity exception, which allows pods with certain labels to access the Azure + * Instance Metadata Service (IMDS) endpoint without being intercepted by the node-managed identity + * (NMI) server. */ export interface ManagedClusterPodIdentityException { /** - * Name of the pod identity exception. + * The name of the pod identity exception. */ name: string; /** - * Namespace of the pod identity exception. + * The namespace of the pod identity exception. */ namespace: string; /** - * Pod labels to match. + * The pod labels to match. */ podLabels: { [propertyName: string]: string }; } /** - * An interface representing ManagedClusterPodIdentityProfile. + * See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for + * more details on pod identity integration. + * @summary The pod identity profile of the Managed Cluster. */ export interface ManagedClusterPodIdentityProfile { /** @@ -1309,21 +1436,26 @@ export interface ManagedClusterPodIdentityProfile { */ enabled?: boolean; /** - * Customer consent for enabling AAD pod identity addon in cluster using Kubenet network plugin. + * Whether pod identity is allowed to run on clusters with Kubenet networking. Running in Kubenet + * is disabled by default due to the security related nature of AAD Pod Identity and the risks of + * IP spoofing. See [using Kubenet network plugin with AAD Pod + * Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) + * for more information. */ allowNetworkPluginKubenet?: boolean; /** - * User assigned pod identity settings. + * The pod identities to use in the cluster. */ userAssignedIdentities?: ManagedClusterPodIdentity[]; /** - * User assigned pod identity exception settings. + * The pod identity exceptions to allow. */ userAssignedIdentityExceptions?: ManagedClusterPodIdentityException[]; } /** - * AADProfile specifies attributes for Azure Active Directory integration. + * For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). + * @summary AADProfile specifies attributes for Azure Active Directory integration. */ export interface ManagedClusterAADProfile { /** @@ -1335,7 +1467,7 @@ export interface ManagedClusterAADProfile { */ enableAzureRBAC?: boolean; /** - * AAD group object IDs that will have admin role of the cluster. + * The list of AAD group object IDs that will have admin role of the cluster. */ adminGroupObjectIDs?: string[]; /** @@ -1362,8 +1494,10 @@ export interface ManagedClusterAADProfile { */ export interface ManagedClusterAutoUpgradeProfile { /** - * upgrade channel for auto upgrade. Possible values include: 'rapid', 'stable', 'patch', - * 'node-image', 'none' + * The upgrade channel for auto upgrade. The default is 'none'. For more information see [setting + * the AKS cluster auto-upgrade + * channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). + * Possible values include: 'rapid', 'stable', 'patch', 'node-image', 'none' */ upgradeChannel?: UpgradeChannel; } @@ -1372,25 +1506,101 @@ export interface ManagedClusterAutoUpgradeProfile { * Parameters to be applied to the cluster-autoscaler when enabled */ export interface ManagedClusterPropertiesAutoScalerProfile { + /** + * Detects similar node pools and balances the number of nodes between them. Valid values are + * 'true' and 'false' + */ balanceSimilarNodeGroups?: string; /** - * Possible values include: 'least-waste', 'most-pods', 'priority', 'random' + * The expander to use when scaling up. If not specified, the default is 'random'. See + * [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) + * for more information. Possible values include: 'least-waste', 'most-pods', 'priority', + * 'random' */ expander?: Expander; + /** + * The maximum number of empty nodes that can be deleted at the same time. This must be a + * positive integer. The default is 10. + */ maxEmptyBulkDelete?: string; + /** + * The maximum number of seconds the cluster autoscaler waits for pod termination when trying to + * scale down a node. The default is 600. + */ maxGracefulTerminationSec?: string; + /** + * The maximum time the autoscaler waits for a node to be provisioned. The default is '15m'. + * Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is + * supported. + */ maxNodeProvisionTime?: string; + /** + * The maximum percentage of unready nodes in the cluster. After this percentage is exceeded, + * cluster autoscaler halts operations. The default is 45. The maximum is 100 and the minimum is + * 0. + */ maxTotalUnreadyPercentage?: string; + /** + * Ignore unscheduled pods before they're a certain age. For scenarios like burst/batch scale + * where you don't want CA to act before the kubernetes scheduler could schedule all the pods, + * you can tell CA to ignore unscheduled pods before they're a certain age. The default is '0s'. + * Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, + * etc). + */ newPodScaleUpDelay?: string; + /** + * The number of allowed unready nodes, irrespective of max-total-unready-percentage. This must + * be an integer. The default is 3. + */ okTotalUnreadyCount?: string; + /** + * How often cluster is reevaluated for scale up or down. The default is '10'. Values must be an + * integer number of seconds. + */ scanInterval?: string; + /** + * How long after scale up that scale down evaluation resumes. The default is '10m'. Values must + * be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + */ scaleDownDelayAfterAdd?: string; + /** + * How long after node deletion that scale down evaluation resumes. The default is the + * scan-interval. Values must be an integer followed by an 'm'. No unit of time other than + * minutes (m) is supported. + */ scaleDownDelayAfterDelete?: string; + /** + * How long after scale down failure that scale down evaluation resumes. The default is '3m'. + * Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is + * supported. + */ scaleDownDelayAfterFailure?: string; + /** + * How long a node should be unneeded before it is eligible for scale down. The default is '10m'. + * Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is + * supported. + */ scaleDownUnneededTime?: string; + /** + * How long an unready node should be unneeded before it is eligible for scale down. The default + * is '20m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) + * is supported. + */ scaleDownUnreadyTime?: string; + /** + * Node utilization level, defined as sum of requested resources divided by capacity, below which + * a node can be considered for scale down. The default is '0.5'. + */ scaleDownUtilizationThreshold?: string; + /** + * If cluster autoscaler will skip deleting nodes with pods with local storage, for example, + * EmptyDir or HostPath. The default is true. + */ skipNodesWithLocalStorage?: string; + /** + * If cluster autoscaler will skip deleting nodes with pods from kube-system (except for + * DaemonSet or mirror pods). The default is true. + */ skipNodesWithSystemPods?: string; } @@ -1399,23 +1609,29 @@ export interface ManagedClusterPropertiesAutoScalerProfile { */ export interface ManagedClusterAPIServerAccessProfile { /** - * Authorized IP Ranges to kubernetes API server. + * The IP ranges authorized to access the Kubernetes API server. IP ranges are specified in CIDR + * format, e.g. 137.117.106.88/29. This feature is not compatible with clusters that use Public + * IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API + * server authorized IP + * ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges). */ authorizedIPRanges?: string[]; /** - * Whether to create the cluster as a private cluster or not. + * Whether to create the cluster as a private cluster or not. For more details, see [Creating a + * private AKS cluster](https://docs.microsoft.com/azure/aks/private-clusters). */ enablePrivateCluster?: boolean; /** - * Private dns zone mode for private cluster. + * The private DNS zone mode for the cluster. The default is System. For more details see + * [configure private DNS + * zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). + * Allowed values are 'system' and 'none'. */ privateDNSZone?: string; -} - -/** - * An interface representing ManagedClusterPropertiesIdentityProfileValue. - */ -export interface ManagedClusterPropertiesIdentityProfileValue extends UserAssignedIdentity { + /** + * Whether to create additional public FQDN for private cluster or not. + */ + enablePrivateClusterPublicFQDN?: boolean; } /** @@ -1439,7 +1655,7 @@ export interface PrivateLinkResource { */ groupId?: string; /** - * RequiredMembers of the resource + * The RequiredMembers of the resource */ requiredMembers?: string[]; /** @@ -1450,19 +1666,19 @@ export interface PrivateLinkResource { } /** - * Configurations for provisioning the cluster with HTTP proxy servers. + * Cluster HTTP proxy configuration. */ export interface ManagedClusterHTTPProxyConfig { /** - * HTTP proxy server endpoint to use. + * The HTTP proxy server endpoint to use. */ httpProxy?: string; /** - * HTTPS proxy server endpoint to use. + * The HTTPS proxy server endpoint to use. */ httpsProxy?: string; /** - * Endpoints that should not go through proxy. + * The endpoints that should not go through proxy. */ noProxy?: string[]; /** @@ -1472,91 +1688,54 @@ export interface ManagedClusterHTTPProxyConfig { } /** - * An interface representing ManagedClusterIdentityUserAssignedIdentitiesValue. + * Azure Defender settings for the security profile. */ -export interface ManagedClusterIdentityUserAssignedIdentitiesValue { +export interface ManagedClusterSecurityProfileAzureDefender { /** - * The principal id of user assigned identity. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Whether to enable Azure Defender */ - readonly principalId?: string; + enabled?: boolean; /** - * The client id of user assigned identity. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Resource ID of the Log Analytics workspace to be associated with Azure Defender. When Azure + * Defender is enabled, this field is required and must be a valid workspace resource ID. When + * Azure Defender is disabled, leave the field empty. */ - readonly clientId?: string; + logAnalyticsWorkspaceResourceId?: string; } /** - * Identity for the managed cluster. + * Security profile for the container service cluster. */ -export interface ManagedClusterIdentity { - /** - * The principal id of the system assigned identity which is used by master components. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly principalId?: string; - /** - * The tenant id of the system assigned identity which is used by master components. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly tenantId?: string; +export interface ManagedClusterSecurityProfile { /** - * The type of identity used for the managed cluster. Type 'SystemAssigned' will use an - * implicitly created identity in master components and an auto-created user assigned identity in - * MC_ resource group in agent nodes. Type 'None' will not use MSI for the managed cluster, - * service principal will be used instead. Possible values include: 'SystemAssigned', - * 'UserAssigned', 'None' + * Azure Defender settings for the security profile. */ - type?: ResourceIdentityType; - /** - * The user identity associated with the managed cluster. This identity will be used in control - * plane and only one user assigned identity is allowed. The user identity dictionary key - * references will be ARM resource ids in the form: - * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. - */ - userAssignedIdentities?: { [propertyName: string]: ManagedClusterIdentityUserAssignedIdentitiesValue }; + azureDefender?: ManagedClusterSecurityProfileAzureDefender; } /** - * An interface representing ManagedClusterSKU. + * Managed cluster. */ -export interface ManagedClusterSKU { - /** - * Name of a managed cluster SKU. Possible values include: 'Basic' - */ - name?: ManagedClusterSKUName; +export interface ManagedCluster extends Resource { /** - * Tier of a managed cluster SKU. Possible values include: 'Paid', 'Free' + * The managed cluster SKU. */ - tier?: ManagedClusterSKUTier; -} - -/** - * The complex type of the extended location. - */ -export interface ExtendedLocation { + sku?: ManagedClusterSKU; /** - * The name of the extended location. + * The extended location of the Virtual Machine. */ - name?: string; + extendedLocation?: ExtendedLocation; /** - * The type of the extended location. Possible values include: 'EdgeZone' + * The identity of the managed cluster, if configured. */ - type?: ExtendedLocationTypes; -} - -/** - * Managed cluster. - */ -export interface ManagedCluster extends Resource { + identity?: ManagedClusterIdentity; /** - * The current deployment or provisioning state, which only appears in the response. + * The current provisioning state. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly provisioningState?: string; /** - * Represents the Power State of the cluster + * The Power State of the cluster. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly powerState?: PowerState; @@ -1566,42 +1745,52 @@ export interface ManagedCluster extends Resource { */ readonly maxAgentPools?: number; /** - * Version of Kubernetes specified when creating the managed cluster. + * The version of Kubernetes the Managed Cluster is running. When you upgrade a supported AKS + * cluster, Kubernetes minor versions cannot be skipped. All upgrades must be performed + * sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or 1.15.x + * -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS + * cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details. */ kubernetesVersion?: string; /** - * DNS prefix specified when creating the managed cluster. + * The DNS prefix of the Managed Cluster. This cannot be updated once the Managed Cluster has + * been created. */ dnsPrefix?: string; /** - * FQDN subdomain specified when creating private cluster with custom private dns zone. + * The FQDN subdomain of the private cluster with custom private dns zone. This cannot be updated + * once the Managed Cluster has been created. */ fqdnSubdomain?: string; /** - * FQDN for the master pool. + * The FQDN of the master pool. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly fqdn?: string; /** - * FQDN of private cluster. + * The FQDN of private cluster. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly privateFQDN?: string; /** - * FQDN for the master pool which used by proxy config. + * The special FQDN used by the Azure Portal to access the Managed Cluster. This FQDN is for use + * only by the Azure Portal and should not be used by other clients. The Azure Portal requires + * certain Cross-Origin Resource Sharing (CORS) headers to be sent in some responses, which + * Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the + * Azure Portal to function properly. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly azurePortalFQDN?: string; /** - * Properties of the agent pool. + * The agent pool properties. */ agentPoolProfiles?: ManagedClusterAgentPoolProfile[]; /** - * Profile for Linux VMs in the container service cluster. + * The profile for Linux VMs in the Managed Cluster. */ linuxProfile?: ContainerServiceLinuxProfile; /** - * Profile for Windows VMs in the container service cluster. + * The profile for Windows VMs in the Managed Cluster. */ windowsProfile?: ManagedClusterWindowsProfile; /** @@ -1610,15 +1799,17 @@ export interface ManagedCluster extends Resource { */ servicePrincipalProfile?: ManagedClusterServicePrincipalProfile; /** - * Profile of managed cluster add-on. + * The profile of managed cluster add-on. */ addonProfiles?: { [propertyName: string]: ManagedClusterAddonProfile }; /** - * Profile of managed cluster pod identity. + * The pod identity profile of the Managed Cluster. See [use AAD pod + * identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on + * AAD pod identity integration. */ podIdentityProfile?: ManagedClusterPodIdentityProfile; /** - * Name of the resource group containing agent pool nodes. + * The name of the resource group containing agent pool nodes. */ nodeResourceGroup?: string; /** @@ -1631,15 +1822,15 @@ export interface ManagedCluster extends Resource { */ enablePodSecurityPolicy?: boolean; /** - * Profile of network configuration. + * The network configuration profile. */ networkProfile?: ContainerServiceNetworkProfile; /** - * Profile of Azure Active Directory configuration. + * The Azure Active Directory configuration. */ aadProfile?: ManagedClusterAADProfile; /** - * Profile of auto upgrade configuration. + * The auto upgrade configuration. */ autoUpgradeProfile?: ManagedClusterAutoUpgradeProfile; /** @@ -1647,24 +1838,28 @@ export interface ManagedCluster extends Resource { */ autoScalerProfile?: ManagedClusterPropertiesAutoScalerProfile; /** - * Access profile for managed cluster API server. + * The access profile for managed cluster API server. */ apiServerAccessProfile?: ManagedClusterAPIServerAccessProfile; /** - * ResourceId of the disk encryption set to use for enabling encryption at rest. + * The Resource ID of the disk encryption set to use for enabling encryption at rest. This is of + * the form: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' */ diskEncryptionSetID?: string; /** * Identities associated with the cluster. */ - identityProfile?: { [propertyName: string]: ManagedClusterPropertiesIdentityProfileValue }; + identityProfile?: { [propertyName: string]: UserAssignedIdentity }; /** * Private link resources associated with the cluster. */ privateLinkResources?: PrivateLinkResource[]; /** - * If set to true, getting static credential will be disabled for this cluster. Expected to only - * be used for AAD clusters. + * If local accounts should be disabled on the Managed Cluster. If set to true, getting static + * credentials will be disabled for this cluster. This must only be used on Managed Clusters that + * are AAD enabled. For more details see [disable local + * accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview). */ disableLocalAccounts?: boolean; /** @@ -1672,17 +1867,9 @@ export interface ManagedCluster extends Resource { */ httpProxyConfig?: ManagedClusterHTTPProxyConfig; /** - * The identity of the managed cluster, if configured. - */ - identity?: ManagedClusterIdentity; - /** - * The managed cluster SKU. + * Security profile for the managed cluster. */ - sku?: ManagedClusterSKU; - /** - * The extended location of the Virtual Machine. - */ - extendedLocation?: ExtendedLocation; + securityProfile?: ManagedClusterSecurityProfile; } /** @@ -1700,11 +1887,11 @@ export interface ManagedClusterAccessProfile extends Resource { */ export interface ManagedClusterPoolUpgradeProfileUpgradesItem { /** - * Kubernetes version (major, minor, patch). + * The Kubernetes version (major.minor.patch). */ kubernetesVersion?: string; /** - * Whether Kubernetes version is currently in preview. + * Whether the Kubernetes version is currently in preview. */ isPreview?: boolean; } @@ -1714,15 +1901,14 @@ export interface ManagedClusterPoolUpgradeProfileUpgradesItem { */ export interface ManagedClusterPoolUpgradeProfile { /** - * Kubernetes version (major, minor, patch). + * The Kubernetes version (major.minor.patch). */ kubernetesVersion: string; /** - * Pool name. + * The Agent Pool name. */ name?: string; /** - * 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; @@ -1737,17 +1923,17 @@ export interface ManagedClusterPoolUpgradeProfile { */ export interface ManagedClusterUpgradeProfile { /** - * Id of upgrade profile. + * The ID of the upgrade profile. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly id?: string; /** - * Name of upgrade profile. + * The name of the upgrade profile. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly name?: string; /** - * Type of upgrade profile. + * The type of the upgrade profile. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly type?: string; @@ -1766,11 +1952,11 @@ export interface ManagedClusterUpgradeProfile { */ export interface AgentPoolUpgradeProfilePropertiesUpgradesItem { /** - * Kubernetes version (major, minor, patch). + * The Kubernetes version (major.minor.patch). */ kubernetesVersion?: string; /** - * Whether Kubernetes version is currently in preview. + * Whether the Kubernetes version is currently in preview. */ isPreview?: boolean; } @@ -1780,26 +1966,25 @@ export interface AgentPoolUpgradeProfilePropertiesUpgradesItem { */ export interface AgentPoolUpgradeProfile { /** - * Id of the agent pool upgrade profile. + * The ID of the agent pool upgrade profile. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly id?: string; /** - * Name of the agent pool upgrade profile. + * The name of the agent pool upgrade profile. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly name?: string; /** - * Type of the agent pool upgrade profile. + * The type of the agent pool upgrade profile. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly type?: string; /** - * Kubernetes version (major, minor, patch). + * The Kubernetes version (major.minor.patch). */ kubernetesVersion: string; /** - * 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; @@ -1808,7 +1993,7 @@ export interface AgentPoolUpgradeProfile { */ upgrades?: AgentPoolUpgradeProfilePropertiesUpgradesItem[]; /** - * LatestNodeImageVersion is the latest AKS supported node image version. + * The latest AKS supported node image version. */ latestNodeImageVersion?: string; } @@ -1822,7 +2007,7 @@ export interface AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem { */ default?: boolean; /** - * Kubernetes version (major, minor, patch). + * The Kubernetes version (major.minor.patch). */ kubernetesVersion?: string; /** @@ -1836,17 +2021,17 @@ export interface AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem { */ export interface AgentPoolAvailableVersions { /** - * Id of the agent pool available versions. + * The ID of the agent pool version list. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly id?: string; /** - * Name of the agent pool available versions. + * The name of the agent pool version list. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly name?: string; /** - * Type of the agent pool available versions. + * Type of the agent pool version list. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly type?: string; @@ -1873,7 +2058,7 @@ export interface CredentialResult { } /** - * The list of credential result response. + * The list credential result response. */ export interface CredentialResults { /** @@ -1888,7 +2073,7 @@ export interface CredentialResults { */ export interface PrivateEndpoint { /** - * The resource Id for private endpoint + * The resource ID of the private endpoint */ id?: string; } @@ -1969,11 +2154,11 @@ export interface PrivateLinkResourcesListResult { */ export interface OSOptionProperty { /** - * OS type. + * The OS type. */ osType: string; /** - * Whether FIPS image is enabled. + * Whether the image is FIPS-enabled. */ enableFipsImage: boolean; } @@ -1983,36 +2168,117 @@ export interface OSOptionProperty { */ export interface OSOptionProfile { /** - * Id of the OS option profile. + * The ID of the OS option resource. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly id?: string; /** - * Name of the OS option profile. + * The name of the OS option resource. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly name?: string; /** - * Type of the OS option profile. + * The type of the OS option resource. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly type?: string; /** - * The list of OS option properties. + * The list of OS options. */ osOptionPropertyList: OSOptionProperty[]; } +/** + * connect information from the AKS agent nodes to a single endpoint. + */ +export interface EndpointDetail { + /** + * An IP Address that Domain Name currently resolves to. + */ + ipAddress?: string; + /** + * The port an endpoint is connected to. + */ + port?: number; + /** + * The protocol used for connection + */ + protocol?: string; + /** + * Description of the detail + */ + description?: string; +} + +/** + * A domain name that AKS agent nodes are reaching at. + */ +export interface EndpointDependency { + /** + * The domain name of the dependency. + */ + domainName?: string; + /** + * The Ports and Protocols used when connecting to domainName. + */ + endpointDetails?: EndpointDetail[]; +} + +/** + * Egress endpoints which AKS agent nodes connect to for common purpose. + */ +export interface OutboundEnvironmentEndpoint { + /** + * The category of endpoints accessed by the AKS agent node, e.g. azure-resource-management, + * apiserver, etc. + */ + category?: string; + /** + * The endpoints that AKS agent nodes connect to + */ + endpoints?: EndpointDependency[]; +} + /** * Optional Parameters. */ export interface ManagedClustersGetOSOptionsOptionalParams extends msRest.RequestOptionsBase { /** - * resource type for which the OS options needs to be returned + * The resource type for which the OS options needs to be returned */ resourceType?: string; } +/** + * Optional Parameters. + */ +export interface ManagedClustersListClusterAdminCredentialsOptionalParams extends msRest.RequestOptionsBase { + /** + * server fqdn type for credentials to be returned + */ + serverFqdn?: string; +} + +/** + * Optional Parameters. + */ +export interface ManagedClustersListClusterUserCredentialsOptionalParams extends msRest.RequestOptionsBase { + /** + * server fqdn type for credentials to be returned + */ + serverFqdn?: string; +} + +/** + * Optional Parameters. + */ +export interface ManagedClustersListClusterMonitoringUserCredentialsOptionalParams extends msRest.RequestOptionsBase { + /** + * server fqdn type for credentials to be returned + */ + serverFqdn?: string; +} + /** * An interface representing ContainerServiceClientOptions. */ @@ -2022,7 +2288,7 @@ export interface ContainerServiceClientOptions extends AzureServiceClientOptions /** * @interface - * The List Compute Operation operation response. + * The List Operation response. * @extends Array */ export interface OperationListResult extends Array { @@ -2041,6 +2307,19 @@ export interface ManagedClusterListResult extends Array { readonly nextLink?: string; } +/** + * @interface + * Collection of OutboundEnvironmentEndpoint + * @extends Array + */ +export interface OutboundEnvironmentEndpointCollection extends Array { + /** + * Link to next page of resources. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly nextLink?: string; +} + /** * @interface * The response from the List maintenance configurations operation. @@ -2152,6 +2431,14 @@ export type OSType = 'Linux' | 'Windows'; */ export type OSSKU = 'Ubuntu' | 'CBLMariner'; +/** + * Defines values for ScaleDownMode. + * Possible values include: 'Delete', 'Deallocate' + * @readonly + * @enum {string} + */ +export type ScaleDownMode = 'Delete' | 'Deallocate'; + /** * Defines values for AgentPoolType. * Possible values include: 'VirtualMachineScaleSets', 'AvailabilitySet' @@ -2266,28 +2553,28 @@ export type CreatedByType = 'User' | 'Application' | 'ManagedIdentity' | 'Key'; export type WeekDay = 'Sunday' | 'Monday' | 'Tuesday' | 'Wednesday' | 'Thursday' | 'Friday' | 'Saturday'; /** - * Defines values for ManagedClusterPodIdentityProvisioningState. - * Possible values include: 'Assigned', 'Updating', 'Deleting', 'Failed' + * Defines values for ManagedClusterSKUName. + * Possible values include: 'Basic' * @readonly * @enum {string} */ -export type ManagedClusterPodIdentityProvisioningState = 'Assigned' | 'Updating' | 'Deleting' | 'Failed'; +export type ManagedClusterSKUName = 'Basic'; /** - * Defines values for UpgradeChannel. - * Possible values include: 'rapid', 'stable', 'patch', 'node-image', 'none' + * Defines values for ManagedClusterSKUTier. + * Possible values include: 'Paid', 'Free' * @readonly * @enum {string} */ -export type UpgradeChannel = 'rapid' | 'stable' | 'patch' | 'node-image' | 'none'; +export type ManagedClusterSKUTier = 'Paid' | 'Free'; /** - * Defines values for Expander. - * Possible values include: 'least-waste', 'most-pods', 'priority', 'random' + * Defines values for ExtendedLocationTypes. + * Possible values include: 'EdgeZone' * @readonly * @enum {string} */ -export type Expander = 'least-waste' | 'most-pods' | 'priority' | 'random'; +export type ExtendedLocationTypes = 'EdgeZone'; /** * Defines values for ResourceIdentityType. @@ -2298,28 +2585,28 @@ export type Expander = 'least-waste' | 'most-pods' | 'priority' | 'random'; export type ResourceIdentityType = 'SystemAssigned' | 'UserAssigned' | 'None'; /** - * Defines values for ManagedClusterSKUName. - * Possible values include: 'Basic' + * Defines values for ManagedClusterPodIdentityProvisioningState. + * Possible values include: 'Assigned', 'Updating', 'Deleting', 'Failed' * @readonly * @enum {string} */ -export type ManagedClusterSKUName = 'Basic'; +export type ManagedClusterPodIdentityProvisioningState = 'Assigned' | 'Updating' | 'Deleting' | 'Failed'; /** - * Defines values for ManagedClusterSKUTier. - * Possible values include: 'Paid', 'Free' + * Defines values for UpgradeChannel. + * Possible values include: 'rapid', 'stable', 'patch', 'node-image', 'none' * @readonly * @enum {string} */ -export type ManagedClusterSKUTier = 'Paid' | 'Free'; +export type UpgradeChannel = 'rapid' | 'stable' | 'patch' | 'node-image' | 'none'; /** - * Defines values for ExtendedLocationTypes. - * Possible values include: 'EdgeZone' + * Defines values for Expander. + * Possible values include: 'least-waste', 'most-pods', 'priority', 'random' * @readonly * @enum {string} */ -export type ExtendedLocationTypes = 'EdgeZone'; +export type Expander = 'least-waste' | 'most-pods' | 'priority' | 'random'; /** * Defines values for PrivateEndpointConnectionProvisioningState. @@ -2617,6 +2904,26 @@ export type ManagedClustersGetCommandResultResponse = RunCommandResult & { }; }; +/** + * Contains response data for the listOutboundNetworkDependenciesEndpoints operation. + */ +export type ManagedClustersListOutboundNetworkDependenciesEndpointsResponse = OutboundEnvironmentEndpointCollection & { + /** + * 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: OutboundEnvironmentEndpointCollection; + }; +}; + /** * Contains response data for the beginCreateOrUpdate operation. */ @@ -2717,6 +3024,26 @@ export type ManagedClustersListByResourceGroupNextResponse = ManagedClusterListR }; }; +/** + * Contains response data for the listOutboundNetworkDependenciesEndpointsNext operation. + */ +export type ManagedClustersListOutboundNetworkDependenciesEndpointsNextResponse = OutboundEnvironmentEndpointCollection & { + /** + * 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: OutboundEnvironmentEndpointCollection; + }; +}; + /** * Contains response data for the listByManagedCluster operation. */ diff --git a/sdk/containerservice/arm-containerservice/src/models/maintenanceConfigurationsMappers.ts b/sdk/containerservice/arm-containerservice/src/models/maintenanceConfigurationsMappers.ts index a0c96c349120..c994263bfe85 100644 --- a/sdk/containerservice/arm-containerservice/src/models/maintenanceConfigurationsMappers.ts +++ b/sdk/containerservice/arm-containerservice/src/models/maintenanceConfigurationsMappers.ts @@ -39,9 +39,12 @@ export { ManagedClusterPodIdentity, ManagedClusterPodIdentityException, ManagedClusterPodIdentityProfile, + ManagedClusterPodIdentityProvisioningError, + ManagedClusterPodIdentityProvisioningErrorBody, ManagedClusterPodIdentityProvisioningInfo, ManagedClusterPropertiesAutoScalerProfile, - ManagedClusterPropertiesIdentityProfileValue, + ManagedClusterSecurityProfile, + ManagedClusterSecurityProfileAzureDefender, ManagedClusterServicePrincipalProfile, ManagedClusterSKU, ManagedClusterWindowsProfile, diff --git a/sdk/containerservice/arm-containerservice/src/models/managedClustersMappers.ts b/sdk/containerservice/arm-containerservice/src/models/managedClustersMappers.ts index b70e98f63d94..a8c17877fa3b 100644 --- a/sdk/containerservice/arm-containerservice/src/models/managedClustersMappers.ts +++ b/sdk/containerservice/arm-containerservice/src/models/managedClustersMappers.ts @@ -17,6 +17,8 @@ export { ContainerServiceSshPublicKey, CredentialResult, CredentialResults, + EndpointDependency, + EndpointDetail, ExtendedLocation, KubeletConfig, LinuxOSConfig, @@ -41,17 +43,22 @@ export { ManagedClusterPodIdentity, ManagedClusterPodIdentityException, ManagedClusterPodIdentityProfile, + ManagedClusterPodIdentityProvisioningError, + ManagedClusterPodIdentityProvisioningErrorBody, ManagedClusterPodIdentityProvisioningInfo, ManagedClusterPoolUpgradeProfile, ManagedClusterPoolUpgradeProfileUpgradesItem, ManagedClusterPropertiesAutoScalerProfile, - ManagedClusterPropertiesIdentityProfileValue, + ManagedClusterSecurityProfile, + ManagedClusterSecurityProfileAzureDefender, ManagedClusterServicePrincipalProfile, ManagedClusterSKU, ManagedClusterUpgradeProfile, ManagedClusterWindowsProfile, OSOptionProfile, OSOptionProperty, + OutboundEnvironmentEndpoint, + OutboundEnvironmentEndpointCollection, PowerState, PrivateEndpoint, PrivateEndpointConnection, diff --git a/sdk/containerservice/arm-containerservice/src/models/mappers.ts b/sdk/containerservice/arm-containerservice/src/models/mappers.ts index fa40f16ca8d0..d4089810fb25 100644 --- a/sdk/containerservice/arm-containerservice/src/models/mappers.ts +++ b/sdk/containerservice/arm-containerservice/src/models/mappers.ts @@ -665,6 +665,12 @@ export const ManagedClusterAgentPoolProfileProperties: msRest.CompositeMapper = name: "Boolean" } }, + scaleDownMode: { + serializedName: "scaleDownMode", + type: { + name: "String" + } + }, type: { serializedName: "type", type: { @@ -814,6 +820,12 @@ export const ManagedClusterAgentPoolProfileProperties: msRest.CompositeMapper = name: "Boolean" } }, + enableUltraSSD: { + serializedName: "enableUltraSSD", + type: { + name: "Boolean" + } + }, enableFIPS: { serializedName: "enableFIPS", type: { @@ -937,6 +949,12 @@ export const AgentPool: msRest.CompositeMapper = { name: "Boolean" } }, + scaleDownMode: { + serializedName: "properties.scaleDownMode", + type: { + name: "String" + } + }, agentPoolType: { serializedName: "properties.type", type: { @@ -1086,6 +1104,12 @@ export const AgentPool: msRest.CompositeMapper = { name: "Boolean" } }, + enableUltraSSD: { + serializedName: "properties.enableUltraSSD", + type: { + name: "Boolean" + } + }, enableFIPS: { serializedName: "properties.enableFIPS", type: { @@ -1708,6 +1732,121 @@ export const ContainerServiceDiagnosticsProfile: msRest.CompositeMapper = { } }; +export const ManagedClusterSKU: msRest.CompositeMapper = { + serializedName: "ManagedClusterSKU", + type: { + name: "Composite", + className: "ManagedClusterSKU", + modelProperties: { + name: { + serializedName: "name", + type: { + name: "String" + } + }, + tier: { + serializedName: "tier", + type: { + name: "String" + } + } + } + } +}; + +export const ExtendedLocation: msRest.CompositeMapper = { + serializedName: "ExtendedLocation", + type: { + name: "Composite", + className: "ExtendedLocation", + modelProperties: { + name: { + serializedName: "name", + type: { + name: "String" + } + }, + type: { + serializedName: "type", + type: { + name: "String" + } + } + } + } +}; + +export const ManagedClusterIdentityUserAssignedIdentitiesValue: msRest.CompositeMapper = { + serializedName: "ManagedClusterIdentity_userAssignedIdentitiesValue", + type: { + name: "Composite", + className: "ManagedClusterIdentityUserAssignedIdentitiesValue", + modelProperties: { + principalId: { + readOnly: true, + serializedName: "principalId", + type: { + name: "String" + } + }, + clientId: { + readOnly: true, + serializedName: "clientId", + type: { + name: "String" + } + } + } + } +}; + +export const ManagedClusterIdentity: msRest.CompositeMapper = { + serializedName: "ManagedClusterIdentity", + type: { + name: "Composite", + className: "ManagedClusterIdentity", + modelProperties: { + principalId: { + readOnly: true, + serializedName: "principalId", + type: { + name: "String" + } + }, + tenantId: { + readOnly: true, + serializedName: "tenantId", + type: { + name: "String" + } + }, + type: { + serializedName: "type", + type: { + name: "Enum", + allowedValues: [ + "SystemAssigned", + "UserAssigned", + "None" + ] + } + }, + userAssignedIdentities: { + serializedName: "userAssignedIdentities", + type: { + name: "Dictionary", + value: { + type: { + name: "Composite", + className: "ManagedClusterIdentityUserAssignedIdentitiesValue" + } + } + } + } + } + } +}; + export const UserAssignedIdentity: msRest.CompositeMapper = { serializedName: "UserAssignedIdentity", type: { @@ -1783,6 +1922,63 @@ export const ManagedClusterAddonProfile: msRest.CompositeMapper = { } }; +export const ManagedClusterPodIdentityProvisioningErrorBody: msRest.CompositeMapper = { + serializedName: "ManagedClusterPodIdentityProvisioningErrorBody", + type: { + name: "Composite", + className: "ManagedClusterPodIdentityProvisioningErrorBody", + modelProperties: { + code: { + serializedName: "code", + type: { + name: "String" + } + }, + message: { + serializedName: "message", + type: { + name: "String" + } + }, + target: { + serializedName: "target", + type: { + name: "String" + } + }, + details: { + serializedName: "details", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ManagedClusterPodIdentityProvisioningErrorBody" + } + } + } + } + } + } +}; + +export const ManagedClusterPodIdentityProvisioningError: msRest.CompositeMapper = { + serializedName: "ManagedClusterPodIdentityProvisioningError", + type: { + name: "Composite", + className: "ManagedClusterPodIdentityProvisioningError", + modelProperties: { + error: { + serializedName: "error", + type: { + name: "Composite", + className: "ManagedClusterPodIdentityProvisioningErrorBody" + } + } + } + } +}; + export const ManagedClusterPodIdentityProvisioningInfo: msRest.CompositeMapper = { serializedName: "ManagedClusterPodIdentity_provisioningInfo", type: { @@ -1793,7 +1989,7 @@ export const ManagedClusterPodIdentityProvisioningInfo: msRest.CompositeMapper = serializedName: "error", type: { name: "Composite", - className: "CloudError" + className: "ManagedClusterPodIdentityProvisioningError" } } } @@ -2148,22 +2344,17 @@ export const ManagedClusterAPIServerAccessProfile: msRest.CompositeMapper = { type: { name: "String" } + }, + enablePrivateClusterPublicFQDN: { + serializedName: "enablePrivateClusterPublicFQDN", + type: { + name: "Boolean" + } } } } }; -export const ManagedClusterPropertiesIdentityProfileValue: msRest.CompositeMapper = { - serializedName: "ManagedClusterProperties_identityProfileValue", - type: { - name: "Composite", - className: "ManagedClusterPropertiesIdentityProfileValue", - modelProperties: { - ...UserAssignedIdentity.type.modelProperties - } - } -}; - export const PrivateLinkResource: msRest.CompositeMapper = { serializedName: "PrivateLinkResource", type: { @@ -2255,22 +2446,20 @@ export const ManagedClusterHTTPProxyConfig: msRest.CompositeMapper = { } }; -export const ManagedClusterIdentityUserAssignedIdentitiesValue: msRest.CompositeMapper = { - serializedName: "ManagedClusterIdentity_userAssignedIdentitiesValue", +export const ManagedClusterSecurityProfileAzureDefender: msRest.CompositeMapper = { + serializedName: "ManagedClusterSecurityProfileAzureDefender", type: { name: "Composite", - className: "ManagedClusterIdentityUserAssignedIdentitiesValue", + className: "ManagedClusterSecurityProfileAzureDefender", modelProperties: { - principalId: { - readOnly: true, - serializedName: "principalId", + enabled: { + serializedName: "enabled", type: { - name: "String" + name: "Boolean" } }, - clientId: { - readOnly: true, - serializedName: "clientId", + logAnalyticsWorkspaceResourceId: { + serializedName: "logAnalyticsWorkspaceResourceId", type: { name: "String" } @@ -2279,104 +2468,51 @@ export const ManagedClusterIdentityUserAssignedIdentitiesValue: msRest.Composite } }; -export const ManagedClusterIdentity: msRest.CompositeMapper = { - serializedName: "ManagedClusterIdentity", +export const ManagedClusterSecurityProfile: msRest.CompositeMapper = { + serializedName: "ManagedClusterSecurityProfile", type: { name: "Composite", - className: "ManagedClusterIdentity", + className: "ManagedClusterSecurityProfile", modelProperties: { - principalId: { - readOnly: true, - serializedName: "principalId", - type: { - name: "String" - } - }, - tenantId: { - readOnly: true, - serializedName: "tenantId", - type: { - name: "String" - } - }, - type: { - serializedName: "type", + azureDefender: { + serializedName: "azureDefender", type: { - name: "Enum", - allowedValues: [ - "SystemAssigned", - "UserAssigned", - "None" - ] - } - }, - userAssignedIdentities: { - serializedName: "userAssignedIdentities", - type: { - name: "Dictionary", - value: { - type: { - name: "Composite", - className: "ManagedClusterIdentityUserAssignedIdentitiesValue" - } - } + name: "Composite", + className: "ManagedClusterSecurityProfileAzureDefender" } } } } }; -export const ManagedClusterSKU: msRest.CompositeMapper = { - serializedName: "ManagedClusterSKU", +export const ManagedCluster: msRest.CompositeMapper = { + serializedName: "ManagedCluster", type: { name: "Composite", - className: "ManagedClusterSKU", + className: "ManagedCluster", modelProperties: { - name: { - serializedName: "name", + ...Resource.type.modelProperties, + sku: { + serializedName: "sku", type: { - name: "String" + name: "Composite", + className: "ManagedClusterSKU" } }, - tier: { - serializedName: "tier", - type: { - name: "String" - } - } - } - } -}; - -export const ExtendedLocation: msRest.CompositeMapper = { - serializedName: "ExtendedLocation", - type: { - name: "Composite", - className: "ExtendedLocation", - modelProperties: { - name: { - serializedName: "name", + extendedLocation: { + serializedName: "extendedLocation", type: { - name: "String" + name: "Composite", + className: "ExtendedLocation" } }, - type: { - serializedName: "type", + identity: { + serializedName: "identity", type: { - name: "String" + name: "Composite", + className: "ManagedClusterIdentity" } - } - } - } -}; - -export const ManagedCluster: msRest.CompositeMapper = { - serializedName: "ManagedCluster", - type: { - name: "Composite", - className: "ManagedCluster", - modelProperties: { - ...Resource.type.modelProperties, + }, provisioningState: { readOnly: true, serializedName: "properties.provisioningState", @@ -2556,7 +2692,7 @@ export const ManagedCluster: msRest.CompositeMapper = { value: { type: { name: "Composite", - className: "ManagedClusterPropertiesIdentityProfileValue" + className: "UserAssignedIdentity" } } } @@ -2586,25 +2722,11 @@ export const ManagedCluster: msRest.CompositeMapper = { className: "ManagedClusterHTTPProxyConfig" } }, - identity: { - serializedName: "identity", + securityProfile: { + serializedName: "properties.securityProfile", type: { name: "Composite", - className: "ManagedClusterIdentity" - } - }, - sku: { - serializedName: "sku", - type: { - name: "Composite", - className: "ManagedClusterSKU" - } - }, - extendedLocation: { - serializedName: "extendedLocation", - type: { - name: "Composite", - className: "ExtendedLocation" + className: "ManagedClusterSecurityProfile" } } } @@ -3152,6 +3274,96 @@ export const OSOptionProfile: msRest.CompositeMapper = { } }; +export const EndpointDetail: msRest.CompositeMapper = { + serializedName: "EndpointDetail", + type: { + name: "Composite", + className: "EndpointDetail", + modelProperties: { + ipAddress: { + serializedName: "ipAddress", + type: { + name: "String" + } + }, + port: { + serializedName: "port", + type: { + name: "Number" + } + }, + protocol: { + serializedName: "protocol", + type: { + name: "String" + } + }, + description: { + serializedName: "description", + type: { + name: "String" + } + } + } + } +}; + +export const EndpointDependency: msRest.CompositeMapper = { + serializedName: "EndpointDependency", + type: { + name: "Composite", + className: "EndpointDependency", + modelProperties: { + domainName: { + serializedName: "domainName", + type: { + name: "String" + } + }, + endpointDetails: { + serializedName: "endpointDetails", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "EndpointDetail" + } + } + } + } + } + } +}; + +export const OutboundEnvironmentEndpoint: msRest.CompositeMapper = { + serializedName: "OutboundEnvironmentEndpoint", + type: { + name: "Composite", + className: "OutboundEnvironmentEndpoint", + modelProperties: { + category: { + serializedName: "category", + type: { + name: "String" + } + }, + endpoints: { + serializedName: "endpoints", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "EndpointDependency" + } + } + } + } + } + } +}; + export const OperationListResult: msRest.CompositeMapper = { serializedName: "OperationListResult", type: { @@ -3204,6 +3416,36 @@ export const ManagedClusterListResult: msRest.CompositeMapper = { } }; +export const OutboundEnvironmentEndpointCollection: msRest.CompositeMapper = { + serializedName: "OutboundEnvironmentEndpointCollection", + type: { + name: "Composite", + className: "OutboundEnvironmentEndpointCollection", + modelProperties: { + value: { + required: true, + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "OutboundEnvironmentEndpoint" + } + } + } + }, + nextLink: { + readOnly: true, + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + export const MaintenanceConfigurationListResult: msRest.CompositeMapper = { serializedName: "MaintenanceConfigurationListResult", type: { diff --git a/sdk/containerservice/arm-containerservice/src/models/parameters.ts b/sdk/containerservice/arm-containerservice/src/models/parameters.ts index f90a18426fdb..7378c0055826 100644 --- a/sdk/containerservice/arm-containerservice/src/models/parameters.ts +++ b/sdk/containerservice/arm-containerservice/src/models/parameters.ts @@ -140,6 +140,18 @@ export const roleName: msRest.OperationURLParameter = { } } }; +export const serverFqdn: msRest.OperationQueryParameter = { + parameterPath: [ + "options", + "serverFqdn" + ], + mapper: { + serializedName: "server-fqdn", + type: { + name: "String" + } + } +}; export const subscriptionId: msRest.OperationURLParameter = { parameterPath: "subscriptionId", mapper: { diff --git a/sdk/containerservice/arm-containerservice/src/models/privateEndpointConnectionsMappers.ts b/sdk/containerservice/arm-containerservice/src/models/privateEndpointConnectionsMappers.ts index 7c8fdc1fab59..3a83fa9dca6b 100644 --- a/sdk/containerservice/arm-containerservice/src/models/privateEndpointConnectionsMappers.ts +++ b/sdk/containerservice/arm-containerservice/src/models/privateEndpointConnectionsMappers.ts @@ -38,9 +38,12 @@ export { ManagedClusterPodIdentity, ManagedClusterPodIdentityException, ManagedClusterPodIdentityProfile, + ManagedClusterPodIdentityProvisioningError, + ManagedClusterPodIdentityProvisioningErrorBody, ManagedClusterPodIdentityProvisioningInfo, ManagedClusterPropertiesAutoScalerProfile, - ManagedClusterPropertiesIdentityProfileValue, + ManagedClusterSecurityProfile, + ManagedClusterSecurityProfileAzureDefender, ManagedClusterServicePrincipalProfile, ManagedClusterSKU, ManagedClusterWindowsProfile, diff --git a/sdk/containerservice/arm-containerservice/src/operations/agentPools.ts b/sdk/containerservice/arm-containerservice/src/operations/agentPools.ts index 4b67fcdc8b5f..278c0b66d5f1 100644 --- a/sdk/containerservice/arm-containerservice/src/operations/agentPools.ts +++ b/sdk/containerservice/arm-containerservice/src/operations/agentPools.ts @@ -27,8 +27,6 @@ export class AgentPools { } /** - * Gets a list of agent pools in the specified managed cluster. The operation returns properties of - * each agent pool. * @summary Gets a list of agent pools in the specified managed cluster. * @param resourceGroupName The name of the resource group. * @param resourceName The name of the managed cluster resource. @@ -61,8 +59,7 @@ export class AgentPools { } /** - * Gets the details of the agent pool by managed cluster and resource group. - * @summary Gets the agent pool. + * @summary Gets the specified managed cluster agent pool. * @param resourceGroupName The name of the resource group. * @param resourceName The name of the managed cluster resource. * @param agentPoolName The name of the agent pool. @@ -98,12 +95,11 @@ export class AgentPools { } /** - * Creates or updates an agent pool in the specified managed cluster. - * @summary Creates or updates an agent pool. + * @summary Creates or updates an agent pool in the specified managed cluster. * @param resourceGroupName The name of the resource group. * @param resourceName The name of the managed cluster resource. * @param agentPoolName The name of the agent pool. - * @param parameters Parameters supplied to the Create or Update an agent pool operation. + * @param parameters The agent pool to create or update. * @param [options] The optional parameters * @returns Promise */ @@ -113,8 +109,7 @@ export class AgentPools { } /** - * Deletes the agent pool in the specified managed cluster. - * @summary Deletes an agent pool. + * @summary Deletes an agent pool in the specified managed cluster. * @param resourceGroupName The name of the resource group. * @param resourceName The name of the managed cluster resource. * @param agentPoolName The name of the agent pool. @@ -127,9 +122,7 @@ export class AgentPools { } /** - * Gets the details of the upgrade profile for an agent pool with a specified resource group and - * managed cluster name. - * @summary Gets upgrade profile for an agent pool. + * @summary Gets the upgrade profile for an agent pool. * @param resourceGroupName The name of the resource group. * @param resourceName The name of the managed cluster resource. * @param agentPoolName The name of the agent pool. @@ -165,8 +158,10 @@ export class AgentPools { } /** - * Gets a list of supported versions for the specified agent pool. - * @summary Gets a list of supported versions for the specified agent pool. + * See [supported Kubernetes + * versions](https://docs.microsoft.com/azure/aks/supported-kubernetes-versions) for more details + * about the version lifecycle. + * @summary Gets a list of supported Kubernetes versions for the specified agent pool. * @param resourceGroupName The name of the resource group. * @param resourceName The name of the managed cluster resource. * @param [options] The optional parameters @@ -198,8 +193,10 @@ export class AgentPools { } /** - * Upgrade node image version of an agent pool to the latest. - * @summary Upgrade node image version of an agent pool to the latest. + * Upgrading the node image version of an agent pool applies the newest OS and runtime updates to + * the nodes. AKS provides one new image per week with the latest updates. For more details on node + * image versions, see: https://docs.microsoft.com/azure/aks/node-image-upgrade + * @summary Upgrades the node image version of an agent pool to the latest. * @param resourceGroupName The name of the resource group. * @param resourceName The name of the managed cluster resource. * @param agentPoolName The name of the agent pool. @@ -212,12 +209,11 @@ export class AgentPools { } /** - * Creates or updates an agent pool in the specified managed cluster. - * @summary Creates or updates an agent pool. + * @summary Creates or updates an agent pool in the specified managed cluster. * @param resourceGroupName The name of the resource group. * @param resourceName The name of the managed cluster resource. * @param agentPoolName The name of the agent pool. - * @param parameters Parameters supplied to the Create or Update an agent pool operation. + * @param parameters The agent pool to create or update. * @param [options] The optional parameters * @returns Promise */ @@ -235,8 +231,7 @@ export class AgentPools { } /** - * Deletes the agent pool in the specified managed cluster. - * @summary Deletes an agent pool. + * @summary Deletes an agent pool in the specified managed cluster. * @param resourceGroupName The name of the resource group. * @param resourceName The name of the managed cluster resource. * @param agentPoolName The name of the agent pool. @@ -256,8 +251,10 @@ export class AgentPools { } /** - * Upgrade node image version of an agent pool to the latest. - * @summary Upgrade node image version of an agent pool to the latest. + * Upgrading the node image version of an agent pool applies the newest OS and runtime updates to + * the nodes. AKS provides one new image per week with the latest updates. For more details on node + * image versions, see: https://docs.microsoft.com/azure/aks/node-image-upgrade + * @summary Upgrades the node image version of an agent pool to the latest. * @param resourceGroupName The name of the resource group. * @param resourceName The name of the managed cluster resource. * @param agentPoolName The name of the agent pool. @@ -277,8 +274,6 @@ export class AgentPools { } /** - * Gets a list of agent pools in the specified managed cluster. The operation returns properties of - * each agent pool. * @summary Gets a list of agent pools in the specified managed cluster. * @param nextPageLink The NextLink from the previous successful call to List operation. * @param [options] The optional parameters diff --git a/sdk/containerservice/arm-containerservice/src/operations/maintenanceConfigurations.ts b/sdk/containerservice/arm-containerservice/src/operations/maintenanceConfigurations.ts index f0b524fa8e0c..c7ca09097d63 100644 --- a/sdk/containerservice/arm-containerservice/src/operations/maintenanceConfigurations.ts +++ b/sdk/containerservice/arm-containerservice/src/operations/maintenanceConfigurations.ts @@ -26,8 +26,6 @@ export class MaintenanceConfigurations { } /** - * Gets a list of maintenance configurations in the specified managed cluster. The operation - * returns properties of each maintenance configuration. * @summary Gets a list of maintenance configurations in the specified managed cluster. * @param resourceGroupName The name of the resource group. * @param resourceName The name of the managed cluster resource. @@ -60,8 +58,7 @@ export class MaintenanceConfigurations { } /** - * Gets the details of maintenance configurations by managed cluster and resource group. - * @summary Gets the maintenance configuration. + * @summary Gets the specified maintenance configuration of a managed cluster. * @param resourceGroupName The name of the resource group. * @param resourceName The name of the managed cluster resource. * @param configName The name of the maintenance configuration. @@ -97,13 +94,11 @@ export class MaintenanceConfigurations { } /** - * Creates or updates a maintenance configuration in the specified managed cluster. - * @summary Creates or updates a maintenance configurations. + * @summary Creates or updates a maintenance configuration in the specified managed cluster. * @param resourceGroupName The name of the resource group. * @param resourceName The name of the managed cluster resource. * @param configName The name of the maintenance configuration. - * @param parameters Parameters supplied to the Create or Update a default maintenance - * configuration. + * @param parameters The maintenance configuration to create or update. * @param [options] The optional parameters * @returns Promise */ @@ -112,8 +107,7 @@ export class MaintenanceConfigurations { * @param resourceGroupName The name of the resource group. * @param resourceName The name of the managed cluster resource. * @param configName The name of the maintenance configuration. - * @param parameters Parameters supplied to the Create or Update a default maintenance - * configuration. + * @param parameters The maintenance configuration to create or update. * @param callback The callback */ createOrUpdate(resourceGroupName: string, resourceName: string, configName: string, parameters: Models.MaintenanceConfiguration, callback: msRest.ServiceCallback): void; @@ -121,8 +115,7 @@ export class MaintenanceConfigurations { * @param resourceGroupName The name of the resource group. * @param resourceName The name of the managed cluster resource. * @param configName The name of the maintenance configuration. - * @param parameters Parameters supplied to the Create or Update a default maintenance - * configuration. + * @param parameters The maintenance configuration to create or update. * @param options The optional parameters * @param callback The callback */ @@ -141,7 +134,6 @@ export class MaintenanceConfigurations { } /** - * Deletes the maintenance configuration in the specified managed cluster. * @summary Deletes a maintenance configuration. * @param resourceGroupName The name of the resource group. * @param resourceName The name of the managed cluster resource. @@ -178,8 +170,6 @@ export class MaintenanceConfigurations { } /** - * Gets a list of maintenance configurations in the specified managed cluster. The operation - * returns properties of each maintenance configuration. * @summary Gets a list of maintenance configurations in the specified managed cluster. * @param nextPageLink The NextLink from the previous successful call to List operation. * @param [options] The optional parameters diff --git a/sdk/containerservice/arm-containerservice/src/operations/managedClusters.ts b/sdk/containerservice/arm-containerservice/src/operations/managedClusters.ts index 22152b4b1c28..68ec82bfc1b3 100644 --- a/sdk/containerservice/arm-containerservice/src/operations/managedClusters.ts +++ b/sdk/containerservice/arm-containerservice/src/operations/managedClusters.ts @@ -27,7 +27,6 @@ export class ManagedClusters { } /** - * Gets supported OS options in the specified subscription. * @summary Gets supported OS options in the specified subscription. * @param location The name of a supported Azure region. * @param [options] The optional parameters @@ -56,8 +55,6 @@ export class ManagedClusters { } /** - * 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 @@ -82,8 +79,6 @@ export class ManagedClusters { } /** - * 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 @@ -112,9 +107,7 @@ export class ManagedClusters { } /** - * 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. + * @summary Gets the upgrade profile 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 @@ -146,11 +139,10 @@ export class ManagedClusters { } /** - * Gets the accessProfile for the specified role name of the managed cluster with a specified - * resource group and name. **WARNING**: This API will be deprecated. Instead use - * [ListClusterUserCredentials](https://docs.microsoft.com/en-us/rest/api/aks/managedclusters/listclusterusercredentials) + * **WARNING**: This API will be deprecated. Instead use + * [ListClusterUserCredentials](https://docs.microsoft.com/rest/api/aks/managedclusters/listclusterusercredentials) * or - * [ListClusterAdminCredentials](https://docs.microsoft.com/en-us/rest/api/aks/managedclusters/listclusteradmincredentials) + * [ListClusterAdminCredentials](https://docs.microsoft.com/rest/api/aks/managedclusters/listclusteradmincredentials) * . * @summary Gets an access profile of a managed cluster. * @param resourceGroupName The name of the resource group. @@ -191,14 +183,13 @@ export class ManagedClusters { } /** - * Gets cluster admin credential of the managed cluster with a specified resource group and name. - * @summary Gets cluster admin credential of a managed cluster. + * @summary Lists the admin credentials 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; + listClusterAdminCredentials(resourceGroupName: string, resourceName: string, options?: Models.ManagedClustersListClusterAdminCredentialsOptionalParams): Promise; /** * @param resourceGroupName The name of the resource group. * @param resourceName The name of the managed cluster resource. @@ -211,8 +202,8 @@ export class ManagedClusters { * @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 | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + listClusterAdminCredentials(resourceGroupName: string, resourceName: string, options: Models.ManagedClustersListClusterAdminCredentialsOptionalParams, callback: msRest.ServiceCallback): void; + listClusterAdminCredentials(resourceGroupName: string, resourceName: string, options?: Models.ManagedClustersListClusterAdminCredentialsOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -224,14 +215,13 @@ export class ManagedClusters { } /** - * Gets cluster user credential of the managed cluster with a specified resource group and name. - * @summary Gets cluster user credential of a managed cluster. + * @summary Lists the user credentials 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; + listClusterUserCredentials(resourceGroupName: string, resourceName: string, options?: Models.ManagedClustersListClusterUserCredentialsOptionalParams): Promise; /** * @param resourceGroupName The name of the resource group. * @param resourceName The name of the managed cluster resource. @@ -244,8 +234,8 @@ export class ManagedClusters { * @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 | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + listClusterUserCredentials(resourceGroupName: string, resourceName: string, options: Models.ManagedClustersListClusterUserCredentialsOptionalParams, callback: msRest.ServiceCallback): void; + listClusterUserCredentials(resourceGroupName: string, resourceName: string, options?: Models.ManagedClustersListClusterUserCredentialsOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -257,15 +247,13 @@ export class ManagedClusters { } /** - * Gets cluster monitoring user credential of the managed cluster with a specified resource group - * and name. - * @summary Gets cluster monitoring user credential of a managed cluster. + * @summary Lists the cluster monitoring user credentials 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 */ - listClusterMonitoringUserCredentials(resourceGroupName: string, resourceName: string, options?: msRest.RequestOptionsBase): Promise; + listClusterMonitoringUserCredentials(resourceGroupName: string, resourceName: string, options?: Models.ManagedClustersListClusterMonitoringUserCredentialsOptionalParams): Promise; /** * @param resourceGroupName The name of the resource group. * @param resourceName The name of the managed cluster resource. @@ -278,8 +266,8 @@ export class ManagedClusters { * @param options The optional parameters * @param callback The callback */ - listClusterMonitoringUserCredentials(resourceGroupName: string, resourceName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listClusterMonitoringUserCredentials(resourceGroupName: string, resourceName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + listClusterMonitoringUserCredentials(resourceGroupName: string, resourceName: string, options: Models.ManagedClustersListClusterMonitoringUserCredentialsOptionalParams, callback: msRest.ServiceCallback): void; + listClusterMonitoringUserCredentials(resourceGroupName: string, resourceName: string, options?: Models.ManagedClustersListClusterMonitoringUserCredentialsOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -291,7 +279,6 @@ export class ManagedClusters { } /** - * 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. @@ -324,12 +311,10 @@ export class ManagedClusters { } /** - * 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 parameters The managed cluster to create or update. * @param [options] The optional parameters * @returns Promise */ @@ -339,7 +324,6 @@ export class ManagedClusters { } /** - * 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. @@ -353,7 +337,6 @@ export class ManagedClusters { } /** - * 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. @@ -366,12 +349,11 @@ export class ManagedClusters { } /** - * Update the service principal Profile for a managed cluster. - * @summary Reset Service Principal Profile of a managed cluster. + * This action cannot be performed on a cluster that is not using a service principal + * @summary Reset the Service Principal Profile of a managed cluster. * @param resourceGroupName The name of the resource group. * @param resourceName The name of the managed cluster resource. - * @param parameters Parameters supplied to the Reset Service Principal Profile operation for a - * Managed Cluster. + * @param parameters The service principal profile to set on the managed cluster. * @param [options] The optional parameters * @returns Promise */ @@ -381,11 +363,10 @@ export class ManagedClusters { } /** - * Update the AAD Profile for a managed cluster. - * @summary Reset AAD Profile of a managed cluster. + * @summary Reset the AAD Profile of a managed cluster. * @param resourceGroupName The name of the resource group. * @param resourceName The name of the managed cluster resource. - * @param parameters Parameters supplied to the Reset AAD Profile operation for a Managed Cluster. + * @param parameters The AAD profile to set on the Managed Cluster * @param [options] The optional parameters * @returns Promise */ @@ -395,8 +376,9 @@ export class ManagedClusters { } /** - * Rotate certificates of a managed cluster. - * @summary Rotate certificates of a managed cluster. + * See [Certificate rotation](https://docs.microsoft.com/azure/aks/certificate-rotation) for more + * details about rotating managed cluster certificates. + * @summary Rotates the certificates 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 @@ -408,8 +390,12 @@ export class ManagedClusters { } /** - * Stops a Running Managed Cluster - * @summary Stop Managed Cluster + * This can only be performed on Azure Virtual Machine Scale set backed clusters. Stopping a + * cluster stops the control plane and agent nodes entirely, while maintaining all object and + * cluster state. A cluster does not accrue charges while it is stopped. See [stopping a + * cluster](https://docs.microsoft.com/azure/aks/start-stop-cluster) for more details about + * stopping a cluster. + * @summary Stops 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 @@ -421,8 +407,9 @@ export class ManagedClusters { } /** - * Starts a Stopped Managed Cluster - * @summary Start Managed Cluster + * See [starting a cluster](https://docs.microsoft.com/azure/aks/start-stop-cluster) for more + * details about starting a cluster. + * @summary Starts a previously stopped Managed Cluster * @param resourceGroupName The name of the resource group. * @param resourceName The name of the managed cluster resource. * @param [options] The optional parameters @@ -434,12 +421,13 @@ export class ManagedClusters { } /** - * Submit a command to run against managed kubernetes service, it will create a pod to run the - * command. - * @summary Run Command against Managed Kubernetes Service + * AKS will create a pod to run the command. This is primarily useful for private clusters. For + * more information see [AKS Run + * Command](https://docs.microsoft.com/azure/aks/private-clusters#aks-run-command-preview). + * @summary Submits a command to run against the Managed Cluster. * @param resourceGroupName The name of the resource group. * @param resourceName The name of the managed cluster resource. - * @param requestPayload Parameters supplied to the RunCommand operation. + * @param requestPayload The run command request * @param [options] The optional parameters * @returns Promise */ @@ -449,11 +437,10 @@ export class ManagedClusters { } /** - * Get command result from previous runCommand invoke. - * @summary Get command result. + * @summary Gets the results of a command which has been run on the Managed Cluster. * @param resourceGroupName The name of the resource group. * @param resourceName The name of the managed cluster resource. - * @param commandId Id of the command request. + * @param commandId Id of the command. * @param [options] The optional parameters * @returns Promise */ @@ -461,14 +448,14 @@ export class ManagedClusters { /** * @param resourceGroupName The name of the resource group. * @param resourceName The name of the managed cluster resource. - * @param commandId Id of the command request. + * @param commandId Id of the command. * @param callback The callback */ getCommandResult(resourceGroupName: string, resourceName: string, commandId: string, callback: msRest.ServiceCallback): void; /** * @param resourceGroupName The name of the resource group. * @param resourceName The name of the managed cluster resource. - * @param commandId Id of the command request. + * @param commandId Id of the command. * @param options The optional parameters * @param callback The callback */ @@ -486,12 +473,45 @@ export class ManagedClusters { } /** - * Creates or updates a managed cluster with the specified configuration for agents and Kubernetes - * version. + * Gets a list of egress endpoints (network endpoints of all outbound dependencies) in the + * specified managed cluster. The operation returns properties of each egress endpoint. + * @summary Gets a list of egress endpoints (network endpoints of all outbound dependencies) in the + * specified 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 + */ + listOutboundNetworkDependenciesEndpoints(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 + */ + listOutboundNetworkDependenciesEndpoints(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 + */ + listOutboundNetworkDependenciesEndpoints(resourceGroupName: string, resourceName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listOutboundNetworkDependenciesEndpoints(resourceGroupName: string, resourceName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + resourceName, + options + }, + listOutboundNetworkDependenciesEndpointsOperationSpec, + callback) as Promise; + } + + /** * @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 parameters The managed cluster to create or update. * @param [options] The optional parameters * @returns Promise */ @@ -508,7 +528,6 @@ export class ManagedClusters { } /** - * 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. @@ -529,7 +548,6 @@ export class ManagedClusters { } /** - * 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. @@ -548,12 +566,11 @@ export class ManagedClusters { } /** - * Update the service principal Profile for a managed cluster. - * @summary Reset Service Principal Profile of a managed cluster. + * This action cannot be performed on a cluster that is not using a service principal + * @summary Reset the Service Principal Profile of a managed cluster. * @param resourceGroupName The name of the resource group. * @param resourceName The name of the managed cluster resource. - * @param parameters Parameters supplied to the Reset Service Principal Profile operation for a - * Managed Cluster. + * @param parameters The service principal profile to set on the managed cluster. * @param [options] The optional parameters * @returns Promise */ @@ -570,11 +587,10 @@ export class ManagedClusters { } /** - * Update the AAD Profile for a managed cluster. - * @summary Reset AAD Profile of a managed cluster. + * @summary Reset the AAD Profile of a managed cluster. * @param resourceGroupName The name of the resource group. * @param resourceName The name of the managed cluster resource. - * @param parameters Parameters supplied to the Reset AAD Profile operation for a Managed Cluster. + * @param parameters The AAD profile to set on the Managed Cluster * @param [options] The optional parameters * @returns Promise */ @@ -591,8 +607,9 @@ export class ManagedClusters { } /** - * Rotate certificates of a managed cluster. - * @summary Rotate certificates of a managed cluster. + * See [Certificate rotation](https://docs.microsoft.com/azure/aks/certificate-rotation) for more + * details about rotating managed cluster certificates. + * @summary Rotates the certificates 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 @@ -610,8 +627,12 @@ export class ManagedClusters { } /** - * Stops a Running Managed Cluster - * @summary Stop Managed Cluster + * This can only be performed on Azure Virtual Machine Scale set backed clusters. Stopping a + * cluster stops the control plane and agent nodes entirely, while maintaining all object and + * cluster state. A cluster does not accrue charges while it is stopped. See [stopping a + * cluster](https://docs.microsoft.com/azure/aks/start-stop-cluster) for more details about + * stopping a cluster. + * @summary Stops 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 @@ -629,8 +650,9 @@ export class ManagedClusters { } /** - * Starts a Stopped Managed Cluster - * @summary Start Managed Cluster + * See [starting a cluster](https://docs.microsoft.com/azure/aks/start-stop-cluster) for more + * details about starting a cluster. + * @summary Starts a previously stopped Managed Cluster * @param resourceGroupName The name of the resource group. * @param resourceName The name of the managed cluster resource. * @param [options] The optional parameters @@ -648,12 +670,13 @@ export class ManagedClusters { } /** - * Submit a command to run against managed kubernetes service, it will create a pod to run the - * command. - * @summary Run Command against Managed Kubernetes Service + * AKS will create a pod to run the command. This is primarily useful for private clusters. For + * more information see [AKS Run + * Command](https://docs.microsoft.com/azure/aks/private-clusters#aks-run-command-preview). + * @summary Submits a command to run against the Managed Cluster. * @param resourceGroupName The name of the resource group. * @param resourceName The name of the managed cluster resource. - * @param requestPayload Parameters supplied to the RunCommand operation. + * @param requestPayload The run command request * @param [options] The optional parameters * @returns Promise */ @@ -670,8 +693,6 @@ export class ManagedClusters { } /** - * 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 @@ -700,8 +721,6 @@ export class ManagedClusters { } /** - * 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 @@ -728,6 +747,37 @@ export class ManagedClusters { listByResourceGroupNextOperationSpec, callback) as Promise; } + + /** + * Gets a list of egress endpoints (network endpoints of all outbound dependencies) in the + * specified managed cluster. The operation returns properties of each egress endpoint. + * @summary Gets a list of egress endpoints (network endpoints of all outbound dependencies) in the + * specified managed cluster. + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + listOutboundNetworkDependenciesEndpointsNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + listOutboundNetworkDependenciesEndpointsNext(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 + */ + listOutboundNetworkDependenciesEndpointsNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listOutboundNetworkDependenciesEndpointsNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + listOutboundNetworkDependenciesEndpointsNextOperationSpec, + callback) as Promise; + } } // Operation Specifications @@ -864,7 +914,8 @@ const listClusterAdminCredentialsOperationSpec: msRest.OperationSpec = { Parameters.resourceName ], queryParameters: [ - Parameters.apiVersion + Parameters.apiVersion, + Parameters.serverFqdn ], headerParameters: [ Parameters.acceptLanguage @@ -889,7 +940,8 @@ const listClusterUserCredentialsOperationSpec: msRest.OperationSpec = { Parameters.resourceName ], queryParameters: [ - Parameters.apiVersion + Parameters.apiVersion, + Parameters.serverFqdn ], headerParameters: [ Parameters.acceptLanguage @@ -914,7 +966,8 @@ const listClusterMonitoringUserCredentialsOperationSpec: msRest.OperationSpec = Parameters.resourceName ], queryParameters: [ - Parameters.apiVersion + Parameters.apiVersion, + Parameters.serverFqdn ], headerParameters: [ Parameters.acceptLanguage @@ -982,6 +1035,31 @@ const getCommandResultOperationSpec: msRest.OperationSpec = { serializer }; +const listOutboundNetworkDependenciesEndpointsOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/outboundNetworkDependenciesEndpoints", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.resourceName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.OutboundEnvironmentEndpointCollection + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { httpMethod: "PUT", path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}", @@ -1287,3 +1365,27 @@ const listByResourceGroupNextOperationSpec: msRest.OperationSpec = { }, serializer }; + +const listOutboundNetworkDependenciesEndpointsNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "https://management.azure.com", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.OutboundEnvironmentEndpointCollection + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; diff --git a/sdk/containerservice/arm-containerservice/src/operations/operations.ts b/sdk/containerservice/arm-containerservice/src/operations/operations.ts index 2d8bd37661b9..3896ec570e0a 100644 --- a/sdk/containerservice/arm-containerservice/src/operations/operations.ts +++ b/sdk/containerservice/arm-containerservice/src/operations/operations.ts @@ -26,7 +26,7 @@ export class Operations { } /** - * Gets a list of compute operations. + * @summary Gets a list of operations. * @param [options] The optional parameters * @returns Promise */ diff --git a/sdk/containerservice/arm-containerservice/src/operations/privateEndpointConnections.ts b/sdk/containerservice/arm-containerservice/src/operations/privateEndpointConnections.ts index 4da23b229813..92a92ab579d8 100644 --- a/sdk/containerservice/arm-containerservice/src/operations/privateEndpointConnections.ts +++ b/sdk/containerservice/arm-containerservice/src/operations/privateEndpointConnections.ts @@ -27,8 +27,7 @@ export class PrivateEndpointConnections { } /** - * Gets a list of private endpoint connections in the specified managed cluster. The operation - * returns properties of each private endpoint connection. + * To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters * @summary Gets a list of private endpoint connections in the specified managed cluster. * @param resourceGroupName The name of the resource group. * @param resourceName The name of the managed cluster resource. @@ -61,8 +60,8 @@ export class PrivateEndpointConnections { } /** - * Gets the details of the private endpoint connection by managed cluster and resource group. - * @summary Gets the private endpoint connection. + * To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters + * @summary Gets the specified private endpoint connection. * @param resourceGroupName The name of the resource group. * @param resourceName The name of the managed cluster resource. * @param privateEndpointConnectionName The name of the private endpoint connection. @@ -98,12 +97,11 @@ export class PrivateEndpointConnections { } /** - * Updates a private endpoint connection in the specified managed cluster. * @summary Updates a private endpoint connection. * @param resourceGroupName The name of the resource group. * @param resourceName The name of the managed cluster resource. * @param privateEndpointConnectionName The name of the private endpoint connection. - * @param parameters Parameters supplied to the Update a private endpoint connection operation. + * @param parameters The updated private endpoint connection. * @param [options] The optional parameters * @returns Promise */ @@ -112,7 +110,7 @@ export class PrivateEndpointConnections { * @param resourceGroupName The name of the resource group. * @param resourceName The name of the managed cluster resource. * @param privateEndpointConnectionName The name of the private endpoint connection. - * @param parameters Parameters supplied to the Update a private endpoint connection operation. + * @param parameters The updated private endpoint connection. * @param callback The callback */ update(resourceGroupName: string, resourceName: string, privateEndpointConnectionName: string, parameters: Models.PrivateEndpointConnection, callback: msRest.ServiceCallback): void; @@ -120,7 +118,7 @@ export class PrivateEndpointConnections { * @param resourceGroupName The name of the resource group. * @param resourceName The name of the managed cluster resource. * @param privateEndpointConnectionName The name of the private endpoint connection. - * @param parameters Parameters supplied to the Update a private endpoint connection operation. + * @param parameters The updated private endpoint connection. * @param options The optional parameters * @param callback The callback */ @@ -139,7 +137,6 @@ export class PrivateEndpointConnections { } /** - * Deletes the private endpoint connection in the specified managed cluster. * @summary Deletes a private endpoint connection. * @param resourceGroupName The name of the resource group. * @param resourceName The name of the managed cluster resource. @@ -153,7 +150,6 @@ export class PrivateEndpointConnections { } /** - * Deletes the private endpoint connection in the specified managed cluster. * @summary Deletes a private endpoint connection. * @param resourceGroupName The name of the resource group. * @param resourceName The name of the managed cluster resource. diff --git a/sdk/containerservice/arm-containerservice/src/operations/privateLinkResources.ts b/sdk/containerservice/arm-containerservice/src/operations/privateLinkResources.ts index 652594840b00..8e11daf85799 100644 --- a/sdk/containerservice/arm-containerservice/src/operations/privateLinkResources.ts +++ b/sdk/containerservice/arm-containerservice/src/operations/privateLinkResources.ts @@ -26,8 +26,7 @@ export class PrivateLinkResources { } /** - * Gets a list of private link resources in the specified managed cluster. The operation returns - * properties of each private link resource. + * To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters * @summary Gets a list of private link resources in the specified managed cluster. * @param resourceGroupName The name of the resource group. * @param resourceName The name of the managed cluster resource. diff --git a/sdk/containerservice/arm-containerservice/src/operations/resolvePrivateLinkServiceId.ts b/sdk/containerservice/arm-containerservice/src/operations/resolvePrivateLinkServiceId.ts index c23d10a99b32..9c977d767807 100644 --- a/sdk/containerservice/arm-containerservice/src/operations/resolvePrivateLinkServiceId.ts +++ b/sdk/containerservice/arm-containerservice/src/operations/resolvePrivateLinkServiceId.ts @@ -26,12 +26,10 @@ export class ResolvePrivateLinkServiceId { } /** - * Gets the private link service ID the specified managed cluster. * @summary Gets the private link service ID for the specified managed cluster. * @param resourceGroupName The name of the resource group. * @param resourceName The name of the managed cluster resource. - * @param parameters Parameters (name, groupId) supplied in order to resolve a private link service - * ID. + * @param parameters Parameters required in order to resolve a private link service ID. * @param [options] The optional parameters * @returns Promise */ @@ -39,16 +37,14 @@ export class ResolvePrivateLinkServiceId { /** * @param resourceGroupName The name of the resource group. * @param resourceName The name of the managed cluster resource. - * @param parameters Parameters (name, groupId) supplied in order to resolve a private link service - * ID. + * @param parameters Parameters required in order to resolve a private link service ID. * @param callback The callback */ pOST(resourceGroupName: string, resourceName: string, parameters: Models.PrivateLinkResource, callback: msRest.ServiceCallback): void; /** * @param resourceGroupName The name of the resource group. * @param resourceName The name of the managed cluster resource. - * @param parameters Parameters (name, groupId) supplied in order to resolve a private link service - * ID. + * @param parameters Parameters required in order to resolve a private link service ID. * @param options The optional parameters * @param callback The callback */