@azure/arm-containerservice 13.3.1 → 14.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/README.md +3 -6
  2. package/dist/arm-containerservice.js +1270 -255
  3. package/dist/arm-containerservice.js.map +1 -1
  4. package/dist/arm-containerservice.min.js +1 -1
  5. package/dist/arm-containerservice.min.js.map +1 -1
  6. package/esm/containerServiceClient.d.ts +1 -0
  7. package/esm/containerServiceClient.d.ts.map +1 -1
  8. package/esm/containerServiceClient.js +1 -0
  9. package/esm/containerServiceClient.js.map +1 -1
  10. package/esm/containerServiceClientContext.d.ts +1 -1
  11. package/esm/containerServiceClientContext.d.ts.map +1 -1
  12. package/esm/containerServiceClientContext.js +2 -2
  13. package/esm/containerServiceClientContext.js.map +1 -1
  14. package/esm/models/agentPoolsMappers.d.ts +1 -1
  15. package/esm/models/agentPoolsMappers.d.ts.map +1 -1
  16. package/esm/models/agentPoolsMappers.js +1 -1
  17. package/esm/models/agentPoolsMappers.js.map +1 -1
  18. package/esm/models/index.d.ts +1077 -429
  19. package/esm/models/index.d.ts.map +1 -1
  20. package/esm/models/maintenanceConfigurationsMappers.d.ts +1 -1
  21. package/esm/models/maintenanceConfigurationsMappers.d.ts.map +1 -1
  22. package/esm/models/maintenanceConfigurationsMappers.js +1 -1
  23. package/esm/models/maintenanceConfigurationsMappers.js.map +1 -1
  24. package/esm/models/managedClustersMappers.d.ts +1 -1
  25. package/esm/models/managedClustersMappers.d.ts.map +1 -1
  26. package/esm/models/managedClustersMappers.js +1 -1
  27. package/esm/models/managedClustersMappers.js.map +1 -1
  28. package/esm/models/mappers.d.ts +19 -5
  29. package/esm/models/mappers.d.ts.map +1 -1
  30. package/esm/models/mappers.js +712 -173
  31. package/esm/models/mappers.js.map +1 -1
  32. package/esm/models/parameters.d.ts +1 -0
  33. package/esm/models/parameters.d.ts.map +1 -1
  34. package/esm/models/parameters.js +12 -0
  35. package/esm/models/parameters.js.map +1 -1
  36. package/esm/models/privateEndpointConnectionsMappers.d.ts +1 -1
  37. package/esm/models/privateEndpointConnectionsMappers.d.ts.map +1 -1
  38. package/esm/models/privateEndpointConnectionsMappers.js +1 -1
  39. package/esm/models/privateEndpointConnectionsMappers.js.map +1 -1
  40. package/esm/models/snapshotsMappers.d.ts +2 -0
  41. package/esm/models/snapshotsMappers.d.ts.map +1 -0
  42. package/esm/models/snapshotsMappers.js +9 -0
  43. package/esm/models/snapshotsMappers.js.map +1 -0
  44. package/esm/operations/agentPools.d.ts +20 -25
  45. package/esm/operations/agentPools.d.ts.map +1 -1
  46. package/esm/operations/agentPools.js +21 -17
  47. package/esm/operations/agentPools.js.map +1 -1
  48. package/esm/operations/index.d.ts +1 -0
  49. package/esm/operations/index.d.ts.map +1 -1
  50. package/esm/operations/index.js +1 -0
  51. package/esm/operations/index.js.map +1 -1
  52. package/esm/operations/maintenanceConfigurations.d.ts +5 -15
  53. package/esm/operations/maintenanceConfigurations.d.ts.map +1 -1
  54. package/esm/operations/maintenanceConfigurations.js.map +1 -1
  55. package/esm/operations/managedClusters.d.ts +108 -79
  56. package/esm/operations/managedClusters.d.ts.map +1 -1
  57. package/esm/operations/managedClusters.js +112 -47
  58. package/esm/operations/managedClusters.js.map +1 -1
  59. package/esm/operations/operations.d.ts +1 -1
  60. package/esm/operations/privateEndpointConnections.d.ts +6 -10
  61. package/esm/operations/privateEndpointConnections.d.ts.map +1 -1
  62. package/esm/operations/privateEndpointConnections.js +0 -2
  63. package/esm/operations/privateEndpointConnections.js.map +1 -1
  64. package/esm/operations/privateLinkResources.d.ts +1 -2
  65. package/esm/operations/privateLinkResources.d.ts.map +1 -1
  66. package/esm/operations/privateLinkResources.js.map +1 -1
  67. package/esm/operations/resolvePrivateLinkServiceId.d.ts +3 -7
  68. package/esm/operations/resolvePrivateLinkServiceId.d.ts.map +1 -1
  69. package/esm/operations/resolvePrivateLinkServiceId.js.map +1 -1
  70. package/esm/operations/snapshots.d.ts +172 -0
  71. package/esm/operations/snapshots.d.ts.map +1 -0
  72. package/esm/operations/snapshots.js +277 -0
  73. package/esm/operations/snapshots.js.map +1 -0
  74. package/package.json +2 -2
  75. package/src/containerServiceClient.ts +2 -0
  76. package/src/containerServiceClientContext.ts +3 -3
  77. package/src/models/agentPoolsMappers.ts +11 -2
  78. package/src/models/index.ts +1115 -428
  79. package/src/models/maintenanceConfigurationsMappers.ts +10 -2
  80. package/src/models/managedClustersMappers.ts +14 -2
  81. package/src/models/mappers.ts +751 -183
  82. package/src/models/parameters.ts +12 -0
  83. package/src/models/privateEndpointConnectionsMappers.ts +10 -2
  84. package/src/models/snapshotsMappers.ts +70 -0
  85. package/src/operations/agentPools.ts +27 -28
  86. package/src/operations/index.ts +1 -0
  87. package/src/operations/maintenanceConfigurations.ts +5 -15
  88. package/src/operations/managedClusters.ts +187 -85
  89. package/src/operations/operations.ts +1 -1
  90. package/src/operations/privateEndpointConnections.ts +6 -10
  91. package/src/operations/privateLinkResources.ts +1 -2
  92. package/src/operations/resolvePrivateLinkServiceId.ts +3 -7
  93. package/src/operations/snapshots.ts +484 -0
@@ -12,21 +12,21 @@ import * as msRest from "@azure/ms-rest-js";
12
12
  export { BaseResource, CloudError };
13
13
 
14
14
  /**
15
- * Describes the properties of a Compute Operation value.
15
+ * Describes the properties of a Operation value.
16
16
  */
