@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
@@ -2,21 +2,21 @@ import { BaseResource, CloudError, AzureServiceClientOptions } from "@azure/ms-r
2
2
  import * as msRest from "@azure/ms-rest-js";
3
3
  export { BaseResource, CloudError };
4
4
  /**
5
- * Describes the properties of a Compute Operation value.
5
+ * Describes the properties of a Operation value.
6
6
  */
7
7
  export interface OperationValue {
8
8
  /**
9
- * The origin of the compute operation.
9
+ * The origin of the operation.
10
10
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
11
11
  */
12
12
  readonly origin?: string;
13
13
  /**
14
- * The name of the compute operation.
14
+ * The name of the operation.
15
15
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
16
16
  */
17
17
  readonly name?: string;
18
18
  /**
19
- * The display name of the compute operation.
19
+ * The display name 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 operation?: string;
@@ -198,7 +198,12 @@ export interface ContainerServiceMasterProfile {
198
198
  */
199
199
  export interface AgentPoolUpgradeSettings {
200
200
  /**
201
- * Count or percentage of additional nodes to be added during upgrade. If empty uses AKS default
201
+ * The maximum number or percentage of nodes that are surged during upgrade. This can either be
202
+ * set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is
203
+ * the percentage of the total agent pool size at the time of the upgrade. For percentages,
204
+ * fractional nodes are rounded up. If not specified, the default is 1. For more information,
205
+ * including best practices, see:
206
+ * https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade
202
207
  */
203
208
  maxSurge?: string;
204
209
  }
@@ -212,35 +217,46 @@ export interface PowerState {
212
217
  code?: Code;
213
218
  }
214
219
  /**
215
- * Kubelet configurations of agent nodes.
220
+ * See [AKS custom node
221
+ * configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details.
222
+ * @summary Kubelet configurations of agent nodes.
216
223
  */
217
224
  export interface KubeletConfig {
218
225
  /**
219
- * CPU Manager policy to use.
226
+ * The CPU Manager policy to use. The default is 'none'. See [Kubernetes CPU management
227
+ * policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies)
228
+ * for more information. Allowed values are 'none' and 'static'.
220
229
  */
221
230
  cpuManagerPolicy?: string;
222
231
  /**
223
- * Enable CPU CFS quota enforcement for containers that specify CPU limits.
232
+ * If CPU CFS quota enforcement is enabled for containers that specify CPU limits. The default is
233
+ * true.
224
234
  */
225
235
  cpuCfsQuota?: boolean;
226
236
  /**
227
- * Sets CPU CFS quota period value.
237
+ * The CPU CFS quota period value. The default is '100ms.' Valid values are a sequence of decimal
238
+ * numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported
239
+ * units are 'ns', 'us', 'ms', 's', 'm', and 'h'.
228
240
  */
229
241
  cpuCfsQuotaPeriod?: string;
230
242
  /**
231
- * The percent of disk usage after which image garbage collection is always run.
243
+ * The percent of disk usage after which image garbage collection is always run. To disable image
244
+ * garbage collection, set to 100. The default is 85%
232
245
  */
233
246
  imageGcHighThreshold?: number;
234
247
  /**
235
- * The percent of disk usage before which image garbage collection is never run.
248
+ * The percent of disk usage before which image garbage collection is never run. This cannot be
249
+ * set higher than imageGcHighThreshold. The default is 80%
236
250
  */
237
251
  imageGcLowThreshold?: number;
238
252
  /**
239
- * Topology Manager policy to use.
253
+ * The Topology Manager policy to use. For more information see [Kubernetes Topology
254
+ * Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is
255
+ * 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'.
240
256
  */
241
257
  topologyManagerPolicy?: string;
242
258
  /**
243
- * Allowlist of unsafe sysctls or unsafe sysctl patterns (ending in `*`).
259
+ * Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`).
244
260
  */
245
261
  allowedUnsafeSysctls?: string[];
246
262
  /**
@@ -379,7 +395,9 @@ export interface SysctlConfig {
379
395
  vmVfsCachePressure?: number;
380
396
  }
381
397
  /**
382
- * OS configurations of Linux agent nodes.
398
+ * See [AKS custom node
399
+ * configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details.
400
+ * @summary OS configurations of Linux agent nodes.
383
401
  */
384
402
  export interface LinuxOSConfig {
385
403
  /**
@@ -387,115 +405,93 @@ export interface LinuxOSConfig {
387
405
  */
388
406
  sysctls?: SysctlConfig;
389
407
  /**
390
- * Transparent Huge Page enabled configuration.
408
+ * Whether transparent hugepages are enabled. Valid values are 'always', 'madvise', and 'never'.
409
+ * The default is 'always'. For more information see [Transparent
410
+ * Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge).
391
411
  */
392
412
  transparentHugePageEnabled?: string;
393
413
  /**
394
- * Transparent Huge Page defrag configuration.
414
+ * Whether the kernel should make aggressive use of memory compaction to make more hugepages
415
+ * available. Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The
416
+ * default is 'madvise'. For more information see [Transparent
417
+ * Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge).
395
418
  */
396
419
  transparentHugePageDefrag?: string;
397
420
  /**
398
- * SwapFileSizeMB specifies size in MB of a swap file will be created on each node.
421
+ * The size in MB of a swap file that will be created on each node.
399
422
  */
400
423
  swapFileSizeMB?: number;
401
424
  }
425
+ /**
426
+ * Data used when creating a target resource from a source resource.
427
+ */
428
+ export interface CreationData {
429
+ /**
430
+ * This is the ARM ID of the source object to be used to create the target object.
431
+ */
432
+ sourceResourceId?: string;
433
+ }
402
434
  /**
403
435
  * Properties for the container service agent pool profile.
404
436
  */
405
437
  export interface ManagedClusterAgentPoolProfileProperties {
406
438
  /**
407
439
  * Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to
408
- * 100 (inclusive) for user pools and in the range of 1 to 100 (inclusive) for system pools. The
409
- * default value is 1.
440
+ * 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools.
441
+ * The default value is 1.
410
442
  */
411
443
  count?: number;
412
444
  /**
413
- * Size of agent VMs. Possible values include: 'Standard_A1', 'Standard_A10', 'Standard_A11',
414
- * 'Standard_A1_v2', 'Standard_A2', 'Standard_A2_v2', 'Standard_A2m_v2', 'Standard_A3',
415
- * 'Standard_A4', 'Standard_A4_v2', 'Standard_A4m_v2', 'Standard_A5', 'Standard_A6',
416
- * 'Standard_A7', 'Standard_A8', 'Standard_A8_v2', 'Standard_A8m_v2', 'Standard_A9',
417
- * 'Standard_B2ms', 'Standard_B2s', 'Standard_B4ms', 'Standard_B8ms', 'Standard_D1',
418
- * 'Standard_D11', 'Standard_D11_v2', 'Standard_D11_v2_Promo', 'Standard_D12', 'Standard_D12_v2',
419
- * 'Standard_D12_v2_Promo', 'Standard_D13', 'Standard_D13_v2', 'Standard_D13_v2_Promo',
420
- * 'Standard_D14', 'Standard_D14_v2', 'Standard_D14_v2_Promo', 'Standard_D15_v2',
421
- * 'Standard_D16_v3', 'Standard_D16s_v3', 'Standard_D1_v2', 'Standard_D2', 'Standard_D2_v2',
422
- * 'Standard_D2_v2_Promo', 'Standard_D2_v3', 'Standard_D2s_v3', 'Standard_D3', 'Standard_D32_v3',
423
- * 'Standard_D32s_v3', 'Standard_D3_v2', 'Standard_D3_v2_Promo', 'Standard_D4', 'Standard_D4_v2',
424
- * 'Standard_D4_v2_Promo', 'Standard_D4_v3', 'Standard_D4s_v3', 'Standard_D5_v2',
425
- * 'Standard_D5_v2_Promo', 'Standard_D64_v3', 'Standard_D64s_v3', 'Standard_D8_v3',
426
- * 'Standard_D8s_v3', 'Standard_DS1', 'Standard_DS11', 'Standard_DS11_v2',
427
- * 'Standard_DS11_v2_Promo', 'Standard_DS12', 'Standard_DS12_v2', 'Standard_DS12_v2_Promo',
428
- * 'Standard_DS13', 'Standard_DS13-2_v2', 'Standard_DS13-4_v2', 'Standard_DS13_v2',
429
- * 'Standard_DS13_v2_Promo', 'Standard_DS14', 'Standard_DS14-4_v2', 'Standard_DS14-8_v2',
430
- * 'Standard_DS14_v2', 'Standard_DS14_v2_Promo', 'Standard_DS15_v2', 'Standard_DS1_v2',
431
- * 'Standard_DS2', 'Standard_DS2_v2', 'Standard_DS2_v2_Promo', 'Standard_DS3', 'Standard_DS3_v2',
432
- * 'Standard_DS3_v2_Promo', 'Standard_DS4', 'Standard_DS4_v2', 'Standard_DS4_v2_Promo',
433
- * 'Standard_DS5_v2', 'Standard_DS5_v2_Promo', 'Standard_E16_v3', 'Standard_E16s_v3',
434
- * 'Standard_E2_v3', 'Standard_E2s_v3', 'Standard_E32-16s_v3', 'Standard_E32-8s_v3',
435
- * 'Standard_E32_v3', 'Standard_E32s_v3', 'Standard_E4_v3', 'Standard_E4s_v3',
436
- * 'Standard_E64-16s_v3', 'Standard_E64-32s_v3', 'Standard_E64_v3', 'Standard_E64s_v3',
437
- * 'Standard_E8_v3', 'Standard_E8s_v3', 'Standard_F1', 'Standard_F16', 'Standard_F16s',
438
- * 'Standard_F16s_v2', 'Standard_F1s', 'Standard_F2', 'Standard_F2s', 'Standard_F2s_v2',
439
- * 'Standard_F32s_v2', 'Standard_F4', 'Standard_F4s', 'Standard_F4s_v2', 'Standard_F64s_v2',
440
- * 'Standard_F72s_v2', 'Standard_F8', 'Standard_F8s', 'Standard_F8s_v2', 'Standard_G1',
441
- * 'Standard_G2', 'Standard_G3', 'Standard_G4', 'Standard_G5', 'Standard_GS1', 'Standard_GS2',
442
- * 'Standard_GS3', 'Standard_GS4', 'Standard_GS4-4', 'Standard_GS4-8', 'Standard_GS5',
443
- * 'Standard_GS5-16', 'Standard_GS5-8', 'Standard_H16', 'Standard_H16m', 'Standard_H16mr',
444
- * 'Standard_H16r', 'Standard_H8', 'Standard_H8m', 'Standard_L16s', 'Standard_L32s',
445
- * 'Standard_L4s', 'Standard_L8s', 'Standard_M128-32ms', 'Standard_M128-64ms', 'Standard_M128ms',
446
- * 'Standard_M128s', 'Standard_M64-16ms', 'Standard_M64-32ms', 'Standard_M64ms', 'Standard_M64s',
447
- * 'Standard_NC12', 'Standard_NC12s_v2', 'Standard_NC12s_v3', 'Standard_NC24', 'Standard_NC24r',
448
- * 'Standard_NC24rs_v2', 'Standard_NC24rs_v3', 'Standard_NC24s_v2', 'Standard_NC24s_v3',
449
- * 'Standard_NC6', 'Standard_NC6s_v2', 'Standard_NC6s_v3', 'Standard_ND12s', 'Standard_ND24rs',
450
- * 'Standard_ND24s', 'Standard_ND6s', 'Standard_NV12', 'Standard_NV24', 'Standard_NV6'
451
- */
452
- vmSize?: ContainerServiceVMSizeTypes;
453
- /**
454
- * OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent
455
- * pool. If you specify 0, it will apply the default osDisk size according to the vmSize
456
- * specified.
445
+ * The size of the agent pool VMs. VM size availability varies by region. If a node contains
446
+ * insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more
447
+ * details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions
457
448
  */
449
+ vmSize?: string;
458
450
  osDiskSizeGB?: number;
459
451
  /**
460
- * OS disk type to be used for machines in a given agent pool. Allowed values are 'Ephemeral' and
461
- * 'Managed'. Defaults to 'Managed'. May not be changed after creation. Possible values include:
462
- * 'Managed', 'Ephemeral'
452
+ * Possible values include: 'Managed', 'Ephemeral'
463
453
  */
464
454
  osDiskType?: OSDiskType;
465
455
  /**
466
- * KubeletDiskType determines the placement of emptyDir volumes, container runtime data root, and
467
- * Kubelet ephemeral storage. Currently allows one value, OS, resulting in Kubelet using the OS
468
- * disk for data. Possible values include: 'OS', 'Temporary'
456
+ * Possible values include: 'OS', 'Temporary'
469
457
  */
470
458
  kubeletDiskType?: KubeletDiskType;
471
459
  /**
472
- * VNet SubnetID specifies the VNet's subnet identifier for nodes and maybe pods
460
+ * Possible values include: 'OCIContainer', 'WasmWasi'
461
+ */
462
+ workloadRuntime?: WorkloadRuntime;
463
+ /**
464
+ * The ID of the subnet which agent pool nodes and optionally pods will join on startup. If this
465
+ * is not specified, a VNET and subnet will be generated and used. If no podSubnetID is
466
+ * specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the
467
+ * form:
468
+ * /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}
473
469
  */
474
470
  vnetSubnetID?: string;
475
471
  /**
476
- * Pod SubnetID specifies the VNet's subnet identifier for pods.
472
+ * The ID of the subnet which pods will join when launched. If omitted, pod IPs are statically
473
+ * assigned on the node subnet (see vnetSubnetID for more details). This is of the form:
474
+ * /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}
477
475
  */
478
476
  podSubnetID?: string;
479
477
  /**
480
- * Maximum number of pods that can run on a node.
478
+ * The maximum number of pods that can run on a node.
481
479
  */
482
480
  maxPods?: number;
483
481
  /**
484
- * OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux.
485
482
  * Possible values include: 'Linux', 'Windows'. Default value: 'Linux'.
486
483
  */
487
484
  osType?: OSType;
488
485
  /**
489
- * OsSKU to be used to specify os sku. Choose from Ubuntu(default) and CBLMariner for Linux
490
- * OSType. Not applicable to Windows OSType. Possible values include: 'Ubuntu', 'CBLMariner'
486
+ * Possible values include: 'Ubuntu', 'CBLMariner'
491
487
  */
492
488
  osSKU?: OSSKU;
493
489
  /**
494
- * Maximum number of nodes for auto-scaling
490
+ * The maximum number of nodes for auto-scaling
495
491
  */
496
492
  maxCount?: number;
497
493
  /**
498
- * Minimum number of nodes for auto-scaling
494
+ * The minimum number of nodes for auto-scaling
499
495
  */
500
496
  minCount?: number;
501
497
  /**
@@ -503,20 +499,30 @@ export interface ManagedClusterAgentPoolProfileProperties {
503
499
  */
504
500
  enableAutoScaling?: boolean;
505
501
  /**
506
- * AgentPoolType represents types of an agent pool. Possible values include:
507
- * 'VirtualMachineScaleSets', 'AvailabilitySet'
502
+ * The scale down mode to use when scaling the Agent Pool. This also effects the cluster
503
+ * autoscaler behavior. If not specified, it defaults to Delete. Possible values include:
504
+ * 'Delete', 'Deallocate'
505
+ */
506
+ scaleDownMode?: ScaleDownMode;
507
+ /**
508
+ * Possible values include: 'VirtualMachineScaleSets', 'AvailabilitySet'
508
509
  */
509
510
  type?: AgentPoolType;
510
511
  /**
511
- * AgentPoolMode represents mode of an agent pool. Possible values include: 'System', 'User'
512
+ * Possible values include: 'System', 'User'
512
513
  */
513
514
  mode?: AgentPoolMode;
514
515
  /**
515
- * Version of orchestrator specified when creating the managed cluster.
516
+ * The version of Kubernetes running on the Agent Pool. As a best practice, you should upgrade
517
+ * all node pools in an AKS cluster to the same Kubernetes version. The node pool version must
518
+ * have the same major version as the control plane. The node pool minor version must be within
519
+ * two minor versions of the control plane version. The node pool version cannot be greater than
520
+ * the control plane version. For more information see [upgrading a node
521
+ * pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool).
516
522
  */
517
523
  orchestratorVersion?: string;
518
524
  /**
519
- * Version of node image
525
+ * The version of node image
520
526
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
521
527
  */
522
528
  readonly nodeImageVersion?: string;
@@ -525,58 +531,69 @@ export interface ManagedClusterAgentPoolProfileProperties {
525
531
  */
526
532
  upgradeSettings?: AgentPoolUpgradeSettings;
527
533
  /**
528
- * The current deployment or provisioning state, which only appears in the response.
534
+ * The current deployment or provisioning state.
529
535
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
530
536
  */
531
537
  readonly provisioningState?: string;
532
538
  /**
533
- * Describes whether the Agent Pool is Running or Stopped
534
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
539
+ * Whether the Agent Pool is running or stopped. When an Agent Pool is first created it is
540
+ * initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped
541
+ * Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be
542
+ * stopped if it is Running and provisioning state is Succeeded
535
543
  */
536
- readonly powerState?: PowerState;
544
+ powerState?: PowerState;
537
545
  /**
538
- * Availability zones for nodes. Must use VirtualMachineScaleSets AgentPoolType.
546
+ * The list of Availability zones to use for nodes. This can only be specified if the
547
+ * AgentPoolType property is 'VirtualMachineScaleSets'.
539
548
  */
540
549
  availabilityZones?: string[];
541
550
  /**
542
- * Enable public IP for nodes
551
+ * Whether each node is allocated its own public IP. Some scenarios may require nodes in a node
552
+ * pool to receive their own dedicated public IP addresses. A common scenario is for gaming
553
+ * workloads, where a console needs to make a direct connection to a cloud virtual machine to
554
+ * minimize hops. For more information see [assigning a public IP per
555
+ * node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools).
556
+ * The default is false.
543
557
  */
544
558
  enableNodePublicIP?: boolean;
545
559
  /**
546
- * Public IP Prefix ID. VM nodes use IPs assigned from this Public IP Prefix.
560
+ * The public IP prefix ID which VM nodes should use IPs from. This is of the form:
561
+ * /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName}
547
562
  */
548
563
  nodePublicIPPrefixID?: string;
549
564
  /**
550
- * ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular.
551
- * Possible values include: 'Spot', 'Regular'. Default value: 'Regular'.
565
+ * The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. Possible
566
+ * values include: 'Spot', 'Regular'. Default value: 'Regular'.
552
567
  */
553
568
  scaleSetPriority?: ScaleSetPriority;
554
569
  /**
555
- * ScaleSetEvictionPolicy to be used to specify eviction policy for Spot virtual machine scale
556
- * set. Default to Delete. Possible values include: 'Delete', 'Deallocate'. Default value:
557
- * 'Delete'.
570
+ * The Virtual Machine Scale Set eviction policy to use. This cannot be specified unless the
571
+ * scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'. Possible values
572
+ * include: 'Delete', 'Deallocate'. Default value: 'Delete'.
558
573
  */
559
574
  scaleSetEvictionPolicy?: ScaleSetEvictionPolicy;
560
575
  /**
561
- * SpotMaxPrice to be used to specify the maximum price you are willing to pay in US Dollars.
562
- * Possible values are any decimal value greater than zero or -1 which indicates default price to
563
- * be up-to on-demand.
576
+ * The max price (in US Dollars) you are willing to pay for spot instances. Possible values are
577
+ * any decimal value greater than zero or -1 which indicates default price to be up-to on-demand.
578
+ * Possible values are any decimal value greater than zero or -1 which indicates the willingness
579
+ * to pay any on-demand price. For more details on spot pricing, see [spot VMs
580
+ * pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing)
564
581
  */
565
582
  spotMaxPrice?: number;
566
583
  /**
567
- * Agent pool tags to be persisted on the agent pool virtual machine scale set.
584
+ * The tags to be persisted on the agent pool virtual machine scale set.
568
585
  */
569
586
  tags?: {
570
587
  [propertyName: string]: string;
571
588
  };
572
589
  /**
573
- * Agent pool node labels to be persisted across all nodes in agent pool.
590
+ * The node labels to be persisted across all nodes in agent pool.
574
591
  */
575
592
  nodeLabels?: {
576
593
  [propertyName: string]: string;
577
594
  };
578
595
  /**
579
- * Taints added to new nodes during node pool create and scale. For example,
596
+ * The taints added to new nodes during node pool create and scale. For example,
580
597
  * key=value:NoSchedule.
581
598
  */
582
599
  nodeTaints?: string[];
@@ -585,27 +602,39 @@ export interface ManagedClusterAgentPoolProfileProperties {
585
602
  */
586
603
  proximityPlacementGroupID?: string;
587
604
  /**
588
- * KubeletConfig specifies the configuration of kubelet on agent nodes.
605
+ * The Kubelet configuration on the agent pool nodes.
589
606
  */
590
607
  kubeletConfig?: KubeletConfig;
591
608
  /**
592
- * LinuxOSConfig specifies the OS configuration of linux agent nodes.
609
+ * The OS configuration of Linux agent nodes.
593
610
  */
594
611
  linuxOSConfig?: LinuxOSConfig;
595
612
  /**
596
- * Whether to enable EncryptionAtHost
613
+ * Whether to enable host based OS and data drive encryption. This is only supported on certain
614
+ * VM sizes and in certain Azure regions. For more information, see:
615
+ * https://docs.microsoft.com/azure/aks/enable-host-encryption
597
616
  */
598
617
  enableEncryptionAtHost?: boolean;
599
618
  /**
600
- * Whether to use FIPS enabled OS
619
+ * Whether to enable UltraSSD
620
+ */
621
+ enableUltraSSD?: boolean;
622
+ /**
623
+ * Whether to use a FIPS-enabled OS. See [Add a FIPS-enabled node
624
+ * pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview)
625
+ * for more details.
601
626
  */
602
627
  enableFIPS?: boolean;
603
628
  /**
604
629
  * GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.
605
- * Supported values are MIG1g, MIG2g, MIG3g, MIG4g and MIG7g. Possible values include: 'MIG1g',
606
- * 'MIG2g', 'MIG3g', 'MIG4g', 'MIG7g'
630
+ * Possible values include: 'MIG1g', 'MIG2g', 'MIG3g', 'MIG4g', 'MIG7g'
607
631
  */
608
632
  gpuInstanceProfile?: GPUInstanceProfile;
633
+ /**
634
+ * CreationData to be used to specify the source Snapshot ID if the node pool will be
635
+ * created/upgraded using a snapshot.
636
+ */
637
+ creationData?: CreationData;
609
638
  }
610
639
  /**
611
640
  * Profile for the container service agent pool.
@@ -613,6 +642,7 @@ export interface ManagedClusterAgentPoolProfileProperties {
613
642
  export interface ManagedClusterAgentPoolProfile extends ManagedClusterAgentPoolProfileProperties {
614
643
  /**
615
644
  * Unique name of the agent pool profile in the context of the subscription and resource group.
645
+ * Windows agent pool names must be 6 characters or less.
616
646
  */
617
647
  name: string;
618
648
  }
@@ -622,97 +652,61 @@ export interface ManagedClusterAgentPoolProfile extends ManagedClusterAgentPoolP
622
652
  export interface AgentPool extends SubResource {
623
653
  /**
624
654
  * Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to
625
- * 100 (inclusive) for user pools and in the range of 1 to 100 (inclusive) for system pools. The
626
- * default value is 1.
655
+ * 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools.
656
+ * The default value is 1.
627
657
  */
628
658
  count?: number;
629
659
  /**
630
- * Size of agent VMs. Possible values include: 'Standard_A1', 'Standard_A10', 'Standard_A11',
631
- * 'Standard_A1_v2', 'Standard_A2', 'Standard_A2_v2', 'Standard_A2m_v2', 'Standard_A3',
632
- * 'Standard_A4', 'Standard_A4_v2', 'Standard_A4m_v2', 'Standard_A5', 'Standard_A6',
633
- * 'Standard_A7', 'Standard_A8', 'Standard_A8_v2', 'Standard_A8m_v2', 'Standard_A9',
634
- * 'Standard_B2ms', 'Standard_B2s', 'Standard_B4ms', 'Standard_B8ms', 'Standard_D1',
635
- * 'Standard_D11', 'Standard_D11_v2', 'Standard_D11_v2_Promo', 'Standard_D12', 'Standard_D12_v2',
636
- * 'Standard_D12_v2_Promo', 'Standard_D13', 'Standard_D13_v2', 'Standard_D13_v2_Promo',
637
- * 'Standard_D14', 'Standard_D14_v2', 'Standard_D14_v2_Promo', 'Standard_D15_v2',
638
- * 'Standard_D16_v3', 'Standard_D16s_v3', 'Standard_D1_v2', 'Standard_D2', 'Standard_D2_v2',
639
- * 'Standard_D2_v2_Promo', 'Standard_D2_v3', 'Standard_D2s_v3', 'Standard_D3', 'Standard_D32_v3',
640
- * 'Standard_D32s_v3', 'Standard_D3_v2', 'Standard_D3_v2_Promo', 'Standard_D4', 'Standard_D4_v2',
641
- * 'Standard_D4_v2_Promo', 'Standard_D4_v3', 'Standard_D4s_v3', 'Standard_D5_v2',
642
- * 'Standard_D5_v2_Promo', 'Standard_D64_v3', 'Standard_D64s_v3', 'Standard_D8_v3',
643
- * 'Standard_D8s_v3', 'Standard_DS1', 'Standard_DS11', 'Standard_DS11_v2',
644
- * 'Standard_DS11_v2_Promo', 'Standard_DS12', 'Standard_DS12_v2', 'Standard_DS12_v2_Promo',
645
- * 'Standard_DS13', 'Standard_DS13-2_v2', 'Standard_DS13-4_v2', 'Standard_DS13_v2',
646
- * 'Standard_DS13_v2_Promo', 'Standard_DS14', 'Standard_DS14-4_v2', 'Standard_DS14-8_v2',
647
- * 'Standard_DS14_v2', 'Standard_DS14_v2_Promo', 'Standard_DS15_v2', 'Standard_DS1_v2',
648
- * 'Standard_DS2', 'Standard_DS2_v2', 'Standard_DS2_v2_Promo', 'Standard_DS3', 'Standard_DS3_v2',
649
- * 'Standard_DS3_v2_Promo', 'Standard_DS4', 'Standard_DS4_v2', 'Standard_DS4_v2_Promo',
650
- * 'Standard_DS5_v2', 'Standard_DS5_v2_Promo', 'Standard_E16_v3', 'Standard_E16s_v3',
651
- * 'Standard_E2_v3', 'Standard_E2s_v3', 'Standard_E32-16s_v3', 'Standard_E32-8s_v3',
652
- * 'Standard_E32_v3', 'Standard_E32s_v3', 'Standard_E4_v3', 'Standard_E4s_v3',
653
- * 'Standard_E64-16s_v3', 'Standard_E64-32s_v3', 'Standard_E64_v3', 'Standard_E64s_v3',
654
- * 'Standard_E8_v3', 'Standard_E8s_v3', 'Standard_F1', 'Standard_F16', 'Standard_F16s',
655
- * 'Standard_F16s_v2', 'Standard_F1s', 'Standard_F2', 'Standard_F2s', 'Standard_F2s_v2',
656
- * 'Standard_F32s_v2', 'Standard_F4', 'Standard_F4s', 'Standard_F4s_v2', 'Standard_F64s_v2',
657
- * 'Standard_F72s_v2', 'Standard_F8', 'Standard_F8s', 'Standard_F8s_v2', 'Standard_G1',
658
- * 'Standard_G2', 'Standard_G3', 'Standard_G4', 'Standard_G5', 'Standard_GS1', 'Standard_GS2',
659
- * 'Standard_GS3', 'Standard_GS4', 'Standard_GS4-4', 'Standard_GS4-8', 'Standard_GS5',
660
- * 'Standard_GS5-16', 'Standard_GS5-8', 'Standard_H16', 'Standard_H16m', 'Standard_H16mr',
661
- * 'Standard_H16r', 'Standard_H8', 'Standard_H8m', 'Standard_L16s', 'Standard_L32s',
662
- * 'Standard_L4s', 'Standard_L8s', 'Standard_M128-32ms', 'Standard_M128-64ms', 'Standard_M128ms',
663
- * 'Standard_M128s', 'Standard_M64-16ms', 'Standard_M64-32ms', 'Standard_M64ms', 'Standard_M64s',
664
- * 'Standard_NC12', 'Standard_NC12s_v2', 'Standard_NC12s_v3', 'Standard_NC24', 'Standard_NC24r',
665
- * 'Standard_NC24rs_v2', 'Standard_NC24rs_v3', 'Standard_NC24s_v2', 'Standard_NC24s_v3',
666
- * 'Standard_NC6', 'Standard_NC6s_v2', 'Standard_NC6s_v3', 'Standard_ND12s', 'Standard_ND24rs',
667
- * 'Standard_ND24s', 'Standard_ND6s', 'Standard_NV12', 'Standard_NV24', 'Standard_NV6'
668
- */
669
- vmSize?: ContainerServiceVMSizeTypes;
670
- /**
671
- * OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent
672
- * pool. If you specify 0, it will apply the default osDisk size according to the vmSize
673
- * specified.
660
+ * The size of the agent pool VMs. VM size availability varies by region. If a node contains
661
+ * insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more
662
+ * details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions
674
663
  */
664
+ vmSize?: string;
675
665
  osDiskSizeGB?: number;
676
666
  /**
677
- * OS disk type to be used for machines in a given agent pool. Allowed values are 'Ephemeral' and
678
- * 'Managed'. Defaults to 'Managed'. May not be changed after creation. Possible values include:
679
- * 'Managed', 'Ephemeral'
667
+ * Possible values include: 'Managed', 'Ephemeral'
680
668
  */
681
669
  osDiskType?: OSDiskType;
682
670
  /**
683
- * KubeletDiskType determines the placement of emptyDir volumes, container runtime data root, and
684
- * Kubelet ephemeral storage. Currently allows one value, OS, resulting in Kubelet using the OS
685
- * disk for data. Possible values include: 'OS', 'Temporary'
671
+ * Possible values include: 'OS', 'Temporary'
686
672
  */
687
673
  kubeletDiskType?: KubeletDiskType;
688
674
  /**
689
- * VNet SubnetID specifies the VNet's subnet identifier for nodes and maybe pods
675
+ * Possible values include: 'OCIContainer', 'WasmWasi'
676
+ */
677
+ workloadRuntime?: WorkloadRuntime;
678
+ /**
679
+ * The ID of the subnet which agent pool nodes and optionally pods will join on startup. If this
680
+ * is not specified, a VNET and subnet will be generated and used. If no podSubnetID is
681
+ * specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the
682
+ * form:
683
+ * /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}
690
684
  */
691
685
  vnetSubnetID?: string;
692
686
  /**
693
- * Pod SubnetID specifies the VNet's subnet identifier for pods.
687
+ * The ID of the subnet which pods will join when launched. If omitted, pod IPs are statically
688
+ * assigned on the node subnet (see vnetSubnetID for more details). This is of the form:
689
+ * /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}
694
690
  */
695
691
  podSubnetID?: string;
696
692
  /**
697
- * Maximum number of pods that can run on a node.
693
+ * The maximum number of pods that can run on a node.
698
694
  */
699
695
  maxPods?: number;
700
696
  /**
701
- * OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux.
702
697
  * Possible values include: 'Linux', 'Windows'. Default value: 'Linux'.
703
698
  */
704
699
  osType?: OSType;
705
700
  /**
706
- * OsSKU to be used to specify os sku. Choose from Ubuntu(default) and CBLMariner for Linux
707
- * OSType. Not applicable to Windows OSType. Possible values include: 'Ubuntu', 'CBLMariner'
701
+ * Possible values include: 'Ubuntu', 'CBLMariner'
708
702
  */
709
703
  osSKU?: OSSKU;
710
704
  /**
711
- * Maximum number of nodes for auto-scaling
705
+ * The maximum number of nodes for auto-scaling
712
706
  */
713
707
  maxCount?: number;
714
708
  /**
715
- * Minimum number of nodes for auto-scaling
709
+ * The minimum number of nodes for auto-scaling
716
710
  */
717
711
  minCount?: number;
718
712
  /**
@@ -720,20 +714,30 @@ export interface AgentPool extends SubResource {
720
714
  */
721
715
  enableAutoScaling?: boolean;
722
716
  /**
723
- * AgentPoolType represents types of an agent pool. Possible values include:
724
- * 'VirtualMachineScaleSets', 'AvailabilitySet'
717
+ * The scale down mode to use when scaling the Agent Pool. This also effects the cluster
718
+ * autoscaler behavior. If not specified, it defaults to Delete. Possible values include:
719
+ * 'Delete', 'Deallocate'
720
+ */
721
+ scaleDownMode?: ScaleDownMode;
722
+ /**
723
+ * Possible values include: 'VirtualMachineScaleSets', 'AvailabilitySet'
725
724
  */
726
725
  agentPoolType?: AgentPoolType;
727
726
  /**
728
- * AgentPoolMode represents mode of an agent pool. Possible values include: 'System', 'User'
727
+ * Possible values include: 'System', 'User'
729
728
  */
730
729
  mode?: AgentPoolMode;
731
730
  /**
732
- * Version of orchestrator specified when creating the managed cluster.
731
+ * The version of Kubernetes running on the Agent Pool. As a best practice, you should upgrade
732
+ * all node pools in an AKS cluster to the same Kubernetes version. The node pool version must
733
+ * have the same major version as the control plane. The node pool minor version must be within
734
+ * two minor versions of the control plane version. The node pool version cannot be greater than
735
+ * the control plane version. For more information see [upgrading a node
736
+ * pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool).
733
737
  */
734
738
  orchestratorVersion?: string;
735
739
  /**
736
- * Version of node image
740
+ * The version of node image
737
741
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
738
742
  */
739
743
  readonly nodeImageVersion?: string;
@@ -742,58 +746,69 @@ export interface AgentPool extends SubResource {
742
746
  */
743
747
  upgradeSettings?: AgentPoolUpgradeSettings;
744
748
  /**
745
- * The current deployment or provisioning state, which only appears in the response.
749
+ * The current deployment or provisioning state.
746
750
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
747
751
  */
748
752
  readonly provisioningState?: string;
749
753
  /**
750
- * Describes whether the Agent Pool is Running or Stopped
751
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
754
+ * Whether the Agent Pool is running or stopped. When an Agent Pool is first created it is
755
+ * initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped
756
+ * Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be
757
+ * stopped if it is Running and provisioning state is Succeeded
752
758
  */
753
- readonly powerState?: PowerState;
759
+ powerState?: PowerState;
754
760
  /**
755
- * Availability zones for nodes. Must use VirtualMachineScaleSets AgentPoolType.
761
+ * The list of Availability zones to use for nodes. This can only be specified if the
762
+ * AgentPoolType property is 'VirtualMachineScaleSets'.
756
763
  */
757
764
  availabilityZones?: string[];
758
765
  /**
759
- * Enable public IP for nodes
766
+ * Whether each node is allocated its own public IP. Some scenarios may require nodes in a node
767
+ * pool to receive their own dedicated public IP addresses. A common scenario is for gaming
768
+ * workloads, where a console needs to make a direct connection to a cloud virtual machine to
769
+ * minimize hops. For more information see [assigning a public IP per
770
+ * node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools).
771
+ * The default is false.
760
772
  */
761
773
  enableNodePublicIP?: boolean;
762
774
  /**
763
- * Public IP Prefix ID. VM nodes use IPs assigned from this Public IP Prefix.
775
+ * The public IP prefix ID which VM nodes should use IPs from. This is of the form:
776
+ * /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName}
764
777
  */
765
778
  nodePublicIPPrefixID?: string;
766
779
  /**
767
- * ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular.
768
- * Possible values include: 'Spot', 'Regular'. Default value: 'Regular'.
780
+ * The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. Possible
781
+ * values include: 'Spot', 'Regular'. Default value: 'Regular'.
769
782
  */
770
783
  scaleSetPriority?: ScaleSetPriority;
771
784
  /**
772
- * ScaleSetEvictionPolicy to be used to specify eviction policy for Spot virtual machine scale
773
- * set. Default to Delete. Possible values include: 'Delete', 'Deallocate'. Default value:
774
- * 'Delete'.
785
+ * The Virtual Machine Scale Set eviction policy to use. This cannot be specified unless the
786
+ * scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'. Possible values
787
+ * include: 'Delete', 'Deallocate'. Default value: 'Delete'.
775
788
  */
776
789
  scaleSetEvictionPolicy?: ScaleSetEvictionPolicy;
777
790
  /**
778
- * SpotMaxPrice to be used to specify the maximum price you are willing to pay in US Dollars.
779
- * Possible values are any decimal value greater than zero or -1 which indicates default price to
780
- * be up-to on-demand.
791
+ * The max price (in US Dollars) you are willing to pay for spot instances. Possible values are
792
+ * any decimal value greater than zero or -1 which indicates default price to be up-to on-demand.
793
+ * Possible values are any decimal value greater than zero or -1 which indicates the willingness
794
+ * to pay any on-demand price. For more details on spot pricing, see [spot VMs
795
+ * pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing)
781
796
  */
782
797
  spotMaxPrice?: number;
783
798
  /**
784
- * Agent pool tags to be persisted on the agent pool virtual machine scale set.
799
+ * The tags to be persisted on the agent pool virtual machine scale set.
785
800
  */
786
801
  tags?: {
787
802
  [propertyName: string]: string;
788
803
  };
789
804
  /**
790
- * Agent pool node labels to be persisted across all nodes in agent pool.
805
+ * The node labels to be persisted across all nodes in agent pool.
791
806
  */
792
807
  nodeLabels?: {
793
808
  [propertyName: string]: string;
794
809
  };
795
810
  /**
796
- * Taints added to new nodes during node pool create and scale. For example,
811
+ * The taints added to new nodes during node pool create and scale. For example,
797
812
  * key=value:NoSchedule.
798
813
  */
799
814
  nodeTaints?: string[];
@@ -802,34 +817,66 @@ export interface AgentPool extends SubResource {
802
817
  */
803
818
  proximityPlacementGroupID?: string;
804
819
  /**
805
- * KubeletConfig specifies the configuration of kubelet on agent nodes.
820
+ * The Kubelet configuration on the agent pool nodes.
806
821
  */
807
822
  kubeletConfig?: KubeletConfig;
808
823
  /**
809
- * LinuxOSConfig specifies the OS configuration of linux agent nodes.
824
+ * The OS configuration of Linux agent nodes.
810
825
  */
811
826
  linuxOSConfig?: LinuxOSConfig;
812
827
  /**
813
- * Whether to enable EncryptionAtHost
828
+ * Whether to enable host based OS and data drive encryption. This is only supported on certain
829
+ * VM sizes and in certain Azure regions. For more information, see:
830
+ * https://docs.microsoft.com/azure/aks/enable-host-encryption
814
831
  */
815
832
  enableEncryptionAtHost?: boolean;
816
833
  /**
817
- * Whether to use FIPS enabled OS
834
+ * Whether to enable UltraSSD
835
+ */
836
+ enableUltraSSD?: boolean;
837
+ /**
838
+ * Whether to use a FIPS-enabled OS. See [Add a FIPS-enabled node
839
+ * pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview)
840
+ * for more details.
818
841
  */
819
842
  enableFIPS?: boolean;
820
843
  /**
821
844
  * GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.
822
- * Supported values are MIG1g, MIG2g, MIG3g, MIG4g and MIG7g. Possible values include: 'MIG1g',
823
- * 'MIG2g', 'MIG3g', 'MIG4g', 'MIG7g'
845
+ * Possible values include: 'MIG1g', 'MIG2g', 'MIG3g', 'MIG4g', 'MIG7g'
824
846
  */
825
847
  gpuInstanceProfile?: GPUInstanceProfile;
848
+ /**
849
+ * CreationData to be used to specify the source Snapshot ID if the node pool will be
850
+ * created/upgraded using a snapshot.
851
+ */
852
+ creationData?: CreationData;
853
+ }
854
+ /**
855
+ * Windows gMSA Profile in the managed cluster.
856
+ */
857
+ export interface WindowsGmsaProfile {
858
+ /**
859
+ * Whether to enable Windows gMSA. Specifies whether to enable Windows gMSA in the managed
860
+ * cluster.
861
+ */
862
+ enabled?: boolean;
863
+ /**
864
+ * Specifies the DNS server for Windows gMSA. <br><br> Set it to empty if you have configured the
865
+ * DNS server in the vnet which is used to create the managed cluster.
866
+ */
867
+ dnsServer?: string;
868
+ /**
869
+ * Specifies the root domain name for Windows gMSA. <br><br> Set it to empty if you have
870
+ * configured the DNS server in the vnet which is used to create the managed cluster.
871
+ */
872
+ rootDomainName?: string;
826
873
  }
827
874
  /**
828
- * Profile for Windows VMs in the container service cluster.
875
+ * Profile for Windows VMs in the managed cluster.
829
876
  */
830
877
  export interface ManagedClusterWindowsProfile {
831
878
  /**
832
- * Specifies the name of the administrator account. <br><br> **restriction:** Cannot end in "."
879
+ * Specifies the name of the administrator account. <br><br> **Restriction:** Cannot end in "."
833
880
  * <br><br> **Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2",
834
881
  * "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup",
835
882
  * "console", "david", "guest", "john", "owner", "root", "server", "sql", "support",
@@ -847,14 +894,20 @@ export interface ManagedClusterWindowsProfile {
847
894
  */
848
895
  adminPassword?: string;
849
896
  /**
850
- * The licenseType to use for Windows VMs. Windows_Server is used to enable Azure Hybrid User
851
- * Benefits for Windows VMs. Possible values include: 'None', 'Windows_Server'
897
+ * The license type to use for Windows VMs. See [Azure Hybrid User
898
+ * Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. Possible
899
+ * values include: 'None', 'Windows_Server'
852
900
  */
853
901
  licenseType?: LicenseType;
854
902
  /**
855
- * Whether to enable CSI proxy.
903
+ * Whether to enable CSI proxy. For more details on CSI proxy, see the [CSI proxy GitHub
904
+ * repo](https://github.com/kubernetes-csi/csi-proxy).
856
905
  */
857
906
  enableCSIProxy?: boolean;
907
+ /**
908
+ * The Windows gMSA Profile in the Managed Cluster.
909
+ */
910
+ gmsaProfile?: WindowsGmsaProfile;
858
911
  }
859
912
  /**
860
913
  * Contains information about SSH certificate public key data.
@@ -871,8 +924,8 @@ export interface ContainerServiceSshPublicKey {
871
924
  */
872
925
  export interface ContainerServiceSshConfiguration {
873
926
  /**
874
- * The list of SSH public keys used to authenticate with Linux-based VMs. Only expect one key
875
- * specified.
927
+ * The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may
928
+ * be specified.
876
929
  */
877
930
  publicKeys: ContainerServiceSshPublicKey[];
878
931
  }
@@ -885,7 +938,7 @@ export interface ContainerServiceLinuxProfile {
885
938
  */
886
939
  adminUsername: string;
887
940
  /**
888
- * SSH configuration for Linux-based VMs running on Azure.
941
+ * The SSH configuration for Linux-based VMs running on Azure.
889
942
  */
890
943
  ssh: ContainerServiceSshConfiguration;
891
944
  }
@@ -894,10 +947,17 @@ export interface ContainerServiceLinuxProfile {
894
947
  */
895
948
  export interface ManagedClusterLoadBalancerProfileManagedOutboundIPs {
896
949
  /**
897
- * Desired number of outbound IP created/managed by Azure for the cluster load balancer. Allowed
898
- * values must be in the range of 1 to 100 (inclusive). The default value is 1. Default value: 1.
950
+ * The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load
951
+ * balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1.
952
+ * Default value: 1.
899
953
  */
900
954
  count?: number;
955
+ /**
956
+ * The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load
957
+ * balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 0
958
+ * for single-stack and 1 for dual-stack. Default value: 0.
959
+ */
960
+ countIPv6?: number;
901
961
  }
902
962
  /**
903
963
  * A reference to an Azure resource.
@@ -947,34 +1007,66 @@ export interface ManagedClusterLoadBalancerProfile {
947
1007
  */
948
1008
  effectiveOutboundIPs?: ResourceReference[];
949
1009
  /**
950
- * Desired number of allocated SNAT ports per VM. Allowed values must be in the range of 0 to
1010
+ * The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to
951
1011
  * 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports.
952
1012
  * Default value: 0.
953
1013
  */
954
1014
  allocatedOutboundPorts?: number;
955
1015
  /**
956
- * Desired outbound flow idle timeout in minutes. Allowed values must be in the range of 4 to 120
1016
+ * Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120
957
1017
  * (inclusive). The default value is 30 minutes. Default value: 30.
958
1018
  */
959
1019
  idleTimeoutInMinutes?: number;
1020
+ /**
1021
+ * Enable multiple standard load balancers per AKS cluster or not.
1022
+ */
1023
+ enableMultipleStandardLoadBalancers?: boolean;
1024
+ }
1025
+ /**
1026
+ * Profile of the managed outbound IP resources of the managed cluster.
1027
+ */
1028
+ export interface ManagedClusterManagedOutboundIPProfile {
1029
+ /**
1030
+ * The desired number of outbound IPs created/managed by Azure. Allowed values must be in the
1031
+ * range of 1 to 16 (inclusive). The default value is 1. Default value: 1.
1032
+ */
1033
+ count?: number;
1034
+ }
1035
+ /**
1036
+ * Profile of the managed cluster NAT gateway.
1037
+ */
1038
+ export interface ManagedClusterNATGatewayProfile {
1039
+ /**
1040
+ * Profile of the managed outbound IP resources of the cluster NAT gateway.
1041
+ */
1042
+ managedOutboundIPProfile?: ManagedClusterManagedOutboundIPProfile;
1043
+ /**
1044
+ * The effective outbound IP resources of the cluster NAT gateway.
1045
+ */
1046
+ effectiveOutboundIPs?: ResourceReference[];
1047
+ /**
1048
+ * Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120
1049
+ * (inclusive). The default value is 4 minutes. Default value: 4.
1050
+ */
1051
+ idleTimeoutInMinutes?: number;
960
1052
  }
961
1053
  /**
962
1054
  * Profile of network configuration.
963
1055
  */
964
1056
  export interface ContainerServiceNetworkProfile {
965
1057
  /**
966
- * Network plugin used for building Kubernetes network. Possible values include: 'azure',
1058
+ * Network plugin used for building the Kubernetes network. Possible values include: 'azure',
967
1059
  * 'kubenet'. Default value: 'kubenet'.
968
1060
  */
969
1061
  networkPlugin?: NetworkPlugin;
970
1062
  /**
971
- * Network policy used for building Kubernetes network. Possible values include: 'calico',
1063
+ * Network policy used for building the Kubernetes network. Possible values include: 'calico',
972
1064
  * 'azure'
973
1065
  */
974
1066
  networkPolicy?: NetworkPolicy;
975
1067
  /**
976
- * Network mode used for building Kubernetes network. Possible values include: 'transparent',
977
- * 'bridge'
1068
+ * The network mode Azure CNI is configured with. This cannot be specified if networkPlugin is
1069
+ * anything other than 'azure'. Possible values include: 'transparent', 'bridge'
978
1070
  */
979
1071
  networkMode?: NetworkMode;
980
1072
  /**
@@ -998,18 +1090,45 @@ export interface ContainerServiceNetworkProfile {
998
1090
  */
999
1091
  dockerBridgeCidr?: string;
1000
1092
  /**
1001
- * The outbound (egress) routing method. Possible values include: 'loadBalancer',
1002
- * 'userDefinedRouting'. Default value: 'loadBalancer'.
1093
+ * The outbound (egress) routing method. This can only be set at cluster creation time and cannot
1094
+ * be changed later. For more information see [egress outbound
1095
+ * type](https://docs.microsoft.com/azure/aks/egress-outboundtype). Possible values include:
1096
+ * 'loadBalancer', 'userDefinedRouting', 'managedNATGateway', 'userAssignedNATGateway'. Default
1097
+ * value: 'loadBalancer'.
1003
1098
  */
1004
1099
  outboundType?: OutboundType;
1005
1100
  /**
1006
- * The load balancer sku for the managed cluster. Possible values include: 'standard', 'basic'
1101
+ * The load balancer sku for the managed cluster. The default is 'standard'. See [Azure Load
1102
+ * Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about
1103
+ * the differences between load balancer SKUs. Possible values include: 'standard', 'basic'
1007
1104
  */
1008
1105
  loadBalancerSku?: LoadBalancerSku;
1009
1106
  /**
1010
1107
  * Profile of the cluster load balancer.
1011
1108
  */
1012
1109
  loadBalancerProfile?: ManagedClusterLoadBalancerProfile;
1110
+ /**
1111
+ * Profile of the cluster NAT gateway.
1112
+ */
1113
+ natGatewayProfile?: ManagedClusterNATGatewayProfile;
1114
+ /**
1115
+ * The CIDR notation IP ranges from which to assign pod IPs. One IPv4 CIDR is expected for
1116
+ * single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for
1117
+ * dual-stack networking.
1118
+ */
1119
+ podCidrs?: string[];
1120
+ /**
1121
+ * The CIDR notation IP ranges from which to assign service cluster IPs. One IPv4 CIDR is
1122
+ * expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is
1123
+ * expected for dual-stack networking. They must not overlap with any Subnet IP ranges.
1124
+ */
1125
+ serviceCidrs?: string[];
1126
+ /**
1127
+ * The IP families used to specify IP versions available to the cluster. IP families are used to
1128
+ * determine single-stack or dual-stack clusters. For single-stack, the expected value is IPv4.
1129
+ * For dual-stack, the expected values are IPv4 and IPv6.
1130
+ */
1131
+ ipFamilies?: IpFamily[];
1013
1132
  }
1014
1133
  /**
1015
1134
  * Metadata pertaining to creation and last modification of the resource.
@@ -1025,7 +1144,7 @@ export interface SystemData {
1025
1144
  */
1026
1145
  createdByType?: CreatedByType;
1027
1146
  /**
1028
- * The timestamp of resource creation (UTC).
1147
+ * The UTC timestamp of resource creation.
1029
1148
  */
1030
1149
  createdAt?: Date;
1031
1150
  /**
@@ -1047,17 +1166,21 @@ export interface SystemData {
1047
1166
  */
1048
1167
  export interface TimeInWeek {
1049
1168
  /**
1050
- * A day in a week. Possible values include: 'Sunday', 'Monday', 'Tuesday', 'Wednesday',
1169
+ * The day of the week. Possible values include: 'Sunday', 'Monday', 'Tuesday', 'Wednesday',
1051
1170
  * 'Thursday', 'Friday', 'Saturday'
1052
1171
  */
1053
1172
  day?: WeekDay;
1054
1173
  /**
1055
- * hour slots in a day.
1174
+ * A list of hours in the day used to identify a time range. Each integer hour represents a time
1175
+ * range beginning at 0m after the hour ending at the next hour (non-inclusive). 0 corresponds to
1176
+ * 00:00 UTC, 23 corresponds to 23:00 UTC. Specifying [0, 1] means the 00:00 - 02:00 UTC time
1177
+ * range.
1056
1178
  */
1057
1179
  hourSlots?: number[];
1058
1180
  }
1059
1181
  /**
1060
- * The time span with start and end properties.
1182
+ * For example, between 2021-05-25T13:00:00Z and 2021-05-25T14:00:00Z.
1183
+ * @summary A time range.
1061
1184
  */
1062
1185
  export interface TimeSpan {
1063
1186
  /**
@@ -1070,16 +1193,21 @@ export interface TimeSpan {
1070
1193
  end?: Date;
1071
1194
  }
1072
1195
  /**
1073
- * maintenance configuration.
1196
+ * See [planned maintenance](https://docs.microsoft.com/azure/aks/planned-maintenance) for more
1197
+ * information about planned maintenance.
1198
+ * @summary Planned maintenance configuration, used to configure when updates can be deployed to a
1199
+ * Managed Cluster.
1074
1200
  */
1075
1201
  export interface MaintenanceConfiguration extends SubResource {
1076
1202
  /**
1077
- * The system meta data relating to this resource.
1203
+ * The system metadata relating to this resource.
1078
1204
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
1079
1205
  */
1080
1206
  readonly systemData?: SystemData;
1081
1207
  /**
1082
- * Weekday time slots allowed to upgrade.
1208
+ * Time slots during the week when planned maintenance is allowed to proceed. If two array
1209
+ * entries specify the same day of the week, the applied configuration is the union of times in
1210
+ * both entries.
1083
1211
  */
1084
1212
  timeInWeek?: TimeInWeek[];
1085
1213
  /**
@@ -1088,15 +1216,15 @@ export interface MaintenanceConfiguration extends SubResource {
1088
1216
  notAllowedTime?: TimeSpan[];
1089
1217
  }
1090
1218
  /**
1091
- * run command request
1219
+ * A run command request
1092
1220
  */
1093
1221
  export interface RunCommandRequest {
1094
1222
  /**
1095
- * command to run.
1223
+ * The command to run.
1096
1224
  */
1097
1225
  command: string;
1098
1226
  /**
1099
- * base64 encoded zip file, contains files required by the command
1227
+ * A base64 encoded zip file containing the files required by the command.
1100
1228
  */
1101
1229
  context?: string;
1102
1230
  /**
@@ -1109,7 +1237,7 @@ export interface RunCommandRequest {
1109
1237
  */
1110
1238
  export interface RunCommandResult {
1111
1239
  /**
1112
- * command id.
1240
+ * The command id.
1113
1241
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
1114
1242
  */
1115
1243
  readonly id?: string;
@@ -1119,27 +1247,27 @@ export interface RunCommandResult {
1119
1247
  */
1120
1248
  readonly provisioningState?: string;
1121
1249
  /**
1122
- * exit code of the command
1250
+ * The exit code of the command
1123
1251
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
1124
1252
  */
1125
1253
  readonly exitCode?: number;
1126
1254
  /**
1127
- * time when the command started.
1255
+ * The time when the command started.
1128
1256
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
1129
1257
  */
1130
1258
  readonly startedAt?: Date;
1131
1259
  /**
1132
- * time when the command finished.
1260
+ * The time when the command finished.
1133
1261
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
1134
1262
  */
1135
1263
  readonly finishedAt?: Date;
1136
1264
  /**
1137
- * command output.
1265
+ * The command output.
1138
1266
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
1139
1267
  */
1140
1268
  readonly logs?: string;
1141
1269
  /**
1142
- * explain why provisioningState is set to failed (if so).
1270
+ * An explanation of why provisioningState is set to failed (if so).
1143
1271
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
1144
1272
  */
1145
1273
  readonly reason?: string;
@@ -1168,19 +1296,92 @@ export interface ContainerServiceDiagnosticsProfile {
1168
1296
  vmDiagnostics: ContainerServiceVMDiagnostics;
1169
1297
  }
1170
1298
  /**
1171
- * An interface representing UserAssignedIdentity.
1299
+ * The SKU of a Managed Cluster.
1300
+ */
1301
+ export interface ManagedClusterSKU {
1302
+ /**
1303
+ * The name of a managed cluster SKU. Possible values include: 'Basic'
1304
+ */
1305
+ name?: ManagedClusterSKUName;
1306
+ /**
1307
+ * The tier of a managed cluster SKU. If not specified, the default is 'Free'. See [uptime
1308
+ * SLA](https://docs.microsoft.com/azure/aks/uptime-sla) for more details. Possible values
1309
+ * include: 'Paid', 'Free'
1310
+ */
1311
+ tier?: ManagedClusterSKUTier;
1312
+ }
1313
+ /**
1314
+ * The complex type of the extended location.
1315
+ */
1316
+ export interface ExtendedLocation {
1317
+ /**
1318
+ * The name of the extended location.
1319
+ */
1320
+ name?: string;
1321
+ /**
1322
+ * The type of the extended location. Possible values include: 'EdgeZone'
1323
+ */
1324
+ type?: ExtendedLocationTypes;
1325
+ }
1326
+ /**
1327
+ * An interface representing ManagedClusterIdentityUserAssignedIdentitiesValue.
1328
+ */
1329
+ export interface ManagedClusterIdentityUserAssignedIdentitiesValue {
1330
+ /**
1331
+ * The principal id of user assigned identity.
1332
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
1333
+ */
1334
+ readonly principalId?: string;
1335
+ /**
1336
+ * The client id of user assigned identity.
1337
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
1338
+ */
1339
+ readonly clientId?: string;
1340
+ }
1341
+ /**
1342
+ * Identity for the managed cluster.
1343
+ */
1344
+ export interface ManagedClusterIdentity {
1345
+ /**
1346
+ * The principal id of the system assigned identity which is used by master components.
1347
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
1348
+ */
1349
+ readonly principalId?: string;
1350
+ /**
1351
+ * The tenant id of the system assigned identity which is used by master components.
1352
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
1353
+ */
1354
+ readonly tenantId?: string;
1355
+ /**
1356
+ * The type of identity used for the managed cluster. For more information see [use managed
1357
+ * identities in AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). Possible values
1358
+ * include: 'SystemAssigned', 'UserAssigned', 'None'
1359
+ */
1360
+ type?: ResourceIdentityType;
1361
+ /**
1362
+ * The user identity associated with the managed cluster. This identity will be used in control
1363
+ * plane. Only one user assigned identity is allowed. The keys must be ARM resource IDs in the
1364
+ * form:
1365
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
1366
+ */
1367
+ userAssignedIdentities?: {
1368
+ [propertyName: string]: ManagedClusterIdentityUserAssignedIdentitiesValue;
1369
+ };
1370
+ }
1371
+ /**
1372
+ * Details about a user assigned identity.
1172
1373
  */
1173
1374
  export interface UserAssignedIdentity {
1174
1375
  /**
1175
- * The resource id of the user assigned identity.
1376
+ * The resource ID of the user assigned identity.
1176
1377
  */
1177
1378
  resourceId?: string;
1178
1379
  /**
1179
- * The client id of the user assigned identity.
1380
+ * The client ID of the user assigned identity.
1180
1381
  */
1181
1382
  clientId?: string;
1182
1383
  /**
1183
- * The object id of the user assigned identity.
1384
+ * The object ID of the user assigned identity.
1184
1385
  */
1185
1386
  objectId?: string;
1186
1387
  }
@@ -1209,6 +1410,37 @@ export interface ManagedClusterAddonProfile {
1209
1410
  */
1210
1411
  readonly identity?: ManagedClusterAddonProfileIdentity;
1211
1412
  }
1413
+ /**
1414
+ * An error response from the pod identity provisioning.
1415
+ */
1416
+ export interface ManagedClusterPodIdentityProvisioningErrorBody {
1417
+ /**
1418
+ * An identifier for the error. Codes are invariant and are intended to be consumed
1419
+ * programmatically.
1420
+ */
1421
+ code?: string;
1422
+ /**
1423
+ * A message describing the error, intended to be suitable for display in a user interface.
1424
+ */
1425
+ message?: string;
1426
+ /**
1427
+ * The target of the particular error. For example, the name of the property in error.
1428
+ */
1429
+ target?: string;
1430
+ /**
1431
+ * A list of additional details about the error.
1432
+ */
1433
+ details?: ManagedClusterPodIdentityProvisioningErrorBody[];
1434
+ }
1435
+ /**
1436
+ * An error response from the pod identity provisioning.
1437
+ */
1438
+ export interface ManagedClusterPodIdentityProvisioningError {
1439
+ /**
1440
+ * Details about the error.
1441
+ */
1442
+ error?: ManagedClusterPodIdentityProvisioningErrorBody;
1443
+ }
1212
1444
  /**
1213
1445
  * An interface representing ManagedClusterPodIdentityProvisioningInfo.
1214
1446
  */
@@ -1216,26 +1448,26 @@ export interface ManagedClusterPodIdentityProvisioningInfo {
1216
1448
  /**
1217
1449
  * Pod identity assignment error (if any).
1218
1450
  */
1219
- error?: CloudError;
1451
+ error?: ManagedClusterPodIdentityProvisioningError;
1220
1452
  }
1221
1453
  /**
1222
- * An interface representing ManagedClusterPodIdentity.
1454
+ * Details about the pod identity assigned to the Managed Cluster.
1223
1455
  */
1224
1456
  export interface ManagedClusterPodIdentity {
1225
1457
  /**
1226
- * Name of the pod identity.
1458
+ * The name of the pod identity.
1227
1459
  */
1228
1460
  name: string;
1229
1461
  /**
1230
- * Namespace of the pod identity.
1462
+ * The namespace of the pod identity.
1231
1463
  */
1232
1464
  namespace: string;
1233
1465
  /**
1234
- * Binding selector to use for the AzureIdentityBinding resource.
1466
+ * The binding selector to use for the AzureIdentityBinding resource.
1235
1467
  */
1236
1468
  bindingSelector?: string;
1237
1469
  /**
1238
- * Information of the user assigned identity.
1470
+ * The user assigned identity details.
1239
1471
  */
1240
1472
  identity: UserAssignedIdentity;
1241
1473
  /**
@@ -1250,26 +1482,33 @@ export interface ManagedClusterPodIdentity {
1250
1482
  readonly provisioningInfo?: ManagedClusterPodIdentityProvisioningInfo;
1251
1483
  }
1252
1484
  /**
1253
- * An interface representing ManagedClusterPodIdentityException.
1485
+ * See [disable AAD Pod Identity for a specific
1486
+ * Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/)
1487
+ * for more details.
1488
+ * @summary A pod identity exception, which allows pods with certain labels to access the Azure
1489
+ * Instance Metadata Service (IMDS) endpoint without being intercepted by the node-managed identity
1490
+ * (NMI) server.
1254
1491
  */
1255
1492
  export interface ManagedClusterPodIdentityException {
1256
1493
  /**
1257
- * Name of the pod identity exception.
1494
+ * The name of the pod identity exception.
1258
1495
  */
1259
1496
  name: string;
1260
1497
  /**
1261
- * Namespace of the pod identity exception.
1498
+ * The namespace of the pod identity exception.
1262
1499
  */
1263
1500
  namespace: string;
1264
1501
  /**
1265
- * Pod labels to match.
1502
+ * The pod labels to match.
1266
1503
  */
1267
1504
  podLabels: {
1268
1505
  [propertyName: string]: string;
1269
1506
  };
1270
1507
  }
1271
1508
  /**
1272
- * An interface representing ManagedClusterPodIdentityProfile.
1509
+ * See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for
1510
+ * more details on pod identity integration.
1511
+ * @summary The pod identity profile of the Managed Cluster.
1273
1512
  */
1274
1513
  export interface ManagedClusterPodIdentityProfile {
1275
1514
  /**
@@ -1277,20 +1516,25 @@ export interface ManagedClusterPodIdentityProfile {
1277
1516
  */
1278
1517
  enabled?: boolean;
1279
1518
  /**
1280
- * Customer consent for enabling AAD pod identity addon in cluster using Kubenet network plugin.
1519
+ * Whether pod identity is allowed to run on clusters with Kubenet networking. Running in Kubenet
1520
+ * is disabled by default due to the security related nature of AAD Pod Identity and the risks of
1521
+ * IP spoofing. See [using Kubenet network plugin with AAD Pod
1522
+ * Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities)
1523
+ * for more information.
1281
1524
  */
1282
1525
  allowNetworkPluginKubenet?: boolean;
1283
1526
  /**
1284
- * User assigned pod identity settings.
1527
+ * The pod identities to use in the cluster.
1285
1528
  */
1286
1529
  userAssignedIdentities?: ManagedClusterPodIdentity[];
1287
1530
  /**
1288
- * User assigned pod identity exception settings.
1531
+ * The pod identity exceptions to allow.
1289
1532
  */
1290
1533
  userAssignedIdentityExceptions?: ManagedClusterPodIdentityException[];
1291
1534
  }
1292
1535
  /**
1293
- * AADProfile specifies attributes for Azure Active Directory integration.
1536
+ * For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad).
1537
+ * @summary AADProfile specifies attributes for Azure Active Directory integration.
1294
1538
  */
1295
1539
  export interface ManagedClusterAADProfile {
1296
1540
  /**
@@ -1302,7 +1546,7 @@ export interface ManagedClusterAADProfile {
1302
1546
  */
1303
1547
  enableAzureRBAC?: boolean;
1304
1548
  /**
1305
- * AAD group object IDs that will have admin role of the cluster.
1549
+ * The list of AAD group object IDs that will have admin role of the cluster.
1306
1550
  */
1307
1551
  adminGroupObjectIDs?: string[];
1308
1552
  /**
@@ -1328,8 +1572,10 @@ export interface ManagedClusterAADProfile {
1328
1572
  */
1329
1573
  export interface ManagedClusterAutoUpgradeProfile {
1330
1574
  /**
1331
- * upgrade channel for auto upgrade. Possible values include: 'rapid', 'stable', 'patch',
1332
- * 'node-image', 'none'
1575
+ * The upgrade channel for auto upgrade. The default is 'none'. For more information see [setting
1576
+ * the AKS cluster auto-upgrade
1577
+ * channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel).
1578
+ * Possible values include: 'rapid', 'stable', 'patch', 'node-image', 'none'
1333
1579
  */
1334
1580
  upgradeChannel?: UpgradeChannel;
1335
1581
  }
@@ -1337,25 +1583,101 @@ export interface ManagedClusterAutoUpgradeProfile {
1337
1583
  * Parameters to be applied to the cluster-autoscaler when enabled
1338
1584
  */
1339
1585
  export interface ManagedClusterPropertiesAutoScalerProfile {
1586
+ /**
1587
+ * Detects similar node pools and balances the number of nodes between them. Valid values are
1588
+ * 'true' and 'false'
1589
+ */
1340
1590
  balanceSimilarNodeGroups?: string;
1341
1591
  /**
1342
- * Possible values include: 'least-waste', 'most-pods', 'priority', 'random'
1592
+ * The expander to use when scaling up. If not specified, the default is 'random'. See
1593
+ * [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders)
1594
+ * for more information. Possible values include: 'least-waste', 'most-pods', 'priority',
1595
+ * 'random'
1343
1596
  */
1344
1597
  expander?: Expander;
1598
+ /**
1599
+ * The maximum number of empty nodes that can be deleted at the same time. This must be a
1600
+ * positive integer. The default is 10.
1601
+ */
1345
1602
  maxEmptyBulkDelete?: string;
1603
+ /**
1604
+ * The maximum number of seconds the cluster autoscaler waits for pod termination when trying to
1605
+ * scale down a node. The default is 600.
1606
+ */
1346
1607
  maxGracefulTerminationSec?: string;
1608
+ /**
1609
+ * The maximum time the autoscaler waits for a node to be provisioned. The default is '15m'.
1610
+ * Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is
1611
+ * supported.
1612
+ */
1347
1613
  maxNodeProvisionTime?: string;
1614
+ /**
1615
+ * The maximum percentage of unready nodes in the cluster. After this percentage is exceeded,
1616
+ * cluster autoscaler halts operations. The default is 45. The maximum is 100 and the minimum is
1617
+ * 0.
1618
+ */
1348
1619
  maxTotalUnreadyPercentage?: string;
1620
+ /**
1621
+ * Ignore unscheduled pods before they're a certain age. For scenarios like burst/batch scale
1622
+ * where you don't want CA to act before the kubernetes scheduler could schedule all the pods,
1623
+ * you can tell CA to ignore unscheduled pods before they're a certain age. The default is '0s'.
1624
+ * Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours,
1625
+ * etc).
1626
+ */
1349
1627
  newPodScaleUpDelay?: string;
1628
+ /**
1629
+ * The number of allowed unready nodes, irrespective of max-total-unready-percentage. This must
1630
+ * be an integer. The default is 3.
1631
+ */
1350
1632
  okTotalUnreadyCount?: string;
1633
+ /**
1634
+ * How often cluster is reevaluated for scale up or down. The default is '10'. Values must be an
1635
+ * integer number of seconds.
1636
+ */
1351
1637
  scanInterval?: string;
1638
+ /**
1639
+ * How long after scale up that scale down evaluation resumes. The default is '10m'. Values must
1640
+ * be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
1641
+ */
1352
1642
  scaleDownDelayAfterAdd?: string;
1643
+ /**
1644
+ * How long after node deletion that scale down evaluation resumes. The default is the
1645
+ * scan-interval. Values must be an integer followed by an 'm'. No unit of time other than
1646
+ * minutes (m) is supported.
1647
+ */
1353
1648
  scaleDownDelayAfterDelete?: string;
1649
+ /**
1650
+ * How long after scale down failure that scale down evaluation resumes. The default is '3m'.
1651
+ * Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is
1652
+ * supported.
1653
+ */
1354
1654
  scaleDownDelayAfterFailure?: string;
1655
+ /**
1656
+ * How long a node should be unneeded before it is eligible for scale down. The default is '10m'.
1657
+ * Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is
1658
+ * supported.
1659
+ */
1355
1660
  scaleDownUnneededTime?: string;
1661
+ /**
1662
+ * How long an unready node should be unneeded before it is eligible for scale down. The default
1663
+ * is '20m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m)
1664
+ * is supported.
1665
+ */
1356
1666
  scaleDownUnreadyTime?: string;
1667
+ /**
1668
+ * Node utilization level, defined as sum of requested resources divided by capacity, below which
1669
+ * a node can be considered for scale down. The default is '0.5'.
1670
+ */
1357
1671
  scaleDownUtilizationThreshold?: string;
1672
+ /**
1673
+ * If cluster autoscaler will skip deleting nodes with pods with local storage, for example,
1674
+ * EmptyDir or HostPath. The default is true.
1675
+ */
1358
1676
  skipNodesWithLocalStorage?: string;
1677
+ /**
1678
+ * If cluster autoscaler will skip deleting nodes with pods from kube-system (except for
1679
+ * DaemonSet or mirror pods). The default is true.
1680
+ */
1359
1681
  skipNodesWithSystemPods?: string;
1360
1682
  }
1361
1683
  /**
@@ -1363,22 +1685,33 @@ export interface ManagedClusterPropertiesAutoScalerProfile {
1363
1685
  */
1364
1686
  export interface ManagedClusterAPIServerAccessProfile {
1365
1687
  /**
1366
- * Authorized IP Ranges to kubernetes API server.
1688
+ * The IP ranges authorized to access the Kubernetes API server. IP ranges are specified in CIDR
1689
+ * format, e.g. 137.117.106.88/29. This feature is not compatible with clusters that use Public
1690
+ * IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API
1691
+ * server authorized IP
1692
+ * ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges).
1367
1693
  */
1368
1694
  authorizedIPRanges?: string[];
1369
1695
  /**
1370
- * Whether to create the cluster as a private cluster or not.
1696
+ * Whether to create the cluster as a private cluster or not. For more details, see [Creating a
1697
+ * private AKS cluster](https://docs.microsoft.com/azure/aks/private-clusters).
1371
1698
  */
1372
1699
  enablePrivateCluster?: boolean;
1373
1700
  /**
1374
- * Private dns zone mode for private cluster.
1701
+ * The private DNS zone mode for the cluster. The default is System. For more details see
1702
+ * [configure private DNS
1703
+ * zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone).
1704
+ * Allowed values are 'system' and 'none'.
1375
1705
  */
1376
1706
  privateDNSZone?: string;
1377
- }
1378
- /**
1379
- * An interface representing ManagedClusterPropertiesIdentityProfileValue.
1380
- */
1381
- export interface ManagedClusterPropertiesIdentityProfileValue extends UserAssignedIdentity {
1707
+ /**
1708
+ * Whether to create additional public FQDN for private cluster or not.
1709
+ */
1710
+ enablePrivateClusterPublicFQDN?: boolean;
1711
+ /**
1712
+ * Whether to disable run command for the cluster or not.
1713
+ */
1714
+ disableRunCommand?: boolean;
1382
1715
  }
1383
1716
  /**
1384
1717
  * A private link resource
@@ -1401,7 +1734,7 @@ export interface PrivateLinkResource {
1401
1734
  */
1402
1735
  groupId?: string;
1403
1736
  /**
1404
- * RequiredMembers of the resource
1737
+ * The RequiredMembers of the resource
1405
1738
  */
1406
1739
  requiredMembers?: string[];
1407
1740
  /**
@@ -1411,19 +1744,19 @@ export interface PrivateLinkResource {
1411
1744
  readonly privateLinkServiceID?: string;
1412
1745
  }
1413
1746
  /**
1414
- * Configurations for provisioning the cluster with HTTP proxy servers.
1747
+ * Cluster HTTP proxy configuration.
1415
1748
  */
1416
1749
  export interface ManagedClusterHTTPProxyConfig {
1417
1750
  /**
1418
- * HTTP proxy server endpoint to use.
1751
+ * The HTTP proxy server endpoint to use.
1419
1752
  */
1420
1753
  httpProxy?: string;
1421
1754
  /**
1422
- * HTTPS proxy server endpoint to use.
1755
+ * The HTTPS proxy server endpoint to use.
1423
1756
  */
1424
1757
  httpsProxy?: string;
1425
1758
  /**
1426
- * Endpoints that should not go through proxy.
1759
+ * The endpoints that should not go through proxy.
1427
1760
  */
1428
1761
  noProxy?: string[];
1429
1762
  /**
@@ -1432,89 +1765,52 @@ export interface ManagedClusterHTTPProxyConfig {
1432
1765
  trustedCa?: string;
1433
1766
  }
1434
1767
  /**
1435
- * An interface representing ManagedClusterIdentityUserAssignedIdentitiesValue.
1768
+ * Azure Defender settings for the security profile.
1436
1769
  */
1437
- export interface ManagedClusterIdentityUserAssignedIdentitiesValue {
1770
+ export interface ManagedClusterSecurityProfileAzureDefender {
1438
1771
  /**
1439
- * The principal id of user assigned identity.
1440
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
1772
+ * Whether to enable Azure Defender
1441
1773
  */
1442
- readonly principalId?: string;
1774
+ enabled?: boolean;
1443
1775
  /**
1444
- * The client id of user assigned identity.
1445
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
1776
+ * Resource ID of the Log Analytics workspace to be associated with Azure Defender. When Azure
1777
+ * Defender is enabled, this field is required and must be a valid workspace resource ID. When
1778
+ * Azure Defender is disabled, leave the field empty.
1446
1779
  */
1447
- readonly clientId?: string;
1780
+ logAnalyticsWorkspaceResourceId?: string;
1448
1781
  }
1449
1782
  /**
1450
- * Identity for the managed cluster.
1783
+ * Security profile for the container service cluster.
1451
1784
  */
1452
- export interface ManagedClusterIdentity {
1785
+ export interface ManagedClusterSecurityProfile {
1453
1786
  /**
1454
- * The principal id of the system assigned identity which is used by master components.
1455
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
1787
+ * Azure Defender settings for the security profile.
1456
1788
  */
1457
- readonly principalId?: string;
1458
- /**
1459
- * The tenant id of the system assigned identity which is used by master components.
1460
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
1461
- */
1462
- readonly tenantId?: string;
1463
- /**
1464
- * The type of identity used for the managed cluster. Type 'SystemAssigned' will use an
1465
- * implicitly created identity in master components and an auto-created user assigned identity in
1466
- * MC_ resource group in agent nodes. Type 'None' will not use MSI for the managed cluster,
1467
- * service principal will be used instead. Possible values include: 'SystemAssigned',
1468
- * 'UserAssigned', 'None'
1469
- */
1470
- type?: ResourceIdentityType;
1471
- /**
1472
- * The user identity associated with the managed cluster. This identity will be used in control
1473
- * plane and only one user assigned identity is allowed. The user identity dictionary key
1474
- * references will be ARM resource ids in the form:
1475
- * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
1476
- */
1477
- userAssignedIdentities?: {
1478
- [propertyName: string]: ManagedClusterIdentityUserAssignedIdentitiesValue;
1479
- };
1789
+ azureDefender?: ManagedClusterSecurityProfileAzureDefender;
1480
1790
  }
1481
1791
  /**
1482
- * An interface representing ManagedClusterSKU.
1792
+ * Managed cluster.
1483
1793
  */
1484
- export interface ManagedClusterSKU {
1485
- /**
1486
- * Name of a managed cluster SKU. Possible values include: 'Basic'
1487
- */
1488
- name?: ManagedClusterSKUName;
1794
+ export interface ManagedCluster extends Resource {
1489
1795
  /**
1490
- * Tier of a managed cluster SKU. Possible values include: 'Paid', 'Free'
1796
+ * The managed cluster SKU.
1491
1797
  */
1492
- tier?: ManagedClusterSKUTier;
1493
- }
1494
- /**
1495
- * The complex type of the extended location.
1496
- */
1497
- export interface ExtendedLocation {
1798
+ sku?: ManagedClusterSKU;
1498
1799
  /**
1499
- * The name of the extended location.
1800
+ * The extended location of the Virtual Machine.
1500
1801
  */
1501
- name?: string;
1802
+ extendedLocation?: ExtendedLocation;
1502
1803
  /**
1503
- * The type of the extended location. Possible values include: 'EdgeZone'
1804
+ * The identity of the managed cluster, if configured.
1504
1805
  */
1505
- type?: ExtendedLocationTypes;
1506
- }
1507
- /**
1508
- * Managed cluster.
1509
- */
1510
- export interface ManagedCluster extends Resource {
1806
+ identity?: ManagedClusterIdentity;
1511
1807
  /**
1512
- * The current deployment or provisioning state, which only appears in the response.
1808
+ * The current provisioning state.
1513
1809
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
1514
1810
  */
1515
1811
  readonly provisioningState?: string;
1516
1812
  /**
1517
- * Represents the Power State of the cluster
1813
+ * The Power State of the cluster.
1518
1814
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
1519
1815
  */
1520
1816
  readonly powerState?: PowerState;
@@ -1524,42 +1820,52 @@ export interface ManagedCluster extends Resource {
1524
1820
  */
1525
1821
  readonly maxAgentPools?: number;
1526
1822
  /**
1527
- * Version of Kubernetes specified when creating the managed cluster.
1823
+ * The version of Kubernetes the Managed Cluster is running. When you upgrade a supported AKS
1824
+ * cluster, Kubernetes minor versions cannot be skipped. All upgrades must be performed
1825
+ * sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or 1.15.x
1826
+ * -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS
1827
+ * cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details.
1528
1828
  */
1529
1829
  kubernetesVersion?: string;
1530
1830
  /**
1531
- * DNS prefix specified when creating the managed cluster.
1831
+ * The DNS prefix of the Managed Cluster. This cannot be updated once the Managed Cluster has
1832
+ * been created.
1532
1833
  */
1533
1834
  dnsPrefix?: string;
1534
1835
  /**
1535
- * FQDN subdomain specified when creating private cluster with custom private dns zone.
1836
+ * The FQDN subdomain of the private cluster with custom private dns zone. This cannot be updated
1837
+ * once the Managed Cluster has been created.
1536
1838
  */
1537
1839
  fqdnSubdomain?: string;
1538
1840
  /**
1539
- * FQDN for the master pool.
1841
+ * The FQDN of the master pool.
1540
1842
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
1541
1843
  */
1542
1844
  readonly fqdn?: string;
1543
1845
  /**
1544
- * FQDN of private cluster.
1846
+ * The FQDN of private cluster.
1545
1847
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
1546
1848
  */
1547
1849
  readonly privateFQDN?: string;
1548
1850
  /**
1549
- * FQDN for the master pool which used by proxy config.
1851
+ * The special FQDN used by the Azure Portal to access the Managed Cluster. This FQDN is for use
1852
+ * only by the Azure Portal and should not be used by other clients. The Azure Portal requires
1853
+ * certain Cross-Origin Resource Sharing (CORS) headers to be sent in some responses, which
1854
+ * Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the
1855
+ * Azure Portal to function properly.
1550
1856
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
1551
1857
  */
1552
1858
  readonly azurePortalFQDN?: string;
1553
1859
  /**
1554
- * Properties of the agent pool.
1860
+ * The agent pool properties.
1555
1861
  */
1556
1862
  agentPoolProfiles?: ManagedClusterAgentPoolProfile[];
1557
1863
  /**
1558
- * Profile for Linux VMs in the container service cluster.
1864
+ * The profile for Linux VMs in the Managed Cluster.
1559
1865
  */
1560
1866
  linuxProfile?: ContainerServiceLinuxProfile;
1561
1867
  /**
1562
- * Profile for Windows VMs in the container service cluster.
1868
+ * The profile for Windows VMs in the Managed Cluster.
1563
1869
  */
1564
1870
  windowsProfile?: ManagedClusterWindowsProfile;
1565
1871
  /**
@@ -1568,17 +1874,19 @@ export interface ManagedCluster extends Resource {
1568
1874
  */
1569
1875
  servicePrincipalProfile?: ManagedClusterServicePrincipalProfile;
1570
1876
  /**
1571
- * Profile of managed cluster add-on.
1877
+ * The profile of managed cluster add-on.
1572
1878
  */
1573
1879
  addonProfiles?: {
1574
1880
  [propertyName: string]: ManagedClusterAddonProfile;
1575
1881
  };
1576
1882
  /**
1577
- * Profile of managed cluster pod identity.
1883
+ * The pod identity profile of the Managed Cluster. See [use AAD pod
1884
+ * identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on
1885
+ * AAD pod identity integration.
1578
1886
  */
1579
1887
  podIdentityProfile?: ManagedClusterPodIdentityProfile;
1580
1888
  /**
1581
- * Name of the resource group containing agent pool nodes.
1889
+ * The name of the resource group containing agent pool nodes.
1582
1890
  */
1583
1891
  nodeResourceGroup?: string;
1584
1892
  /**
@@ -1591,15 +1899,15 @@ export interface ManagedCluster extends Resource {
1591
1899
  */
1592
1900
  enablePodSecurityPolicy?: boolean;
1593
1901
  /**
1594
- * Profile of network configuration.
1902
+ * The network configuration profile.
1595
1903
  */
1596
1904
  networkProfile?: ContainerServiceNetworkProfile;
1597
1905
  /**
1598
- * Profile of Azure Active Directory configuration.
1906
+ * The Azure Active Directory configuration.
1599
1907
  */
1600
1908
  aadProfile?: ManagedClusterAADProfile;
1601
1909
  /**
1602
- * Profile of auto upgrade configuration.
1910
+ * The auto upgrade configuration.
1603
1911
  */
1604
1912
  autoUpgradeProfile?: ManagedClusterAutoUpgradeProfile;
1605
1913
  /**
@@ -1607,26 +1915,30 @@ export interface ManagedCluster extends Resource {
1607
1915
  */
1608
1916
  autoScalerProfile?: ManagedClusterPropertiesAutoScalerProfile;
1609
1917
  /**
1610
- * Access profile for managed cluster API server.
1918
+ * The access profile for managed cluster API server.
1611
1919
  */
1612
1920
  apiServerAccessProfile?: ManagedClusterAPIServerAccessProfile;
1613
1921
  /**
1614
- * ResourceId of the disk encryption set to use for enabling encryption at rest.
1922
+ * The Resource ID of the disk encryption set to use for enabling encryption at rest. This is of
1923
+ * the form:
1924
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}'
1615
1925
  */
1616
1926
  diskEncryptionSetID?: string;
1617
1927
  /**
1618
1928
  * Identities associated with the cluster.
1619
1929
  */
1620
1930
  identityProfile?: {
1621
- [propertyName: string]: ManagedClusterPropertiesIdentityProfileValue;
1931
+ [propertyName: string]: UserAssignedIdentity;
1622
1932
  };
1623
1933
  /**
1624
1934
  * Private link resources associated with the cluster.
1625
1935
  */
1626
1936
  privateLinkResources?: PrivateLinkResource[];
1627
1937
  /**
1628
- * If set to true, getting static credential will be disabled for this cluster. Expected to only
1629
- * be used for AAD clusters.
1938
+ * If local accounts should be disabled on the Managed Cluster. If set to true, getting static
1939
+ * credentials will be disabled for this cluster. This must only be used on Managed Clusters that
1940
+ * are AAD enabled. For more details see [disable local
1941
+ * accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview).
1630
1942
  */
1631
1943
  disableLocalAccounts?: boolean;
1632
1944
  /**
@@ -1634,17 +1946,14 @@ export interface ManagedCluster extends Resource {
1634
1946
  */
1635
1947
  httpProxyConfig?: ManagedClusterHTTPProxyConfig;
1636
1948
  /**
1637
- * The identity of the managed cluster, if configured.
1949
+ * Security profile for the managed cluster.
1638
1950
  */
1639
- identity?: ManagedClusterIdentity;
1951
+ securityProfile?: ManagedClusterSecurityProfile;
1640
1952
  /**
1641
- * The managed cluster SKU.
1953
+ * PublicNetworkAccess of the managedCluster. Allow or deny public network access for AKS.
1954
+ * Possible values include: 'Enabled', 'Disabled'
1642
1955
  */
1643
- sku?: ManagedClusterSKU;
1644
- /**
1645
- * The extended location of the Virtual Machine.
1646
- */
1647
- extendedLocation?: ExtendedLocation;
1956
+ publicNetworkAccess?: PublicNetworkAccess;
1648
1957
  }
1649
1958
  /**
1650
1959
  * Managed cluster Access Profile.
@@ -1660,11 +1969,11 @@ export interface ManagedClusterAccessProfile extends Resource {
1660
1969
  */
1661
1970
  export interface ManagedClusterPoolUpgradeProfileUpgradesItem {
1662
1971
  /**
1663
- * Kubernetes version (major, minor, patch).
1972
+ * The Kubernetes version (major.minor.patch).
1664
1973
  */
1665
1974
  kubernetesVersion?: string;
1666
1975
  /**
1667
- * Whether Kubernetes version is currently in preview.
1976
+ * Whether the Kubernetes version is currently in preview.
1668
1977
  */
1669
1978
  isPreview?: boolean;
1670
1979
  }
@@ -1673,15 +1982,14 @@ export interface ManagedClusterPoolUpgradeProfileUpgradesItem {
1673
1982
  */
1674
1983
  export interface ManagedClusterPoolUpgradeProfile {
1675
1984
  /**
1676
- * Kubernetes version (major, minor, patch).
1985
+ * The Kubernetes version (major.minor.patch).
1677
1986
  */
1678
1987
  kubernetesVersion: string;
1679
1988
  /**
1680
- * Pool name.
1989
+ * The Agent Pool name.
1681
1990
  */
1682
1991
  name?: string;
1683
1992
  /**
1684
- * OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux.
1685
1993
  * Possible values include: 'Linux', 'Windows'. Default value: 'Linux'.
1686
1994
  */
1687
1995
  osType: OSType;
@@ -1695,17 +2003,17 @@ export interface ManagedClusterPoolUpgradeProfile {
1695
2003
  */
1696
2004
  export interface ManagedClusterUpgradeProfile {
1697
2005
  /**
1698
- * Id of upgrade profile.
2006
+ * The ID of the upgrade profile.
1699
2007
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
1700
2008
  */
1701
2009
  readonly id?: string;
1702
2010
  /**
1703
- * Name of upgrade profile.
2011
+ * The name of the upgrade profile.
1704
2012
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
1705
2013
  */
1706
2014
  readonly name?: string;
1707
2015
  /**
1708
- * Type of upgrade profile.
2016
+ * The type of the upgrade profile.
1709
2017
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
1710
2018
  */
1711
2019
  readonly type?: string;
@@ -1723,11 +2031,11 @@ export interface ManagedClusterUpgradeProfile {
1723
2031
  */
1724
2032
  export interface AgentPoolUpgradeProfilePropertiesUpgradesItem {
1725
2033
  /**
1726
- * Kubernetes version (major, minor, patch).
2034
+ * The Kubernetes version (major.minor.patch).
1727
2035
  */
1728
2036
  kubernetesVersion?: string;
1729
2037
  /**
1730
- * Whether Kubernetes version is currently in preview.
2038
+ * Whether the Kubernetes version is currently in preview.
1731
2039
  */
1732
2040
  isPreview?: boolean;
1733
2041
  }
@@ -1736,26 +2044,25 @@ export interface AgentPoolUpgradeProfilePropertiesUpgradesItem {
1736
2044
  */
1737
2045
  export interface AgentPoolUpgradeProfile {
1738
2046
  /**
1739
- * Id of the agent pool upgrade profile.
2047
+ * The ID of the agent pool upgrade profile.
1740
2048
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
1741
2049
  */
1742
2050
  readonly id?: string;
1743
2051
  /**
1744
- * Name of the agent pool upgrade profile.
2052
+ * The name of the agent pool upgrade profile.
1745
2053
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
1746
2054
  */
1747
2055
  readonly name?: string;
1748
2056
  /**
1749
- * Type of the agent pool upgrade profile.
2057
+ * The type of the agent pool upgrade profile.
1750
2058
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
1751
2059
  */
1752
2060
  readonly type?: string;
1753
2061
  /**
1754
- * Kubernetes version (major, minor, patch).
2062
+ * The Kubernetes version (major.minor.patch).
1755
2063
  */
1756
2064
  kubernetesVersion: string;
1757
2065
  /**
1758
- * OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux.
1759
2066
  * Possible values include: 'Linux', 'Windows'. Default value: 'Linux'.
1760
2067
  */
1761
2068
  osType: OSType;
@@ -1764,7 +2071,7 @@ export interface AgentPoolUpgradeProfile {
1764
2071
  */
1765
2072
  upgrades?: AgentPoolUpgradeProfilePropertiesUpgradesItem[];
1766
2073
  /**
1767
- * LatestNodeImageVersion is the latest AKS supported node image version.
2074
+ * The latest AKS supported node image version.
1768
2075
  */
1769
2076
  latestNodeImageVersion?: string;
1770
2077
  }
@@ -1777,7 +2084,7 @@ export interface AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem {
1777
2084
  */
1778
2085
  default?: boolean;
1779
2086
  /**
1780
- * Kubernetes version (major, minor, patch).
2087
+ * The Kubernetes version (major.minor.patch).
1781
2088
  */
1782
2089
  kubernetesVersion?: string;
1783
2090
  /**
@@ -1790,17 +2097,17 @@ export interface AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem {
1790
2097
  */
1791
2098
  export interface AgentPoolAvailableVersions {
1792
2099
  /**
1793
- * Id of the agent pool available versions.
2100
+ * The ID of the agent pool version list.
1794
2101
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
1795
2102
  */
1796
2103
  readonly id?: string;
1797
2104
  /**
1798
- * Name of the agent pool available versions.
2105
+ * The name of the agent pool version list.
1799
2106
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
1800
2107
  */
1801
2108
  readonly name?: string;
1802
2109
  /**
1803
- * Type of the agent pool available versions.
2110
+ * Type of the agent pool version list.
1804
2111
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
1805
2112
  */
1806
2113
  readonly type?: string;
@@ -1825,7 +2132,7 @@ export interface CredentialResult {
1825
2132
  readonly value?: Uint8Array;
1826
2133
  }
1827
2134
  /**
1828
- * The list of credential result response.
2135
+ * The list credential result response.
1829
2136
  */
1830
2137
  export interface CredentialResults {
1831
2138
  /**
@@ -1839,7 +2146,7 @@ export interface CredentialResults {
1839
2146
  */
1840
2147
  export interface PrivateEndpoint {
1841
2148
  /**
1842
- * The resource Id for private endpoint
2149
+ * The resource ID of the private endpoint
1843
2150
  */
1844
2151
  id?: string;
1845
2152
  }
@@ -1915,11 +2222,11 @@ export interface PrivateLinkResourcesListResult {
1915
2222
  */
1916
2223
  export interface OSOptionProperty {
1917
2224
  /**
1918
- * OS type.
2225
+ * The OS type.
1919
2226
  */
1920
2227
  osType: string;
1921
2228
  /**
1922
- * Whether FIPS image is enabled.
2229
+ * Whether the image is FIPS-enabled.
1923
2230
  */
1924
2231
  enableFipsImage: boolean;
1925
2232
  }
@@ -1928,33 +2235,157 @@ export interface OSOptionProperty {
1928
2235
  */
1929
2236
  export interface OSOptionProfile {
1930
2237
  /**
1931
- * Id of the OS option profile.
2238
+ * The ID of the OS option resource.
1932
2239
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
1933
2240
  */
1934
2241
  readonly id?: string;
1935
2242
  /**
1936
- * Name of the OS option profile.
1937
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
2243
+ * The name of the OS option resource.
2244
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
2245
+ */
2246
+ readonly name?: string;
2247
+ /**
2248
+ * The type of the OS option resource.
2249
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
2250
+ */
2251
+ readonly type?: string;
2252
+ /**
2253
+ * The list of OS options.
2254
+ */
2255
+ osOptionPropertyList: OSOptionProperty[];
2256
+ }
2257
+ /**
2258
+ * connect information from the AKS agent nodes to a single endpoint.
2259
+ */
2260
+ export interface EndpointDetail {
2261
+ /**
2262
+ * An IP Address that Domain Name currently resolves to.
2263
+ */
2264
+ ipAddress?: string;
2265
+ /**
2266
+ * The port an endpoint is connected to.
2267
+ */
2268
+ port?: number;
2269
+ /**
2270
+ * The protocol used for connection
2271
+ */
2272
+ protocol?: string;
2273
+ /**
2274
+ * Description of the detail
2275
+ */
2276
+ description?: string;
2277
+ }
2278
+ /**
2279
+ * A domain name that AKS agent nodes are reaching at.
2280
+ */
2281
+ export interface EndpointDependency {
2282
+ /**
2283
+ * The domain name of the dependency.
2284
+ */
2285
+ domainName?: string;
2286
+ /**
2287
+ * The Ports and Protocols used when connecting to domainName.
2288
+ */
2289
+ endpointDetails?: EndpointDetail[];
2290
+ }
2291
+ /**
2292
+ * Egress endpoints which AKS agent nodes connect to for common purpose.
2293
+ */
2294
+ export interface OutboundEnvironmentEndpoint {
2295
+ /**
2296
+ * The category of endpoints accessed by the AKS agent node, e.g. azure-resource-management,
2297
+ * apiserver, etc.
2298
+ */
2299
+ category?: string;
2300
+ /**
2301
+ * The endpoints that AKS agent nodes connect to
2302
+ */
2303
+ endpoints?: EndpointDependency[];
2304
+ }
2305
+ /**
2306
+ * A node pool snapshot resource.
2307
+ */
2308
+ export interface Snapshot extends Resource {
2309
+ /**
2310
+ * The system metadata relating to this snapshot.
2311
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
2312
+ */
2313
+ readonly systemData?: SystemData;
2314
+ /**
2315
+ * CreationData to be used to specify the source agent pool resource ID to create this snapshot.
2316
+ */
2317
+ creationData?: CreationData;
2318
+ /**
2319
+ * Possible values include: 'NodePool'. Default value: 'NodePool'.
2320
+ */
2321
+ snapshotType?: SnapshotType;
2322
+ /**
2323
+ * The version of Kubernetes.
2324
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
2325
+ */
2326
+ readonly kubernetesVersion?: string;
2327
+ /**
2328
+ * The version of node image.
2329
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
2330
+ */
2331
+ readonly nodeImageVersion?: string;
2332
+ /**
2333
+ * Possible values include: 'Linux', 'Windows'
2334
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**.
2335
+ * Default value: 'Linux'.
2336
+ */
2337
+ readonly osType?: OSType;
2338
+ /**
2339
+ * Possible values include: 'Ubuntu', 'CBLMariner'
2340
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
2341
+ */
2342
+ readonly osSku?: OSSKU;
2343
+ /**
2344
+ * The size of the VM.
2345
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
2346
+ */
2347
+ readonly vmSize?: string;
2348
+ /**
2349
+ * Whether to use a FIPS-enabled OS.
2350
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
2351
+ */
2352
+ readonly enableFIPS?: boolean;
2353
+ }
2354
+ /**
2355
+ * Optional Parameters.
2356
+ */
2357
+ export interface ManagedClustersGetOSOptionsOptionalParams extends msRest.RequestOptionsBase {
2358
+ /**
2359
+ * The resource type for which the OS options needs to be returned
1938
2360
  */
1939
- readonly name?: string;
2361
+ resourceType?: string;
2362
+ }
2363
+ /**
2364
+ * Optional Parameters.
2365
+ */
2366
+ export interface ManagedClustersListClusterAdminCredentialsOptionalParams extends msRest.RequestOptionsBase {
1940
2367
  /**
1941
- * Type of the OS option profile.
1942
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
2368
+ * server fqdn type for credentials to be returned
1943
2369
  */
1944
- readonly type?: string;
2370
+ serverFqdn?: string;
2371
+ }
2372
+ /**
2373
+ * Optional Parameters.
2374
+ */
2375
+ export interface ManagedClustersListClusterUserCredentialsOptionalParams extends msRest.RequestOptionsBase {
1945
2376
  /**
1946
- * The list of OS option properties.
2377
+ * server fqdn type for credentials to be returned
1947
2378
  */
1948
- osOptionPropertyList: OSOptionProperty[];
2379
+ serverFqdn?: string;
1949
2380
  }
1950
2381
  /**
1951
2382
  * Optional Parameters.
1952
2383
  */
1953
- export interface ManagedClustersGetOSOptionsOptionalParams extends msRest.RequestOptionsBase {
2384
+ export interface ManagedClustersListClusterMonitoringUserCredentialsOptionalParams extends msRest.RequestOptionsBase {
1954
2385
  /**
1955
- * resource type for which the OS options needs to be returned
2386
+ * server fqdn type for credentials to be returned
1956
2387
  */
1957
- resourceType?: string;
2388
+ serverFqdn?: string;
1958
2389
  }
1959
2390
  /**
1960
2391
  * An interface representing ContainerServiceClientOptions.
@@ -1962,9 +2393,18 @@ export interface ManagedClustersGetOSOptionsOptionalParams extends msRest.Reques
1962
2393
  export interface ContainerServiceClientOptions extends AzureServiceClientOptions {
1963
2394
  baseUri?: string;
1964
2395
  }
2396
+ /**
2397
+ * Defines headers for UpgradeNodeImageVersion operation.
2398
+ */
2399
+ export interface AgentPoolsUpgradeNodeImageVersionHeaders {
2400
+ /**
2401
+ * URL to query for status of the operation.
2402
+ */
2403
+ azureAsyncOperation: string;
2404
+ }
1965
2405
  /**
1966
2406
  * @interface
1967
- * The List Compute Operation operation response.
2407
+ * The List Operation response.
1968
2408
  * @extends Array<OperationValue>
1969
2409
  */
1970
2410
  export interface OperationListResult extends Array<OperationValue> {
@@ -1981,6 +2421,18 @@ export interface ManagedClusterListResult extends Array<ManagedCluster> {
1981
2421
  */
1982
2422
  readonly nextLink?: string;
1983
2423
  }
2424
+ /**
2425
+ * @interface
2426
+ * Collection of OutboundEnvironmentEndpoint
2427
+ * @extends Array<OutboundEnvironmentEndpoint>
2428
+ */
2429
+ export interface OutboundEnvironmentEndpointCollection extends Array<OutboundEnvironmentEndpoint> {
2430
+ /**
2431
+ * Link to next page of resources.
2432
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
2433
+ */
2434
+ readonly nextLink?: string;
2435
+ }
1984
2436
  /**
1985
2437
  * @interface
1986
2438
  * The response from the List maintenance configurations operation.
@@ -2005,6 +2457,18 @@ export interface AgentPoolListResult extends Array<AgentPool> {
2005
2457
  */
2006
2458
  readonly nextLink?: string;
2007
2459
  }
2460
+ /**
2461
+ * @interface
2462
+ * The response from the List Snapshots operation.
2463
+ * @extends Array<Snapshot>
2464
+ */
2465
+ export interface SnapshotListResult extends Array<Snapshot> {
2466
+ /**
2467
+ * The URL to get the next set of snapshot results.
2468
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
2469
+ */
2470
+ readonly nextLink?: string;
2471
+ }
2008
2472
  /**
2009
2473
  * Defines values for ContainerServiceStorageProfileTypes.
2010
2474
  * Possible values include: 'StorageAccount', 'ManagedDisks'
@@ -2070,6 +2534,13 @@ export declare type OSDiskType = 'Managed' | 'Ephemeral';
2070
2534
  * @enum {string}
2071
2535
  */
2072
2536
  export declare type KubeletDiskType = 'OS' | 'Temporary';
2537
+ /**
2538
+ * Defines values for WorkloadRuntime.
2539
+ * Possible values include: 'OCIContainer', 'WasmWasi'
2540
+ * @readonly
2541
+ * @enum {string}
2542
+ */
2543
+ export declare type WorkloadRuntime = 'OCIContainer' | 'WasmWasi';
2073
2544
  /**
2074
2545
  * Defines values for OSType.
2075
2546
  * Possible values include: 'Linux', 'Windows'
@@ -2084,6 +2555,13 @@ export declare type OSType = 'Linux' | 'Windows';
2084
2555
  * @enum {string}
2085
2556
  */
2086
2557
  export declare type OSSKU = 'Ubuntu' | 'CBLMariner';
2558
+ /**
2559
+ * Defines values for ScaleDownMode.
2560
+ * Possible values include: 'Delete', 'Deallocate'
2561
+ * @readonly
2562
+ * @enum {string}
2563
+ */
2564
+ export declare type ScaleDownMode = 'Delete' | 'Deallocate';
2087
2565
  /**
2088
2566
  * Defines values for AgentPoolType.
2089
2567
  * Possible values include: 'VirtualMachineScaleSets', 'AvailabilitySet'
@@ -2156,11 +2634,12 @@ export declare type NetworkPolicy = 'calico' | 'azure';
2156
2634
  export declare type NetworkMode = 'transparent' | 'bridge';
2157
2635
  /**
2158
2636
  * Defines values for OutboundType.
2159
- * Possible values include: 'loadBalancer', 'userDefinedRouting'
2637
+ * Possible values include: 'loadBalancer', 'userDefinedRouting', 'managedNATGateway',
2638
+ * 'userAssignedNATGateway'
2160
2639
  * @readonly
2161
2640
  * @enum {string}
2162
2641
  */
2163
- export declare type OutboundType = 'loadBalancer' | 'userDefinedRouting';
2642
+ export declare type OutboundType = 'loadBalancer' | 'userDefinedRouting' | 'managedNATGateway' | 'userAssignedNATGateway';
2164
2643
  /**
2165
2644
  * Defines values for LoadBalancerSku.
2166
2645
  * Possible values include: 'standard', 'basic'
@@ -2168,6 +2647,13 @@ export declare type OutboundType = 'loadBalancer' | 'userDefinedRouting';
2168
2647
  * @enum {string}
2169
2648
  */
2170
2649
  export declare type LoadBalancerSku = 'standard' | 'basic';
2650
+ /**
2651
+ * Defines values for IpFamily.
2652
+ * Possible values include: 'IPv4', 'IPv6'
2653
+ * @readonly
2654
+ * @enum {string}
2655
+ */
2656
+ export declare type IpFamily = 'IPv4' | 'IPv6';
2171
2657
  /**
2172
2658
  * Defines values for CreatedByType.
2173
2659
  * Possible values include: 'User', 'Application', 'ManagedIdentity', 'Key'
@@ -2184,26 +2670,26 @@ export declare type CreatedByType = 'User' | 'Application' | 'ManagedIdentity' |
2184
2670
  */
2185
2671
  export declare type WeekDay = 'Sunday' | 'Monday' | 'Tuesday' | 'Wednesday' | 'Thursday' | 'Friday' | 'Saturday';
2186
2672
  /**
2187
- * Defines values for ManagedClusterPodIdentityProvisioningState.
2188
- * Possible values include: 'Assigned', 'Updating', 'Deleting', 'Failed'
2673
+ * Defines values for ManagedClusterSKUName.
2674
+ * Possible values include: 'Basic'
2189
2675
  * @readonly
2190
2676
  * @enum {string}
2191
2677
  */
2192
- export declare type ManagedClusterPodIdentityProvisioningState = 'Assigned' | 'Updating' | 'Deleting' | 'Failed';
2678
+ export declare type ManagedClusterSKUName = 'Basic';
2193
2679
  /**
2194
- * Defines values for UpgradeChannel.
2195
- * Possible values include: 'rapid', 'stable', 'patch', 'node-image', 'none'
2680
+ * Defines values for ManagedClusterSKUTier.
2681
+ * Possible values include: 'Paid', 'Free'
2196
2682
  * @readonly
2197
2683
  * @enum {string}
2198
2684
  */
2199
- export declare type UpgradeChannel = 'rapid' | 'stable' | 'patch' | 'node-image' | 'none';
2685
+ export declare type ManagedClusterSKUTier = 'Paid' | 'Free';
2200
2686
  /**
2201
- * Defines values for Expander.
2202
- * Possible values include: 'least-waste', 'most-pods', 'priority', 'random'
2687
+ * Defines values for ExtendedLocationTypes.
2688
+ * Possible values include: 'EdgeZone'
2203
2689
  * @readonly
2204
2690
  * @enum {string}
2205
2691
  */
2206
- export declare type Expander = 'least-waste' | 'most-pods' | 'priority' | 'random';
2692
+ export declare type ExtendedLocationTypes = 'EdgeZone';
2207
2693
  /**
2208
2694
  * Defines values for ResourceIdentityType.
2209
2695
  * Possible values include: 'SystemAssigned', 'UserAssigned', 'None'
@@ -2212,26 +2698,33 @@ export declare type Expander = 'least-waste' | 'most-pods' | 'priority' | 'rando
2212
2698
  */
2213
2699
  export declare type ResourceIdentityType = 'SystemAssigned' | 'UserAssigned' | 'None';
2214
2700
  /**
2215
- * Defines values for ManagedClusterSKUName.
2216
- * Possible values include: 'Basic'
2701
+ * Defines values for ManagedClusterPodIdentityProvisioningState.
2702
+ * Possible values include: 'Assigned', 'Updating', 'Deleting', 'Failed'
2217
2703
  * @readonly
2218
2704
  * @enum {string}
2219
2705
  */
2220
- export declare type ManagedClusterSKUName = 'Basic';
2706
+ export declare type ManagedClusterPodIdentityProvisioningState = 'Assigned' | 'Updating' | 'Deleting' | 'Failed';
2221
2707
  /**
2222
- * Defines values for ManagedClusterSKUTier.
2223
- * Possible values include: 'Paid', 'Free'
2708
+ * Defines values for UpgradeChannel.
2709
+ * Possible values include: 'rapid', 'stable', 'patch', 'node-image', 'none'
2224
2710
  * @readonly
2225
2711
  * @enum {string}
2226
2712
  */
2227
- export declare type ManagedClusterSKUTier = 'Paid' | 'Free';
2713
+ export declare type UpgradeChannel = 'rapid' | 'stable' | 'patch' | 'node-image' | 'none';
2228
2714
  /**
2229
- * Defines values for ExtendedLocationTypes.
2230
- * Possible values include: 'EdgeZone'
2715
+ * Defines values for Expander.
2716
+ * Possible values include: 'least-waste', 'most-pods', 'priority', 'random'
2231
2717
  * @readonly
2232
2718
  * @enum {string}
2233
2719
  */
2234
- export declare type ExtendedLocationTypes = 'EdgeZone';
2720
+ export declare type Expander = 'least-waste' | 'most-pods' | 'priority' | 'random';
2721
+ /**
2722
+ * Defines values for PublicNetworkAccess.
2723
+ * Possible values include: 'Enabled', 'Disabled'
2724
+ * @readonly
2725
+ * @enum {string}
2726
+ */
2727
+ export declare type PublicNetworkAccess = 'Enabled' | 'Disabled';
2235
2728
  /**
2236
2729
  * Defines values for PrivateEndpointConnectionProvisioningState.
2237
2730
  * Possible values include: 'Succeeded', 'Creating', 'Deleting', 'Failed'
@@ -2246,6 +2739,13 @@ export declare type PrivateEndpointConnectionProvisioningState = 'Succeeded' | '
2246
2739
  * @enum {string}
2247
2740
  */
2248
2741
  export declare type ConnectionStatus = 'Pending' | 'Approved' | 'Rejected' | 'Disconnected';
2742
+ /**
2743
+ * Defines values for SnapshotType.
2744
+ * Possible values include: 'NodePool'
2745
+ * @readonly
2746
+ * @enum {string}
2747
+ */
2748
+ export declare type SnapshotType = 'NodePool';
2249
2749
  /**
2250
2750
  * Contains response data for the list operation.
2251
2751
  */
@@ -2498,6 +2998,24 @@ export declare type ManagedClustersGetCommandResultResponse = RunCommandResult &
2498
2998
  parsedBody: RunCommandResult;
2499
2999
  };
2500
3000
  };
3001
+ /**
3002
+ * Contains response data for the listOutboundNetworkDependenciesEndpoints operation.
3003
+ */
3004
+ export declare type ManagedClustersListOutboundNetworkDependenciesEndpointsResponse = OutboundEnvironmentEndpointCollection & {
3005
+ /**
3006
+ * The underlying HTTP response.
3007
+ */
3008
+ _response: msRest.HttpResponse & {
3009
+ /**
3010
+ * The response body as text (string format)
3011
+ */
3012
+ bodyAsText: string;
3013
+ /**
3014
+ * The response body as parsed JSON or XML
3015
+ */
3016
+ parsedBody: OutboundEnvironmentEndpointCollection;
3017
+ };
3018
+ };
2501
3019
  /**
2502
3020
  * Contains response data for the beginCreateOrUpdate operation.
2503
3021
  */
@@ -2588,6 +3106,24 @@ export declare type ManagedClustersListByResourceGroupNextResponse = ManagedClus
2588
3106
  parsedBody: ManagedClusterListResult;
2589
3107
  };
2590
3108
  };
3109
+ /**
3110
+ * Contains response data for the listOutboundNetworkDependenciesEndpointsNext operation.
3111
+ */
3112
+ export declare type ManagedClustersListOutboundNetworkDependenciesEndpointsNextResponse = OutboundEnvironmentEndpointCollection & {
3113
+ /**
3114
+ * The underlying HTTP response.
3115
+ */
3116
+ _response: msRest.HttpResponse & {
3117
+ /**
3118
+ * The response body as text (string format)
3119
+ */
3120
+ bodyAsText: string;
3121
+ /**
3122
+ * The response body as parsed JSON or XML
3123
+ */
3124
+ parsedBody: OutboundEnvironmentEndpointCollection;
3125
+ };
3126
+ };
2591
3127
  /**
2592
3128
  * Contains response data for the listByManagedCluster operation.
2593
3129
  */
@@ -2753,29 +3289,15 @@ export declare type AgentPoolsGetAvailableAgentPoolVersionsResponse = AgentPoolA
2753
3289
  /**
2754
3290
  * Contains response data for the upgradeNodeImageVersion operation.
2755
3291
  */
2756
- export declare type AgentPoolsUpgradeNodeImageVersionResponse = AgentPool & {
3292
+ export declare type AgentPoolsUpgradeNodeImageVersionResponse = AgentPool & AgentPoolsUpgradeNodeImageVersionHeaders & {
2757
3293
  /**
2758
3294
  * The underlying HTTP response.
2759
3295
  */
2760
3296
  _response: msRest.HttpResponse & {
2761
3297
  /**
2762
- * The response body as text (string format)
2763
- */
2764
- bodyAsText: string;
2765
- /**
2766
- * The response body as parsed JSON or XML
3298
+ * The parsed HTTP response headers.
2767
3299
  */
2768
- parsedBody: AgentPool;
2769
- };
2770
- };
2771
- /**
2772
- * Contains response data for the beginCreateOrUpdate operation.
2773
- */
2774
- export declare type AgentPoolsBeginCreateOrUpdateResponse = AgentPool & {
2775
- /**
2776
- * The underlying HTTP response.
2777
- */
2778
- _response: msRest.HttpResponse & {
3300
+ parsedHeaders: AgentPoolsUpgradeNodeImageVersionHeaders;
2779
3301
  /**
2780
3302
  * The response body as text (string format)
2781
3303
  */
@@ -2787,9 +3309,9 @@ export declare type AgentPoolsBeginCreateOrUpdateResponse = AgentPool & {
2787
3309
  };
2788
3310
  };
2789
3311
  /**
2790
- * Contains response data for the beginUpgradeNodeImageVersion operation.
3312
+ * Contains response data for the beginCreateOrUpdate operation.
2791
3313
  */
2792
- export declare type AgentPoolsBeginUpgradeNodeImageVersionResponse = AgentPool & {
3314
+ export declare type AgentPoolsBeginCreateOrUpdateResponse = AgentPool & {
2793
3315
  /**
2794
3316
  * The underlying HTTP response.
2795
3317
  */
@@ -2912,4 +3434,130 @@ export declare type ResolvePrivateLinkServiceIdPOSTResponse = PrivateLinkResourc
2912
3434
  parsedBody: PrivateLinkResource;
2913
3435
  };
2914
3436
  };
3437
+ /**
3438
+ * Contains response data for the list operation.
3439
+ */
3440
+ export declare type SnapshotsListResponse = SnapshotListResult & {
3441
+ /**
3442
+ * The underlying HTTP response.
3443
+ */
3444
+ _response: msRest.HttpResponse & {
3445
+ /**
3446
+ * The response body as text (string format)
3447
+ */
3448
+ bodyAsText: string;
3449
+ /**
3450
+ * The response body as parsed JSON or XML
3451
+ */
3452
+ parsedBody: SnapshotListResult;
3453
+ };
3454
+ };
3455
+ /**
3456
+ * Contains response data for the listByResourceGroup operation.
3457
+ */
3458
+ export declare type SnapshotsListByResourceGroupResponse = SnapshotListResult & {
3459
+ /**
3460
+ * The underlying HTTP response.
3461
+ */
3462
+ _response: msRest.HttpResponse & {
3463
+ /**
3464
+ * The response body as text (string format)
3465
+ */
3466
+ bodyAsText: string;
3467
+ /**
3468
+ * The response body as parsed JSON or XML
3469
+ */
3470
+ parsedBody: SnapshotListResult;
3471
+ };
3472
+ };
3473
+ /**
3474
+ * Contains response data for the get operation.
3475
+ */
3476
+ export declare type SnapshotsGetResponse = Snapshot & {
3477
+ /**
3478
+ * The underlying HTTP response.
3479
+ */
3480
+ _response: msRest.HttpResponse & {
3481
+ /**
3482
+ * The response body as text (string format)
3483
+ */
3484
+ bodyAsText: string;
3485
+ /**
3486
+ * The response body as parsed JSON or XML
3487
+ */
3488
+ parsedBody: Snapshot;
3489
+ };
3490
+ };
3491
+ /**
3492
+ * Contains response data for the createOrUpdate operation.
3493
+ */
3494
+ export declare type SnapshotsCreateOrUpdateResponse = Snapshot & {
3495
+ /**
3496
+ * The underlying HTTP response.
3497
+ */
3498
+ _response: msRest.HttpResponse & {
3499
+ /**
3500
+ * The response body as text (string format)
3501
+ */
3502
+ bodyAsText: string;
3503
+ /**
3504
+ * The response body as parsed JSON or XML
3505
+ */
3506
+ parsedBody: Snapshot;
3507
+ };
3508
+ };
3509
+ /**
3510
+ * Contains response data for the updateTags operation.
3511
+ */
3512
+ export declare type SnapshotsUpdateTagsResponse = Snapshot & {
3513
+ /**
3514
+ * The underlying HTTP response.
3515
+ */
3516
+ _response: msRest.HttpResponse & {
3517
+ /**
3518
+ * The response body as text (string format)
3519
+ */
3520
+ bodyAsText: string;
3521
+ /**
3522
+ * The response body as parsed JSON or XML
3523
+ */
3524
+ parsedBody: Snapshot;
3525
+ };
3526
+ };
3527
+ /**
3528
+ * Contains response data for the listNext operation.
3529
+ */
3530
+ export declare type SnapshotsListNextResponse = SnapshotListResult & {
3531
+ /**
3532
+ * The underlying HTTP response.
3533
+ */
3534
+ _response: msRest.HttpResponse & {
3535
+ /**
3536
+ * The response body as text (string format)
3537
+ */
3538
+ bodyAsText: string;
3539
+ /**
3540
+ * The response body as parsed JSON or XML
3541
+ */
3542
+ parsedBody: SnapshotListResult;
3543
+ };
3544
+ };
3545
+ /**
3546
+ * Contains response data for the listByResourceGroupNext operation.
3547
+ */
3548
+ export declare type SnapshotsListByResourceGroupNextResponse = SnapshotListResult & {
3549
+ /**
3550
+ * The underlying HTTP response.
3551
+ */
3552
+ _response: msRest.HttpResponse & {
3553
+ /**
3554
+ * The response body as text (string format)
3555
+ */
3556
+ bodyAsText: string;
3557
+ /**
3558
+ * The response body as parsed JSON or XML
3559
+ */
3560
+ parsedBody: SnapshotListResult;
3561
+ };
3562
+ };
2915
3563
  //# sourceMappingURL=index.d.ts.map