17
17
  export interface OperationValue {
18
18
  /**
19
- * The origin of the compute operation.
19
+ * The origin of the operation.
20
20
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
21
21
  */
22
22
  readonly origin?: string;
23
23
  /**
24
- * The name of the compute operation.
24
+ * The name of the operation.
25
25
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
26
26
  */
27
27
  readonly name?: string;
28
28
  /**
29
- * The display name of the compute operation.
29
+ * The display name of the operation.
30
30
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
31
31
  */
32
32
  readonly operation?: string;
@@ -210,7 +210,12 @@ export interface ContainerServiceMasterProfile {
210
210
  */
211
211
  export interface AgentPoolUpgradeSettings {
212
212
  /**
213
- * Count or percentage of additional nodes to be added during upgrade. If empty uses AKS default
213
+ * The maximum number or percentage of nodes that are surged during upgrade. This can either be
214
+ * set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is
215
+ * the percentage of the total agent pool size at the time of the upgrade. For percentages,
216
+ * fractional nodes are rounded up. If not specified, the default is 1. For more information,
217
+ * including best practices, see:
218
+ * https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade
214
219
  */
215
220
  maxSurge?: string;
216
221
  }
@@ -226,35 +231,46 @@ export interface PowerState {
226
231
  }
227
232
 
228
233
  /**
229
- * Kubelet configurations of agent nodes.
234
+ * See [AKS custom node
235
+ * configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details.
236
+ * @summary Kubelet configurations of agent nodes.
230
237
  */
231
238
  export interface KubeletConfig {
232
239
  /**
233
- * CPU Manager policy to use.
240
+ * The CPU Manager policy to use. The default is 'none'. See [Kubernetes CPU management
241
+ * policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies)
242
+ * for more information. Allowed values are 'none' and 'static'.
234
243
  */
235
244
  cpuManagerPolicy?: string;
236
245
  /**
237
- * Enable CPU CFS quota enforcement for containers that specify CPU limits.
246
+ * If CPU CFS quota enforcement is enabled for containers that specify CPU limits. The default is
247
+ * true.
238
248
  */
239
249
  cpuCfsQuota?: boolean;
240
250
  /**
241
- * Sets CPU CFS quota period value.
251
+ * The CPU CFS quota period value. The default is '100ms.' Valid values are a sequence of decimal
252
+ * numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported
253
+ * units are 'ns', 'us', 'ms', 's', 'm', and 'h'.
242
254
  */
243
255
  cpuCfsQuotaPeriod?: string;
244
256
  /**
245
- * The percent of disk usage after which image garbage collection is always run.
257
+ * The percent of disk usage after which image garbage collection is always run. To disable image
258
+ * garbage collection, set to 100. The default is 85%
246
259
  */
247
260
  imageGcHighThreshold?: number;
248
261
  /**
249
- * The percent of disk usage before which image garbage collection is never run.
262
+ * The percent of disk usage before which image garbage collection is never run. This cannot be
263
+ * set higher than imageGcHighThreshold. The default is 80%
250
264
  */
251
265
  imageGcLowThreshold?: number;
252
266
  /**
253
- * Topology Manager policy to use.
267
+ * The Topology Manager policy to use. For more information see [Kubernetes Topology
268
+ * Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is
269
+ * 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'.
254
270
  */
255
271
  topologyManagerPolicy?: string;
256
272
  /**
257
- * Allowlist of unsafe sysctls or unsafe sysctl patterns (ending in `*`).
273
+ * Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`).
258
274
  */
259
275
  allowedUnsafeSysctls?: string[];
260
276
  /**
@@ -395,7 +411,9 @@ export interface SysctlConfig {
395
411
  }
396
412
 
397
413
  /**
398
- * OS configurations of Linux agent nodes.
414
+ * See [AKS custom node
415
+ * configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details.
416
+ * @summary OS configurations of Linux agent nodes.
399
417
  */
400
418
  export interface LinuxOSConfig {
401
419
  /**
@@ -403,116 +421,95 @@ export interface LinuxOSConfig {
403
421
  */
404
422
  sysctls?: SysctlConfig;
405
423
  /**
406
- * Transparent Huge Page enabled configuration.
424
+ * Whether transparent hugepages are enabled. Valid values are 'always', 'madvise', and 'never'.
425
+ * The default is 'always'. For more information see [Transparent
426
+ * Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge).
407
427
  */
408
428
  transparentHugePageEnabled?: string;
409
429
  /**
410
- * Transparent Huge Page defrag configuration.
430
+ * Whether the kernel should make aggressive use of memory compaction to make more hugepages
431
+ * available. Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The
432
+ * default is 'madvise'. For more information see [Transparent
433
+ * Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge).
411
434
  */
412
435
  transparentHugePageDefrag?: string;
413
436
  /**
414
- * SwapFileSizeMB specifies size in MB of a swap file will be created on each node.
437
+ * The size in MB of a swap file that will be created on each node.
415
438
  */
416
439
  swapFileSizeMB?: number;
417
440
  }
418
441
 
442
+ /**
443
+ * Data used when creating a target resource from a source resource.
444
+ */
445
+ export interface CreationData {
446
+ /**
447
+ * This is the ARM ID of the source object to be used to create the target object.
448
+ */
449
+ sourceResourceId?: string;
450
+ }
451
+
419
452
  /**
420
453
  * Properties for the container service agent pool profile.
421
454
  */
422
455
  export interface ManagedClusterAgentPoolProfileProperties {
423
456
  /**
424
457
  * Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to
425
- * 100 (inclusive) for user pools and in the range of 1 to 100 (inclusive) for system pools. The
426
- * default value is 1.
458
+ * 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools.
459
+ * The default value is 1.
427
460
  */
428
461
  count?: number;
429
462
  /**
430
- * Size of agent VMs. Possible values include: 'Standard_A1', 'Standard_A10', 'Standard_A11',
431
- * 'Standard_A1_v2', 'Standard_A2', 'Standard_A2_v2', 'Standard_A2m_v2', 'Standard_A3',
432
- * 'Standard_A4', 'Standard_A4_v2', 'Standard_A4m_v2', 'Standard_A5', 'Standard_A6',
433
- * 'Standard_A7', 'Standard_A8', 'Standard_A8_v2', 'Standard_A8m_v2', 'Standard_A9',
434
- * 'Standard_B2ms', 'Standard_B2s', 'Standard_B4ms', 'Standard_B8ms', 'Standard_D1',
435
- * 'Standard_D11', 'Standard_D11_v2', 'Standard_D11_v2_Promo', 'Standard_D12', 'Standard_D12_v2',
436
- * 'Standard_D12_v2_Promo', 'Standard_D13', 'Standard_D13_v2', 'Standard_D13_v2_Promo',
437
- * 'Standard_D14', 'Standard_D14_v2', 'Standard_D14_v2_Promo', 'Standard_D15_v2',
438
- * 'Standard_D16_v3', 'Standard_D16s_v3', 'Standard_D1_v2', 'Standard_D2', 'Standard_D2_v2',
439
- * 'Standard_D2_v2_Promo', 'Standard_D2_v3', 'Standard_D2s_v3', 'Standard_D3', 'Standard_D32_v3',
440
- * 'Standard_D32s_v3', 'Standard_D3_v2', 'Standard_D3_v2_Promo', 'Standard_D4', 'Standard_D4_v2',
441
- * 'Standard_D4_v2_Promo', 'Standard_D4_v3', 'Standard_D4s_v3', 'Standard_D5_v2',
442
- * 'Standard_D5_v2_Promo', 'Standard_D64_v3', 'Standard_D64s_v3', 'Standard_D8_v3',
443
- * 'Standard_D8s_v3', 'Standard_DS1', 'Standard_DS11', 'Standard_DS11_v2',
444
- * 'Standard_DS11_v2_Promo', 'Standard_DS12', 'Standard_DS12_v2', 'Standard_DS12_v2_Promo',
445
- * 'Standard_DS13', 'Standard_DS13-2_v2', 'Standard_DS13-4_v2', 'Standard_DS13_v2',
446
- * 'Standard_DS13_v2_Promo', 'Standard_DS14', 'Standard_DS14-4_v2', 'Standard_DS14-8_v2',
447
- * 'Standard_DS14_v2', 'Standard_DS14_v2_Promo', 'Standard_DS15_v2', 'Standard_DS1_v2',
448
- * 'Standard_DS2', 'Standard_DS2_v2', 'Standard_DS2_v2_Promo', 'Standard_DS3', 'Standard_DS3_v2',
449
- * 'Standard_DS3_v2_Promo', 'Standard_DS4', 'Standard_DS4_v2', 'Standard_DS4_v2_Promo',
450
- * 'Standard_DS5_v2', 'Standard_DS5_v2_Promo', 'Standard_E16_v3', 'Standard_E16s_v3',
451
- * 'Standard_E2_v3', 'Standard_E2s_v3', 'Standard_E32-16s_v3', 'Standard_E32-8s_v3',
452
- * 'Standard_E32_v3', 'Standard_E32s_v3', 'Standard_E4_v3', 'Standard_E4s_v3',
453
- * 'Standard_E64-16s_v3', 'Standard_E64-32s_v3', 'Standard_E64_v3', 'Standard_E64s_v3',
454
- * 'Standard_E8_v3', 'Standard_E8s_v3', 'Standard_F1', 'Standard_F16', 'Standard_F16s',
455
- * 'Standard_F16s_v2', 'Standard_F1s', 'Standard_F2', 'Standard_F2s', 'Standard_F2s_v2',
456
- * 'Standard_F32s_v2', 'Standard_F4', 'Standard_F4s', 'Standard_F4s_v2', 'Standard_F64s_v2',
457
- * 'Standard_F72s_v2', 'Standard_F8', 'Standard_F8s', 'Standard_F8s_v2', 'Standard_G1',
458
- * 'Standard_G2', 'Standard_G3', 'Standard_G4', 'Standard_G5', 'Standard_GS1', 'Standard_GS2',
459
- * 'Standard_GS3', 'Standard_GS4', 'Standard_GS4-4', 'Standard_GS4-8', 'Standard_GS5',
460
- * 'Standard_GS5-16', 'Standard_GS5-8', 'Standard_H16', 'Standard_H16m', 'Standard_H16mr',
461
- * 'Standard_H16r', 'Standard_H8', 'Standard_H8m', 'Standard_L16s', 'Standard_L32s',
462
- * 'Standard_L4s', 'Standard_L8s', 'Standard_M128-32ms', 'Standard_M128-64ms', 'Standard_M128ms',
463
- * 'Standard_M128s', 'Standard_M64-16ms', 'Standard_M64-32ms', 'Standard_M64ms', 'Standard_M64s',
464
- * 'Standard_NC12', 'Standard_NC12s_v2', 'Standard_NC12s_v3', 'Standard_NC24', 'Standard_NC24r',
465
- * 'Standard_NC24rs_v2', 'Standard_NC24rs_v3', 'Standard_NC24s_v2', 'Standard_NC24s_v3',
466
- * 'Standard_NC6', 'Standard_NC6s_v2', 'Standard_NC6s_v3', 'Standard_ND12s', 'Standard_ND24rs',
467
- * 'Standard_ND24s', 'Standard_ND6s', 'Standard_NV12', 'Standard_NV24', 'Standard_NV6'
468
- */
469
- vmSize?: ContainerServiceVMSizeTypes;
470
- /**
471
- * OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent
472
- * pool. If you specify 0, it will apply the default osDisk size according to the vmSize
473
- * specified.
463
+ * The size of the agent pool VMs. VM size availability varies by region. If a node contains
464
+ * insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more
465
+ * details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions
474
466
  */
467
+ vmSize?: string;
475
468
  osDiskSizeGB?: number;
476
469
  /**
477
- * OS disk type to be used for machines in a given agent pool. Allowed values are 'Ephemeral' and
478
- * 'Managed'. Defaults to 'Managed'. May not be changed after creation. Possible values include:
479
- * 'Managed', 'Ephemeral'
470
+ * Possible values include: 'Managed', 'Ephemeral'
480
471
  */
481
472
  osDiskType?: OSDiskType;
482
473
  /**
483
- * KubeletDiskType determines the placement of emptyDir volumes, container runtime data root, and
484
- * Kubelet ephemeral storage. Currently allows one value, OS, resulting in Kubelet using the OS
485
- * disk for data. Possible values include: 'OS', 'Temporary'
474
+ * Possible values include: 'OS', 'Temporary'
486
475
  */
487
476
  kubeletDiskType?: KubeletDiskType;
488
477
  /**
489
- * VNet SubnetID specifies the VNet's subnet identifier for nodes and maybe pods
478
+ * Possible values include: 'OCIContainer', 'WasmWasi'
479
+ */
480
+ workloadRuntime?: WorkloadRuntime;
481
+ /**
482
+ * The ID of the subnet which agent pool nodes and optionally pods will join on startup. If this
483
+ * is not specified, a VNET and subnet will be generated and used. If no podSubnetID is
484
+ * specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the
485
+ * form:
486
+ * /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}
490
487
  */
491
488
  vnetSubnetID?: string;
492
489
  /**
493
- * Pod SubnetID specifies the VNet's subnet identifier for pods.
490
+ * The ID of the subnet which pods will join when launched. If omitted, pod IPs are statically
491
+ * assigned on the node subnet (see vnetSubnetID for more details). This is of the form:
492
+ * /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}
494
493
  */
495
494
  podSubnetID?: string;
496
495
  /**
497
- * Maximum number of pods that can run on a node.
496
+ * The maximum number of pods that can run on a node.
498
497
  */
499
498
  maxPods?: number;
500
499
  /**
501
- * OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux.
502
500
  * Possible values include: 'Linux', 'Windows'. Default value: 'Linux'.
503
501
  */
504
502
  osType?: OSType;
505
503
  /**
506
- * OsSKU to be used to specify os sku. Choose from Ubuntu(default) and CBLMariner for Linux
507
- * OSType. Not applicable to Windows OSType. Possible values include: 'Ubuntu', 'CBLMariner'
504
+ * Possible values include: 'Ubuntu', 'CBLMariner'
508
505
  */
509
506
  osSKU?: OSSKU;
510
507
  /**
511
- * Maximum number of nodes for auto-scaling
508
+ * The maximum number of nodes for auto-scaling
512
509
  */
513
510
  maxCount?: number;
514
511
  /**
515
- * Minimum number of nodes for auto-scaling
512
+ * The minimum number of nodes for auto-scaling
516
513
  */
517
514
  minCount?: number;
518
515
  /**
@@ -520,20 +517,30 @@ export interface ManagedClusterAgentPoolProfileProperties {
520
517
  */
521
518
  enableAutoScaling?: boolean;
522
519
  /**
523
- * AgentPoolType represents types of an agent pool. Possible values include:
524
- * 'VirtualMachineScaleSets', 'AvailabilitySet'
520
+ * The scale down mode to use when scaling the Agent Pool. This also effects the cluster
521
+ * autoscaler behavior. If not specified, it defaults to Delete. Possible values include:
522
+ * 'Delete', 'Deallocate'
523
+ */
524
+ scaleDownMode?: ScaleDownMode;
525
+ /**
526
+ * Possible values include: 'VirtualMachineScaleSets', 'AvailabilitySet'
525
527
  */
526
528
  type?: AgentPoolType;
527
529
  /**
528
- * AgentPoolMode represents mode of an agent pool. Possible values include: 'System', 'User'
530
+ * Possible values include: 'System', 'User'
529
531
  */
530
532
  mode?: AgentPoolMode;
531
533
  /**
532
- * Version of orchestrator specified when creating the managed cluster.
534
+ * The version of Kubernetes running on the Agent Pool. As a best practice, you should upgrade
535
+ * all node pools in an AKS cluster to the same Kubernetes version. The node pool version must
536
+ * have the same major version as the control plane. The node pool minor version must be within
537
+ * two minor versions of the control plane version. The node pool version cannot be greater than
538
+ * the control plane version. For more information see [upgrading a node
539
+ * pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool).
533
540
  */
534
541
  orchestratorVersion?: string;
535
542
  /**
536
- * Version of node image
543
+ * The version of node image
537
544
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
538
545
  */
539
546
  readonly nodeImageVersion?: string;
@@ -542,54 +549,65 @@ export interface ManagedClusterAgentPoolProfileProperties {
542
549
  */
543
550
  upgradeSettings?: AgentPoolUpgradeSettings;
544
551
  /**
545
- * The current deployment or provisioning state, which only appears in the response.
552
+ * The current deployment or provisioning state.
546
553
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
547
554
  */
548
555
  readonly provisioningState?: string;
549
556
  /**
550
- * Describes whether the Agent Pool is Running or Stopped
551
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
557
+ * Whether the Agent Pool is running or stopped. When an Agent Pool is first created it is
558
+ * initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped
559
+ * Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be
560
+ * stopped if it is Running and provisioning state is Succeeded
552
561
  */
553
- readonly powerState?: PowerState;
562
+ powerState?: PowerState;
554
563
  /**
555
- * Availability zones for nodes. Must use VirtualMachineScaleSets AgentPoolType.
564
+ * The list of Availability zones to use for nodes. This can only be specified if the
565
+ * AgentPoolType property is 'VirtualMachineScaleSets'.
556
566
  */
557
567
  availabilityZones?: string[];
558
568
  /**
559
- * Enable public IP for nodes
569
+ * Whether each node is allocated its own public IP. Some scenarios may require nodes in a node
570
+ * pool to receive their own dedicated public IP addresses. A common scenario is for gaming
571
+ * workloads, where a console needs to make a direct connection to a cloud virtual machine to
572
+ * minimize hops. For more information see [assigning a public IP per
573
+ * node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools).
574
+ * The default is false.
560
575
  */
561
576
  enableNodePublicIP?: boolean;
562
577
  /**
563
- * Public IP Prefix ID. VM nodes use IPs assigned from this Public IP Prefix.
578
+ * The public IP prefix ID which VM nodes should use IPs from. This is of the form:
579
+ * /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName}
564
580
  */
565
581
  nodePublicIPPrefixID?: string;
566
582
  /**
567
- * ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular.
568
- * Possible values include: 'Spot', 'Regular'. Default value: 'Regular'.
583
+ * The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. Possible
584
+ * values include: 'Spot', 'Regular'. Default value: 'Regular'.
569
585
  */
570
586
  scaleSetPriority?: ScaleSetPriority;
571
587
  /**
572
- * ScaleSetEvictionPolicy to be used to specify eviction policy for Spot virtual machine scale
573
- * set. Default to Delete. Possible values include: 'Delete', 'Deallocate'. Default value:
574
- * 'Delete'.
588
+ * The Virtual Machine Scale Set eviction policy to use. This cannot be specified unless the
589
+ * scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'. Possible values
590
+ * include: 'Delete', 'Deallocate'. Default value: 'Delete'.
575
591
  */
576
592
  scaleSetEvictionPolicy?: ScaleSetEvictionPolicy;
577
593
  /**
578
- * SpotMaxPrice to be used to specify the maximum price you are willing to pay in US Dollars.
579
- * Possible values are any decimal value greater than zero or -1 which indicates default price to
580
- * be up-to on-demand.
594
+ * The max price (in US Dollars) you are willing to pay for spot instances. Possible values are
595
+ * any decimal value greater than zero or -1 which indicates default price to be up-to on-demand.
596
+ * Possible values are any decimal value greater than zero or -1 which indicates the willingness
597
+ * to pay any on-demand price. For more details on spot pricing, see [spot VMs
598
+ * pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing)
581
599
  */
582
600
  spotMaxPrice?: number;
583
601
  /**
584
- * Agent pool tags to be persisted on the agent pool virtual machine scale set.
602
+ * The tags to be persisted on the agent pool virtual machine scale set.
585
603
  */
586
604
  tags?: { [propertyName: string]: string };
587
605
  /**
588
- * Agent pool node labels to be persisted across all nodes in agent pool.
606
+ * The node labels to be persisted across all nodes in agent pool.
589
607
  */
590
608
  nodeLabels?: { [propertyName: string]: string };
591
609
  /**
592
- * Taints added to new nodes during node pool create and scale. For example,
610
+ * The taints added to new nodes during node pool create and scale. For example,
593
611
  * key=value:NoSchedule.
594
612
  */
595
613
  nodeTaints?: string[];
@@ -598,27 +616,39 @@ export interface ManagedClusterAgentPoolProfileProperties {
598
616
  */
599
617
  proximityPlacementGroupID?: string;
600
618
  /**
601
- * KubeletConfig specifies the configuration of kubelet on agent nodes.
619
+ * The Kubelet configuration on the agent pool nodes.
602
620
  */
603
621
  kubeletConfig?: KubeletConfig;
604
622
  /**
605
- * LinuxOSConfig specifies the OS configuration of linux agent nodes.
623
+ * The OS configuration of Linux agent nodes.
606
624
  */
607
625
  linuxOSConfig?: LinuxOSConfig;
608
626
  /**
609
- * Whether to enable EncryptionAtHost
627
+ * Whether to enable host based OS and data drive encryption. This is only supported on certain
628
+ * VM sizes and in certain Azure regions. For more information, see:
629
+ * https://docs.microsoft.com/azure/aks/enable-host-encryption
610
630
  */
611
631
  enableEncryptionAtHost?: boolean;
612
632
  /**
613
- * Whether to use FIPS enabled OS
633
+ * Whether to enable UltraSSD
634
+ */
635
+ enableUltraSSD?: boolean;
636
+ /**
637
+ * Whether to use a FIPS-enabled OS. See [Add a FIPS-enabled node
638
+ * pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview)
639
+ * for more details.
614
640
  */
615
641
  enableFIPS?: boolean;
616
642
  /**
617
643
  * GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.
618
- * Supported values are MIG1g, MIG2g, MIG3g, MIG4g and MIG7g. Possible values include: 'MIG1g',
619
- * 'MIG2g', 'MIG3g', 'MIG4g', 'MIG7g'
644
+ * Possible values include: 'MIG1g', 'MIG2g', 'MIG3g', 'MIG4g', 'MIG7g'
620
645
  */
621
646
  gpuInstanceProfile?: GPUInstanceProfile;
647
+ /**
648
+ * CreationData to be used to specify the source Snapshot ID if the node pool will be
649
+ * created/upgraded using a snapshot.
650
+ */
651
+ creationData?: CreationData;
622
652
  }
623
653
 
624
654
  /**
@@ -627,6 +657,7 @@ export interface ManagedClusterAgentPoolProfileProperties {
627
657
  export interface ManagedClusterAgentPoolProfile extends ManagedClusterAgentPoolProfileProperties {
628
658
  /**
629
659
  * Unique name of the agent pool profile in the context of the subscription and resource group.
660
+ * Windows agent pool names must be 6 characters or less.
630
661
  */
631
662
  name: string;
632
663
  }
@@ -637,97 +668,61 @@ export interface ManagedClusterAgentPoolProfile extends ManagedClusterAgentPoolP
637
668
  export interface AgentPool extends SubResource {
638
669
  /**
639
670
  * Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to
640
- * 100 (inclusive) for user pools and in the range of 1 to 100 (inclusive) for system pools. The
641
- * default value is 1.
671
+ * 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools.
672
+ * The default value is 1.
642
673
  */
643
674
  count?: number;
644
675
  /**
645
- * Size of agent VMs. Possible values include: 'Standard_A1', 'Standard_A10', 'Standard_A11',
646
- * 'Standard_A1_v2', 'Standard_A2', 'Standard_A2_v2', 'Standard_A2m_v2', 'Standard_A3',
647
- * 'Standard_A4', 'Standard_A4_v2', 'Standard_A4m_v2', 'Standard_A5', 'Standard_A6',
648
- * 'Standard_A7', 'Standard_A8', 'Standard_A8_v2', 'Standard_A8m_v2', 'Standard_A9',
649
- * 'Standard_B2ms', 'Standard_B2s', 'Standard_B4ms', 'Standard_B8ms', 'Standard_D1',
650
- * 'Standard_D11', 'Standard_D11_v2', 'Standard_D11_v2_Promo', 'Standard_D12', 'Standard_D12_v2',
651
- * 'Standard_D12_v2_Promo', 'Standard_D13', 'Standard_D13_v2', 'Standard_D13_v2_Promo',
652
- * 'Standard_D14', 'Standard_D14_v2', 'Standard_D14_v2_Promo', 'Standard_D15_v2',
653
- * 'Standard_D16_v3', 'Standard_D16s_v3', 'Standard_D1_v2', 'Standard_D2', 'Standard_D2_v2',
654
- * 'Standard_D2_v2_Promo', 'Standard_D2_v3', 'Standard_D2s_v3', 'Standard_D3', 'Standard_D32_v3',
655
- * 'Standard_D32s_v3', 'Standard_D3_v2', 'Standard_D3_v2_Promo', 'Standard_D4', 'Standard_D4_v2',
656
- * 'Standard_D4_v2_Promo', 'Standard_D4_v3', 'Standard_D4s_v3', 'Standard_D5_v2',
657
- * 'Standard_D5_v2_Promo', 'Standard_D64_v3', 'Standard_D64s_v3', 'Standard_D8_v3',
658
- * 'Standard_D8s_v3', 'Standard_DS1', 'Standard_DS11', 'Standard_DS11_v2',
659
- * 'Standard_DS11_v2_Promo', 'Standard_DS12', 'Standard_DS12_v2', 'Standard_DS12_v2_Promo',
660
- * 'Standard_DS13', 'Standard_DS13-2_v2', 'Standard_DS13-4_v2', 'Standard_DS13_v2',
661
- * 'Standard_DS13_v2_Promo', 'Standard_DS14', 'Standard_DS14-4_v2', 'Standard_DS14-8_v2',
662
- * 'Standard_DS14_v2', 'Standard_DS14_v2_Promo', 'Standard_DS15_v2', 'Standard_DS1_v2',
663
- * 'Standard_DS2', 'Standard_DS2_v2', 'Standard_DS2_v2_Promo', 'Standard_DS3', 'Standard_DS3_v2',
664
- * 'Standard_DS3_v2_Promo', 'Standard_DS4', 'Standard_DS4_v2', 'Standard_DS4_v2_Promo',
665
- * 'Standard_DS5_v2', 'Standard_DS5_v2_Promo', 'Standard_E16_v3', 'Standard_E16s_v3',
666
- * 'Standard_E2_v3', 'Standard_E2s_v3', 'Standard_E32-16s_v3', 'Standard_E32-8s_v3',
667
- * 'Standard_E32_v3', 'Standard_E32s_v3', 'Standard_E4_v3', 'Standard_E4s_v3',
668
- * 'Standard_E64-16s_v3', 'Standard_E64-32s_v3', 'Standard_E64_v3', 'Standard_E64s_v3',
669
- * 'Standard_E8_v3', 'Standard_E8s_v3', 'Standard_F1', 'Standard_F16', 'Standard_F16s',
670
- * 'Standard_F16s_v2', 'Standard_F1s', 'Standard_F2', 'Standard_F2s', 'Standard_F2s_v2',
671
- * 'Standard_F32s_v2', 'Standard_F4', 'Standard_F4s', 'Standard_F4s_v2', 'Standard_F64s_v2',
672
- * 'Standard_F72s_v2', 'Standard_F8', 'Standard_F8s', 'Standard_F8s_v2', 'Standard_G1',
673
- * 'Standard_G2', 'Standard_G3', 'Standard_G4', 'Standard_G5', 'Standard_GS1', 'Standard_GS2',
674
- * 'Standard_GS3', 'Standard_GS4', 'Standard_GS4-4', 'Standard_GS4-8', 'Standard_GS5',
675
- * 'Standard_GS5-16', 'Standard_GS5-8', 'Standard_H16', 'Standard_H16m', 'Standard_H16mr',
676
- * 'Standard_H16r', 'Standard_H8', 'Standard_H8m', 'Standard_L16s', 'Standard_L32s',
677
- * 'Standard_L4s', 'Standard_L8s', 'Standard_M128-32ms', 'Standard_M128-64ms', 'Standard_M128ms',
678
- * 'Standard_M128s', 'Standard_M64-16ms', 'Standard_M64-32ms', 'Standard_M64ms', 'Standard_M64s',
679
- * 'Standard_NC12', 'Standard_NC12s_v2', 'Standard_NC12s_v3', 'Standard_NC24', 'Standard_NC24r',
680
- * 'Standard_NC24rs_v2', 'Standard_NC24rs_v3', 'Standard_NC24s_v2', 'Standard_NC24s_v3',
681
- * 'Standard_NC6', 'Standard_NC6s_v2', 'Standard_NC6s_v3', 'Standard_ND12s', 'Standard_ND24rs',
682
- * 'Standard_ND24s', 'Standard_ND6s', 'Standard_NV12', 'Standard_NV24', 'Standard_NV6'
683
- */
684
- vmSize?: ContainerServiceVMSizeTypes;
685
- /**
686
- * OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent
687
- * pool. If you specify 0, it will apply the default osDisk size according to the vmSize
688
- * specified.
676
+ * The size of the agent pool VMs. VM size availability varies by region. If a node contains
677
+ * insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more
678
+ * details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions
689
679
  */
680
+ vmSize?: string;
690
681
  osDiskSizeGB?: number;
691
682
  /**
692
- * OS disk type to be used for machines in a given agent pool. Allowed values are 'Ephemeral' and
693
- * 'Managed'. Defaults to 'Managed'. May not be changed after creation. Possible values include:
694
- * 'Managed', 'Ephemeral'
683
+ * Possible values include: 'Managed', 'Ephemeral'
695
684
  */
696
685
  osDiskType?: OSDiskType;
697
686
  /**
698
- * KubeletDiskType determines the placement of emptyDir volumes, container runtime data root, and
699
- * Kubelet ephemeral storage. Currently allows one value, OS, resulting in Kubelet using the OS
700
- * disk for data. Possible values include: 'OS', 'Temporary'
687
+ * Possible values include: 'OS', 'Temporary'
701
688
  */
702
689
  kubeletDiskType?: KubeletDiskType;
703
690
  /**
704
- * VNet SubnetID specifies the VNet's subnet identifier for nodes and maybe pods
691
+ * Possible values include: 'OCIContainer', 'WasmWasi'
692
+ */
693
+ workloadRuntime?: WorkloadRuntime;
694
+ /**
695
+ * The ID of the subnet which agent pool nodes and optionally pods will join on startup. If this
696
+ * is not specified, a VNET and subnet will be generated and used. If no podSubnetID is
697
+ * specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the
698
+ * form:
699
+ * /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}
705
700
  */
706
701
  vnetSubnetID?: string;
707
702
  /**
708
- * Pod SubnetID specifies the VNet's subnet identifier for pods.
703
+ * The ID of the subnet which pods will join when launched. If omitted, pod IPs are statically
704
+ * assigned on the node subnet (see vnetSubnetID for more details). This is of the form:
705
+ * /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}
709
706
  */
710
707
  podSubnetID?: string;
711
708
  /**
712
- * Maximum number of pods that can run on a node.
709
+ * The maximum number of pods that can run on a node.
713
710
  */
714
711
  maxPods?: number;
715
712
  /**
716
- * OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux.
717
713
  * Possible values include: 'Linux', 'Windows'. Default value: 'Linux'.
718
714
  */
719
715
  osType?: OSType;
720
716
  /**
721
- * OsSKU to be used to specify os sku. Choose from Ubuntu(default) and CBLMariner for Linux
722
- * OSType. Not applicable to Windows OSType. Possible values include: 'Ubuntu', 'CBLMariner'
717
+ * Possible values include: 'Ubuntu', 'CBLMariner'
723
718
  */
724
719
  osSKU?: OSSKU;
725
720
  /**
726
- * Maximum number of nodes for auto-scaling
721
+ * The maximum number of nodes for auto-scaling
727
722
  */
728
723
  maxCount?: number;
729
724
  /**
730
- * Minimum number of nodes for auto-scaling
725
+ * The minimum number of nodes for auto-scaling
731
726
  */
732
727
  minCount?: number;
733
728
  /**
@@ -735,20 +730,30 @@ export interface AgentPool extends SubResource {
735
730
  */
736
731
  enableAutoScaling?: boolean;
737
732
  /**
738
- * AgentPoolType represents types of an agent pool. Possible values include:
739
- * 'VirtualMachineScaleSets', 'AvailabilitySet'
733
+ * The scale down mode to use when scaling the Agent Pool. This also effects the cluster
734
+ * autoscaler behavior. If not specified, it defaults to Delete. Possible values include:
735
+ * 'Delete', 'Deallocate'
736
+ */
737
+ scaleDownMode?: ScaleDownMode;
738
+ /**
739
+ * Possible values include: 'VirtualMachineScaleSets', 'AvailabilitySet'
740
740
  */
741
741
  agentPoolType?: AgentPoolType;
742
742
  /**
743
- * AgentPoolMode represents mode of an agent pool. Possible values include: 'System', 'User'
743
+ * Possible values include: 'System', 'User'
744
744
  */
745
745
  mode?: AgentPoolMode;
746
746
  /**
747
- * Version of orchestrator specified when creating the managed cluster.
747
+ * The version of Kubernetes running on the Agent Pool. As a best practice, you should upgrade
748
+ * all node pools in an AKS cluster to the same Kubernetes version. The node pool version must
749
+ * have the same major version as the control plane. The node pool minor version must be within
750
+ * two minor versions of the control plane version. The node pool version cannot be greater than
751
+ * the control plane version. For more information see [upgrading a node
752
+ * pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool).
748
753
  */
749
754
  orchestratorVersion?: string;
750
755
  /**
751
- * Version of node image
756
+ * The version of node image
752
757
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
753
758
  */
754
759
  readonly nodeImageVersion?: string;
@@ -757,54 +762,65 @@ export interface AgentPool extends SubResource {
757
762
  */
758
763
  upgradeSettings?: AgentPoolUpgradeSettings;
759
764
  /**
760
- * The current deployment or provisioning state, which only appears in the response.
765
+ * The current deployment or provisioning state.
761
766
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
762
767
  */
763
768
  readonly provisioningState?: string;
764
769
  /**
765
- * Describes whether the Agent Pool is Running or Stopped
766
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
770
+ * Whether the Agent Pool is running or stopped. When an Agent Pool is first created it is
771
+ * initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped
772
+ * Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be
773
+ * stopped if it is Running and provisioning state is Succeeded
767
774
  */
768
- readonly powerState?: PowerState;
775
+ powerState?: PowerState;
769
776
  /**
770
- * Availability zones for nodes. Must use VirtualMachineScaleSets AgentPoolType.
777
+ * The list of Availability zones to use for nodes. This can only be specified if the
778
+ * AgentPoolType property is 'VirtualMachineScaleSets'.
771
779
  */
772
780
  availabilityZones?: string[];
773
781
  /**
774
- * Enable public IP for nodes
782
+ * Whether each node is allocated its own public IP. Some scenarios may require nodes in a node
783
+ * pool to receive their own dedicated public IP addresses. A common scenario is for gaming
784
+ * workloads, where a console needs to make a direct connection to a cloud virtual machine to
785
+ * minimize hops. For more information see [assigning a public IP per
786
+ * node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools).
787
+ * The default is false.
775
788
  */
776
789
  enableNodePublicIP?: boolean;
777
790
  /**
778
- * Public IP Prefix ID. VM nodes use IPs assigned from this Public IP Prefix.
791
+ * The public IP prefix ID which VM nodes should use IPs from. This is of the form:
792
+ * /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName}
779
793
  */
780
794
  nodePublicIPPrefixID?: string;
781
795
  /**
782
- * ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular.
783
- * Possible values include: 'Spot', 'Regular'. Default value: 'Regular'.
796
+ * The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. Possible
797
+ * values include: 'Spot', 'Regular'. Default value: 'Regular'.
784
798
  */
785
799
  scaleSetPriority?: ScaleSetPriority;
786
800
  /**
787
- * ScaleSetEvictionPolicy to be used to specify eviction policy for Spot virtual machine scale
788
- * set. Default to Delete. Possible values include: 'Delete', 'Deallocate'. Default value:
789
- * 'Delete'.
801
+ * The Virtual Machine Scale Set eviction policy to use. This cannot be specified unless the
802
+ * scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'. Possible values
803
+ * include: 'Delete', 'Deallocate'. Default value: 'Delete'.
790
804
  */
791
805
  scaleSetEvictionPolicy?: ScaleSetEvictionPolicy;
792
806
  /**
793
- * SpotMaxPrice to be used to specify the maximum price you are willing to pay in US Dollars.
794
- * Possible values are any decimal value greater than zero or -1 which indicates default price to
795
- * be up-to on-demand.
807
+ * The max price (in US Dollars) you are willing to pay for spot instances. Possible values are
808
+ * any decimal value greater than zero or -1 which indicates default price to be up-to on-demand.
809
+ * Possible values are any decimal value greater than zero or -1 which indicates the willingness
810
+ * to pay any on-demand price. For more details on spot pricing, see [spot VMs
811
+ * pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing)
796
812
  */
797
813
  spotMaxPrice?: number;
798
814
  /**
799
- * Agent pool tags to be persisted on the agent pool virtual machine scale set.
815
+ * The tags to be persisted on the agent pool virtual machine scale set.
800
816
  */
801
817
  tags?: { [propertyName: string]: string };
802
818
  /**
803
- * Agent pool node labels to be persisted across all nodes in agent pool.
819
+ * The node labels to be persisted across all nodes in agent pool.
804
820
  */
805
821
  nodeLabels?: { [propertyName: string]: string };
806
822
  /**
807
- * Taints added to new nodes during node pool create and scale. For example,
823
+ * The taints added to new nodes during node pool create and scale. For example,
808
824
  * key=value:NoSchedule.
809
825
  */
810
826
  nodeTaints?: string[];
@@ -813,35 +829,68 @@ export interface AgentPool extends SubResource {
813
829
  */
814
830
  proximityPlacementGroupID?: string;
815
831
  /**
816
- * KubeletConfig specifies the configuration of kubelet on agent nodes.
832
+ * The Kubelet configuration on the agent pool nodes.
817
833
  */
818
834
  kubeletConfig?: KubeletConfig;
819
835
  /**
820
- * LinuxOSConfig specifies the OS configuration of linux agent nodes.
836
+ * The OS configuration of Linux agent nodes.
821
837
  */
822
838
  linuxOSConfig?: LinuxOSConfig;
823
839
  /**
824
- * Whether to enable EncryptionAtHost
840
+ * Whether to enable host based OS and data drive encryption. This is only supported on certain
841
+ * VM sizes and in certain Azure regions. For more information, see:
842
+ * https://docs.microsoft.com/azure/aks/enable-host-encryption
825
843
  */
826
844
  enableEncryptionAtHost?: boolean;
827
845
  /**
828
- * Whether to use FIPS enabled OS
846
+ * Whether to enable UltraSSD
847
+ */
848
+ enableUltraSSD?: boolean;
849
+ /**
850
+ * Whether to use a FIPS-enabled OS. See [Add a FIPS-enabled node
851
+ * pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview)
852
+ * for more details.
829
853
  */
830
854
  enableFIPS?: boolean;
831
855
  /**
832
856
  * GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.
833
- * Supported values are MIG1g, MIG2g, MIG3g, MIG4g and MIG7g. Possible values include: 'MIG1g',
834
- * 'MIG2g', 'MIG3g', 'MIG4g', 'MIG7g'
857
+ * Possible values include: 'MIG1g', 'MIG2g', 'MIG3g', 'MIG4g', 'MIG7g'
835
858
  */
836
859
  gpuInstanceProfile?: GPUInstanceProfile;
860
+ /**
861
+ * CreationData to be used to specify the source Snapshot ID if the node pool will be
862
+ * created/upgraded using a snapshot.
863
+ */
864
+ creationData?: CreationData;
865
+ }
866
+
867
+ /**
868
+ * Windows gMSA Profile in the managed cluster.
869
+ */
870
+ export interface WindowsGmsaProfile {
871
+ /**
872
+ * Whether to enable Windows gMSA. Specifies whether to enable Windows gMSA in the managed
873
+ * cluster.
874
+ */
875
+ enabled?: boolean;
876
+ /**
877
+ * Specifies the DNS server for Windows gMSA. <br><br> Set it to empty if you have configured the
878
+ * DNS server in the vnet which is used to create the managed cluster.
879
+ */
880
+ dnsServer?: string;
881
+ /**
882
+ * Specifies the root domain name for Windows gMSA. <br><br> Set it to empty if you have
883
+ * configured the DNS server in the vnet which is used to create the managed cluster.
884
+ */
885
+ rootDomainName?: string;
837
886
  }
838
887
 
839
888
  /**
840
- * Profile for Windows VMs in the container service cluster.
889
+ * Profile for Windows VMs in the managed cluster.
841
890
  */
842
891
  export interface ManagedClusterWindowsProfile {
843
892
  /**
844
- * Specifies the name of the administrator account. <br><br> **restriction:** Cannot end in "."
893
+ * Specifies the name of the administrator account. <br><br> **Restriction:** Cannot end in "."
845
894
  * <br><br> **Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2",
846
895
  * "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup",
847
896
  * "console", "david", "guest", "john", "owner", "root", "server", "sql", "support",
@@ -859,14 +908,20 @@ export interface ManagedClusterWindowsProfile {
859
908
  */
860
909
  adminPassword?: string;
861
910
  /**
862
- * The licenseType to use for Windows VMs. Windows_Server is used to enable Azure Hybrid User
863
- * Benefits for Windows VMs. Possible values include: 'None', 'Windows_Server'
911
+ * The license type to use for Windows VMs. See [Azure Hybrid User
912
+ * Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. Possible
913
+ * values include: 'None', 'Windows_Server'
864
914
  */
865
915
  licenseType?: LicenseType;
866
916
  /**
867
- * Whether to enable CSI proxy.
917
+ * Whether to enable CSI proxy. For more details on CSI proxy, see the [CSI proxy GitHub
918
+ * repo](https://github.com/kubernetes-csi/csi-proxy).
868
919
  */
869
920
  enableCSIProxy?: boolean;
921
+ /**
922
+ * The Windows gMSA Profile in the Managed Cluster.
923
+ */
924
+ gmsaProfile?: WindowsGmsaProfile;
870
925
  }
871
926
 
872
927
  /**
@@ -885,8 +940,8 @@ export interface ContainerServiceSshPublicKey {
885
940
  */
886
941
  export interface ContainerServiceSshConfiguration {
887
942
  /**
888
- * The list of SSH public keys used to authenticate with Linux-based VMs. Only expect one key
889
- * specified.
943
+ * The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may
944
+ * be specified.
890
945
  */
891
946
  publicKeys: ContainerServiceSshPublicKey[];
892
947
  }
@@ -900,7 +955,7 @@ export interface ContainerServiceLinuxProfile {
900
955
  */
901
956
  adminUsername: string;
902
957
  /**
903
- * SSH configuration for Linux-based VMs running on Azure.
958
+ * The SSH configuration for Linux-based VMs running on Azure.
904
959
  */
905
960
  ssh: ContainerServiceSshConfiguration;
906
961
  }
@@ -910,10 +965,17 @@ export interface ContainerServiceLinuxProfile {
910
965
  */
911
966
  export interface ManagedClusterLoadBalancerProfileManagedOutboundIPs {
912
967
  /**
913
- * Desired number of outbound IP created/managed by Azure for the cluster load balancer. Allowed
914
- * values must be in the range of 1 to 100 (inclusive). The default value is 1. Default value: 1.
968
+ * The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load
969
+ * balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1.
970
+ * Default value: 1.
915
971
  */
916
972
  count?: number;
973
+ /**
974
+ * The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load
975
+ * balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 0
976
+ * for single-stack and 1 for dual-stack. Default value: 0.
977
+ */
978
+ countIPv6?: number;
917
979
  }
918
980
 
919
981
  /**
@@ -967,16 +1029,50 @@ export interface ManagedClusterLoadBalancerProfile {
967
1029
  */
968
1030
  effectiveOutboundIPs?: ResourceReference[];
969
1031
  /**
970
- * Desired number of allocated SNAT ports per VM. Allowed values must be in the range of 0 to
1032
+ * The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to
971
1033
  * 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports.
972
1034
  * Default value: 0.
973
1035
  */
974
1036
  allocatedOutboundPorts?: number;
975
1037
  /**
976
- * Desired outbound flow idle timeout in minutes. Allowed values must be in the range of 4 to 120
1038
+ * Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120
977
1039
  * (inclusive). The default value is 30 minutes. Default value: 30.
978
1040
  */
979
1041
  idleTimeoutInMinutes?: number;
1042
+ /**
1043
+ * Enable multiple standard load balancers per AKS cluster or not.
1044
+ */
1045
+ enableMultipleStandardLoadBalancers?: boolean;
1046
+ }
1047
+
1048
+ /**
1049
+ * Profile of the managed outbound IP resources of the managed cluster.
1050
+ */
1051
+ export interface ManagedClusterManagedOutboundIPProfile {
1052
+ /**
1053
+ * The desired number of outbound IPs created/managed by Azure. Allowed values must be in the
1054
+ * range of 1 to 16 (inclusive). The default value is 1. Default value: 1.
1055
+ */
1056
+ count?: number;
1057
+ }
1058
+
1059
+ /**
1060
+ * Profile of the managed cluster NAT gateway.
1061
+ */
1062
+ export interface ManagedClusterNATGatewayProfile {
1063
+ /**
1064
+ * Profile of the managed outbound IP resources of the cluster NAT gateway.
1065
+ */
1066
+ managedOutboundIPProfile?: ManagedClusterManagedOutboundIPProfile;
1067
+ /**
1068
+ * The effective outbound IP resources of the cluster NAT gateway.
1069
+ */
1070
+ effectiveOutboundIPs?: ResourceReference[];
1071
+ /**
1072
+ * Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120
1073
+ * (inclusive). The default value is 4 minutes. Default value: 4.
1074
+ */
1075
+ idleTimeoutInMinutes?: number;
980
1076
  }
981
1077
 
982
1078
  /**
@@ -984,18 +1080,18 @@ export interface ManagedClusterLoadBalancerProfile {
984
1080
  */
985
1081
  export interface ContainerServiceNetworkProfile {
986
1082
  /**
987
- * Network plugin used for building Kubernetes network. Possible values include: 'azure',
1083
+ * Network plugin used for building the Kubernetes network. Possible values include: 'azure',
988
1084
  * 'kubenet'. Default value: 'kubenet'.
989
1085
  */
990
1086
  networkPlugin?: NetworkPlugin;
991
1087
  /**
992
- * Network policy used for building Kubernetes network. Possible values include: 'calico',
1088
+ * Network policy used for building the Kubernetes network. Possible values include: 'calico',
993
1089
  * 'azure'
994
1090
  */
995
1091
  networkPolicy?: NetworkPolicy;
996
1092
  /**
997
- * Network mode used for building Kubernetes network. Possible values include: 'transparent',
998
- * 'bridge'
1093
+ * The network mode Azure CNI is configured with. This cannot be specified if networkPlugin is
1094
+ * anything other than 'azure'. Possible values include: 'transparent', 'bridge'
999
1095
  */
1000
1096
  networkMode?: NetworkMode;
1001
1097
  /**
@@ -1019,18 +1115,45 @@ export interface ContainerServiceNetworkProfile {
1019
1115
  */
1020
1116
  dockerBridgeCidr?: string;
1021
1117
  /**
1022
- * The outbound (egress) routing method. Possible values include: 'loadBalancer',
1023
- * 'userDefinedRouting'. Default value: 'loadBalancer'.
1118
+ * The outbound (egress) routing method. This can only be set at cluster creation time and cannot
1119
+ * be changed later. For more information see [egress outbound
1120
+ * type](https://docs.microsoft.com/azure/aks/egress-outboundtype). Possible values include:
1121
+ * 'loadBalancer', 'userDefinedRouting', 'managedNATGateway', 'userAssignedNATGateway'. Default
1122
+ * value: 'loadBalancer'.
1024
1123
  */
1025
1124
  outboundType?: OutboundType;
1026
1125
  /**
1027
- * The load balancer sku for the managed cluster. Possible values include: 'standard', 'basic'
1126
+ * The load balancer sku for the managed cluster. The default is 'standard'. See [Azure Load
1127
+ * Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about
1128
+ * the differences between load balancer SKUs. Possible values include: 'standard', 'basic'
1028
1129
  */
1029
1130
  loadBalancerSku?: LoadBalancerSku;
1030
1131
  /**
1031
1132
  * Profile of the cluster load balancer.
1032
1133
  */
1033
1134
  loadBalancerProfile?: ManagedClusterLoadBalancerProfile;
1135
+ /**
1136
+ * Profile of the cluster NAT gateway.
1137
+ */
1138
+ natGatewayProfile?: ManagedClusterNATGatewayProfile;
1139
+ /**
1140
+ * The CIDR notation IP ranges from which to assign pod IPs. One IPv4 CIDR is expected for
1141
+ * single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for
1142
+ * dual-stack networking.
1143
+ */
1144
+ podCidrs?: string[];
1145
+ /**
1146
+ * The CIDR notation IP ranges from which to assign service cluster IPs. One IPv4 CIDR is
1147
+ * expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is
1148
+ * expected for dual-stack networking. They must not overlap with any Subnet IP ranges.
1149
+ */
1150
+ serviceCidrs?: string[];
1151
+ /**
1152
+ * The IP families used to specify IP versions available to the cluster. IP families are used to
1153
+ * determine single-stack or dual-stack clusters. For single-stack, the expected value is IPv4.
1154
+ * For dual-stack, the expected values are IPv4 and IPv6.
1155
+ */
1156
+ ipFamilies?: IpFamily[];
1034
1157
  }
1035
1158
 
1036
1159
  /**
@@ -1047,7 +1170,7 @@ export interface SystemData {
1047
1170
  */
1048
1171
  createdByType?: CreatedByType;
1049
1172
  /**
1050
- * The timestamp of resource creation (UTC).
1173
+ * The UTC timestamp of resource creation.
1051
1174
  */
1052
1175
  createdAt?: Date;
1053
1176
  /**
@@ -1070,18 +1193,22 @@ export interface SystemData {
1070
1193
  */
1071
1194
  export interface TimeInWeek {
1072
1195
  /**
1073
- * A day in a week. Possible values include: 'Sunday', 'Monday', 'Tuesday', 'Wednesday',
1196
+ * The day of the week. Possible values include: 'Sunday', 'Monday', 'Tuesday', 'Wednesday',
1074
1197
  * 'Thursday', 'Friday', 'Saturday'
1075
1198
  */
1076
1199
  day?: WeekDay;
1077
1200
  /**
1078
- * hour slots in a day.
1201
+ * A list of hours in the day used to identify a time range. Each integer hour represents a time
1202
+ * range beginning at 0m after the hour ending at the next hour (non-inclusive). 0 corresponds to
1203
+ * 00:00 UTC, 23 corresponds to 23:00 UTC. Specifying [0, 1] means the 00:00 - 02:00 UTC time
1204
+ * range.
1079
1205
  */
1080
1206
  hourSlots?: number[];
1081
1207
  }
1082
1208
 
1083
1209
  /**
1084
- * The time span with start and end properties.
1210
+ * For example, between 2021-05-25T13:00:00Z and 2021-05-25T14:00:00Z.
1211
+ * @summary A time range.
1085
1212
  */
1086
1213
  export interface TimeSpan {
1087
1214
  /**
@@ -1095,16 +1222,21 @@ export interface TimeSpan {
1095
1222
  }
1096
1223
 
1097
1224
  /**
1098
- * maintenance configuration.
1225
+ * See [planned maintenance](https://docs.microsoft.com/azure/aks/planned-maintenance) for more
1226
+ * information about planned maintenance.
1227
+ * @summary Planned maintenance configuration, used to configure when updates can be deployed to a
1228
+ * Managed Cluster.
1099
1229
  */
1100
1230
  export interface MaintenanceConfiguration extends SubResource {
1101
1231
  /**
1102
- * The system meta data relating to this resource.
1232
+ * The system metadata relating to this resource.
1103
1233
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
1104
1234
  */
1105
1235
  readonly systemData?: SystemData;
1106
1236
  /**
1107
- * Weekday time slots allowed to upgrade.
1237
+ * Time slots during the week when planned maintenance is allowed to proceed. If two array
1238
+ * entries specify the same day of the week, the applied configuration is the union of times in
1239
+ * both entries.
1108
1240
  */
1109
1241
  timeInWeek?: TimeInWeek[];
1110
1242
  /**
@@ -1114,15 +1246,15 @@ export interface MaintenanceConfiguration extends SubResource {
1114
1246
  }
1115
1247
 
1116
1248
  /**
1117
- * run command request
1249
+ * A run command request
1118
1250
  */
1119
1251
  export interface RunCommandRequest {
1120
1252
  /**
1121
- * command to run.
1253
+ * The command to run.
1122
1254
  */
1123
1255
  command: string;
1124
1256
  /**
1125
- * base64 encoded zip file, contains files required by the command
1257
+ * A base64 encoded zip file containing the files required by the command.
1126
1258
  */
1127
1259
  context?: string;
1128
1260
  /**
@@ -1136,7 +1268,7 @@ export interface RunCommandRequest {
1136
1268
  */
1137
1269
  export interface RunCommandResult {
1138
1270
  /**
1139
- * command id.
1271
+ * The command id.
1140
1272
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
1141
1273
  */
1142
1274
  readonly id?: string;
@@ -1146,27 +1278,27 @@ export interface RunCommandResult {
1146
1278
  */
1147
1279
  readonly provisioningState?: string;
1148
1280
  /**
1149
- * exit code of the command
1281
+ * The exit code of the command
1150
1282
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
1151
1283
  */
1152
1284
  readonly exitCode?: number;
1153
1285
  /**
1154
- * time when the command started.
1286
+ * The time when the command started.
1155
1287
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
1156
1288
  */
1157
1289
  readonly startedAt?: Date;
1158
1290
  /**
1159
- * time when the command finished.
1291
+ * The time when the command finished.
1160
1292
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
1161
1293
  */
1162
1294
  readonly finishedAt?: Date;
1163
1295
  /**
1164
- * command output.
1296
+ * The command output.
1165
1297
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
1166
1298
  */
1167
1299
  readonly logs?: string;
1168
1300
  /**
1169
- * explain why provisioningState is set to failed (if so).
1301
+ * An explanation of why provisioningState is set to failed (if so).
1170
1302
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
1171
1303
  */
1172
1304
  readonly reason?: string;
@@ -1198,19 +1330,94 @@ export interface ContainerServiceDiagnosticsProfile {
1198
1330
  }
1199
1331
 
1200
1332
  /**
1201
- * An interface representing UserAssignedIdentity.
1333
+ * The SKU of a Managed Cluster.
1334
+ */
1335
+ export interface ManagedClusterSKU {
1336
+ /**
1337
+ * The name of a managed cluster SKU. Possible values include: 'Basic'
1338
+ */
1339
+ name?: ManagedClusterSKUName;
1340
+ /**
1341
+ * The tier of a managed cluster SKU. If not specified, the default is 'Free'. See [uptime
1342
+ * SLA](https://docs.microsoft.com/azure/aks/uptime-sla) for more details. Possible values
1343
+ * include: 'Paid', 'Free'
1344
+ */
1345
+ tier?: ManagedClusterSKUTier;
1346
+ }
1347
+
1348
+ /**
1349
+ * The complex type of the extended location.
1350
+ */
1351
+ export interface ExtendedLocation {
1352
+ /**
1353
+ * The name of the extended location.
1354
+ */
1355
+ name?: string;
1356
+ /**
1357
+ * The type of the extended location. Possible values include: 'EdgeZone'
1358
+ */
1359
+ type?: ExtendedLocationTypes;
1360
+ }
1361
+
1362
+ /**
1363
+ * An interface representing ManagedClusterIdentityUserAssignedIdentitiesValue.
1364
+ */
1365
+ export interface ManagedClusterIdentityUserAssignedIdentitiesValue {
1366
+ /**
1367
+ * The principal id of user assigned identity.
1368
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
1369
+ */
1370
+ readonly principalId?: string;
1371
+ /**
1372
+ * The client id of user assigned identity.
1373
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
1374
+ */
1375
+ readonly clientId?: string;
1376
+ }
1377
+
1378
+ /**
1379
+ * Identity for the managed cluster.
1380
+ */
1381
+ export interface ManagedClusterIdentity {
1382
+ /**
1383
+ * The principal id of the system assigned identity which is used by master components.
1384
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
1385
+ */
1386
+ readonly principalId?: string;
1387
+ /**
1388
+ * The tenant id of the system assigned identity which is used by master components.
1389
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
1390
+ */
1391
+ readonly tenantId?: string;
1392
+ /**
1393
+ * The type of identity used for the managed cluster. For more information see [use managed
1394
+ * identities in AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). Possible values
1395
+ * include: 'SystemAssigned', 'UserAssigned', 'None'
1396
+ */
1397
+ type?: ResourceIdentityType;
1398
+ /**
1399
+ * The user identity associated with the managed cluster. This identity will be used in control
1400
+ * plane. Only one user assigned identity is allowed. The keys must be ARM resource IDs in the
1401
+ * form:
1402
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
1403
+ */
1404
+ userAssignedIdentities?: { [propertyName: string]: ManagedClusterIdentityUserAssignedIdentitiesValue };
1405
+ }
1406
+
1407
+ /**
1408
+ * Details about a user assigned identity.
1202
1409
  */
1203
1410
  export interface UserAssignedIdentity {
1204
1411
  /**
1205
- * The resource id of the user assigned identity.
1412
+ * The resource ID of the user assigned identity.
1206
1413
  */
1207
1414
  resourceId?: string;
1208
1415
  /**
1209
- * The client id of the user assigned identity.
1416
+ * The client ID of the user assigned identity.
1210
1417
  */
1211
1418
  clientId?: string;
1212
1419
  /**
1213
- * The object id of the user assigned identity.
1420
+ * The object ID of the user assigned identity.
1214
1421
  */
1215
1422
  objectId?: string;
1216
1423
  }
@@ -1240,6 +1447,39 @@ export interface ManagedClusterAddonProfile {
1240
1447
  readonly identity?: ManagedClusterAddonProfileIdentity;
1241
1448
  }
1242
1449
 
1450
+ /**
1451
+ * An error response from the pod identity provisioning.
1452
+ */
1453
+ export interface ManagedClusterPodIdentityProvisioningErrorBody {
1454
+ /**
1455
+ * An identifier for the error. Codes are invariant and are intended to be consumed
1456
+ * programmatically.
1457
+ */
1458
+ code?: string;
1459
+ /**
1460
+ * A message describing the error, intended to be suitable for display in a user interface.
1461
+ */
1462
+ message?: string;
1463
+ /**
1464
+ * The target of the particular error. For example, the name of the property in error.
1465
+ */
1466
+ target?: string;
1467
+ /**
1468
+ * A list of additional details about the error.
1469
+ */
1470
+ details?: ManagedClusterPodIdentityProvisioningErrorBody[];
1471
+ }
1472
+
1473
+ /**
1474
+ * An error response from the pod identity provisioning.
1475
+ */
1476
+ export interface ManagedClusterPodIdentityProvisioningError {
1477
+ /**
1478
+ * Details about the error.
1479
+ */
1480
+ error?: ManagedClusterPodIdentityProvisioningErrorBody;
1481
+ }
1482
+
1243
1483
  /**
1244
1484
  * An interface representing ManagedClusterPodIdentityProvisioningInfo.
1245
1485
  */
@@ -1247,27 +1487,27 @@ export interface ManagedClusterPodIdentityProvisioningInfo {
1247
1487
  /**
1248
1488
  * Pod identity assignment error (if any).
1249
1489
  */
1250
- error?: CloudError;
1490
+ error?: ManagedClusterPodIdentityProvisioningError;
1251
1491
  }
1252
1492
 
1253
1493
  /**
1254
- * An interface representing ManagedClusterPodIdentity.
1494
+ * Details about the pod identity assigned to the Managed Cluster.
1255
1495
  */
1256
1496
  export interface ManagedClusterPodIdentity {
1257
1497
  /**
1258
- * Name of the pod identity.
1498
+ * The name of the pod identity.
1259
1499
  */
1260
1500
  name: string;
1261
1501
  /**
1262
- * Namespace of the pod identity.
1502
+ * The namespace of the pod identity.
1263
1503
  */
1264
1504
  namespace: string;
1265
1505
  /**
1266
- * Binding selector to use for the AzureIdentityBinding resource.
1506
+ * The binding selector to use for the AzureIdentityBinding resource.
1267
1507
  */
1268
1508
  bindingSelector?: string;
1269
1509
  /**
1270
- * Information of the user assigned identity.
1510
+ * The user assigned identity details.
1271
1511
  */
1272
1512
  identity: UserAssignedIdentity;
1273
1513
  /**
@@ -1283,25 +1523,32 @@ export interface ManagedClusterPodIdentity {
1283
1523
  }
1284
1524
 
1285
1525
  /**
1286
- * An interface representing ManagedClusterPodIdentityException.
1526
+ * See [disable AAD Pod Identity for a specific
1527
+ * Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/)
1528
+ * for more details.
1529
+ * @summary A pod identity exception, which allows pods with certain labels to access the Azure
1530
+ * Instance Metadata Service (IMDS) endpoint without being intercepted by the node-managed identity
1531
+ * (NMI) server.
1287
1532
  */
1288
1533
  export interface ManagedClusterPodIdentityException {
1289
1534
  /**
1290
- * Name of the pod identity exception.
1535
+ * The name of the pod identity exception.
1291
1536
  */
1292
1537
  name: string;
1293
1538
  /**
1294
- * Namespace of the pod identity exception.
1539
+ * The namespace of the pod identity exception.
1295
1540
  */
1296
1541
  namespace: string;
1297
1542
  /**
1298
- * Pod labels to match.
1543
+ * The pod labels to match.
1299
1544
  */
1300
1545
  podLabels: { [propertyName: string]: string };
1301
1546
  }
1302
1547
 
1303
1548
  /**
1304
- * An interface representing ManagedClusterPodIdentityProfile.
1549
+ * See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for
1550
+ * more details on pod identity integration.
1551
+ * @summary The pod identity profile of the Managed Cluster.
1305
1552
  */
1306
1553
  export interface ManagedClusterPodIdentityProfile {
1307
1554
  /**
@@ -1309,21 +1556,26 @@ export interface ManagedClusterPodIdentityProfile {
1309
1556
  */
1310
1557
  enabled?: boolean;
1311
1558
  /**
1312
- * Customer consent for enabling AAD pod identity addon in cluster using Kubenet network plugin.
1559
+ * Whether pod identity is allowed to run on clusters with Kubenet networking. Running in Kubenet
1560
+ * is disabled by default due to the security related nature of AAD Pod Identity and the risks of
1561
+ * IP spoofing. See [using Kubenet network plugin with AAD Pod
1562
+ * Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities)
1563
+ * for more information.
1313
1564
  */
1314
1565
  allowNetworkPluginKubenet?: boolean;
1315
1566
  /**
1316
- * User assigned pod identity settings.
1567
+ * The pod identities to use in the cluster.
1317
1568
  */
1318
1569
  userAssignedIdentities?: ManagedClusterPodIdentity[];
1319
1570
  /**
1320
- * User assigned pod identity exception settings.
1571
+ * The pod identity exceptions to allow.
1321
1572
  */
1322
1573
  userAssignedIdentityExceptions?: ManagedClusterPodIdentityException[];
1323
1574
  }
1324
1575
 
1325
1576
  /**
1326
- * AADProfile specifies attributes for Azure Active Directory integration.
1577
+ * For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad).
1578
+ * @summary AADProfile specifies attributes for Azure Active Directory integration.
1327
1579
  */
1328
1580
  export interface ManagedClusterAADProfile {
1329
1581
  /**
@@ -1335,7 +1587,7 @@ export interface ManagedClusterAADProfile {
1335
1587
  */
1336
1588
  enableAzureRBAC?: boolean;
1337
1589
  /**
1338
- * AAD group object IDs that will have admin role of the cluster.
1590
+ * The list of AAD group object IDs that will have admin role of the cluster.
1339
1591
  */
1340
1592
  adminGroupObjectIDs?: string[];
1341
1593
  /**
@@ -1362,8 +1614,10 @@ export interface ManagedClusterAADProfile {
1362
1614
  */
1363
1615
  export interface ManagedClusterAutoUpgradeProfile {
1364
1616
  /**
1365
- * upgrade channel for auto upgrade. Possible values include: 'rapid', 'stable', 'patch',
1366
- * 'node-image', 'none'
1617
+ * The upgrade channel for auto upgrade. The default is 'none'. For more information see [setting
1618
+ * the AKS cluster auto-upgrade
1619
+ * channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel).
1620
+ * Possible values include: 'rapid', 'stable', 'patch', 'node-image', 'none'
1367
1621
  */
1368
1622
  upgradeChannel?: UpgradeChannel;
1369
1623
  }
@@ -1372,25 +1626,101 @@ export interface ManagedClusterAutoUpgradeProfile {
1372
1626
  * Parameters to be applied to the cluster-autoscaler when enabled
1373
1627
  */
1374
1628
  export interface ManagedClusterPropertiesAutoScalerProfile {
1629
+ /**
1630
+ * Detects similar node pools and balances the number of nodes between them. Valid values are
1631
+ * 'true' and 'false'
1632
+ */
1375
1633
  balanceSimilarNodeGroups?: string;
1376
1634
  /**
1377
- * Possible values include: 'least-waste', 'most-pods', 'priority', 'random'
1635
+ * The expander to use when scaling up. If not specified, the default is 'random'. See
1636
+ * [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders)
1637
+ * for more information. Possible values include: 'least-waste', 'most-pods', 'priority',
1638
+ * 'random'
1378
1639
  */
1379
1640
  expander?: Expander;
1641
+ /**
1642
+ * The maximum number of empty nodes that can be deleted at the same time. This must be a
1643
+ * positive integer. The default is 10.
1644
+ */
1380
1645
  maxEmptyBulkDelete?: string;
1646
+ /**
1647
+ * The maximum number of seconds the cluster autoscaler waits for pod termination when trying to
1648
+ * scale down a node. The default is 600.
1649
+ */
1381
1650
  maxGracefulTerminationSec?: string;
1651
+ /**
1652
+ * The maximum time the autoscaler waits for a node to be provisioned. The default is '15m'.
1653
+ * Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is
1654
+ * supported.
1655
+ */
1382
1656
  maxNodeProvisionTime?: string;
1657
+ /**
1658
+ * The maximum percentage of unready nodes in the cluster. After this percentage is exceeded,
1659
+ * cluster autoscaler halts operations. The default is 45. The maximum is 100 and the minimum is
1660
+ * 0.
1661
+ */
1383
1662
  maxTotalUnreadyPercentage?: string;
1663
+ /**
1664
+ * Ignore unscheduled pods before they're a certain age. For scenarios like burst/batch scale
1665
+ * where you don't want CA to act before the kubernetes scheduler could schedule all the pods,
1666
+ * you can tell CA to ignore unscheduled pods before they're a certain age. The default is '0s'.
1667
+ * Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours,
1668
+ * etc).
1669
+ */
1384
1670
  newPodScaleUpDelay?: string;
1671
+ /**
1672
+ * The number of allowed unready nodes, irrespective of max-total-unready-percentage. This must
1673
+ * be an integer. The default is 3.
1674
+ */
1385
1675
  okTotalUnreadyCount?: string;
1676
+ /**
1677
+ * How often cluster is reevaluated for scale up or down. The default is '10'. Values must be an
1678
+ * integer number of seconds.
1679
+ */
1386
1680
  scanInterval?: string;
1681
+ /**
1682
+ * How long after scale up that scale down evaluation resumes. The default is '10m'. Values must
1683
+ * be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
1684
+ */
1387
1685
  scaleDownDelayAfterAdd?: string;
1686
+ /**
1687
+ * How long after node deletion that scale down evaluation resumes. The default is the
1688
+ * scan-interval. Values must be an integer followed by an 'm'. No unit of time other than
1689
+ * minutes (m) is supported.
1690
+ */
1388
1691
  scaleDownDelayAfterDelete?: string;
1692
+ /**
1693
+ * How long after scale down failure that scale down evaluation resumes. The default is '3m'.
1694
+ * Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is
1695
+ * supported.
1696
+ */
1389
1697
  scaleDownDelayAfterFailure?: string;
1698
+ /**
1699
+ * How long a node should be unneeded before it is eligible for scale down. The default is '10m'.
1700
+ * Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is
1701
+ * supported.
1702
+ */
1390
1703
  scaleDownUnneededTime?: string;
1704
+ /**
1705
+ * How long an unready node should be unneeded before it is eligible for scale down. The default
1706
+ * is '20m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m)
1707
+ * is supported.
1708
+ */
1391
1709
  scaleDownUnreadyTime?: string;
1710
+ /**
1711
+ * Node utilization level, defined as sum of requested resources divided by capacity, below which
1712
+ * a node can be considered for scale down. The default is '0.5'.
1713
+ */
1392
1714
  scaleDownUtilizationThreshold?: string;
1715
+ /**
1716
+ * If cluster autoscaler will skip deleting nodes with pods with local storage, for example,
1717
+ * EmptyDir or HostPath. The default is true.
1718
+ */
1393
1719
  skipNodesWithLocalStorage?: string;
1720
+ /**
1721
+ * If cluster autoscaler will skip deleting nodes with pods from kube-system (except for
1722
+ * DaemonSet or mirror pods). The default is true.
1723
+ */
1394
1724
  skipNodesWithSystemPods?: string;
1395
1725
  }
1396
1726
 
@@ -1399,23 +1729,33 @@ export interface ManagedClusterPropertiesAutoScalerProfile {
1399
1729
  */
1400
1730
  export interface ManagedClusterAPIServerAccessProfile {
1401
1731
  /**
1402
- * Authorized IP Ranges to kubernetes API server.
1732
+ * The IP ranges authorized to access the Kubernetes API server. IP ranges are specified in CIDR
1733
+ * format, e.g. 137.117.106.88/29. This feature is not compatible with clusters that use Public
1734
+ * IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API
1735
+ * server authorized IP
1736
+ * ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges).
1403
1737
  */
1404
1738
  authorizedIPRanges?: string[];
1405
1739
  /**
1406
- * Whether to create the cluster as a private cluster or not.
1740
+ * Whether to create the cluster as a private cluster or not. For more details, see [Creating a
1741
+ * private AKS cluster](https://docs.microsoft.com/azure/aks/private-clusters).
1407
1742
  */
1408
1743
  enablePrivateCluster?: boolean;
1409
1744
  /**
1410
- * Private dns zone mode for private cluster.
1745
+ * The private DNS zone mode for the cluster. The default is System. For more details see
1746
+ * [configure private DNS
1747
+ * zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone).
1748
+ * Allowed values are 'system' and 'none'.
1411
1749
  */
1412
1750
  privateDNSZone?: string;
1413
- }
1414
-
1415
- /**
1416
- * An interface representing ManagedClusterPropertiesIdentityProfileValue.
1417
- */
1418
- export interface ManagedClusterPropertiesIdentityProfileValue extends UserAssignedIdentity {
1751
+ /**
1752
+ * Whether to create additional public FQDN for private cluster or not.
1753
+ */
1754
+ enablePrivateClusterPublicFQDN?: boolean;
1755
+ /**
1756
+ * Whether to disable run command for the cluster or not.
1757
+ */
1758
+ disableRunCommand?: boolean;
1419
1759
  }
1420
1760
 
1421
1761
  /**
@@ -1439,7 +1779,7 @@ export interface PrivateLinkResource {
1439
1779
  */
1440
1780
  groupId?: string;
1441
1781
  /**
1442
- * RequiredMembers of the resource
1782
+ * The RequiredMembers of the resource
1443
1783
  */
1444
1784
  requiredMembers?: string[];
1445
1785
  /**
@@ -1450,19 +1790,19 @@ export interface PrivateLinkResource {
1450
1790
  }
1451
1791
 
1452
1792
  /**
1453
- * Configurations for provisioning the cluster with HTTP proxy servers.
1793
+ * Cluster HTTP proxy configuration.
1454
1794
  */
1455
1795
  export interface ManagedClusterHTTPProxyConfig {
1456
1796
  /**
1457
- * HTTP proxy server endpoint to use.
1797
+ * The HTTP proxy server endpoint to use.
1458
1798
  */
1459
1799
  httpProxy?: string;
1460
1800
  /**
1461
- * HTTPS proxy server endpoint to use.
1801
+ * The HTTPS proxy server endpoint to use.
1462
1802
  */
1463
1803
  httpsProxy?: string;
1464
1804
  /**
1465
- * Endpoints that should not go through proxy.
1805
+ * The endpoints that should not go through proxy.
1466
1806
  */
1467
1807
  noProxy?: string[];
1468
1808
  /**
@@ -1472,91 +1812,54 @@ export interface ManagedClusterHTTPProxyConfig {
1472
1812
  }
1473
1813
 
1474
1814
  /**
1475
- * An interface representing ManagedClusterIdentityUserAssignedIdentitiesValue.
1815
+ * Azure Defender settings for the security profile.
1476
1816
  */
1477
- export interface ManagedClusterIdentityUserAssignedIdentitiesValue {
1817
+ export interface ManagedClusterSecurityProfileAzureDefender {
1478
1818
  /**
1479
- * The principal id of user assigned identity.
1480
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
1819
+ * Whether to enable Azure Defender
1481
1820
  */
1482
- readonly principalId?: string;
1821
+ enabled?: boolean;
1483
1822
  /**
1484
- * The client id of user assigned identity.
1485
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
1823
+ * Resource ID of the Log Analytics workspace to be associated with Azure Defender. When Azure
1824
+ * Defender is enabled, this field is required and must be a valid workspace resource ID. When
1825
+ * Azure Defender is disabled, leave the field empty.
1486
1826
  */
1487
- readonly clientId?: string;
1827
+ logAnalyticsWorkspaceResourceId?: string;
1488
1828
  }
1489
1829
 
1490
1830
  /**
1491
- * Identity for the managed cluster.
1831
+ * Security profile for the container service cluster.
1492
1832
  */
1493
- export interface ManagedClusterIdentity {
1494
- /**
1495
- * The principal id of the system assigned identity which is used by master components.
1496
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
1497
- */
1498
- readonly principalId?: string;
1499
- /**
1500
- * The tenant id of the system assigned identity which is used by master components.
1501
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
1502
- */
1503
- readonly tenantId?: string;
1833
+ export interface ManagedClusterSecurityProfile {
1504
1834
  /**
1505
- * The type of identity used for the managed cluster. Type 'SystemAssigned' will use an
1506
- * implicitly created identity in master components and an auto-created user assigned identity in
1507
- * MC_ resource group in agent nodes. Type 'None' will not use MSI for the managed cluster,
1508
- * service principal will be used instead. Possible values include: 'SystemAssigned',
1509
- * 'UserAssigned', 'None'
1510
- */
1511
- type?: ResourceIdentityType;
1512
- /**
1513
- * The user identity associated with the managed cluster. This identity will be used in control
1514
- * plane and only one user assigned identity is allowed. The user identity dictionary key
1515
- * references will be ARM resource ids in the form:
1516
- * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
1835
+ * Azure Defender settings for the security profile.
1517
1836
  */
1518
- userAssignedIdentities?: { [propertyName: string]: ManagedClusterIdentityUserAssignedIdentitiesValue };
1837
+ azureDefender?: ManagedClusterSecurityProfileAzureDefender;
1519
1838
  }
1520
1839
 
1521
1840
  /**
1522
- * An interface representing ManagedClusterSKU.
1841
+ * Managed cluster.
1523
1842
  */
1524
- export interface ManagedClusterSKU {
1525
- /**
1526
- * Name of a managed cluster SKU. Possible values include: 'Basic'
1527
- */
1528
- name?: ManagedClusterSKUName;
1843
+ export interface ManagedCluster extends Resource {
1529
1844
  /**
1530
- * Tier of a managed cluster SKU. Possible values include: 'Paid', 'Free'
1845
+ * The managed cluster SKU.
1531
1846
  */
1532
- tier?: ManagedClusterSKUTier;
1533
- }
1534
-
1535
- /**
1536
- * The complex type of the extended location.
1537
- */
1538
- export interface ExtendedLocation {
1847
+ sku?: ManagedClusterSKU;
1539
1848
  /**
1540
- * The name of the extended location.
1849
+ * The extended location of the Virtual Machine.
1541
1850
  */
1542
- name?: string;
1851
+ extendedLocation?: ExtendedLocation;
1543
1852
  /**
1544
- * The type of the extended location. Possible values include: 'EdgeZone'
1853
+ * The identity of the managed cluster, if configured.
1545
1854
  */
1546
- type?: ExtendedLocationTypes;
1547
- }
1548
-
1549
- /**
1550
- * Managed cluster.
1551
- */
1552
- export interface ManagedCluster extends Resource {
1855
+ identity?: ManagedClusterIdentity;
1553
1856
  /**
1554
- * The current deployment or provisioning state, which only appears in the response.
1857
+ * The current provisioning state.
1555
1858
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
1556
1859
  */
1557
1860
  readonly provisioningState?: string;
1558
1861
  /**
1559
- * Represents the Power State of the cluster
1862
+ * The Power State of the cluster.
1560
1863
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
1561
1864
  */
1562
1865
  readonly powerState?: PowerState;
@@ -1566,42 +1869,52 @@ export interface ManagedCluster extends Resource {
1566
1869
  */
1567
1870
  readonly maxAgentPools?: number;
1568
1871
  /**
1569
- * Version of Kubernetes specified when creating the managed cluster.
1872
+ * The version of Kubernetes the Managed Cluster is running. When you upgrade a supported AKS
1873
+ * cluster, Kubernetes minor versions cannot be skipped. All upgrades must be performed
1874
+ * sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or 1.15.x
1875
+ * -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS
1876
+ * cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details.
1570
1877
  */
1571
1878
  kubernetesVersion?: string;
1572
1879
  /**
1573
- * DNS prefix specified when creating the managed cluster.
1880
+ * The DNS prefix of the Managed Cluster. This cannot be updated once the Managed Cluster has
1881
+ * been created.
1574
1882
  */
1575
1883
  dnsPrefix?: string;
1576
1884
  /**
1577
- * FQDN subdomain specified when creating private cluster with custom private dns zone.
1885
+ * The FQDN subdomain of the private cluster with custom private dns zone. This cannot be updated
1886
+ * once the Managed Cluster has been created.
1578
1887
  */
1579
1888
  fqdnSubdomain?: string;
1580
1889
  /**
1581
- * FQDN for the master pool.
1890
+ * The FQDN of the master pool.
1582
1891
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
1583
1892
  */
1584
1893
  readonly fqdn?: string;
1585
1894
  /**
1586
- * FQDN of private cluster.
1895
+ * The FQDN of private cluster.
1587
1896
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
1588
1897
  */
1589
1898
  readonly privateFQDN?: string;
1590
1899
  /**
1591
- * FQDN for the master pool which used by proxy config.
1900
+ * The special FQDN used by the Azure Portal to access the Managed Cluster. This FQDN is for use
1901
+ * only by the Azure Portal and should not be used by other clients. The Azure Portal requires
1902
+ * certain Cross-Origin Resource Sharing (CORS) headers to be sent in some responses, which
1903
+ * Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the
1904
+ * Azure Portal to function properly.
1592
1905
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
1593
1906
  */
1594
1907
  readonly azurePortalFQDN?: string;
1595
1908
  /**
1596
- * Properties of the agent pool.
1909
+ * The agent pool properties.
1597
1910
  */
1598
1911
  agentPoolProfiles?: ManagedClusterAgentPoolProfile[];
1599
1912
  /**
1600
- * Profile for Linux VMs in the container service cluster.
1913
+ * The profile for Linux VMs in the Managed Cluster.
1601
1914
  */
1602
1915
  linuxProfile?: ContainerServiceLinuxProfile;
1603
1916
  /**
1604
- * Profile for Windows VMs in the container service cluster.
1917
+ * The profile for Windows VMs in the Managed Cluster.
1605
1918
  */
1606
1919
  windowsProfile?: ManagedClusterWindowsProfile;
1607
1920
  /**
@@ -1610,15 +1923,17 @@ export interface ManagedCluster extends Resource {
1610
1923
  */
1611
1924
  servicePrincipalProfile?: ManagedClusterServicePrincipalProfile;
1612
1925
  /**
1613
- * Profile of managed cluster add-on.
1926
+ * The profile of managed cluster add-on.
1614
1927
  */
1615
1928
  addonProfiles?: { [propertyName: string]: ManagedClusterAddonProfile };
1616
1929
  /**
1617
- * Profile of managed cluster pod identity.
1930
+ * The pod identity profile of the Managed Cluster. See [use AAD pod
1931
+ * identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on
1932
+ * AAD pod identity integration.
1618
1933
  */
1619
1934
  podIdentityProfile?: ManagedClusterPodIdentityProfile;
1620
1935
  /**
1621
- * Name of the resource group containing agent pool nodes.
1936
+ * The name of the resource group containing agent pool nodes.
1622
1937
  */
1623
1938
  nodeResourceGroup?: string;
1624
1939
  /**
@@ -1631,15 +1946,15 @@ export interface ManagedCluster extends Resource {
1631
1946
  */
1632
1947
  enablePodSecurityPolicy?: boolean;
1633
1948
  /**
1634
- * Profile of network configuration.
1949
+ * The network configuration profile.
1635
1950
  */
1636
1951
  networkProfile?: ContainerServiceNetworkProfile;
1637
1952
  /**
1638
- * Profile of Azure Active Directory configuration.
1953
+ * The Azure Active Directory configuration.
1639
1954
  */
1640
1955
  aadProfile?: ManagedClusterAADProfile;
1641
1956
  /**
1642
- * Profile of auto upgrade configuration.
1957
+ * The auto upgrade configuration.
1643
1958
  */
1644
1959
  autoUpgradeProfile?: ManagedClusterAutoUpgradeProfile;
1645
1960
  /**
@@ -1647,24 +1962,28 @@ export interface ManagedCluster extends Resource {
1647
1962
  */
1648
1963
  autoScalerProfile?: ManagedClusterPropertiesAutoScalerProfile;
1649
1964
  /**
1650
- * Access profile for managed cluster API server.
1965
+ * The access profile for managed cluster API server.
1651
1966
  */
1652
1967
  apiServerAccessProfile?: ManagedClusterAPIServerAccessProfile;
1653
1968
  /**
1654
- * ResourceId of the disk encryption set to use for enabling encryption at rest.
1969
+ * The Resource ID of the disk encryption set to use for enabling encryption at rest. This is of
1970
+ * the form:
1971
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}'
1655
1972
  */
1656
1973
  diskEncryptionSetID?: string;
1657
1974
  /**
1658
1975
  * Identities associated with the cluster.
1659
1976
  */
1660
- identityProfile?: { [propertyName: string]: ManagedClusterPropertiesIdentityProfileValue };
1977
+ identityProfile?: { [propertyName: string]: UserAssignedIdentity };
1661
1978
  /**
1662
1979
  * Private link resources associated with the cluster.
1663
1980
  */
1664
1981
  privateLinkResources?: PrivateLinkResource[];
1665
1982
  /**
1666
- * If set to true, getting static credential will be disabled for this cluster. Expected to only
1667
- * be used for AAD clusters.
1983
+ * If local accounts should be disabled on the Managed Cluster. If set to true, getting static
1984
+ * credentials will be disabled for this cluster. This must only be used on Managed Clusters that
1985
+ * are AAD enabled. For more details see [disable local
1986
+ * accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview).
1668
1987
  */
1669
1988
  disableLocalAccounts?: boolean;
1670
1989
  /**
@@ -1672,17 +1991,14 @@ export interface ManagedCluster extends Resource {
1672
1991
  */
1673
1992
  httpProxyConfig?: ManagedClusterHTTPProxyConfig;
1674
1993
  /**
1675
- * The identity of the managed cluster, if configured.
1676
- */
1677
- identity?: ManagedClusterIdentity;
1678
- /**
1679
- * The managed cluster SKU.
1994
+ * Security profile for the managed cluster.
1680
1995
  */
1681
- sku?: ManagedClusterSKU;
1996
+ securityProfile?: ManagedClusterSecurityProfile;
1682
1997
  /**
1683
- * The extended location of the Virtual Machine.
1998
+ * PublicNetworkAccess of the managedCluster. Allow or deny public network access for AKS.
1999
+ * Possible values include: 'Enabled', 'Disabled'
1684
2000
  */
1685
- extendedLocation?: ExtendedLocation;
2001
+ publicNetworkAccess?: PublicNetworkAccess;
1686
2002
  }
1687
2003
 
1688
2004
  /**
@@ -1700,11 +2016,11 @@ export interface ManagedClusterAccessProfile extends Resource {
1700
2016
  */
1701
2017
  export interface ManagedClusterPoolUpgradeProfileUpgradesItem {
1702
2018
  /**
1703
- * Kubernetes version (major, minor, patch).
2019
+ * The Kubernetes version (major.minor.patch).
1704
2020
  */
1705
2021
  kubernetesVersion?: string;
1706
2022
  /**
1707
- * Whether Kubernetes version is currently in preview.
2023
+ * Whether the Kubernetes version is currently in preview.
1708
2024
  */
1709
2025
  isPreview?: boolean;
1710
2026
  }
@@ -1714,15 +2030,14 @@ export interface ManagedClusterPoolUpgradeProfileUpgradesItem {
1714
2030
  */
1715
2031
  export interface ManagedClusterPoolUpgradeProfile {
1716
2032
  /**
1717
- * Kubernetes version (major, minor, patch).
2033
+ * The Kubernetes version (major.minor.patch).
1718
2034
  */
1719
2035
  kubernetesVersion: string;
1720
2036
  /**
1721
- * Pool name.
2037
+ * The Agent Pool name.
1722
2038
  */
1723
2039
  name?: string;
1724
2040
  /**
1725
- * OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux.
1726
2041
  * Possible values include: 'Linux', 'Windows'. Default value: 'Linux'.
1727
2042
  */
1728
2043
  osType: OSType;
@@ -1737,17 +2052,17 @@ export interface ManagedClusterPoolUpgradeProfile {
1737
2052
  */
1738
2053
  export interface ManagedClusterUpgradeProfile {
1739
2054
  /**
1740
- * Id of upgrade profile.
2055
+ * The ID of the upgrade profile.
1741
2056
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
1742
2057
  */
1743
2058
  readonly id?: string;
1744
2059
  /**
1745
- * Name of upgrade profile.
2060
+ * The name of the upgrade profile.
1746
2061
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
1747
2062
  */
1748
2063
  readonly name?: string;
1749
2064
  /**
1750
- * Type of upgrade profile.
2065
+ * The type of the upgrade profile.
1751
2066
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
1752
2067
  */
1753
2068
  readonly type?: string;
@@ -1766,11 +2081,11 @@ export interface ManagedClusterUpgradeProfile {
1766
2081
  */
1767
2082
  export interface AgentPoolUpgradeProfilePropertiesUpgradesItem {
1768
2083
  /**
1769
- * Kubernetes version (major, minor, patch).
2084
+ * The Kubernetes version (major.minor.patch).
1770
2085
  */
1771
2086
  kubernetesVersion?: string;
1772
2087
  /**
1773
- * Whether Kubernetes version is currently in preview.
2088
+ * Whether the Kubernetes version is currently in preview.
1774
2089
  */
1775
2090
  isPreview?: boolean;
1776
2091
  }
@@ -1780,26 +2095,25 @@ export interface AgentPoolUpgradeProfilePropertiesUpgradesItem {
1780
2095
  */
1781
2096
  export interface AgentPoolUpgradeProfile {
1782
2097
  /**
1783
- * Id of the agent pool upgrade profile.
2098
+ * The ID of the agent pool upgrade profile.
1784
2099
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
1785
2100
  */
1786
2101
  readonly id?: string;
1787
2102
  /**
1788
- * Name of the agent pool upgrade profile.
2103
+ * The name of the agent pool upgrade profile.
1789
2104
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
1790
2105
  */
1791
2106
  readonly name?: string;
1792
2107
  /**
1793
- * Type of the agent pool upgrade profile.
2108
+ * The type of the agent pool upgrade profile.
1794
2109
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
1795
2110
  */
1796
2111
  readonly type?: string;
1797
2112
  /**
1798
- * Kubernetes version (major, minor, patch).
2113
+ * The Kubernetes version (major.minor.patch).
1799
2114
  */
1800
2115
  kubernetesVersion: string;
1801
2116
  /**
1802
- * OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux.
1803
2117
  * Possible values include: 'Linux', 'Windows'. Default value: 'Linux'.
1804
2118
  */
1805
2119
  osType: OSType;
@@ -1808,7 +2122,7 @@ export interface AgentPoolUpgradeProfile {
1808
2122
  */
1809
2123
  upgrades?: AgentPoolUpgradeProfilePropertiesUpgradesItem[];
1810
2124
  /**
1811
- * LatestNodeImageVersion is the latest AKS supported node image version.
2125
+ * The latest AKS supported node image version.
1812
2126
  */
1813
2127
  latestNodeImageVersion?: string;
1814
2128
  }
@@ -1822,7 +2136,7 @@ export interface AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem {
1822
2136
  */
1823
2137
  default?: boolean;
1824
2138
  /**
1825
- * Kubernetes version (major, minor, patch).
2139
+ * The Kubernetes version (major.minor.patch).
1826
2140
  */
1827
2141
  kubernetesVersion?: string;
1828
2142
  /**
@@ -1836,17 +2150,17 @@ export interface AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem {
1836
2150
  */
1837
2151
  export interface AgentPoolAvailableVersions {
1838
2152
  /**
1839
- * Id of the agent pool available versions.
2153
+ * The ID of the agent pool version list.
1840
2154
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
1841
2155
  */
1842
2156
  readonly id?: string;
1843
2157
  /**
1844
- * Name of the agent pool available versions.
2158
+ * The name of the agent pool version list.
1845
2159
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
1846
2160
  */
1847
2161
  readonly name?: string;
1848
2162
  /**
1849
- * Type of the agent pool available versions.
2163
+ * Type of the agent pool version list.
1850
2164
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
1851
2165
  */
1852
2166
  readonly type?: string;
@@ -1873,7 +2187,7 @@ export interface CredentialResult {
1873
2187
  }
1874
2188
 
1875
2189
  /**
1876
- * The list of credential result response.
2190
+ * The list credential result response.
1877
2191
  */
1878
2192
  export interface CredentialResults {
1879
2193
  /**
@@ -1888,7 +2202,7 @@ export interface CredentialResults {
1888
2202
  */
1889
2203
  export interface PrivateEndpoint {
1890
2204
  /**
1891
- * The resource Id for private endpoint
2205
+ * The resource ID of the private endpoint
1892
2206
  */
1893
2207
  id?: string;
1894
2208
  }
@@ -1969,11 +2283,11 @@ export interface PrivateLinkResourcesListResult {
1969
2283
  */
1970
2284
  export interface OSOptionProperty {
1971
2285
  /**
1972
- * OS type.
2286
+ * The OS type.
1973
2287
  */
1974
2288
  osType: string;
1975
2289
  /**
1976
- * Whether FIPS image is enabled.
2290
+ * Whether the image is FIPS-enabled.
1977
2291
  */
1978
2292
  enableFipsImage: boolean;
1979
2293
  }
@@ -1983,36 +2297,167 @@ export interface OSOptionProperty {
1983
2297
  */
1984
2298
  export interface OSOptionProfile {
1985
2299
  /**
1986
- * Id of the OS option profile.
2300
+ * The ID of the OS option resource.
1987
2301
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
1988
2302
  */
1989
2303
  readonly id?: string;
1990
2304
  /**
1991
- * Name of the OS option profile.
2305
+ * The name of the OS option resource.
1992
2306
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
1993
2307
  */
1994
2308
  readonly name?: string;
1995
2309
  /**
1996
- * Type of the OS option profile.
2310
+ * The type of the OS option resource.
1997
2311
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
1998
2312
  */
1999
2313
  readonly type?: string;
2000
2314
  /**
2001
- * The list of OS option properties.
2315
+ * The list of OS options.
2002
2316
  */
2003
2317
  osOptionPropertyList: OSOptionProperty[];
2004
2318
  }
2005
2319
 
2320
+ /**
2321
+ * connect information from the AKS agent nodes to a single endpoint.
2322
+ */
2323
+ export interface EndpointDetail {
2324
+ /**
2325
+ * An IP Address that Domain Name currently resolves to.
2326
+ */
2327
+ ipAddress?: string;
2328
+ /**
2329
+ * The port an endpoint is connected to.
2330
+ */
2331
+ port?: number;
2332
+ /**
2333
+ * The protocol used for connection
2334
+ */
2335
+ protocol?: string;
2336
+ /**
2337
+ * Description of the detail
2338
+ */
2339
+ description?: string;
2340
+ }
2341
+
2342
+ /**
2343
+ * A domain name that AKS agent nodes are reaching at.
2344
+ */
2345
+ export interface EndpointDependency {
2346
+ /**
2347
+ * The domain name of the dependency.
2348
+ */
2349
+ domainName?: string;
2350
+ /**
2351
+ * The Ports and Protocols used when connecting to domainName.
2352
+ */
2353
+ endpointDetails?: EndpointDetail[];
2354
+ }
2355
+
2356
+ /**
2357
+ * Egress endpoints which AKS agent nodes connect to for common purpose.
2358
+ */
2359
+ export interface OutboundEnvironmentEndpoint {
2360
+ /**
2361
+ * The category of endpoints accessed by the AKS agent node, e.g. azure-resource-management,
2362
+ * apiserver, etc.
2363
+ */
2364
+ category?: string;
2365
+ /**
2366
+ * The endpoints that AKS agent nodes connect to
2367
+ */
2368
+ endpoints?: EndpointDependency[];
2369
+ }
2370
+
2371
+ /**
2372
+ * A node pool snapshot resource.
2373
+ */
2374
+ export interface Snapshot extends Resource {
2375
+ /**
2376
+ * The system metadata relating to this snapshot.
2377
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
2378
+ */
2379
+ readonly systemData?: SystemData;
2380
+ /**
2381
+ * CreationData to be used to specify the source agent pool resource ID to create this snapshot.
2382
+ */
2383
+ creationData?: CreationData;
2384
+ /**
2385
+ * Possible values include: 'NodePool'. Default value: 'NodePool'.
2386
+ */
2387
+ snapshotType?: SnapshotType;
2388
+ /**
2389
+ * The version of Kubernetes.
2390
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
2391
+ */
2392
+ readonly kubernetesVersion?: string;
2393
+ /**
2394
+ * The version of node image.
2395
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
2396
+ */
2397
+ readonly nodeImageVersion?: string;
2398
+ /**
2399
+ * Possible values include: 'Linux', 'Windows'
2400
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**.
2401
+ * Default value: 'Linux'.
2402
+ */
2403
+ readonly osType?: OSType;
2404
+ /**
2405
+ * Possible values include: 'Ubuntu', 'CBLMariner'
2406
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
2407
+ */
2408
+ readonly osSku?: OSSKU;
2409
+ /**
2410
+ * The size of the VM.
2411
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
2412
+ */
2413
+ readonly vmSize?: string;
2414
+ /**
2415
+ * Whether to use a FIPS-enabled OS.
2416
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
2417
+ */
2418
+ readonly enableFIPS?: boolean;
2419
+ }
2420
+
2006
2421
  /**
2007
2422
  * Optional Parameters.
2008
2423
  */
2009
2424
  export interface ManagedClustersGetOSOptionsOptionalParams extends msRest.RequestOptionsBase {
2010
2425
  /**
2011
- * resource type for which the OS options needs to be returned
2426
+ * The resource type for which the OS options needs to be returned
2012
2427
  */
2013
2428
  resourceType?: string;
2014
2429
  }
2015
2430
 
2431
+ /**
2432
+ * Optional Parameters.
2433
+ */
2434
+ export interface ManagedClustersListClusterAdminCredentialsOptionalParams extends msRest.RequestOptionsBase {
2435
+ /**
2436
+ * server fqdn type for credentials to be returned
2437
+ */
2438
+ serverFqdn?: string;
2439
+ }
2440
+
2441
+ /**
2442
+ * Optional Parameters.
2443
+ */
2444
+ export interface ManagedClustersListClusterUserCredentialsOptionalParams extends msRest.RequestOptionsBase {
2445
+ /**
2446
+ * server fqdn type for credentials to be returned
2447
+ */
2448
+ serverFqdn?: string;
2449
+ }
2450
+
2451
+ /**
2452
+ * Optional Parameters.
2453
+ */
2454
+ export interface ManagedClustersListClusterMonitoringUserCredentialsOptionalParams extends msRest.RequestOptionsBase {
2455
+ /**
2456
+ * server fqdn type for credentials to be returned
2457
+ */
2458
+ serverFqdn?: string;
2459
+ }
2460
+
2016
2461
  /**
2017
2462
  * An interface representing ContainerServiceClientOptions.
2018
2463
  */
@@ -2020,9 +2465,19 @@ export interface ContainerServiceClientOptions extends AzureServiceClientOptions
2020
2465
  baseUri?: string;
2021
2466
  }
2022
2467
 
2468
+ /**
2469
+ * Defines headers for UpgradeNodeImageVersion operation.
2470
+ */
2471
+ export interface AgentPoolsUpgradeNodeImageVersionHeaders {
2472
+ /**
2473
+ * URL to query for status of the operation.
2474
+ */
2475
+ azureAsyncOperation: string;
2476
+ }
2477
+
2023
2478
  /**
2024
2479
  * @interface
2025
- * The List Compute Operation operation response.
2480
+ * The List Operation response.
2026
2481
  * @extends Array<OperationValue>
2027
2482
  */
2028
2483
  export interface OperationListResult extends Array<OperationValue> {
@@ -2030,12 +2485,25 @@ export interface OperationListResult extends Array<OperationValue> {
2030
2485
 
2031
2486
  /**
2032
2487
  * @interface
2033
- * The response from the List Managed Clusters operation.
2034
- * @extends Array<ManagedCluster>
2488
+ * The response from the List Managed Clusters operation.
2489
+ * @extends Array<ManagedCluster>
2490
+ */
2491
+ export interface ManagedClusterListResult extends Array<ManagedCluster> {
2492
+ /**
2493
+ * The URL to get the next set of managed cluster results.
2494
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
2495
+ */
2496
+ readonly nextLink?: string;
2497
+ }
2498
+
2499
+ /**
2500
+ * @interface
2501
+ * Collection of OutboundEnvironmentEndpoint
2502
+ * @extends Array<OutboundEnvironmentEndpoint>
2035
2503
  */
2036
- export interface ManagedClusterListResult extends Array<ManagedCluster> {
2504
+ export interface OutboundEnvironmentEndpointCollection extends Array<OutboundEnvironmentEndpoint> {
2037
2505
  /**
2038
- * The URL to get the next set of managed cluster results.
2506
+ * Link to next page of resources.
2039
2507
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
2040
2508
  */
2041
2509
  readonly nextLink?: string;
@@ -2067,6 +2535,19 @@ export interface AgentPoolListResult extends Array<AgentPool> {
2067
2535
  readonly nextLink?: string;
2068
2536
  }
2069
2537
 
2538
+ /**
2539
+ * @interface
2540
+ * The response from the List Snapshots operation.
2541
+ * @extends Array<Snapshot>
2542
+ */
2543
+ export interface SnapshotListResult extends Array<Snapshot> {
2544
+ /**
2545
+ * The URL to get the next set of snapshot results.
2546
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
2547
+ */
2548
+ readonly nextLink?: string;
2549
+ }
2550
+
2070
2551
  /**
2071
2552
  * Defines values for ContainerServiceStorageProfileTypes.
2072
2553
  * Possible values include: 'StorageAccount', 'ManagedDisks'
@@ -2136,6 +2617,14 @@ export type OSDiskType = 'Managed' | 'Ephemeral';
2136
2617
  */
2137
2618
  export type KubeletDiskType = 'OS' | 'Temporary';
2138
2619
 
2620
+ /**
2621
+ * Defines values for WorkloadRuntime.
2622
+ * Possible values include: 'OCIContainer', 'WasmWasi'
2623
+ * @readonly
2624
+ * @enum {string}
2625
+ */
2626
+ export type WorkloadRuntime = 'OCIContainer' | 'WasmWasi';
2627
+
2139
2628
  /**
2140
2629
  * Defines values for OSType.
2141
2630
  * Possible values include: 'Linux', 'Windows'
@@ -2152,6 +2641,14 @@ export type OSType = 'Linux' | 'Windows';
2152
2641
  */
2153
2642
  export type OSSKU = 'Ubuntu' | 'CBLMariner';
2154
2643
 
2644
+ /**
2645
+ * Defines values for ScaleDownMode.
2646
+ * Possible values include: 'Delete', 'Deallocate'
2647
+ * @readonly
2648
+ * @enum {string}
2649
+ */
2650
+ export type ScaleDownMode = 'Delete' | 'Deallocate';
2651
+
2155
2652
  /**
2156
2653
  * Defines values for AgentPoolType.
2157
2654
  * Possible values include: 'VirtualMachineScaleSets', 'AvailabilitySet'
@@ -2234,11 +2731,12 @@ export type NetworkMode = 'transparent' | 'bridge';
2234
2731
 
2235
2732
  /**
2236
2733
  * Defines values for OutboundType.
2237
- * Possible values include: 'loadBalancer', 'userDefinedRouting'
2734
+ * Possible values include: 'loadBalancer', 'userDefinedRouting', 'managedNATGateway',
2735
+ * 'userAssignedNATGateway'
2238
2736
  * @readonly
2239
2737
  * @enum {string}
2240
2738
  */
2241
- export type OutboundType = 'loadBalancer' | 'userDefinedRouting';
2739
+ export type OutboundType = 'loadBalancer' | 'userDefinedRouting' | 'managedNATGateway' | 'userAssignedNATGateway';
2242
2740
 
2243
2741
  /**
2244
2742
  * Defines values for LoadBalancerSku.
@@ -2248,6 +2746,14 @@ export type OutboundType = 'loadBalancer' | 'userDefinedRouting';
2248
2746
  */
2249
2747
  export type LoadBalancerSku = 'standard' | 'basic';
2250
2748
 
2749
+ /**
2750
+ * Defines values for IpFamily.
2751
+ * Possible values include: 'IPv4', 'IPv6'
2752
+ * @readonly
2753
+ * @enum {string}
2754
+ */
2755
+ export type IpFamily = 'IPv4' | 'IPv6';
2756
+
2251
2757
  /**
2252
2758
  * Defines values for CreatedByType.
2253
2759
  * Possible values include: 'User', 'Application', 'ManagedIdentity', 'Key'
@@ -2266,28 +2772,28 @@ export type CreatedByType = 'User' | 'Application' | 'ManagedIdentity' | 'Key';
2266
2772
  export type WeekDay = 'Sunday' | 'Monday' | 'Tuesday' | 'Wednesday' | 'Thursday' | 'Friday' | 'Saturday';
2267
2773
 
2268
2774
  /**
2269
- * Defines values for ManagedClusterPodIdentityProvisioningState.
2270
- * Possible values include: 'Assigned', 'Updating', 'Deleting', 'Failed'
2775
+ * Defines values for ManagedClusterSKUName.
2776
+ * Possible values include: 'Basic'
2271
2777
  * @readonly
2272
2778
  * @enum {string}
2273
2779
  */
2274
- export type ManagedClusterPodIdentityProvisioningState = 'Assigned' | 'Updating' | 'Deleting' | 'Failed';
2780
+ export type ManagedClusterSKUName = 'Basic';
2275
2781
 
2276
2782
  /**
2277
- * Defines values for UpgradeChannel.
2278
- * Possible values include: 'rapid', 'stable', 'patch', 'node-image', 'none'
2783
+ * Defines values for ManagedClusterSKUTier.
2784
+ * Possible values include: 'Paid', 'Free'
2279
2785
  * @readonly
2280
2786
  * @enum {string}
2281
2787
  */
2282
- export type UpgradeChannel = 'rapid' | 'stable' | 'patch' | 'node-image' | 'none';
2788
+ export type ManagedClusterSKUTier = 'Paid' | 'Free';
2283
2789
 
2284
2790
  /**
2285
- * Defines values for Expander.
2286
- * Possible values include: 'least-waste', 'most-pods', 'priority', 'random'
2791
+ * Defines values for ExtendedLocationTypes.
2792
+ * Possible values include: 'EdgeZone'
2287
2793
  * @readonly
2288
2794
  * @enum {string}
2289
2795
  */
2290
- export type Expander = 'least-waste' | 'most-pods' | 'priority' | 'random';
2796
+ export type ExtendedLocationTypes = 'EdgeZone';
2291
2797
 
2292
2798
  /**
2293
2799
  * Defines values for ResourceIdentityType.
@@ -2298,28 +2804,36 @@ export type Expander = 'least-waste' | 'most-pods' | 'priority' | 'random';
2298
2804
  export type ResourceIdentityType = 'SystemAssigned' | 'UserAssigned' | 'None';
2299
2805
 
2300
2806
  /**
2301
- * Defines values for ManagedClusterSKUName.
2302
- * Possible values include: 'Basic'
2807
+ * Defines values for ManagedClusterPodIdentityProvisioningState.
2808
+ * Possible values include: 'Assigned', 'Updating', 'Deleting', 'Failed'
2303
2809
  * @readonly
2304
2810
  * @enum {string}
2305
2811
  */
2306
- export type ManagedClusterSKUName = 'Basic';
2812
+ export type ManagedClusterPodIdentityProvisioningState = 'Assigned' | 'Updating' | 'Deleting' | 'Failed';
2307
2813
 
2308
2814
  /**
2309
- * Defines values for ManagedClusterSKUTier.
2310
- * Possible values include: 'Paid', 'Free'
2815
+ * Defines values for UpgradeChannel.
2816
+ * Possible values include: 'rapid', 'stable', 'patch', 'node-image', 'none'
2311
2817
  * @readonly
2312
2818
  * @enum {string}
2313
2819
  */
2314
- export type ManagedClusterSKUTier = 'Paid' | 'Free';
2820
+ export type UpgradeChannel = 'rapid' | 'stable' | 'patch' | 'node-image' | 'none';
2315
2821
 
2316
2822
  /**
2317
- * Defines values for ExtendedLocationTypes.
2318
- * Possible values include: 'EdgeZone'
2823
+ * Defines values for Expander.
2824
+ * Possible values include: 'least-waste', 'most-pods', 'priority', 'random'
2319
2825
  * @readonly
2320
2826
  * @enum {string}
2321
2827
  */
2322
- export type ExtendedLocationTypes = 'EdgeZone';
2828
+ export type Expander = 'least-waste' | 'most-pods' | 'priority' | 'random';
2829
+
2830
+ /**
2831
+ * Defines values for PublicNetworkAccess.
2832
+ * Possible values include: 'Enabled', 'Disabled'
2833
+ * @readonly
2834
+ * @enum {string}
2835
+ */
2836
+ export type PublicNetworkAccess = 'Enabled' | 'Disabled';
2323
2837
 
2324
2838
  /**
2325
2839
  * Defines values for PrivateEndpointConnectionProvisioningState.
@@ -2337,6 +2851,14 @@ export type PrivateEndpointConnectionProvisioningState = 'Succeeded' | 'Creating
2337
2851
  */
2338
2852
  export type ConnectionStatus = 'Pending' | 'Approved' | 'Rejected' | 'Disconnected';
2339
2853
 
2854
+ /**
2855
+ * Defines values for SnapshotType.
2856
+ * Possible values include: 'NodePool'
2857
+ * @readonly
2858
+ * @enum {string}
2859
+ */
2860
+ export type SnapshotType = 'NodePool';
2861
+
2340
2862
  /**
2341
2863
  * Contains response data for the list operation.
2342
2864
  */
@@ -2617,6 +3139,26 @@ export type ManagedClustersGetCommandResultResponse = RunCommandResult & {
2617
3139
  };
2618
3140
  };
2619
3141
 
3142
+ /**
3143
+ * Contains response data for the listOutboundNetworkDependenciesEndpoints operation.
3144
+ */
3145
+ export type ManagedClustersListOutboundNetworkDependenciesEndpointsResponse = OutboundEnvironmentEndpointCollection & {
3146
+ /**
3147
+ * The underlying HTTP response.
3148
+ */
3149
+ _response: msRest.HttpResponse & {
3150
+ /**
3151
+ * The response body as text (string format)
3152
+ */
3153
+ bodyAsText: string;
3154
+
3155
+ /**
3156
+ * The response body as parsed JSON or XML
3157
+ */
3158
+ parsedBody: OutboundEnvironmentEndpointCollection;
3159
+ };
3160
+ };
3161
+
2620
3162
  /**
2621
3163
  * Contains response data for the beginCreateOrUpdate operation.
2622
3164
  */
@@ -2717,6 +3259,26 @@ export type ManagedClustersListByResourceGroupNextResponse = ManagedClusterListR
2717
3259
  };
2718
3260
  };
2719
3261
 
3262
+ /**
3263
+ * Contains response data for the listOutboundNetworkDependenciesEndpointsNext operation.
3264
+ */
3265
+ export type ManagedClustersListOutboundNetworkDependenciesEndpointsNextResponse = OutboundEnvironmentEndpointCollection & {
3266
+ /**
3267
+ * The underlying HTTP response.
3268
+ */
3269
+ _response: msRest.HttpResponse & {
3270
+ /**
3271
+ * The response body as text (string format)
3272
+ */
3273
+ bodyAsText: string;
3274
+
3275
+ /**
3276
+ * The response body as parsed JSON or XML
3277
+ */
3278
+ parsedBody: OutboundEnvironmentEndpointCollection;
3279
+ };
3280
+ };
3281
+
2720
3282
  /**
2721
3283
  * Contains response data for the listByManagedCluster operation.
2722
3284
  */
@@ -2900,31 +3462,16 @@ export type AgentPoolsGetAvailableAgentPoolVersionsResponse = AgentPoolAvailable
2900
3462
  /**
2901
3463
  * Contains response data for the upgradeNodeImageVersion operation.
2902
3464
  */
2903
- export type AgentPoolsUpgradeNodeImageVersionResponse = AgentPool & {
3465
+ export type AgentPoolsUpgradeNodeImageVersionResponse = AgentPool & AgentPoolsUpgradeNodeImageVersionHeaders & {
2904
3466
  /**
2905
3467
  * The underlying HTTP response.
2906
3468
  */
2907
3469
  _response: msRest.HttpResponse & {
2908
3470
  /**
2909
- * The response body as text (string format)
2910
- */
2911
- bodyAsText: string;
2912
-
2913
- /**
2914
- * The response body as parsed JSON or XML
3471
+ * The parsed HTTP response headers.
2915
3472
  */
2916
- parsedBody: AgentPool;
2917
- };
2918
- };
3473
+ parsedHeaders: AgentPoolsUpgradeNodeImageVersionHeaders;
2919
3474
 
2920
- /**
2921
- * Contains response data for the beginCreateOrUpdate operation.
2922
- */
2923
- export type AgentPoolsBeginCreateOrUpdateResponse = AgentPool & {
2924
- /**
2925
- * The underlying HTTP response.
2926
- */
2927
- _response: msRest.HttpResponse & {
2928
3475
  /**
2929
3476
  * The response body as text (string format)
2930
3477
  */
@@ -2938,9 +3485,9 @@ export type AgentPoolsBeginCreateOrUpdateResponse = AgentPool & {
2938
3485
  };
2939
3486
 
2940
3487
  /**
2941
- * Contains response data for the beginUpgradeNodeImageVersion operation.
3488
+ * Contains response data for the beginCreateOrUpdate operation.
2942
3489
  */
2943
- export type AgentPoolsBeginUpgradeNodeImageVersionResponse = AgentPool & {
3490
+ export type AgentPoolsBeginCreateOrUpdateResponse = AgentPool & {
2944
3491
  /**
2945
3492
  * The underlying HTTP response.
2946
3493
  */
@@ -3076,3 +3623,143 @@ export type ResolvePrivateLinkServiceIdPOSTResponse = PrivateLinkResource & {
3076
3623
  parsedBody: PrivateLinkResource;
3077
3624
  };
3078
3625
  };
3626
+
3627
+ /**
3628
+ * Contains response data for the list operation.
3629
+ */
3630
+ export type SnapshotsListResponse = SnapshotListResult & {
3631
+ /**
3632
+ * The underlying HTTP response.
3633
+ */
3634
+ _response: msRest.HttpResponse & {
3635
+ /**
3636
+ * The response body as text (string format)
3637
+ */
3638
+ bodyAsText: string;
3639
+
3640
+ /**
3641
+ * The response body as parsed JSON or XML
3642
+ */
3643
+ parsedBody: SnapshotListResult;
3644
+ };
3645
+ };
3646
+
3647
+ /**
3648
+ * Contains response data for the listByResourceGroup operation.
3649
+ */
3650
+ export type SnapshotsListByResourceGroupResponse = SnapshotListResult & {
3651
+ /**
3652
+ * The underlying HTTP response.
3653
+ */
3654
+ _response: msRest.HttpResponse & {
3655
+ /**
3656
+ * The response body as text (string format)
3657
+ */
3658
+ bodyAsText: string;
3659
+
3660
+ /**
3661
+ * The response body as parsed JSON or XML
3662
+ */
3663
+ parsedBody: SnapshotListResult;
3664
+ };
3665
+ };
3666
+
3667
+ /**
3668
+ * Contains response data for the get operation.
3669
+ */
3670
+ export type SnapshotsGetResponse = Snapshot & {
3671
+ /**
3672
+ * The underlying HTTP response.
3673
+ */
3674
+ _response: msRest.HttpResponse & {
3675
+ /**
3676
+ * The response body as text (string format)
3677
+ */
3678
+ bodyAsText: string;
3679
+
3680
+ /**
3681
+ * The response body as parsed JSON or XML
3682
+ */
3683
+ parsedBody: Snapshot;
3684
+ };
3685
+ };
3686
+
3687
+ /**
3688
+ * Contains response data for the createOrUpdate operation.
3689
+ */
3690
+ export type SnapshotsCreateOrUpdateResponse = Snapshot & {
3691
+ /**
3692
+ * The underlying HTTP response.
3693
+ */
3694
+ _response: msRest.HttpResponse & {
3695
+ /**
3696
+ * The response body as text (string format)
3697
+ */
3698
+ bodyAsText: string;
3699
+
3700
+ /**
3701
+ * The response body as parsed JSON or XML
3702
+ */
3703
+ parsedBody: Snapshot;
3704
+ };
3705
+ };
3706
+
3707
+ /**
3708
+ * Contains response data for the updateTags operation.
3709
+ */
3710
+ export type SnapshotsUpdateTagsResponse = Snapshot & {
3711
+ /**
3712
+ * The underlying HTTP response.
3713
+ */
3714
+ _response: msRest.HttpResponse & {
3715
+ /**
3716
+ * The response body as text (string format)
3717
+ */
3718
+ bodyAsText: string;
3719
+
3720
+ /**
3721
+ * The response body as parsed JSON or XML
3722
+ */
3723
+ parsedBody: Snapshot;
3724
+ };
3725
+ };
3726
+
3727
+ /**
3728
+ * Contains response data for the listNext operation.
3729
+ */
3730
+ export type SnapshotsListNextResponse = SnapshotListResult & {
3731
+ /**
3732
+ * The underlying HTTP response.
3733
+ */
3734
+ _response: msRest.HttpResponse & {
3735
+ /**
3736
+ * The response body as text (string format)
3737
+ */
3738
+ bodyAsText: string;
3739
+
3740
+ /**
3741
+ * The response body as parsed JSON or XML
3742
+ */
3743
+ parsedBody: SnapshotListResult;
3744
+ };
3745
+ };
3746
+
3747
+ /**
3748
+ * Contains response data for the listByResourceGroupNext operation.
3749
+ */
3750
+ export type SnapshotsListByResourceGroupNextResponse = SnapshotListResult & {
3751
+ /**
3752
+ * The underlying HTTP response.
3753
+ */
3754
+ _response: msRest.HttpResponse & {
3755
+ /**
3756
+ * The response body as text (string format)
3757
+ */
3758
+ bodyAsText: string;
3759
+
3760
+ /**
3761
+ * The response body as parsed JSON or XML
3762
+ */
3763
+ parsedBody: SnapshotListResult;
3764
+ };
3765
+ };