@azure/arm-containerservice 25.0.0 → 25.1.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.
- package/dist/browser/api/agentPools/operations.js +15 -15
- package/dist/browser/api/agentPools/operations.js.map +1 -1
- package/dist/browser/api/containerServiceContext.js +1 -1
- package/dist/browser/api/containerServiceContext.js.map +1 -1
- package/dist/browser/api/machines/operations.js +3 -3
- package/dist/browser/api/machines/operations.js.map +1 -1
- package/dist/browser/api/maintenanceConfigurations/operations.js +5 -5
- package/dist/browser/api/maintenanceConfigurations/operations.js.map +1 -1
- package/dist/browser/api/managedClusters/operations.js +42 -42
- package/dist/browser/api/managedClusters/operations.js.map +1 -1
- package/dist/browser/api/managedNamespaces/operations.js +9 -9
- package/dist/browser/api/managedNamespaces/operations.js.map +1 -1
- package/dist/browser/api/operations/operations.js +2 -2
- package/dist/browser/api/operations/operations.js.map +1 -1
- package/dist/browser/api/privateEndpointConnections/operations.js +5 -5
- package/dist/browser/api/privateEndpointConnections/operations.js.map +1 -1
- package/dist/browser/api/privateLinkResources/operations.js +1 -1
- package/dist/browser/api/privateLinkResources/operations.js.map +1 -1
- package/dist/browser/api/resolvePrivateLinkServiceId/operations.js +1 -1
- package/dist/browser/api/resolvePrivateLinkServiceId/operations.js.map +1 -1
- package/dist/browser/api/snapshots/operations.js +8 -8
- package/dist/browser/api/snapshots/operations.js.map +1 -1
- package/dist/browser/api/trustedAccessRoleBindings/operations.js +7 -7
- package/dist/browser/api/trustedAccessRoleBindings/operations.js.map +1 -1
- package/dist/browser/api/trustedAccessRoles/operations.js +2 -2
- package/dist/browser/api/trustedAccessRoles/operations.js.map +1 -1
- package/dist/browser/index.d.ts +2 -2
- package/dist/browser/index.js +1 -1
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/models/index.d.ts +2 -2
- package/dist/browser/models/index.js +1 -1
- package/dist/browser/models/index.js.map +1 -1
- package/dist/browser/models/models.d.ts +100 -6
- package/dist/browser/models/models.js +127 -10
- package/dist/browser/models/models.js.map +1 -1
- package/dist/commonjs/api/agentPools/index.js +1 -0
- package/dist/commonjs/api/agentPools/index.js.map +1 -1
- package/dist/commonjs/api/agentPools/operations.js +16 -15
- package/dist/commonjs/api/agentPools/operations.js.map +2 -2
- package/dist/commonjs/api/agentPools/options.js +1 -0
- package/dist/commonjs/api/agentPools/options.js.map +1 -1
- package/dist/commonjs/api/containerServiceContext.js +2 -1
- package/dist/commonjs/api/containerServiceContext.js.map +2 -2
- package/dist/commonjs/api/index.js +1 -0
- package/dist/commonjs/api/index.js.map +1 -1
- package/dist/commonjs/api/machines/index.js +1 -0
- package/dist/commonjs/api/machines/index.js.map +1 -1
- package/dist/commonjs/api/machines/operations.js +4 -3
- package/dist/commonjs/api/machines/operations.js.map +2 -2
- package/dist/commonjs/api/machines/options.js +1 -0
- package/dist/commonjs/api/machines/options.js.map +1 -1
- package/dist/commonjs/api/maintenanceConfigurations/index.js +1 -0
- package/dist/commonjs/api/maintenanceConfigurations/index.js.map +1 -1
- package/dist/commonjs/api/maintenanceConfigurations/operations.js +6 -5
- package/dist/commonjs/api/maintenanceConfigurations/operations.js.map +2 -2
- package/dist/commonjs/api/maintenanceConfigurations/options.js +1 -0
- package/dist/commonjs/api/maintenanceConfigurations/options.js.map +1 -1
- package/dist/commonjs/api/managedClusters/index.js +1 -0
- package/dist/commonjs/api/managedClusters/index.js.map +1 -1
- package/dist/commonjs/api/managedClusters/operations.js +43 -42
- package/dist/commonjs/api/managedClusters/operations.js.map +2 -2
- package/dist/commonjs/api/managedClusters/options.js +1 -0
- package/dist/commonjs/api/managedClusters/options.js.map +1 -1
- package/dist/commonjs/api/managedNamespaces/index.js +1 -0
- package/dist/commonjs/api/managedNamespaces/index.js.map +1 -1
- package/dist/commonjs/api/managedNamespaces/operations.js +10 -9
- package/dist/commonjs/api/managedNamespaces/operations.js.map +2 -2
- package/dist/commonjs/api/managedNamespaces/options.js +1 -0
- package/dist/commonjs/api/managedNamespaces/options.js.map +1 -1
- package/dist/commonjs/api/operations/index.js +1 -0
- package/dist/commonjs/api/operations/index.js.map +1 -1
- package/dist/commonjs/api/operations/operations.js +3 -2
- package/dist/commonjs/api/operations/operations.js.map +2 -2
- package/dist/commonjs/api/operations/options.js +1 -0
- package/dist/commonjs/api/operations/options.js.map +1 -1
- package/dist/commonjs/api/privateEndpointConnections/index.js +1 -0
- package/dist/commonjs/api/privateEndpointConnections/index.js.map +1 -1
- package/dist/commonjs/api/privateEndpointConnections/operations.js +6 -5
- package/dist/commonjs/api/privateEndpointConnections/operations.js.map +2 -2
- package/dist/commonjs/api/privateEndpointConnections/options.js +1 -0
- package/dist/commonjs/api/privateEndpointConnections/options.js.map +1 -1
- package/dist/commonjs/api/privateLinkResources/index.js +1 -0
- package/dist/commonjs/api/privateLinkResources/index.js.map +1 -1
- package/dist/commonjs/api/privateLinkResources/operations.js +2 -1
- package/dist/commonjs/api/privateLinkResources/operations.js.map +2 -2
- package/dist/commonjs/api/privateLinkResources/options.js +1 -0
- package/dist/commonjs/api/privateLinkResources/options.js.map +1 -1
- package/dist/commonjs/api/resolvePrivateLinkServiceId/index.js +1 -0
- package/dist/commonjs/api/resolvePrivateLinkServiceId/index.js.map +1 -1
- package/dist/commonjs/api/resolvePrivateLinkServiceId/operations.js +2 -1
- package/dist/commonjs/api/resolvePrivateLinkServiceId/operations.js.map +2 -2
- package/dist/commonjs/api/resolvePrivateLinkServiceId/options.js +1 -0
- package/dist/commonjs/api/resolvePrivateLinkServiceId/options.js.map +1 -1
- package/dist/commonjs/api/snapshots/index.js +1 -0
- package/dist/commonjs/api/snapshots/index.js.map +1 -1
- package/dist/commonjs/api/snapshots/operations.js +9 -8
- package/dist/commonjs/api/snapshots/operations.js.map +2 -2
- package/dist/commonjs/api/snapshots/options.js +1 -0
- package/dist/commonjs/api/snapshots/options.js.map +1 -1
- package/dist/commonjs/api/trustedAccessRoleBindings/index.js +1 -0
- package/dist/commonjs/api/trustedAccessRoleBindings/index.js.map +1 -1
- package/dist/commonjs/api/trustedAccessRoleBindings/operations.js +8 -7
- package/dist/commonjs/api/trustedAccessRoleBindings/operations.js.map +2 -2
- package/dist/commonjs/api/trustedAccessRoleBindings/options.js +1 -0
- package/dist/commonjs/api/trustedAccessRoleBindings/options.js.map +1 -1
- package/dist/commonjs/api/trustedAccessRoles/index.js +1 -0
- package/dist/commonjs/api/trustedAccessRoles/index.js.map +1 -1
- package/dist/commonjs/api/trustedAccessRoles/operations.js +3 -2
- package/dist/commonjs/api/trustedAccessRoles/operations.js.map +2 -2
- package/dist/commonjs/api/trustedAccessRoles/options.js +1 -0
- package/dist/commonjs/api/trustedAccessRoles/options.js.map +1 -1
- package/dist/commonjs/classic/agentPools/index.js +1 -0
- package/dist/commonjs/classic/agentPools/index.js.map +1 -1
- package/dist/commonjs/classic/index.js +1 -0
- package/dist/commonjs/classic/index.js.map +1 -1
- package/dist/commonjs/classic/machines/index.js +1 -0
- package/dist/commonjs/classic/machines/index.js.map +1 -1
- package/dist/commonjs/classic/maintenanceConfigurations/index.js +1 -0
- package/dist/commonjs/classic/maintenanceConfigurations/index.js.map +1 -1
- package/dist/commonjs/classic/managedClusters/index.js +1 -0
- package/dist/commonjs/classic/managedClusters/index.js.map +1 -1
- package/dist/commonjs/classic/managedNamespaces/index.js +1 -0
- package/dist/commonjs/classic/managedNamespaces/index.js.map +1 -1
- package/dist/commonjs/classic/operations/index.js +1 -0
- package/dist/commonjs/classic/operations/index.js.map +1 -1
- package/dist/commonjs/classic/privateEndpointConnections/index.js +1 -0
- package/dist/commonjs/classic/privateEndpointConnections/index.js.map +1 -1
- package/dist/commonjs/classic/privateLinkResources/index.js +1 -0
- package/dist/commonjs/classic/privateLinkResources/index.js.map +1 -1
- package/dist/commonjs/classic/resolvePrivateLinkServiceId/index.js +1 -0
- package/dist/commonjs/classic/resolvePrivateLinkServiceId/index.js.map +1 -1
- package/dist/commonjs/classic/snapshots/index.js +1 -0
- package/dist/commonjs/classic/snapshots/index.js.map +1 -1
- package/dist/commonjs/classic/trustedAccessRoleBindings/index.js +1 -0
- package/dist/commonjs/classic/trustedAccessRoleBindings/index.js.map +1 -1
- package/dist/commonjs/classic/trustedAccessRoles/index.js +1 -0
- package/dist/commonjs/classic/trustedAccessRoles/index.js.map +1 -1
- package/dist/commonjs/containerServiceClient.js +1 -0
- package/dist/commonjs/containerServiceClient.js.map +1 -1
- package/dist/commonjs/index.d.ts +2 -2
- package/dist/commonjs/index.js +5 -0
- package/dist/commonjs/index.js.map +3 -3
- package/dist/commonjs/logger.js +1 -0
- package/dist/commonjs/logger.js.map +1 -1
- package/dist/commonjs/models/index.d.ts +2 -2
- package/dist/commonjs/models/index.js +5 -0
- package/dist/commonjs/models/index.js.map +3 -3
- package/dist/commonjs/models/models.d.ts +100 -6
- package/dist/commonjs/models/models.js +132 -14
- package/dist/commonjs/models/models.js.map +4 -4
- package/dist/commonjs/restorePollerHelpers.js +1 -0
- package/dist/commonjs/restorePollerHelpers.js.map +1 -1
- package/dist/commonjs/static-helpers/cloudSettingHelpers.js +1 -0
- package/dist/commonjs/static-helpers/cloudSettingHelpers.js.map +1 -1
- package/dist/commonjs/static-helpers/pagingHelpers.js +1 -0
- package/dist/commonjs/static-helpers/pagingHelpers.js.map +1 -1
- package/dist/commonjs/static-helpers/pollingHelpers.js +1 -0
- package/dist/commonjs/static-helpers/pollingHelpers.js.map +1 -1
- package/dist/commonjs/static-helpers/serialization/check-prop-undefined.js +1 -0
- package/dist/commonjs/static-helpers/serialization/check-prop-undefined.js.map +1 -1
- package/dist/commonjs/static-helpers/simplePollerHelpers.js +1 -0
- package/dist/commonjs/static-helpers/simplePollerHelpers.js.map +1 -1
- package/dist/commonjs/static-helpers/urlTemplate.js +1 -0
- package/dist/commonjs/static-helpers/urlTemplate.js.map +1 -1
- package/dist/commonjs/tsdoc-metadata.json +1 -1
- package/dist/esm/api/agentPools/index.js +4 -22
- package/dist/esm/api/agentPools/index.js.map +1 -7
- package/dist/esm/api/agentPools/operations.js +266 -364
- package/dist/esm/api/agentPools/operations.js.map +1 -7
- package/dist/esm/api/agentPools/options.js +4 -0
- package/dist/esm/api/agentPools/options.js.map +1 -7
- package/dist/esm/api/containerServiceContext.js +20 -17
- package/dist/esm/api/containerServiceContext.js.map +1 -7
- package/dist/esm/api/index.js +4 -4
- package/dist/esm/api/index.js.map +1 -7
- package/dist/esm/api/machines/index.js +4 -5
- package/dist/esm/api/machines/index.js.map +1 -7
- package/dist/esm/api/machines/operations.js +55 -83
- package/dist/esm/api/machines/operations.js.map +1 -7
- package/dist/esm/api/machines/options.js +4 -0
- package/dist/esm/api/machines/options.js.map +1 -7
- package/dist/esm/api/maintenanceConfigurations/index.js +4 -7
- package/dist/esm/api/maintenanceConfigurations/index.js.map +1 -7
- package/dist/esm/api/maintenanceConfigurations/operations.js +107 -143
- package/dist/esm/api/maintenanceConfigurations/operations.js.map +1 -7
- package/dist/esm/api/maintenanceConfigurations/options.js +4 -0
- package/dist/esm/api/maintenanceConfigurations/options.js.map +1 -7
- package/dist/esm/api/managedClusters/index.js +4 -56
- package/dist/esm/api/managedClusters/index.js.map +1 -7
- package/dist/esm/api/managedClusters/operations.js +772 -1035
- package/dist/esm/api/managedClusters/operations.js.map +1 -7
- package/dist/esm/api/managedClusters/options.js +4 -0
- package/dist/esm/api/managedClusters/options.js.map +1 -7
- package/dist/esm/api/managedNamespaces/index.js +4 -16
- package/dist/esm/api/managedNamespaces/index.js.map +1 -7
- package/dist/esm/api/managedNamespaces/operations.js +184 -253
- package/dist/esm/api/managedNamespaces/operations.js.map +1 -7
- package/dist/esm/api/managedNamespaces/options.js +4 -0
- package/dist/esm/api/managedNamespaces/options.js.map +1 -7
- package/dist/esm/api/operations/index.js +4 -4
- package/dist/esm/api/operations/index.js.map +1 -7
- package/dist/esm/api/operations/operations.js +25 -39
- package/dist/esm/api/operations/operations.js.map +1 -7
- package/dist/esm/api/operations/options.js +4 -0
- package/dist/esm/api/operations/options.js.map +1 -7
- package/dist/esm/api/privateEndpointConnections/index.js +4 -7
- package/dist/esm/api/privateEndpointConnections/index.js.map +1 -7
- package/dist/esm/api/privateEndpointConnections/operations.js +113 -155
- package/dist/esm/api/privateEndpointConnections/operations.js.map +1 -7
- package/dist/esm/api/privateEndpointConnections/options.js +4 -0
- package/dist/esm/api/privateEndpointConnections/options.js.map +1 -7
- package/dist/esm/api/privateLinkResources/index.js +4 -4
- package/dist/esm/api/privateLinkResources/index.js.map +1 -7
- package/dist/esm/api/privateLinkResources/operations.js +29 -37
- package/dist/esm/api/privateLinkResources/operations.js.map +1 -7
- package/dist/esm/api/privateLinkResources/options.js +4 -0
- package/dist/esm/api/privateLinkResources/options.js.map +1 -7
- package/dist/esm/api/resolvePrivateLinkServiceId/index.js +4 -4
- package/dist/esm/api/resolvePrivateLinkServiceId/index.js.map +1 -7
- package/dist/esm/api/resolvePrivateLinkServiceId/operations.js +31 -40
- package/dist/esm/api/resolvePrivateLinkServiceId/operations.js.map +1 -7
- package/dist/esm/api/resolvePrivateLinkServiceId/options.js +4 -0
- package/dist/esm/api/resolvePrivateLinkServiceId/options.js.map +1 -7
- package/dist/esm/api/snapshots/index.js +4 -16
- package/dist/esm/api/snapshots/index.js.map +1 -7
- package/dist/esm/api/snapshots/operations.js +167 -227
- package/dist/esm/api/snapshots/operations.js.map +1 -7
- package/dist/esm/api/snapshots/options.js +4 -0
- package/dist/esm/api/snapshots/options.js.map +1 -7
- package/dist/esm/api/trustedAccessRoleBindings/index.js +4 -7
- package/dist/esm/api/trustedAccessRoleBindings/index.js.map +1 -7
- package/dist/esm/api/trustedAccessRoleBindings/operations.js +117 -159
- package/dist/esm/api/trustedAccessRoleBindings/operations.js.map +1 -7
- package/dist/esm/api/trustedAccessRoleBindings/options.js +4 -0
- package/dist/esm/api/trustedAccessRoleBindings/options.js.map +1 -7
- package/dist/esm/api/trustedAccessRoles/index.js +4 -4
- package/dist/esm/api/trustedAccessRoles/index.js.map +1 -7
- package/dist/esm/api/trustedAccessRoles/operations.js +27 -41
- package/dist/esm/api/trustedAccessRoles/operations.js.map +1 -7
- package/dist/esm/api/trustedAccessRoles/options.js +4 -0
- package/dist/esm/api/trustedAccessRoles/options.js.map +1 -7
- package/dist/esm/classic/agentPools/index.js +59 -121
- package/dist/esm/classic/agentPools/index.js.map +1 -7
- package/dist/esm/classic/index.js +4 -0
- package/dist/esm/classic/index.js.map +1 -7
- package/dist/esm/classic/machines/index.js +11 -11
- package/dist/esm/classic/machines/index.js.map +1 -7
- package/dist/esm/classic/maintenanceConfigurations/index.js +14 -19
- package/dist/esm/classic/maintenanceConfigurations/index.js.map +1 -7
- package/dist/esm/classic/managedClusters/index.js +124 -173
- package/dist/esm/classic/managedClusters/index.js.map +1 -7
- package/dist/esm/classic/managedNamespaces/index.js +32 -66
- package/dist/esm/classic/managedNamespaces/index.js.map +1 -7
- package/dist/esm/classic/operations/index.js +10 -10
- package/dist/esm/classic/operations/index.js.map +1 -7
- package/dist/esm/classic/privateEndpointConnections/index.js +21 -40
- package/dist/esm/classic/privateEndpointConnections/index.js.map +1 -7
- package/dist/esm/classic/privateLinkResources/index.js +10 -10
- package/dist/esm/classic/privateLinkResources/index.js.map +1 -7
- package/dist/esm/classic/resolvePrivateLinkServiceId/index.js +10 -10
- package/dist/esm/classic/resolvePrivateLinkServiceId/index.js.map +1 -7
- package/dist/esm/classic/snapshots/index.js +16 -23
- package/dist/esm/classic/snapshots/index.js.map +1 -7
- package/dist/esm/classic/trustedAccessRoleBindings/index.js +30 -68
- package/dist/esm/classic/trustedAccessRoleBindings/index.js.map +1 -7
- package/dist/esm/classic/trustedAccessRoles/index.js +10 -10
- package/dist/esm/classic/trustedAccessRoles/index.js.map +1 -7
- package/dist/esm/containerServiceClient.js +62 -59
- package/dist/esm/containerServiceClient.js.map +1 -7
- package/dist/esm/index.d.ts +2 -2
- package/dist/esm/index.js +7 -147
- package/dist/esm/index.js.map +1 -7
- package/dist/esm/logger.js +4 -4
- package/dist/esm/logger.js.map +1 -7
- package/dist/esm/models/index.d.ts +2 -2
- package/dist/esm/models/index.js +4 -142
- package/dist/esm/models/index.js.map +1 -7
- package/dist/esm/models/models.d.ts +100 -6
- package/dist/esm/models/models.js +4899 -4137
- package/dist/esm/models/models.js.map +1 -7
- package/dist/esm/restorePollerHelpers.js +127 -140
- package/dist/esm/restorePollerHelpers.js.map +1 -7
- package/dist/esm/static-helpers/cloudSettingHelpers.js +37 -26
- package/dist/esm/static-helpers/cloudSettingHelpers.js.map +1 -7
- package/dist/esm/static-helpers/pagingHelpers.js +122 -98
- package/dist/esm/static-helpers/pagingHelpers.js.map +1 -7
- package/dist/esm/static-helpers/pollingHelpers.js +86 -68
- package/dist/esm/static-helpers/pollingHelpers.js.map +1 -7
- package/dist/esm/static-helpers/serialization/check-prop-undefined.js +15 -9
- package/dist/esm/static-helpers/serialization/check-prop-undefined.js.map +1 -7
- package/dist/esm/static-helpers/simplePollerHelpers.js +43 -42
- package/dist/esm/static-helpers/simplePollerHelpers.js.map +1 -7
- package/dist/esm/static-helpers/urlTemplate.js +169 -142
- package/dist/esm/static-helpers/urlTemplate.js.map +1 -7
- package/dist/react-native/api/agentPools/operations.js +15 -15
- package/dist/react-native/api/agentPools/operations.js.map +1 -1
- package/dist/react-native/api/containerServiceContext.js +1 -1
- package/dist/react-native/api/containerServiceContext.js.map +1 -1
- package/dist/react-native/api/machines/operations.js +3 -3
- package/dist/react-native/api/machines/operations.js.map +1 -1
- package/dist/react-native/api/maintenanceConfigurations/operations.js +5 -5
- package/dist/react-native/api/maintenanceConfigurations/operations.js.map +1 -1
- package/dist/react-native/api/managedClusters/operations.js +42 -42
- package/dist/react-native/api/managedClusters/operations.js.map +1 -1
- package/dist/react-native/api/managedNamespaces/operations.js +9 -9
- package/dist/react-native/api/managedNamespaces/operations.js.map +1 -1
- package/dist/react-native/api/operations/operations.js +2 -2
- package/dist/react-native/api/operations/operations.js.map +1 -1
- package/dist/react-native/api/privateEndpointConnections/operations.js +5 -5
- package/dist/react-native/api/privateEndpointConnections/operations.js.map +1 -1
- package/dist/react-native/api/privateLinkResources/operations.js +1 -1
- package/dist/react-native/api/privateLinkResources/operations.js.map +1 -1
- package/dist/react-native/api/resolvePrivateLinkServiceId/operations.js +1 -1
- package/dist/react-native/api/resolvePrivateLinkServiceId/operations.js.map +1 -1
- package/dist/react-native/api/snapshots/operations.js +8 -8
- package/dist/react-native/api/snapshots/operations.js.map +1 -1
- package/dist/react-native/api/trustedAccessRoleBindings/operations.js +7 -7
- package/dist/react-native/api/trustedAccessRoleBindings/operations.js.map +1 -1
- package/dist/react-native/api/trustedAccessRoles/operations.js +2 -2
- package/dist/react-native/api/trustedAccessRoles/operations.js.map +1 -1
- package/dist/react-native/index.d.ts +2 -2
- package/dist/react-native/index.js +1 -1
- package/dist/react-native/index.js.map +1 -1
- package/dist/react-native/models/index.d.ts +2 -2
- package/dist/react-native/models/index.js +1 -1
- package/dist/react-native/models/index.js.map +1 -1
- package/dist/react-native/models/models.d.ts +100 -6
- package/dist/react-native/models/models.js +127 -10
- package/dist/react-native/models/models.js.map +1 -1
- package/package.json +7 -7
|
@@ -1,7 +1 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["/mnt/vss/_work/1/s/sdk/containerservice/arm-containerservice/src/models/models.ts"],
|
|
4
|
-
"sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { areAllPropsUndefined } from \"../static-helpers/serialization/check-prop-undefined.js\";\nimport { uint8ArrayToString, stringToUint8Array } from \"@azure/core-util\";\n\n/**\n * This file contains only generated model types and their (de)serializers.\n * Disable the following rules for internal models with '_' prefix and deserializers which require 'any' for raw JSON input.\n */\n/* eslint-disable @typescript-eslint/naming-convention */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/** Agent Pool. */\nexport interface AgentPool extends ProxyResource {\n /** Unique read-only string used to implement optimistic concurrency. The eTag value will change when the resource is updated. Specify an if-match or if-none-match header with the eTag value for a subsequent request to enable optimistic concurrency per the normal eTag convention. */\n readonly eTag?: string;\n /** Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. */\n count?: number;\n /** The size of the agent pool VMs. VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions */\n vmSize?: string;\n /** OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified. */\n osDiskSizeGB?: number;\n /** The OS disk type to be used for machines in the agent pool. The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). */\n osDiskType?: OSDiskType;\n /** Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. */\n kubeletDiskType?: KubeletDiskType;\n /** Determines the type of workload a node can run. */\n workloadRuntime?: WorkloadRuntime;\n /** Message of the day for Linux nodes, base64-encoded. A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of the message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e., will be printed raw and not be executed as a script). */\n messageOfTheDay?: string;\n /** The ID of the subnet which agent pool nodes and optionally pods will join on startup. If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} */\n vnetSubnetID?: string;\n /** The ID of the subnet which pods will join when launched. If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} */\n podSubnetID?: string;\n /** Pod IP Allocation Mode. The IP allocation mode for pods in the agent pool. Must be used with podSubnetId. The default is 'DynamicIndividual'. */\n podIPAllocationMode?: PodIPAllocationMode;\n /** The maximum number of pods that can run on a node. */\n maxPods?: number;\n /** The operating system type. The default is Linux. */\n osType?: OSType;\n /** Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. */\n osSKU?: Ossku;\n /** The maximum number of nodes for auto-scaling */\n maxCount?: number;\n /** The minimum number of nodes for auto-scaling */\n minCount?: number;\n /** Whether to enable auto-scaler */\n enableAutoScaling?: boolean;\n /** The scale down mode to use when scaling the Agent Pool. This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete. */\n scaleDownMode?: ScaleDownMode;\n /** The type of Agent Pool. */\n typePropertiesType?: AgentPoolType;\n /** The mode of an agent pool. A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools */\n mode?: AgentPoolMode;\n /** The version of Kubernetes specified by the user. Both patch version <major.minor.patch> (e.g. 1.20.13) and <major.minor> (e.g. 1.20) are supported. When <major.minor> is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same <major.minor> once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). */\n orchestratorVersion?: string;\n /** The version of Kubernetes the Agent Pool is running. If orchestratorVersion is a fully specified version <major.minor.patch>, this field will be exactly equal to it. If orchestratorVersion is <major.minor>, this field will contain the full <major.minor.patch> version being used. */\n readonly currentOrchestratorVersion?: string;\n /** The version of node image */\n readonly nodeImageVersion?: string;\n /** Settings for upgrading the agentpool */\n upgradeSettings?: AgentPoolUpgradeSettings;\n /** The current deployment or provisioning state. */\n readonly provisioningState?: string;\n /** Whether the Agent Pool is running or stopped. When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded */\n powerState?: PowerState;\n /** The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'. */\n availabilityZones?: string[];\n /** Whether each node is allocated its own public IP. Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see [assigning a public IP per node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The default is false. */\n enableNodePublicIP?: boolean;\n /** The public IP prefix ID which VM nodes should use IPs from. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} */\n nodePublicIPPrefixID?: string;\n /** The Virtual Machine Scale Set priority. */\n scaleSetPriority?: ScaleSetPriority;\n /** The Virtual Machine Scale Set eviction policy. The eviction policy specifies what to do with the VM when it is evicted. The default is Delete. For more information about eviction see [spot VMs](https://docs.microsoft.com/azure/virtual-machines/spot-vms) */\n scaleSetEvictionPolicy?: ScaleSetEvictionPolicy;\n /** The max price (in US Dollars) you are willing to pay for spot instances. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand. Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) */\n spotMaxPrice?: number;\n /** The tags to be persisted on the agent pool virtual machine scale set. */\n tags?: Record<string, string>;\n /** The node labels to be persisted across all nodes in agent pool. */\n nodeLabels?: Record<string, string>;\n /** The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. */\n nodeTaints?: string[];\n /** The ID for Proximity Placement Group. */\n proximityPlacementGroupID?: string;\n /** The Kubelet configuration on the agent pool nodes. */\n kubeletConfig?: KubeletConfig;\n /** The OS configuration of Linux agent nodes. */\n linuxOSConfig?: LinuxOSConfig;\n /** Whether to enable host based OS and data drive encryption. This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption */\n enableEncryptionAtHost?: boolean;\n /** Whether to enable UltraSSD */\n enableUltraSSD?: boolean;\n /** Whether to use a FIPS-enabled OS. See [Add a FIPS-enabled node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more details. */\n enableFips?: boolean;\n /** GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. */\n gpuInstanceProfile?: GPUInstanceProfile;\n /** CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot. */\n creationData?: CreationData;\n /** The fully qualified resource ID of the Capacity Reservation Group to provide virtual machines from a reserved group of Virtual Machines. This is of the form: '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Compute/capacityreservationgroups/{capacityReservationGroupName}' Customers use it to create an agentpool with a specified CRG. For more information see [Capacity Reservation](https://learn.microsoft.com/en-us/azure/virtual-machines/capacity-reservation-overview) */\n capacityReservationGroupID?: string;\n /** The fully qualified resource ID of the Dedicated Host Group to provision virtual machines from, used only in creation scenario and not allowed to changed once set. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). */\n hostGroupID?: string;\n /** Network-related settings of an agent pool. */\n networkProfile?: AgentPoolNetworkProfile;\n /** The Windows agent pool's specific profile. */\n windowsProfile?: AgentPoolWindowsProfile;\n /** The security settings of an agent pool. */\n securityProfile?: AgentPoolSecurityProfile;\n /** GPU settings for the Agent Pool. */\n gpuProfile?: GPUProfile;\n /** Profile specific to a managed agent pool in Gateway mode. This field cannot be set if agent pool mode is not Gateway. */\n gatewayProfile?: AgentPoolGatewayProfile;\n /** Specifications on VirtualMachines agent pool. */\n virtualMachinesProfile?: VirtualMachinesProfile;\n /** The status of nodes in a VirtualMachines agent pool. */\n virtualMachineNodesStatus?: VirtualMachineNodes[];\n /** Contains read-only information about the Agent Pool. */\n status?: AgentPoolStatus;\n /** Configures the per-node local DNS, with VnetDNS and KubeDNS overrides. LocalDNS helps improve performance and reliability of DNS resolution in an AKS cluster. For more details see aka.ms/aks/localdns. */\n localDNSProfile?: LocalDNSProfile;\n}\n\nexport function agentPoolSerializer(item: AgentPool): any {\n return {\n properties: areAllPropsUndefined(item, [\n \"count\",\n \"vmSize\",\n \"osDiskSizeGB\",\n \"osDiskType\",\n \"kubeletDiskType\",\n \"workloadRuntime\",\n \"messageOfTheDay\",\n \"vnetSubnetID\",\n \"podSubnetID\",\n \"podIPAllocationMode\",\n \"maxPods\",\n \"osType\",\n \"osSKU\",\n \"maxCount\",\n \"minCount\",\n \"enableAutoScaling\",\n \"scaleDownMode\",\n \"type\",\n \"mode\",\n \"orchestratorVersion\",\n \"upgradeSettings\",\n \"powerState\",\n \"availabilityZones\",\n \"enableNodePublicIP\",\n \"nodePublicIPPrefixID\",\n \"scaleSetPriority\",\n \"scaleSetEvictionPolicy\",\n \"spotMaxPrice\",\n \"tags\",\n \"nodeLabels\",\n \"nodeTaints\",\n \"proximityPlacementGroupID\",\n \"kubeletConfig\",\n \"linuxOSConfig\",\n \"enableEncryptionAtHost\",\n \"enableUltraSSD\",\n \"enableFIPS\",\n \"gpuInstanceProfile\",\n \"creationData\",\n \"capacityReservationGroupID\",\n \"hostGroupID\",\n \"networkProfile\",\n \"windowsProfile\",\n \"securityProfile\",\n \"gpuProfile\",\n \"gatewayProfile\",\n \"virtualMachinesProfile\",\n \"virtualMachineNodesStatus\",\n \"status\",\n \"localDNSProfile\",\n ])\n ? undefined\n : _agentPoolPropertiesSerializer(item),\n };\n}\n\nexport function agentPoolDeserializer(item: any): AgentPool {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _agentPoolPropertiesDeserializer(item[\"properties\"])),\n };\n}\n\n/** Properties for the container service agent pool profile. */\nexport interface ManagedClusterAgentPoolProfileProperties {\n /** Unique read-only string used to implement optimistic concurrency. The eTag value will change when the resource is updated. Specify an if-match or if-none-match header with the eTag value for a subsequent request to enable optimistic concurrency per the normal eTag convention. */\n readonly eTag?: string;\n /** Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. */\n count?: number;\n /** The size of the agent pool VMs. VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions */\n vmSize?: string;\n /** OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified. */\n osDiskSizeGB?: number;\n /** The OS disk type to be used for machines in the agent pool. The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). */\n osDiskType?: OSDiskType;\n /** Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. */\n kubeletDiskType?: KubeletDiskType;\n /** Determines the type of workload a node can run. */\n workloadRuntime?: WorkloadRuntime;\n /** Message of the day for Linux nodes, base64-encoded. A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of the message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e., will be printed raw and not be executed as a script). */\n messageOfTheDay?: string;\n /** The ID of the subnet which agent pool nodes and optionally pods will join on startup. If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} */\n vnetSubnetID?: string;\n /** The ID of the subnet which pods will join when launched. If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} */\n podSubnetID?: string;\n /** Pod IP Allocation Mode. The IP allocation mode for pods in the agent pool. Must be used with podSubnetId. The default is 'DynamicIndividual'. */\n podIPAllocationMode?: PodIPAllocationMode;\n /** The maximum number of pods that can run on a node. */\n maxPods?: number;\n /** The operating system type. The default is Linux. */\n osType?: OSType;\n /** Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. */\n osSKU?: Ossku;\n /** The maximum number of nodes for auto-scaling */\n maxCount?: number;\n /** The minimum number of nodes for auto-scaling */\n minCount?: number;\n /** Whether to enable auto-scaler */\n enableAutoScaling?: boolean;\n /** The scale down mode to use when scaling the Agent Pool. This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete. */\n scaleDownMode?: ScaleDownMode;\n /** The type of Agent Pool. */\n type?: AgentPoolType;\n /** The mode of an agent pool. A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools */\n mode?: AgentPoolMode;\n /** The version of Kubernetes specified by the user. Both patch version <major.minor.patch> (e.g. 1.20.13) and <major.minor> (e.g. 1.20) are supported. When <major.minor> is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same <major.minor> once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). */\n orchestratorVersion?: string;\n /** The version of Kubernetes the Agent Pool is running. If orchestratorVersion is a fully specified version <major.minor.patch>, this field will be exactly equal to it. If orchestratorVersion is <major.minor>, this field will contain the full <major.minor.patch> version being used. */\n readonly currentOrchestratorVersion?: string;\n /** The version of node image */\n readonly nodeImageVersion?: string;\n /** Settings for upgrading the agentpool */\n upgradeSettings?: AgentPoolUpgradeSettings;\n /** The current deployment or provisioning state. */\n readonly provisioningState?: string;\n /** Whether the Agent Pool is running or stopped. When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded */\n powerState?: PowerState;\n /** The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'. */\n availabilityZones?: string[];\n /** Whether each node is allocated its own public IP. Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see [assigning a public IP per node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The default is false. */\n enableNodePublicIP?: boolean;\n /** The public IP prefix ID which VM nodes should use IPs from. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} */\n nodePublicIPPrefixID?: string;\n /** The Virtual Machine Scale Set priority. */\n scaleSetPriority?: ScaleSetPriority;\n /** The Virtual Machine Scale Set eviction policy. The eviction policy specifies what to do with the VM when it is evicted. The default is Delete. For more information about eviction see [spot VMs](https://docs.microsoft.com/azure/virtual-machines/spot-vms) */\n scaleSetEvictionPolicy?: ScaleSetEvictionPolicy;\n /** The max price (in US Dollars) you are willing to pay for spot instances. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand. Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) */\n spotMaxPrice?: number;\n /** The tags to be persisted on the agent pool virtual machine scale set. */\n tags?: Record<string, string>;\n /** The node labels to be persisted across all nodes in agent pool. */\n nodeLabels?: Record<string, string>;\n /** The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. */\n nodeTaints?: string[];\n /** The ID for Proximity Placement Group. */\n proximityPlacementGroupID?: string;\n /** The Kubelet configuration on the agent pool nodes. */\n kubeletConfig?: KubeletConfig;\n /** The OS configuration of Linux agent nodes. */\n linuxOSConfig?: LinuxOSConfig;\n /** Whether to enable host based OS and data drive encryption. This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption */\n enableEncryptionAtHost?: boolean;\n /** Whether to enable UltraSSD */\n enableUltraSSD?: boolean;\n /** Whether to use a FIPS-enabled OS. See [Add a FIPS-enabled node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more details. */\n enableFips?: boolean;\n /** GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. */\n gpuInstanceProfile?: GPUInstanceProfile;\n /** CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot. */\n creationData?: CreationData;\n /** The fully qualified resource ID of the Capacity Reservation Group to provide virtual machines from a reserved group of Virtual Machines. This is of the form: '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Compute/capacityreservationgroups/{capacityReservationGroupName}' Customers use it to create an agentpool with a specified CRG. For more information see [Capacity Reservation](https://learn.microsoft.com/en-us/azure/virtual-machines/capacity-reservation-overview) */\n capacityReservationGroupID?: string;\n /** The fully qualified resource ID of the Dedicated Host Group to provision virtual machines from, used only in creation scenario and not allowed to changed once set. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). */\n hostGroupID?: string;\n /** Network-related settings of an agent pool. */\n networkProfile?: AgentPoolNetworkProfile;\n /** The Windows agent pool's specific profile. */\n windowsProfile?: AgentPoolWindowsProfile;\n /** The security settings of an agent pool. */\n securityProfile?: AgentPoolSecurityProfile;\n /** GPU settings for the Agent Pool. */\n gpuProfile?: GPUProfile;\n /** Profile specific to a managed agent pool in Gateway mode. This field cannot be set if agent pool mode is not Gateway. */\n gatewayProfile?: AgentPoolGatewayProfile;\n /** Specifications on VirtualMachines agent pool. */\n virtualMachinesProfile?: VirtualMachinesProfile;\n /** The status of nodes in a VirtualMachines agent pool. */\n virtualMachineNodesStatus?: VirtualMachineNodes[];\n /** Contains read-only information about the Agent Pool. */\n status?: AgentPoolStatus;\n /** Configures the per-node local DNS, with VnetDNS and KubeDNS overrides. LocalDNS helps improve performance and reliability of DNS resolution in an AKS cluster. For more details see aka.ms/aks/localdns. */\n localDNSProfile?: LocalDNSProfile;\n}\n\nexport function managedClusterAgentPoolProfilePropertiesSerializer(\n item: ManagedClusterAgentPoolProfileProperties,\n): any {\n return {\n count: item[\"count\"],\n vmSize: item[\"vmSize\"],\n osDiskSizeGB: item[\"osDiskSizeGB\"],\n osDiskType: item[\"osDiskType\"],\n kubeletDiskType: item[\"kubeletDiskType\"],\n workloadRuntime: item[\"workloadRuntime\"],\n messageOfTheDay: item[\"messageOfTheDay\"],\n vnetSubnetID: item[\"vnetSubnetID\"],\n podSubnetID: item[\"podSubnetID\"],\n podIPAllocationMode: item[\"podIPAllocationMode\"],\n maxPods: item[\"maxPods\"],\n osType: item[\"osType\"],\n osSKU: item[\"osSKU\"],\n maxCount: item[\"maxCount\"],\n minCount: item[\"minCount\"],\n enableAutoScaling: item[\"enableAutoScaling\"],\n scaleDownMode: item[\"scaleDownMode\"],\n type: item[\"type\"],\n mode: item[\"mode\"],\n orchestratorVersion: item[\"orchestratorVersion\"],\n upgradeSettings: !item[\"upgradeSettings\"]\n ? item[\"upgradeSettings\"]\n : agentPoolUpgradeSettingsSerializer(item[\"upgradeSettings\"]),\n powerState: !item[\"powerState\"] ? item[\"powerState\"] : powerStateSerializer(item[\"powerState\"]),\n availabilityZones: !item[\"availabilityZones\"]\n ? item[\"availabilityZones\"]\n : item[\"availabilityZones\"].map((p: any) => {\n return p;\n }),\n enableNodePublicIP: item[\"enableNodePublicIP\"],\n nodePublicIPPrefixID: item[\"nodePublicIPPrefixID\"],\n scaleSetPriority: item[\"scaleSetPriority\"],\n scaleSetEvictionPolicy: item[\"scaleSetEvictionPolicy\"],\n spotMaxPrice: item[\"spotMaxPrice\"],\n tags: item[\"tags\"],\n nodeLabels: item[\"nodeLabels\"],\n nodeTaints: !item[\"nodeTaints\"]\n ? item[\"nodeTaints\"]\n : item[\"nodeTaints\"].map((p: any) => {\n return p;\n }),\n proximityPlacementGroupID: item[\"proximityPlacementGroupID\"],\n kubeletConfig: !item[\"kubeletConfig\"]\n ? item[\"kubeletConfig\"]\n : kubeletConfigSerializer(item[\"kubeletConfig\"]),\n linuxOSConfig: !item[\"linuxOSConfig\"]\n ? item[\"linuxOSConfig\"]\n : linuxOSConfigSerializer(item[\"linuxOSConfig\"]),\n enableEncryptionAtHost: item[\"enableEncryptionAtHost\"],\n enableUltraSSD: item[\"enableUltraSSD\"],\n enableFIPS: item[\"enableFips\"],\n gpuInstanceProfile: item[\"gpuInstanceProfile\"],\n creationData: !item[\"creationData\"]\n ? item[\"creationData\"]\n : creationDataSerializer(item[\"creationData\"]),\n capacityReservationGroupID: item[\"capacityReservationGroupID\"],\n hostGroupID: item[\"hostGroupID\"],\n networkProfile: !item[\"networkProfile\"]\n ? item[\"networkProfile\"]\n : agentPoolNetworkProfileSerializer(item[\"networkProfile\"]),\n windowsProfile: !item[\"windowsProfile\"]\n ? item[\"windowsProfile\"]\n : agentPoolWindowsProfileSerializer(item[\"windowsProfile\"]),\n securityProfile: !item[\"securityProfile\"]\n ? item[\"securityProfile\"]\n : agentPoolSecurityProfileSerializer(item[\"securityProfile\"]),\n gpuProfile: !item[\"gpuProfile\"] ? item[\"gpuProfile\"] : gpuProfileSerializer(item[\"gpuProfile\"]),\n gatewayProfile: !item[\"gatewayProfile\"]\n ? item[\"gatewayProfile\"]\n : agentPoolGatewayProfileSerializer(item[\"gatewayProfile\"]),\n virtualMachinesProfile: !item[\"virtualMachinesProfile\"]\n ? item[\"virtualMachinesProfile\"]\n : virtualMachinesProfileSerializer(item[\"virtualMachinesProfile\"]),\n virtualMachineNodesStatus: !item[\"virtualMachineNodesStatus\"]\n ? item[\"virtualMachineNodesStatus\"]\n : virtualMachineNodesArraySerializer(item[\"virtualMachineNodesStatus\"]),\n status: !item[\"status\"] ? item[\"status\"] : agentPoolStatusSerializer(item[\"status\"]),\n localDNSProfile: !item[\"localDNSProfile\"]\n ? item[\"localDNSProfile\"]\n : localDNSProfileSerializer(item[\"localDNSProfile\"]),\n };\n}\n\nexport function managedClusterAgentPoolProfilePropertiesDeserializer(\n item: any,\n): ManagedClusterAgentPoolProfileProperties {\n return {\n eTag: item[\"eTag\"],\n count: item[\"count\"],\n vmSize: item[\"vmSize\"],\n osDiskSizeGB: item[\"osDiskSizeGB\"],\n osDiskType: item[\"osDiskType\"],\n kubeletDiskType: item[\"kubeletDiskType\"],\n workloadRuntime: item[\"workloadRuntime\"],\n messageOfTheDay: item[\"messageOfTheDay\"],\n vnetSubnetID: item[\"vnetSubnetID\"],\n podSubnetID: item[\"podSubnetID\"],\n podIPAllocationMode: item[\"podIPAllocationMode\"],\n maxPods: item[\"maxPods\"],\n osType: item[\"osType\"],\n osSKU: item[\"osSKU\"],\n maxCount: item[\"maxCount\"],\n minCount: item[\"minCount\"],\n enableAutoScaling: item[\"enableAutoScaling\"],\n scaleDownMode: item[\"scaleDownMode\"],\n type: item[\"type\"],\n mode: item[\"mode\"],\n orchestratorVersion: item[\"orchestratorVersion\"],\n currentOrchestratorVersion: item[\"currentOrchestratorVersion\"],\n nodeImageVersion: item[\"nodeImageVersion\"],\n upgradeSettings: !item[\"upgradeSettings\"]\n ? item[\"upgradeSettings\"]\n : agentPoolUpgradeSettingsDeserializer(item[\"upgradeSettings\"]),\n provisioningState: item[\"provisioningState\"],\n powerState: !item[\"powerState\"]\n ? item[\"powerState\"]\n : powerStateDeserializer(item[\"powerState\"]),\n availabilityZones: !item[\"availabilityZones\"]\n ? item[\"availabilityZones\"]\n : item[\"availabilityZones\"].map((p: any) => {\n return p;\n }),\n enableNodePublicIP: item[\"enableNodePublicIP\"],\n nodePublicIPPrefixID: item[\"nodePublicIPPrefixID\"],\n scaleSetPriority: item[\"scaleSetPriority\"],\n scaleSetEvictionPolicy: item[\"scaleSetEvictionPolicy\"],\n spotMaxPrice: item[\"spotMaxPrice\"],\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n nodeLabels: !item[\"nodeLabels\"]\n ? item[\"nodeLabels\"]\n : Object.fromEntries(\n Object.entries(item[\"nodeLabels\"]).map(([k, p]: [string, any]) => [k, p]),\n ),\n nodeTaints: !item[\"nodeTaints\"]\n ? item[\"nodeTaints\"]\n : item[\"nodeTaints\"].map((p: any) => {\n return p;\n }),\n proximityPlacementGroupID: item[\"proximityPlacementGroupID\"],\n kubeletConfig: !item[\"kubeletConfig\"]\n ? item[\"kubeletConfig\"]\n : kubeletConfigDeserializer(item[\"kubeletConfig\"]),\n linuxOSConfig: !item[\"linuxOSConfig\"]\n ? item[\"linuxOSConfig\"]\n : linuxOSConfigDeserializer(item[\"linuxOSConfig\"]),\n enableEncryptionAtHost: item[\"enableEncryptionAtHost\"],\n enableUltraSSD: item[\"enableUltraSSD\"],\n enableFips: item[\"enableFIPS\"],\n gpuInstanceProfile: item[\"gpuInstanceProfile\"],\n creationData: !item[\"creationData\"]\n ? item[\"creationData\"]\n : creationDataDeserializer(item[\"creationData\"]),\n capacityReservationGroupID: item[\"capacityReservationGroupID\"],\n hostGroupID: item[\"hostGroupID\"],\n networkProfile: !item[\"networkProfile\"]\n ? item[\"networkProfile\"]\n : agentPoolNetworkProfileDeserializer(item[\"networkProfile\"]),\n windowsProfile: !item[\"windowsProfile\"]\n ? item[\"windowsProfile\"]\n : agentPoolWindowsProfileDeserializer(item[\"windowsProfile\"]),\n securityProfile: !item[\"securityProfile\"]\n ? item[\"securityProfile\"]\n : agentPoolSecurityProfileDeserializer(item[\"securityProfile\"]),\n gpuProfile: !item[\"gpuProfile\"]\n ? item[\"gpuProfile\"]\n : gpuProfileDeserializer(item[\"gpuProfile\"]),\n gatewayProfile: !item[\"gatewayProfile\"]\n ? item[\"gatewayProfile\"]\n : agentPoolGatewayProfileDeserializer(item[\"gatewayProfile\"]),\n virtualMachinesProfile: !item[\"virtualMachinesProfile\"]\n ? item[\"virtualMachinesProfile\"]\n : virtualMachinesProfileDeserializer(item[\"virtualMachinesProfile\"]),\n virtualMachineNodesStatus: !item[\"virtualMachineNodesStatus\"]\n ? item[\"virtualMachineNodesStatus\"]\n : virtualMachineNodesArrayDeserializer(item[\"virtualMachineNodesStatus\"]),\n status: !item[\"status\"] ? item[\"status\"] : agentPoolStatusDeserializer(item[\"status\"]),\n localDNSProfile: !item[\"localDNSProfile\"]\n ? item[\"localDNSProfile\"]\n : localDNSProfileDeserializer(item[\"localDNSProfile\"]),\n };\n}\n\n/** The OS disk type to be used for machines in the agent pool. The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). */\nexport enum KnownOSDiskType {\n /** Azure replicates the operating system disk for a virtual machine to Azure storage to avoid data loss should the VM need to be relocated to another host. Since containers aren't designed to have local state persisted, this behavior offers limited value while providing some drawbacks, including slower node provisioning and higher read/write latency. */\n Managed = \"Managed\",\n /** Ephemeral OS disks are stored only on the host machine, just like a temporary disk. This provides lower read/write latency, along with faster node scaling and cluster upgrades. */\n Ephemeral = \"Ephemeral\",\n}\n\n/**\n * The OS disk type to be used for machines in the agent pool. The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). \\\n * {@link KnownOSDiskType} can be used interchangeably with OSDiskType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Managed**: Azure replicates the operating system disk for a virtual machine to Azure storage to avoid data loss should the VM need to be relocated to another host. Since containers aren't designed to have local state persisted, this behavior offers limited value while providing some drawbacks, including slower node provisioning and higher read\\/write latency. \\\n * **Ephemeral**: Ephemeral OS disks are stored only on the host machine, just like a temporary disk. This provides lower read\\/write latency, along with faster node scaling and cluster upgrades.\n */\nexport type OSDiskType = string;\n\n/** Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. */\nexport enum KnownKubeletDiskType {\n /** Kubelet will use the OS disk for its data. */\n OS = \"OS\",\n /** Kubelet will use the temporary disk for its data. */\n Temporary = \"Temporary\",\n}\n\n/**\n * Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. \\\n * {@link KnownKubeletDiskType} can be used interchangeably with KubeletDiskType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **OS**: Kubelet will use the OS disk for its data. \\\n * **Temporary**: Kubelet will use the temporary disk for its data.\n */\nexport type KubeletDiskType = string;\n\n/** Determines the type of workload a node can run. */\nexport enum KnownWorkloadRuntime {\n /** Nodes will use Kubelet to run standard OCI container workloads. */\n OCIContainer = \"OCIContainer\",\n /** Nodes will use Krustlet to run WASM workloads using the WASI provider (Preview). */\n WasmWasi = \"WasmWasi\",\n /** Nodes can use (Kata + Cloud Hypervisor + Hyper-V) to enable Nested VM-based pods. Due to the use Hyper-V, AKS node OS itself is a nested VM (the root OS) of Hyper-V. Thus it can only be used with VM series that support Nested Virtualization such as Dv3 series. */\n KataVmIsolation = \"KataVmIsolation\",\n}\n\n/**\n * Determines the type of workload a node can run. \\\n * {@link KnownWorkloadRuntime} can be used interchangeably with WorkloadRuntime,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **OCIContainer**: Nodes will use Kubelet to run standard OCI container workloads. \\\n * **WasmWasi**: Nodes will use Krustlet to run WASM workloads using the WASI provider (Preview). \\\n * **KataVmIsolation**: Nodes can use (Kata + Cloud Hypervisor + Hyper-V) to enable Nested VM-based pods. Due to the use Hyper-V, AKS node OS itself is a nested VM (the root OS) of Hyper-V. Thus it can only be used with VM series that support Nested Virtualization such as Dv3 series.\n */\nexport type WorkloadRuntime = string;\n\n/** Pod IP Allocation Mode. The IP allocation mode for pods in the agent pool. Must be used with podSubnetId. The default is 'DynamicIndividual'. */\nexport enum KnownPodIPAllocationMode {\n /** Each node gets allocated with a non-contiguous list of IP addresses assignable to pods. This is better for maximizing a small to medium subnet of size /16 or smaller. The Azure CNI cluster with dynamic IP allocation defaults to this mode if the customer does not explicitly specify a podIPAllocationMode */\n DynamicIndividual = \"DynamicIndividual\",\n /** Each node is statically allocated CIDR block(s) of size /28 = 16 IPs per block to satisfy the maxPods per node. Number of CIDR blocks >= (maxPods / 16). The block, rather than a single IP, counts against the Azure Vnet Private IP limit of 65K. Therefore block mode is suitable for running larger workloads with more than the current limit of 65K pods in a cluster. This mode is better suited to scale with larger subnets of /15 or bigger */\n StaticBlock = \"StaticBlock\",\n}\n\n/**\n * Pod IP Allocation Mode. The IP allocation mode for pods in the agent pool. Must be used with podSubnetId. The default is 'DynamicIndividual'. \\\n * {@link KnownPodIPAllocationMode} can be used interchangeably with PodIPAllocationMode,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **DynamicIndividual**: Each node gets allocated with a non-contiguous list of IP addresses assignable to pods. This is better for maximizing a small to medium subnet of size \\/16 or smaller. The Azure CNI cluster with dynamic IP allocation defaults to this mode if the customer does not explicitly specify a podIPAllocationMode \\\n * **StaticBlock**: Each node is statically allocated CIDR block(s) of size \\/28 = 16 IPs per block to satisfy the maxPods per node. Number of CIDR blocks >= (maxPods \\/ 16). The block, rather than a single IP, counts against the Azure Vnet Private IP limit of 65K. Therefore block mode is suitable for running larger workloads with more than the current limit of 65K pods in a cluster. This mode is better suited to scale with larger subnets of \\/15 or bigger\n */\nexport type PodIPAllocationMode = string;\n\n/** The operating system type. The default is Linux. */\nexport enum KnownOSType {\n /** Use Linux. */\n Linux = \"Linux\",\n /** Use Windows. */\n Windows = \"Windows\",\n}\n\n/**\n * The operating system type. The default is Linux. \\\n * {@link KnownOSType} can be used interchangeably with OSType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Linux**: Use Linux. \\\n * **Windows**: Use Windows.\n */\nexport type OSType = string;\n\n/** Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. */\nexport enum KnownOssku {\n /** Use Ubuntu as the OS for node images. */\n Ubuntu = \"Ubuntu\",\n /** Use AzureLinux as the OS for node images. Azure Linux is a container-optimized Linux distro built by Microsoft, visit https://aka.ms/azurelinux for more information. */\n AzureLinux = \"AzureLinux\",\n /** Use AzureLinux3 as the OS for node images. Azure Linux is a container-optimized Linux distro built by Microsoft, visit https://aka.ms/azurelinux for more information. For limitations, visit https://aka.ms/aks/node-images. For OS migration guidance, see https://aka.ms/aks/upgrade-os-version. */\n AzureLinux3 = \"AzureLinux3\",\n /** Deprecated OSSKU. Microsoft recommends that new deployments choose 'AzureLinux' instead. */\n CBLMariner = \"CBLMariner\",\n /** Use Windows2019 as the OS for node images. Unsupported for system node pools. Windows2019 only supports Windows2019 containers; it cannot run Windows2022 containers and vice versa. */\n Windows2019 = \"Windows2019\",\n /** Use Windows2022 as the OS for node images. Unsupported for system node pools. Windows2022 only supports Windows2022 containers; it cannot run Windows2019 containers and vice versa. */\n Windows2022 = \"Windows2022\",\n /** Use Ubuntu2204 as the OS for node images, however, Ubuntu 22.04 may not be supported for all nodepools. For limitations and supported kubernetes versions, see https://aka.ms/aks/supported-ubuntu-versions */\n Ubuntu2204 = \"Ubuntu2204\",\n /** Use Ubuntu2404 as the OS for node images, however, Ubuntu 24.04 may not be supported for all nodepools. For limitations and supported kubernetes versions, see see https://aka.ms/aks/supported-ubuntu-versions */\n Ubuntu2404 = \"Ubuntu2404\",\n}\n\n/**\n * Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. \\\n * {@link KnownOssku} can be used interchangeably with Ossku,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Ubuntu**: Use Ubuntu as the OS for node images. \\\n * **AzureLinux**: Use AzureLinux as the OS for node images. Azure Linux is a container-optimized Linux distro built by Microsoft, visit https:\\//aka.ms\\/azurelinux for more information. \\\n * **AzureLinux3**: Use AzureLinux3 as the OS for node images. Azure Linux is a container-optimized Linux distro built by Microsoft, visit https:\\//aka.ms\\/azurelinux for more information. For limitations, visit https:\\//aka.ms\\/aks\\/node-images. For OS migration guidance, see https:\\//aka.ms\\/aks\\/upgrade-os-version. \\\n * **CBLMariner**: Deprecated OSSKU. Microsoft recommends that new deployments choose 'AzureLinux' instead. \\\n * **Windows2019**: Use Windows2019 as the OS for node images. Unsupported for system node pools. Windows2019 only supports Windows2019 containers; it cannot run Windows2022 containers and vice versa. \\\n * **Windows2022**: Use Windows2022 as the OS for node images. Unsupported for system node pools. Windows2022 only supports Windows2022 containers; it cannot run Windows2019 containers and vice versa. \\\n * **Ubuntu2204**: Use Ubuntu2204 as the OS for node images, however, Ubuntu 22.04 may not be supported for all nodepools. For limitations and supported kubernetes versions, see https:\\//aka.ms\\/aks\\/supported-ubuntu-versions \\\n * **Ubuntu2404**: Use Ubuntu2404 as the OS for node images, however, Ubuntu 24.04 may not be supported for all nodepools. For limitations and supported kubernetes versions, see see https:\\//aka.ms\\/aks\\/supported-ubuntu-versions\n */\nexport type Ossku = string;\n\n/** Describes how VMs are added to or removed from Agent Pools. See [billing states](https://docs.microsoft.com/azure/virtual-machines/states-billing). */\nexport enum KnownScaleDownMode {\n /** Create new instances during scale up and remove instances during scale down. */\n Delete = \"Delete\",\n /** Attempt to start deallocated instances (if they exist) during scale up and deallocate instances during scale down. */\n Deallocate = \"Deallocate\",\n}\n\n/**\n * Describes how VMs are added to or removed from Agent Pools. See [billing states](https://docs.microsoft.com/azure/virtual-machines/states-billing). \\\n * {@link KnownScaleDownMode} can be used interchangeably with ScaleDownMode,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Delete**: Create new instances during scale up and remove instances during scale down. \\\n * **Deallocate**: Attempt to start deallocated instances (if they exist) during scale up and deallocate instances during scale down.\n */\nexport type ScaleDownMode = string;\n\n/** The type of Agent Pool. */\nexport enum KnownAgentPoolType {\n /** Create an Agent Pool backed by a Virtual Machine Scale Set. */\n VirtualMachineScaleSets = \"VirtualMachineScaleSets\",\n /** Use of this is strongly discouraged. */\n AvailabilitySet = \"AvailabilitySet\",\n /** Create an Agent Pool backed by a Single Instance VM orchestration mode. */\n VirtualMachines = \"VirtualMachines\",\n}\n\n/**\n * The type of Agent Pool. \\\n * {@link KnownAgentPoolType} can be used interchangeably with AgentPoolType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **VirtualMachineScaleSets**: Create an Agent Pool backed by a Virtual Machine Scale Set. \\\n * **AvailabilitySet**: Use of this is strongly discouraged. \\\n * **VirtualMachines**: Create an Agent Pool backed by a Single Instance VM orchestration mode.\n */\nexport type AgentPoolType = string;\n\n/** The mode of an agent pool. A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools */\nexport enum KnownAgentPoolMode {\n /** System agent pools are primarily for hosting critical system pods such as CoreDNS and metrics-server. System agent pools osType must be Linux. System agent pools VM SKU must have at least 2vCPUs and 4GB of memory. */\n System = \"System\",\n /** User agent pools are primarily for hosting your application pods. */\n User = \"User\",\n /** Gateway agent pools are dedicated to providing static egress IPs to pods. For more details, see https://aka.ms/aks/static-egress-gateway. */\n Gateway = \"Gateway\",\n}\n\n/**\n * The mode of an agent pool. A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools \\\n * {@link KnownAgentPoolMode} can be used interchangeably with AgentPoolMode,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **System**: System agent pools are primarily for hosting critical system pods such as CoreDNS and metrics-server. System agent pools osType must be Linux. System agent pools VM SKU must have at least 2vCPUs and 4GB of memory. \\\n * **User**: User agent pools are primarily for hosting your application pods. \\\n * **Gateway**: Gateway agent pools are dedicated to providing static egress IPs to pods. For more details, see https:\\//aka.ms\\/aks\\/static-egress-gateway.\n */\nexport type AgentPoolMode = string;\n\n/** Settings for upgrading an agentpool */\nexport interface AgentPoolUpgradeSettings {\n /** The maximum number or percentage of nodes that are surged during upgrade. This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 10%. For more information, including best practices, see: https://learn.microsoft.com/en-us/azure/aks/upgrade-cluster */\n maxSurge?: string;\n /** The maximum number or percentage of nodes that can be simultaneously unavailable during upgrade. This can either be set to an integer (e.g. '1') or a percentage (e.g. '5%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 0. For more information, including best practices, see: https://learn.microsoft.com/en-us/azure/aks/upgrade-cluster */\n maxUnavailable?: string;\n /** The drain timeout for a node. The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not specified, the default is 30 minutes. */\n drainTimeoutInMinutes?: number;\n /** The soak duration for a node. The amount of time (in minutes) to wait after draining a node and before reimaging it and moving on to next node. If not specified, the default is 0 minutes. */\n nodeSoakDurationInMinutes?: number;\n /** Defines the behavior for undrainable nodes during upgrade. The most common cause of undrainable nodes is Pod Disruption Budgets (PDBs), but other issues, such as pod termination grace period is exceeding the remaining per-node drain timeout or pod is still being in a running state, can also cause undrainable nodes. */\n undrainableNodeBehavior?: UndrainableNodeBehavior;\n}\n\nexport function agentPoolUpgradeSettingsSerializer(item: AgentPoolUpgradeSettings): any {\n return {\n maxSurge: item[\"maxSurge\"],\n maxUnavailable: item[\"maxUnavailable\"],\n drainTimeoutInMinutes: item[\"drainTimeoutInMinutes\"],\n nodeSoakDurationInMinutes: item[\"nodeSoakDurationInMinutes\"],\n undrainableNodeBehavior: item[\"undrainableNodeBehavior\"],\n };\n}\n\nexport function agentPoolUpgradeSettingsDeserializer(item: any): AgentPoolUpgradeSettings {\n return {\n maxSurge: item[\"maxSurge\"],\n maxUnavailable: item[\"maxUnavailable\"],\n drainTimeoutInMinutes: item[\"drainTimeoutInMinutes\"],\n nodeSoakDurationInMinutes: item[\"nodeSoakDurationInMinutes\"],\n undrainableNodeBehavior: item[\"undrainableNodeBehavior\"],\n };\n}\n\n/** Defines the behavior for undrainable nodes during upgrade. The most common cause of undrainable nodes is Pod Disruption Budgets (PDBs), but other issues, such as pod termination grace period is exceeding the remaining per-node drain timeout or pod is still being in a running state, can also cause undrainable nodes. */\nexport enum KnownUndrainableNodeBehavior {\n /** AKS will cordon the blocked nodes and replace them with surge nodes during upgrade. The blocked nodes will be cordoned and replaced by surge nodes. The blocked nodes will have label 'kubernetes.azure.com/upgrade-status:Quarantined'. A surge node will be retained for each blocked node. A best-effort attempt will be made to delete all other surge nodes. If there are enough surge nodes to replace blocked nodes, then the upgrade operation and the managed cluster will be in failed state. Otherwise, the upgrade operation and the managed cluster will be in canceled state. */\n Cordon = \"Cordon\",\n /** AKS will mark the blocked nodes schedulable, but the blocked nodes are not upgraded. A best-effort attempt will be made to delete all surge nodes. The upgrade operation and the managed cluster will be in failed state if there are any blocked nodes. */\n Schedule = \"Schedule\",\n}\n\n/**\n * Defines the behavior for undrainable nodes during upgrade. The most common cause of undrainable nodes is Pod Disruption Budgets (PDBs), but other issues, such as pod termination grace period is exceeding the remaining per-node drain timeout or pod is still being in a running state, can also cause undrainable nodes. \\\n * {@link KnownUndrainableNodeBehavior} can be used interchangeably with UndrainableNodeBehavior,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Cordon**: AKS will cordon the blocked nodes and replace them with surge nodes during upgrade. The blocked nodes will be cordoned and replaced by surge nodes. The blocked nodes will have label 'kubernetes.azure.com\\/upgrade-status:Quarantined'. A surge node will be retained for each blocked node. A best-effort attempt will be made to delete all other surge nodes. If there are enough surge nodes to replace blocked nodes, then the upgrade operation and the managed cluster will be in failed state. Otherwise, the upgrade operation and the managed cluster will be in canceled state. \\\n * **Schedule**: AKS will mark the blocked nodes schedulable, but the blocked nodes are not upgraded. A best-effort attempt will be made to delete all surge nodes. The upgrade operation and the managed cluster will be in failed state if there are any blocked nodes.\n */\nexport type UndrainableNodeBehavior = string;\n\n/** Describes the Power State of the cluster */\nexport interface PowerState {\n /** Tells whether the cluster is Running or Stopped */\n code?: Code;\n}\n\nexport function powerStateSerializer(item: PowerState): any {\n return { code: item[\"code\"] };\n}\n\nexport function powerStateDeserializer(item: any): PowerState {\n return {\n code: item[\"code\"],\n };\n}\n\n/** Tells whether the cluster is Running or Stopped */\nexport enum KnownCode {\n /** The cluster is running. */\n Running = \"Running\",\n /** The cluster is stopped. */\n Stopped = \"Stopped\",\n}\n\n/**\n * Tells whether the cluster is Running or Stopped \\\n * {@link KnownCode} can be used interchangeably with Code,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Running**: The cluster is running. \\\n * **Stopped**: The cluster is stopped.\n */\nexport type Code = string;\n\n/** The Virtual Machine Scale Set priority. */\nexport enum KnownScaleSetPriority {\n /** Spot priority VMs will be used. There is no SLA for spot nodes. See [spot on AKS](https://docs.microsoft.com/azure/aks/spot-node-pool) for more information. */\n Spot = \"Spot\",\n /** Regular VMs will be used. */\n Regular = \"Regular\",\n}\n\n/**\n * The Virtual Machine Scale Set priority. \\\n * {@link KnownScaleSetPriority} can be used interchangeably with ScaleSetPriority,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Spot**: Spot priority VMs will be used. There is no SLA for spot nodes. See [spot on AKS](https:\\//docs.microsoft.com\\/azure\\/aks\\/spot-node-pool) for more information. \\\n * **Regular**: Regular VMs will be used.\n */\nexport type ScaleSetPriority = string;\n\n/** The Virtual Machine Scale Set eviction policy. The eviction policy specifies what to do with the VM when it is evicted. The default is Delete. For more information about eviction see [spot VMs](https://docs.microsoft.com/azure/virtual-machines/spot-vms) */\nexport enum KnownScaleSetEvictionPolicy {\n /** Nodes in the underlying Scale Set of the node pool are deleted when they're evicted. */\n Delete = \"Delete\",\n /** Nodes in the underlying Scale Set of the node pool are set to the stopped-deallocated state upon eviction. Nodes in the stopped-deallocated state count against your compute quota and can cause issues with cluster scaling or upgrading. */\n Deallocate = \"Deallocate\",\n}\n\n/**\n * The Virtual Machine Scale Set eviction policy. The eviction policy specifies what to do with the VM when it is evicted. The default is Delete. For more information about eviction see [spot VMs](https://docs.microsoft.com/azure/virtual-machines/spot-vms) \\\n * {@link KnownScaleSetEvictionPolicy} can be used interchangeably with ScaleSetEvictionPolicy,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Delete**: Nodes in the underlying Scale Set of the node pool are deleted when they're evicted. \\\n * **Deallocate**: Nodes in the underlying Scale Set of the node pool are set to the stopped-deallocated state upon eviction. Nodes in the stopped-deallocated state count against your compute quota and can cause issues with cluster scaling or upgrading.\n */\nexport type ScaleSetEvictionPolicy = string;\n\n/** Kubelet configurations of agent nodes. See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. */\nexport interface KubeletConfig {\n /** The CPU Manager policy to use. The default is 'none'. See [Kubernetes CPU management policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more information. Allowed values are 'none' and 'static'. */\n cpuManagerPolicy?: string;\n /** If CPU CFS quota enforcement is enabled for containers that specify CPU limits. The default is true. */\n cpuCfsQuota?: boolean;\n /** The CPU CFS quota period value. The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. */\n cpuCfsQuotaPeriod?: string;\n /** The percent of disk usage after which image garbage collection is always run. To disable image garbage collection, set to 100. The default is 85% */\n imageGcHighThreshold?: number;\n /** The percent of disk usage before which image garbage collection is never run. This cannot be set higher than imageGcHighThreshold. The default is 80% */\n imageGcLowThreshold?: number;\n /** The Topology Manager policy to use. For more information see [Kubernetes Topology Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'. */\n topologyManagerPolicy?: string;\n /** Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`). */\n allowedUnsafeSysctls?: string[];\n /** If set to true it will make the Kubelet fail to start if swap is enabled on the node. */\n failSwapOn?: boolean;\n /** The maximum size (e.g. 10Mi) of container log file before it is rotated. */\n containerLogMaxSizeMB?: number;\n /** The maximum number of container log files that can be present for a container. The number must be \u2265 2. */\n containerLogMaxFiles?: number;\n /** The maximum number of processes per pod. */\n podMaxPids?: number;\n}\n\nexport function kubeletConfigSerializer(item: KubeletConfig): any {\n return {\n cpuManagerPolicy: item[\"cpuManagerPolicy\"],\n cpuCfsQuota: item[\"cpuCfsQuota\"],\n cpuCfsQuotaPeriod: item[\"cpuCfsQuotaPeriod\"],\n imageGcHighThreshold: item[\"imageGcHighThreshold\"],\n imageGcLowThreshold: item[\"imageGcLowThreshold\"],\n topologyManagerPolicy: item[\"topologyManagerPolicy\"],\n allowedUnsafeSysctls: !item[\"allowedUnsafeSysctls\"]\n ? item[\"allowedUnsafeSysctls\"]\n : item[\"allowedUnsafeSysctls\"].map((p: any) => {\n return p;\n }),\n failSwapOn: item[\"failSwapOn\"],\n containerLogMaxSizeMB: item[\"containerLogMaxSizeMB\"],\n containerLogMaxFiles: item[\"containerLogMaxFiles\"],\n podMaxPids: item[\"podMaxPids\"],\n };\n}\n\nexport function kubeletConfigDeserializer(item: any): KubeletConfig {\n return {\n cpuManagerPolicy: item[\"cpuManagerPolicy\"],\n cpuCfsQuota: item[\"cpuCfsQuota\"],\n cpuCfsQuotaPeriod: item[\"cpuCfsQuotaPeriod\"],\n imageGcHighThreshold: item[\"imageGcHighThreshold\"],\n imageGcLowThreshold: item[\"imageGcLowThreshold\"],\n topologyManagerPolicy: item[\"topologyManagerPolicy\"],\n allowedUnsafeSysctls: !item[\"allowedUnsafeSysctls\"]\n ? item[\"allowedUnsafeSysctls\"]\n : item[\"allowedUnsafeSysctls\"].map((p: any) => {\n return p;\n }),\n failSwapOn: item[\"failSwapOn\"],\n containerLogMaxSizeMB: item[\"containerLogMaxSizeMB\"],\n containerLogMaxFiles: item[\"containerLogMaxFiles\"],\n podMaxPids: item[\"podMaxPids\"],\n };\n}\n\n/** OS configurations of Linux agent nodes. See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. */\nexport interface LinuxOSConfig {\n /** Sysctl settings for Linux agent nodes. */\n sysctls?: SysctlConfig;\n /** Whether transparent hugepages are enabled. Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). */\n transparentHugePageEnabled?: string;\n /** Whether the kernel should make aggressive use of memory compaction to make more hugepages available. Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). */\n transparentHugePageDefrag?: string;\n /** The size in MB of a swap file that will be created on each node. */\n swapFileSizeMB?: number;\n}\n\nexport function linuxOSConfigSerializer(item: LinuxOSConfig): any {\n return {\n sysctls: !item[\"sysctls\"] ? item[\"sysctls\"] : sysctlConfigSerializer(item[\"sysctls\"]),\n transparentHugePageEnabled: item[\"transparentHugePageEnabled\"],\n transparentHugePageDefrag: item[\"transparentHugePageDefrag\"],\n swapFileSizeMB: item[\"swapFileSizeMB\"],\n };\n}\n\nexport function linuxOSConfigDeserializer(item: any): LinuxOSConfig {\n return {\n sysctls: !item[\"sysctls\"] ? item[\"sysctls\"] : sysctlConfigDeserializer(item[\"sysctls\"]),\n transparentHugePageEnabled: item[\"transparentHugePageEnabled\"],\n transparentHugePageDefrag: item[\"transparentHugePageDefrag\"],\n swapFileSizeMB: item[\"swapFileSizeMB\"],\n };\n}\n\n/** Sysctl settings for Linux agent nodes. */\nexport interface SysctlConfig {\n /** Sysctl setting net.core.somaxconn. */\n netCoreSomaxconn?: number;\n /** Sysctl setting net.core.netdev_max_backlog. */\n netCoreNetdevMaxBacklog?: number;\n /** Sysctl setting net.core.rmem_default. */\n netCoreRmemDefault?: number;\n /** Sysctl setting net.core.rmem_max. */\n netCoreRmemMax?: number;\n /** Sysctl setting net.core.wmem_default. */\n netCoreWmemDefault?: number;\n /** Sysctl setting net.core.wmem_max. */\n netCoreWmemMax?: number;\n /** Sysctl setting net.core.optmem_max. */\n netCoreOptmemMax?: number;\n /** Sysctl setting net.ipv4.tcp_max_syn_backlog. */\n netIpv4TcpMaxSynBacklog?: number;\n /** Sysctl setting net.ipv4.tcp_max_tw_buckets. */\n netIpv4TcpMaxTwBuckets?: number;\n /** Sysctl setting net.ipv4.tcp_fin_timeout. */\n netIpv4TcpFinTimeout?: number;\n /** Sysctl setting net.ipv4.tcp_keepalive_time. */\n netIpv4TcpKeepaliveTime?: number;\n /** Sysctl setting net.ipv4.tcp_keepalive_probes. */\n netIpv4TcpKeepaliveProbes?: number;\n /** Sysctl setting net.ipv4.tcp_keepalive_intvl. */\n netIpv4TcpkeepaliveIntvl?: number;\n /** Sysctl setting net.ipv4.tcp_tw_reuse. */\n netIpv4TcpTwReuse?: boolean;\n /** Sysctl setting net.ipv4.ip_local_port_range. */\n netIpv4IpLocalPortRange?: string;\n /** Sysctl setting net.ipv4.neigh.default.gc_thresh1. */\n netIpv4NeighDefaultGcThresh1?: number;\n /** Sysctl setting net.ipv4.neigh.default.gc_thresh2. */\n netIpv4NeighDefaultGcThresh2?: number;\n /** Sysctl setting net.ipv4.neigh.default.gc_thresh3. */\n netIpv4NeighDefaultGcThresh3?: number;\n /** Sysctl setting net.netfilter.nf_conntrack_max. */\n netNetfilterNfConntrackMax?: number;\n /** Sysctl setting net.netfilter.nf_conntrack_buckets. */\n netNetfilterNfConntrackBuckets?: number;\n /** Sysctl setting fs.inotify.max_user_watches. */\n fsInotifyMaxUserWatches?: number;\n /** Sysctl setting fs.file-max. */\n fsFileMax?: number;\n /** Sysctl setting fs.aio-max-nr. */\n fsAioMaxNr?: number;\n /** Sysctl setting fs.nr_open. */\n fsNrOpen?: number;\n /** Sysctl setting kernel.threads-max. */\n kernelThreadsMax?: number;\n /** Sysctl setting vm.max_map_count. */\n vmMaxMapCount?: number;\n /** Sysctl setting vm.swappiness. */\n vmSwappiness?: number;\n /** Sysctl setting vm.vfs_cache_pressure. */\n vmVfsCachePressure?: number;\n}\n\nexport function sysctlConfigSerializer(item: SysctlConfig): any {\n return {\n netCoreSomaxconn: item[\"netCoreSomaxconn\"],\n netCoreNetdevMaxBacklog: item[\"netCoreNetdevMaxBacklog\"],\n netCoreRmemDefault: item[\"netCoreRmemDefault\"],\n netCoreRmemMax: item[\"netCoreRmemMax\"],\n netCoreWmemDefault: item[\"netCoreWmemDefault\"],\n netCoreWmemMax: item[\"netCoreWmemMax\"],\n netCoreOptmemMax: item[\"netCoreOptmemMax\"],\n netIpv4TcpMaxSynBacklog: item[\"netIpv4TcpMaxSynBacklog\"],\n netIpv4TcpMaxTwBuckets: item[\"netIpv4TcpMaxTwBuckets\"],\n netIpv4TcpFinTimeout: item[\"netIpv4TcpFinTimeout\"],\n netIpv4TcpKeepaliveTime: item[\"netIpv4TcpKeepaliveTime\"],\n netIpv4TcpKeepaliveProbes: item[\"netIpv4TcpKeepaliveProbes\"],\n netIpv4TcpkeepaliveIntvl: item[\"netIpv4TcpkeepaliveIntvl\"],\n netIpv4TcpTwReuse: item[\"netIpv4TcpTwReuse\"],\n netIpv4IpLocalPortRange: item[\"netIpv4IpLocalPortRange\"],\n netIpv4NeighDefaultGcThresh1: item[\"netIpv4NeighDefaultGcThresh1\"],\n netIpv4NeighDefaultGcThresh2: item[\"netIpv4NeighDefaultGcThresh2\"],\n netIpv4NeighDefaultGcThresh3: item[\"netIpv4NeighDefaultGcThresh3\"],\n netNetfilterNfConntrackMax: item[\"netNetfilterNfConntrackMax\"],\n netNetfilterNfConntrackBuckets: item[\"netNetfilterNfConntrackBuckets\"],\n fsInotifyMaxUserWatches: item[\"fsInotifyMaxUserWatches\"],\n fsFileMax: item[\"fsFileMax\"],\n fsAioMaxNr: item[\"fsAioMaxNr\"],\n fsNrOpen: item[\"fsNrOpen\"],\n kernelThreadsMax: item[\"kernelThreadsMax\"],\n vmMaxMapCount: item[\"vmMaxMapCount\"],\n vmSwappiness: item[\"vmSwappiness\"],\n vmVfsCachePressure: item[\"vmVfsCachePressure\"],\n };\n}\n\nexport function sysctlConfigDeserializer(item: any): SysctlConfig {\n return {\n netCoreSomaxconn: item[\"netCoreSomaxconn\"],\n netCoreNetdevMaxBacklog: item[\"netCoreNetdevMaxBacklog\"],\n netCoreRmemDefault: item[\"netCoreRmemDefault\"],\n netCoreRmemMax: item[\"netCoreRmemMax\"],\n netCoreWmemDefault: item[\"netCoreWmemDefault\"],\n netCoreWmemMax: item[\"netCoreWmemMax\"],\n netCoreOptmemMax: item[\"netCoreOptmemMax\"],\n netIpv4TcpMaxSynBacklog: item[\"netIpv4TcpMaxSynBacklog\"],\n netIpv4TcpMaxTwBuckets: item[\"netIpv4TcpMaxTwBuckets\"],\n netIpv4TcpFinTimeout: item[\"netIpv4TcpFinTimeout\"],\n netIpv4TcpKeepaliveTime: item[\"netIpv4TcpKeepaliveTime\"],\n netIpv4TcpKeepaliveProbes: item[\"netIpv4TcpKeepaliveProbes\"],\n netIpv4TcpkeepaliveIntvl: item[\"netIpv4TcpkeepaliveIntvl\"],\n netIpv4TcpTwReuse: item[\"netIpv4TcpTwReuse\"],\n netIpv4IpLocalPortRange: item[\"netIpv4IpLocalPortRange\"],\n netIpv4NeighDefaultGcThresh1: item[\"netIpv4NeighDefaultGcThresh1\"],\n netIpv4NeighDefaultGcThresh2: item[\"netIpv4NeighDefaultGcThresh2\"],\n netIpv4NeighDefaultGcThresh3: item[\"netIpv4NeighDefaultGcThresh3\"],\n netNetfilterNfConntrackMax: item[\"netNetfilterNfConntrackMax\"],\n netNetfilterNfConntrackBuckets: item[\"netNetfilterNfConntrackBuckets\"],\n fsInotifyMaxUserWatches: item[\"fsInotifyMaxUserWatches\"],\n fsFileMax: item[\"fsFileMax\"],\n fsAioMaxNr: item[\"fsAioMaxNr\"],\n fsNrOpen: item[\"fsNrOpen\"],\n kernelThreadsMax: item[\"kernelThreadsMax\"],\n vmMaxMapCount: item[\"vmMaxMapCount\"],\n vmSwappiness: item[\"vmSwappiness\"],\n vmVfsCachePressure: item[\"vmVfsCachePressure\"],\n };\n}\n\n/** GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. */\nexport enum KnownGPUInstanceProfile {\n /** MIG 1g GPU instance profile. */\n MIG1G = \"MIG1g\",\n /** MIG 2g GPU instance profile. */\n MIG2G = \"MIG2g\",\n /** MIG 3g GPU instance profile. */\n MIG3G = \"MIG3g\",\n /** MIG 4g GPU instance profile. */\n MIG4G = \"MIG4g\",\n /** MIG 7g GPU instance profile. */\n MIG7G = \"MIG7g\",\n}\n\n/**\n * GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. \\\n * {@link KnownGPUInstanceProfile} can be used interchangeably with GPUInstanceProfile,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **MIG1g**: MIG 1g GPU instance profile. \\\n * **MIG2g**: MIG 2g GPU instance profile. \\\n * **MIG3g**: MIG 3g GPU instance profile. \\\n * **MIG4g**: MIG 4g GPU instance profile. \\\n * **MIG7g**: MIG 7g GPU instance profile.\n */\nexport type GPUInstanceProfile = string;\n\n/** Data used when creating a target resource from a source resource. */\nexport interface CreationData {\n /** This is the ARM ID of the source object to be used to create the target object. */\n sourceResourceId?: string;\n}\n\nexport function creationDataSerializer(item: CreationData): any {\n return { sourceResourceId: item[\"sourceResourceId\"] };\n}\n\nexport function creationDataDeserializer(item: any): CreationData {\n return {\n sourceResourceId: item[\"sourceResourceId\"],\n };\n}\n\n/** Network settings of an agent pool. */\nexport interface AgentPoolNetworkProfile {\n /** IPTags of instance-level public IPs. */\n nodePublicIPTags?: IPTag[];\n /** The port ranges that are allowed to access. The specified ranges are allowed to overlap. */\n allowedHostPorts?: PortRange[];\n /** The IDs of the application security groups which agent pool will associate when created. */\n applicationSecurityGroups?: string[];\n}\n\nexport function agentPoolNetworkProfileSerializer(item: AgentPoolNetworkProfile): any {\n return {\n nodePublicIPTags: !item[\"nodePublicIPTags\"]\n ? item[\"nodePublicIPTags\"]\n : ipTagArraySerializer(item[\"nodePublicIPTags\"]),\n allowedHostPorts: !item[\"allowedHostPorts\"]\n ? item[\"allowedHostPorts\"]\n : portRangeArraySerializer(item[\"allowedHostPorts\"]),\n applicationSecurityGroups: !item[\"applicationSecurityGroups\"]\n ? item[\"applicationSecurityGroups\"]\n : item[\"applicationSecurityGroups\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function agentPoolNetworkProfileDeserializer(item: any): AgentPoolNetworkProfile {\n return {\n nodePublicIPTags: !item[\"nodePublicIPTags\"]\n ? item[\"nodePublicIPTags\"]\n : ipTagArrayDeserializer(item[\"nodePublicIPTags\"]),\n allowedHostPorts: !item[\"allowedHostPorts\"]\n ? item[\"allowedHostPorts\"]\n : portRangeArrayDeserializer(item[\"allowedHostPorts\"]),\n applicationSecurityGroups: !item[\"applicationSecurityGroups\"]\n ? item[\"applicationSecurityGroups\"]\n : item[\"applicationSecurityGroups\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function ipTagArraySerializer(result: Array<IPTag>): any[] {\n return result.map((item) => {\n return ipTagSerializer(item);\n });\n}\n\nexport function ipTagArrayDeserializer(result: Array<IPTag>): any[] {\n return result.map((item) => {\n return ipTagDeserializer(item);\n });\n}\n\n/** Contains the IPTag associated with the object. */\nexport interface IPTag {\n /** The IP tag type. Example: RoutingPreference. */\n ipTagType?: string;\n /** The value of the IP tag associated with the public IP. Example: Internet. */\n tag?: string;\n}\n\nexport function ipTagSerializer(item: IPTag): any {\n return { ipTagType: item[\"ipTagType\"], tag: item[\"tag\"] };\n}\n\nexport function ipTagDeserializer(item: any): IPTag {\n return {\n ipTagType: item[\"ipTagType\"],\n tag: item[\"tag\"],\n };\n}\n\nexport function portRangeArraySerializer(result: Array<PortRange>): any[] {\n return result.map((item) => {\n return portRangeSerializer(item);\n });\n}\n\nexport function portRangeArrayDeserializer(result: Array<PortRange>): any[] {\n return result.map((item) => {\n return portRangeDeserializer(item);\n });\n}\n\n/** The port range. */\nexport interface PortRange {\n /** The minimum port that is included in the range. It should be ranged from 1 to 65535, and be less than or equal to portEnd. */\n portStart?: number;\n /** The maximum port that is included in the range. It should be ranged from 1 to 65535, and be greater than or equal to portStart. */\n portEnd?: number;\n /** The network protocol of the port. */\n protocol?: Protocol;\n}\n\nexport function portRangeSerializer(item: PortRange): any {\n return { portStart: item[\"portStart\"], portEnd: item[\"portEnd\"], protocol: item[\"protocol\"] };\n}\n\nexport function portRangeDeserializer(item: any): PortRange {\n return {\n portStart: item[\"portStart\"],\n portEnd: item[\"portEnd\"],\n protocol: item[\"protocol\"],\n };\n}\n\n/** The network protocol of the port. */\nexport enum KnownProtocol {\n /** TCP protocol. */\n TCP = \"TCP\",\n /** UDP protocol. */\n UDP = \"UDP\",\n}\n\n/**\n * The network protocol of the port. \\\n * {@link KnownProtocol} can be used interchangeably with Protocol,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **TCP**: TCP protocol. \\\n * **UDP**: UDP protocol.\n */\nexport type Protocol = string;\n\n/** The Windows agent pool's specific profile. */\nexport interface AgentPoolWindowsProfile {\n /** Whether to disable OutboundNAT in windows nodes. The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT Gateway and the Windows agent pool does not have node public IP enabled. */\n disableOutboundNat?: boolean;\n}\n\nexport function agentPoolWindowsProfileSerializer(item: AgentPoolWindowsProfile): any {\n return { disableOutboundNat: item[\"disableOutboundNat\"] };\n}\n\nexport function agentPoolWindowsProfileDeserializer(item: any): AgentPoolWindowsProfile {\n return {\n disableOutboundNat: item[\"disableOutboundNat\"],\n };\n}\n\n/** The security settings of an agent pool. */\nexport interface AgentPoolSecurityProfile {\n /** vTPM is a Trusted Launch feature for configuring a dedicated secure vault for keys and measurements held locally on the node. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. */\n enableVtpm?: boolean;\n /** Secure Boot is a feature of Trusted Launch which ensures that only signed operating systems and drivers can boot. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. */\n enableSecureBoot?: boolean;\n /** SSH access method of an agent pool. */\n sshAccess?: AgentPoolSSHAccess;\n}\n\nexport function agentPoolSecurityProfileSerializer(item: AgentPoolSecurityProfile): any {\n return {\n enableVTPM: item[\"enableVtpm\"],\n enableSecureBoot: item[\"enableSecureBoot\"],\n sshAccess: item[\"sshAccess\"],\n };\n}\n\nexport function agentPoolSecurityProfileDeserializer(item: any): AgentPoolSecurityProfile {\n return {\n enableVtpm: item[\"enableVTPM\"],\n enableSecureBoot: item[\"enableSecureBoot\"],\n sshAccess: item[\"sshAccess\"],\n };\n}\n\n/** SSH access method of an agent pool. */\nexport enum KnownAgentPoolSSHAccess {\n /** Can SSH onto the node as a local user using private key. */\n LocalUser = \"LocalUser\",\n /** SSH service will be turned off on the node. */\n Disabled = \"Disabled\",\n}\n\n/**\n * SSH access method of an agent pool. \\\n * {@link KnownAgentPoolSSHAccess} can be used interchangeably with AgentPoolSSHAccess,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **LocalUser**: Can SSH onto the node as a local user using private key. \\\n * **Disabled**: SSH service will be turned off on the node.\n */\nexport type AgentPoolSSHAccess = string;\n\n/** GPU settings for the Agent Pool. */\nexport interface GPUProfile {\n /** Whether to install GPU drivers. When it's not specified, default is Install. */\n driver?: GPUDriver;\n}\n\nexport function gpuProfileSerializer(item: GPUProfile): any {\n return { driver: item[\"driver\"] };\n}\n\nexport function gpuProfileDeserializer(item: any): GPUProfile {\n return {\n driver: item[\"driver\"],\n };\n}\n\n/** Whether to install GPU drivers. When it's not specified, default is Install. */\nexport enum KnownGPUDriver {\n /** Install driver. */\n Install = \"Install\",\n /** Skip driver install. */\n None = \"None\",\n}\n\n/**\n * Whether to install GPU drivers. When it's not specified, default is Install. \\\n * {@link KnownGPUDriver} can be used interchangeably with GPUDriver,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Install**: Install driver. \\\n * **None**: Skip driver install.\n */\nexport type GPUDriver = string;\n\n/** Profile of the managed cluster gateway agent pool. */\nexport interface AgentPoolGatewayProfile {\n /** The Gateway agent pool associates one public IPPrefix for each static egress gateway to provide public egress. The size of Public IPPrefix should be selected by the user. Each node in the agent pool is assigned with one IP from the IPPrefix. The IPPrefix size thus serves as a cap on the size of the Gateway agent pool. Due to Azure public IPPrefix size limitation, the valid value range is [28, 31] (/31 = 2 nodes/IPs, /30 = 4 nodes/IPs, /29 = 8 nodes/IPs, /28 = 16 nodes/IPs). The default value is 31. */\n publicIPPrefixSize?: number;\n}\n\nexport function agentPoolGatewayProfileSerializer(item: AgentPoolGatewayProfile): any {\n return { publicIPPrefixSize: item[\"publicIPPrefixSize\"] };\n}\n\nexport function agentPoolGatewayProfileDeserializer(item: any): AgentPoolGatewayProfile {\n return {\n publicIPPrefixSize: item[\"publicIPPrefixSize\"],\n };\n}\n\n/** Specifications on VirtualMachines agent pool. */\nexport interface VirtualMachinesProfile {\n /** Specifications on how to scale a VirtualMachines agent pool. */\n scale?: ScaleProfile;\n}\n\nexport function virtualMachinesProfileSerializer(item: VirtualMachinesProfile): any {\n return { scale: !item[\"scale\"] ? item[\"scale\"] : scaleProfileSerializer(item[\"scale\"]) };\n}\n\nexport function virtualMachinesProfileDeserializer(item: any): VirtualMachinesProfile {\n return {\n scale: !item[\"scale\"] ? item[\"scale\"] : scaleProfileDeserializer(item[\"scale\"]),\n };\n}\n\n/** Specifications on how to scale a VirtualMachines agent pool. */\nexport interface ScaleProfile {\n /** Specifications on how to scale the VirtualMachines agent pool to a fixed size. */\n manual?: ManualScaleProfile[];\n}\n\nexport function scaleProfileSerializer(item: ScaleProfile): any {\n return {\n manual: !item[\"manual\"] ? item[\"manual\"] : manualScaleProfileArraySerializer(item[\"manual\"]),\n };\n}\n\nexport function scaleProfileDeserializer(item: any): ScaleProfile {\n return {\n manual: !item[\"manual\"] ? item[\"manual\"] : manualScaleProfileArrayDeserializer(item[\"manual\"]),\n };\n}\n\nexport function manualScaleProfileArraySerializer(result: Array<ManualScaleProfile>): any[] {\n return result.map((item) => {\n return manualScaleProfileSerializer(item);\n });\n}\n\nexport function manualScaleProfileArrayDeserializer(result: Array<ManualScaleProfile>): any[] {\n return result.map((item) => {\n return manualScaleProfileDeserializer(item);\n });\n}\n\n/** Specifications on number of machines. */\nexport interface ManualScaleProfile {\n /** VM size that AKS will use when creating and scaling e.g. 'Standard_E4s_v3', 'Standard_E16s_v3' or 'Standard_D16s_v5'. */\n size?: string;\n /** Number of nodes. */\n count?: number;\n}\n\nexport function manualScaleProfileSerializer(item: ManualScaleProfile): any {\n return { size: item[\"size\"], count: item[\"count\"] };\n}\n\nexport function manualScaleProfileDeserializer(item: any): ManualScaleProfile {\n return {\n size: item[\"size\"],\n count: item[\"count\"],\n };\n}\n\nexport function virtualMachineNodesArraySerializer(result: Array<VirtualMachineNodes>): any[] {\n return result.map((item) => {\n return virtualMachineNodesSerializer(item);\n });\n}\n\nexport function virtualMachineNodesArrayDeserializer(result: Array<VirtualMachineNodes>): any[] {\n return result.map((item) => {\n return virtualMachineNodesDeserializer(item);\n });\n}\n\n/** Current status on a group of nodes of the same vm size. */\nexport interface VirtualMachineNodes {\n /** The VM size of the agents used to host this group of nodes. */\n size?: string;\n /** Number of nodes. */\n count?: number;\n}\n\nexport function virtualMachineNodesSerializer(item: VirtualMachineNodes): any {\n return { size: item[\"size\"], count: item[\"count\"] };\n}\n\nexport function virtualMachineNodesDeserializer(item: any): VirtualMachineNodes {\n return {\n size: item[\"size\"],\n count: item[\"count\"],\n };\n}\n\n/** Contains read-only information about the Agent Pool. */\nexport interface AgentPoolStatus {\n /** The error detail information of the agent pool. Preserves the detailed info of failure. If there was no error, this field is omitted. */\n readonly provisioningError?: ErrorDetail;\n}\n\nexport function agentPoolStatusSerializer(item: AgentPoolStatus): any {\n return item;\n}\n\nexport function agentPoolStatusDeserializer(item: any): AgentPoolStatus {\n return {\n provisioningError: !item[\"provisioningError\"]\n ? item[\"provisioningError\"]\n : errorDetailDeserializer(item[\"provisioningError\"]),\n };\n}\n\n/** The error detail. */\nexport interface ErrorDetail {\n /** The error code. */\n readonly code?: string;\n /** The error message. */\n readonly message?: string;\n /** The error target. */\n readonly target?: string;\n /** The error details. */\n readonly details?: ErrorDetail[];\n /** The error additional info. */\n readonly additionalInfo?: ErrorAdditionalInfo[];\n}\n\nexport function errorDetailDeserializer(item: any): ErrorDetail {\n return {\n code: item[\"code\"],\n message: item[\"message\"],\n target: item[\"target\"],\n details: !item[\"details\"] ? item[\"details\"] : errorDetailArrayDeserializer(item[\"details\"]),\n additionalInfo: !item[\"additionalInfo\"]\n ? item[\"additionalInfo\"]\n : errorAdditionalInfoArrayDeserializer(item[\"additionalInfo\"]),\n };\n}\n\nexport function errorDetailArrayDeserializer(result: Array<ErrorDetail>): any[] {\n return result.map((item) => {\n return errorDetailDeserializer(item);\n });\n}\n\nexport function errorAdditionalInfoArrayDeserializer(result: Array<ErrorAdditionalInfo>): any[] {\n return result.map((item) => {\n return errorAdditionalInfoDeserializer(item);\n });\n}\n\n/** The resource management error additional info. */\nexport interface ErrorAdditionalInfo {\n /** The additional info type. */\n readonly type?: string;\n /** The additional info. */\n readonly info?: any;\n}\n\nexport function errorAdditionalInfoDeserializer(item: any): ErrorAdditionalInfo {\n return {\n type: item[\"type\"],\n info: item[\"info\"],\n };\n}\n\n/** Configures the per-node local DNS, with VnetDNS and KubeDNS overrides. LocalDNS helps improve performance and reliability of DNS resolution in an AKS cluster. For more details see aka.ms/aks/localdns. */\nexport interface LocalDNSProfile {\n /** Mode of enablement for localDNS. */\n mode?: LocalDNSMode;\n /** System-generated state of localDNS. */\n readonly state?: LocalDNSState;\n /** VnetDNS overrides apply to DNS traffic from pods with dnsPolicy:default or kubelet (referred to as VnetDNS traffic). */\n vnetDNSOverrides?: Record<string, LocalDNSOverride>;\n /** KubeDNS overrides apply to DNS traffic from pods with dnsPolicy:ClusterFirst (referred to as KubeDNS traffic). */\n kubeDNSOverrides?: Record<string, LocalDNSOverride>;\n}\n\nexport function localDNSProfileSerializer(item: LocalDNSProfile): any {\n return {\n mode: item[\"mode\"],\n vnetDNSOverrides: !item[\"vnetDNSOverrides\"]\n ? item[\"vnetDNSOverrides\"]\n : localDNSOverrideRecordSerializer(item[\"vnetDNSOverrides\"]),\n kubeDNSOverrides: !item[\"kubeDNSOverrides\"]\n ? item[\"kubeDNSOverrides\"]\n : localDNSOverrideRecordSerializer(item[\"kubeDNSOverrides\"]),\n };\n}\n\nexport function localDNSProfileDeserializer(item: any): LocalDNSProfile {\n return {\n mode: item[\"mode\"],\n state: item[\"state\"],\n vnetDNSOverrides: !item[\"vnetDNSOverrides\"]\n ? item[\"vnetDNSOverrides\"]\n : localDNSOverrideRecordDeserializer(item[\"vnetDNSOverrides\"]),\n kubeDNSOverrides: !item[\"kubeDNSOverrides\"]\n ? item[\"kubeDNSOverrides\"]\n : localDNSOverrideRecordDeserializer(item[\"kubeDNSOverrides\"]),\n };\n}\n\n/** Mode of enablement for localDNS. */\nexport enum KnownLocalDNSMode {\n /** If the current orchestrator version supports this feature, prefer enabling localDNS. */\n Preferred = \"Preferred\",\n /** Enable localDNS. */\n Required = \"Required\",\n /** Disable localDNS. */\n Disabled = \"Disabled\",\n}\n\n/**\n * Mode of enablement for localDNS. \\\n * {@link KnownLocalDNSMode} can be used interchangeably with LocalDNSMode,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Preferred**: If the current orchestrator version supports this feature, prefer enabling localDNS. \\\n * **Required**: Enable localDNS. \\\n * **Disabled**: Disable localDNS.\n */\nexport type LocalDNSMode = string;\n\n/** System-generated state of localDNS. */\nexport enum KnownLocalDNSState {\n /** localDNS is enabled. */\n Enabled = \"Enabled\",\n /** localDNS is disabled. */\n Disabled = \"Disabled\",\n}\n\n/**\n * System-generated state of localDNS. \\\n * {@link KnownLocalDNSState} can be used interchangeably with LocalDNSState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enabled**: localDNS is enabled. \\\n * **Disabled**: localDNS is disabled.\n */\nexport type LocalDNSState = string;\n\nexport function localDNSOverrideRecordSerializer(\n item: Record<string, LocalDNSOverride>,\n): Record<string, any> {\n const result: Record<string, any> = {};\n Object.keys(item).map((key) => {\n result[key] = !item[key] ? item[key] : localDNSOverrideSerializer(item[key]);\n });\n return result;\n}\n\nexport function localDNSOverrideRecordDeserializer(\n item: Record<string, any>,\n): Record<string, LocalDNSOverride> {\n const result: Record<string, any> = {};\n Object.keys(item).map((key) => {\n result[key] = !item[key] ? item[key] : localDNSOverrideDeserializer(item[key]);\n });\n return result;\n}\n\n/** Overrides for localDNS profile. */\nexport interface LocalDNSOverride {\n /** Log level for DNS queries in localDNS. */\n queryLogging?: LocalDNSQueryLogging;\n /** Enforce TCP or prefer UDP protocol for connections from localDNS to upstream DNS server. */\n protocol?: LocalDNSProtocol;\n /** Destination server for DNS queries to be forwarded from localDNS. */\n forwardDestination?: LocalDNSForwardDestination;\n /** Forward policy for selecting upstream DNS server. See [forward plugin](https://coredns.io/plugins/forward) for more information. */\n forwardPolicy?: LocalDNSForwardPolicy;\n /** Maximum number of concurrent queries. See [forward plugin](https://coredns.io/plugins/forward) for more information. */\n maxConcurrent?: number;\n /** Cache max TTL in seconds. See [cache plugin](https://coredns.io/plugins/cache) for more information. */\n cacheDurationInSeconds?: number;\n /** Serve stale duration in seconds. See [cache plugin](https://coredns.io/plugins/cache) for more information. */\n serveStaleDurationInSeconds?: number;\n /** Policy for serving stale data. See [cache plugin](https://coredns.io/plugins/cache) for more information. */\n serveStale?: LocalDNSServeStale;\n}\n\nexport function localDNSOverrideSerializer(item: LocalDNSOverride): any {\n return {\n queryLogging: item[\"queryLogging\"],\n protocol: item[\"protocol\"],\n forwardDestination: item[\"forwardDestination\"],\n forwardPolicy: item[\"forwardPolicy\"],\n maxConcurrent: item[\"maxConcurrent\"],\n cacheDurationInSeconds: item[\"cacheDurationInSeconds\"],\n serveStaleDurationInSeconds: item[\"serveStaleDurationInSeconds\"],\n serveStale: item[\"serveStale\"],\n };\n}\n\nexport function localDNSOverrideDeserializer(item: any): LocalDNSOverride {\n return {\n queryLogging: item[\"queryLogging\"],\n protocol: item[\"protocol\"],\n forwardDestination: item[\"forwardDestination\"],\n forwardPolicy: item[\"forwardPolicy\"],\n maxConcurrent: item[\"maxConcurrent\"],\n cacheDurationInSeconds: item[\"cacheDurationInSeconds\"],\n serveStaleDurationInSeconds: item[\"serveStaleDurationInSeconds\"],\n serveStale: item[\"serveStale\"],\n };\n}\n\n/** Log level for DNS queries in localDNS. */\nexport enum KnownLocalDNSQueryLogging {\n /** Enables error logging in localDNS. See [errors plugin](https://coredns.io/plugins/errors) for more information. */\n Error = \"Error\",\n /** Enables query logging in localDNS. See [log plugin](https://coredns.io/plugins/log) for more information. */\n Log = \"Log\",\n}\n\n/**\n * Log level for DNS queries in localDNS. \\\n * {@link KnownLocalDNSQueryLogging} can be used interchangeably with LocalDNSQueryLogging,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Error**: Enables error logging in localDNS. See [errors plugin](https:\\//coredns.io\\/plugins\\/errors) for more information. \\\n * **Log**: Enables query logging in localDNS. See [log plugin](https:\\//coredns.io\\/plugins\\/log) for more information.\n */\nexport type LocalDNSQueryLogging = string;\n\n/** Enforce TCP or prefer UDP protocol for connections from localDNS to upstream DNS server. */\nexport enum KnownLocalDNSProtocol {\n /** Prefer UDP protocol for connections from localDNS to upstream DNS server. */\n PreferUDP = \"PreferUDP\",\n /** Enforce TCP protocol for connections from localDNS to upstream DNS server. */\n ForceTCP = \"ForceTCP\",\n}\n\n/**\n * Enforce TCP or prefer UDP protocol for connections from localDNS to upstream DNS server. \\\n * {@link KnownLocalDNSProtocol} can be used interchangeably with LocalDNSProtocol,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **PreferUDP**: Prefer UDP protocol for connections from localDNS to upstream DNS server. \\\n * **ForceTCP**: Enforce TCP protocol for connections from localDNS to upstream DNS server.\n */\nexport type LocalDNSProtocol = string;\n\n/** Destination server for DNS queries to be forwarded from localDNS. */\nexport enum KnownLocalDNSForwardDestination {\n /** Forward DNS queries from localDNS to cluster CoreDNS. */\n ClusterCoreDNS = \"ClusterCoreDNS\",\n /** Forward DNS queries from localDNS to DNS server configured in the VNET. A VNET can have multiple DNS servers configured. */\n VnetDNS = \"VnetDNS\",\n}\n\n/**\n * Destination server for DNS queries to be forwarded from localDNS. \\\n * {@link KnownLocalDNSForwardDestination} can be used interchangeably with LocalDNSForwardDestination,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **ClusterCoreDNS**: Forward DNS queries from localDNS to cluster CoreDNS. \\\n * **VnetDNS**: Forward DNS queries from localDNS to DNS server configured in the VNET. A VNET can have multiple DNS servers configured.\n */\nexport type LocalDNSForwardDestination = string;\n\n/** Forward policy for selecting upstream DNS server. See [forward plugin](https://coredns.io/plugins/forward) for more information. */\nexport enum KnownLocalDNSForwardPolicy {\n /** Implements sequential upstream DNS server selection. See [forward plugin](https://coredns.io/plugins/forward) for more information. */\n Sequential = \"Sequential\",\n /** Implements round robin upstream DNS server selection. See [forward plugin](https://coredns.io/plugins/forward) for more information. */\n RoundRobin = \"RoundRobin\",\n /** Implements random upstream DNS server selection. See [forward plugin](https://coredns.io/plugins/forward) for more information. */\n Random = \"Random\",\n}\n\n/**\n * Forward policy for selecting upstream DNS server. See [forward plugin](https://coredns.io/plugins/forward) for more information. \\\n * {@link KnownLocalDNSForwardPolicy} can be used interchangeably with LocalDNSForwardPolicy,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Sequential**: Implements sequential upstream DNS server selection. See [forward plugin](https:\\//coredns.io\\/plugins\\/forward) for more information. \\\n * **RoundRobin**: Implements round robin upstream DNS server selection. See [forward plugin](https:\\//coredns.io\\/plugins\\/forward) for more information. \\\n * **Random**: Implements random upstream DNS server selection. See [forward plugin](https:\\//coredns.io\\/plugins\\/forward) for more information.\n */\nexport type LocalDNSForwardPolicy = string;\n\n/** Policy for serving stale data. See [cache plugin](https://coredns.io/plugins/cache) for more information. */\nexport enum KnownLocalDNSServeStale {\n /** Serve stale data with verification. First verify that an entry is still unavailable from the source before sending the expired entry to the client. See [cache plugin](https://coredns.io/plugins/cache) for more information. */\n Verify = \"Verify\",\n /** Serve stale data immediately. Send the expired entry to the client before checking to see if the entry is available from the source. See [cache plugin](https://coredns.io/plugins/cache) for more information. */\n Immediate = \"Immediate\",\n /** Disable serving stale data. */\n Disable = \"Disable\",\n}\n\n/**\n * Policy for serving stale data. See [cache plugin](https://coredns.io/plugins/cache) for more information. \\\n * {@link KnownLocalDNSServeStale} can be used interchangeably with LocalDNSServeStale,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Verify**: Serve stale data with verification. First verify that an entry is still unavailable from the source before sending the expired entry to the client. See [cache plugin](https:\\//coredns.io\\/plugins\\/cache) for more information. \\\n * **Immediate**: Serve stale data immediately. Send the expired entry to the client before checking to see if the entry is available from the source. See [cache plugin](https:\\//coredns.io\\/plugins\\/cache) for more information. \\\n * **Disable**: Disable serving stale data.\n */\nexport type LocalDNSServeStale = string;\n\n/** The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location */\nexport interface ProxyResource extends Resource {}\n\nexport function proxyResourceSerializer(item: ProxyResource): any {\n return item;\n}\n\nexport function proxyResourceDeserializer(item: any): ProxyResource {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n };\n}\n\n/** Common fields that are returned in the response for all Azure Resource Manager resources */\nexport interface Resource {\n /** Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} */\n readonly id?: string;\n /** The name of the resource */\n readonly name?: string;\n /** The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\" */\n readonly type?: string;\n /** Azure Resource Manager metadata containing createdBy and modifiedBy information. */\n readonly systemData?: SystemData;\n}\n\nexport function resourceSerializer(item: Resource): any {\n return item;\n}\n\nexport function resourceDeserializer(item: any): Resource {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n };\n}\n\n/** Metadata pertaining to creation and last modification of the resource. */\nexport interface SystemData {\n /** The identity that created the resource. */\n createdBy?: string;\n /** The type of identity that created the resource. */\n createdByType?: CreatedByType;\n /** The timestamp of resource creation (UTC). */\n createdAt?: Date;\n /** The identity that last modified the resource. */\n lastModifiedBy?: string;\n /** The type of identity that last modified the resource. */\n lastModifiedByType?: CreatedByType;\n /** The timestamp of resource last modification (UTC) */\n lastModifiedAt?: Date;\n}\n\nexport function systemDataDeserializer(item: any): SystemData {\n return {\n createdBy: item[\"createdBy\"],\n createdByType: item[\"createdByType\"],\n createdAt: !item[\"createdAt\"] ? item[\"createdAt\"] : new Date(item[\"createdAt\"]),\n lastModifiedBy: item[\"lastModifiedBy\"],\n lastModifiedByType: item[\"lastModifiedByType\"],\n lastModifiedAt: !item[\"lastModifiedAt\"]\n ? item[\"lastModifiedAt\"]\n : new Date(item[\"lastModifiedAt\"]),\n };\n}\n\n/** The kind of entity that created the resource. */\nexport enum KnownCreatedByType {\n /** The entity was created by a user. */\n User = \"User\",\n /** The entity was created by an application. */\n Application = \"Application\",\n /** The entity was created by a managed identity. */\n ManagedIdentity = \"ManagedIdentity\",\n /** The entity was created by a key. */\n Key = \"Key\",\n}\n\n/**\n * The kind of entity that created the resource. \\\n * {@link KnownCreatedByType} can be used interchangeably with CreatedByType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **User**: The entity was created by a user. \\\n * **Application**: The entity was created by an application. \\\n * **ManagedIdentity**: The entity was created by a managed identity. \\\n * **Key**: The entity was created by a key.\n */\nexport type CreatedByType = string;\n\n/** Common error response for all Azure Resource Manager APIs to return error details for failed operations. */\nexport interface ErrorResponse {\n /** The error object. */\n error?: ErrorDetail;\n}\n\nexport function errorResponseDeserializer(item: any): ErrorResponse {\n return {\n error: !item[\"error\"] ? item[\"error\"] : errorDetailDeserializer(item[\"error\"]),\n };\n}\n\n/** The response of a AgentPool list operation. */\nexport interface _AgentPoolListResult {\n /** The AgentPool items on this page */\n value: AgentPool[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _agentPoolListResultDeserializer(item: any): _AgentPoolListResult {\n return {\n value: agentPoolArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function agentPoolArraySerializer(result: Array<AgentPool>): any[] {\n return result.map((item) => {\n return agentPoolSerializer(item);\n });\n}\n\nexport function agentPoolArrayDeserializer(result: Array<AgentPool>): any[] {\n return result.map((item) => {\n return agentPoolDeserializer(item);\n });\n}\n\n/** Specifies a list of machine names from the agent pool to be deleted. */\nexport interface AgentPoolDeleteMachinesParameter {\n /** The agent pool machine names. */\n machineNames: string[];\n}\n\nexport function agentPoolDeleteMachinesParameterSerializer(\n item: AgentPoolDeleteMachinesParameter,\n): any {\n return {\n machineNames: item[\"machineNames\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** The list of available versions for an agent pool. */\nexport interface AgentPoolAvailableVersions {\n /** The ID of the agent pool version list. */\n readonly id?: string;\n /** The name of the agent pool version list. */\n readonly name?: string;\n /** Type of the agent pool version list. */\n readonly type?: string;\n /** List of versions available for agent pool. */\n agentPoolVersions?: AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem[];\n}\n\nexport function agentPoolAvailableVersionsDeserializer(item: any): AgentPoolAvailableVersions {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n ..._agentPoolAvailableVersionsPropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** The list of available agent pool versions. */\nexport interface AgentPoolAvailableVersionsProperties {\n /** List of versions available for agent pool. */\n agentPoolVersions?: AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem[];\n}\n\nexport function agentPoolAvailableVersionsPropertiesDeserializer(\n item: any,\n): AgentPoolAvailableVersionsProperties {\n return {\n agentPoolVersions: !item[\"agentPoolVersions\"]\n ? item[\"agentPoolVersions\"]\n : agentPoolAvailableVersionsPropertiesAgentPoolVersionsItemArrayDeserializer(\n item[\"agentPoolVersions\"],\n ),\n };\n}\n\nexport function agentPoolAvailableVersionsPropertiesAgentPoolVersionsItemArrayDeserializer(\n result: Array<AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem>,\n): any[] {\n return result.map((item) => {\n return agentPoolAvailableVersionsPropertiesAgentPoolVersionsItemDeserializer(item);\n });\n}\n\n/** Available version information for an agent pool. */\nexport interface AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem {\n /** Whether this version is the default agent pool version. */\n default?: boolean;\n /** The Kubernetes version (major.minor.patch). */\n kubernetesVersion?: string;\n /** Whether Kubernetes version is currently in preview. */\n isPreview?: boolean;\n}\n\nexport function agentPoolAvailableVersionsPropertiesAgentPoolVersionsItemDeserializer(\n item: any,\n): AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem {\n return {\n default: item[\"default\"],\n kubernetesVersion: item[\"kubernetesVersion\"],\n isPreview: item[\"isPreview\"],\n };\n}\n\n/** The list of available upgrades for an agent pool. */\nexport interface AgentPoolUpgradeProfile extends ProxyResource {\n /** The Kubernetes version (major.minor.patch). */\n kubernetesVersion: string;\n /** The operating system type. The default is Linux. */\n osType: OSType;\n /** List of orchestrator types and versions available for upgrade. */\n upgrades?: AgentPoolUpgradeProfilePropertiesUpgradesItem[];\n /** The latest AKS supported node image version. */\n latestNodeImageVersion?: string;\n}\n\nexport function agentPoolUpgradeProfileDeserializer(item: any): AgentPoolUpgradeProfile {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n ..._agentPoolUpgradeProfilePropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** The list of available upgrade versions. */\nexport interface AgentPoolUpgradeProfileProperties {\n /** The Kubernetes version (major.minor.patch). */\n kubernetesVersion: string;\n /** The operating system type. The default is Linux. */\n osType: OSType;\n /** List of orchestrator types and versions available for upgrade. */\n upgrades?: AgentPoolUpgradeProfilePropertiesUpgradesItem[];\n /** The latest AKS supported node image version. */\n latestNodeImageVersion?: string;\n}\n\nexport function agentPoolUpgradeProfilePropertiesDeserializer(\n item: any,\n): AgentPoolUpgradeProfileProperties {\n return {\n kubernetesVersion: item[\"kubernetesVersion\"],\n osType: item[\"osType\"],\n upgrades: !item[\"upgrades\"]\n ? item[\"upgrades\"]\n : agentPoolUpgradeProfilePropertiesUpgradesItemArrayDeserializer(item[\"upgrades\"]),\n latestNodeImageVersion: item[\"latestNodeImageVersion\"],\n };\n}\n\nexport function agentPoolUpgradeProfilePropertiesUpgradesItemArrayDeserializer(\n result: Array<AgentPoolUpgradeProfilePropertiesUpgradesItem>,\n): any[] {\n return result.map((item) => {\n return agentPoolUpgradeProfilePropertiesUpgradesItemDeserializer(item);\n });\n}\n\n/** Available upgrades for an AgentPool. */\nexport interface AgentPoolUpgradeProfilePropertiesUpgradesItem {\n /** The Kubernetes version (major.minor.patch). */\n kubernetesVersion?: string;\n /** Whether the Kubernetes version is currently in preview. */\n isPreview?: boolean;\n}\n\nexport function agentPoolUpgradeProfilePropertiesUpgradesItemDeserializer(\n item: any,\n): AgentPoolUpgradeProfilePropertiesUpgradesItem {\n return {\n kubernetesVersion: item[\"kubernetesVersion\"],\n isPreview: item[\"isPreview\"],\n };\n}\n\n/** Managed cluster. */\nexport interface ManagedCluster extends TrackedResource {\n /** If eTag is provided in the response body, it may also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields. */\n readonly eTag?: string;\n /** The managed cluster SKU. */\n sku?: ManagedClusterSKU;\n /** The extended location of the Virtual Machine. */\n extendedLocation?: ExtendedLocation;\n /** The identity of the managed cluster, if configured. */\n identity?: ManagedClusterIdentity;\n /** This is primarily used to expose different UI experiences in the portal for different kinds */\n kind?: string;\n /** The current provisioning state. */\n readonly provisioningState?: string;\n /** The Power State of the cluster. */\n readonly powerState?: PowerState;\n /** The max number of agent pools for the managed cluster. */\n readonly maxAgentPools?: number;\n /** The version of Kubernetes specified by the user. Both patch version <major.minor.patch> (e.g. 1.20.13) and <major.minor> (e.g. 1.20) are supported. When <major.minor> is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same <major.minor> once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details. */\n kubernetesVersion?: string;\n /** The version of Kubernetes the Managed Cluster is running. If kubernetesVersion was a fully specified version <major.minor.patch>, this field will be exactly equal to it. If kubernetesVersion was <major.minor>, this field will contain the full <major.minor.patch> version being used. */\n readonly currentKubernetesVersion?: string;\n /** The DNS prefix of the Managed Cluster. This cannot be updated once the Managed Cluster has been created. */\n dnsPrefix?: string;\n /** The FQDN subdomain of the private cluster with custom private dns zone. This cannot be updated once the Managed Cluster has been created. */\n fqdnSubdomain?: string;\n /** The FQDN of the master pool. */\n readonly fqdn?: string;\n /** The FQDN of private cluster. */\n readonly privateFqdn?: string;\n /** The special FQDN used by the Azure Portal to access the Managed Cluster. This FQDN is for use only by the Azure Portal and should not be used by other clients. The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure Portal to function properly. */\n readonly azurePortalFqdn?: string;\n /** The agent pool properties. */\n agentPoolProfiles?: ManagedClusterAgentPoolProfile[];\n /** The profile for Linux VMs in the Managed Cluster. */\n linuxProfile?: ContainerServiceLinuxProfile;\n /** The profile for Windows VMs in the Managed Cluster. */\n windowsProfile?: ManagedClusterWindowsProfile;\n /** Information about a service principal identity for the cluster to use for manipulating Azure APIs. */\n servicePrincipalProfile?: ManagedClusterServicePrincipalProfile;\n /** The profile of managed cluster add-on. */\n addonProfiles?: Record<string, ManagedClusterAddonProfile>;\n /** The pod identity profile of the Managed Cluster. See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on AAD pod identity integration. */\n podIdentityProfile?: ManagedClusterPodIdentityProfile;\n /** The OIDC issuer profile of the Managed Cluster. */\n oidcIssuerProfile?: ManagedClusterOidcIssuerProfile;\n /** The name of the resource group containing agent pool nodes. */\n nodeResourceGroup?: string;\n /** Profile of the node resource group configuration. */\n nodeResourceGroupProfile?: ManagedClusterNodeResourceGroupProfile;\n /** Whether to enable Kubernetes Role-Based Access Control. */\n enableRbac?: boolean;\n /** The support plan for the Managed Cluster. If unspecified, the default is 'KubernetesOfficial'. */\n supportPlan?: KubernetesSupportPlan;\n /** The network configuration profile. */\n networkProfile?: ContainerServiceNetworkProfile;\n /** The Azure Active Directory configuration. */\n aadProfile?: ManagedClusterAADProfile;\n /** The auto upgrade configuration. */\n autoUpgradeProfile?: ManagedClusterAutoUpgradeProfile;\n /** Settings for upgrading a cluster. */\n upgradeSettings?: ClusterUpgradeSettings;\n /** Parameters to be applied to the cluster-autoscaler when enabled */\n autoScalerProfile?: ManagedClusterPropertiesAutoScalerProfile;\n /** The access profile for managed cluster API server. */\n apiServerAccessProfile?: ManagedClusterAPIServerAccessProfile;\n /** The Resource ID of the disk encryption set to use for enabling encryption at rest. This is of the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' */\n diskEncryptionSetID?: string;\n /** The user identity associated with the managed cluster. This identity will be used by the kubelet. Only one user assigned identity is allowed. The only accepted key is \"kubeletidentity\", with value of \"resourceId\": \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}\". */\n identityProfile?: Record<string, UserAssignedIdentity>;\n /** Private link resources associated with the cluster. */\n privateLinkResources?: PrivateLinkResource[];\n /** If local accounts should be disabled on the Managed Cluster. If set to true, getting static credentials will be disabled for this cluster. This must only be used on Managed Clusters that are AAD enabled. For more details see [disable local accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview). */\n disableLocalAccounts?: boolean;\n /** Configurations for provisioning the cluster with HTTP proxy servers. */\n httpProxyConfig?: ManagedClusterHttpProxyConfig;\n /** Security profile for the managed cluster. */\n securityProfile?: ManagedClusterSecurityProfile;\n /** Storage profile for the managed cluster. */\n storageProfile?: ManagedClusterStorageProfile;\n /** Ingress profile for the managed cluster. */\n ingressProfile?: ManagedClusterIngressProfile;\n /** PublicNetworkAccess of the managedCluster. Allow or deny public network access for AKS */\n publicNetworkAccess?: PublicNetworkAccess;\n /** Workload Auto-scaler profile for the managed cluster. */\n workloadAutoScalerProfile?: ManagedClusterWorkloadAutoScalerProfile;\n /** Azure Monitor addon profiles for monitoring the managed cluster. */\n azureMonitorProfile?: ManagedClusterAzureMonitorProfile;\n /** Service mesh profile for a managed cluster. */\n serviceMeshProfile?: ServiceMeshProfile;\n /** The resourceUID uniquely identifies ManagedClusters that reuse ARM ResourceIds (i.e: create, delete, create sequence) */\n readonly resourceUID?: string;\n /** Optional cluster metrics configuration. */\n metricsProfile?: ManagedClusterMetricsProfile;\n /** Node provisioning settings that apply to the whole cluster. */\n nodeProvisioningProfile?: ManagedClusterNodeProvisioningProfile;\n /** Profile of the cluster bootstrap configuration. */\n bootstrapProfile?: ManagedClusterBootstrapProfile;\n /** AI toolchain operator settings that apply to the whole cluster. */\n aiToolchainOperatorProfile?: ManagedClusterAIToolchainOperatorProfile;\n /** Contains read-only information about the Managed Cluster. */\n status?: ManagedClusterStatus;\n}\n\nexport function managedClusterSerializer(item: ManagedCluster): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: areAllPropsUndefined(item, [\n \"kubernetesVersion\",\n \"dnsPrefix\",\n \"fqdnSubdomain\",\n \"agentPoolProfiles\",\n \"linuxProfile\",\n \"windowsProfile\",\n \"servicePrincipalProfile\",\n \"addonProfiles\",\n \"podIdentityProfile\",\n \"oidcIssuerProfile\",\n \"nodeResourceGroup\",\n \"nodeResourceGroupProfile\",\n \"enableRBAC\",\n \"supportPlan\",\n \"networkProfile\",\n \"aadProfile\",\n \"autoUpgradeProfile\",\n \"upgradeSettings\",\n \"autoScalerProfile\",\n \"apiServerAccessProfile\",\n \"diskEncryptionSetID\",\n \"identityProfile\",\n \"privateLinkResources\",\n \"disableLocalAccounts\",\n \"httpProxyConfig\",\n \"securityProfile\",\n \"storageProfile\",\n \"ingressProfile\",\n \"publicNetworkAccess\",\n \"workloadAutoScalerProfile\",\n \"azureMonitorProfile\",\n \"serviceMeshProfile\",\n \"metricsProfile\",\n \"nodeProvisioningProfile\",\n \"bootstrapProfile\",\n \"aiToolchainOperatorProfile\",\n \"status\",\n ])\n ? undefined\n : _managedClusterPropertiesSerializer(item),\n sku: !item[\"sku\"] ? item[\"sku\"] : managedClusterSKUSerializer(item[\"sku\"]),\n extendedLocation: !item[\"extendedLocation\"]\n ? item[\"extendedLocation\"]\n : extendedLocationSerializer(item[\"extendedLocation\"]),\n identity: !item[\"identity\"]\n ? item[\"identity\"]\n : managedClusterIdentitySerializer(item[\"identity\"]),\n kind: item[\"kind\"],\n };\n}\n\nexport function managedClusterDeserializer(item: any): ManagedCluster {\n return {\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _managedClusterPropertiesDeserializer(item[\"properties\"])),\n eTag: item[\"eTag\"],\n sku: !item[\"sku\"] ? item[\"sku\"] : managedClusterSKUDeserializer(item[\"sku\"]),\n extendedLocation: !item[\"extendedLocation\"]\n ? item[\"extendedLocation\"]\n : extendedLocationDeserializer(item[\"extendedLocation\"]),\n identity: !item[\"identity\"]\n ? item[\"identity\"]\n : managedClusterIdentityDeserializer(item[\"identity\"]),\n kind: item[\"kind\"],\n };\n}\n\n/** Properties of the managed cluster. */\nexport interface ManagedClusterProperties {\n /** The current provisioning state. */\n readonly provisioningState?: string;\n /** The Power State of the cluster. */\n readonly powerState?: PowerState;\n /** The max number of agent pools for the managed cluster. */\n readonly maxAgentPools?: number;\n /** The version of Kubernetes specified by the user. Both patch version <major.minor.patch> (e.g. 1.20.13) and <major.minor> (e.g. 1.20) are supported. When <major.minor> is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same <major.minor> once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details. */\n kubernetesVersion?: string;\n /** The version of Kubernetes the Managed Cluster is running. If kubernetesVersion was a fully specified version <major.minor.patch>, this field will be exactly equal to it. If kubernetesVersion was <major.minor>, this field will contain the full <major.minor.patch> version being used. */\n readonly currentKubernetesVersion?: string;\n /** The DNS prefix of the Managed Cluster. This cannot be updated once the Managed Cluster has been created. */\n dnsPrefix?: string;\n /** The FQDN subdomain of the private cluster with custom private dns zone. This cannot be updated once the Managed Cluster has been created. */\n fqdnSubdomain?: string;\n /** The FQDN of the master pool. */\n readonly fqdn?: string;\n /** The FQDN of private cluster. */\n readonly privateFqdn?: string;\n /** The special FQDN used by the Azure Portal to access the Managed Cluster. This FQDN is for use only by the Azure Portal and should not be used by other clients. The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure Portal to function properly. */\n readonly azurePortalFqdn?: string;\n /** The agent pool properties. */\n agentPoolProfiles?: ManagedClusterAgentPoolProfile[];\n /** The profile for Linux VMs in the Managed Cluster. */\n linuxProfile?: ContainerServiceLinuxProfile;\n /** The profile for Windows VMs in the Managed Cluster. */\n windowsProfile?: ManagedClusterWindowsProfile;\n /** Information about a service principal identity for the cluster to use for manipulating Azure APIs. */\n servicePrincipalProfile?: ManagedClusterServicePrincipalProfile;\n /** The profile of managed cluster add-on. */\n addonProfiles?: Record<string, ManagedClusterAddonProfile>;\n /** The pod identity profile of the Managed Cluster. See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on AAD pod identity integration. */\n podIdentityProfile?: ManagedClusterPodIdentityProfile;\n /** The OIDC issuer profile of the Managed Cluster. */\n oidcIssuerProfile?: ManagedClusterOidcIssuerProfile;\n /** The name of the resource group containing agent pool nodes. */\n nodeResourceGroup?: string;\n /** Profile of the node resource group configuration. */\n nodeResourceGroupProfile?: ManagedClusterNodeResourceGroupProfile;\n /** Whether to enable Kubernetes Role-Based Access Control. */\n enableRbac?: boolean;\n /** The support plan for the Managed Cluster. If unspecified, the default is 'KubernetesOfficial'. */\n supportPlan?: KubernetesSupportPlan;\n /** The network configuration profile. */\n networkProfile?: ContainerServiceNetworkProfile;\n /** The Azure Active Directory configuration. */\n aadProfile?: ManagedClusterAADProfile;\n /** The auto upgrade configuration. */\n autoUpgradeProfile?: ManagedClusterAutoUpgradeProfile;\n /** Settings for upgrading a cluster. */\n upgradeSettings?: ClusterUpgradeSettings;\n /** Parameters to be applied to the cluster-autoscaler when enabled */\n autoScalerProfile?: ManagedClusterPropertiesAutoScalerProfile;\n /** The access profile for managed cluster API server. */\n apiServerAccessProfile?: ManagedClusterAPIServerAccessProfile;\n /** The Resource ID of the disk encryption set to use for enabling encryption at rest. This is of the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' */\n diskEncryptionSetID?: string;\n /** The user identity associated with the managed cluster. This identity will be used by the kubelet. Only one user assigned identity is allowed. The only accepted key is \"kubeletidentity\", with value of \"resourceId\": \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}\". */\n identityProfile?: Record<string, UserAssignedIdentity>;\n /** Private link resources associated with the cluster. */\n privateLinkResources?: PrivateLinkResource[];\n /** If local accounts should be disabled on the Managed Cluster. If set to true, getting static credentials will be disabled for this cluster. This must only be used on Managed Clusters that are AAD enabled. For more details see [disable local accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview). */\n disableLocalAccounts?: boolean;\n /** Configurations for provisioning the cluster with HTTP proxy servers. */\n httpProxyConfig?: ManagedClusterHttpProxyConfig;\n /** Security profile for the managed cluster. */\n securityProfile?: ManagedClusterSecurityProfile;\n /** Storage profile for the managed cluster. */\n storageProfile?: ManagedClusterStorageProfile;\n /** Ingress profile for the managed cluster. */\n ingressProfile?: ManagedClusterIngressProfile;\n /** PublicNetworkAccess of the managedCluster. Allow or deny public network access for AKS */\n publicNetworkAccess?: PublicNetworkAccess;\n /** Workload Auto-scaler profile for the managed cluster. */\n workloadAutoScalerProfile?: ManagedClusterWorkloadAutoScalerProfile;\n /** Azure Monitor addon profiles for monitoring the managed cluster. */\n azureMonitorProfile?: ManagedClusterAzureMonitorProfile;\n /** Service mesh profile for a managed cluster. */\n serviceMeshProfile?: ServiceMeshProfile;\n /** The resourceUID uniquely identifies ManagedClusters that reuse ARM ResourceIds (i.e: create, delete, create sequence) */\n readonly resourceUID?: string;\n /** Optional cluster metrics configuration. */\n metricsProfile?: ManagedClusterMetricsProfile;\n /** Node provisioning settings that apply to the whole cluster. */\n nodeProvisioningProfile?: ManagedClusterNodeProvisioningProfile;\n /** Profile of the cluster bootstrap configuration. */\n bootstrapProfile?: ManagedClusterBootstrapProfile;\n /** AI toolchain operator settings that apply to the whole cluster. */\n aiToolchainOperatorProfile?: ManagedClusterAIToolchainOperatorProfile;\n /** Contains read-only information about the Managed Cluster. */\n status?: ManagedClusterStatus;\n}\n\nexport function managedClusterPropertiesSerializer(item: ManagedClusterProperties): any {\n return {\n kubernetesVersion: item[\"kubernetesVersion\"],\n dnsPrefix: item[\"dnsPrefix\"],\n fqdnSubdomain: item[\"fqdnSubdomain\"],\n agentPoolProfiles: !item[\"agentPoolProfiles\"]\n ? item[\"agentPoolProfiles\"]\n : managedClusterAgentPoolProfileArraySerializer(item[\"agentPoolProfiles\"]),\n linuxProfile: !item[\"linuxProfile\"]\n ? item[\"linuxProfile\"]\n : containerServiceLinuxProfileSerializer(item[\"linuxProfile\"]),\n windowsProfile: !item[\"windowsProfile\"]\n ? item[\"windowsProfile\"]\n : managedClusterWindowsProfileSerializer(item[\"windowsProfile\"]),\n servicePrincipalProfile: !item[\"servicePrincipalProfile\"]\n ? item[\"servicePrincipalProfile\"]\n : managedClusterServicePrincipalProfileSerializer(item[\"servicePrincipalProfile\"]),\n addonProfiles: !item[\"addonProfiles\"]\n ? item[\"addonProfiles\"]\n : managedClusterAddonProfileRecordSerializer(item[\"addonProfiles\"]),\n podIdentityProfile: !item[\"podIdentityProfile\"]\n ? item[\"podIdentityProfile\"]\n : managedClusterPodIdentityProfileSerializer(item[\"podIdentityProfile\"]),\n oidcIssuerProfile: !item[\"oidcIssuerProfile\"]\n ? item[\"oidcIssuerProfile\"]\n : managedClusterOidcIssuerProfileSerializer(item[\"oidcIssuerProfile\"]),\n nodeResourceGroup: item[\"nodeResourceGroup\"],\n nodeResourceGroupProfile: !item[\"nodeResourceGroupProfile\"]\n ? item[\"nodeResourceGroupProfile\"]\n : managedClusterNodeResourceGroupProfileSerializer(item[\"nodeResourceGroupProfile\"]),\n enableRBAC: item[\"enableRbac\"],\n supportPlan: item[\"supportPlan\"],\n networkProfile: !item[\"networkProfile\"]\n ? item[\"networkProfile\"]\n : containerServiceNetworkProfileSerializer(item[\"networkProfile\"]),\n aadProfile: !item[\"aadProfile\"]\n ? item[\"aadProfile\"]\n : managedClusterAADProfileSerializer(item[\"aadProfile\"]),\n autoUpgradeProfile: !item[\"autoUpgradeProfile\"]\n ? item[\"autoUpgradeProfile\"]\n : managedClusterAutoUpgradeProfileSerializer(item[\"autoUpgradeProfile\"]),\n upgradeSettings: !item[\"upgradeSettings\"]\n ? item[\"upgradeSettings\"]\n : clusterUpgradeSettingsSerializer(item[\"upgradeSettings\"]),\n autoScalerProfile: !item[\"autoScalerProfile\"]\n ? item[\"autoScalerProfile\"]\n : managedClusterPropertiesAutoScalerProfileSerializer(item[\"autoScalerProfile\"]),\n apiServerAccessProfile: !item[\"apiServerAccessProfile\"]\n ? item[\"apiServerAccessProfile\"]\n : managedClusterAPIServerAccessProfileSerializer(item[\"apiServerAccessProfile\"]),\n diskEncryptionSetID: item[\"diskEncryptionSetID\"],\n identityProfile: !item[\"identityProfile\"]\n ? item[\"identityProfile\"]\n : userAssignedIdentityRecordSerializer(item[\"identityProfile\"]),\n privateLinkResources: !item[\"privateLinkResources\"]\n ? item[\"privateLinkResources\"]\n : privateLinkResourceArraySerializer(item[\"privateLinkResources\"]),\n disableLocalAccounts: item[\"disableLocalAccounts\"],\n httpProxyConfig: !item[\"httpProxyConfig\"]\n ? item[\"httpProxyConfig\"]\n : managedClusterHttpProxyConfigSerializer(item[\"httpProxyConfig\"]),\n securityProfile: !item[\"securityProfile\"]\n ? item[\"securityProfile\"]\n : managedClusterSecurityProfileSerializer(item[\"securityProfile\"]),\n storageProfile: !item[\"storageProfile\"]\n ? item[\"storageProfile\"]\n : managedClusterStorageProfileSerializer(item[\"storageProfile\"]),\n ingressProfile: !item[\"ingressProfile\"]\n ? item[\"ingressProfile\"]\n : managedClusterIngressProfileSerializer(item[\"ingressProfile\"]),\n publicNetworkAccess: item[\"publicNetworkAccess\"],\n workloadAutoScalerProfile: !item[\"workloadAutoScalerProfile\"]\n ? item[\"workloadAutoScalerProfile\"]\n : managedClusterWorkloadAutoScalerProfileSerializer(item[\"workloadAutoScalerProfile\"]),\n azureMonitorProfile: !item[\"azureMonitorProfile\"]\n ? item[\"azureMonitorProfile\"]\n : managedClusterAzureMonitorProfileSerializer(item[\"azureMonitorProfile\"]),\n serviceMeshProfile: !item[\"serviceMeshProfile\"]\n ? item[\"serviceMeshProfile\"]\n : serviceMeshProfileSerializer(item[\"serviceMeshProfile\"]),\n metricsProfile: !item[\"metricsProfile\"]\n ? item[\"metricsProfile\"]\n : managedClusterMetricsProfileSerializer(item[\"metricsProfile\"]),\n nodeProvisioningProfile: !item[\"nodeProvisioningProfile\"]\n ? item[\"nodeProvisioningProfile\"]\n : managedClusterNodeProvisioningProfileSerializer(item[\"nodeProvisioningProfile\"]),\n bootstrapProfile: !item[\"bootstrapProfile\"]\n ? item[\"bootstrapProfile\"]\n : managedClusterBootstrapProfileSerializer(item[\"bootstrapProfile\"]),\n aiToolchainOperatorProfile: !item[\"aiToolchainOperatorProfile\"]\n ? item[\"aiToolchainOperatorProfile\"]\n : managedClusterAIToolchainOperatorProfileSerializer(item[\"aiToolchainOperatorProfile\"]),\n status: !item[\"status\"] ? item[\"status\"] : managedClusterStatusSerializer(item[\"status\"]),\n };\n}\n\nexport function managedClusterPropertiesDeserializer(item: any): ManagedClusterProperties {\n return {\n provisioningState: item[\"provisioningState\"],\n powerState: !item[\"powerState\"]\n ? item[\"powerState\"]\n : powerStateDeserializer(item[\"powerState\"]),\n maxAgentPools: item[\"maxAgentPools\"],\n kubernetesVersion: item[\"kubernetesVersion\"],\n currentKubernetesVersion: item[\"currentKubernetesVersion\"],\n dnsPrefix: item[\"dnsPrefix\"],\n fqdnSubdomain: item[\"fqdnSubdomain\"],\n fqdn: item[\"fqdn\"],\n privateFqdn: item[\"privateFQDN\"],\n azurePortalFqdn: item[\"azurePortalFQDN\"],\n agentPoolProfiles: !item[\"agentPoolProfiles\"]\n ? item[\"agentPoolProfiles\"]\n : managedClusterAgentPoolProfileArrayDeserializer(item[\"agentPoolProfiles\"]),\n linuxProfile: !item[\"linuxProfile\"]\n ? item[\"linuxProfile\"]\n : containerServiceLinuxProfileDeserializer(item[\"linuxProfile\"]),\n windowsProfile: !item[\"windowsProfile\"]\n ? item[\"windowsProfile\"]\n : managedClusterWindowsProfileDeserializer(item[\"windowsProfile\"]),\n servicePrincipalProfile: !item[\"servicePrincipalProfile\"]\n ? item[\"servicePrincipalProfile\"]\n : managedClusterServicePrincipalProfileDeserializer(item[\"servicePrincipalProfile\"]),\n addonProfiles: !item[\"addonProfiles\"]\n ? item[\"addonProfiles\"]\n : managedClusterAddonProfileRecordDeserializer(item[\"addonProfiles\"]),\n podIdentityProfile: !item[\"podIdentityProfile\"]\n ? item[\"podIdentityProfile\"]\n : managedClusterPodIdentityProfileDeserializer(item[\"podIdentityProfile\"]),\n oidcIssuerProfile: !item[\"oidcIssuerProfile\"]\n ? item[\"oidcIssuerProfile\"]\n : managedClusterOidcIssuerProfileDeserializer(item[\"oidcIssuerProfile\"]),\n nodeResourceGroup: item[\"nodeResourceGroup\"],\n nodeResourceGroupProfile: !item[\"nodeResourceGroupProfile\"]\n ? item[\"nodeResourceGroupProfile\"]\n : managedClusterNodeResourceGroupProfileDeserializer(item[\"nodeResourceGroupProfile\"]),\n enableRbac: item[\"enableRBAC\"],\n supportPlan: item[\"supportPlan\"],\n networkProfile: !item[\"networkProfile\"]\n ? item[\"networkProfile\"]\n : containerServiceNetworkProfileDeserializer(item[\"networkProfile\"]),\n aadProfile: !item[\"aadProfile\"]\n ? item[\"aadProfile\"]\n : managedClusterAADProfileDeserializer(item[\"aadProfile\"]),\n autoUpgradeProfile: !item[\"autoUpgradeProfile\"]\n ? item[\"autoUpgradeProfile\"]\n : managedClusterAutoUpgradeProfileDeserializer(item[\"autoUpgradeProfile\"]),\n upgradeSettings: !item[\"upgradeSettings\"]\n ? item[\"upgradeSettings\"]\n : clusterUpgradeSettingsDeserializer(item[\"upgradeSettings\"]),\n autoScalerProfile: !item[\"autoScalerProfile\"]\n ? item[\"autoScalerProfile\"]\n : managedClusterPropertiesAutoScalerProfileDeserializer(item[\"autoScalerProfile\"]),\n apiServerAccessProfile: !item[\"apiServerAccessProfile\"]\n ? item[\"apiServerAccessProfile\"]\n : managedClusterAPIServerAccessProfileDeserializer(item[\"apiServerAccessProfile\"]),\n diskEncryptionSetID: item[\"diskEncryptionSetID\"],\n identityProfile: !item[\"identityProfile\"]\n ? item[\"identityProfile\"]\n : userAssignedIdentityRecordDeserializer(item[\"identityProfile\"]),\n privateLinkResources: !item[\"privateLinkResources\"]\n ? item[\"privateLinkResources\"]\n : privateLinkResourceArrayDeserializer(item[\"privateLinkResources\"]),\n disableLocalAccounts: item[\"disableLocalAccounts\"],\n httpProxyConfig: !item[\"httpProxyConfig\"]\n ? item[\"httpProxyConfig\"]\n : managedClusterHttpProxyConfigDeserializer(item[\"httpProxyConfig\"]),\n securityProfile: !item[\"securityProfile\"]\n ? item[\"securityProfile\"]\n : managedClusterSecurityProfileDeserializer(item[\"securityProfile\"]),\n storageProfile: !item[\"storageProfile\"]\n ? item[\"storageProfile\"]\n : managedClusterStorageProfileDeserializer(item[\"storageProfile\"]),\n ingressProfile: !item[\"ingressProfile\"]\n ? item[\"ingressProfile\"]\n : managedClusterIngressProfileDeserializer(item[\"ingressProfile\"]),\n publicNetworkAccess: item[\"publicNetworkAccess\"],\n workloadAutoScalerProfile: !item[\"workloadAutoScalerProfile\"]\n ? item[\"workloadAutoScalerProfile\"]\n : managedClusterWorkloadAutoScalerProfileDeserializer(item[\"workloadAutoScalerProfile\"]),\n azureMonitorProfile: !item[\"azureMonitorProfile\"]\n ? item[\"azureMonitorProfile\"]\n : managedClusterAzureMonitorProfileDeserializer(item[\"azureMonitorProfile\"]),\n serviceMeshProfile: !item[\"serviceMeshProfile\"]\n ? item[\"serviceMeshProfile\"]\n : serviceMeshProfileDeserializer(item[\"serviceMeshProfile\"]),\n resourceUID: item[\"resourceUID\"],\n metricsProfile: !item[\"metricsProfile\"]\n ? item[\"metricsProfile\"]\n : managedClusterMetricsProfileDeserializer(item[\"metricsProfile\"]),\n nodeProvisioningProfile: !item[\"nodeProvisioningProfile\"]\n ? item[\"nodeProvisioningProfile\"]\n : managedClusterNodeProvisioningProfileDeserializer(item[\"nodeProvisioningProfile\"]),\n bootstrapProfile: !item[\"bootstrapProfile\"]\n ? item[\"bootstrapProfile\"]\n : managedClusterBootstrapProfileDeserializer(item[\"bootstrapProfile\"]),\n aiToolchainOperatorProfile: !item[\"aiToolchainOperatorProfile\"]\n ? item[\"aiToolchainOperatorProfile\"]\n : managedClusterAIToolchainOperatorProfileDeserializer(item[\"aiToolchainOperatorProfile\"]),\n status: !item[\"status\"] ? item[\"status\"] : managedClusterStatusDeserializer(item[\"status\"]),\n };\n}\n\nexport function managedClusterAgentPoolProfileArraySerializer(\n result: Array<ManagedClusterAgentPoolProfile>,\n): any[] {\n return result.map((item) => {\n return managedClusterAgentPoolProfileSerializer(item);\n });\n}\n\nexport function managedClusterAgentPoolProfileArrayDeserializer(\n result: Array<ManagedClusterAgentPoolProfile>,\n): any[] {\n return result.map((item) => {\n return managedClusterAgentPoolProfileDeserializer(item);\n });\n}\n\n/** Profile for the container service agent pool. */\nexport interface ManagedClusterAgentPoolProfile extends ManagedClusterAgentPoolProfileProperties {\n /** Unique name of the agent pool profile in the context of the subscription and resource group. Windows agent pool names must be 6 characters or less. */\n name: string;\n}\n\nexport function managedClusterAgentPoolProfileSerializer(\n item: ManagedClusterAgentPoolProfile,\n): any {\n return {\n count: item[\"count\"],\n vmSize: item[\"vmSize\"],\n osDiskSizeGB: item[\"osDiskSizeGB\"],\n osDiskType: item[\"osDiskType\"],\n kubeletDiskType: item[\"kubeletDiskType\"],\n workloadRuntime: item[\"workloadRuntime\"],\n messageOfTheDay: item[\"messageOfTheDay\"],\n vnetSubnetID: item[\"vnetSubnetID\"],\n podSubnetID: item[\"podSubnetID\"],\n podIPAllocationMode: item[\"podIPAllocationMode\"],\n maxPods: item[\"maxPods\"],\n osType: item[\"osType\"],\n osSKU: item[\"osSKU\"],\n maxCount: item[\"maxCount\"],\n minCount: item[\"minCount\"],\n enableAutoScaling: item[\"enableAutoScaling\"],\n scaleDownMode: item[\"scaleDownMode\"],\n type: item[\"type\"],\n mode: item[\"mode\"],\n orchestratorVersion: item[\"orchestratorVersion\"],\n upgradeSettings: !item[\"upgradeSettings\"]\n ? item[\"upgradeSettings\"]\n : agentPoolUpgradeSettingsSerializer(item[\"upgradeSettings\"]),\n powerState: !item[\"powerState\"] ? item[\"powerState\"] : powerStateSerializer(item[\"powerState\"]),\n availabilityZones: !item[\"availabilityZones\"]\n ? item[\"availabilityZones\"]\n : item[\"availabilityZones\"].map((p: any) => {\n return p;\n }),\n enableNodePublicIP: item[\"enableNodePublicIP\"],\n nodePublicIPPrefixID: item[\"nodePublicIPPrefixID\"],\n scaleSetPriority: item[\"scaleSetPriority\"],\n scaleSetEvictionPolicy: item[\"scaleSetEvictionPolicy\"],\n spotMaxPrice: item[\"spotMaxPrice\"],\n tags: item[\"tags\"],\n nodeLabels: item[\"nodeLabels\"],\n nodeTaints: !item[\"nodeTaints\"]\n ? item[\"nodeTaints\"]\n : item[\"nodeTaints\"].map((p: any) => {\n return p;\n }),\n proximityPlacementGroupID: item[\"proximityPlacementGroupID\"],\n kubeletConfig: !item[\"kubeletConfig\"]\n ? item[\"kubeletConfig\"]\n : kubeletConfigSerializer(item[\"kubeletConfig\"]),\n linuxOSConfig: !item[\"linuxOSConfig\"]\n ? item[\"linuxOSConfig\"]\n : linuxOSConfigSerializer(item[\"linuxOSConfig\"]),\n enableEncryptionAtHost: item[\"enableEncryptionAtHost\"],\n enableUltraSSD: item[\"enableUltraSSD\"],\n enableFIPS: item[\"enableFips\"],\n gpuInstanceProfile: item[\"gpuInstanceProfile\"],\n creationData: !item[\"creationData\"]\n ? item[\"creationData\"]\n : creationDataSerializer(item[\"creationData\"]),\n capacityReservationGroupID: item[\"capacityReservationGroupID\"],\n hostGroupID: item[\"hostGroupID\"],\n networkProfile: !item[\"networkProfile\"]\n ? item[\"networkProfile\"]\n : agentPoolNetworkProfileSerializer(item[\"networkProfile\"]),\n windowsProfile: !item[\"windowsProfile\"]\n ? item[\"windowsProfile\"]\n : agentPoolWindowsProfileSerializer(item[\"windowsProfile\"]),\n securityProfile: !item[\"securityProfile\"]\n ? item[\"securityProfile\"]\n : agentPoolSecurityProfileSerializer(item[\"securityProfile\"]),\n gpuProfile: !item[\"gpuProfile\"] ? item[\"gpuProfile\"] : gpuProfileSerializer(item[\"gpuProfile\"]),\n gatewayProfile: !item[\"gatewayProfile\"]\n ? item[\"gatewayProfile\"]\n : agentPoolGatewayProfileSerializer(item[\"gatewayProfile\"]),\n virtualMachinesProfile: !item[\"virtualMachinesProfile\"]\n ? item[\"virtualMachinesProfile\"]\n : virtualMachinesProfileSerializer(item[\"virtualMachinesProfile\"]),\n virtualMachineNodesStatus: !item[\"virtualMachineNodesStatus\"]\n ? item[\"virtualMachineNodesStatus\"]\n : virtualMachineNodesArraySerializer(item[\"virtualMachineNodesStatus\"]),\n status: !item[\"status\"] ? item[\"status\"] : agentPoolStatusSerializer(item[\"status\"]),\n localDNSProfile: !item[\"localDNSProfile\"]\n ? item[\"localDNSProfile\"]\n : localDNSProfileSerializer(item[\"localDNSProfile\"]),\n name: item[\"name\"],\n };\n}\n\nexport function managedClusterAgentPoolProfileDeserializer(\n item: any,\n): ManagedClusterAgentPoolProfile {\n return {\n eTag: item[\"eTag\"],\n count: item[\"count\"],\n vmSize: item[\"vmSize\"],\n osDiskSizeGB: item[\"osDiskSizeGB\"],\n osDiskType: item[\"osDiskType\"],\n kubeletDiskType: item[\"kubeletDiskType\"],\n workloadRuntime: item[\"workloadRuntime\"],\n messageOfTheDay: item[\"messageOfTheDay\"],\n vnetSubnetID: item[\"vnetSubnetID\"],\n podSubnetID: item[\"podSubnetID\"],\n podIPAllocationMode: item[\"podIPAllocationMode\"],\n maxPods: item[\"maxPods\"],\n osType: item[\"osType\"],\n osSKU: item[\"osSKU\"],\n maxCount: item[\"maxCount\"],\n minCount: item[\"minCount\"],\n enableAutoScaling: item[\"enableAutoScaling\"],\n scaleDownMode: item[\"scaleDownMode\"],\n type: item[\"type\"],\n mode: item[\"mode\"],\n orchestratorVersion: item[\"orchestratorVersion\"],\n currentOrchestratorVersion: item[\"currentOrchestratorVersion\"],\n nodeImageVersion: item[\"nodeImageVersion\"],\n upgradeSettings: !item[\"upgradeSettings\"]\n ? item[\"upgradeSettings\"]\n : agentPoolUpgradeSettingsDeserializer(item[\"upgradeSettings\"]),\n provisioningState: item[\"provisioningState\"],\n powerState: !item[\"powerState\"]\n ? item[\"powerState\"]\n : powerStateDeserializer(item[\"powerState\"]),\n availabilityZones: !item[\"availabilityZones\"]\n ? item[\"availabilityZones\"]\n : item[\"availabilityZones\"].map((p: any) => {\n return p;\n }),\n enableNodePublicIP: item[\"enableNodePublicIP\"],\n nodePublicIPPrefixID: item[\"nodePublicIPPrefixID\"],\n scaleSetPriority: item[\"scaleSetPriority\"],\n scaleSetEvictionPolicy: item[\"scaleSetEvictionPolicy\"],\n spotMaxPrice: item[\"spotMaxPrice\"],\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n nodeLabels: !item[\"nodeLabels\"]\n ? item[\"nodeLabels\"]\n : Object.fromEntries(\n Object.entries(item[\"nodeLabels\"]).map(([k, p]: [string, any]) => [k, p]),\n ),\n nodeTaints: !item[\"nodeTaints\"]\n ? item[\"nodeTaints\"]\n : item[\"nodeTaints\"].map((p: any) => {\n return p;\n }),\n proximityPlacementGroupID: item[\"proximityPlacementGroupID\"],\n kubeletConfig: !item[\"kubeletConfig\"]\n ? item[\"kubeletConfig\"]\n : kubeletConfigDeserializer(item[\"kubeletConfig\"]),\n linuxOSConfig: !item[\"linuxOSConfig\"]\n ? item[\"linuxOSConfig\"]\n : linuxOSConfigDeserializer(item[\"linuxOSConfig\"]),\n enableEncryptionAtHost: item[\"enableEncryptionAtHost\"],\n enableUltraSSD: item[\"enableUltraSSD\"],\n enableFips: item[\"enableFIPS\"],\n gpuInstanceProfile: item[\"gpuInstanceProfile\"],\n creationData: !item[\"creationData\"]\n ? item[\"creationData\"]\n : creationDataDeserializer(item[\"creationData\"]),\n capacityReservationGroupID: item[\"capacityReservationGroupID\"],\n hostGroupID: item[\"hostGroupID\"],\n networkProfile: !item[\"networkProfile\"]\n ? item[\"networkProfile\"]\n : agentPoolNetworkProfileDeserializer(item[\"networkProfile\"]),\n windowsProfile: !item[\"windowsProfile\"]\n ? item[\"windowsProfile\"]\n : agentPoolWindowsProfileDeserializer(item[\"windowsProfile\"]),\n securityProfile: !item[\"securityProfile\"]\n ? item[\"securityProfile\"]\n : agentPoolSecurityProfileDeserializer(item[\"securityProfile\"]),\n gpuProfile: !item[\"gpuProfile\"]\n ? item[\"gpuProfile\"]\n : gpuProfileDeserializer(item[\"gpuProfile\"]),\n gatewayProfile: !item[\"gatewayProfile\"]\n ? item[\"gatewayProfile\"]\n : agentPoolGatewayProfileDeserializer(item[\"gatewayProfile\"]),\n virtualMachinesProfile: !item[\"virtualMachinesProfile\"]\n ? item[\"virtualMachinesProfile\"]\n : virtualMachinesProfileDeserializer(item[\"virtualMachinesProfile\"]),\n virtualMachineNodesStatus: !item[\"virtualMachineNodesStatus\"]\n ? item[\"virtualMachineNodesStatus\"]\n : virtualMachineNodesArrayDeserializer(item[\"virtualMachineNodesStatus\"]),\n status: !item[\"status\"] ? item[\"status\"] : agentPoolStatusDeserializer(item[\"status\"]),\n localDNSProfile: !item[\"localDNSProfile\"]\n ? item[\"localDNSProfile\"]\n : localDNSProfileDeserializer(item[\"localDNSProfile\"]),\n name: item[\"name\"],\n };\n}\n\n/** Profile for Linux VMs in the container service cluster. */\nexport interface ContainerServiceLinuxProfile {\n /** The administrator username to use for Linux VMs. */\n adminUsername: string;\n /** The SSH configuration for Linux-based VMs running on Azure. */\n ssh: ContainerServiceSshConfiguration;\n}\n\nexport function containerServiceLinuxProfileSerializer(item: ContainerServiceLinuxProfile): any {\n return {\n adminUsername: item[\"adminUsername\"],\n ssh: containerServiceSshConfigurationSerializer(item[\"ssh\"]),\n };\n}\n\nexport function containerServiceLinuxProfileDeserializer(item: any): ContainerServiceLinuxProfile {\n return {\n adminUsername: item[\"adminUsername\"],\n ssh: containerServiceSshConfigurationDeserializer(item[\"ssh\"]),\n };\n}\n\n/** SSH configuration for Linux-based VMs running on Azure. */\nexport interface ContainerServiceSshConfiguration {\n /** The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified. */\n publicKeys: ContainerServiceSshPublicKey[];\n}\n\nexport function containerServiceSshConfigurationSerializer(\n item: ContainerServiceSshConfiguration,\n): any {\n return { publicKeys: containerServiceSshPublicKeyArraySerializer(item[\"publicKeys\"]) };\n}\n\nexport function containerServiceSshConfigurationDeserializer(\n item: any,\n): ContainerServiceSshConfiguration {\n return {\n publicKeys: containerServiceSshPublicKeyArrayDeserializer(item[\"publicKeys\"]),\n };\n}\n\nexport function containerServiceSshPublicKeyArraySerializer(\n result: Array<ContainerServiceSshPublicKey>,\n): any[] {\n return result.map((item) => {\n return containerServiceSshPublicKeySerializer(item);\n });\n}\n\nexport function containerServiceSshPublicKeyArrayDeserializer(\n result: Array<ContainerServiceSshPublicKey>,\n): any[] {\n return result.map((item) => {\n return containerServiceSshPublicKeyDeserializer(item);\n });\n}\n\n/** Contains information about SSH certificate public key data. */\nexport interface ContainerServiceSshPublicKey {\n /** Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers. */\n keyData: string;\n}\n\nexport function containerServiceSshPublicKeySerializer(item: ContainerServiceSshPublicKey): any {\n return { keyData: item[\"keyData\"] };\n}\n\nexport function containerServiceSshPublicKeyDeserializer(item: any): ContainerServiceSshPublicKey {\n return {\n keyData: item[\"keyData\"],\n };\n}\n\n/** Profile for Windows VMs in the managed cluster. */\nexport interface ManagedClusterWindowsProfile {\n /** Specifies the name of the administrator account. <br><br> **Restriction:** Cannot end in \".\" <br><br> **Disallowed values:** \"administrator\", \"admin\", \"user\", \"user1\", \"test\", \"user2\", \"test1\", \"user3\", \"admin1\", \"1\", \"123\", \"a\", \"actuser\", \"adm\", \"admin2\", \"aspnet\", \"backup\", \"console\", \"david\", \"guest\", \"john\", \"owner\", \"root\", \"server\", \"sql\", \"support\", \"support_388945a0\", \"sys\", \"test2\", \"test3\", \"user4\", \"user5\". <br><br> **Minimum-length:** 1 character <br><br> **Max-length:** 20 characters */\n adminUsername: string;\n /** Specifies the password of the administrator account. <br><br> **Minimum-length:** 8 characters <br><br> **Max-length:** 123 characters <br><br> **Complexity requirements:** 3 out of 4 conditions below need to be fulfilled <br> Has lower characters <br>Has upper characters <br> Has a digit <br> Has a special character (Regex match [\\W_]) <br><br> **Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\" */\n adminPassword?: string;\n /** The license type to use for Windows VMs. See [Azure Hybrid User Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. */\n licenseType?: LicenseType;\n /** Whether to enable CSI proxy. For more details on CSI proxy, see the [CSI proxy GitHub repo](https://github.com/kubernetes-csi/csi-proxy). */\n enableCSIProxy?: boolean;\n /** The Windows gMSA Profile in the Managed Cluster. */\n gmsaProfile?: WindowsGmsaProfile;\n}\n\nexport function managedClusterWindowsProfileSerializer(item: ManagedClusterWindowsProfile): any {\n return {\n adminUsername: item[\"adminUsername\"],\n adminPassword: item[\"adminPassword\"],\n licenseType: item[\"licenseType\"],\n enableCSIProxy: item[\"enableCSIProxy\"],\n gmsaProfile: !item[\"gmsaProfile\"]\n ? item[\"gmsaProfile\"]\n : windowsGmsaProfileSerializer(item[\"gmsaProfile\"]),\n };\n}\n\nexport function managedClusterWindowsProfileDeserializer(item: any): ManagedClusterWindowsProfile {\n return {\n adminUsername: item[\"adminUsername\"],\n adminPassword: item[\"adminPassword\"],\n licenseType: item[\"licenseType\"],\n enableCSIProxy: item[\"enableCSIProxy\"],\n gmsaProfile: !item[\"gmsaProfile\"]\n ? item[\"gmsaProfile\"]\n : windowsGmsaProfileDeserializer(item[\"gmsaProfile\"]),\n };\n}\n\n/** The license type to use for Windows VMs. See [Azure Hybrid User Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. */\nexport enum KnownLicenseType {\n /** No additional licensing is applied. */\n None = \"None\",\n /** Enables Azure Hybrid User Benefits for Windows VMs. */\n WindowsServer = \"Windows_Server\",\n}\n\n/**\n * The license type to use for Windows VMs. See [Azure Hybrid User Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. \\\n * {@link KnownLicenseType} can be used interchangeably with LicenseType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **None**: No additional licensing is applied. \\\n * **Windows_Server**: Enables Azure Hybrid User Benefits for Windows VMs.\n */\nexport type LicenseType = string;\n\n/** Windows gMSA Profile in the managed cluster. */\nexport interface WindowsGmsaProfile {\n /** Whether to enable Windows gMSA. Specifies whether to enable Windows gMSA in the managed cluster. */\n enabled?: boolean;\n /** Specifies the DNS server for Windows gMSA. <br><br> Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. */\n dnsServer?: string;\n /** Specifies the root domain name for Windows gMSA. <br><br> Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. */\n rootDomainName?: string;\n}\n\nexport function windowsGmsaProfileSerializer(item: WindowsGmsaProfile): any {\n return {\n enabled: item[\"enabled\"],\n dnsServer: item[\"dnsServer\"],\n rootDomainName: item[\"rootDomainName\"],\n };\n}\n\nexport function windowsGmsaProfileDeserializer(item: any): WindowsGmsaProfile {\n return {\n enabled: item[\"enabled\"],\n dnsServer: item[\"dnsServer\"],\n rootDomainName: item[\"rootDomainName\"],\n };\n}\n\n/** Information about a service principal identity for the cluster to use for manipulating Azure APIs. */\nexport interface ManagedClusterServicePrincipalProfile {\n /** The ID for the service principal. */\n clientId: string;\n /** The secret password associated with the service principal in plain text. */\n secret?: string;\n}\n\nexport function managedClusterServicePrincipalProfileSerializer(\n item: ManagedClusterServicePrincipalProfile,\n): any {\n return { clientId: item[\"clientId\"], secret: item[\"secret\"] };\n}\n\nexport function managedClusterServicePrincipalProfileDeserializer(\n item: any,\n): ManagedClusterServicePrincipalProfile {\n return {\n clientId: item[\"clientId\"],\n secret: item[\"secret\"],\n };\n}\n\nexport function managedClusterAddonProfileRecordSerializer(\n item: Record<string, ManagedClusterAddonProfile>,\n): Record<string, any> {\n const result: Record<string, any> = {};\n Object.keys(item).map((key) => {\n result[key] = !item[key] ? item[key] : managedClusterAddonProfileSerializer(item[key]);\n });\n return result;\n}\n\nexport function managedClusterAddonProfileRecordDeserializer(\n item: Record<string, any>,\n): Record<string, ManagedClusterAddonProfile> {\n const result: Record<string, any> = {};\n Object.keys(item).map((key) => {\n result[key] = !item[key] ? item[key] : managedClusterAddonProfileDeserializer(item[key]);\n });\n return result;\n}\n\n/** A Kubernetes add-on profile for a managed cluster. */\nexport interface ManagedClusterAddonProfile {\n /** Whether the add-on is enabled or not. */\n enabled: boolean;\n /** Key-value pairs for configuring an add-on. */\n config?: Record<string, string>;\n /** Information of user assigned identity used by this add-on. */\n readonly identity?: ManagedClusterAddonProfileIdentity;\n}\n\nexport function managedClusterAddonProfileSerializer(item: ManagedClusterAddonProfile): any {\n return { enabled: item[\"enabled\"], config: item[\"config\"] };\n}\n\nexport function managedClusterAddonProfileDeserializer(item: any): ManagedClusterAddonProfile {\n return {\n enabled: item[\"enabled\"],\n config: !item[\"config\"]\n ? item[\"config\"]\n : Object.fromEntries(Object.entries(item[\"config\"]).map(([k, p]: [string, any]) => [k, p])),\n identity: !item[\"identity\"]\n ? item[\"identity\"]\n : managedClusterAddonProfileIdentityDeserializer(item[\"identity\"]),\n };\n}\n\n/** Information of user assigned identity used by this add-on. */\nexport interface ManagedClusterAddonProfileIdentity extends UserAssignedIdentity {}\n\nexport function managedClusterAddonProfileIdentityDeserializer(\n item: any,\n): ManagedClusterAddonProfileIdentity {\n return {\n resourceId: item[\"resourceId\"],\n clientId: item[\"clientId\"],\n objectId: item[\"objectId\"],\n };\n}\n\n/** The pod identity profile of the Managed Cluster. See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod identity integration. */\nexport interface ManagedClusterPodIdentityProfile {\n /** Whether the pod identity addon is enabled. */\n enabled?: boolean;\n /** Whether pod identity is allowed to run on clusters with Kubenet networking. Running in Kubenet is disabled by default due to the security related nature of AAD Pod Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) for more information. */\n allowNetworkPluginKubenet?: boolean;\n /** The pod identities to use in the cluster. */\n userAssignedIdentities?: ManagedClusterPodIdentity[];\n /** The pod identity exceptions to allow. */\n userAssignedIdentityExceptions?: ManagedClusterPodIdentityException[];\n}\n\nexport function managedClusterPodIdentityProfileSerializer(\n item: ManagedClusterPodIdentityProfile,\n): any {\n return {\n enabled: item[\"enabled\"],\n allowNetworkPluginKubenet: item[\"allowNetworkPluginKubenet\"],\n userAssignedIdentities: !item[\"userAssignedIdentities\"]\n ? item[\"userAssignedIdentities\"]\n : managedClusterPodIdentityArraySerializer(item[\"userAssignedIdentities\"]),\n userAssignedIdentityExceptions: !item[\"userAssignedIdentityExceptions\"]\n ? item[\"userAssignedIdentityExceptions\"]\n : managedClusterPodIdentityExceptionArraySerializer(item[\"userAssignedIdentityExceptions\"]),\n };\n}\n\nexport function managedClusterPodIdentityProfileDeserializer(\n item: any,\n): ManagedClusterPodIdentityProfile {\n return {\n enabled: item[\"enabled\"],\n allowNetworkPluginKubenet: item[\"allowNetworkPluginKubenet\"],\n userAssignedIdentities: !item[\"userAssignedIdentities\"]\n ? item[\"userAssignedIdentities\"]\n : managedClusterPodIdentityArrayDeserializer(item[\"userAssignedIdentities\"]),\n userAssignedIdentityExceptions: !item[\"userAssignedIdentityExceptions\"]\n ? item[\"userAssignedIdentityExceptions\"]\n : managedClusterPodIdentityExceptionArrayDeserializer(item[\"userAssignedIdentityExceptions\"]),\n };\n}\n\nexport function managedClusterPodIdentityArraySerializer(\n result: Array<ManagedClusterPodIdentity>,\n): any[] {\n return result.map((item) => {\n return managedClusterPodIdentitySerializer(item);\n });\n}\n\nexport function managedClusterPodIdentityArrayDeserializer(\n result: Array<ManagedClusterPodIdentity>,\n): any[] {\n return result.map((item) => {\n return managedClusterPodIdentityDeserializer(item);\n });\n}\n\n/** Details about the pod identity assigned to the Managed Cluster. */\nexport interface ManagedClusterPodIdentity {\n /** The name of the pod identity. */\n name: string;\n /** The namespace of the pod identity. */\n namespace: string;\n /** The binding selector to use for the AzureIdentityBinding resource. */\n bindingSelector?: string;\n /** The user assigned identity details. */\n identity: UserAssignedIdentity;\n /** The current provisioning state of the pod identity. */\n readonly provisioningState?: ManagedClusterPodIdentityProvisioningState;\n /** The provisioning information for the pod identity. */\n readonly provisioningInfo?: ManagedClusterPodIdentityProvisioningInfo;\n}\n\nexport function managedClusterPodIdentitySerializer(item: ManagedClusterPodIdentity): any {\n return {\n name: item[\"name\"],\n namespace: item[\"namespace\"],\n bindingSelector: item[\"bindingSelector\"],\n identity: userAssignedIdentitySerializer(item[\"identity\"]),\n };\n}\n\nexport function managedClusterPodIdentityDeserializer(item: any): ManagedClusterPodIdentity {\n return {\n name: item[\"name\"],\n namespace: item[\"namespace\"],\n bindingSelector: item[\"bindingSelector\"],\n identity: userAssignedIdentityDeserializer(item[\"identity\"]),\n provisioningState: item[\"provisioningState\"],\n provisioningInfo: !item[\"provisioningInfo\"]\n ? item[\"provisioningInfo\"]\n : managedClusterPodIdentityProvisioningInfoDeserializer(item[\"provisioningInfo\"]),\n };\n}\n\n/** Details about a user assigned identity. */\nexport interface UserAssignedIdentity {\n /** The resource ID of the user assigned identity. */\n resourceId?: string;\n /** The client ID of the user assigned identity. */\n clientId?: string;\n /** The object ID of the user assigned identity. */\n objectId?: string;\n}\n\nexport function userAssignedIdentitySerializer(item: UserAssignedIdentity): any {\n return { resourceId: item[\"resourceId\"], clientId: item[\"clientId\"], objectId: item[\"objectId\"] };\n}\n\nexport function userAssignedIdentityDeserializer(item: any): UserAssignedIdentity {\n return {\n resourceId: item[\"resourceId\"],\n clientId: item[\"clientId\"],\n objectId: item[\"objectId\"],\n };\n}\n\n/** The current provisioning state of the pod identity. */\nexport enum KnownManagedClusterPodIdentityProvisioningState {\n /** Pod identity is assigned. */\n Assigned = \"Assigned\",\n /** Pod identity assignment was canceled. */\n Canceled = \"Canceled\",\n /** Pod identity is being deleted. */\n Deleting = \"Deleting\",\n /** Pod identity assignment failed. */\n Failed = \"Failed\",\n /** Pod identity assignment succeeded. */\n Succeeded = \"Succeeded\",\n /** Pod identity is being updated. */\n Updating = \"Updating\",\n}\n\n/**\n * The current provisioning state of the pod identity. \\\n * {@link KnownManagedClusterPodIdentityProvisioningState} can be used interchangeably with ManagedClusterPodIdentityProvisioningState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Assigned**: Pod identity is assigned. \\\n * **Canceled**: Pod identity assignment was canceled. \\\n * **Deleting**: Pod identity is being deleted. \\\n * **Failed**: Pod identity assignment failed. \\\n * **Succeeded**: Pod identity assignment succeeded. \\\n * **Updating**: Pod identity is being updated.\n */\nexport type ManagedClusterPodIdentityProvisioningState = string;\n\n/** Pod identity provisioning information. */\nexport interface ManagedClusterPodIdentityProvisioningInfo {\n /** Pod identity assignment error (if any). */\n error?: ManagedClusterPodIdentityProvisioningError;\n}\n\nexport function managedClusterPodIdentityProvisioningInfoDeserializer(\n item: any,\n): ManagedClusterPodIdentityProvisioningInfo {\n return {\n error: !item[\"error\"]\n ? item[\"error\"]\n : managedClusterPodIdentityProvisioningErrorDeserializer(item[\"error\"]),\n };\n}\n\n/** An error response from the pod identity provisioning. */\nexport interface ManagedClusterPodIdentityProvisioningError {\n /** Details about the error. */\n error?: ManagedClusterPodIdentityProvisioningErrorBody;\n}\n\nexport function managedClusterPodIdentityProvisioningErrorDeserializer(\n item: any,\n): ManagedClusterPodIdentityProvisioningError {\n return {\n error: !item[\"error\"]\n ? item[\"error\"]\n : managedClusterPodIdentityProvisioningErrorBodyDeserializer(item[\"error\"]),\n };\n}\n\n/** An error response from the pod identity provisioning. */\nexport interface ManagedClusterPodIdentityProvisioningErrorBody {\n /** An identifier for the error. Codes are invariant and are intended to be consumed programmatically. */\n code?: string;\n /** A message describing the error, intended to be suitable for display in a user interface. */\n message?: string;\n /** The target of the particular error. For example, the name of the property in error. */\n target?: string;\n /** A list of additional details about the error. */\n details?: ManagedClusterPodIdentityProvisioningErrorBody[];\n}\n\nexport function managedClusterPodIdentityProvisioningErrorBodyDeserializer(\n item: any,\n): ManagedClusterPodIdentityProvisioningErrorBody {\n return {\n code: item[\"code\"],\n message: item[\"message\"],\n target: item[\"target\"],\n details: !item[\"details\"]\n ? item[\"details\"]\n : managedClusterPodIdentityProvisioningErrorBodyArrayDeserializer(item[\"details\"]),\n };\n}\n\nexport function managedClusterPodIdentityProvisioningErrorBodyArrayDeserializer(\n result: Array<ManagedClusterPodIdentityProvisioningErrorBody>,\n): any[] {\n return result.map((item) => {\n return managedClusterPodIdentityProvisioningErrorBodyDeserializer(item);\n });\n}\n\nexport function managedClusterPodIdentityExceptionArraySerializer(\n result: Array<ManagedClusterPodIdentityException>,\n): any[] {\n return result.map((item) => {\n return managedClusterPodIdentityExceptionSerializer(item);\n });\n}\n\nexport function managedClusterPodIdentityExceptionArrayDeserializer(\n result: Array<ManagedClusterPodIdentityException>,\n): any[] {\n return result.map((item) => {\n return managedClusterPodIdentityExceptionDeserializer(item);\n });\n}\n\n/** A pod identity exception, which allows pods with certain labels to access the Azure Instance Metadata Service (IMDS) endpoint without being intercepted by the node-managed identity (NMI) server. See [disable AAD Pod Identity for a specific Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. */\nexport interface ManagedClusterPodIdentityException {\n /** The name of the pod identity exception. */\n name: string;\n /** The namespace of the pod identity exception. */\n namespace: string;\n /** The pod labels to match. */\n podLabels: Record<string, string>;\n}\n\nexport function managedClusterPodIdentityExceptionSerializer(\n item: ManagedClusterPodIdentityException,\n): any {\n return { name: item[\"name\"], namespace: item[\"namespace\"], podLabels: item[\"podLabels\"] };\n}\n\nexport function managedClusterPodIdentityExceptionDeserializer(\n item: any,\n): ManagedClusterPodIdentityException {\n return {\n name: item[\"name\"],\n namespace: item[\"namespace\"],\n podLabels: Object.fromEntries(\n Object.entries(item[\"podLabels\"]).map(([k, p]: [string, any]) => [k, p]),\n ),\n };\n}\n\n/** The OIDC issuer profile of the Managed Cluster. */\nexport interface ManagedClusterOidcIssuerProfile {\n /** The OIDC issuer url of the Managed Cluster. */\n readonly issuerURL?: string;\n /** Whether the OIDC issuer is enabled. */\n enabled?: boolean;\n}\n\nexport function managedClusterOidcIssuerProfileSerializer(\n item: ManagedClusterOidcIssuerProfile,\n): any {\n return { enabled: item[\"enabled\"] };\n}\n\nexport function managedClusterOidcIssuerProfileDeserializer(\n item: any,\n): ManagedClusterOidcIssuerProfile {\n return {\n issuerURL: item[\"issuerURL\"],\n enabled: item[\"enabled\"],\n };\n}\n\n/** Node resource group lockdown profile for a managed cluster. */\nexport interface ManagedClusterNodeResourceGroupProfile {\n /** The restriction level applied to the cluster's node resource group. If not specified, the default is 'Unrestricted' */\n restrictionLevel?: RestrictionLevel;\n}\n\nexport function managedClusterNodeResourceGroupProfileSerializer(\n item: ManagedClusterNodeResourceGroupProfile,\n): any {\n return { restrictionLevel: item[\"restrictionLevel\"] };\n}\n\nexport function managedClusterNodeResourceGroupProfileDeserializer(\n item: any,\n): ManagedClusterNodeResourceGroupProfile {\n return {\n restrictionLevel: item[\"restrictionLevel\"],\n };\n}\n\n/** The restriction level applied to the cluster's node resource group. If not specified, the default is 'Unrestricted' */\nexport enum KnownRestrictionLevel {\n /** All RBAC permissions are allowed on the managed node resource group */\n Unrestricted = \"Unrestricted\",\n /** Only \\*\\/read RBAC permissions allowed on the managed node resource group */\n ReadOnly = \"ReadOnly\",\n}\n\n/**\n * The restriction level applied to the cluster's node resource group. If not specified, the default is 'Unrestricted' \\\n * {@link KnownRestrictionLevel} can be used interchangeably with RestrictionLevel,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Unrestricted**: All RBAC permissions are allowed on the managed node resource group \\\n * **ReadOnly**: Only \\*\\/read RBAC permissions allowed on the managed node resource group\n */\nexport type RestrictionLevel = string;\n\n/** Different support tiers for AKS managed clusters */\nexport enum KnownKubernetesSupportPlan {\n /** Support for the version is the same as for the open source Kubernetes offering. Official Kubernetes open source community support versions for 1 year after release. */\n KubernetesOfficial = \"KubernetesOfficial\",\n /** Support for the version extended past the KubernetesOfficial support of 1 year. AKS continues to patch CVEs for another 1 year, for a total of 2 years of support. */\n AKSLongTermSupport = \"AKSLongTermSupport\",\n}\n\n/**\n * Different support tiers for AKS managed clusters \\\n * {@link KnownKubernetesSupportPlan} can be used interchangeably with KubernetesSupportPlan,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **KubernetesOfficial**: Support for the version is the same as for the open source Kubernetes offering. Official Kubernetes open source community support versions for 1 year after release. \\\n * **AKSLongTermSupport**: Support for the version extended past the KubernetesOfficial support of 1 year. AKS continues to patch CVEs for another 1 year, for a total of 2 years of support.\n */\nexport type KubernetesSupportPlan = string;\n\n/** Profile of network configuration. */\nexport interface ContainerServiceNetworkProfile {\n /** Network plugin used for building the Kubernetes network. */\n networkPlugin?: NetworkPlugin;\n /** The mode the network plugin should use. */\n networkPluginMode?: NetworkPluginMode;\n /** Network policy used for building the Kubernetes network. */\n networkPolicy?: NetworkPolicy;\n /** The network mode Azure CNI is configured with. This cannot be specified if networkPlugin is anything other than 'azure'. */\n networkMode?: NetworkMode;\n /** Network dataplane used in the Kubernetes cluster. */\n networkDataplane?: NetworkDataplane;\n /** Advanced Networking profile for enabling observability and security feature suite on a cluster. For more information see aka.ms/aksadvancednetworking. */\n advancedNetworking?: AdvancedNetworking;\n /** A CIDR notation IP range from which to assign pod IPs when kubenet is used. */\n podCidr?: string;\n /** A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges. */\n serviceCidr?: string;\n /** An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr. */\n dnsServiceIP?: string;\n /** The outbound (egress) routing method. This can only be set at cluster creation time and cannot be changed later. For more information see [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). */\n outboundType?: OutboundType;\n /** The load balancer sku for the managed cluster. The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load balancer SKUs. */\n loadBalancerSku?: LoadBalancerSku;\n /** Profile of the cluster load balancer. */\n loadBalancerProfile?: ManagedClusterLoadBalancerProfile;\n /** Profile of the cluster NAT gateway. */\n natGatewayProfile?: ManagedClusterNATGatewayProfile;\n /** The profile for Static Egress Gateway addon. For more details about Static Egress Gateway, see https://aka.ms/aks/static-egress-gateway. */\n staticEgressGatewayProfile?: ManagedClusterStaticEgressGatewayProfile;\n /** The CIDR notation IP ranges from which to assign pod IPs. One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. */\n podCidrs?: string[];\n /** The CIDR notation IP ranges from which to assign service cluster IPs. One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. They must not overlap with any Subnet IP ranges. */\n serviceCidrs?: string[];\n /** The IP families used to specify IP versions available to the cluster. IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value is IPv4. For dual-stack, the expected values are IPv4 and IPv6. */\n ipFamilies?: IpFamily[];\n}\n\nexport function containerServiceNetworkProfileSerializer(\n item: ContainerServiceNetworkProfile,\n): any {\n return {\n networkPlugin: item[\"networkPlugin\"],\n networkPluginMode: item[\"networkPluginMode\"],\n networkPolicy: item[\"networkPolicy\"],\n networkMode: item[\"networkMode\"],\n networkDataplane: item[\"networkDataplane\"],\n advancedNetworking: !item[\"advancedNetworking\"]\n ? item[\"advancedNetworking\"]\n : advancedNetworkingSerializer(item[\"advancedNetworking\"]),\n podCidr: item[\"podCidr\"],\n serviceCidr: item[\"serviceCidr\"],\n dnsServiceIP: item[\"dnsServiceIP\"],\n outboundType: item[\"outboundType\"],\n loadBalancerSku: item[\"loadBalancerSku\"],\n loadBalancerProfile: !item[\"loadBalancerProfile\"]\n ? item[\"loadBalancerProfile\"]\n : managedClusterLoadBalancerProfileSerializer(item[\"loadBalancerProfile\"]),\n natGatewayProfile: !item[\"natGatewayProfile\"]\n ? item[\"natGatewayProfile\"]\n : managedClusterNATGatewayProfileSerializer(item[\"natGatewayProfile\"]),\n staticEgressGatewayProfile: !item[\"staticEgressGatewayProfile\"]\n ? item[\"staticEgressGatewayProfile\"]\n : managedClusterStaticEgressGatewayProfileSerializer(item[\"staticEgressGatewayProfile\"]),\n podCidrs: !item[\"podCidrs\"]\n ? item[\"podCidrs\"]\n : item[\"podCidrs\"].map((p: any) => {\n return p;\n }),\n serviceCidrs: !item[\"serviceCidrs\"]\n ? item[\"serviceCidrs\"]\n : item[\"serviceCidrs\"].map((p: any) => {\n return p;\n }),\n ipFamilies: !item[\"ipFamilies\"]\n ? item[\"ipFamilies\"]\n : item[\"ipFamilies\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function containerServiceNetworkProfileDeserializer(\n item: any,\n): ContainerServiceNetworkProfile {\n return {\n networkPlugin: item[\"networkPlugin\"],\n networkPluginMode: item[\"networkPluginMode\"],\n networkPolicy: item[\"networkPolicy\"],\n networkMode: item[\"networkMode\"],\n networkDataplane: item[\"networkDataplane\"],\n advancedNetworking: !item[\"advancedNetworking\"]\n ? item[\"advancedNetworking\"]\n : advancedNetworkingDeserializer(item[\"advancedNetworking\"]),\n podCidr: item[\"podCidr\"],\n serviceCidr: item[\"serviceCidr\"],\n dnsServiceIP: item[\"dnsServiceIP\"],\n outboundType: item[\"outboundType\"],\n loadBalancerSku: item[\"loadBalancerSku\"],\n loadBalancerProfile: !item[\"loadBalancerProfile\"]\n ? item[\"loadBalancerProfile\"]\n : managedClusterLoadBalancerProfileDeserializer(item[\"loadBalancerProfile\"]),\n natGatewayProfile: !item[\"natGatewayProfile\"]\n ? item[\"natGatewayProfile\"]\n : managedClusterNATGatewayProfileDeserializer(item[\"natGatewayProfile\"]),\n staticEgressGatewayProfile: !item[\"staticEgressGatewayProfile\"]\n ? item[\"staticEgressGatewayProfile\"]\n : managedClusterStaticEgressGatewayProfileDeserializer(item[\"staticEgressGatewayProfile\"]),\n podCidrs: !item[\"podCidrs\"]\n ? item[\"podCidrs\"]\n : item[\"podCidrs\"].map((p: any) => {\n return p;\n }),\n serviceCidrs: !item[\"serviceCidrs\"]\n ? item[\"serviceCidrs\"]\n : item[\"serviceCidrs\"].map((p: any) => {\n return p;\n }),\n ipFamilies: !item[\"ipFamilies\"]\n ? item[\"ipFamilies\"]\n : item[\"ipFamilies\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Network plugin used for building the Kubernetes network. */\nexport enum KnownNetworkPlugin {\n /** Use the Azure CNI network plugin. See [Azure CNI (advanced) networking](https://docs.microsoft.com/azure/aks/concepts-network#azure-cni-advanced-networking) for more information. */\n Azure = \"azure\",\n /** Use the Kubenet network plugin. See [Kubenet (basic) networking](https://docs.microsoft.com/azure/aks/concepts-network#kubenet-basic-networking) for more information. */\n Kubenet = \"kubenet\",\n /** No CNI plugin is pre-installed. See [BYO CNI](https://docs.microsoft.com/en-us/azure/aks/use-byo-cni) for more information. */\n None = \"none\",\n}\n\n/**\n * Network plugin used for building the Kubernetes network. \\\n * {@link KnownNetworkPlugin} can be used interchangeably with NetworkPlugin,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **azure**: Use the Azure CNI network plugin. See [Azure CNI (advanced) networking](https:\\//docs.microsoft.com\\/azure\\/aks\\/concepts-network#azure-cni-advanced-networking) for more information. \\\n * **kubenet**: Use the Kubenet network plugin. See [Kubenet (basic) networking](https:\\//docs.microsoft.com\\/azure\\/aks\\/concepts-network#kubenet-basic-networking) for more information. \\\n * **none**: No CNI plugin is pre-installed. See [BYO CNI](https:\\//docs.microsoft.com\\/en-us\\/azure\\/aks\\/use-byo-cni) for more information.\n */\nexport type NetworkPlugin = string;\n\n/** The mode the network plugin should use. */\nexport enum KnownNetworkPluginMode {\n /** Used with networkPlugin=azure, pods are given IPs from the PodCIDR address space but use Azure Routing Domains rather than Kubenet's method of route tables. For more information visit https://aka.ms/aks/azure-cni-overlay. */\n Overlay = \"overlay\",\n}\n\n/**\n * The mode the network plugin should use. \\\n * {@link KnownNetworkPluginMode} can be used interchangeably with NetworkPluginMode,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **overlay**: Used with networkPlugin=azure, pods are given IPs from the PodCIDR address space but use Azure Routing Domains rather than Kubenet's method of route tables. For more information visit https:\\//aka.ms\\/aks\\/azure-cni-overlay.\n */\nexport type NetworkPluginMode = string;\n\n/** Network policy used for building the Kubernetes network. */\nexport enum KnownNetworkPolicy {\n /** Network policies will not be enforced. This is the default value when NetworkPolicy is not specified. */\n None = \"none\",\n /** Use Calico network policies. See [differences between Azure and Calico policies](https://docs.microsoft.com/azure/aks/use-network-policies#differences-between-azure-and-calico-policies-and-their-capabilities) for more information. */\n Calico = \"calico\",\n /** Use Azure network policies. See [differences between Azure and Calico policies](https://docs.microsoft.com/azure/aks/use-network-policies#differences-between-azure-and-calico-policies-and-their-capabilities) for more information. */\n Azure = \"azure\",\n /** Use Cilium to enforce network policies. This requires networkDataplane to be 'cilium'. */\n Cilium = \"cilium\",\n}\n\n/**\n * Network policy used for building the Kubernetes network. \\\n * {@link KnownNetworkPolicy} can be used interchangeably with NetworkPolicy,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **none**: Network policies will not be enforced. This is the default value when NetworkPolicy is not specified. \\\n * **calico**: Use Calico network policies. See [differences between Azure and Calico policies](https:\\//docs.microsoft.com\\/azure\\/aks\\/use-network-policies#differences-between-azure-and-calico-policies-and-their-capabilities) for more information. \\\n * **azure**: Use Azure network policies. See [differences between Azure and Calico policies](https:\\//docs.microsoft.com\\/azure\\/aks\\/use-network-policies#differences-between-azure-and-calico-policies-and-their-capabilities) for more information. \\\n * **cilium**: Use Cilium to enforce network policies. This requires networkDataplane to be 'cilium'.\n */\nexport type NetworkPolicy = string;\n\n/** The network mode Azure CNI is configured with. This cannot be specified if networkPlugin is anything other than 'azure'. */\nexport enum KnownNetworkMode {\n /** No bridge is created. Intra-VM Pod to Pod communication is through IP routes created by Azure CNI. See [Transparent Mode](https://docs.microsoft.com/azure/aks/faq#transparent-mode) for more information. */\n Transparent = \"transparent\",\n /** This is no longer supported */\n Bridge = \"bridge\",\n}\n\n/**\n * The network mode Azure CNI is configured with. This cannot be specified if networkPlugin is anything other than 'azure'. \\\n * {@link KnownNetworkMode} can be used interchangeably with NetworkMode,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **transparent**: No bridge is created. Intra-VM Pod to Pod communication is through IP routes created by Azure CNI. See [Transparent Mode](https:\\//docs.microsoft.com\\/azure\\/aks\\/faq#transparent-mode) for more information. \\\n * **bridge**: This is no longer supported\n */\nexport type NetworkMode = string;\n\n/** Network dataplane used in the Kubernetes cluster. */\nexport enum KnownNetworkDataplane {\n /** Use Azure network dataplane. */\n Azure = \"azure\",\n /** Use Cilium network dataplane. See [Azure CNI Powered by Cilium](https://learn.microsoft.com/azure/aks/azure-cni-powered-by-cilium) for more information. */\n Cilium = \"cilium\",\n}\n\n/**\n * Network dataplane used in the Kubernetes cluster. \\\n * {@link KnownNetworkDataplane} can be used interchangeably with NetworkDataplane,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **azure**: Use Azure network dataplane. \\\n * **cilium**: Use Cilium network dataplane. See [Azure CNI Powered by Cilium](https:\\//learn.microsoft.com\\/azure\\/aks\\/azure-cni-powered-by-cilium) for more information.\n */\nexport type NetworkDataplane = string;\n\n/** Advanced Networking profile for enabling observability and security feature suite on a cluster. For more information see aka.ms/aksadvancednetworking. */\nexport interface AdvancedNetworking {\n /** Indicates the enablement of Advanced Networking functionalities of observability and security on AKS clusters. When this is set to true, all observability and security features will be set to enabled unless explicitly disabled. If not specified, the default is false. */\n enabled?: boolean;\n /** Observability profile to enable advanced network metrics and flow logs with historical contexts. */\n observability?: AdvancedNetworkingObservability;\n /** Security profile to enable security features on cilium based cluster. */\n security?: AdvancedNetworkingSecurity;\n /** Profile to enable performance-enhancing features on clusters that use Azure CNI powered by Cilium. */\n performance?: AdvancedNetworkingPerformance;\n}\n\nexport function advancedNetworkingSerializer(item: AdvancedNetworking): any {\n return {\n enabled: item[\"enabled\"],\n observability: !item[\"observability\"]\n ? item[\"observability\"]\n : advancedNetworkingObservabilitySerializer(item[\"observability\"]),\n security: !item[\"security\"]\n ? item[\"security\"]\n : advancedNetworkingSecuritySerializer(item[\"security\"]),\n performance: !item[\"performance\"]\n ? item[\"performance\"]\n : advancedNetworkingPerformanceSerializer(item[\"performance\"]),\n };\n}\n\nexport function advancedNetworkingDeserializer(item: any): AdvancedNetworking {\n return {\n enabled: item[\"enabled\"],\n observability: !item[\"observability\"]\n ? item[\"observability\"]\n : advancedNetworkingObservabilityDeserializer(item[\"observability\"]),\n security: !item[\"security\"]\n ? item[\"security\"]\n : advancedNetworkingSecurityDeserializer(item[\"security\"]),\n performance: !item[\"performance\"]\n ? item[\"performance\"]\n : advancedNetworkingPerformanceDeserializer(item[\"performance\"]),\n };\n}\n\n/** Observability profile to enable advanced network metrics and flow logs with historical contexts. */\nexport interface AdvancedNetworkingObservability {\n /** Indicates the enablement of Advanced Networking observability functionalities on clusters. */\n enabled?: boolean;\n}\n\nexport function advancedNetworkingObservabilitySerializer(\n item: AdvancedNetworkingObservability,\n): any {\n return { enabled: item[\"enabled\"] };\n}\n\nexport function advancedNetworkingObservabilityDeserializer(\n item: any,\n): AdvancedNetworkingObservability {\n return {\n enabled: item[\"enabled\"],\n };\n}\n\n/** Security profile to enable security features on cilium based cluster. */\nexport interface AdvancedNetworkingSecurity {\n /** This feature allows user to configure network policy based on DNS (FQDN) names. It can be enabled only on cilium based clusters. If not specified, the default is false. */\n enabled?: boolean;\n /** Enable advanced network policies. This allows users to configure Layer 7 network policies (FQDN, HTTP, Kafka). Policies themselves must be configured via the Cilium Network Policy resources, see https://docs.cilium.io/en/latest/security/policy/index.html. This can be enabled only on cilium-based clusters. If not specified, the default value is FQDN if security.enabled is set to true. */\n advancedNetworkPolicies?: AdvancedNetworkPolicies;\n /** Encryption configuration for Cilium-based clusters. Once enabled all traffic between Cilium managed pods will be encrypted when it leaves the node boundary. */\n transitEncryption?: AdvancedNetworkingSecurityTransitEncryption;\n}\n\nexport function advancedNetworkingSecuritySerializer(item: AdvancedNetworkingSecurity): any {\n return {\n enabled: item[\"enabled\"],\n advancedNetworkPolicies: item[\"advancedNetworkPolicies\"],\n transitEncryption: !item[\"transitEncryption\"]\n ? item[\"transitEncryption\"]\n : advancedNetworkingSecurityTransitEncryptionSerializer(item[\"transitEncryption\"]),\n };\n}\n\nexport function advancedNetworkingSecurityDeserializer(item: any): AdvancedNetworkingSecurity {\n return {\n enabled: item[\"enabled\"],\n advancedNetworkPolicies: item[\"advancedNetworkPolicies\"],\n transitEncryption: !item[\"transitEncryption\"]\n ? item[\"transitEncryption\"]\n : advancedNetworkingSecurityTransitEncryptionDeserializer(item[\"transitEncryption\"]),\n };\n}\n\n/** Enable advanced network policies. This allows users to configure Layer 7 network policies (FQDN, HTTP, Kafka). Policies themselves must be configured via the Cilium Network Policy resources, see https://docs.cilium.io/en/latest/security/policy/index.html. This can be enabled only on cilium-based clusters. If not specified, the default value is FQDN if security.enabled is set to true. */\nexport enum KnownAdvancedNetworkPolicies {\n /** Enable Layer7 network policies (FQDN, HTTP/S, Kafka). This option is a superset of the FQDN option. */\n L7 = \"L7\",\n /** Enable FQDN based network policies */\n Fqdn = \"FQDN\",\n /** Disable Layer 7 network policies (FQDN, HTTP/S, Kafka) */\n None = \"None\",\n}\n\n/**\n * Enable advanced network policies. This allows users to configure Layer 7 network policies (FQDN, HTTP, Kafka). Policies themselves must be configured via the Cilium Network Policy resources, see https://docs.cilium.io/en/latest/security/policy/index.html. This can be enabled only on cilium-based clusters. If not specified, the default value is FQDN if security.enabled is set to true. \\\n * {@link KnownAdvancedNetworkPolicies} can be used interchangeably with AdvancedNetworkPolicies,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **L7**: Enable Layer7 network policies (FQDN, HTTP\\/S, Kafka). This option is a superset of the FQDN option. \\\n * **FQDN**: Enable FQDN based network policies \\\n * **None**: Disable Layer 7 network policies (FQDN, HTTP\\/S, Kafka)\n */\nexport type AdvancedNetworkPolicies = string;\n\n/** Encryption configuration for Cilium-based clusters. Once enabled all traffic between Cilium managed pods will be encrypted when it leaves the node boundary. */\nexport interface AdvancedNetworkingSecurityTransitEncryption {\n /** Configures pod-to-pod encryption. This can be enabled only on Cilium-based clusters. If not specified, the default value is None. */\n type?: TransitEncryptionType;\n}\n\nexport function advancedNetworkingSecurityTransitEncryptionSerializer(\n item: AdvancedNetworkingSecurityTransitEncryption,\n): any {\n return { type: item[\"type\"] };\n}\n\nexport function advancedNetworkingSecurityTransitEncryptionDeserializer(\n item: any,\n): AdvancedNetworkingSecurityTransitEncryption {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Configures pod-to-pod encryption. This can be enabled only on Cilium-based clusters. If not specified, the default value is None. */\nexport enum KnownTransitEncryptionType {\n /** Enable WireGuard encryption. Refer to https://docs.cilium.io/en/latest/security/network/encryption-wireguard/ on use cases and implementation details */\n WireGuard = \"WireGuard\",\n /** Disable Transit encryption */\n None = \"None\",\n}\n\n/**\n * Configures pod-to-pod encryption. This can be enabled only on Cilium-based clusters. If not specified, the default value is None. \\\n * {@link KnownTransitEncryptionType} can be used interchangeably with TransitEncryptionType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **WireGuard**: Enable WireGuard encryption. Refer to https:\\//docs.cilium.io\\/en\\/latest\\/security\\/network\\/encryption-wireguard\\/ on use cases and implementation details \\\n * **None**: Disable Transit encryption\n */\nexport type TransitEncryptionType = string;\n\n/** Profile to enable performance-enhancing features on clusters that use Azure CNI powered by Cilium. */\nexport interface AdvancedNetworkingPerformance {\n /** Enable advanced network acceleration options. This allows users to configure acceleration using BPF host routing. This can be enabled only with Cilium dataplane. If not specified, the default value is None (no acceleration). The acceleration mode can be changed on a pre-existing cluster. See https://aka.ms/acnsperformance for a detailed explanation */\n accelerationMode?: AccelerationMode;\n}\n\nexport function advancedNetworkingPerformanceSerializer(item: AdvancedNetworkingPerformance): any {\n return { accelerationMode: item[\"accelerationMode\"] };\n}\n\nexport function advancedNetworkingPerformanceDeserializer(\n item: any,\n): AdvancedNetworkingPerformance {\n return {\n accelerationMode: item[\"accelerationMode\"],\n };\n}\n\n/** Enable advanced network acceleration options. This allows users to configure acceleration using BPF host routing. This can be enabled only with Cilium dataplane. If not specified, the default value is None (no acceleration). The acceleration mode can be changed on a pre-existing cluster. See https://aka.ms/acnsperformance for a detailed explanation */\nexport enum KnownAccelerationMode {\n /** Enable eBPF host routing with veth device mode. */\n BpfVeth = \"BpfVeth\",\n /** Disable acceleration options. */\n None = \"None\",\n}\n\n/**\n * Enable advanced network acceleration options. This allows users to configure acceleration using BPF host routing. This can be enabled only with Cilium dataplane. If not specified, the default value is None (no acceleration). The acceleration mode can be changed on a pre-existing cluster. See https://aka.ms/acnsperformance for a detailed explanation \\\n * {@link KnownAccelerationMode} can be used interchangeably with AccelerationMode,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **BpfVeth**: Enable eBPF host routing with veth device mode. \\\n * **None**: Disable acceleration options.\n */\nexport type AccelerationMode = string;\n\n/** The outbound (egress) routing method. This can only be set at cluster creation time and cannot be changed later. For more information see [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). */\nexport enum KnownOutboundType {\n /** The load balancer is used for egress through an AKS assigned public IP. This supports Kubernetes services of type 'loadBalancer'. For more information see [outbound type loadbalancer](https://docs.microsoft.com/azure/aks/egress-outboundtype#outbound-type-of-loadbalancer). */\n LoadBalancer = \"loadBalancer\",\n /** Egress paths must be defined by the user. This is an advanced scenario and requires proper network configuration. For more information see [outbound type userDefinedRouting](https://docs.microsoft.com/azure/aks/egress-outboundtype#outbound-type-of-userdefinedrouting). */\n UserDefinedRouting = \"userDefinedRouting\",\n /** The AKS-managed NAT gateway is used for egress. */\n ManagedNATGateway = \"managedNATGateway\",\n /** The user-assigned NAT gateway associated to the cluster subnet is used for egress. This is an advanced scenario and requires proper network configuration. */\n UserAssignedNATGateway = \"userAssignedNATGateway\",\n /** The AKS cluster is not set with any outbound-type. All AKS nodes follows Azure VM default outbound behavior. Please refer to https://azure.microsoft.com/en-us/updates/default-outbound-access-for-vms-in-azure-will-be-retired-transition-to-a-new-method-of-internet-access/ */\n None = \"none\",\n}\n\n/**\n * The outbound (egress) routing method. This can only be set at cluster creation time and cannot be changed later. For more information see [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). \\\n * {@link KnownOutboundType} can be used interchangeably with OutboundType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **loadBalancer**: The load balancer is used for egress through an AKS assigned public IP. This supports Kubernetes services of type 'loadBalancer'. For more information see [outbound type loadbalancer](https:\\//docs.microsoft.com\\/azure\\/aks\\/egress-outboundtype#outbound-type-of-loadbalancer). \\\n * **userDefinedRouting**: Egress paths must be defined by the user. This is an advanced scenario and requires proper network configuration. For more information see [outbound type userDefinedRouting](https:\\//docs.microsoft.com\\/azure\\/aks\\/egress-outboundtype#outbound-type-of-userdefinedrouting). \\\n * **managedNATGateway**: The AKS-managed NAT gateway is used for egress. \\\n * **userAssignedNATGateway**: The user-assigned NAT gateway associated to the cluster subnet is used for egress. This is an advanced scenario and requires proper network configuration. \\\n * **none**: The AKS cluster is not set with any outbound-type. All AKS nodes follows Azure VM default outbound behavior. Please refer to https:\\//azure.microsoft.com\\/en-us\\/updates\\/default-outbound-access-for-vms-in-azure-will-be-retired-transition-to-a-new-method-of-internet-access\\/\n */\nexport type OutboundType = string;\n\n/** The load balancer sku for the managed cluster. The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load balancer SKUs. */\nexport enum KnownLoadBalancerSku {\n /** Use a a standard Load Balancer. This is the recommended Load Balancer SKU. For more information about on working with the load balancer in the managed cluster, see the [standard Load Balancer](https://docs.microsoft.com/azure/aks/load-balancer-standard) article. */\n Standard = \"standard\",\n /** Use a basic Load Balancer with limited functionality. */\n Basic = \"basic\",\n}\n\n/**\n * The load balancer sku for the managed cluster. The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load balancer SKUs. \\\n * {@link KnownLoadBalancerSku} can be used interchangeably with LoadBalancerSku,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **standard**: Use a a standard Load Balancer. This is the recommended Load Balancer SKU. For more information about on working with the load balancer in the managed cluster, see the [standard Load Balancer](https:\\//docs.microsoft.com\\/azure\\/aks\\/load-balancer-standard) article. \\\n * **basic**: Use a basic Load Balancer with limited functionality.\n */\nexport type LoadBalancerSku = string;\n\n/** Profile of the managed cluster load balancer. */\nexport interface ManagedClusterLoadBalancerProfile {\n /** Desired managed outbound IPs for the cluster load balancer. */\n managedOutboundIPs?: ManagedClusterLoadBalancerProfileManagedOutboundIPs;\n /** Desired outbound IP Prefix resources for the cluster load balancer. */\n outboundIPPrefixes?: ManagedClusterLoadBalancerProfileOutboundIPPrefixes;\n /** Desired outbound IP resources for the cluster load balancer. */\n outboundIPs?: ManagedClusterLoadBalancerProfileOutboundIPs;\n /** The effective outbound IP resources of the cluster load balancer. */\n readonly effectiveOutboundIPs?: ResourceReference[];\n /** The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports. */\n allocatedOutboundPorts?: number;\n /** Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 30 minutes. */\n idleTimeoutInMinutes?: number;\n /** Enable multiple standard load balancers per AKS cluster or not. */\n enableMultipleStandardLoadBalancers?: boolean;\n /** The type of the managed inbound Load Balancer BackendPool. */\n backendPoolType?: BackendPoolType;\n}\n\nexport function managedClusterLoadBalancerProfileSerializer(\n item: ManagedClusterLoadBalancerProfile,\n): any {\n return {\n managedOutboundIPs: !item[\"managedOutboundIPs\"]\n ? item[\"managedOutboundIPs\"]\n : managedClusterLoadBalancerProfileManagedOutboundIPsSerializer(item[\"managedOutboundIPs\"]),\n outboundIPPrefixes: !item[\"outboundIPPrefixes\"]\n ? item[\"outboundIPPrefixes\"]\n : managedClusterLoadBalancerProfileOutboundIPPrefixesSerializer(item[\"outboundIPPrefixes\"]),\n outboundIPs: !item[\"outboundIPs\"]\n ? item[\"outboundIPs\"]\n : managedClusterLoadBalancerProfileOutboundIPsSerializer(item[\"outboundIPs\"]),\n allocatedOutboundPorts: item[\"allocatedOutboundPorts\"],\n idleTimeoutInMinutes: item[\"idleTimeoutInMinutes\"],\n enableMultipleStandardLoadBalancers: item[\"enableMultipleStandardLoadBalancers\"],\n backendPoolType: item[\"backendPoolType\"],\n };\n}\n\nexport function managedClusterLoadBalancerProfileDeserializer(\n item: any,\n): ManagedClusterLoadBalancerProfile {\n return {\n managedOutboundIPs: !item[\"managedOutboundIPs\"]\n ? item[\"managedOutboundIPs\"]\n : managedClusterLoadBalancerProfileManagedOutboundIPsDeserializer(item[\"managedOutboundIPs\"]),\n outboundIPPrefixes: !item[\"outboundIPPrefixes\"]\n ? item[\"outboundIPPrefixes\"]\n : managedClusterLoadBalancerProfileOutboundIPPrefixesDeserializer(item[\"outboundIPPrefixes\"]),\n outboundIPs: !item[\"outboundIPs\"]\n ? item[\"outboundIPs\"]\n : managedClusterLoadBalancerProfileOutboundIPsDeserializer(item[\"outboundIPs\"]),\n effectiveOutboundIPs: !item[\"effectiveOutboundIPs\"]\n ? item[\"effectiveOutboundIPs\"]\n : resourceReferenceArrayDeserializer(item[\"effectiveOutboundIPs\"]),\n allocatedOutboundPorts: item[\"allocatedOutboundPorts\"],\n idleTimeoutInMinutes: item[\"idleTimeoutInMinutes\"],\n enableMultipleStandardLoadBalancers: item[\"enableMultipleStandardLoadBalancers\"],\n backendPoolType: item[\"backendPoolType\"],\n };\n}\n\n/** Desired managed outbound IPs for the cluster load balancer. */\nexport interface ManagedClusterLoadBalancerProfileManagedOutboundIPs {\n /** The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. */\n count?: number;\n /** The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. */\n countIPv6?: number;\n}\n\nexport function managedClusterLoadBalancerProfileManagedOutboundIPsSerializer(\n item: ManagedClusterLoadBalancerProfileManagedOutboundIPs,\n): any {\n return { count: item[\"count\"], countIPv6: item[\"countIPv6\"] };\n}\n\nexport function managedClusterLoadBalancerProfileManagedOutboundIPsDeserializer(\n item: any,\n): ManagedClusterLoadBalancerProfileManagedOutboundIPs {\n return {\n count: item[\"count\"],\n countIPv6: item[\"countIPv6\"],\n };\n}\n\n/** Desired outbound IP Prefix resources for the cluster load balancer. */\nexport interface ManagedClusterLoadBalancerProfileOutboundIPPrefixes {\n /** A list of public IP prefix resources. */\n publicIPPrefixes?: ResourceReference[];\n}\n\nexport function managedClusterLoadBalancerProfileOutboundIPPrefixesSerializer(\n item: ManagedClusterLoadBalancerProfileOutboundIPPrefixes,\n): any {\n return {\n publicIPPrefixes: !item[\"publicIPPrefixes\"]\n ? item[\"publicIPPrefixes\"]\n : resourceReferenceArraySerializer(item[\"publicIPPrefixes\"]),\n };\n}\n\nexport function managedClusterLoadBalancerProfileOutboundIPPrefixesDeserializer(\n item: any,\n): ManagedClusterLoadBalancerProfileOutboundIPPrefixes {\n return {\n publicIPPrefixes: !item[\"publicIPPrefixes\"]\n ? item[\"publicIPPrefixes\"]\n : resourceReferenceArrayDeserializer(item[\"publicIPPrefixes\"]),\n };\n}\n\nexport function resourceReferenceArraySerializer(result: Array<ResourceReference>): any[] {\n return result.map((item) => {\n return resourceReferenceSerializer(item);\n });\n}\n\nexport function resourceReferenceArrayDeserializer(result: Array<ResourceReference>): any[] {\n return result.map((item) => {\n return resourceReferenceDeserializer(item);\n });\n}\n\n/** A reference to an Azure resource. */\nexport interface ResourceReference {\n /** The fully qualified Azure resource id. */\n id?: string;\n}\n\nexport function resourceReferenceSerializer(item: ResourceReference): any {\n return { id: item[\"id\"] };\n}\n\nexport function resourceReferenceDeserializer(item: any): ResourceReference {\n return {\n id: item[\"id\"],\n };\n}\n\n/** Desired outbound IP resources for the cluster load balancer. */\nexport interface ManagedClusterLoadBalancerProfileOutboundIPs {\n /** A list of public IP resources. */\n publicIPs?: ResourceReference[];\n}\n\nexport function managedClusterLoadBalancerProfileOutboundIPsSerializer(\n item: ManagedClusterLoadBalancerProfileOutboundIPs,\n): any {\n return {\n publicIPs: !item[\"publicIPs\"]\n ? item[\"publicIPs\"]\n : resourceReferenceArraySerializer(item[\"publicIPs\"]),\n };\n}\n\nexport function managedClusterLoadBalancerProfileOutboundIPsDeserializer(\n item: any,\n): ManagedClusterLoadBalancerProfileOutboundIPs {\n return {\n publicIPs: !item[\"publicIPs\"]\n ? item[\"publicIPs\"]\n : resourceReferenceArrayDeserializer(item[\"publicIPs\"]),\n };\n}\n\n/** The type of the managed inbound Load Balancer BackendPool. */\nexport enum KnownBackendPoolType {\n /** The type of the managed inbound Load Balancer BackendPool. https://cloud-provider-azure.sigs.k8s.io/topics/loadbalancer/#configure-load-balancer-backend. */\n NodeIPConfiguration = \"NodeIPConfiguration\",\n /** The type of the managed inbound Load Balancer BackendPool. https://cloud-provider-azure.sigs.k8s.io/topics/loadbalancer/#configure-load-balancer-backend. */\n NodeIP = \"NodeIP\",\n}\n\n/**\n * The type of the managed inbound Load Balancer BackendPool. \\\n * {@link KnownBackendPoolType} can be used interchangeably with BackendPoolType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **NodeIPConfiguration**: The type of the managed inbound Load Balancer BackendPool. https:\\//cloud-provider-azure.sigs.k8s.io\\/topics\\/loadbalancer\\/#configure-load-balancer-backend. \\\n * **NodeIP**: The type of the managed inbound Load Balancer BackendPool. https:\\//cloud-provider-azure.sigs.k8s.io\\/topics\\/loadbalancer\\/#configure-load-balancer-backend.\n */\nexport type BackendPoolType = string;\n\n/** Profile of the managed cluster NAT gateway. */\nexport interface ManagedClusterNATGatewayProfile {\n /** Profile of the managed outbound IP resources of the cluster NAT gateway. */\n managedOutboundIPProfile?: ManagedClusterManagedOutboundIPProfile;\n /** The effective outbound IP resources of the cluster NAT gateway. */\n readonly effectiveOutboundIPs?: ResourceReference[];\n /** Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 4 minutes. */\n idleTimeoutInMinutes?: number;\n}\n\nexport function managedClusterNATGatewayProfileSerializer(\n item: ManagedClusterNATGatewayProfile,\n): any {\n return {\n managedOutboundIPProfile: !item[\"managedOutboundIPProfile\"]\n ? item[\"managedOutboundIPProfile\"]\n : managedClusterManagedOutboundIPProfileSerializer(item[\"managedOutboundIPProfile\"]),\n idleTimeoutInMinutes: item[\"idleTimeoutInMinutes\"],\n };\n}\n\nexport function managedClusterNATGatewayProfileDeserializer(\n item: any,\n): ManagedClusterNATGatewayProfile {\n return {\n managedOutboundIPProfile: !item[\"managedOutboundIPProfile\"]\n ? item[\"managedOutboundIPProfile\"]\n : managedClusterManagedOutboundIPProfileDeserializer(item[\"managedOutboundIPProfile\"]),\n effectiveOutboundIPs: !item[\"effectiveOutboundIPs\"]\n ? item[\"effectiveOutboundIPs\"]\n : resourceReferenceArrayDeserializer(item[\"effectiveOutboundIPs\"]),\n idleTimeoutInMinutes: item[\"idleTimeoutInMinutes\"],\n };\n}\n\n/** Profile of the managed outbound IP resources of the managed cluster. */\nexport interface ManagedClusterManagedOutboundIPProfile {\n /** The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 (inclusive). The default value is 1. */\n count?: number;\n}\n\nexport function managedClusterManagedOutboundIPProfileSerializer(\n item: ManagedClusterManagedOutboundIPProfile,\n): any {\n return { count: item[\"count\"] };\n}\n\nexport function managedClusterManagedOutboundIPProfileDeserializer(\n item: any,\n): ManagedClusterManagedOutboundIPProfile {\n return {\n count: item[\"count\"],\n };\n}\n\n/** The Static Egress Gateway addon configuration for the cluster. */\nexport interface ManagedClusterStaticEgressGatewayProfile {\n /** Enable Static Egress Gateway addon. Indicates if Static Egress Gateway addon is enabled or not. */\n enabled?: boolean;\n}\n\nexport function managedClusterStaticEgressGatewayProfileSerializer(\n item: ManagedClusterStaticEgressGatewayProfile,\n): any {\n return { enabled: item[\"enabled\"] };\n}\n\nexport function managedClusterStaticEgressGatewayProfileDeserializer(\n item: any,\n): ManagedClusterStaticEgressGatewayProfile {\n return {\n enabled: item[\"enabled\"],\n };\n}\n\n/** To determine if address belongs IPv4 or IPv6 family */\nexport enum KnownIpFamily {\n /** IPv4 family */\n IPv4 = \"IPv4\",\n /** IPv6 family */\n IPv6 = \"IPv6\",\n}\n\n/**\n * To determine if address belongs IPv4 or IPv6 family \\\n * {@link KnownIpFamily} can be used interchangeably with IpFamily,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **IPv4**: IPv4 family \\\n * **IPv6**: IPv6 family\n */\nexport type IpFamily = string;\n\n/** AADProfile specifies attributes for Azure Active Directory integration. For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). */\nexport interface ManagedClusterAADProfile {\n /** Whether to enable managed AAD. */\n managed?: boolean;\n /** Whether to enable Azure RBAC for Kubernetes authorization. */\n enableAzureRbac?: boolean;\n /** The list of AAD group object IDs that will have admin role of the cluster. */\n adminGroupObjectIDs?: string[];\n /** (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. */\n clientAppID?: string;\n /** (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. */\n serverAppID?: string;\n /** (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy. */\n serverAppSecret?: string;\n /** The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription. */\n tenantID?: string;\n}\n\nexport function managedClusterAADProfileSerializer(item: ManagedClusterAADProfile): any {\n return {\n managed: item[\"managed\"],\n enableAzureRBAC: item[\"enableAzureRbac\"],\n adminGroupObjectIDs: !item[\"adminGroupObjectIDs\"]\n ? item[\"adminGroupObjectIDs\"]\n : item[\"adminGroupObjectIDs\"].map((p: any) => {\n return p;\n }),\n clientAppID: item[\"clientAppID\"],\n serverAppID: item[\"serverAppID\"],\n serverAppSecret: item[\"serverAppSecret\"],\n tenantID: item[\"tenantID\"],\n };\n}\n\nexport function managedClusterAADProfileDeserializer(item: any): ManagedClusterAADProfile {\n return {\n managed: item[\"managed\"],\n enableAzureRbac: item[\"enableAzureRBAC\"],\n adminGroupObjectIDs: !item[\"adminGroupObjectIDs\"]\n ? item[\"adminGroupObjectIDs\"]\n : item[\"adminGroupObjectIDs\"].map((p: any) => {\n return p;\n }),\n clientAppID: item[\"clientAppID\"],\n serverAppID: item[\"serverAppID\"],\n serverAppSecret: item[\"serverAppSecret\"],\n tenantID: item[\"tenantID\"],\n };\n}\n\n/** Auto upgrade profile for a managed cluster. */\nexport interface ManagedClusterAutoUpgradeProfile {\n /** The upgrade channel for auto upgrade. The default is 'none'. For more information see [setting the AKS cluster auto-upgrade channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). */\n upgradeChannel?: UpgradeChannel;\n /** Node OS Upgrade Channel. Manner in which the OS on your nodes is updated. The default is NodeImage. */\n nodeOSUpgradeChannel?: NodeOSUpgradeChannel;\n}\n\nexport function managedClusterAutoUpgradeProfileSerializer(\n item: ManagedClusterAutoUpgradeProfile,\n): any {\n return {\n upgradeChannel: item[\"upgradeChannel\"],\n nodeOSUpgradeChannel: item[\"nodeOSUpgradeChannel\"],\n };\n}\n\nexport function managedClusterAutoUpgradeProfileDeserializer(\n item: any,\n): ManagedClusterAutoUpgradeProfile {\n return {\n upgradeChannel: item[\"upgradeChannel\"],\n nodeOSUpgradeChannel: item[\"nodeOSUpgradeChannel\"],\n };\n}\n\n/** The upgrade channel for auto upgrade. The default is 'none'. For more information see [setting the AKS cluster auto-upgrade channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). */\nexport enum KnownUpgradeChannel {\n /** Automatically upgrade the cluster to the latest supported patch release on the latest supported minor version. In cases where the cluster is at a version of Kubernetes that is at an N-2 minor version where N is the latest supported minor version, the cluster first upgrades to the latest supported patch version on N-1 minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster first is upgraded to 1.18.6, then is upgraded to 1.19.1. */\n Rapid = \"rapid\",\n /** Automatically upgrade the cluster to the latest supported patch release on minor version N-1, where N is the latest supported minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.18.6. */\n Stable = \"stable\",\n /** Automatically upgrade the cluster to the latest supported patch version when it becomes available while keeping the minor version the same. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.17.9. */\n Patch = \"patch\",\n /** Automatically upgrade the node image to the latest version available. Consider using nodeOSUpgradeChannel instead as that allows you to configure node OS patching separate from Kubernetes version patching */\n NodeImage = \"node-image\",\n /** Disables auto-upgrades and keeps the cluster at its current version of Kubernetes. */\n None = \"none\",\n}\n\n/**\n * The upgrade channel for auto upgrade. The default is 'none'. For more information see [setting the AKS cluster auto-upgrade channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). \\\n * {@link KnownUpgradeChannel} can be used interchangeably with UpgradeChannel,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **rapid**: Automatically upgrade the cluster to the latest supported patch release on the latest supported minor version. In cases where the cluster is at a version of Kubernetes that is at an N-2 minor version where N is the latest supported minor version, the cluster first upgrades to the latest supported patch version on N-1 minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster first is upgraded to 1.18.6, then is upgraded to 1.19.1. \\\n * **stable**: Automatically upgrade the cluster to the latest supported patch release on minor version N-1, where N is the latest supported minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.18.6. \\\n * **patch**: Automatically upgrade the cluster to the latest supported patch version when it becomes available while keeping the minor version the same. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.17.9. \\\n * **node-image**: Automatically upgrade the node image to the latest version available. Consider using nodeOSUpgradeChannel instead as that allows you to configure node OS patching separate from Kubernetes version patching \\\n * **none**: Disables auto-upgrades and keeps the cluster at its current version of Kubernetes.\n */\nexport type UpgradeChannel = string;\n\n/** Node OS Upgrade Channel. Manner in which the OS on your nodes is updated. The default is NodeImage. */\nexport enum KnownNodeOSUpgradeChannel {\n /** No attempt to update your machines OS will be made either by OS or by rolling VHDs. This means you are responsible for your security updates */\n None = \"None\",\n /** OS updates will be applied automatically through the OS built-in patching infrastructure. Newly scaled in machines will be unpatched initially and will be patched at some point by the OS's infrastructure. Behavior of this option depends on the OS in question. Ubuntu and Mariner apply security patches through unattended upgrade roughly once a day around 06:00 UTC. Windows does not apply security patches automatically and so for them this option is equivalent to None till further notice */\n Unmanaged = \"Unmanaged\",\n /** AKS will update the nodes with a newly patched VHD containing security fixes and bugfixes on a weekly cadence. With the VHD update machines will be rolling reimaged to that VHD following maintenance windows and surge settings. No extra VHD cost is incurred when choosing this option as AKS hosts the images. */\n NodeImage = \"NodeImage\",\n /** AKS downloads and updates the nodes with tested security updates. These updates honor the maintenance window settings and produce a new VHD that is used on new nodes. On some occasions it's not possible to apply the updates in place, in such cases the existing nodes will also be re-imaged to the newly produced VHD in order to apply the changes. This option incurs an extra cost of hosting the new Security Patch VHDs in your resource group for just in time consumption. */\n SecurityPatch = \"SecurityPatch\",\n}\n\n/**\n * Node OS Upgrade Channel. Manner in which the OS on your nodes is updated. The default is NodeImage. \\\n * {@link KnownNodeOSUpgradeChannel} can be used interchangeably with NodeOSUpgradeChannel,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **None**: No attempt to update your machines OS will be made either by OS or by rolling VHDs. This means you are responsible for your security updates \\\n * **Unmanaged**: OS updates will be applied automatically through the OS built-in patching infrastructure. Newly scaled in machines will be unpatched initially and will be patched at some point by the OS's infrastructure. Behavior of this option depends on the OS in question. Ubuntu and Mariner apply security patches through unattended upgrade roughly once a day around 06:00 UTC. Windows does not apply security patches automatically and so for them this option is equivalent to None till further notice \\\n * **NodeImage**: AKS will update the nodes with a newly patched VHD containing security fixes and bugfixes on a weekly cadence. With the VHD update machines will be rolling reimaged to that VHD following maintenance windows and surge settings. No extra VHD cost is incurred when choosing this option as AKS hosts the images. \\\n * **SecurityPatch**: AKS downloads and updates the nodes with tested security updates. These updates honor the maintenance window settings and produce a new VHD that is used on new nodes. On some occasions it's not possible to apply the updates in place, in such cases the existing nodes will also be re-imaged to the newly produced VHD in order to apply the changes. This option incurs an extra cost of hosting the new Security Patch VHDs in your resource group for just in time consumption.\n */\nexport type NodeOSUpgradeChannel = string;\n\n/** Settings for upgrading a cluster. */\nexport interface ClusterUpgradeSettings {\n /** Settings for overrides. */\n overrideSettings?: UpgradeOverrideSettings;\n}\n\nexport function clusterUpgradeSettingsSerializer(item: ClusterUpgradeSettings): any {\n return {\n overrideSettings: !item[\"overrideSettings\"]\n ? item[\"overrideSettings\"]\n : upgradeOverrideSettingsSerializer(item[\"overrideSettings\"]),\n };\n}\n\nexport function clusterUpgradeSettingsDeserializer(item: any): ClusterUpgradeSettings {\n return {\n overrideSettings: !item[\"overrideSettings\"]\n ? item[\"overrideSettings\"]\n : upgradeOverrideSettingsDeserializer(item[\"overrideSettings\"]),\n };\n}\n\n/** Settings for overrides when upgrading a cluster. */\nexport interface UpgradeOverrideSettings {\n /** Whether to force upgrade the cluster. Note that this option instructs upgrade operation to bypass upgrade protections such as checking for deprecated API usage. Enable this option only with caution. */\n forceUpgrade?: boolean;\n /** Until when the overrides are effective. Note that this only matches the start time of an upgrade, and the effectiveness won't change once an upgrade starts even if the `until` expires as upgrade proceeds. This field is not set by default. It must be set for the overrides to take effect. */\n until?: Date;\n}\n\nexport function upgradeOverrideSettingsSerializer(item: UpgradeOverrideSettings): any {\n return {\n forceUpgrade: item[\"forceUpgrade\"],\n until: !item[\"until\"] ? item[\"until\"] : item[\"until\"].toISOString(),\n };\n}\n\nexport function upgradeOverrideSettingsDeserializer(item: any): UpgradeOverrideSettings {\n return {\n forceUpgrade: item[\"forceUpgrade\"],\n until: !item[\"until\"] ? item[\"until\"] : new Date(item[\"until\"]),\n };\n}\n\n/** Parameters to be applied to the cluster-autoscaler when enabled */\nexport interface ManagedClusterPropertiesAutoScalerProfile {\n /** Detects similar node pools and balances the number of nodes between them. Valid values are 'true' and 'false' */\n balanceSimilarNodeGroups?: string;\n /** DaemonSet pods will be gracefully terminated from empty nodes. If set to true, all daemonset pods on empty nodes will be evicted before deletion of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be deleted without ensuring that daemonset pods are deleted or evicted. */\n daemonsetEvictionForEmptyNodes?: boolean;\n /** DaemonSet pods will be gracefully terminated from non-empty nodes. If set to true, all daemonset pods on occupied nodes will be evicted before deletion of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be deleted without ensuring that daemonset pods are deleted or evicted. */\n daemonsetEvictionForOccupiedNodes?: boolean;\n /** Should CA ignore DaemonSet pods when calculating resource utilization for scaling down. If set to true, the resources used by daemonset will be taken into account when making scaling down decisions. */\n ignoreDaemonsetsUtilization?: boolean;\n /** The expander to use when scaling up. If not specified, the default is 'random'. See [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more information. */\n expander?: Expander;\n /** The maximum number of empty nodes that can be deleted at the same time. This must be a positive integer. The default is 10. */\n maxEmptyBulkDelete?: string;\n /** The maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node. The default is 600. */\n maxGracefulTerminationSec?: string;\n /** The maximum time the autoscaler waits for a node to be provisioned. The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. */\n maxNodeProvisionTime?: string;\n /** The maximum percentage of unready nodes in the cluster. After this percentage is exceeded, cluster autoscaler halts operations. The default is 45. The maximum is 100 and the minimum is 0. */\n maxTotalUnreadyPercentage?: string;\n /** Ignore unscheduled pods before they're a certain age. For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). */\n newPodScaleUpDelay?: string;\n /** The number of allowed unready nodes, irrespective of max-total-unready-percentage. This must be an integer. The default is 3. */\n okTotalUnreadyCount?: string;\n /** How often cluster is reevaluated for scale up or down. The default is '10'. Values must be an integer number of seconds. */\n scanInterval?: string;\n /** How long after scale up that scale down evaluation resumes. The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. */\n scaleDownDelayAfterAdd?: string;\n /** How long after node deletion that scale down evaluation resumes. The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. */\n scaleDownDelayAfterDelete?: string;\n /** How long after scale down failure that scale down evaluation resumes. The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. */\n scaleDownDelayAfterFailure?: string;\n /** How long a node should be unneeded before it is eligible for scale down. The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. */\n scaleDownUnneededTime?: string;\n /** How long an unready node should be unneeded before it is eligible for scale down. The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. */\n scaleDownUnreadyTime?: string;\n /** Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down. The default is '0.5'. */\n scaleDownUtilizationThreshold?: string;\n /** If cluster autoscaler will skip deleting nodes with pods with local storage, for example, EmptyDir or HostPath. The default is true. */\n skipNodesWithLocalStorage?: string;\n /** If cluster autoscaler will skip deleting nodes with pods from kube-system (except for DaemonSet or mirror pods). The default is true. */\n skipNodesWithSystemPods?: string;\n}\n\nexport function managedClusterPropertiesAutoScalerProfileSerializer(\n item: ManagedClusterPropertiesAutoScalerProfile,\n): any {\n return {\n \"balance-similar-node-groups\": item[\"balanceSimilarNodeGroups\"],\n \"daemonset-eviction-for-empty-nodes\": item[\"daemonsetEvictionForEmptyNodes\"],\n \"daemonset-eviction-for-occupied-nodes\": item[\"daemonsetEvictionForOccupiedNodes\"],\n \"ignore-daemonsets-utilization\": item[\"ignoreDaemonsetsUtilization\"],\n expander: item[\"expander\"],\n \"max-empty-bulk-delete\": item[\"maxEmptyBulkDelete\"],\n \"max-graceful-termination-sec\": item[\"maxGracefulTerminationSec\"],\n \"max-node-provision-time\": item[\"maxNodeProvisionTime\"],\n \"max-total-unready-percentage\": item[\"maxTotalUnreadyPercentage\"],\n \"new-pod-scale-up-delay\": item[\"newPodScaleUpDelay\"],\n \"ok-total-unready-count\": item[\"okTotalUnreadyCount\"],\n \"scan-interval\": item[\"scanInterval\"],\n \"scale-down-delay-after-add\": item[\"scaleDownDelayAfterAdd\"],\n \"scale-down-delay-after-delete\": item[\"scaleDownDelayAfterDelete\"],\n \"scale-down-delay-after-failure\": item[\"scaleDownDelayAfterFailure\"],\n \"scale-down-unneeded-time\": item[\"scaleDownUnneededTime\"],\n \"scale-down-unready-time\": item[\"scaleDownUnreadyTime\"],\n \"scale-down-utilization-threshold\": item[\"scaleDownUtilizationThreshold\"],\n \"skip-nodes-with-local-storage\": item[\"skipNodesWithLocalStorage\"],\n \"skip-nodes-with-system-pods\": item[\"skipNodesWithSystemPods\"],\n };\n}\n\nexport function managedClusterPropertiesAutoScalerProfileDeserializer(\n item: any,\n): ManagedClusterPropertiesAutoScalerProfile {\n return {\n balanceSimilarNodeGroups: item[\"balance-similar-node-groups\"],\n daemonsetEvictionForEmptyNodes: item[\"daemonset-eviction-for-empty-nodes\"],\n daemonsetEvictionForOccupiedNodes: item[\"daemonset-eviction-for-occupied-nodes\"],\n ignoreDaemonsetsUtilization: item[\"ignore-daemonsets-utilization\"],\n expander: item[\"expander\"],\n maxEmptyBulkDelete: item[\"max-empty-bulk-delete\"],\n maxGracefulTerminationSec: item[\"max-graceful-termination-sec\"],\n maxNodeProvisionTime: item[\"max-node-provision-time\"],\n maxTotalUnreadyPercentage: item[\"max-total-unready-percentage\"],\n newPodScaleUpDelay: item[\"new-pod-scale-up-delay\"],\n okTotalUnreadyCount: item[\"ok-total-unready-count\"],\n scanInterval: item[\"scan-interval\"],\n scaleDownDelayAfterAdd: item[\"scale-down-delay-after-add\"],\n scaleDownDelayAfterDelete: item[\"scale-down-delay-after-delete\"],\n scaleDownDelayAfterFailure: item[\"scale-down-delay-after-failure\"],\n scaleDownUnneededTime: item[\"scale-down-unneeded-time\"],\n scaleDownUnreadyTime: item[\"scale-down-unready-time\"],\n scaleDownUtilizationThreshold: item[\"scale-down-utilization-threshold\"],\n skipNodesWithLocalStorage: item[\"skip-nodes-with-local-storage\"],\n skipNodesWithSystemPods: item[\"skip-nodes-with-system-pods\"],\n };\n}\n\n/** The expander to use when scaling up. If not specified, the default is 'random'. See [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more information. */\nexport enum KnownExpander {\n /** Selects the node group that will have the least idle CPU (if tied, unused memory) after scale-up. This is useful when you have different classes of nodes, for example, high CPU or high memory nodes, and only want to expand those when there are pending pods that need a lot of those resources. */\n LeastWaste = \"least-waste\",\n /** Selects the node group that would be able to schedule the most pods when scaling up. This is useful when you are using nodeSelector to make sure certain pods land on certain nodes. Note that this won't cause the autoscaler to select bigger nodes vs. smaller, as it can add multiple smaller nodes at once. */\n MostPods = \"most-pods\",\n /** Selects the node group that has the highest priority assigned by the user. It's configuration is described in more details [here](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/expander/priority/readme.md). */\n Priority = \"priority\",\n /** Used when you don't have a particular need for the node groups to scale differently. */\n Random = \"random\",\n}\n\n/**\n * The expander to use when scaling up. If not specified, the default is 'random'. See [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more information. \\\n * {@link KnownExpander} can be used interchangeably with Expander,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **least-waste**: Selects the node group that will have the least idle CPU (if tied, unused memory) after scale-up. This is useful when you have different classes of nodes, for example, high CPU or high memory nodes, and only want to expand those when there are pending pods that need a lot of those resources. \\\n * **most-pods**: Selects the node group that would be able to schedule the most pods when scaling up. This is useful when you are using nodeSelector to make sure certain pods land on certain nodes. Note that this won't cause the autoscaler to select bigger nodes vs. smaller, as it can add multiple smaller nodes at once. \\\n * **priority**: Selects the node group that has the highest priority assigned by the user. It's configuration is described in more details [here](https:\\//github.com\\/kubernetes\\/autoscaler\\/blob\\/master\\/cluster-autoscaler\\/expander\\/priority\\/readme.md). \\\n * **random**: Used when you don't have a particular need for the node groups to scale differently.\n */\nexport type Expander = string;\n\n/** Access profile for managed cluster API server. */\nexport interface ManagedClusterAPIServerAccessProfile {\n /** The IP ranges authorized to access the Kubernetes API server. IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges). */\n authorizedIPRanges?: string[];\n /** Whether to create the cluster as a private cluster or not. For more details, see [Creating a private AKS cluster](https://docs.microsoft.com/azure/aks/private-clusters). */\n enablePrivateCluster?: boolean;\n /** The private DNS zone mode for the cluster. The default is System. For more details see [configure private DNS zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and 'none'. */\n privateDNSZone?: string;\n /** Whether to create additional public FQDN for private cluster or not. */\n enablePrivateClusterPublicFqdn?: boolean;\n /** Whether to disable run command for the cluster or not. */\n disableRunCommand?: boolean;\n /** Whether to enable apiserver vnet integration for the cluster or not. See aka.ms/AksVnetIntegration for more details. */\n enableVnetIntegration?: boolean;\n /** The subnet to be used when apiserver vnet integration is enabled. It is required when creating a new cluster with BYO Vnet, or when updating an existing cluster to enable apiserver vnet integration. */\n subnetId?: string;\n}\n\nexport function managedClusterAPIServerAccessProfileSerializer(\n item: ManagedClusterAPIServerAccessProfile,\n): any {\n return {\n authorizedIPRanges: !item[\"authorizedIPRanges\"]\n ? item[\"authorizedIPRanges\"]\n : item[\"authorizedIPRanges\"].map((p: any) => {\n return p;\n }),\n enablePrivateCluster: item[\"enablePrivateCluster\"],\n privateDNSZone: item[\"privateDNSZone\"],\n enablePrivateClusterPublicFQDN: item[\"enablePrivateClusterPublicFqdn\"],\n disableRunCommand: item[\"disableRunCommand\"],\n enableVnetIntegration: item[\"enableVnetIntegration\"],\n subnetId: item[\"subnetId\"],\n };\n}\n\nexport function managedClusterAPIServerAccessProfileDeserializer(\n item: any,\n): ManagedClusterAPIServerAccessProfile {\n return {\n authorizedIPRanges: !item[\"authorizedIPRanges\"]\n ? item[\"authorizedIPRanges\"]\n : item[\"authorizedIPRanges\"].map((p: any) => {\n return p;\n }),\n enablePrivateCluster: item[\"enablePrivateCluster\"],\n privateDNSZone: item[\"privateDNSZone\"],\n enablePrivateClusterPublicFqdn: item[\"enablePrivateClusterPublicFQDN\"],\n disableRunCommand: item[\"disableRunCommand\"],\n enableVnetIntegration: item[\"enableVnetIntegration\"],\n subnetId: item[\"subnetId\"],\n };\n}\n\nexport function userAssignedIdentityRecordSerializer(\n item: Record<string, UserAssignedIdentity>,\n): Record<string, any> {\n const result: Record<string, any> = {};\n Object.keys(item).map((key) => {\n result[key] = !item[key] ? item[key] : userAssignedIdentitySerializer(item[key]);\n });\n return result;\n}\n\nexport function userAssignedIdentityRecordDeserializer(\n item: Record<string, any>,\n): Record<string, UserAssignedIdentity> {\n const result: Record<string, any> = {};\n Object.keys(item).map((key) => {\n result[key] = !item[key] ? item[key] : userAssignedIdentityDeserializer(item[key]);\n });\n return result;\n}\n\nexport function privateLinkResourceArraySerializer(result: Array<PrivateLinkResource>): any[] {\n return result.map((item) => {\n return privateLinkResourceSerializer(item);\n });\n}\n\nexport function privateLinkResourceArrayDeserializer(result: Array<PrivateLinkResource>): any[] {\n return result.map((item) => {\n return privateLinkResourceDeserializer(item);\n });\n}\n\n/** A private link resource */\nexport interface PrivateLinkResource {\n /** The ID of the private link resource. */\n id?: string;\n /** The name of the private link resource. See [naming rules](https://aka.ms/search-naming-rules) for more details. */\n name?: string;\n /** The resource type. */\n type?: string;\n /** The group ID of the resource. */\n groupId?: string;\n /** The RequiredMembers of the resource */\n requiredMembers?: string[];\n /** The private link service ID of the resource, this field is exposed only to NRP internally. */\n readonly privateLinkServiceID?: string;\n}\n\nexport function privateLinkResourceSerializer(item: PrivateLinkResource): any {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n groupId: item[\"groupId\"],\n requiredMembers: !item[\"requiredMembers\"]\n ? item[\"requiredMembers\"]\n : item[\"requiredMembers\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function privateLinkResourceDeserializer(item: any): PrivateLinkResource {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n groupId: item[\"groupId\"],\n requiredMembers: !item[\"requiredMembers\"]\n ? item[\"requiredMembers\"]\n : item[\"requiredMembers\"].map((p: any) => {\n return p;\n }),\n privateLinkServiceID: item[\"privateLinkServiceID\"],\n };\n}\n\n/** Cluster HTTP proxy configuration. */\nexport interface ManagedClusterHttpProxyConfig {\n /** The HTTP proxy server endpoint to use. */\n httpProxy?: string;\n /** The HTTPS proxy server endpoint to use. */\n httpsProxy?: string;\n /** The endpoints that should not go through proxy. */\n noProxy?: string[];\n /** Alternative CA cert to use for connecting to proxy servers. */\n trustedCa?: string;\n /** Whether to enable HTTP proxy. If disabled, the specified proxy configuration will be not be set on pods and nodes. If not specified, the default is true. */\n enabled?: boolean;\n}\n\nexport function managedClusterHttpProxyConfigSerializer(item: ManagedClusterHttpProxyConfig): any {\n return {\n httpProxy: item[\"httpProxy\"],\n httpsProxy: item[\"httpsProxy\"],\n noProxy: !item[\"noProxy\"]\n ? item[\"noProxy\"]\n : item[\"noProxy\"].map((p: any) => {\n return p;\n }),\n trustedCa: item[\"trustedCa\"],\n enabled: item[\"enabled\"],\n };\n}\n\nexport function managedClusterHttpProxyConfigDeserializer(\n item: any,\n): ManagedClusterHttpProxyConfig {\n return {\n httpProxy: item[\"httpProxy\"],\n httpsProxy: item[\"httpsProxy\"],\n noProxy: !item[\"noProxy\"]\n ? item[\"noProxy\"]\n : item[\"noProxy\"].map((p: any) => {\n return p;\n }),\n trustedCa: item[\"trustedCa\"],\n enabled: item[\"enabled\"],\n };\n}\n\n/** Security profile for the container service cluster. */\nexport interface ManagedClusterSecurityProfile {\n /** Microsoft Defender settings for the security profile. */\n defender?: ManagedClusterSecurityProfileDefender;\n /** Azure Key Vault [key management service](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/) settings for the security profile. */\n azureKeyVaultKms?: AzureKeyVaultKms;\n /** Workload identity settings for the security profile. Workload identity enables Kubernetes applications to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details. */\n workloadIdentity?: ManagedClusterSecurityProfileWorkloadIdentity;\n /** Image Cleaner settings for the security profile. */\n imageCleaner?: ManagedClusterSecurityProfileImageCleaner;\n /** A list of up to 10 base64 encoded CAs that will be added to the trust store on all nodes in the cluster. For more information see [Custom CA Trust Certificates](https://learn.microsoft.com/en-us/azure/aks/custom-certificate-authority). */\n customCATrustCertificates?: Uint8Array[];\n}\n\nexport function managedClusterSecurityProfileSerializer(item: ManagedClusterSecurityProfile): any {\n return {\n defender: !item[\"defender\"]\n ? item[\"defender\"]\n : managedClusterSecurityProfileDefenderSerializer(item[\"defender\"]),\n azureKeyVaultKms: !item[\"azureKeyVaultKms\"]\n ? item[\"azureKeyVaultKms\"]\n : azureKeyVaultKmsSerializer(item[\"azureKeyVaultKms\"]),\n workloadIdentity: !item[\"workloadIdentity\"]\n ? item[\"workloadIdentity\"]\n : managedClusterSecurityProfileWorkloadIdentitySerializer(item[\"workloadIdentity\"]),\n imageCleaner: !item[\"imageCleaner\"]\n ? item[\"imageCleaner\"]\n : managedClusterSecurityProfileImageCleanerSerializer(item[\"imageCleaner\"]),\n customCATrustCertificates: !item[\"customCATrustCertificates\"]\n ? item[\"customCATrustCertificates\"]\n : item[\"customCATrustCertificates\"].map((p: any) => {\n return uint8ArrayToString(p, \"base64\");\n }),\n };\n}\n\nexport function managedClusterSecurityProfileDeserializer(\n item: any,\n): ManagedClusterSecurityProfile {\n return {\n defender: !item[\"defender\"]\n ? item[\"defender\"]\n : managedClusterSecurityProfileDefenderDeserializer(item[\"defender\"]),\n azureKeyVaultKms: !item[\"azureKeyVaultKms\"]\n ? item[\"azureKeyVaultKms\"]\n : azureKeyVaultKmsDeserializer(item[\"azureKeyVaultKms\"]),\n workloadIdentity: !item[\"workloadIdentity\"]\n ? item[\"workloadIdentity\"]\n : managedClusterSecurityProfileWorkloadIdentityDeserializer(item[\"workloadIdentity\"]),\n imageCleaner: !item[\"imageCleaner\"]\n ? item[\"imageCleaner\"]\n : managedClusterSecurityProfileImageCleanerDeserializer(item[\"imageCleaner\"]),\n customCATrustCertificates: !item[\"customCATrustCertificates\"]\n ? item[\"customCATrustCertificates\"]\n : item[\"customCATrustCertificates\"].map((p: any) => {\n return typeof p === \"string\" ? stringToUint8Array(p, \"base64\") : p;\n }),\n };\n}\n\n/** Microsoft Defender settings for the security profile. */\nexport interface ManagedClusterSecurityProfileDefender {\n /** Resource ID of the Log Analytics workspace to be associated with Microsoft Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When Microsoft Defender is disabled, leave the field empty. */\n logAnalyticsWorkspaceResourceId?: string;\n /** Microsoft Defender threat detection for Cloud settings for the security profile. */\n securityMonitoring?: ManagedClusterSecurityProfileDefenderSecurityMonitoring;\n}\n\nexport function managedClusterSecurityProfileDefenderSerializer(\n item: ManagedClusterSecurityProfileDefender,\n): any {\n return {\n logAnalyticsWorkspaceResourceId: item[\"logAnalyticsWorkspaceResourceId\"],\n securityMonitoring: !item[\"securityMonitoring\"]\n ? item[\"securityMonitoring\"]\n : managedClusterSecurityProfileDefenderSecurityMonitoringSerializer(\n item[\"securityMonitoring\"],\n ),\n };\n}\n\nexport function managedClusterSecurityProfileDefenderDeserializer(\n item: any,\n): ManagedClusterSecurityProfileDefender {\n return {\n logAnalyticsWorkspaceResourceId: item[\"logAnalyticsWorkspaceResourceId\"],\n securityMonitoring: !item[\"securityMonitoring\"]\n ? item[\"securityMonitoring\"]\n : managedClusterSecurityProfileDefenderSecurityMonitoringDeserializer(\n item[\"securityMonitoring\"],\n ),\n };\n}\n\n/** Microsoft Defender settings for the security profile threat detection. */\nexport interface ManagedClusterSecurityProfileDefenderSecurityMonitoring {\n /** Whether to enable Defender threat detection */\n enabled?: boolean;\n}\n\nexport function managedClusterSecurityProfileDefenderSecurityMonitoringSerializer(\n item: ManagedClusterSecurityProfileDefenderSecurityMonitoring,\n): any {\n return { enabled: item[\"enabled\"] };\n}\n\nexport function managedClusterSecurityProfileDefenderSecurityMonitoringDeserializer(\n item: any,\n): ManagedClusterSecurityProfileDefenderSecurityMonitoring {\n return {\n enabled: item[\"enabled\"],\n };\n}\n\n/** Azure Key Vault key management service settings for the security profile. */\nexport interface AzureKeyVaultKms {\n /** Whether to enable Azure Key Vault key management service. The default is false. */\n enabled?: boolean;\n /** Identifier of Azure Key Vault key. See [key identifier format](https://docs.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When Azure Key Vault key management service is disabled, leave the field empty. */\n keyId?: string;\n /** Network access of the key vault. Network access of key vault. The possible values are `Public` and `Private`. `Public` means the key vault allows public access from all networks. `Private` means the key vault disables public access and enables private link. The default value is `Public`. */\n keyVaultNetworkAccess?: KeyVaultNetworkAccessTypes;\n /** Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and must be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. */\n keyVaultResourceId?: string;\n}\n\nexport function azureKeyVaultKmsSerializer(item: AzureKeyVaultKms): any {\n return {\n enabled: item[\"enabled\"],\n keyId: item[\"keyId\"],\n keyVaultNetworkAccess: item[\"keyVaultNetworkAccess\"],\n keyVaultResourceId: item[\"keyVaultResourceId\"],\n };\n}\n\nexport function azureKeyVaultKmsDeserializer(item: any): AzureKeyVaultKms {\n return {\n enabled: item[\"enabled\"],\n keyId: item[\"keyId\"],\n keyVaultNetworkAccess: item[\"keyVaultNetworkAccess\"],\n keyVaultResourceId: item[\"keyVaultResourceId\"],\n };\n}\n\n/** Network access of the key vault. Network access of key vault. The possible values are `Public` and `Private`. `Public` means the key vault allows public access from all networks. `Private` means the key vault disables public access and enables private link. The default value is `Public`. */\nexport enum KnownKeyVaultNetworkAccessTypes {\n /** Key vault allows public access from all networks. */\n Public = \"Public\",\n /** Key vault disables public access and enables private link. */\n Private = \"Private\",\n}\n\n/**\n * Network access of the key vault. Network access of key vault. The possible values are `Public` and `Private`. `Public` means the key vault allows public access from all networks. `Private` means the key vault disables public access and enables private link. The default value is `Public`. \\\n * {@link KnownKeyVaultNetworkAccessTypes} can be used interchangeably with KeyVaultNetworkAccessTypes,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Public**: Key vault allows public access from all networks. \\\n * **Private**: Key vault disables public access and enables private link.\n */\nexport type KeyVaultNetworkAccessTypes = string;\n\n/** Workload identity settings for the security profile. */\nexport interface ManagedClusterSecurityProfileWorkloadIdentity {\n /** Whether to enable workload identity. */\n enabled?: boolean;\n}\n\nexport function managedClusterSecurityProfileWorkloadIdentitySerializer(\n item: ManagedClusterSecurityProfileWorkloadIdentity,\n): any {\n return { enabled: item[\"enabled\"] };\n}\n\nexport function managedClusterSecurityProfileWorkloadIdentityDeserializer(\n item: any,\n): ManagedClusterSecurityProfileWorkloadIdentity {\n return {\n enabled: item[\"enabled\"],\n };\n}\n\n/** Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here are settings for the security profile. */\nexport interface ManagedClusterSecurityProfileImageCleaner {\n /** Whether to enable Image Cleaner on AKS cluster. */\n enabled?: boolean;\n /** Image Cleaner scanning interval in hours. */\n intervalHours?: number;\n}\n\nexport function managedClusterSecurityProfileImageCleanerSerializer(\n item: ManagedClusterSecurityProfileImageCleaner,\n): any {\n return { enabled: item[\"enabled\"], intervalHours: item[\"intervalHours\"] };\n}\n\nexport function managedClusterSecurityProfileImageCleanerDeserializer(\n item: any,\n): ManagedClusterSecurityProfileImageCleaner {\n return {\n enabled: item[\"enabled\"],\n intervalHours: item[\"intervalHours\"],\n };\n}\n\n/** Storage profile for the container service cluster. */\nexport interface ManagedClusterStorageProfile {\n /** AzureDisk CSI Driver settings for the storage profile. */\n diskCSIDriver?: ManagedClusterStorageProfileDiskCSIDriver;\n /** AzureFile CSI Driver settings for the storage profile. */\n fileCSIDriver?: ManagedClusterStorageProfileFileCSIDriver;\n /** Snapshot Controller settings for the storage profile. */\n snapshotController?: ManagedClusterStorageProfileSnapshotController;\n /** AzureBlob CSI Driver settings for the storage profile. */\n blobCSIDriver?: ManagedClusterStorageProfileBlobCSIDriver;\n}\n\nexport function managedClusterStorageProfileSerializer(item: ManagedClusterStorageProfile): any {\n return {\n diskCSIDriver: !item[\"diskCSIDriver\"]\n ? item[\"diskCSIDriver\"]\n : managedClusterStorageProfileDiskCSIDriverSerializer(item[\"diskCSIDriver\"]),\n fileCSIDriver: !item[\"fileCSIDriver\"]\n ? item[\"fileCSIDriver\"]\n : managedClusterStorageProfileFileCSIDriverSerializer(item[\"fileCSIDriver\"]),\n snapshotController: !item[\"snapshotController\"]\n ? item[\"snapshotController\"]\n : managedClusterStorageProfileSnapshotControllerSerializer(item[\"snapshotController\"]),\n blobCSIDriver: !item[\"blobCSIDriver\"]\n ? item[\"blobCSIDriver\"]\n : managedClusterStorageProfileBlobCSIDriverSerializer(item[\"blobCSIDriver\"]),\n };\n}\n\nexport function managedClusterStorageProfileDeserializer(item: any): ManagedClusterStorageProfile {\n return {\n diskCSIDriver: !item[\"diskCSIDriver\"]\n ? item[\"diskCSIDriver\"]\n : managedClusterStorageProfileDiskCSIDriverDeserializer(item[\"diskCSIDriver\"]),\n fileCSIDriver: !item[\"fileCSIDriver\"]\n ? item[\"fileCSIDriver\"]\n : managedClusterStorageProfileFileCSIDriverDeserializer(item[\"fileCSIDriver\"]),\n snapshotController: !item[\"snapshotController\"]\n ? item[\"snapshotController\"]\n : managedClusterStorageProfileSnapshotControllerDeserializer(item[\"snapshotController\"]),\n blobCSIDriver: !item[\"blobCSIDriver\"]\n ? item[\"blobCSIDriver\"]\n : managedClusterStorageProfileBlobCSIDriverDeserializer(item[\"blobCSIDriver\"]),\n };\n}\n\n/** AzureDisk CSI Driver settings for the storage profile. */\nexport interface ManagedClusterStorageProfileDiskCSIDriver {\n /** Whether to enable AzureDisk CSI Driver. The default value is true. */\n enabled?: boolean;\n}\n\nexport function managedClusterStorageProfileDiskCSIDriverSerializer(\n item: ManagedClusterStorageProfileDiskCSIDriver,\n): any {\n return { enabled: item[\"enabled\"] };\n}\n\nexport function managedClusterStorageProfileDiskCSIDriverDeserializer(\n item: any,\n): ManagedClusterStorageProfileDiskCSIDriver {\n return {\n enabled: item[\"enabled\"],\n };\n}\n\n/** AzureFile CSI Driver settings for the storage profile. */\nexport interface ManagedClusterStorageProfileFileCSIDriver {\n /** Whether to enable AzureFile CSI Driver. The default value is true. */\n enabled?: boolean;\n}\n\nexport function managedClusterStorageProfileFileCSIDriverSerializer(\n item: ManagedClusterStorageProfileFileCSIDriver,\n): any {\n return { enabled: item[\"enabled\"] };\n}\n\nexport function managedClusterStorageProfileFileCSIDriverDeserializer(\n item: any,\n): ManagedClusterStorageProfileFileCSIDriver {\n return {\n enabled: item[\"enabled\"],\n };\n}\n\n/** Snapshot Controller settings for the storage profile. */\nexport interface ManagedClusterStorageProfileSnapshotController {\n /** Whether to enable Snapshot Controller. The default value is true. */\n enabled?: boolean;\n}\n\nexport function managedClusterStorageProfileSnapshotControllerSerializer(\n item: ManagedClusterStorageProfileSnapshotController,\n): any {\n return { enabled: item[\"enabled\"] };\n}\n\nexport function managedClusterStorageProfileSnapshotControllerDeserializer(\n item: any,\n): ManagedClusterStorageProfileSnapshotController {\n return {\n enabled: item[\"enabled\"],\n };\n}\n\n/** AzureBlob CSI Driver settings for the storage profile. */\nexport interface ManagedClusterStorageProfileBlobCSIDriver {\n /** Whether to enable AzureBlob CSI Driver. The default value is false. */\n enabled?: boolean;\n}\n\nexport function managedClusterStorageProfileBlobCSIDriverSerializer(\n item: ManagedClusterStorageProfileBlobCSIDriver,\n): any {\n return { enabled: item[\"enabled\"] };\n}\n\nexport function managedClusterStorageProfileBlobCSIDriverDeserializer(\n item: any,\n): ManagedClusterStorageProfileBlobCSIDriver {\n return {\n enabled: item[\"enabled\"],\n };\n}\n\n/** Ingress profile for the container service cluster. */\nexport interface ManagedClusterIngressProfile {\n /** App Routing settings for the ingress profile. You can find an overview and onboarding guide for this feature at https://learn.microsoft.com/en-us/azure/aks/app-routing?tabs=default%2Cdeploy-app-default. */\n webAppRouting?: ManagedClusterIngressProfileWebAppRouting;\n}\n\nexport function managedClusterIngressProfileSerializer(item: ManagedClusterIngressProfile): any {\n return {\n webAppRouting: !item[\"webAppRouting\"]\n ? item[\"webAppRouting\"]\n : managedClusterIngressProfileWebAppRoutingSerializer(item[\"webAppRouting\"]),\n };\n}\n\nexport function managedClusterIngressProfileDeserializer(item: any): ManagedClusterIngressProfile {\n return {\n webAppRouting: !item[\"webAppRouting\"]\n ? item[\"webAppRouting\"]\n : managedClusterIngressProfileWebAppRoutingDeserializer(item[\"webAppRouting\"]),\n };\n}\n\n/** Application Routing add-on settings for the ingress profile. */\nexport interface ManagedClusterIngressProfileWebAppRouting {\n /** Whether to enable the Application Routing add-on. */\n enabled?: boolean;\n /** Resource IDs of the DNS zones to be associated with the Application Routing add-on. Used only when Application Routing add-on is enabled. Public and private DNS zones can be in different resource groups, but all public DNS zones must be in the same resource group and all private DNS zones must be in the same resource group. */\n dnsZoneResourceIds?: string[];\n /** Configuration for the default NginxIngressController. See more at https://learn.microsoft.com/en-us/azure/aks/app-routing-nginx-configuration#the-default-nginx-ingress-controller. */\n nginx?: ManagedClusterIngressProfileNginx;\n /** Managed identity of the Application Routing add-on. This is the identity that should be granted permissions, for example, to manage the associated Azure DNS resource and get certificates from Azure Key Vault. See [this overview of the add-on](https://learn.microsoft.com/en-us/azure/aks/web-app-routing?tabs=with-osm) for more instructions. */\n readonly identity?: UserAssignedIdentity;\n}\n\nexport function managedClusterIngressProfileWebAppRoutingSerializer(\n item: ManagedClusterIngressProfileWebAppRouting,\n): any {\n return {\n enabled: item[\"enabled\"],\n dnsZoneResourceIds: !item[\"dnsZoneResourceIds\"]\n ? item[\"dnsZoneResourceIds\"]\n : item[\"dnsZoneResourceIds\"].map((p: any) => {\n return p;\n }),\n nginx: !item[\"nginx\"]\n ? item[\"nginx\"]\n : managedClusterIngressProfileNginxSerializer(item[\"nginx\"]),\n };\n}\n\nexport function managedClusterIngressProfileWebAppRoutingDeserializer(\n item: any,\n): ManagedClusterIngressProfileWebAppRouting {\n return {\n enabled: item[\"enabled\"],\n dnsZoneResourceIds: !item[\"dnsZoneResourceIds\"]\n ? item[\"dnsZoneResourceIds\"]\n : item[\"dnsZoneResourceIds\"].map((p: any) => {\n return p;\n }),\n nginx: !item[\"nginx\"]\n ? item[\"nginx\"]\n : managedClusterIngressProfileNginxDeserializer(item[\"nginx\"]),\n identity: !item[\"identity\"]\n ? item[\"identity\"]\n : userAssignedIdentityDeserializer(item[\"identity\"]),\n };\n}\n\n/** Nginx ingress controller configuration for the managed cluster ingress profile. */\nexport interface ManagedClusterIngressProfileNginx {\n /** Ingress type for the default NginxIngressController custom resource */\n defaultIngressControllerType?: NginxIngressControllerType;\n}\n\nexport function managedClusterIngressProfileNginxSerializer(\n item: ManagedClusterIngressProfileNginx,\n): any {\n return { defaultIngressControllerType: item[\"defaultIngressControllerType\"] };\n}\n\nexport function managedClusterIngressProfileNginxDeserializer(\n item: any,\n): ManagedClusterIngressProfileNginx {\n return {\n defaultIngressControllerType: item[\"defaultIngressControllerType\"],\n };\n}\n\n/** Ingress type for the default NginxIngressController custom resource */\nexport enum KnownNginxIngressControllerType {\n /** The default NginxIngressController will be created. Users can edit the default NginxIngressController Custom Resource to configure load balancer annotations. */\n AnnotationControlled = \"AnnotationControlled\",\n /** The default NginxIngressController will be created and the operator will provision an external loadbalancer with it. Any annotation to make the default loadbalancer internal will be overwritten. */\n External = \"External\",\n /** The default NginxIngressController will be created and the operator will provision an internal loadbalancer with it. Any annotation to make the default loadbalancer external will be overwritten. */\n Internal = \"Internal\",\n /** The default Ingress Controller will not be created. It will not be deleted by the system if it exists. Users should delete the default NginxIngressController Custom Resource manually if desired. */\n None = \"None\",\n}\n\n/**\n * Ingress type for the default NginxIngressController custom resource \\\n * {@link KnownNginxIngressControllerType} can be used interchangeably with NginxIngressControllerType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **AnnotationControlled**: The default NginxIngressController will be created. Users can edit the default NginxIngressController Custom Resource to configure load balancer annotations. \\\n * **External**: The default NginxIngressController will be created and the operator will provision an external loadbalancer with it. Any annotation to make the default loadbalancer internal will be overwritten. \\\n * **Internal**: The default NginxIngressController will be created and the operator will provision an internal loadbalancer with it. Any annotation to make the default loadbalancer external will be overwritten. \\\n * **None**: The default Ingress Controller will not be created. It will not be deleted by the system if it exists. Users should delete the default NginxIngressController Custom Resource manually if desired.\n */\nexport type NginxIngressControllerType = string;\n\n/** PublicNetworkAccess of the managedCluster. Allow or deny public network access for AKS */\nexport enum KnownPublicNetworkAccess {\n /** Inbound/Outbound to the managedCluster is allowed. */\n Enabled = \"Enabled\",\n /** Inbound traffic to managedCluster is disabled, traffic from managedCluster is allowed. */\n Disabled = \"Disabled\",\n}\n\n/**\n * PublicNetworkAccess of the managedCluster. Allow or deny public network access for AKS \\\n * {@link KnownPublicNetworkAccess} can be used interchangeably with PublicNetworkAccess,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enabled**: Inbound\\/Outbound to the managedCluster is allowed. \\\n * **Disabled**: Inbound traffic to managedCluster is disabled, traffic from managedCluster is allowed.\n */\nexport type PublicNetworkAccess = string;\n\n/** Workload Auto-scaler profile for the managed cluster. */\nexport interface ManagedClusterWorkloadAutoScalerProfile {\n /** KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. */\n keda?: ManagedClusterWorkloadAutoScalerProfileKeda;\n /** VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile. */\n verticalPodAutoscaler?: ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler;\n}\n\nexport function managedClusterWorkloadAutoScalerProfileSerializer(\n item: ManagedClusterWorkloadAutoScalerProfile,\n): any {\n return {\n keda: !item[\"keda\"]\n ? item[\"keda\"]\n : managedClusterWorkloadAutoScalerProfileKedaSerializer(item[\"keda\"]),\n verticalPodAutoscaler: !item[\"verticalPodAutoscaler\"]\n ? item[\"verticalPodAutoscaler\"]\n : managedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerSerializer(\n item[\"verticalPodAutoscaler\"],\n ),\n };\n}\n\nexport function managedClusterWorkloadAutoScalerProfileDeserializer(\n item: any,\n): ManagedClusterWorkloadAutoScalerProfile {\n return {\n keda: !item[\"keda\"]\n ? item[\"keda\"]\n : managedClusterWorkloadAutoScalerProfileKedaDeserializer(item[\"keda\"]),\n verticalPodAutoscaler: !item[\"verticalPodAutoscaler\"]\n ? item[\"verticalPodAutoscaler\"]\n : managedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerDeserializer(\n item[\"verticalPodAutoscaler\"],\n ),\n };\n}\n\n/** KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. */\nexport interface ManagedClusterWorkloadAutoScalerProfileKeda {\n /** Whether to enable KEDA. */\n enabled: boolean;\n}\n\nexport function managedClusterWorkloadAutoScalerProfileKedaSerializer(\n item: ManagedClusterWorkloadAutoScalerProfileKeda,\n): any {\n return { enabled: item[\"enabled\"] };\n}\n\nexport function managedClusterWorkloadAutoScalerProfileKedaDeserializer(\n item: any,\n): ManagedClusterWorkloadAutoScalerProfileKeda {\n return {\n enabled: item[\"enabled\"],\n };\n}\n\n/** VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile. */\nexport interface ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler {\n /** Whether to enable VPA. Default value is false. */\n enabled: boolean;\n}\n\nexport function managedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerSerializer(\n item: ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler,\n): any {\n return { enabled: item[\"enabled\"] };\n}\n\nexport function managedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerDeserializer(\n item: any,\n): ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler {\n return {\n enabled: item[\"enabled\"],\n };\n}\n\n/** Azure Monitor addon profiles for monitoring the managed cluster. */\nexport interface ManagedClusterAzureMonitorProfile {\n /** Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview. */\n metrics?: ManagedClusterAzureMonitorProfileMetrics;\n}\n\nexport function managedClusterAzureMonitorProfileSerializer(\n item: ManagedClusterAzureMonitorProfile,\n): any {\n return {\n metrics: !item[\"metrics\"]\n ? item[\"metrics\"]\n : managedClusterAzureMonitorProfileMetricsSerializer(item[\"metrics\"]),\n };\n}\n\nexport function managedClusterAzureMonitorProfileDeserializer(\n item: any,\n): ManagedClusterAzureMonitorProfile {\n return {\n metrics: !item[\"metrics\"]\n ? item[\"metrics\"]\n : managedClusterAzureMonitorProfileMetricsDeserializer(item[\"metrics\"]),\n };\n}\n\n/** Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview. */\nexport interface ManagedClusterAzureMonitorProfileMetrics {\n /** Whether to enable or disable the Azure Managed Prometheus addon for Prometheus monitoring. See aka.ms/AzureManagedPrometheus-aks-enable for details on enabling and disabling. */\n enabled: boolean;\n /** Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for details. */\n kubeStateMetrics?: ManagedClusterAzureMonitorProfileKubeStateMetrics;\n}\n\nexport function managedClusterAzureMonitorProfileMetricsSerializer(\n item: ManagedClusterAzureMonitorProfileMetrics,\n): any {\n return {\n enabled: item[\"enabled\"],\n kubeStateMetrics: !item[\"kubeStateMetrics\"]\n ? item[\"kubeStateMetrics\"]\n : managedClusterAzureMonitorProfileKubeStateMetricsSerializer(item[\"kubeStateMetrics\"]),\n };\n}\n\nexport function managedClusterAzureMonitorProfileMetricsDeserializer(\n item: any,\n): ManagedClusterAzureMonitorProfileMetrics {\n return {\n enabled: item[\"enabled\"],\n kubeStateMetrics: !item[\"kubeStateMetrics\"]\n ? item[\"kubeStateMetrics\"]\n : managedClusterAzureMonitorProfileKubeStateMetricsDeserializer(item[\"kubeStateMetrics\"]),\n };\n}\n\n/** Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for details. */\nexport interface ManagedClusterAzureMonitorProfileKubeStateMetrics {\n /** Comma-separated list of additional Kubernetes label keys that will be used in the resource's labels metric (Example: 'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...'). By default the metric contains only resource name and namespace labels. */\n metricLabelsAllowlist?: string;\n /** Comma-separated list of Kubernetes annotation keys that will be used in the resource's labels metric (Example: 'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...'). By default the metric contains only resource name and namespace labels. */\n metricAnnotationsAllowList?: string;\n}\n\nexport function managedClusterAzureMonitorProfileKubeStateMetricsSerializer(\n item: ManagedClusterAzureMonitorProfileKubeStateMetrics,\n): any {\n return {\n metricLabelsAllowlist: item[\"metricLabelsAllowlist\"],\n metricAnnotationsAllowList: item[\"metricAnnotationsAllowList\"],\n };\n}\n\nexport function managedClusterAzureMonitorProfileKubeStateMetricsDeserializer(\n item: any,\n): ManagedClusterAzureMonitorProfileKubeStateMetrics {\n return {\n metricLabelsAllowlist: item[\"metricLabelsAllowlist\"],\n metricAnnotationsAllowList: item[\"metricAnnotationsAllowList\"],\n };\n}\n\n/** Service mesh profile for a managed cluster. */\nexport interface ServiceMeshProfile {\n /** Mode of the service mesh. */\n mode: ServiceMeshMode;\n /** Istio service mesh configuration. */\n istio?: IstioServiceMesh;\n}\n\nexport function serviceMeshProfileSerializer(item: ServiceMeshProfile): any {\n return {\n mode: item[\"mode\"],\n istio: !item[\"istio\"] ? item[\"istio\"] : istioServiceMeshSerializer(item[\"istio\"]),\n };\n}\n\nexport function serviceMeshProfileDeserializer(item: any): ServiceMeshProfile {\n return {\n mode: item[\"mode\"],\n istio: !item[\"istio\"] ? item[\"istio\"] : istioServiceMeshDeserializer(item[\"istio\"]),\n };\n}\n\n/** Mode of the service mesh. */\nexport enum KnownServiceMeshMode {\n /** Istio deployed as an AKS addon. */\n Istio = \"Istio\",\n /** Mesh is disabled. */\n Disabled = \"Disabled\",\n}\n\n/**\n * Mode of the service mesh. \\\n * {@link KnownServiceMeshMode} can be used interchangeably with ServiceMeshMode,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Istio**: Istio deployed as an AKS addon. \\\n * **Disabled**: Mesh is disabled.\n */\nexport type ServiceMeshMode = string;\n\n/** Istio service mesh configuration. */\nexport interface IstioServiceMesh {\n /** Istio components configuration. */\n components?: IstioComponents;\n /** Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described here https://aka.ms/asm-plugin-ca */\n certificateAuthority?: IstioCertificateAuthority;\n /** The list of revisions of the Istio control plane. When an upgrade is not in progress, this holds one value. When canary upgrade is in progress, this can only hold two consecutive values. For more information, see: https://learn.microsoft.com/en-us/azure/aks/istio-upgrade */\n revisions?: string[];\n}\n\nexport function istioServiceMeshSerializer(item: IstioServiceMesh): any {\n return {\n components: !item[\"components\"]\n ? item[\"components\"]\n : istioComponentsSerializer(item[\"components\"]),\n certificateAuthority: !item[\"certificateAuthority\"]\n ? item[\"certificateAuthority\"]\n : istioCertificateAuthoritySerializer(item[\"certificateAuthority\"]),\n revisions: !item[\"revisions\"]\n ? item[\"revisions\"]\n : item[\"revisions\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function istioServiceMeshDeserializer(item: any): IstioServiceMesh {\n return {\n components: !item[\"components\"]\n ? item[\"components\"]\n : istioComponentsDeserializer(item[\"components\"]),\n certificateAuthority: !item[\"certificateAuthority\"]\n ? item[\"certificateAuthority\"]\n : istioCertificateAuthorityDeserializer(item[\"certificateAuthority\"]),\n revisions: !item[\"revisions\"]\n ? item[\"revisions\"]\n : item[\"revisions\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Istio components configuration. */\nexport interface IstioComponents {\n /** Istio ingress gateways. */\n ingressGateways?: IstioIngressGateway[];\n /** Istio egress gateways. */\n egressGateways?: IstioEgressGateway[];\n /** Mode of traffic redirection. */\n proxyRedirectionMechanism?: ProxyRedirectionMechanism;\n}\n\nexport function istioComponentsSerializer(item: IstioComponents): any {\n return {\n ingressGateways: !item[\"ingressGateways\"]\n ? item[\"ingressGateways\"]\n : istioIngressGatewayArraySerializer(item[\"ingressGateways\"]),\n egressGateways: !item[\"egressGateways\"]\n ? item[\"egressGateways\"]\n : istioEgressGatewayArraySerializer(item[\"egressGateways\"]),\n proxyRedirectionMechanism: item[\"proxyRedirectionMechanism\"],\n };\n}\n\nexport function istioComponentsDeserializer(item: any): IstioComponents {\n return {\n ingressGateways: !item[\"ingressGateways\"]\n ? item[\"ingressGateways\"]\n : istioIngressGatewayArrayDeserializer(item[\"ingressGateways\"]),\n egressGateways: !item[\"egressGateways\"]\n ? item[\"egressGateways\"]\n : istioEgressGatewayArrayDeserializer(item[\"egressGateways\"]),\n proxyRedirectionMechanism: item[\"proxyRedirectionMechanism\"],\n };\n}\n\nexport function istioIngressGatewayArraySerializer(result: Array<IstioIngressGateway>): any[] {\n return result.map((item) => {\n return istioIngressGatewaySerializer(item);\n });\n}\n\nexport function istioIngressGatewayArrayDeserializer(result: Array<IstioIngressGateway>): any[] {\n return result.map((item) => {\n return istioIngressGatewayDeserializer(item);\n });\n}\n\n/** Istio ingress gateway configuration. For now, we support up to one external ingress gateway named `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`. */\nexport interface IstioIngressGateway {\n /** Mode of an ingress gateway. */\n mode: IstioIngressGatewayMode;\n /** Whether to enable the ingress gateway. */\n enabled: boolean;\n}\n\nexport function istioIngressGatewaySerializer(item: IstioIngressGateway): any {\n return { mode: item[\"mode\"], enabled: item[\"enabled\"] };\n}\n\nexport function istioIngressGatewayDeserializer(item: any): IstioIngressGateway {\n return {\n mode: item[\"mode\"],\n enabled: item[\"enabled\"],\n };\n}\n\n/** Mode of an ingress gateway. */\nexport enum KnownIstioIngressGatewayMode {\n /** The ingress gateway is assigned a public IP address and is publicly accessible. */\n External = \"External\",\n /** The ingress gateway is assigned an internal IP address and cannot is accessed publicly. */\n Internal = \"Internal\",\n}\n\n/**\n * Mode of an ingress gateway. \\\n * {@link KnownIstioIngressGatewayMode} can be used interchangeably with IstioIngressGatewayMode,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **External**: The ingress gateway is assigned a public IP address and is publicly accessible. \\\n * **Internal**: The ingress gateway is assigned an internal IP address and cannot is accessed publicly.\n */\nexport type IstioIngressGatewayMode = string;\n\nexport function istioEgressGatewayArraySerializer(result: Array<IstioEgressGateway>): any[] {\n return result.map((item) => {\n return istioEgressGatewaySerializer(item);\n });\n}\n\nexport function istioEgressGatewayArrayDeserializer(result: Array<IstioEgressGateway>): any[] {\n return result.map((item) => {\n return istioEgressGatewayDeserializer(item);\n });\n}\n\n/** Istio egress gateway configuration. */\nexport interface IstioEgressGateway {\n /** Whether to enable the egress gateway. */\n enabled: boolean;\n /** Name of the Istio add-on egress gateway. */\n name: string;\n /** Namespace that the Istio add-on egress gateway should be deployed in. If unspecified, the default is aks-istio-egress. */\n namespace?: string;\n /** Name of the gateway configuration custom resource for the Istio add-on egress gateway. Must be specified when enabling the Istio egress gateway. Must be deployed in the same namespace that the Istio egress gateway will be deployed in. */\n gatewayConfigurationName?: string;\n}\n\nexport function istioEgressGatewaySerializer(item: IstioEgressGateway): any {\n return {\n enabled: item[\"enabled\"],\n name: item[\"name\"],\n namespace: item[\"namespace\"],\n gatewayConfigurationName: item[\"gatewayConfigurationName\"],\n };\n}\n\nexport function istioEgressGatewayDeserializer(item: any): IstioEgressGateway {\n return {\n enabled: item[\"enabled\"],\n name: item[\"name\"],\n namespace: item[\"namespace\"],\n gatewayConfigurationName: item[\"gatewayConfigurationName\"],\n };\n}\n\n/** Mode of traffic redirection. */\nexport enum KnownProxyRedirectionMechanism {\n /** Istio will inject an init container into each pod to redirect traffic (requires NET_ADMIN and NET_RAW). */\n InitContainers = \"InitContainers\",\n /** Istio will install a chained CNI plugin to redirect traffic (recommended). */\n CNIChaining = \"CNIChaining\",\n}\n\n/**\n * Mode of traffic redirection. \\\n * {@link KnownProxyRedirectionMechanism} can be used interchangeably with ProxyRedirectionMechanism,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **InitContainers**: Istio will inject an init container into each pod to redirect traffic (requires NET_ADMIN and NET_RAW). \\\n * **CNIChaining**: Istio will install a chained CNI plugin to redirect traffic (recommended).\n */\nexport type ProxyRedirectionMechanism = string;\n\n/** Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described here https://aka.ms/asm-plugin-ca */\nexport interface IstioCertificateAuthority {\n /** Plugin certificates information for Service Mesh. */\n plugin?: IstioPluginCertificateAuthority;\n}\n\nexport function istioCertificateAuthoritySerializer(item: IstioCertificateAuthority): any {\n return {\n plugin: !item[\"plugin\"]\n ? item[\"plugin\"]\n : istioPluginCertificateAuthoritySerializer(item[\"plugin\"]),\n };\n}\n\nexport function istioCertificateAuthorityDeserializer(item: any): IstioCertificateAuthority {\n return {\n plugin: !item[\"plugin\"]\n ? item[\"plugin\"]\n : istioPluginCertificateAuthorityDeserializer(item[\"plugin\"]),\n };\n}\n\n/** Plugin certificates information for Service Mesh. */\nexport interface IstioPluginCertificateAuthority {\n /** The resource ID of the Key Vault. */\n keyVaultId?: string;\n /** Intermediate certificate object name in Azure Key Vault. */\n certObjectName?: string;\n /** Intermediate certificate private key object name in Azure Key Vault. */\n keyObjectName?: string;\n /** Root certificate object name in Azure Key Vault. */\n rootCertObjectName?: string;\n /** Certificate chain object name in Azure Key Vault. */\n certChainObjectName?: string;\n}\n\nexport function istioPluginCertificateAuthoritySerializer(\n item: IstioPluginCertificateAuthority,\n): any {\n return {\n keyVaultId: item[\"keyVaultId\"],\n certObjectName: item[\"certObjectName\"],\n keyObjectName: item[\"keyObjectName\"],\n rootCertObjectName: item[\"rootCertObjectName\"],\n certChainObjectName: item[\"certChainObjectName\"],\n };\n}\n\nexport function istioPluginCertificateAuthorityDeserializer(\n item: any,\n): IstioPluginCertificateAuthority {\n return {\n keyVaultId: item[\"keyVaultId\"],\n certObjectName: item[\"certObjectName\"],\n keyObjectName: item[\"keyObjectName\"],\n rootCertObjectName: item[\"rootCertObjectName\"],\n certChainObjectName: item[\"certChainObjectName\"],\n };\n}\n\n/** The metrics profile for the ManagedCluster. */\nexport interface ManagedClusterMetricsProfile {\n /** The configuration for detailed per-Kubernetes resource cost analysis. */\n costAnalysis?: ManagedClusterCostAnalysis;\n}\n\nexport function managedClusterMetricsProfileSerializer(item: ManagedClusterMetricsProfile): any {\n return {\n costAnalysis: !item[\"costAnalysis\"]\n ? item[\"costAnalysis\"]\n : managedClusterCostAnalysisSerializer(item[\"costAnalysis\"]),\n };\n}\n\nexport function managedClusterMetricsProfileDeserializer(item: any): ManagedClusterMetricsProfile {\n return {\n costAnalysis: !item[\"costAnalysis\"]\n ? item[\"costAnalysis\"]\n : managedClusterCostAnalysisDeserializer(item[\"costAnalysis\"]),\n };\n}\n\n/** The cost analysis configuration for the cluster */\nexport interface ManagedClusterCostAnalysis {\n /** Whether to enable cost analysis. The Managed Cluster sku.tier must be set to 'Standard' or 'Premium' to enable this feature. Enabling this will add Kubernetes Namespace and Deployment details to the Cost Analysis views in the Azure portal. If not specified, the default is false. For more information see aka.ms/aks/docs/cost-analysis. */\n enabled?: boolean;\n}\n\nexport function managedClusterCostAnalysisSerializer(item: ManagedClusterCostAnalysis): any {\n return { enabled: item[\"enabled\"] };\n}\n\nexport function managedClusterCostAnalysisDeserializer(item: any): ManagedClusterCostAnalysis {\n return {\n enabled: item[\"enabled\"],\n };\n}\n\n/** Node provisioning profile for the managed cluster. */\nexport interface ManagedClusterNodeProvisioningProfile {\n /** The node provisioning mode. If not specified, the default is Manual. */\n mode?: NodeProvisioningMode;\n /** The set of default Karpenter NodePools (CRDs) configured for node provisioning. This field has no effect unless mode is 'Auto'. Warning: Changing this from Auto to None on an existing cluster will cause the default Karpenter NodePools to be deleted, which will drain and delete the nodes associated with those pools. It is strongly recommended to not do this unless there are idle nodes ready to take the pods evicted by that action. If not specified, the default is Auto. For more information see aka.ms/aks/nap#node-pools. */\n defaultNodePools?: NodeProvisioningDefaultNodePools;\n}\n\nexport function managedClusterNodeProvisioningProfileSerializer(\n item: ManagedClusterNodeProvisioningProfile,\n): any {\n return { mode: item[\"mode\"], defaultNodePools: item[\"defaultNodePools\"] };\n}\n\nexport function managedClusterNodeProvisioningProfileDeserializer(\n item: any,\n): ManagedClusterNodeProvisioningProfile {\n return {\n mode: item[\"mode\"],\n defaultNodePools: item[\"defaultNodePools\"],\n };\n}\n\n/** The node provisioning mode. If not specified, the default is Manual. */\nexport enum KnownNodeProvisioningMode {\n /** Nodes are provisioned manually by the user */\n Manual = \"Manual\",\n /** Nodes are provisioned automatically by AKS using Karpenter (See aka.ms/aks/nap for more details). Fixed size Node Pools can still be created, but autoscaling Node Pools cannot be. (See aka.ms/aks/nap for more details). */\n Auto = \"Auto\",\n}\n\n/**\n * The node provisioning mode. If not specified, the default is Manual. \\\n * {@link KnownNodeProvisioningMode} can be used interchangeably with NodeProvisioningMode,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Manual**: Nodes are provisioned manually by the user \\\n * **Auto**: Nodes are provisioned automatically by AKS using Karpenter (See aka.ms\\/aks\\/nap for more details). Fixed size Node Pools can still be created, but autoscaling Node Pools cannot be. (See aka.ms\\/aks\\/nap for more details).\n */\nexport type NodeProvisioningMode = string;\n\n/** The set of default Karpenter NodePools (CRDs) configured for node provisioning. This field has no effect unless mode is 'Auto'. Warning: Changing this from Auto to None on an existing cluster will cause the default Karpenter NodePools to be deleted, which will drain and delete the nodes associated with those pools. It is strongly recommended to not do this unless there are idle nodes ready to take the pods evicted by that action. If not specified, the default is Auto. For more information see aka.ms/aks/nap#node-pools. */\nexport enum KnownNodeProvisioningDefaultNodePools {\n /** No Karpenter NodePools are provisioned automatically. Automatic scaling will not happen unless the user creates one or more NodePool CRD instances. */\n None = \"None\",\n /** A standard set of Karpenter NodePools are provisioned */\n Auto = \"Auto\",\n}\n\n/**\n * The set of default Karpenter NodePools (CRDs) configured for node provisioning. This field has no effect unless mode is 'Auto'. Warning: Changing this from Auto to None on an existing cluster will cause the default Karpenter NodePools to be deleted, which will drain and delete the nodes associated with those pools. It is strongly recommended to not do this unless there are idle nodes ready to take the pods evicted by that action. If not specified, the default is Auto. For more information see aka.ms/aks/nap#node-pools. \\\n * {@link KnownNodeProvisioningDefaultNodePools} can be used interchangeably with NodeProvisioningDefaultNodePools,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **None**: No Karpenter NodePools are provisioned automatically. Automatic scaling will not happen unless the user creates one or more NodePool CRD instances. \\\n * **Auto**: A standard set of Karpenter NodePools are provisioned\n */\nexport type NodeProvisioningDefaultNodePools = string;\n\n/** The bootstrap profile. */\nexport interface ManagedClusterBootstrapProfile {\n /** The artifact source. The source where the artifacts are downloaded from. */\n artifactSource?: ArtifactSource;\n /** The resource Id of Azure Container Registry. The registry must have private network access, premium SKU and zone redundancy. */\n containerRegistryId?: string;\n}\n\nexport function managedClusterBootstrapProfileSerializer(\n item: ManagedClusterBootstrapProfile,\n): any {\n return {\n artifactSource: item[\"artifactSource\"],\n containerRegistryId: item[\"containerRegistryId\"],\n };\n}\n\nexport function managedClusterBootstrapProfileDeserializer(\n item: any,\n): ManagedClusterBootstrapProfile {\n return {\n artifactSource: item[\"artifactSource\"],\n containerRegistryId: item[\"containerRegistryId\"],\n };\n}\n\n/** The artifact source. The source where the artifacts are downloaded from. */\nexport enum KnownArtifactSource {\n /** pull images from Azure Container Registry with cache */\n Cache = \"Cache\",\n /** pull images from Microsoft Artifact Registry */\n Direct = \"Direct\",\n}\n\n/**\n * The artifact source. The source where the artifacts are downloaded from. \\\n * {@link KnownArtifactSource} can be used interchangeably with ArtifactSource,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Cache**: pull images from Azure Container Registry with cache \\\n * **Direct**: pull images from Microsoft Artifact Registry\n */\nexport type ArtifactSource = string;\n\n/** When enabling the operator, a set of AKS managed CRDs and controllers will be installed in the cluster. The operator automates the deployment of OSS models for inference and/or training purposes. It provides a set of preset models and enables distributed inference against them. */\nexport interface ManagedClusterAIToolchainOperatorProfile {\n /** Whether to enable AI toolchain operator to the cluster. Indicates if AI toolchain operator enabled or not. */\n enabled?: boolean;\n}\n\nexport function managedClusterAIToolchainOperatorProfileSerializer(\n item: ManagedClusterAIToolchainOperatorProfile,\n): any {\n return { enabled: item[\"enabled\"] };\n}\n\nexport function managedClusterAIToolchainOperatorProfileDeserializer(\n item: any,\n): ManagedClusterAIToolchainOperatorProfile {\n return {\n enabled: item[\"enabled\"],\n };\n}\n\n/** Contains read-only information about the Managed Cluster. */\nexport interface ManagedClusterStatus {\n /** The error details information of the managed cluster. Preserves the detailed info of failure. If there was no error, this field is omitted. */\n readonly provisioningError?: ErrorDetail;\n}\n\nexport function managedClusterStatusSerializer(item: ManagedClusterStatus): any {\n return item;\n}\n\nexport function managedClusterStatusDeserializer(item: any): ManagedClusterStatus {\n return {\n provisioningError: !item[\"provisioningError\"]\n ? item[\"provisioningError\"]\n : errorDetailDeserializer(item[\"provisioningError\"]),\n };\n}\n\n/** The SKU of a Managed Cluster. */\nexport interface ManagedClusterSKU {\n /** The name of a managed cluster SKU. */\n name?: ManagedClusterSKUName;\n /** The tier of a managed cluster SKU. If not specified, the default is 'Free'. See [AKS Pricing Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. */\n tier?: ManagedClusterSKUTier;\n}\n\nexport function managedClusterSKUSerializer(item: ManagedClusterSKU): any {\n return { name: item[\"name\"], tier: item[\"tier\"] };\n}\n\nexport function managedClusterSKUDeserializer(item: any): ManagedClusterSKU {\n return {\n name: item[\"name\"],\n tier: item[\"tier\"],\n };\n}\n\n/** The name of a managed cluster SKU. */\nexport enum KnownManagedClusterSKUName {\n /** Base option for the AKS control plane. */\n Base = \"Base\",\n /** Automatic clusters are optimized to run most production workloads with configuration that follows AKS best practices and recommendations for cluster and workload setup, scalability, and security. For more details about Automatic clusters see aka.ms/aks/automatic. */\n Automatic = \"Automatic\",\n}\n\n/**\n * The name of a managed cluster SKU. \\\n * {@link KnownManagedClusterSKUName} can be used interchangeably with ManagedClusterSKUName,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Base**: Base option for the AKS control plane. \\\n * **Automatic**: Automatic clusters are optimized to run most production workloads with configuration that follows AKS best practices and recommendations for cluster and workload setup, scalability, and security. For more details about Automatic clusters see aka.ms\\/aks\\/automatic.\n */\nexport type ManagedClusterSKUName = string;\n\n/** The tier of a managed cluster SKU. If not specified, the default is 'Free'. See [AKS Pricing Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. */\nexport enum KnownManagedClusterSKUTier {\n /** Cluster has premium capabilities in addition to all of the capabilities included in 'Standard'. Premium enables selection of LongTermSupport (aka.ms/aks/lts) for certain Kubernetes versions. */\n Premium = \"Premium\",\n /** Recommended for mission-critical and production workloads. Includes Kubernetes control plane autoscaling, workload-intensive testing, and up to 5,000 nodes per cluster. Guarantees 99.95% availability of the Kubernetes API server endpoint for clusters that use Availability Zones and 99.9% of availability for clusters that don't use Availability Zones. */\n Standard = \"Standard\",\n /** The cluster management is free, but charged for VM, storage, and networking usage. Best for experimenting, learning, simple testing, or workloads with fewer than 10 nodes. Not recommended for production use cases. */\n Free = \"Free\",\n}\n\n/**\n * The tier of a managed cluster SKU. If not specified, the default is 'Free'. See [AKS Pricing Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. \\\n * {@link KnownManagedClusterSKUTier} can be used interchangeably with ManagedClusterSKUTier,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Premium**: Cluster has premium capabilities in addition to all of the capabilities included in 'Standard'. Premium enables selection of LongTermSupport (aka.ms\\/aks\\/lts) for certain Kubernetes versions. \\\n * **Standard**: Recommended for mission-critical and production workloads. Includes Kubernetes control plane autoscaling, workload-intensive testing, and up to 5,000 nodes per cluster. Guarantees 99.95% availability of the Kubernetes API server endpoint for clusters that use Availability Zones and 99.9% of availability for clusters that don't use Availability Zones. \\\n * **Free**: The cluster management is free, but charged for VM, storage, and networking usage. Best for experimenting, learning, simple testing, or workloads with fewer than 10 nodes. Not recommended for production use cases.\n */\nexport type ManagedClusterSKUTier = string;\n\n/** The complex type of the extended location. */\nexport interface ExtendedLocation {\n /** The name of the extended location. */\n name?: string;\n /** The type of the extended location. */\n type?: ExtendedLocationTypes;\n}\n\nexport function extendedLocationSerializer(item: ExtendedLocation): any {\n return { name: item[\"name\"], type: item[\"type\"] };\n}\n\nexport function extendedLocationDeserializer(item: any): ExtendedLocation {\n return {\n name: item[\"name\"],\n type: item[\"type\"],\n };\n}\n\n/** The type of extendedLocation. */\nexport enum KnownExtendedLocationTypes {\n /** Azure Edge Zone extended location type. */\n EdgeZone = \"EdgeZone\",\n}\n\n/**\n * The type of extendedLocation. \\\n * {@link KnownExtendedLocationTypes} can be used interchangeably with ExtendedLocationTypes,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **EdgeZone**: Azure Edge Zone extended location type.\n */\nexport type ExtendedLocationTypes = string;\n\n/** Identity for the managed cluster. */\nexport interface ManagedClusterIdentity {\n /** The principal id of the system assigned identity which is used by master components. */\n readonly principalId?: string;\n /** The tenant id of the system assigned identity which is used by master components. */\n readonly tenantId?: string;\n /** The type of identity used for the managed cluster. For more information see [use managed identities in AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). */\n type?: ResourceIdentityType;\n /** The delegated identity resources assigned to this managed cluster. This can only be set by another Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only. */\n delegatedResources?: Record<string, DelegatedResource>;\n /** The user identity associated with the managed cluster. This identity will be used in control plane. Only one user assigned identity is allowed. The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. */\n userAssignedIdentities?: Record<string, ManagedServiceIdentityUserAssignedIdentitiesValue>;\n}\n\nexport function managedClusterIdentitySerializer(item: ManagedClusterIdentity): any {\n return {\n type: item[\"type\"],\n delegatedResources: !item[\"delegatedResources\"]\n ? item[\"delegatedResources\"]\n : delegatedResourceRecordSerializer(item[\"delegatedResources\"]),\n userAssignedIdentities: !item[\"userAssignedIdentities\"]\n ? item[\"userAssignedIdentities\"]\n : managedServiceIdentityUserAssignedIdentitiesValueRecordSerializer(\n item[\"userAssignedIdentities\"],\n ),\n };\n}\n\nexport function managedClusterIdentityDeserializer(item: any): ManagedClusterIdentity {\n return {\n principalId: item[\"principalId\"],\n tenantId: item[\"tenantId\"],\n type: item[\"type\"],\n delegatedResources: !item[\"delegatedResources\"]\n ? item[\"delegatedResources\"]\n : delegatedResourceRecordDeserializer(item[\"delegatedResources\"]),\n userAssignedIdentities: !item[\"userAssignedIdentities\"]\n ? item[\"userAssignedIdentities\"]\n : managedServiceIdentityUserAssignedIdentitiesValueRecordDeserializer(\n item[\"userAssignedIdentities\"],\n ),\n };\n}\n\n/** The type of identity used for the managed cluster. For more information see [use managed identities in AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). */\nexport enum KnownResourceIdentityType {\n /** Use an implicitly created system assigned managed identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the system assigned managed identity to manipulate Azure resources. */\n SystemAssigned = \"SystemAssigned\",\n /** Use a user-specified identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the specified user assigned managed identity to manipulate Azure resources. */\n UserAssigned = \"UserAssigned\",\n /** Do not use a managed identity for the Managed Cluster, service principal will be used instead. */\n None = \"None\",\n}\n\n/**\n * The type of identity used for the managed cluster. For more information see [use managed identities in AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). \\\n * {@link KnownResourceIdentityType} can be used interchangeably with ResourceIdentityType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **SystemAssigned**: Use an implicitly created system assigned managed identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the system assigned managed identity to manipulate Azure resources. \\\n * **UserAssigned**: Use a user-specified identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the specified user assigned managed identity to manipulate Azure resources. \\\n * **None**: Do not use a managed identity for the Managed Cluster, service principal will be used instead.\n */\nexport type ResourceIdentityType = string;\n\nexport function delegatedResourceRecordSerializer(\n item: Record<string, DelegatedResource>,\n): Record<string, any> {\n const result: Record<string, any> = {};\n Object.keys(item).map((key) => {\n result[key] = !item[key] ? item[key] : delegatedResourceSerializer(item[key]);\n });\n return result;\n}\n\nexport function delegatedResourceRecordDeserializer(\n item: Record<string, any>,\n): Record<string, DelegatedResource> {\n const result: Record<string, any> = {};\n Object.keys(item).map((key) => {\n result[key] = !item[key] ? item[key] : delegatedResourceDeserializer(item[key]);\n });\n return result;\n}\n\n/** Delegated resource properties - internal use only. */\nexport interface DelegatedResource {\n /** The ARM resource id of the delegated resource - internal use only. */\n resourceId?: string;\n /** The tenant id of the delegated resource - internal use only. */\n tenantId?: string;\n /** The delegation id of the referral delegation (optional) - internal use only. */\n referralResource?: string;\n /** The source resource location - internal use only. */\n location?: string;\n}\n\nexport function delegatedResourceSerializer(item: DelegatedResource): any {\n return {\n resourceId: item[\"resourceId\"],\n tenantId: item[\"tenantId\"],\n referralResource: item[\"referralResource\"],\n location: item[\"location\"],\n };\n}\n\nexport function delegatedResourceDeserializer(item: any): DelegatedResource {\n return {\n resourceId: item[\"resourceId\"],\n tenantId: item[\"tenantId\"],\n referralResource: item[\"referralResource\"],\n location: item[\"location\"],\n };\n}\n\nexport function managedServiceIdentityUserAssignedIdentitiesValueRecordSerializer(\n item: Record<string, ManagedServiceIdentityUserAssignedIdentitiesValue>,\n): Record<string, any> {\n const result: Record<string, any> = {};\n Object.keys(item).map((key) => {\n result[key] = !item[key]\n ? item[key]\n : managedServiceIdentityUserAssignedIdentitiesValueSerializer(item[key]);\n });\n return result;\n}\n\nexport function managedServiceIdentityUserAssignedIdentitiesValueRecordDeserializer(\n item: Record<string, any>,\n): Record<string, ManagedServiceIdentityUserAssignedIdentitiesValue> {\n const result: Record<string, any> = {};\n Object.keys(item).map((key) => {\n result[key] = !item[key]\n ? item[key]\n : managedServiceIdentityUserAssignedIdentitiesValueDeserializer(item[key]);\n });\n return result;\n}\n\n/** User assigned identity properties. */\nexport interface ManagedServiceIdentityUserAssignedIdentitiesValue {\n /** The principal id of user assigned identity. */\n readonly principalId?: string;\n /** The client id of user assigned identity. */\n readonly clientId?: string;\n}\n\nexport function managedServiceIdentityUserAssignedIdentitiesValueSerializer(\n item: ManagedServiceIdentityUserAssignedIdentitiesValue,\n): any {\n return item;\n}\n\nexport function managedServiceIdentityUserAssignedIdentitiesValueDeserializer(\n item: any,\n): ManagedServiceIdentityUserAssignedIdentitiesValue {\n return {\n principalId: item[\"principalId\"],\n clientId: item[\"clientId\"],\n };\n}\n\n/** The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location' */\nexport interface TrackedResource extends Resource {\n /** Resource tags. */\n tags?: Record<string, string>;\n /** The geo-location where the resource lives */\n location: string;\n}\n\nexport function trackedResourceSerializer(item: TrackedResource): any {\n return { tags: item[\"tags\"], location: item[\"location\"] };\n}\n\nexport function trackedResourceDeserializer(item: any): TrackedResource {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n location: item[\"location\"],\n };\n}\n\n/** Tags object for patch operations. */\nexport interface TagsObject {\n /** Resource tags. */\n tags?: Record<string, string>;\n}\n\nexport function tagsObjectSerializer(item: TagsObject): any {\n return { tags: item[\"tags\"] };\n}\n\n/** The response of a ManagedCluster list operation. */\nexport interface _ManagedClusterListResult {\n /** The ManagedCluster items on this page */\n value: ManagedCluster[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _managedClusterListResultDeserializer(item: any): _ManagedClusterListResult {\n return {\n value: managedClusterArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function managedClusterArraySerializer(result: Array<ManagedCluster>): any[] {\n return result.map((item) => {\n return managedClusterSerializer(item);\n });\n}\n\nexport function managedClusterArrayDeserializer(result: Array<ManagedCluster>): any[] {\n return result.map((item) => {\n return managedClusterDeserializer(item);\n });\n}\n\n/** Managed cluster Access Profile. */\nexport interface ManagedClusterAccessProfile extends TrackedResource {\n /** Base64-encoded Kubernetes configuration file. */\n kubeConfig?: Uint8Array;\n}\n\nexport function managedClusterAccessProfileDeserializer(item: any): ManagedClusterAccessProfile {\n return {\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _managedClusterAccessProfilePropertiesDeserializer(item[\"properties\"])),\n };\n}\n\n/** Profile for enabling a user to access a managed cluster. */\nexport interface AccessProfile {\n /** Base64-encoded Kubernetes configuration file. */\n kubeConfig?: Uint8Array;\n}\n\nexport function accessProfileDeserializer(item: any): AccessProfile {\n return {\n kubeConfig: !item[\"kubeConfig\"]\n ? item[\"kubeConfig\"]\n : typeof item[\"kubeConfig\"] === \"string\"\n ? stringToUint8Array(item[\"kubeConfig\"], \"base64\")\n : item[\"kubeConfig\"],\n };\n}\n\n/** The list credential result response. */\nexport interface CredentialResults {\n /** Base64-encoded Kubernetes configuration file. */\n readonly kubeconfigs?: CredentialResult[];\n}\n\nexport function credentialResultsDeserializer(item: any): CredentialResults {\n return {\n kubeconfigs: !item[\"kubeconfigs\"]\n ? item[\"kubeconfigs\"]\n : credentialResultArrayDeserializer(item[\"kubeconfigs\"]),\n };\n}\n\nexport function credentialResultArrayDeserializer(result: Array<CredentialResult>): any[] {\n return result.map((item) => {\n return credentialResultDeserializer(item);\n });\n}\n\n/** The credential result response. */\nexport interface CredentialResult {\n /** The name of the credential. */\n readonly name?: string;\n /** Base64-encoded Kubernetes configuration file. */\n readonly value?: Uint8Array;\n}\n\nexport function credentialResultDeserializer(item: any): CredentialResult {\n return {\n name: item[\"name\"],\n value: !item[\"value\"]\n ? item[\"value\"]\n : typeof item[\"value\"] === \"string\"\n ? stringToUint8Array(item[\"value\"], \"base64\")\n : item[\"value\"],\n };\n}\n\n/** A run command request */\nexport interface RunCommandRequest {\n /** The command to run. */\n command: string;\n /** A base64 encoded zip file containing the files required by the command. */\n context?: string;\n /** AuthToken issued for AKS AAD Server App. */\n clusterToken?: string;\n}\n\nexport function runCommandRequestSerializer(item: RunCommandRequest): any {\n return { command: item[\"command\"], context: item[\"context\"], clusterToken: item[\"clusterToken\"] };\n}\n\n/** run command result. */\nexport interface RunCommandResult {\n /** The command id. */\n readonly id?: string;\n /** provisioning State */\n readonly provisioningState?: string;\n /** The exit code of the command */\n readonly exitCode?: number;\n /** The time when the command started. */\n readonly startedAt?: Date;\n /** The time when the command finished. */\n readonly finishedAt?: Date;\n /** The command output. */\n readonly logs?: string;\n /** An explanation of why provisioningState is set to failed (if so). */\n readonly reason?: string;\n}\n\nexport function runCommandResultDeserializer(item: any): RunCommandResult {\n return {\n id: item[\"id\"],\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _runCommandResultPropertiesDeserializer(item[\"properties\"])),\n };\n}\n\n/** The results of a run command */\nexport interface CommandResultProperties {\n /** provisioning State */\n readonly provisioningState?: string;\n /** The exit code of the command */\n readonly exitCode?: number;\n /** The time when the command started. */\n readonly startedAt?: Date;\n /** The time when the command finished. */\n readonly finishedAt?: Date;\n /** The command output. */\n readonly logs?: string;\n /** An explanation of why provisioningState is set to failed (if so). */\n readonly reason?: string;\n}\n\nexport function commandResultPropertiesDeserializer(item: any): CommandResultProperties {\n return {\n provisioningState: item[\"provisioningState\"],\n exitCode: item[\"exitCode\"],\n startedAt: !item[\"startedAt\"] ? item[\"startedAt\"] : new Date(item[\"startedAt\"]),\n finishedAt: !item[\"finishedAt\"] ? item[\"finishedAt\"] : new Date(item[\"finishedAt\"]),\n logs: item[\"logs\"],\n reason: item[\"reason\"],\n };\n}\n\n/** Collection of OutboundEnvironmentEndpoint */\nexport interface _OutboundEnvironmentEndpointCollection {\n /** The OutboundEnvironmentEndpoint items on this page */\n value: OutboundEnvironmentEndpoint[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _outboundEnvironmentEndpointCollectionDeserializer(\n item: any,\n): _OutboundEnvironmentEndpointCollection {\n return {\n value: outboundEnvironmentEndpointArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function outboundEnvironmentEndpointArrayDeserializer(\n result: Array<OutboundEnvironmentEndpoint>,\n): any[] {\n return result.map((item) => {\n return outboundEnvironmentEndpointDeserializer(item);\n });\n}\n\n/** Egress endpoints which AKS agent nodes connect to for common purpose. */\nexport interface OutboundEnvironmentEndpoint {\n /** The category of endpoints accessed by the AKS agent node, e.g. azure-resource-management, apiserver, etc. */\n category?: string;\n /** The endpoints that AKS agent nodes connect to */\n endpoints?: EndpointDependency[];\n}\n\nexport function outboundEnvironmentEndpointDeserializer(item: any): OutboundEnvironmentEndpoint {\n return {\n category: item[\"category\"],\n endpoints: !item[\"endpoints\"]\n ? item[\"endpoints\"]\n : endpointDependencyArrayDeserializer(item[\"endpoints\"]),\n };\n}\n\nexport function endpointDependencyArrayDeserializer(result: Array<EndpointDependency>): any[] {\n return result.map((item) => {\n return endpointDependencyDeserializer(item);\n });\n}\n\n/** A domain name that AKS agent nodes are reaching at. */\nexport interface EndpointDependency {\n /** The domain name of the dependency. */\n domainName?: string;\n /** The Ports and Protocols used when connecting to domainName. */\n endpointDetails?: EndpointDetail[];\n}\n\nexport function endpointDependencyDeserializer(item: any): EndpointDependency {\n return {\n domainName: item[\"domainName\"],\n endpointDetails: !item[\"endpointDetails\"]\n ? item[\"endpointDetails\"]\n : endpointDetailArrayDeserializer(item[\"endpointDetails\"]),\n };\n}\n\nexport function endpointDetailArrayDeserializer(result: Array<EndpointDetail>): any[] {\n return result.map((item) => {\n return endpointDetailDeserializer(item);\n });\n}\n\n/** connect information from the AKS agent nodes to a single endpoint. */\nexport interface EndpointDetail {\n /** An IP Address that Domain Name currently resolves to. */\n ipAddress?: string;\n /** The port an endpoint is connected to. */\n port?: number;\n /** The protocol used for connection */\n protocol?: string;\n /** Description of the detail */\n description?: string;\n}\n\nexport function endpointDetailDeserializer(item: any): EndpointDetail {\n return {\n ipAddress: item[\"ipAddress\"],\n port: item[\"port\"],\n protocol: item[\"protocol\"],\n description: item[\"description\"],\n };\n}\n\n/** The list of available upgrades for compute pools. */\nexport interface ManagedClusterUpgradeProfile extends ProxyResource {\n /** The list of available upgrade versions for the control plane. */\n controlPlaneProfile: ManagedClusterPoolUpgradeProfile;\n /** The list of available upgrade versions for agent pools. */\n agentPoolProfiles: ManagedClusterPoolUpgradeProfile[];\n}\n\nexport function managedClusterUpgradeProfileDeserializer(item: any): ManagedClusterUpgradeProfile {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n ..._managedClusterUpgradeProfilePropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** Control plane and agent pool upgrade profiles. */\nexport interface ManagedClusterUpgradeProfileProperties {\n /** The list of available upgrade versions for the control plane. */\n controlPlaneProfile: ManagedClusterPoolUpgradeProfile;\n /** The list of available upgrade versions for agent pools. */\n agentPoolProfiles: ManagedClusterPoolUpgradeProfile[];\n}\n\nexport function managedClusterUpgradeProfilePropertiesDeserializer(\n item: any,\n): ManagedClusterUpgradeProfileProperties {\n return {\n controlPlaneProfile: managedClusterPoolUpgradeProfileDeserializer(item[\"controlPlaneProfile\"]),\n agentPoolProfiles: managedClusterPoolUpgradeProfileArrayDeserializer(item[\"agentPoolProfiles\"]),\n };\n}\n\n/** The list of available upgrade versions. */\nexport interface ManagedClusterPoolUpgradeProfile {\n /** The Kubernetes version (major.minor.patch). */\n kubernetesVersion: string;\n /** The Agent Pool name. */\n name?: string;\n /** The operating system type. The default is Linux. */\n osType: OSType;\n /** List of orchestrator types and versions available for upgrade. */\n upgrades?: ManagedClusterPoolUpgradeProfileUpgradesItem[];\n}\n\nexport function managedClusterPoolUpgradeProfileDeserializer(\n item: any,\n): ManagedClusterPoolUpgradeProfile {\n return {\n kubernetesVersion: item[\"kubernetesVersion\"],\n name: item[\"name\"],\n osType: item[\"osType\"],\n upgrades: !item[\"upgrades\"]\n ? item[\"upgrades\"]\n : managedClusterPoolUpgradeProfileUpgradesItemArrayDeserializer(item[\"upgrades\"]),\n };\n}\n\nexport function managedClusterPoolUpgradeProfileUpgradesItemArrayDeserializer(\n result: Array<ManagedClusterPoolUpgradeProfileUpgradesItem>,\n): any[] {\n return result.map((item) => {\n return managedClusterPoolUpgradeProfileUpgradesItemDeserializer(item);\n });\n}\n\n/** Available upgrades for an AgentPool. */\nexport interface ManagedClusterPoolUpgradeProfileUpgradesItem {\n /** The Kubernetes version (major.minor.patch). */\n kubernetesVersion?: string;\n /** Whether the Kubernetes version is currently in preview. */\n isPreview?: boolean;\n}\n\nexport function managedClusterPoolUpgradeProfileUpgradesItemDeserializer(\n item: any,\n): ManagedClusterPoolUpgradeProfileUpgradesItem {\n return {\n kubernetesVersion: item[\"kubernetesVersion\"],\n isPreview: item[\"isPreview\"],\n };\n}\n\nexport function managedClusterPoolUpgradeProfileArrayDeserializer(\n result: Array<ManagedClusterPoolUpgradeProfile>,\n): any[] {\n return result.map((item) => {\n return managedClusterPoolUpgradeProfileDeserializer(item);\n });\n}\n\n/** Mesh revision profile for a mesh. */\nexport interface MeshRevisionProfile extends ProxyResource {\n /** Mesh revision profile properties for a mesh */\n properties?: MeshRevisionProfileProperties;\n}\n\nexport function meshRevisionProfileDeserializer(item: any): MeshRevisionProfile {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : meshRevisionProfilePropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** Mesh revision profile properties for a mesh */\nexport interface MeshRevisionProfileProperties {\n /** Available mesh revisions. */\n meshRevisions?: MeshRevision[];\n}\n\nexport function meshRevisionProfilePropertiesDeserializer(\n item: any,\n): MeshRevisionProfileProperties {\n return {\n meshRevisions: !item[\"meshRevisions\"]\n ? item[\"meshRevisions\"]\n : meshRevisionArrayDeserializer(item[\"meshRevisions\"]),\n };\n}\n\nexport function meshRevisionArrayDeserializer(result: Array<MeshRevision>): any[] {\n return result.map((item) => {\n return meshRevisionDeserializer(item);\n });\n}\n\n/** Holds information on upgrades and compatibility for given major.minor mesh release. */\nexport interface MeshRevision {\n /** The revision of the mesh release. */\n revision?: string;\n /** List of revisions available for upgrade of a specific mesh revision */\n upgrades?: string[];\n /** List of items this revision of service mesh is compatible with, and their associated versions. */\n compatibleWith?: CompatibleVersions[];\n}\n\nexport function meshRevisionDeserializer(item: any): MeshRevision {\n return {\n revision: item[\"revision\"],\n upgrades: !item[\"upgrades\"]\n ? item[\"upgrades\"]\n : item[\"upgrades\"].map((p: any) => {\n return p;\n }),\n compatibleWith: !item[\"compatibleWith\"]\n ? item[\"compatibleWith\"]\n : compatibleVersionsArrayDeserializer(item[\"compatibleWith\"]),\n };\n}\n\nexport function compatibleVersionsArrayDeserializer(result: Array<CompatibleVersions>): any[] {\n return result.map((item) => {\n return compatibleVersionsDeserializer(item);\n });\n}\n\n/** Version information about a product/service that is compatible with a service mesh revision. */\nexport interface CompatibleVersions {\n /** The product/service name. */\n name?: string;\n /** Product/service versions compatible with a service mesh add-on revision. */\n versions?: string[];\n}\n\nexport function compatibleVersionsDeserializer(item: any): CompatibleVersions {\n return {\n name: item[\"name\"],\n versions: !item[\"versions\"]\n ? item[\"versions\"]\n : item[\"versions\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Holds an array of MeshRevisionsProfiles */\nexport interface _MeshRevisionProfileList {\n /** The MeshRevisionProfile items on this page */\n value: MeshRevisionProfile[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _meshRevisionProfileListDeserializer(item: any): _MeshRevisionProfileList {\n return {\n value: meshRevisionProfileArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function meshRevisionProfileArrayDeserializer(result: Array<MeshRevisionProfile>): any[] {\n return result.map((item) => {\n return meshRevisionProfileDeserializer(item);\n });\n}\n\n/** Upgrade profile for given mesh. */\nexport interface MeshUpgradeProfile extends ProxyResource {\n /** Mesh upgrade profile properties for a major.minor release. */\n properties?: MeshUpgradeProfileProperties;\n}\n\nexport function meshUpgradeProfileDeserializer(item: any): MeshUpgradeProfile {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : meshUpgradeProfilePropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** Mesh upgrade profile properties for a major.minor release. */\nexport interface MeshUpgradeProfileProperties extends MeshRevision {}\n\nexport function meshUpgradeProfilePropertiesDeserializer(item: any): MeshUpgradeProfileProperties {\n return {\n revision: item[\"revision\"],\n upgrades: !item[\"upgrades\"]\n ? item[\"upgrades\"]\n : item[\"upgrades\"].map((p: any) => {\n return p;\n }),\n compatibleWith: !item[\"compatibleWith\"]\n ? item[\"compatibleWith\"]\n : compatibleVersionsArrayDeserializer(item[\"compatibleWith\"]),\n };\n}\n\n/** Holds an array of MeshUpgradeProfiles */\nexport interface _MeshUpgradeProfileList {\n /** The MeshUpgradeProfile items on this page */\n value: MeshUpgradeProfile[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _meshUpgradeProfileListDeserializer(item: any): _MeshUpgradeProfileList {\n return {\n value: meshUpgradeProfileArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function meshUpgradeProfileArrayDeserializer(result: Array<MeshUpgradeProfile>): any[] {\n return result.map((item) => {\n return meshUpgradeProfileDeserializer(item);\n });\n}\n\n/** Hold values properties, which is array of KubernetesVersion */\nexport interface KubernetesVersionListResult {\n /** Array of AKS supported Kubernetes versions. */\n values?: KubernetesVersion[];\n}\n\nexport function kubernetesVersionListResultDeserializer(item: any): KubernetesVersionListResult {\n return {\n values: !item[\"values\"] ? item[\"values\"] : kubernetesVersionArrayDeserializer(item[\"values\"]),\n };\n}\n\nexport function kubernetesVersionArrayDeserializer(result: Array<KubernetesVersion>): any[] {\n return result.map((item) => {\n return kubernetesVersionDeserializer(item);\n });\n}\n\n/** Kubernetes version profile for given major.minor release. */\nexport interface KubernetesVersion {\n /** major.minor version of Kubernetes release */\n version?: string;\n /** Capabilities on this Kubernetes version. */\n capabilities?: KubernetesVersionCapabilities;\n /** Whether this version is default. */\n isDefault?: boolean;\n /** Whether this version is in preview mode. */\n isPreview?: boolean;\n /** Patch versions of Kubernetes release */\n patchVersions?: Record<string, KubernetesPatchVersion>;\n}\n\nexport function kubernetesVersionDeserializer(item: any): KubernetesVersion {\n return {\n version: item[\"version\"],\n capabilities: !item[\"capabilities\"]\n ? item[\"capabilities\"]\n : kubernetesVersionCapabilitiesDeserializer(item[\"capabilities\"]),\n isDefault: item[\"isDefault\"],\n isPreview: item[\"isPreview\"],\n patchVersions: !item[\"patchVersions\"]\n ? item[\"patchVersions\"]\n : kubernetesPatchVersionRecordDeserializer(item[\"patchVersions\"]),\n };\n}\n\n/** Capabilities on this Kubernetes version. */\nexport interface KubernetesVersionCapabilities {\n /** Kubernetes support plans available for this version. */\n supportPlan?: KubernetesSupportPlan[];\n}\n\nexport function kubernetesVersionCapabilitiesDeserializer(\n item: any,\n): KubernetesVersionCapabilities {\n return {\n supportPlan: !item[\"supportPlan\"]\n ? item[\"supportPlan\"]\n : item[\"supportPlan\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function kubernetesPatchVersionRecordDeserializer(\n item: Record<string, any>,\n): Record<string, KubernetesPatchVersion> {\n const result: Record<string, any> = {};\n Object.keys(item).map((key) => {\n result[key] = !item[key] ? item[key] : kubernetesPatchVersionDeserializer(item[key]);\n });\n return result;\n}\n\n/** Kubernetes patch version profile */\nexport interface KubernetesPatchVersion {\n /** Possible upgrade path for given patch version */\n upgrades?: string[];\n}\n\nexport function kubernetesPatchVersionDeserializer(item: any): KubernetesPatchVersion {\n return {\n upgrades: !item[\"upgrades\"]\n ? item[\"upgrades\"]\n : item[\"upgrades\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Planned maintenance configuration, used to configure when updates can be deployed to a Managed Cluster. See [planned maintenance](https://docs.microsoft.com/azure/aks/planned-maintenance) for more information about planned maintenance. */\nexport interface MaintenanceConfiguration extends ProxyResource {\n /** Time slots during the week when planned maintenance is allowed to proceed. If two array entries specify the same day of the week, the applied configuration is the union of times in both entries. */\n timeInWeek?: TimeInWeek[];\n /** Time slots on which upgrade is not allowed. */\n notAllowedTime?: TimeSpan[];\n /** Maintenance window for the maintenance configuration. */\n maintenanceWindow?: MaintenanceWindow;\n}\n\nexport function maintenanceConfigurationSerializer(item: MaintenanceConfiguration): any {\n return {\n properties: areAllPropsUndefined(item, [\"timeInWeek\", \"notAllowedTime\", \"maintenanceWindow\"])\n ? undefined\n : _maintenanceConfigurationPropertiesSerializer(item),\n };\n}\n\nexport function maintenanceConfigurationDeserializer(item: any): MaintenanceConfiguration {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _maintenanceConfigurationPropertiesDeserializer(item[\"properties\"])),\n };\n}\n\n/** Properties used to configure planned maintenance for a Managed Cluster. */\nexport interface MaintenanceConfigurationProperties {\n /** Time slots during the week when planned maintenance is allowed to proceed. If two array entries specify the same day of the week, the applied configuration is the union of times in both entries. */\n timeInWeek?: TimeInWeek[];\n /** Time slots on which upgrade is not allowed. */\n notAllowedTime?: TimeSpan[];\n /** Maintenance window for the maintenance configuration. */\n maintenanceWindow?: MaintenanceWindow;\n}\n\nexport function maintenanceConfigurationPropertiesSerializer(\n item: MaintenanceConfigurationProperties,\n): any {\n return {\n timeInWeek: !item[\"timeInWeek\"]\n ? item[\"timeInWeek\"]\n : timeInWeekArraySerializer(item[\"timeInWeek\"]),\n notAllowedTime: !item[\"notAllowedTime\"]\n ? item[\"notAllowedTime\"]\n : timeSpanArraySerializer(item[\"notAllowedTime\"]),\n maintenanceWindow: !item[\"maintenanceWindow\"]\n ? item[\"maintenanceWindow\"]\n : maintenanceWindowSerializer(item[\"maintenanceWindow\"]),\n };\n}\n\nexport function maintenanceConfigurationPropertiesDeserializer(\n item: any,\n): MaintenanceConfigurationProperties {\n return {\n timeInWeek: !item[\"timeInWeek\"]\n ? item[\"timeInWeek\"]\n : timeInWeekArrayDeserializer(item[\"timeInWeek\"]),\n notAllowedTime: !item[\"notAllowedTime\"]\n ? item[\"notAllowedTime\"]\n : timeSpanArrayDeserializer(item[\"notAllowedTime\"]),\n maintenanceWindow: !item[\"maintenanceWindow\"]\n ? item[\"maintenanceWindow\"]\n : maintenanceWindowDeserializer(item[\"maintenanceWindow\"]),\n };\n}\n\nexport function timeInWeekArraySerializer(result: Array<TimeInWeek>): any[] {\n return result.map((item) => {\n return timeInWeekSerializer(item);\n });\n}\n\nexport function timeInWeekArrayDeserializer(result: Array<TimeInWeek>): any[] {\n return result.map((item) => {\n return timeInWeekDeserializer(item);\n });\n}\n\n/** Time in a week. */\nexport interface TimeInWeek {\n /** The day of the week. */\n day?: WeekDay;\n /** A list of hours in the day used to identify a time range. Each integer hour represents a time range beginning at 0m after the hour ending at the next hour (non-inclusive). 0 corresponds to 00:00 UTC, 23 corresponds to 23:00 UTC. Specifying [0, 1] means the 00:00 - 02:00 UTC time range. */\n hourSlots?: number[];\n}\n\nexport function timeInWeekSerializer(item: TimeInWeek): any {\n return {\n day: item[\"day\"],\n hourSlots: !item[\"hourSlots\"]\n ? item[\"hourSlots\"]\n : item[\"hourSlots\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function timeInWeekDeserializer(item: any): TimeInWeek {\n return {\n day: item[\"day\"],\n hourSlots: !item[\"hourSlots\"]\n ? item[\"hourSlots\"]\n : item[\"hourSlots\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** The weekday enum. */\nexport enum KnownWeekDay {\n /** Represents Sunday. */\n Sunday = \"Sunday\",\n /** Represents Monday. */\n Monday = \"Monday\",\n /** Represents Tuesday. */\n Tuesday = \"Tuesday\",\n /** Represents Wednesday. */\n Wednesday = \"Wednesday\",\n /** Represents Thursday. */\n Thursday = \"Thursday\",\n /** Represents Friday. */\n Friday = \"Friday\",\n /** Represents Saturday. */\n Saturday = \"Saturday\",\n}\n\n/**\n * The weekday enum. \\\n * {@link KnownWeekDay} can be used interchangeably with WeekDay,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Sunday**: Represents Sunday. \\\n * **Monday**: Represents Monday. \\\n * **Tuesday**: Represents Tuesday. \\\n * **Wednesday**: Represents Wednesday. \\\n * **Thursday**: Represents Thursday. \\\n * **Friday**: Represents Friday. \\\n * **Saturday**: Represents Saturday.\n */\nexport type WeekDay = string;\n\nexport function timeSpanArraySerializer(result: Array<TimeSpan>): any[] {\n return result.map((item) => {\n return timeSpanSerializer(item);\n });\n}\n\nexport function timeSpanArrayDeserializer(result: Array<TimeSpan>): any[] {\n return result.map((item) => {\n return timeSpanDeserializer(item);\n });\n}\n\n/** A time range. For example, between 2021-05-25T13:00:00Z and 2021-05-25T14:00:00Z. */\nexport interface TimeSpan {\n /** The start of a time span */\n start?: Date;\n /** The end of a time span */\n end?: Date;\n}\n\nexport function timeSpanSerializer(item: TimeSpan): any {\n return {\n start: !item[\"start\"] ? item[\"start\"] : item[\"start\"].toISOString(),\n end: !item[\"end\"] ? item[\"end\"] : item[\"end\"].toISOString(),\n };\n}\n\nexport function timeSpanDeserializer(item: any): TimeSpan {\n return {\n start: !item[\"start\"] ? item[\"start\"] : new Date(item[\"start\"]),\n end: !item[\"end\"] ? item[\"end\"] : new Date(item[\"end\"]),\n };\n}\n\n/** Maintenance window used to configure scheduled auto-upgrade for a Managed Cluster. */\nexport interface MaintenanceWindow {\n /** Recurrence schedule for the maintenance window. */\n schedule: Schedule;\n /** Length of maintenance window range from 4 to 24 hours. */\n durationHours: number;\n /** The UTC offset in format +/-HH:mm. For example, '+05:30' for IST and '-07:00' for PST. If not specified, the default is '+00:00'. */\n utcOffset?: string;\n /** The date the maintenance window activates. If the current date is before this date, the maintenance window is inactive and will not be used for upgrades. If not specified, the maintenance window will be active right away. */\n startDate?: Date;\n /** The start time of the maintenance window. Accepted values are from '00:00' to '23:59'. 'utcOffset' applies to this field. For example: '02:00' with 'utcOffset: +02:00' means UTC time '00:00'. */\n startTime: string;\n /** Date ranges on which upgrade is not allowed. 'utcOffset' applies to this field. For example, with 'utcOffset: +02:00' and 'dateSpan' being '2022-12-23' to '2023-01-03', maintenance will be blocked from '2022-12-22 22:00' to '2023-01-03 22:00' in UTC time. */\n notAllowedDates?: DateSpan[];\n}\n\nexport function maintenanceWindowSerializer(item: MaintenanceWindow): any {\n return {\n schedule: scheduleSerializer(item[\"schedule\"]),\n durationHours: item[\"durationHours\"],\n utcOffset: item[\"utcOffset\"],\n startDate: !item[\"startDate\"]\n ? item[\"startDate\"]\n : item[\"startDate\"].toISOString().split(\"T\")[0],\n startTime: item[\"startTime\"],\n notAllowedDates: !item[\"notAllowedDates\"]\n ? item[\"notAllowedDates\"]\n : dateSpanArraySerializer(item[\"notAllowedDates\"]),\n };\n}\n\nexport function maintenanceWindowDeserializer(item: any): MaintenanceWindow {\n return {\n schedule: scheduleDeserializer(item[\"schedule\"]),\n durationHours: item[\"durationHours\"],\n utcOffset: item[\"utcOffset\"],\n startDate: !item[\"startDate\"] ? item[\"startDate\"] : new Date(item[\"startDate\"]),\n startTime: item[\"startTime\"],\n notAllowedDates: !item[\"notAllowedDates\"]\n ? item[\"notAllowedDates\"]\n : dateSpanArrayDeserializer(item[\"notAllowedDates\"]),\n };\n}\n\n/** One and only one of the schedule types should be specified. Choose either 'daily', 'weekly', 'absoluteMonthly' or 'relativeMonthly' for your maintenance schedule. */\nexport interface Schedule {\n /** For schedules like: 'recur every day' or 'recur every 3 days'. */\n daily?: DailySchedule;\n /** For schedules like: 'recur every Monday' or 'recur every 3 weeks on Wednesday'. */\n weekly?: WeeklySchedule;\n /** For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'. */\n absoluteMonthly?: AbsoluteMonthlySchedule;\n /** For schedules like: 'recur every month on the first Monday' or 'recur every 3 months on last Friday'. */\n relativeMonthly?: RelativeMonthlySchedule;\n}\n\nexport function scheduleSerializer(item: Schedule): any {\n return {\n daily: !item[\"daily\"] ? item[\"daily\"] : dailyScheduleSerializer(item[\"daily\"]),\n weekly: !item[\"weekly\"] ? item[\"weekly\"] : weeklyScheduleSerializer(item[\"weekly\"]),\n absoluteMonthly: !item[\"absoluteMonthly\"]\n ? item[\"absoluteMonthly\"]\n : absoluteMonthlyScheduleSerializer(item[\"absoluteMonthly\"]),\n relativeMonthly: !item[\"relativeMonthly\"]\n ? item[\"relativeMonthly\"]\n : relativeMonthlyScheduleSerializer(item[\"relativeMonthly\"]),\n };\n}\n\nexport function scheduleDeserializer(item: any): Schedule {\n return {\n daily: !item[\"daily\"] ? item[\"daily\"] : dailyScheduleDeserializer(item[\"daily\"]),\n weekly: !item[\"weekly\"] ? item[\"weekly\"] : weeklyScheduleDeserializer(item[\"weekly\"]),\n absoluteMonthly: !item[\"absoluteMonthly\"]\n ? item[\"absoluteMonthly\"]\n : absoluteMonthlyScheduleDeserializer(item[\"absoluteMonthly\"]),\n relativeMonthly: !item[\"relativeMonthly\"]\n ? item[\"relativeMonthly\"]\n : relativeMonthlyScheduleDeserializer(item[\"relativeMonthly\"]),\n };\n}\n\n/** For schedules like: 'recur every day' or 'recur every 3 days'. */\nexport interface DailySchedule {\n /** Specifies the number of days between each set of occurrences. */\n intervalDays: number;\n}\n\nexport function dailyScheduleSerializer(item: DailySchedule): any {\n return { intervalDays: item[\"intervalDays\"] };\n}\n\nexport function dailyScheduleDeserializer(item: any): DailySchedule {\n return {\n intervalDays: item[\"intervalDays\"],\n };\n}\n\n/** For schedules like: 'recur every Monday' or 'recur every 3 weeks on Wednesday'. */\nexport interface WeeklySchedule {\n /** Specifies the number of weeks between each set of occurrences. */\n intervalWeeks: number;\n /** Specifies on which day of the week the maintenance occurs. */\n dayOfWeek: WeekDay;\n}\n\nexport function weeklyScheduleSerializer(item: WeeklySchedule): any {\n return { intervalWeeks: item[\"intervalWeeks\"], dayOfWeek: item[\"dayOfWeek\"] };\n}\n\nexport function weeklyScheduleDeserializer(item: any): WeeklySchedule {\n return {\n intervalWeeks: item[\"intervalWeeks\"],\n dayOfWeek: item[\"dayOfWeek\"],\n };\n}\n\n/** For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'. */\nexport interface AbsoluteMonthlySchedule {\n /** Specifies the number of months between each set of occurrences. */\n intervalMonths: number;\n /** The date of the month. */\n dayOfMonth: number;\n}\n\nexport function absoluteMonthlyScheduleSerializer(item: AbsoluteMonthlySchedule): any {\n return { intervalMonths: item[\"intervalMonths\"], dayOfMonth: item[\"dayOfMonth\"] };\n}\n\nexport function absoluteMonthlyScheduleDeserializer(item: any): AbsoluteMonthlySchedule {\n return {\n intervalMonths: item[\"intervalMonths\"],\n dayOfMonth: item[\"dayOfMonth\"],\n };\n}\n\n/** For schedules like: 'recur every month on the first Monday' or 'recur every 3 months on last Friday'. */\nexport interface RelativeMonthlySchedule {\n /** Specifies the number of months between each set of occurrences. */\n intervalMonths: number;\n /** The week index. Specifies on which week of the month the dayOfWeek applies. */\n weekIndex: Type;\n /** Specifies on which day of the week the maintenance occurs. */\n dayOfWeek: WeekDay;\n}\n\nexport function relativeMonthlyScheduleSerializer(item: RelativeMonthlySchedule): any {\n return {\n intervalMonths: item[\"intervalMonths\"],\n weekIndex: item[\"weekIndex\"],\n dayOfWeek: item[\"dayOfWeek\"],\n };\n}\n\nexport function relativeMonthlyScheduleDeserializer(item: any): RelativeMonthlySchedule {\n return {\n intervalMonths: item[\"intervalMonths\"],\n weekIndex: item[\"weekIndex\"],\n dayOfWeek: item[\"dayOfWeek\"],\n };\n}\n\n/** The week index. Specifies on which week of the month the dayOfWeek applies. */\nexport enum KnownType {\n /** First week of the month. */\n First = \"First\",\n /** Second week of the month. */\n Second = \"Second\",\n /** Third week of the month. */\n Third = \"Third\",\n /** Fourth week of the month. */\n Fourth = \"Fourth\",\n /** Last week of the month. */\n Last = \"Last\",\n}\n\n/**\n * The week index. Specifies on which week of the month the dayOfWeek applies. \\\n * {@link KnownType} can be used interchangeably with Type,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **First**: First week of the month. \\\n * **Second**: Second week of the month. \\\n * **Third**: Third week of the month. \\\n * **Fourth**: Fourth week of the month. \\\n * **Last**: Last week of the month.\n */\nexport type Type = string;\n\nexport function dateSpanArraySerializer(result: Array<DateSpan>): any[] {\n return result.map((item) => {\n return dateSpanSerializer(item);\n });\n}\n\nexport function dateSpanArrayDeserializer(result: Array<DateSpan>): any[] {\n return result.map((item) => {\n return dateSpanDeserializer(item);\n });\n}\n\n/** A date range. For example, between '2022-12-23' and '2023-01-05'. */\nexport interface DateSpan {\n /** The start date of the date span. */\n start: Date;\n /** The end date of the date span. */\n end: Date;\n}\n\nexport function dateSpanSerializer(item: DateSpan): any {\n return {\n start: item[\"start\"].toISOString().split(\"T\")[0],\n end: item[\"end\"].toISOString().split(\"T\")[0],\n };\n}\n\nexport function dateSpanDeserializer(item: any): DateSpan {\n return {\n start: new Date(item[\"start\"]),\n end: new Date(item[\"end\"]),\n };\n}\n\n/** The response of a MaintenanceConfiguration list operation. */\nexport interface _MaintenanceConfigurationListResult {\n /** The MaintenanceConfiguration items on this page */\n value: MaintenanceConfiguration[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _maintenanceConfigurationListResultDeserializer(\n item: any,\n): _MaintenanceConfigurationListResult {\n return {\n value: maintenanceConfigurationArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function maintenanceConfigurationArraySerializer(\n result: Array<MaintenanceConfiguration>,\n): any[] {\n return result.map((item) => {\n return maintenanceConfigurationSerializer(item);\n });\n}\n\nexport function maintenanceConfigurationArrayDeserializer(\n result: Array<MaintenanceConfiguration>,\n): any[] {\n return result.map((item) => {\n return maintenanceConfigurationDeserializer(item);\n });\n}\n\n/** Namespace managed by ARM. */\nexport interface ManagedNamespace extends TrackedResource {\n /** Properties of a namespace. */\n properties?: NamespaceProperties;\n /** If eTag is provided in the response body, it may also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields. */\n readonly eTag?: string;\n}\n\nexport function managedNamespaceSerializer(item: ManagedNamespace): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : namespacePropertiesSerializer(item[\"properties\"]),\n };\n}\n\nexport function managedNamespaceDeserializer(item: any): ManagedNamespace {\n return {\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : namespacePropertiesDeserializer(item[\"properties\"]),\n eTag: item[\"eTag\"],\n };\n}\n\n/** Properties of a namespace managed by ARM */\nexport interface NamespaceProperties {\n /** The current provisioning state of the namespace. */\n readonly provisioningState?: NamespaceProvisioningState;\n /** The labels of managed namespace. */\n labels?: Record<string, string>;\n /** The annotations of managed namespace. */\n annotations?: Record<string, string>;\n /** The special FQDN used by the Azure Portal to access the Managed Cluster. This FQDN is for use only by the Azure Portal and should not be used by other clients. The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure Portal to function properly. */\n readonly portalFqdn?: string;\n /** The default resource quota enforced upon the namespace. Customers can have other Kubernetes resource quota objects under the namespace. Resource quotas are additive; if multiple resource quotas are applied to a given namespace, then the effective limit will be one such that all quotas on the namespace can be satisfied. */\n defaultResourceQuota?: ResourceQuota;\n /** The default network policy enforced upon the namespace. Customers can have other Kubernetes network policy objects under the namespace. Network policies are additive; if a policy or policies apply to a given pod for a given direction, the connections allowed in that direction for the pod is the union of what all applicable policies allow. */\n defaultNetworkPolicy?: NetworkPolicies;\n /** Action if Kubernetes namespace with same name already exists. */\n adoptionPolicy?: AdoptionPolicy;\n /** Delete options of a namespace. */\n deletePolicy?: DeletePolicy;\n}\n\nexport function namespacePropertiesSerializer(item: NamespaceProperties): any {\n return {\n labels: item[\"labels\"],\n annotations: item[\"annotations\"],\n defaultResourceQuota: !item[\"defaultResourceQuota\"]\n ? item[\"defaultResourceQuota\"]\n : resourceQuotaSerializer(item[\"defaultResourceQuota\"]),\n defaultNetworkPolicy: !item[\"defaultNetworkPolicy\"]\n ? item[\"defaultNetworkPolicy\"]\n : networkPoliciesSerializer(item[\"defaultNetworkPolicy\"]),\n adoptionPolicy: item[\"adoptionPolicy\"],\n deletePolicy: item[\"deletePolicy\"],\n };\n}\n\nexport function namespacePropertiesDeserializer(item: any): NamespaceProperties {\n return {\n provisioningState: item[\"provisioningState\"],\n labels: !item[\"labels\"]\n ? item[\"labels\"]\n : Object.fromEntries(Object.entries(item[\"labels\"]).map(([k, p]: [string, any]) => [k, p])),\n annotations: !item[\"annotations\"]\n ? item[\"annotations\"]\n : Object.fromEntries(\n Object.entries(item[\"annotations\"]).map(([k, p]: [string, any]) => [k, p]),\n ),\n portalFqdn: item[\"portalFqdn\"],\n defaultResourceQuota: !item[\"defaultResourceQuota\"]\n ? item[\"defaultResourceQuota\"]\n : resourceQuotaDeserializer(item[\"defaultResourceQuota\"]),\n defaultNetworkPolicy: !item[\"defaultNetworkPolicy\"]\n ? item[\"defaultNetworkPolicy\"]\n : networkPoliciesDeserializer(item[\"defaultNetworkPolicy\"]),\n adoptionPolicy: item[\"adoptionPolicy\"],\n deletePolicy: item[\"deletePolicy\"],\n };\n}\n\n/** The current provisioning state of the namespace. */\nexport enum KnownNamespaceProvisioningState {\n /** The namespace is being updated. */\n Updating = \"Updating\",\n /** The namespace is being deleted. */\n Deleting = \"Deleting\",\n /** The namespace is being created. */\n Creating = \"Creating\",\n /** The namespace provisioning succeeded. */\n Succeeded = \"Succeeded\",\n /** The namespace provisioning failed. */\n Failed = \"Failed\",\n /** The namespace provisioning was canceled. */\n Canceled = \"Canceled\",\n}\n\n/**\n * The current provisioning state of the namespace. \\\n * {@link KnownNamespaceProvisioningState} can be used interchangeably with NamespaceProvisioningState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Updating**: The namespace is being updated. \\\n * **Deleting**: The namespace is being deleted. \\\n * **Creating**: The namespace is being created. \\\n * **Succeeded**: The namespace provisioning succeeded. \\\n * **Failed**: The namespace provisioning failed. \\\n * **Canceled**: The namespace provisioning was canceled.\n */\nexport type NamespaceProvisioningState = string;\n\n/** Resource quota for the namespace. */\nexport interface ResourceQuota {\n /** CPU request of the namespace in one-thousandth CPU form. See [CPU resource units](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#meaning-of-cpu) for more details. */\n cpuRequest?: string;\n /** CPU limit of the namespace in one-thousandth CPU form. See [CPU resource units](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#meaning-of-cpu) for more details. */\n cpuLimit?: string;\n /** Memory request of the namespace in the power-of-two equivalents form: Ei, Pi, Ti, Gi, Mi, Ki. See [Memory resource units](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#meaning-of-memory) for more details. */\n memoryRequest?: string;\n /** Memory limit of the namespace in the power-of-two equivalents form: Ei, Pi, Ti, Gi, Mi, Ki. See [Memory resource units](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#meaning-of-memory) for more details. */\n memoryLimit?: string;\n}\n\nexport function resourceQuotaSerializer(item: ResourceQuota): any {\n return {\n cpuRequest: item[\"cpuRequest\"],\n cpuLimit: item[\"cpuLimit\"],\n memoryRequest: item[\"memoryRequest\"],\n memoryLimit: item[\"memoryLimit\"],\n };\n}\n\nexport function resourceQuotaDeserializer(item: any): ResourceQuota {\n return {\n cpuRequest: item[\"cpuRequest\"],\n cpuLimit: item[\"cpuLimit\"],\n memoryRequest: item[\"memoryRequest\"],\n memoryLimit: item[\"memoryLimit\"],\n };\n}\n\n/** Default network policy of the namespace, specifying ingress and egress rules. */\nexport interface NetworkPolicies {\n /** Enum representing different network policy rules. */\n ingress?: PolicyRule;\n /** Enum representing different network policy rules. */\n egress?: PolicyRule;\n}\n\nexport function networkPoliciesSerializer(item: NetworkPolicies): any {\n return { ingress: item[\"ingress\"], egress: item[\"egress\"] };\n}\n\nexport function networkPoliciesDeserializer(item: any): NetworkPolicies {\n return {\n ingress: item[\"ingress\"],\n egress: item[\"egress\"],\n };\n}\n\n/** Enum representing different network policy rules. */\nexport enum KnownPolicyRule {\n /** Deny all network traffic. */\n DenyAll = \"DenyAll\",\n /** Allow all network traffic. */\n AllowAll = \"AllowAll\",\n /** Allow traffic within the same namespace. */\n AllowSameNamespace = \"AllowSameNamespace\",\n}\n\n/**\n * Enum representing different network policy rules. \\\n * {@link KnownPolicyRule} can be used interchangeably with PolicyRule,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **DenyAll**: Deny all network traffic. \\\n * **AllowAll**: Allow all network traffic. \\\n * **AllowSameNamespace**: Allow traffic within the same namespace.\n */\nexport type PolicyRule = string;\n\n/** Action if Kubernetes namespace with same name already exists. */\nexport enum KnownAdoptionPolicy {\n /** If the namespace already exists in Kubernetes, attempts to create that same namespace in ARM will fail. */\n Never = \"Never\",\n /** Take over the existing namespace to be managed by ARM, if there is no difference. */\n IfIdentical = \"IfIdentical\",\n /** Always take over the existing namespace to be managed by ARM, some fields might be overwritten. */\n Always = \"Always\",\n}\n\n/**\n * Action if Kubernetes namespace with same name already exists. \\\n * {@link KnownAdoptionPolicy} can be used interchangeably with AdoptionPolicy,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Never**: If the namespace already exists in Kubernetes, attempts to create that same namespace in ARM will fail. \\\n * **IfIdentical**: Take over the existing namespace to be managed by ARM, if there is no difference. \\\n * **Always**: Always take over the existing namespace to be managed by ARM, some fields might be overwritten.\n */\nexport type AdoptionPolicy = string;\n\n/** Delete options of a namespace. */\nexport enum KnownDeletePolicy {\n /** Only delete the ARM resource, keep the Kubernetes namespace. Also delete the ManagedByARM label. */\n Keep = \"Keep\",\n /** Delete both the ARM resource and the Kubernetes namespace together. */\n Delete = \"Delete\",\n}\n\n/**\n * Delete options of a namespace. \\\n * {@link KnownDeletePolicy} can be used interchangeably with DeletePolicy,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Keep**: Only delete the ARM resource, keep the Kubernetes namespace. Also delete the ManagedByARM label. \\\n * **Delete**: Delete both the ARM resource and the Kubernetes namespace together.\n */\nexport type DeletePolicy = string;\n\n/** The response of a ManagedNamespace list operation. */\nexport interface _ManagedNamespaceListResult {\n /** The ManagedNamespace items on this page */\n value: ManagedNamespace[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _managedNamespaceListResultDeserializer(item: any): _ManagedNamespaceListResult {\n return {\n value: managedNamespaceArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function managedNamespaceArraySerializer(result: Array<ManagedNamespace>): any[] {\n return result.map((item) => {\n return managedNamespaceSerializer(item);\n });\n}\n\nexport function managedNamespaceArrayDeserializer(result: Array<ManagedNamespace>): any[] {\n return result.map((item) => {\n return managedNamespaceDeserializer(item);\n });\n}\n\n/** A machine. Contains details about the underlying virtual machine. A machine may be visible here but not in kubectl get nodes; if so it may be because the machine has not been registered with the Kubernetes API Server yet. */\nexport interface Machine extends ProxyResource {\n /** The properties of the machine */\n properties?: MachineProperties;\n /** The Availability zone in which machine is located. */\n readonly zones?: string[];\n}\n\nexport function machineDeserializer(item: any): Machine {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : machinePropertiesDeserializer(item[\"properties\"]),\n zones: !item[\"zones\"]\n ? item[\"zones\"]\n : item[\"zones\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** The properties of the machine */\nexport interface MachineProperties {\n /** network properties of the machine */\n readonly network?: MachineNetworkProperties;\n /** Azure resource id of the machine. It can be used to GET underlying VM Instance */\n readonly resourceId?: string;\n}\n\nexport function machinePropertiesDeserializer(item: any): MachineProperties {\n return {\n network: !item[\"network\"]\n ? item[\"network\"]\n : machineNetworkPropertiesDeserializer(item[\"network\"]),\n resourceId: item[\"resourceId\"],\n };\n}\n\n/** network properties of the machine */\nexport interface MachineNetworkProperties {\n /** IPv4, IPv6 addresses of the machine */\n readonly ipAddresses?: MachineIpAddress[];\n}\n\nexport function machineNetworkPropertiesDeserializer(item: any): MachineNetworkProperties {\n return {\n ipAddresses: !item[\"ipAddresses\"]\n ? item[\"ipAddresses\"]\n : machineIpAddressArrayDeserializer(item[\"ipAddresses\"]),\n };\n}\n\nexport function machineIpAddressArrayDeserializer(result: Array<MachineIpAddress>): any[] {\n return result.map((item) => {\n return machineIpAddressDeserializer(item);\n });\n}\n\n/** The machine IP address details. */\nexport interface MachineIpAddress {\n /** To determine if address belongs IPv4 or IPv6 family */\n readonly family?: IpFamily;\n /** IPv4 or IPv6 address of the machine */\n readonly ip?: string;\n}\n\nexport function machineIpAddressDeserializer(item: any): MachineIpAddress {\n return {\n family: item[\"family\"],\n ip: item[\"ip\"],\n };\n}\n\n/** The response of a Machine list operation. */\nexport interface _MachineListResult {\n /** The Machine items on this page */\n value: Machine[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _machineListResultDeserializer(item: any): _MachineListResult {\n return {\n value: machineArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function machineArrayDeserializer(result: Array<Machine>): any[] {\n return result.map((item) => {\n return machineDeserializer(item);\n });\n}\n\n/** A private endpoint connection */\nexport interface PrivateEndpointConnection extends ProxyResource {\n /** The current provisioning state. */\n readonly provisioningState?: PrivateEndpointConnectionProvisioningState;\n /** The resource of private endpoint. */\n privateEndpoint?: PrivateEndpoint;\n /** A collection of information about the state of the connection between service consumer and provider. */\n privateLinkServiceConnectionState?: PrivateLinkServiceConnectionState;\n}\n\nexport function privateEndpointConnectionSerializer(item: PrivateEndpointConnection): any {\n return {\n properties: areAllPropsUndefined(item, [\"privateEndpoint\", \"privateLinkServiceConnectionState\"])\n ? undefined\n : _privateEndpointConnectionPropertiesSerializer(item),\n };\n}\n\nexport function privateEndpointConnectionDeserializer(item: any): PrivateEndpointConnection {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _privateEndpointConnectionPropertiesDeserializer(item[\"properties\"])),\n };\n}\n\n/** Properties of a private endpoint connection. */\nexport interface PrivateEndpointConnectionProperties {\n /** The current provisioning state. */\n readonly provisioningState?: PrivateEndpointConnectionProvisioningState;\n /** The resource of private endpoint. */\n privateEndpoint?: PrivateEndpoint;\n /** A collection of information about the state of the connection between service consumer and provider. */\n privateLinkServiceConnectionState: PrivateLinkServiceConnectionState;\n}\n\nexport function privateEndpointConnectionPropertiesSerializer(\n item: PrivateEndpointConnectionProperties,\n): any {\n return {\n privateEndpoint: !item[\"privateEndpoint\"]\n ? item[\"privateEndpoint\"]\n : privateEndpointSerializer(item[\"privateEndpoint\"]),\n privateLinkServiceConnectionState: privateLinkServiceConnectionStateSerializer(\n item[\"privateLinkServiceConnectionState\"],\n ),\n };\n}\n\nexport function privateEndpointConnectionPropertiesDeserializer(\n item: any,\n): PrivateEndpointConnectionProperties {\n return {\n provisioningState: item[\"provisioningState\"],\n privateEndpoint: !item[\"privateEndpoint\"]\n ? item[\"privateEndpoint\"]\n : privateEndpointDeserializer(item[\"privateEndpoint\"]),\n privateLinkServiceConnectionState: privateLinkServiceConnectionStateDeserializer(\n item[\"privateLinkServiceConnectionState\"],\n ),\n };\n}\n\n/** The current provisioning state. */\nexport enum KnownPrivateEndpointConnectionProvisioningState {\n /** Private endpoint connection provisioning was canceled. */\n Canceled = \"Canceled\",\n /** Private endpoint connection is being created. */\n Creating = \"Creating\",\n /** Private endpoint connection is being deleted. */\n Deleting = \"Deleting\",\n /** Private endpoint connection provisioning failed. */\n Failed = \"Failed\",\n /** Private endpoint connection provisioning succeeded. */\n Succeeded = \"Succeeded\",\n}\n\n/**\n * The current provisioning state. \\\n * {@link KnownPrivateEndpointConnectionProvisioningState} can be used interchangeably with PrivateEndpointConnectionProvisioningState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Canceled**: Private endpoint connection provisioning was canceled. \\\n * **Creating**: Private endpoint connection is being created. \\\n * **Deleting**: Private endpoint connection is being deleted. \\\n * **Failed**: Private endpoint connection provisioning failed. \\\n * **Succeeded**: Private endpoint connection provisioning succeeded.\n */\nexport type PrivateEndpointConnectionProvisioningState = string;\n\n/** Private endpoint which a connection belongs to. */\nexport interface PrivateEndpoint {\n /** The resource ID of the private endpoint */\n id?: string;\n}\n\nexport function privateEndpointSerializer(item: PrivateEndpoint): any {\n return { id: item[\"id\"] };\n}\n\nexport function privateEndpointDeserializer(item: any): PrivateEndpoint {\n return {\n id: item[\"id\"],\n };\n}\n\n/** The state of a private link service connection. */\nexport interface PrivateLinkServiceConnectionState {\n /** The private link service connection status. */\n status?: ConnectionStatus;\n /** The private link service connection description. */\n description?: string;\n}\n\nexport function privateLinkServiceConnectionStateSerializer(\n item: PrivateLinkServiceConnectionState,\n): any {\n return { status: item[\"status\"], description: item[\"description\"] };\n}\n\nexport function privateLinkServiceConnectionStateDeserializer(\n item: any,\n): PrivateLinkServiceConnectionState {\n return {\n status: item[\"status\"],\n description: item[\"description\"],\n };\n}\n\n/** The private link service connection status. */\nexport enum KnownConnectionStatus {\n /** Connection is pending approval. */\n Pending = \"Pending\",\n /** Connection is approved. */\n Approved = \"Approved\",\n /** Connection is rejected. */\n Rejected = \"Rejected\",\n /** Connection is disconnected. */\n Disconnected = \"Disconnected\",\n}\n\n/**\n * The private link service connection status. \\\n * {@link KnownConnectionStatus} can be used interchangeably with ConnectionStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Pending**: Connection is pending approval. \\\n * **Approved**: Connection is approved. \\\n * **Rejected**: Connection is rejected. \\\n * **Disconnected**: Connection is disconnected.\n */\nexport type ConnectionStatus = string;\n\n/** A list of private endpoint connections */\nexport interface PrivateEndpointConnectionListResult {\n /** The collection value. */\n value?: PrivateEndpointConnection[];\n}\n\nexport function privateEndpointConnectionListResultDeserializer(\n item: any,\n): PrivateEndpointConnectionListResult {\n return {\n value: !item[\"value\"]\n ? item[\"value\"]\n : privateEndpointConnectionArrayDeserializer(item[\"value\"]),\n };\n}\n\nexport function privateEndpointConnectionArraySerializer(\n result: Array<PrivateEndpointConnection>,\n): any[] {\n return result.map((item) => {\n return privateEndpointConnectionSerializer(item);\n });\n}\n\nexport function privateEndpointConnectionArrayDeserializer(\n result: Array<PrivateEndpointConnection>,\n): any[] {\n return result.map((item) => {\n return privateEndpointConnectionDeserializer(item);\n });\n}\n\n/** A node pool snapshot resource. */\nexport interface Snapshot extends TrackedResource {\n /** CreationData to be used to specify the source agent pool resource ID to create this snapshot. */\n creationData?: CreationData;\n /** The type of a snapshot. The default is NodePool. */\n snapshotType?: SnapshotType;\n /** The version of Kubernetes. */\n readonly kubernetesVersion?: string;\n /** The version of node image. */\n readonly nodeImageVersion?: string;\n /** The operating system type. The default is Linux. */\n readonly osType?: OSType;\n /** Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. */\n readonly osSku?: Ossku;\n /** The size of the VM. */\n readonly vmSize?: string;\n /** Whether to use a FIPS-enabled OS. */\n readonly enableFips?: boolean;\n}\n\nexport function snapshotSerializer(item: Snapshot): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: areAllPropsUndefined(item, [\"creationData\", \"snapshotType\"])\n ? undefined\n : _snapshotPropertiesSerializer(item),\n };\n}\n\nexport function snapshotDeserializer(item: any): Snapshot {\n return {\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _snapshotPropertiesDeserializer(item[\"properties\"])),\n };\n}\n\n/** Properties used to configure a node pool snapshot. */\nexport interface SnapshotProperties {\n /** CreationData to be used to specify the source agent pool resource ID to create this snapshot. */\n creationData?: CreationData;\n /** The type of a snapshot. The default is NodePool. */\n snapshotType?: SnapshotType;\n /** The version of Kubernetes. */\n readonly kubernetesVersion?: string;\n /** The version of node image. */\n readonly nodeImageVersion?: string;\n /** The operating system type. The default is Linux. */\n readonly osType?: OSType;\n /** Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. */\n readonly osSku?: Ossku;\n /** The size of the VM. */\n readonly vmSize?: string;\n /** Whether to use a FIPS-enabled OS. */\n readonly enableFips?: boolean;\n}\n\nexport function snapshotPropertiesSerializer(item: SnapshotProperties): any {\n return {\n creationData: !item[\"creationData\"]\n ? item[\"creationData\"]\n : creationDataSerializer(item[\"creationData\"]),\n snapshotType: item[\"snapshotType\"],\n };\n}\n\nexport function snapshotPropertiesDeserializer(item: any): SnapshotProperties {\n return {\n creationData: !item[\"creationData\"]\n ? item[\"creationData\"]\n : creationDataDeserializer(item[\"creationData\"]),\n snapshotType: item[\"snapshotType\"],\n kubernetesVersion: item[\"kubernetesVersion\"],\n nodeImageVersion: item[\"nodeImageVersion\"],\n osType: item[\"osType\"],\n osSku: item[\"osSku\"],\n vmSize: item[\"vmSize\"],\n enableFips: item[\"enableFIPS\"],\n };\n}\n\n/** The type of a snapshot. The default is NodePool. */\nexport enum KnownSnapshotType {\n /** The snapshot is a snapshot of a node pool. */\n NodePool = \"NodePool\",\n}\n\n/**\n * The type of a snapshot. The default is NodePool. \\\n * {@link KnownSnapshotType} can be used interchangeably with SnapshotType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **NodePool**: The snapshot is a snapshot of a node pool.\n */\nexport type SnapshotType = string;\n\n/** The response of a Snapshot list operation. */\nexport interface _SnapshotListResult {\n /** The Snapshot items on this page */\n value: Snapshot[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _snapshotListResultDeserializer(item: any): _SnapshotListResult {\n return {\n value: snapshotArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function snapshotArraySerializer(result: Array<Snapshot>): any[] {\n return result.map((item) => {\n return snapshotSerializer(item);\n });\n}\n\nexport function snapshotArrayDeserializer(result: Array<Snapshot>): any[] {\n return result.map((item) => {\n return snapshotDeserializer(item);\n });\n}\n\n/** Defines binding between a resource and role */\nexport interface TrustedAccessRoleBinding extends ProxyResource {\n /** The current provisioning state of trusted access role binding. */\n readonly provisioningState?: TrustedAccessRoleBindingProvisioningState;\n /** The ARM resource ID of source resource that trusted access is configured for. */\n sourceResourceId: string;\n /** A list of roles to bind, each item is a resource type qualified role name. For example: 'Microsoft.MachineLearningServices/workspaces/reader'. */\n roles: string[];\n}\n\nexport function trustedAccessRoleBindingSerializer(item: TrustedAccessRoleBinding): any {\n return { properties: _trustedAccessRoleBindingPropertiesSerializer(item) };\n}\n\nexport function trustedAccessRoleBindingDeserializer(item: any): TrustedAccessRoleBinding {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n ..._trustedAccessRoleBindingPropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** Properties for trusted access role binding */\nexport interface TrustedAccessRoleBindingProperties {\n /** The current provisioning state of trusted access role binding. */\n readonly provisioningState?: TrustedAccessRoleBindingProvisioningState;\n /** The ARM resource ID of source resource that trusted access is configured for. */\n sourceResourceId: string;\n /** A list of roles to bind, each item is a resource type qualified role name. For example: 'Microsoft.MachineLearningServices/workspaces/reader'. */\n roles: string[];\n}\n\nexport function trustedAccessRoleBindingPropertiesSerializer(\n item: TrustedAccessRoleBindingProperties,\n): any {\n return {\n sourceResourceId: item[\"sourceResourceId\"],\n roles: item[\"roles\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function trustedAccessRoleBindingPropertiesDeserializer(\n item: any,\n): TrustedAccessRoleBindingProperties {\n return {\n provisioningState: item[\"provisioningState\"],\n sourceResourceId: item[\"sourceResourceId\"],\n roles: item[\"roles\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** The current provisioning state of trusted access role binding. */\nexport enum KnownTrustedAccessRoleBindingProvisioningState {\n /** Trusted access role binding provisioning was canceled. */\n Canceled = \"Canceled\",\n /** Trusted access role binding is being deleted. */\n Deleting = \"Deleting\",\n /** Trusted access role binding provisioning failed. */\n Failed = \"Failed\",\n /** Trusted access role binding provisioning succeeded. */\n Succeeded = \"Succeeded\",\n /** Trusted access role binding is being updated. */\n Updating = \"Updating\",\n}\n\n/**\n * The current provisioning state of trusted access role binding. \\\n * {@link KnownTrustedAccessRoleBindingProvisioningState} can be used interchangeably with TrustedAccessRoleBindingProvisioningState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Canceled**: Trusted access role binding provisioning was canceled. \\\n * **Deleting**: Trusted access role binding is being deleted. \\\n * **Failed**: Trusted access role binding provisioning failed. \\\n * **Succeeded**: Trusted access role binding provisioning succeeded. \\\n * **Updating**: Trusted access role binding is being updated.\n */\nexport type TrustedAccessRoleBindingProvisioningState = string;\n\n/** The response of a TrustedAccessRoleBinding list operation. */\nexport interface _TrustedAccessRoleBindingListResult {\n /** The TrustedAccessRoleBinding items on this page */\n value: TrustedAccessRoleBinding[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _trustedAccessRoleBindingListResultDeserializer(\n item: any,\n): _TrustedAccessRoleBindingListResult {\n return {\n value: trustedAccessRoleBindingArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function trustedAccessRoleBindingArraySerializer(\n result: Array<TrustedAccessRoleBinding>,\n): any[] {\n return result.map((item) => {\n return trustedAccessRoleBindingSerializer(item);\n });\n}\n\nexport function trustedAccessRoleBindingArrayDeserializer(\n result: Array<TrustedAccessRoleBinding>,\n): any[] {\n return result.map((item) => {\n return trustedAccessRoleBindingDeserializer(item);\n });\n}\n\n/** The List Operation response. */\nexport interface _OperationListResult {\n /** The list of operations */\n value: OperationValue[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _operationListResultDeserializer(item: any): _OperationListResult {\n return {\n value: operationValueArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function operationValueArrayDeserializer(result: Array<OperationValue>): any[] {\n return result.map((item) => {\n return operationValueDeserializer(item);\n });\n}\n\n/** Describes the properties of a Operation value. */\nexport interface OperationValue {\n /** The origin of the operation. */\n readonly origin?: string;\n /** The name of the operation. */\n readonly name?: string;\n /** The display name of the operation. */\n readonly operation?: string;\n /** The display name of the resource the operation applies to. */\n readonly resource?: string;\n /** The description of the operation. */\n readonly description?: string;\n /** The resource provider for the operation. */\n readonly provider?: string;\n}\n\nexport function operationValueDeserializer(item: any): OperationValue {\n return {\n origin: item[\"origin\"],\n name: item[\"name\"],\n ...(!item[\"display\"] ? item[\"display\"] : _operationValueDisplayDeserializer(item[\"display\"])),\n };\n}\n\n/** Describes the properties of a Operation Value Display. */\nexport interface OperationValueDisplay {\n /** The display name of the operation. */\n readonly operation?: string;\n /** The display name of the resource the operation applies to. */\n readonly resource?: string;\n /** The description of the operation. */\n readonly description?: string;\n /** The resource provider for the operation. */\n readonly provider?: string;\n}\n\nexport function operationValueDisplayDeserializer(item: any): OperationValueDisplay {\n return {\n operation: item[\"operation\"],\n resource: item[\"resource\"],\n description: item[\"description\"],\n provider: item[\"provider\"],\n };\n}\n\n/** A list of private link resources */\nexport interface PrivateLinkResourcesListResult {\n /** The collection value. */\n value?: PrivateLinkResource[];\n}\n\nexport function privateLinkResourcesListResultDeserializer(\n item: any,\n): PrivateLinkResourcesListResult {\n return {\n value: !item[\"value\"] ? item[\"value\"] : privateLinkResourceArrayDeserializer(item[\"value\"]),\n };\n}\n\n/** List of trusted access roles */\nexport interface _TrustedAccessRoleListResult {\n /** The TrustedAccessRole items on this page */\n value: TrustedAccessRole[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _trustedAccessRoleListResultDeserializer(item: any): _TrustedAccessRoleListResult {\n return {\n value: trustedAccessRoleArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function trustedAccessRoleArrayDeserializer(result: Array<TrustedAccessRole>): any[] {\n return result.map((item) => {\n return trustedAccessRoleDeserializer(item);\n });\n}\n\n/** Trusted access role definition. */\nexport interface TrustedAccessRole {\n /** Resource type of Azure resource */\n readonly sourceResourceType?: string;\n /** Name of role, name is unique under a source resource type */\n readonly name?: string;\n /** List of rules for the role. This maps to 'rules' property of [Kubernetes Cluster Role](https://kubernetes.io/docs/reference/kubernetes-api/authorization-resources/cluster-role-v1/#ClusterRole). */\n readonly rules?: TrustedAccessRoleRule[];\n}\n\nexport function trustedAccessRoleDeserializer(item: any): TrustedAccessRole {\n return {\n sourceResourceType: item[\"sourceResourceType\"],\n name: item[\"name\"],\n rules: !item[\"rules\"] ? item[\"rules\"] : trustedAccessRoleRuleArrayDeserializer(item[\"rules\"]),\n };\n}\n\nexport function trustedAccessRoleRuleArrayDeserializer(\n result: Array<TrustedAccessRoleRule>,\n): any[] {\n return result.map((item) => {\n return trustedAccessRoleRuleDeserializer(item);\n });\n}\n\n/** Rule for trusted access role */\nexport interface TrustedAccessRoleRule {\n /** List of allowed verbs */\n readonly verbs?: string[];\n /** List of allowed apiGroups */\n readonly apiGroups?: string[];\n /** List of allowed resources */\n readonly resources?: string[];\n /** List of allowed names */\n readonly resourceNames?: string[];\n /** List of allowed nonResourceURLs */\n readonly nonResourceURLs?: string[];\n}\n\nexport function trustedAccessRoleRuleDeserializer(item: any): TrustedAccessRoleRule {\n return {\n verbs: !item[\"verbs\"]\n ? item[\"verbs\"]\n : item[\"verbs\"].map((p: any) => {\n return p;\n }),\n apiGroups: !item[\"apiGroups\"]\n ? item[\"apiGroups\"]\n : item[\"apiGroups\"].map((p: any) => {\n return p;\n }),\n resources: !item[\"resources\"]\n ? item[\"resources\"]\n : item[\"resources\"].map((p: any) => {\n return p;\n }),\n resourceNames: !item[\"resourceNames\"]\n ? item[\"resourceNames\"]\n : item[\"resourceNames\"].map((p: any) => {\n return p;\n }),\n nonResourceURLs: !item[\"nonResourceURLs\"]\n ? item[\"nonResourceURLs\"]\n : item[\"nonResourceURLs\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** The format of the kubeconfig credential. */\nexport enum KnownFormat {\n /** Return azure auth-provider kubeconfig. This format is deprecated in v1.22 and will be fully removed in v1.26. See: https://aka.ms/k8s/changes-1-26. */\n Azure = \"azure\",\n /** Return exec format kubeconfig. This format requires kubelogin binary in the path. */\n Exec = \"exec\",\n}\n\n/**\n * The format of the kubeconfig credential. \\\n * {@link KnownFormat} can be used interchangeably with Format,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **azure**: Return azure auth-provider kubeconfig. This format is deprecated in v1.22 and will be fully removed in v1.26. See: https:\\//aka.ms\\/k8s\\/changes-1-26. \\\n * **exec**: Return exec format kubeconfig. This format requires kubelogin binary in the path.\n */\nexport type Format = string;\n\n/** The available API versions. */\nexport enum KnownVersions {\n /** The 2025-10-01 API version. */\n V20251001 = \"2025-10-01\",\n /** The 2026-01-01 API version. */\n V20260101 = \"2026-01-01\",\n}\n\nexport function _agentPoolPropertiesSerializer(item: AgentPool): any {\n return {\n count: item[\"count\"],\n vmSize: item[\"vmSize\"],\n osDiskSizeGB: item[\"osDiskSizeGB\"],\n osDiskType: item[\"osDiskType\"],\n kubeletDiskType: item[\"kubeletDiskType\"],\n workloadRuntime: item[\"workloadRuntime\"],\n messageOfTheDay: item[\"messageOfTheDay\"],\n vnetSubnetID: item[\"vnetSubnetID\"],\n podSubnetID: item[\"podSubnetID\"],\n podIPAllocationMode: item[\"podIPAllocationMode\"],\n maxPods: item[\"maxPods\"],\n osType: item[\"osType\"],\n osSKU: item[\"osSKU\"],\n maxCount: item[\"maxCount\"],\n minCount: item[\"minCount\"],\n enableAutoScaling: item[\"enableAutoScaling\"],\n scaleDownMode: item[\"scaleDownMode\"],\n type: item[\"typePropertiesType\"],\n mode: item[\"mode\"],\n orchestratorVersion: item[\"orchestratorVersion\"],\n upgradeSettings: !item[\"upgradeSettings\"]\n ? item[\"upgradeSettings\"]\n : agentPoolUpgradeSettingsSerializer(item[\"upgradeSettings\"]),\n powerState: !item[\"powerState\"] ? item[\"powerState\"] : powerStateSerializer(item[\"powerState\"]),\n availabilityZones: !item[\"availabilityZones\"]\n ? item[\"availabilityZones\"]\n : item[\"availabilityZones\"].map((p: any) => {\n return p;\n }),\n enableNodePublicIP: item[\"enableNodePublicIP\"],\n nodePublicIPPrefixID: item[\"nodePublicIPPrefixID\"],\n scaleSetPriority: item[\"scaleSetPriority\"],\n scaleSetEvictionPolicy: item[\"scaleSetEvictionPolicy\"],\n spotMaxPrice: item[\"spotMaxPrice\"],\n tags: item[\"tags\"],\n nodeLabels: item[\"nodeLabels\"],\n nodeTaints: !item[\"nodeTaints\"]\n ? item[\"nodeTaints\"]\n : item[\"nodeTaints\"].map((p: any) => {\n return p;\n }),\n proximityPlacementGroupID: item[\"proximityPlacementGroupID\"],\n kubeletConfig: !item[\"kubeletConfig\"]\n ? item[\"kubeletConfig\"]\n : kubeletConfigSerializer(item[\"kubeletConfig\"]),\n linuxOSConfig: !item[\"linuxOSConfig\"]\n ? item[\"linuxOSConfig\"]\n : linuxOSConfigSerializer(item[\"linuxOSConfig\"]),\n enableEncryptionAtHost: item[\"enableEncryptionAtHost\"],\n enableUltraSSD: item[\"enableUltraSSD\"],\n enableFIPS: item[\"enableFips\"],\n gpuInstanceProfile: item[\"gpuInstanceProfile\"],\n creationData: !item[\"creationData\"]\n ? item[\"creationData\"]\n : creationDataSerializer(item[\"creationData\"]),\n capacityReservationGroupID: item[\"capacityReservationGroupID\"],\n hostGroupID: item[\"hostGroupID\"],\n networkProfile: !item[\"networkProfile\"]\n ? item[\"networkProfile\"]\n : agentPoolNetworkProfileSerializer(item[\"networkProfile\"]),\n windowsProfile: !item[\"windowsProfile\"]\n ? item[\"windowsProfile\"]\n : agentPoolWindowsProfileSerializer(item[\"windowsProfile\"]),\n securityProfile: !item[\"securityProfile\"]\n ? item[\"securityProfile\"]\n : agentPoolSecurityProfileSerializer(item[\"securityProfile\"]),\n gpuProfile: !item[\"gpuProfile\"] ? item[\"gpuProfile\"] : gpuProfileSerializer(item[\"gpuProfile\"]),\n gatewayProfile: !item[\"gatewayProfile\"]\n ? item[\"gatewayProfile\"]\n : agentPoolGatewayProfileSerializer(item[\"gatewayProfile\"]),\n virtualMachinesProfile: !item[\"virtualMachinesProfile\"]\n ? item[\"virtualMachinesProfile\"]\n : virtualMachinesProfileSerializer(item[\"virtualMachinesProfile\"]),\n virtualMachineNodesStatus: !item[\"virtualMachineNodesStatus\"]\n ? item[\"virtualMachineNodesStatus\"]\n : virtualMachineNodesArraySerializer(item[\"virtualMachineNodesStatus\"]),\n status: !item[\"status\"] ? item[\"status\"] : agentPoolStatusSerializer(item[\"status\"]),\n localDNSProfile: !item[\"localDNSProfile\"]\n ? item[\"localDNSProfile\"]\n : localDNSProfileSerializer(item[\"localDNSProfile\"]),\n };\n}\n\nexport function _agentPoolPropertiesDeserializer(item: any) {\n return {\n eTag: item[\"eTag\"],\n count: item[\"count\"],\n vmSize: item[\"vmSize\"],\n osDiskSizeGB: item[\"osDiskSizeGB\"],\n osDiskType: item[\"osDiskType\"],\n kubeletDiskType: item[\"kubeletDiskType\"],\n workloadRuntime: item[\"workloadRuntime\"],\n messageOfTheDay: item[\"messageOfTheDay\"],\n vnetSubnetID: item[\"vnetSubnetID\"],\n podSubnetID: item[\"podSubnetID\"],\n podIPAllocationMode: item[\"podIPAllocationMode\"],\n maxPods: item[\"maxPods\"],\n osType: item[\"osType\"],\n osSKU: item[\"osSKU\"],\n maxCount: item[\"maxCount\"],\n minCount: item[\"minCount\"],\n enableAutoScaling: item[\"enableAutoScaling\"],\n scaleDownMode: item[\"scaleDownMode\"],\n typePropertiesType: item[\"type\"],\n mode: item[\"mode\"],\n orchestratorVersion: item[\"orchestratorVersion\"],\n currentOrchestratorVersion: item[\"currentOrchestratorVersion\"],\n nodeImageVersion: item[\"nodeImageVersion\"],\n upgradeSettings: !item[\"upgradeSettings\"]\n ? item[\"upgradeSettings\"]\n : agentPoolUpgradeSettingsDeserializer(item[\"upgradeSettings\"]),\n provisioningState: item[\"provisioningState\"],\n powerState: !item[\"powerState\"]\n ? item[\"powerState\"]\n : powerStateDeserializer(item[\"powerState\"]),\n availabilityZones: !item[\"availabilityZones\"]\n ? item[\"availabilityZones\"]\n : item[\"availabilityZones\"].map((p: any) => {\n return p;\n }),\n enableNodePublicIP: item[\"enableNodePublicIP\"],\n nodePublicIPPrefixID: item[\"nodePublicIPPrefixID\"],\n scaleSetPriority: item[\"scaleSetPriority\"],\n scaleSetEvictionPolicy: item[\"scaleSetEvictionPolicy\"],\n spotMaxPrice: item[\"spotMaxPrice\"],\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n nodeLabels: !item[\"nodeLabels\"]\n ? item[\"nodeLabels\"]\n : Object.fromEntries(\n Object.entries(item[\"nodeLabels\"]).map(([k, p]: [string, any]) => [k, p]),\n ),\n nodeTaints: !item[\"nodeTaints\"]\n ? item[\"nodeTaints\"]\n : item[\"nodeTaints\"].map((p: any) => {\n return p;\n }),\n proximityPlacementGroupID: item[\"proximityPlacementGroupID\"],\n kubeletConfig: !item[\"kubeletConfig\"]\n ? item[\"kubeletConfig\"]\n : kubeletConfigDeserializer(item[\"kubeletConfig\"]),\n linuxOSConfig: !item[\"linuxOSConfig\"]\n ? item[\"linuxOSConfig\"]\n : linuxOSConfigDeserializer(item[\"linuxOSConfig\"]),\n enableEncryptionAtHost: item[\"enableEncryptionAtHost\"],\n enableUltraSSD: item[\"enableUltraSSD\"],\n enableFips: item[\"enableFIPS\"],\n gpuInstanceProfile: item[\"gpuInstanceProfile\"],\n creationData: !item[\"creationData\"]\n ? item[\"creationData\"]\n : creationDataDeserializer(item[\"creationData\"]),\n capacityReservationGroupID: item[\"capacityReservationGroupID\"],\n hostGroupID: item[\"hostGroupID\"],\n networkProfile: !item[\"networkProfile\"]\n ? item[\"networkProfile\"]\n : agentPoolNetworkProfileDeserializer(item[\"networkProfile\"]),\n windowsProfile: !item[\"windowsProfile\"]\n ? item[\"windowsProfile\"]\n : agentPoolWindowsProfileDeserializer(item[\"windowsProfile\"]),\n securityProfile: !item[\"securityProfile\"]\n ? item[\"securityProfile\"]\n : agentPoolSecurityProfileDeserializer(item[\"securityProfile\"]),\n gpuProfile: !item[\"gpuProfile\"]\n ? item[\"gpuProfile\"]\n : gpuProfileDeserializer(item[\"gpuProfile\"]),\n gatewayProfile: !item[\"gatewayProfile\"]\n ? item[\"gatewayProfile\"]\n : agentPoolGatewayProfileDeserializer(item[\"gatewayProfile\"]),\n virtualMachinesProfile: !item[\"virtualMachinesProfile\"]\n ? item[\"virtualMachinesProfile\"]\n : virtualMachinesProfileDeserializer(item[\"virtualMachinesProfile\"]),\n virtualMachineNodesStatus: !item[\"virtualMachineNodesStatus\"]\n ? item[\"virtualMachineNodesStatus\"]\n : virtualMachineNodesArrayDeserializer(item[\"virtualMachineNodesStatus\"]),\n status: !item[\"status\"] ? item[\"status\"] : agentPoolStatusDeserializer(item[\"status\"]),\n localDNSProfile: !item[\"localDNSProfile\"]\n ? item[\"localDNSProfile\"]\n : localDNSProfileDeserializer(item[\"localDNSProfile\"]),\n };\n}\n\nexport function _agentPoolAvailableVersionsPropertiesDeserializer(item: any) {\n return {\n agentPoolVersions: !item[\"agentPoolVersions\"]\n ? item[\"agentPoolVersions\"]\n : agentPoolAvailableVersionsPropertiesAgentPoolVersionsItemArrayDeserializer(\n item[\"agentPoolVersions\"],\n ),\n };\n}\n\nexport function _agentPoolUpgradeProfilePropertiesDeserializer(item: any) {\n return {\n kubernetesVersion: item[\"kubernetesVersion\"],\n osType: item[\"osType\"],\n upgrades: !item[\"upgrades\"]\n ? item[\"upgrades\"]\n : agentPoolUpgradeProfilePropertiesUpgradesItemArrayDeserializer(item[\"upgrades\"]),\n latestNodeImageVersion: item[\"latestNodeImageVersion\"],\n };\n}\n\nexport function _managedClusterPropertiesSerializer(item: ManagedCluster): any {\n return {\n kubernetesVersion: item[\"kubernetesVersion\"],\n dnsPrefix: item[\"dnsPrefix\"],\n fqdnSubdomain: item[\"fqdnSubdomain\"],\n agentPoolProfiles: !item[\"agentPoolProfiles\"]\n ? item[\"agentPoolProfiles\"]\n : managedClusterAgentPoolProfileArraySerializer(item[\"agentPoolProfiles\"]),\n linuxProfile: !item[\"linuxProfile\"]\n ? item[\"linuxProfile\"]\n : containerServiceLinuxProfileSerializer(item[\"linuxProfile\"]),\n windowsProfile: !item[\"windowsProfile\"]\n ? item[\"windowsProfile\"]\n : managedClusterWindowsProfileSerializer(item[\"windowsProfile\"]),\n servicePrincipalProfile: !item[\"servicePrincipalProfile\"]\n ? item[\"servicePrincipalProfile\"]\n : managedClusterServicePrincipalProfileSerializer(item[\"servicePrincipalProfile\"]),\n addonProfiles: !item[\"addonProfiles\"]\n ? item[\"addonProfiles\"]\n : managedClusterAddonProfileRecordSerializer(item[\"addonProfiles\"]),\n podIdentityProfile: !item[\"podIdentityProfile\"]\n ? item[\"podIdentityProfile\"]\n : managedClusterPodIdentityProfileSerializer(item[\"podIdentityProfile\"]),\n oidcIssuerProfile: !item[\"oidcIssuerProfile\"]\n ? item[\"oidcIssuerProfile\"]\n : managedClusterOidcIssuerProfileSerializer(item[\"oidcIssuerProfile\"]),\n nodeResourceGroup: item[\"nodeResourceGroup\"],\n nodeResourceGroupProfile: !item[\"nodeResourceGroupProfile\"]\n ? item[\"nodeResourceGroupProfile\"]\n : managedClusterNodeResourceGroupProfileSerializer(item[\"nodeResourceGroupProfile\"]),\n enableRBAC: item[\"enableRbac\"],\n supportPlan: item[\"supportPlan\"],\n networkProfile: !item[\"networkProfile\"]\n ? item[\"networkProfile\"]\n : containerServiceNetworkProfileSerializer(item[\"networkProfile\"]),\n aadProfile: !item[\"aadProfile\"]\n ? item[\"aadProfile\"]\n : managedClusterAADProfileSerializer(item[\"aadProfile\"]),\n autoUpgradeProfile: !item[\"autoUpgradeProfile\"]\n ? item[\"autoUpgradeProfile\"]\n : managedClusterAutoUpgradeProfileSerializer(item[\"autoUpgradeProfile\"]),\n upgradeSettings: !item[\"upgradeSettings\"]\n ? item[\"upgradeSettings\"]\n : clusterUpgradeSettingsSerializer(item[\"upgradeSettings\"]),\n autoScalerProfile: !item[\"autoScalerProfile\"]\n ? item[\"autoScalerProfile\"]\n : managedClusterPropertiesAutoScalerProfileSerializer(item[\"autoScalerProfile\"]),\n apiServerAccessProfile: !item[\"apiServerAccessProfile\"]\n ? item[\"apiServerAccessProfile\"]\n : managedClusterAPIServerAccessProfileSerializer(item[\"apiServerAccessProfile\"]),\n diskEncryptionSetID: item[\"diskEncryptionSetID\"],\n identityProfile: !item[\"identityProfile\"]\n ? item[\"identityProfile\"]\n : userAssignedIdentityRecordSerializer(item[\"identityProfile\"]),\n privateLinkResources: !item[\"privateLinkResources\"]\n ? item[\"privateLinkResources\"]\n : privateLinkResourceArraySerializer(item[\"privateLinkResources\"]),\n disableLocalAccounts: item[\"disableLocalAccounts\"],\n httpProxyConfig: !item[\"httpProxyConfig\"]\n ? item[\"httpProxyConfig\"]\n : managedClusterHttpProxyConfigSerializer(item[\"httpProxyConfig\"]),\n securityProfile: !item[\"securityProfile\"]\n ? item[\"securityProfile\"]\n : managedClusterSecurityProfileSerializer(item[\"securityProfile\"]),\n storageProfile: !item[\"storageProfile\"]\n ? item[\"storageProfile\"]\n : managedClusterStorageProfileSerializer(item[\"storageProfile\"]),\n ingressProfile: !item[\"ingressProfile\"]\n ? item[\"ingressProfile\"]\n : managedClusterIngressProfileSerializer(item[\"ingressProfile\"]),\n publicNetworkAccess: item[\"publicNetworkAccess\"],\n workloadAutoScalerProfile: !item[\"workloadAutoScalerProfile\"]\n ? item[\"workloadAutoScalerProfile\"]\n : managedClusterWorkloadAutoScalerProfileSerializer(item[\"workloadAutoScalerProfile\"]),\n azureMonitorProfile: !item[\"azureMonitorProfile\"]\n ? item[\"azureMonitorProfile\"]\n : managedClusterAzureMonitorProfileSerializer(item[\"azureMonitorProfile\"]),\n serviceMeshProfile: !item[\"serviceMeshProfile\"]\n ? item[\"serviceMeshProfile\"]\n : serviceMeshProfileSerializer(item[\"serviceMeshProfile\"]),\n metricsProfile: !item[\"metricsProfile\"]\n ? item[\"metricsProfile\"]\n : managedClusterMetricsProfileSerializer(item[\"metricsProfile\"]),\n nodeProvisioningProfile: !item[\"nodeProvisioningProfile\"]\n ? item[\"nodeProvisioningProfile\"]\n : managedClusterNodeProvisioningProfileSerializer(item[\"nodeProvisioningProfile\"]),\n bootstrapProfile: !item[\"bootstrapProfile\"]\n ? item[\"bootstrapProfile\"]\n : managedClusterBootstrapProfileSerializer(item[\"bootstrapProfile\"]),\n aiToolchainOperatorProfile: !item[\"aiToolchainOperatorProfile\"]\n ? item[\"aiToolchainOperatorProfile\"]\n : managedClusterAIToolchainOperatorProfileSerializer(item[\"aiToolchainOperatorProfile\"]),\n status: !item[\"status\"] ? item[\"status\"] : managedClusterStatusSerializer(item[\"status\"]),\n };\n}\n\nexport function _managedClusterPropertiesDeserializer(item: any) {\n return {\n provisioningState: item[\"provisioningState\"],\n powerState: !item[\"powerState\"]\n ? item[\"powerState\"]\n : powerStateDeserializer(item[\"powerState\"]),\n maxAgentPools: item[\"maxAgentPools\"],\n kubernetesVersion: item[\"kubernetesVersion\"],\n currentKubernetesVersion: item[\"currentKubernetesVersion\"],\n dnsPrefix: item[\"dnsPrefix\"],\n fqdnSubdomain: item[\"fqdnSubdomain\"],\n fqdn: item[\"fqdn\"],\n privateFqdn: item[\"privateFQDN\"],\n azurePortalFqdn: item[\"azurePortalFQDN\"],\n agentPoolProfiles: !item[\"agentPoolProfiles\"]\n ? item[\"agentPoolProfiles\"]\n : managedClusterAgentPoolProfileArrayDeserializer(item[\"agentPoolProfiles\"]),\n linuxProfile: !item[\"linuxProfile\"]\n ? item[\"linuxProfile\"]\n : containerServiceLinuxProfileDeserializer(item[\"linuxProfile\"]),\n windowsProfile: !item[\"windowsProfile\"]\n ? item[\"windowsProfile\"]\n : managedClusterWindowsProfileDeserializer(item[\"windowsProfile\"]),\n servicePrincipalProfile: !item[\"servicePrincipalProfile\"]\n ? item[\"servicePrincipalProfile\"]\n : managedClusterServicePrincipalProfileDeserializer(item[\"servicePrincipalProfile\"]),\n addonProfiles: !item[\"addonProfiles\"]\n ? item[\"addonProfiles\"]\n : managedClusterAddonProfileRecordDeserializer(item[\"addonProfiles\"]),\n podIdentityProfile: !item[\"podIdentityProfile\"]\n ? item[\"podIdentityProfile\"]\n : managedClusterPodIdentityProfileDeserializer(item[\"podIdentityProfile\"]),\n oidcIssuerProfile: !item[\"oidcIssuerProfile\"]\n ? item[\"oidcIssuerProfile\"]\n : managedClusterOidcIssuerProfileDeserializer(item[\"oidcIssuerProfile\"]),\n nodeResourceGroup: item[\"nodeResourceGroup\"],\n nodeResourceGroupProfile: !item[\"nodeResourceGroupProfile\"]\n ? item[\"nodeResourceGroupProfile\"]\n : managedClusterNodeResourceGroupProfileDeserializer(item[\"nodeResourceGroupProfile\"]),\n enableRbac: item[\"enableRBAC\"],\n supportPlan: item[\"supportPlan\"],\n networkProfile: !item[\"networkProfile\"]\n ? item[\"networkProfile\"]\n : containerServiceNetworkProfileDeserializer(item[\"networkProfile\"]),\n aadProfile: !item[\"aadProfile\"]\n ? item[\"aadProfile\"]\n : managedClusterAADProfileDeserializer(item[\"aadProfile\"]),\n autoUpgradeProfile: !item[\"autoUpgradeProfile\"]\n ? item[\"autoUpgradeProfile\"]\n : managedClusterAutoUpgradeProfileDeserializer(item[\"autoUpgradeProfile\"]),\n upgradeSettings: !item[\"upgradeSettings\"]\n ? item[\"upgradeSettings\"]\n : clusterUpgradeSettingsDeserializer(item[\"upgradeSettings\"]),\n autoScalerProfile: !item[\"autoScalerProfile\"]\n ? item[\"autoScalerProfile\"]\n : managedClusterPropertiesAutoScalerProfileDeserializer(item[\"autoScalerProfile\"]),\n apiServerAccessProfile: !item[\"apiServerAccessProfile\"]\n ? item[\"apiServerAccessProfile\"]\n : managedClusterAPIServerAccessProfileDeserializer(item[\"apiServerAccessProfile\"]),\n diskEncryptionSetID: item[\"diskEncryptionSetID\"],\n identityProfile: !item[\"identityProfile\"]\n ? item[\"identityProfile\"]\n : userAssignedIdentityRecordDeserializer(item[\"identityProfile\"]),\n privateLinkResources: !item[\"privateLinkResources\"]\n ? item[\"privateLinkResources\"]\n : privateLinkResourceArrayDeserializer(item[\"privateLinkResources\"]),\n disableLocalAccounts: item[\"disableLocalAccounts\"],\n httpProxyConfig: !item[\"httpProxyConfig\"]\n ? item[\"httpProxyConfig\"]\n : managedClusterHttpProxyConfigDeserializer(item[\"httpProxyConfig\"]),\n securityProfile: !item[\"securityProfile\"]\n ? item[\"securityProfile\"]\n : managedClusterSecurityProfileDeserializer(item[\"securityProfile\"]),\n storageProfile: !item[\"storageProfile\"]\n ? item[\"storageProfile\"]\n : managedClusterStorageProfileDeserializer(item[\"storageProfile\"]),\n ingressProfile: !item[\"ingressProfile\"]\n ? item[\"ingressProfile\"]\n : managedClusterIngressProfileDeserializer(item[\"ingressProfile\"]),\n publicNetworkAccess: item[\"publicNetworkAccess\"],\n workloadAutoScalerProfile: !item[\"workloadAutoScalerProfile\"]\n ? item[\"workloadAutoScalerProfile\"]\n : managedClusterWorkloadAutoScalerProfileDeserializer(item[\"workloadAutoScalerProfile\"]),\n azureMonitorProfile: !item[\"azureMonitorProfile\"]\n ? item[\"azureMonitorProfile\"]\n : managedClusterAzureMonitorProfileDeserializer(item[\"azureMonitorProfile\"]),\n serviceMeshProfile: !item[\"serviceMeshProfile\"]\n ? item[\"serviceMeshProfile\"]\n : serviceMeshProfileDeserializer(item[\"serviceMeshProfile\"]),\n resourceUID: item[\"resourceUID\"],\n metricsProfile: !item[\"metricsProfile\"]\n ? item[\"metricsProfile\"]\n : managedClusterMetricsProfileDeserializer(item[\"metricsProfile\"]),\n nodeProvisioningProfile: !item[\"nodeProvisioningProfile\"]\n ? item[\"nodeProvisioningProfile\"]\n : managedClusterNodeProvisioningProfileDeserializer(item[\"nodeProvisioningProfile\"]),\n bootstrapProfile: !item[\"bootstrapProfile\"]\n ? item[\"bootstrapProfile\"]\n : managedClusterBootstrapProfileDeserializer(item[\"bootstrapProfile\"]),\n aiToolchainOperatorProfile: !item[\"aiToolchainOperatorProfile\"]\n ? item[\"aiToolchainOperatorProfile\"]\n : managedClusterAIToolchainOperatorProfileDeserializer(item[\"aiToolchainOperatorProfile\"]),\n status: !item[\"status\"] ? item[\"status\"] : managedClusterStatusDeserializer(item[\"status\"]),\n };\n}\n\nexport function _managedClusterAccessProfilePropertiesDeserializer(item: any) {\n return {\n kubeConfig: !item[\"kubeConfig\"]\n ? item[\"kubeConfig\"]\n : typeof item[\"kubeConfig\"] === \"string\"\n ? stringToUint8Array(item[\"kubeConfig\"], \"base64\")\n : item[\"kubeConfig\"],\n };\n}\n\nexport function _runCommandResultPropertiesDeserializer(item: any) {\n return {\n provisioningState: item[\"provisioningState\"],\n exitCode: item[\"exitCode\"],\n startedAt: !item[\"startedAt\"] ? item[\"startedAt\"] : new Date(item[\"startedAt\"]),\n finishedAt: !item[\"finishedAt\"] ? item[\"finishedAt\"] : new Date(item[\"finishedAt\"]),\n logs: item[\"logs\"],\n reason: item[\"reason\"],\n };\n}\n\nexport function _managedClusterUpgradeProfilePropertiesDeserializer(item: any) {\n return {\n controlPlaneProfile: managedClusterPoolUpgradeProfileDeserializer(item[\"controlPlaneProfile\"]),\n agentPoolProfiles: managedClusterPoolUpgradeProfileArrayDeserializer(item[\"agentPoolProfiles\"]),\n };\n}\n\nexport function _maintenanceConfigurationPropertiesSerializer(item: MaintenanceConfiguration): any {\n return {\n timeInWeek: !item[\"timeInWeek\"]\n ? item[\"timeInWeek\"]\n : timeInWeekArraySerializer(item[\"timeInWeek\"]),\n notAllowedTime: !item[\"notAllowedTime\"]\n ? item[\"notAllowedTime\"]\n : timeSpanArraySerializer(item[\"notAllowedTime\"]),\n maintenanceWindow: !item[\"maintenanceWindow\"]\n ? item[\"maintenanceWindow\"]\n : maintenanceWindowSerializer(item[\"maintenanceWindow\"]),\n };\n}\n\nexport function _maintenanceConfigurationPropertiesDeserializer(item: any) {\n return {\n timeInWeek: !item[\"timeInWeek\"]\n ? item[\"timeInWeek\"]\n : timeInWeekArrayDeserializer(item[\"timeInWeek\"]),\n notAllowedTime: !item[\"notAllowedTime\"]\n ? item[\"notAllowedTime\"]\n : timeSpanArrayDeserializer(item[\"notAllowedTime\"]),\n maintenanceWindow: !item[\"maintenanceWindow\"]\n ? item[\"maintenanceWindow\"]\n : maintenanceWindowDeserializer(item[\"maintenanceWindow\"]),\n };\n}\n\nexport function _privateEndpointConnectionPropertiesSerializer(\n item: PrivateEndpointConnection,\n): any {\n return {\n privateEndpoint: !item[\"privateEndpoint\"]\n ? item[\"privateEndpoint\"]\n : privateEndpointSerializer(item[\"privateEndpoint\"]),\n privateLinkServiceConnectionState: !item[\"privateLinkServiceConnectionState\"]\n ? item[\"privateLinkServiceConnectionState\"]\n : privateLinkServiceConnectionStateSerializer(item[\"privateLinkServiceConnectionState\"]),\n };\n}\n\nexport function _privateEndpointConnectionPropertiesDeserializer(item: any) {\n return {\n provisioningState: item[\"provisioningState\"],\n privateEndpoint: !item[\"privateEndpoint\"]\n ? item[\"privateEndpoint\"]\n : privateEndpointDeserializer(item[\"privateEndpoint\"]),\n privateLinkServiceConnectionState: !item[\"privateLinkServiceConnectionState\"]\n ? item[\"privateLinkServiceConnectionState\"]\n : privateLinkServiceConnectionStateDeserializer(item[\"privateLinkServiceConnectionState\"]),\n };\n}\n\nexport function _snapshotPropertiesSerializer(item: Snapshot): any {\n return {\n creationData: !item[\"creationData\"]\n ? item[\"creationData\"]\n : creationDataSerializer(item[\"creationData\"]),\n snapshotType: item[\"snapshotType\"],\n };\n}\n\nexport function _snapshotPropertiesDeserializer(item: any) {\n return {\n creationData: !item[\"creationData\"]\n ? item[\"creationData\"]\n : creationDataDeserializer(item[\"creationData\"]),\n snapshotType: item[\"snapshotType\"],\n kubernetesVersion: item[\"kubernetesVersion\"],\n nodeImageVersion: item[\"nodeImageVersion\"],\n osType: item[\"osType\"],\n osSku: item[\"osSku\"],\n vmSize: item[\"vmSize\"],\n enableFips: item[\"enableFIPS\"],\n };\n}\n\nexport function _trustedAccessRoleBindingPropertiesSerializer(item: TrustedAccessRoleBinding): any {\n return {\n sourceResourceId: item[\"sourceResourceId\"],\n roles: item[\"roles\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function _trustedAccessRoleBindingPropertiesDeserializer(item: any) {\n return {\n provisioningState: item[\"provisioningState\"],\n sourceResourceId: item[\"sourceResourceId\"],\n roles: item[\"roles\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function _operationValueDisplayDeserializer(item: any) {\n return {\n operation: item[\"operation\"],\n resource: item[\"resource\"],\n description: item[\"description\"],\n provider: item[\"provider\"],\n };\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["KnownOSDiskType", "KnownKubeletDiskType", "KnownWorkloadRuntime", "KnownPodIPAllocationMode", "KnownOSType", "KnownOssku", "KnownScaleDownMode", "KnownAgentPoolType", "KnownAgentPoolMode", "KnownUndrainableNodeBehavior", "KnownCode", "KnownScaleSetPriority", "KnownScaleSetEvictionPolicy", "KnownGPUInstanceProfile", "KnownProtocol", "KnownAgentPoolSSHAccess", "KnownGPUDriver", "KnownLocalDNSMode", "KnownLocalDNSState", "KnownLocalDNSQueryLogging", "KnownLocalDNSProtocol", "KnownLocalDNSForwardDestination", "KnownLocalDNSForwardPolicy", "KnownLocalDNSServeStale", "KnownCreatedByType", "KnownLicenseType", "KnownManagedClusterPodIdentityProvisioningState", "KnownRestrictionLevel", "KnownKubernetesSupportPlan", "KnownNetworkPlugin", "KnownNetworkPluginMode", "KnownNetworkPolicy", "KnownNetworkMode", "KnownNetworkDataplane", "KnownAdvancedNetworkPolicies", "KnownTransitEncryptionType", "KnownAccelerationMode", "KnownOutboundType", "KnownLoadBalancerSku", "KnownBackendPoolType", "KnownIpFamily", "KnownUpgradeChannel", "KnownNodeOSUpgradeChannel", "KnownExpander", "KnownKeyVaultNetworkAccessTypes", "KnownNginxIngressControllerType", "KnownPublicNetworkAccess", "KnownServiceMeshMode", "KnownIstioIngressGatewayMode", "KnownProxyRedirectionMechanism", "KnownNodeProvisioningMode", "KnownNodeProvisioningDefaultNodePools", "KnownArtifactSource", "KnownManagedClusterSKUName", "KnownManagedClusterSKUTier", "KnownExtendedLocationTypes", "KnownResourceIdentityType", "KnownWeekDay", "KnownType", "KnownNamespaceProvisioningState", "KnownPolicyRule", "KnownAdoptionPolicy", "KnownDeletePolicy", "KnownPrivateEndpointConnectionProvisioningState", "KnownConnectionStatus", "KnownSnapshotType", "KnownTrustedAccessRoleBindingProvisioningState", "KnownFormat", "KnownVersions"]
|
|
7
|
-
}
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/models/models.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { areAllPropsUndefined } from \"../static-helpers/serialization/check-prop-undefined.js\";\nimport { uint8ArrayToString, stringToUint8Array } from \"@azure/core-util\";\n\n/**\n * This file contains only generated model types and their (de)serializers.\n * Disable the following rules for internal models with '_' prefix and deserializers which require 'any' for raw JSON input.\n */\n/* eslint-disable @typescript-eslint/naming-convention */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/** Agent Pool. */\nexport interface AgentPool extends ProxyResource {\n /** Unique read-only string used to implement optimistic concurrency. The eTag value will change when the resource is updated. Specify an if-match or if-none-match header with the eTag value for a subsequent request to enable optimistic concurrency per the normal eTag convention. */\n readonly eTag?: string;\n /** Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. */\n count?: number;\n /** The size of the agent pool VMs. VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions */\n vmSize?: string;\n /** OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified. */\n osDiskSizeGB?: number;\n /** The OS disk type to be used for machines in the agent pool. The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). */\n osDiskType?: OSDiskType;\n /** Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. */\n kubeletDiskType?: KubeletDiskType;\n /** Determines the type of workload a node can run. */\n workloadRuntime?: WorkloadRuntime;\n /** Message of the day for Linux nodes, base64-encoded. A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of the message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e., will be printed raw and not be executed as a script). */\n messageOfTheDay?: string;\n /** The ID of the subnet which agent pool nodes and optionally pods will join on startup. If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} */\n vnetSubnetID?: string;\n /** The ID of the subnet which pods will join when launched. If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} */\n podSubnetID?: string;\n /** Pod IP Allocation Mode. The IP allocation mode for pods in the agent pool. Must be used with podSubnetId. The default is 'DynamicIndividual'. */\n podIPAllocationMode?: PodIPAllocationMode;\n /** The maximum number of pods that can run on a node. */\n maxPods?: number;\n /** The operating system type. The default is Linux. */\n osType?: OSType;\n /** Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. */\n osSKU?: Ossku;\n /** The maximum number of nodes for auto-scaling */\n maxCount?: number;\n /** The minimum number of nodes for auto-scaling */\n minCount?: number;\n /** Whether to enable auto-scaler */\n enableAutoScaling?: boolean;\n /** The scale down mode to use when scaling the Agent Pool. This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete. */\n scaleDownMode?: ScaleDownMode;\n /** The type of Agent Pool. */\n typePropertiesType?: AgentPoolType;\n /** The mode of an agent pool. A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools */\n mode?: AgentPoolMode;\n /** The version of Kubernetes specified by the user. Both patch version <major.minor.patch> (e.g. 1.20.13) and <major.minor> (e.g. 1.20) are supported. When <major.minor> is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same <major.minor> once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). */\n orchestratorVersion?: string;\n /** The version of Kubernetes the Agent Pool is running. If orchestratorVersion is a fully specified version <major.minor.patch>, this field will be exactly equal to it. If orchestratorVersion is <major.minor>, this field will contain the full <major.minor.patch> version being used. */\n readonly currentOrchestratorVersion?: string;\n /** The version of node image */\n readonly nodeImageVersion?: string;\n /** Settings for upgrading the agentpool */\n upgradeSettings?: AgentPoolUpgradeSettings;\n /** The current deployment or provisioning state. */\n readonly provisioningState?: string;\n /** Whether the Agent Pool is running or stopped. When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded */\n powerState?: PowerState;\n /** The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'. */\n availabilityZones?: string[];\n /** Whether each node is allocated its own public IP. Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see [assigning a public IP per node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The default is false. */\n enableNodePublicIP?: boolean;\n /** The public IP prefix ID which VM nodes should use IPs from. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} */\n nodePublicIPPrefixID?: string;\n /** The Virtual Machine Scale Set priority. */\n scaleSetPriority?: ScaleSetPriority;\n /** The Virtual Machine Scale Set eviction policy. The eviction policy specifies what to do with the VM when it is evicted. The default is Delete. For more information about eviction see [spot VMs](https://docs.microsoft.com/azure/virtual-machines/spot-vms) */\n scaleSetEvictionPolicy?: ScaleSetEvictionPolicy;\n /** The max price (in US Dollars) you are willing to pay for spot instances. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand. Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) */\n spotMaxPrice?: number;\n /** The tags to be persisted on the agent pool virtual machine scale set. */\n tags?: Record<string, string>;\n /** The node labels to be persisted across all nodes in agent pool. */\n nodeLabels?: Record<string, string>;\n /** The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. */\n nodeTaints?: string[];\n /** The ID for Proximity Placement Group. */\n proximityPlacementGroupID?: string;\n /** The Kubelet configuration on the agent pool nodes. */\n kubeletConfig?: KubeletConfig;\n /** The OS configuration of Linux agent nodes. */\n linuxOSConfig?: LinuxOSConfig;\n /** Whether to enable host based OS and data drive encryption. This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption */\n enableEncryptionAtHost?: boolean;\n /** Whether to enable UltraSSD */\n enableUltraSSD?: boolean;\n /** Whether to use a FIPS-enabled OS. See [Add a FIPS-enabled node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more details. */\n enableFips?: boolean;\n /** GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. */\n gpuInstanceProfile?: GPUInstanceProfile;\n /** CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot. */\n creationData?: CreationData;\n /** The fully qualified resource ID of the Capacity Reservation Group to provide virtual machines from a reserved group of Virtual Machines. This is of the form: '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Compute/capacityreservationgroups/{capacityReservationGroupName}' Customers use it to create an agentpool with a specified CRG. For more information see [Capacity Reservation](https://learn.microsoft.com/en-us/azure/virtual-machines/capacity-reservation-overview) */\n capacityReservationGroupID?: string;\n /** The fully qualified resource ID of the Dedicated Host Group to provision virtual machines from, used only in creation scenario and not allowed to changed once set. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). */\n hostGroupID?: string;\n /** Network-related settings of an agent pool. */\n networkProfile?: AgentPoolNetworkProfile;\n /** The Windows agent pool's specific profile. */\n windowsProfile?: AgentPoolWindowsProfile;\n /** The security settings of an agent pool. */\n securityProfile?: AgentPoolSecurityProfile;\n /** GPU settings for the Agent Pool. */\n gpuProfile?: GPUProfile;\n /** Profile specific to a managed agent pool in Gateway mode. This field cannot be set if agent pool mode is not Gateway. */\n gatewayProfile?: AgentPoolGatewayProfile;\n /** Specifications on VirtualMachines agent pool. */\n virtualMachinesProfile?: VirtualMachinesProfile;\n /** The status of nodes in a VirtualMachines agent pool. */\n virtualMachineNodesStatus?: VirtualMachineNodes[];\n /** Contains read-only information about the Agent Pool. */\n status?: AgentPoolStatus;\n /** Configures the per-node local DNS, with VnetDNS and KubeDNS overrides. LocalDNS helps improve performance and reliability of DNS resolution in an AKS cluster. For more details see aka.ms/aks/localdns. */\n localDNSProfile?: LocalDNSProfile;\n}\n\nexport function agentPoolSerializer(item: AgentPool): any {\n return {\n properties: areAllPropsUndefined(item, [\n \"count\",\n \"vmSize\",\n \"osDiskSizeGB\",\n \"osDiskType\",\n \"kubeletDiskType\",\n \"workloadRuntime\",\n \"messageOfTheDay\",\n \"vnetSubnetID\",\n \"podSubnetID\",\n \"podIPAllocationMode\",\n \"maxPods\",\n \"osType\",\n \"osSKU\",\n \"maxCount\",\n \"minCount\",\n \"enableAutoScaling\",\n \"scaleDownMode\",\n \"type\",\n \"mode\",\n \"orchestratorVersion\",\n \"upgradeSettings\",\n \"powerState\",\n \"availabilityZones\",\n \"enableNodePublicIP\",\n \"nodePublicIPPrefixID\",\n \"scaleSetPriority\",\n \"scaleSetEvictionPolicy\",\n \"spotMaxPrice\",\n \"tags\",\n \"nodeLabels\",\n \"nodeTaints\",\n \"proximityPlacementGroupID\",\n \"kubeletConfig\",\n \"linuxOSConfig\",\n \"enableEncryptionAtHost\",\n \"enableUltraSSD\",\n \"enableFIPS\",\n \"gpuInstanceProfile\",\n \"creationData\",\n \"capacityReservationGroupID\",\n \"hostGroupID\",\n \"networkProfile\",\n \"windowsProfile\",\n \"securityProfile\",\n \"gpuProfile\",\n \"gatewayProfile\",\n \"virtualMachinesProfile\",\n \"virtualMachineNodesStatus\",\n \"status\",\n \"localDNSProfile\",\n ])\n ? undefined\n : _agentPoolPropertiesSerializer(item),\n };\n}\n\nexport function agentPoolDeserializer(item: any): AgentPool {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _agentPoolPropertiesDeserializer(item[\"properties\"])),\n };\n}\n\n/** Properties for the container service agent pool profile. */\nexport interface ManagedClusterAgentPoolProfileProperties {\n /** Unique read-only string used to implement optimistic concurrency. The eTag value will change when the resource is updated. Specify an if-match or if-none-match header with the eTag value for a subsequent request to enable optimistic concurrency per the normal eTag convention. */\n readonly eTag?: string;\n /** Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. */\n count?: number;\n /** The size of the agent pool VMs. VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions */\n vmSize?: string;\n /** OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified. */\n osDiskSizeGB?: number;\n /** The OS disk type to be used for machines in the agent pool. The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). */\n osDiskType?: OSDiskType;\n /** Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. */\n kubeletDiskType?: KubeletDiskType;\n /** Determines the type of workload a node can run. */\n workloadRuntime?: WorkloadRuntime;\n /** Message of the day for Linux nodes, base64-encoded. A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of the message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e., will be printed raw and not be executed as a script). */\n messageOfTheDay?: string;\n /** The ID of the subnet which agent pool nodes and optionally pods will join on startup. If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} */\n vnetSubnetID?: string;\n /** The ID of the subnet which pods will join when launched. If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} */\n podSubnetID?: string;\n /** Pod IP Allocation Mode. The IP allocation mode for pods in the agent pool. Must be used with podSubnetId. The default is 'DynamicIndividual'. */\n podIPAllocationMode?: PodIPAllocationMode;\n /** The maximum number of pods that can run on a node. */\n maxPods?: number;\n /** The operating system type. The default is Linux. */\n osType?: OSType;\n /** Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. */\n osSKU?: Ossku;\n /** The maximum number of nodes for auto-scaling */\n maxCount?: number;\n /** The minimum number of nodes for auto-scaling */\n minCount?: number;\n /** Whether to enable auto-scaler */\n enableAutoScaling?: boolean;\n /** The scale down mode to use when scaling the Agent Pool. This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete. */\n scaleDownMode?: ScaleDownMode;\n /** The type of Agent Pool. */\n type?: AgentPoolType;\n /** The mode of an agent pool. A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools */\n mode?: AgentPoolMode;\n /** The version of Kubernetes specified by the user. Both patch version <major.minor.patch> (e.g. 1.20.13) and <major.minor> (e.g. 1.20) are supported. When <major.minor> is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same <major.minor> once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). */\n orchestratorVersion?: string;\n /** The version of Kubernetes the Agent Pool is running. If orchestratorVersion is a fully specified version <major.minor.patch>, this field will be exactly equal to it. If orchestratorVersion is <major.minor>, this field will contain the full <major.minor.patch> version being used. */\n readonly currentOrchestratorVersion?: string;\n /** The version of node image */\n readonly nodeImageVersion?: string;\n /** Settings for upgrading the agentpool */\n upgradeSettings?: AgentPoolUpgradeSettings;\n /** The current deployment or provisioning state. */\n readonly provisioningState?: string;\n /** Whether the Agent Pool is running or stopped. When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded */\n powerState?: PowerState;\n /** The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'. */\n availabilityZones?: string[];\n /** Whether each node is allocated its own public IP. Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see [assigning a public IP per node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The default is false. */\n enableNodePublicIP?: boolean;\n /** The public IP prefix ID which VM nodes should use IPs from. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} */\n nodePublicIPPrefixID?: string;\n /** The Virtual Machine Scale Set priority. */\n scaleSetPriority?: ScaleSetPriority;\n /** The Virtual Machine Scale Set eviction policy. The eviction policy specifies what to do with the VM when it is evicted. The default is Delete. For more information about eviction see [spot VMs](https://docs.microsoft.com/azure/virtual-machines/spot-vms) */\n scaleSetEvictionPolicy?: ScaleSetEvictionPolicy;\n /** The max price (in US Dollars) you are willing to pay for spot instances. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand. Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) */\n spotMaxPrice?: number;\n /** The tags to be persisted on the agent pool virtual machine scale set. */\n tags?: Record<string, string>;\n /** The node labels to be persisted across all nodes in agent pool. */\n nodeLabels?: Record<string, string>;\n /** The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. */\n nodeTaints?: string[];\n /** The ID for Proximity Placement Group. */\n proximityPlacementGroupID?: string;\n /** The Kubelet configuration on the agent pool nodes. */\n kubeletConfig?: KubeletConfig;\n /** The OS configuration of Linux agent nodes. */\n linuxOSConfig?: LinuxOSConfig;\n /** Whether to enable host based OS and data drive encryption. This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption */\n enableEncryptionAtHost?: boolean;\n /** Whether to enable UltraSSD */\n enableUltraSSD?: boolean;\n /** Whether to use a FIPS-enabled OS. See [Add a FIPS-enabled node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more details. */\n enableFips?: boolean;\n /** GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. */\n gpuInstanceProfile?: GPUInstanceProfile;\n /** CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot. */\n creationData?: CreationData;\n /** The fully qualified resource ID of the Capacity Reservation Group to provide virtual machines from a reserved group of Virtual Machines. This is of the form: '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Compute/capacityreservationgroups/{capacityReservationGroupName}' Customers use it to create an agentpool with a specified CRG. For more information see [Capacity Reservation](https://learn.microsoft.com/en-us/azure/virtual-machines/capacity-reservation-overview) */\n capacityReservationGroupID?: string;\n /** The fully qualified resource ID of the Dedicated Host Group to provision virtual machines from, used only in creation scenario and not allowed to changed once set. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). */\n hostGroupID?: string;\n /** Network-related settings of an agent pool. */\n networkProfile?: AgentPoolNetworkProfile;\n /** The Windows agent pool's specific profile. */\n windowsProfile?: AgentPoolWindowsProfile;\n /** The security settings of an agent pool. */\n securityProfile?: AgentPoolSecurityProfile;\n /** GPU settings for the Agent Pool. */\n gpuProfile?: GPUProfile;\n /** Profile specific to a managed agent pool in Gateway mode. This field cannot be set if agent pool mode is not Gateway. */\n gatewayProfile?: AgentPoolGatewayProfile;\n /** Specifications on VirtualMachines agent pool. */\n virtualMachinesProfile?: VirtualMachinesProfile;\n /** The status of nodes in a VirtualMachines agent pool. */\n virtualMachineNodesStatus?: VirtualMachineNodes[];\n /** Contains read-only information about the Agent Pool. */\n status?: AgentPoolStatus;\n /** Configures the per-node local DNS, with VnetDNS and KubeDNS overrides. LocalDNS helps improve performance and reliability of DNS resolution in an AKS cluster. For more details see aka.ms/aks/localdns. */\n localDNSProfile?: LocalDNSProfile;\n}\n\nexport function managedClusterAgentPoolProfilePropertiesSerializer(\n item: ManagedClusterAgentPoolProfileProperties,\n): any {\n return {\n count: item[\"count\"],\n vmSize: item[\"vmSize\"],\n osDiskSizeGB: item[\"osDiskSizeGB\"],\n osDiskType: item[\"osDiskType\"],\n kubeletDiskType: item[\"kubeletDiskType\"],\n workloadRuntime: item[\"workloadRuntime\"],\n messageOfTheDay: item[\"messageOfTheDay\"],\n vnetSubnetID: item[\"vnetSubnetID\"],\n podSubnetID: item[\"podSubnetID\"],\n podIPAllocationMode: item[\"podIPAllocationMode\"],\n maxPods: item[\"maxPods\"],\n osType: item[\"osType\"],\n osSKU: item[\"osSKU\"],\n maxCount: item[\"maxCount\"],\n minCount: item[\"minCount\"],\n enableAutoScaling: item[\"enableAutoScaling\"],\n scaleDownMode: item[\"scaleDownMode\"],\n type: item[\"type\"],\n mode: item[\"mode\"],\n orchestratorVersion: item[\"orchestratorVersion\"],\n upgradeSettings: !item[\"upgradeSettings\"]\n ? item[\"upgradeSettings\"]\n : agentPoolUpgradeSettingsSerializer(item[\"upgradeSettings\"]),\n powerState: !item[\"powerState\"] ? item[\"powerState\"] : powerStateSerializer(item[\"powerState\"]),\n availabilityZones: !item[\"availabilityZones\"]\n ? item[\"availabilityZones\"]\n : item[\"availabilityZones\"].map((p: any) => {\n return p;\n }),\n enableNodePublicIP: item[\"enableNodePublicIP\"],\n nodePublicIPPrefixID: item[\"nodePublicIPPrefixID\"],\n scaleSetPriority: item[\"scaleSetPriority\"],\n scaleSetEvictionPolicy: item[\"scaleSetEvictionPolicy\"],\n spotMaxPrice: item[\"spotMaxPrice\"],\n tags: item[\"tags\"],\n nodeLabels: item[\"nodeLabels\"],\n nodeTaints: !item[\"nodeTaints\"]\n ? item[\"nodeTaints\"]\n : item[\"nodeTaints\"].map((p: any) => {\n return p;\n }),\n proximityPlacementGroupID: item[\"proximityPlacementGroupID\"],\n kubeletConfig: !item[\"kubeletConfig\"]\n ? item[\"kubeletConfig\"]\n : kubeletConfigSerializer(item[\"kubeletConfig\"]),\n linuxOSConfig: !item[\"linuxOSConfig\"]\n ? item[\"linuxOSConfig\"]\n : linuxOSConfigSerializer(item[\"linuxOSConfig\"]),\n enableEncryptionAtHost: item[\"enableEncryptionAtHost\"],\n enableUltraSSD: item[\"enableUltraSSD\"],\n enableFIPS: item[\"enableFips\"],\n gpuInstanceProfile: item[\"gpuInstanceProfile\"],\n creationData: !item[\"creationData\"]\n ? item[\"creationData\"]\n : creationDataSerializer(item[\"creationData\"]),\n capacityReservationGroupID: item[\"capacityReservationGroupID\"],\n hostGroupID: item[\"hostGroupID\"],\n networkProfile: !item[\"networkProfile\"]\n ? item[\"networkProfile\"]\n : agentPoolNetworkProfileSerializer(item[\"networkProfile\"]),\n windowsProfile: !item[\"windowsProfile\"]\n ? item[\"windowsProfile\"]\n : agentPoolWindowsProfileSerializer(item[\"windowsProfile\"]),\n securityProfile: !item[\"securityProfile\"]\n ? item[\"securityProfile\"]\n : agentPoolSecurityProfileSerializer(item[\"securityProfile\"]),\n gpuProfile: !item[\"gpuProfile\"] ? item[\"gpuProfile\"] : gpuProfileSerializer(item[\"gpuProfile\"]),\n gatewayProfile: !item[\"gatewayProfile\"]\n ? item[\"gatewayProfile\"]\n : agentPoolGatewayProfileSerializer(item[\"gatewayProfile\"]),\n virtualMachinesProfile: !item[\"virtualMachinesProfile\"]\n ? item[\"virtualMachinesProfile\"]\n : virtualMachinesProfileSerializer(item[\"virtualMachinesProfile\"]),\n virtualMachineNodesStatus: !item[\"virtualMachineNodesStatus\"]\n ? item[\"virtualMachineNodesStatus\"]\n : virtualMachineNodesArraySerializer(item[\"virtualMachineNodesStatus\"]),\n status: !item[\"status\"] ? item[\"status\"] : agentPoolStatusSerializer(item[\"status\"]),\n localDNSProfile: !item[\"localDNSProfile\"]\n ? item[\"localDNSProfile\"]\n : localDNSProfileSerializer(item[\"localDNSProfile\"]),\n };\n}\n\nexport function managedClusterAgentPoolProfilePropertiesDeserializer(\n item: any,\n): ManagedClusterAgentPoolProfileProperties {\n return {\n eTag: item[\"eTag\"],\n count: item[\"count\"],\n vmSize: item[\"vmSize\"],\n osDiskSizeGB: item[\"osDiskSizeGB\"],\n osDiskType: item[\"osDiskType\"],\n kubeletDiskType: item[\"kubeletDiskType\"],\n workloadRuntime: item[\"workloadRuntime\"],\n messageOfTheDay: item[\"messageOfTheDay\"],\n vnetSubnetID: item[\"vnetSubnetID\"],\n podSubnetID: item[\"podSubnetID\"],\n podIPAllocationMode: item[\"podIPAllocationMode\"],\n maxPods: item[\"maxPods\"],\n osType: item[\"osType\"],\n osSKU: item[\"osSKU\"],\n maxCount: item[\"maxCount\"],\n minCount: item[\"minCount\"],\n enableAutoScaling: item[\"enableAutoScaling\"],\n scaleDownMode: item[\"scaleDownMode\"],\n type: item[\"type\"],\n mode: item[\"mode\"],\n orchestratorVersion: item[\"orchestratorVersion\"],\n currentOrchestratorVersion: item[\"currentOrchestratorVersion\"],\n nodeImageVersion: item[\"nodeImageVersion\"],\n upgradeSettings: !item[\"upgradeSettings\"]\n ? item[\"upgradeSettings\"]\n : agentPoolUpgradeSettingsDeserializer(item[\"upgradeSettings\"]),\n provisioningState: item[\"provisioningState\"],\n powerState: !item[\"powerState\"]\n ? item[\"powerState\"]\n : powerStateDeserializer(item[\"powerState\"]),\n availabilityZones: !item[\"availabilityZones\"]\n ? item[\"availabilityZones\"]\n : item[\"availabilityZones\"].map((p: any) => {\n return p;\n }),\n enableNodePublicIP: item[\"enableNodePublicIP\"],\n nodePublicIPPrefixID: item[\"nodePublicIPPrefixID\"],\n scaleSetPriority: item[\"scaleSetPriority\"],\n scaleSetEvictionPolicy: item[\"scaleSetEvictionPolicy\"],\n spotMaxPrice: item[\"spotMaxPrice\"],\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n nodeLabels: !item[\"nodeLabels\"]\n ? item[\"nodeLabels\"]\n : Object.fromEntries(\n Object.entries(item[\"nodeLabels\"]).map(([k, p]: [string, any]) => [k, p]),\n ),\n nodeTaints: !item[\"nodeTaints\"]\n ? item[\"nodeTaints\"]\n : item[\"nodeTaints\"].map((p: any) => {\n return p;\n }),\n proximityPlacementGroupID: item[\"proximityPlacementGroupID\"],\n kubeletConfig: !item[\"kubeletConfig\"]\n ? item[\"kubeletConfig\"]\n : kubeletConfigDeserializer(item[\"kubeletConfig\"]),\n linuxOSConfig: !item[\"linuxOSConfig\"]\n ? item[\"linuxOSConfig\"]\n : linuxOSConfigDeserializer(item[\"linuxOSConfig\"]),\n enableEncryptionAtHost: item[\"enableEncryptionAtHost\"],\n enableUltraSSD: item[\"enableUltraSSD\"],\n enableFips: item[\"enableFIPS\"],\n gpuInstanceProfile: item[\"gpuInstanceProfile\"],\n creationData: !item[\"creationData\"]\n ? item[\"creationData\"]\n : creationDataDeserializer(item[\"creationData\"]),\n capacityReservationGroupID: item[\"capacityReservationGroupID\"],\n hostGroupID: item[\"hostGroupID\"],\n networkProfile: !item[\"networkProfile\"]\n ? item[\"networkProfile\"]\n : agentPoolNetworkProfileDeserializer(item[\"networkProfile\"]),\n windowsProfile: !item[\"windowsProfile\"]\n ? item[\"windowsProfile\"]\n : agentPoolWindowsProfileDeserializer(item[\"windowsProfile\"]),\n securityProfile: !item[\"securityProfile\"]\n ? item[\"securityProfile\"]\n : agentPoolSecurityProfileDeserializer(item[\"securityProfile\"]),\n gpuProfile: !item[\"gpuProfile\"]\n ? item[\"gpuProfile\"]\n : gpuProfileDeserializer(item[\"gpuProfile\"]),\n gatewayProfile: !item[\"gatewayProfile\"]\n ? item[\"gatewayProfile\"]\n : agentPoolGatewayProfileDeserializer(item[\"gatewayProfile\"]),\n virtualMachinesProfile: !item[\"virtualMachinesProfile\"]\n ? item[\"virtualMachinesProfile\"]\n : virtualMachinesProfileDeserializer(item[\"virtualMachinesProfile\"]),\n virtualMachineNodesStatus: !item[\"virtualMachineNodesStatus\"]\n ? item[\"virtualMachineNodesStatus\"]\n : virtualMachineNodesArrayDeserializer(item[\"virtualMachineNodesStatus\"]),\n status: !item[\"status\"] ? item[\"status\"] : agentPoolStatusDeserializer(item[\"status\"]),\n localDNSProfile: !item[\"localDNSProfile\"]\n ? item[\"localDNSProfile\"]\n : localDNSProfileDeserializer(item[\"localDNSProfile\"]),\n };\n}\n\n/** The OS disk type to be used for machines in the agent pool. The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). */\nexport enum KnownOSDiskType {\n /** Azure replicates the operating system disk for a virtual machine to Azure storage to avoid data loss should the VM need to be relocated to another host. Since containers aren't designed to have local state persisted, this behavior offers limited value while providing some drawbacks, including slower node provisioning and higher read/write latency. */\n Managed = \"Managed\",\n /** Ephemeral OS disks are stored only on the host machine, just like a temporary disk. This provides lower read/write latency, along with faster node scaling and cluster upgrades. */\n Ephemeral = \"Ephemeral\",\n}\n\n/**\n * The OS disk type to be used for machines in the agent pool. The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). \\\n * {@link KnownOSDiskType} can be used interchangeably with OSDiskType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Managed**: Azure replicates the operating system disk for a virtual machine to Azure storage to avoid data loss should the VM need to be relocated to another host. Since containers aren't designed to have local state persisted, this behavior offers limited value while providing some drawbacks, including slower node provisioning and higher read\\/write latency. \\\n * **Ephemeral**: Ephemeral OS disks are stored only on the host machine, just like a temporary disk. This provides lower read\\/write latency, along with faster node scaling and cluster upgrades.\n */\nexport type OSDiskType = string;\n\n/** Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. */\nexport enum KnownKubeletDiskType {\n /** Kubelet will use the OS disk for its data. */\n OS = \"OS\",\n /** Kubelet will use the temporary disk for its data. */\n Temporary = \"Temporary\",\n}\n\n/**\n * Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. \\\n * {@link KnownKubeletDiskType} can be used interchangeably with KubeletDiskType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **OS**: Kubelet will use the OS disk for its data. \\\n * **Temporary**: Kubelet will use the temporary disk for its data.\n */\nexport type KubeletDiskType = string;\n\n/** Determines the type of workload a node can run. */\nexport enum KnownWorkloadRuntime {\n /** Nodes will use Kubelet to run standard OCI container workloads. */\n OCIContainer = \"OCIContainer\",\n /** Nodes will use Krustlet to run WASM workloads using the WASI provider (Preview). */\n WasmWasi = \"WasmWasi\",\n /** Nodes can use (Kata + Cloud Hypervisor + Hyper-V) to enable Nested VM-based pods. Due to the use Hyper-V, AKS node OS itself is a nested VM (the root OS) of Hyper-V. Thus it can only be used with VM series that support Nested Virtualization such as Dv3 series. */\n KataVmIsolation = \"KataVmIsolation\",\n}\n\n/**\n * Determines the type of workload a node can run. \\\n * {@link KnownWorkloadRuntime} can be used interchangeably with WorkloadRuntime,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **OCIContainer**: Nodes will use Kubelet to run standard OCI container workloads. \\\n * **WasmWasi**: Nodes will use Krustlet to run WASM workloads using the WASI provider (Preview). \\\n * **KataVmIsolation**: Nodes can use (Kata + Cloud Hypervisor + Hyper-V) to enable Nested VM-based pods. Due to the use Hyper-V, AKS node OS itself is a nested VM (the root OS) of Hyper-V. Thus it can only be used with VM series that support Nested Virtualization such as Dv3 series.\n */\nexport type WorkloadRuntime = string;\n\n/** Pod IP Allocation Mode. The IP allocation mode for pods in the agent pool. Must be used with podSubnetId. The default is 'DynamicIndividual'. */\nexport enum KnownPodIPAllocationMode {\n /** Each node gets allocated with a non-contiguous list of IP addresses assignable to pods. This is better for maximizing a small to medium subnet of size /16 or smaller. The Azure CNI cluster with dynamic IP allocation defaults to this mode if the customer does not explicitly specify a podIPAllocationMode */\n DynamicIndividual = \"DynamicIndividual\",\n /** Each node is statically allocated CIDR block(s) of size /28 = 16 IPs per block to satisfy the maxPods per node. Number of CIDR blocks >= (maxPods / 16). The block, rather than a single IP, counts against the Azure Vnet Private IP limit of 65K. Therefore block mode is suitable for running larger workloads with more than the current limit of 65K pods in a cluster. This mode is better suited to scale with larger subnets of /15 or bigger */\n StaticBlock = \"StaticBlock\",\n}\n\n/**\n * Pod IP Allocation Mode. The IP allocation mode for pods in the agent pool. Must be used with podSubnetId. The default is 'DynamicIndividual'. \\\n * {@link KnownPodIPAllocationMode} can be used interchangeably with PodIPAllocationMode,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **DynamicIndividual**: Each node gets allocated with a non-contiguous list of IP addresses assignable to pods. This is better for maximizing a small to medium subnet of size \\/16 or smaller. The Azure CNI cluster with dynamic IP allocation defaults to this mode if the customer does not explicitly specify a podIPAllocationMode \\\n * **StaticBlock**: Each node is statically allocated CIDR block(s) of size \\/28 = 16 IPs per block to satisfy the maxPods per node. Number of CIDR blocks >= (maxPods \\/ 16). The block, rather than a single IP, counts against the Azure Vnet Private IP limit of 65K. Therefore block mode is suitable for running larger workloads with more than the current limit of 65K pods in a cluster. This mode is better suited to scale with larger subnets of \\/15 or bigger\n */\nexport type PodIPAllocationMode = string;\n\n/** The operating system type. The default is Linux. */\nexport enum KnownOSType {\n /** Use Linux. */\n Linux = \"Linux\",\n /** Use Windows. */\n Windows = \"Windows\",\n}\n\n/**\n * The operating system type. The default is Linux. \\\n * {@link KnownOSType} can be used interchangeably with OSType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Linux**: Use Linux. \\\n * **Windows**: Use Windows.\n */\nexport type OSType = string;\n\n/** Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. */\nexport enum KnownOssku {\n /** Use Ubuntu as the OS for node images. */\n Ubuntu = \"Ubuntu\",\n /** Use AzureLinux as the OS for node images. Azure Linux is a container-optimized Linux distro built by Microsoft, visit https://aka.ms/azurelinux for more information. */\n AzureLinux = \"AzureLinux\",\n /** Use AzureLinux3 as the OS for node images. Azure Linux is a container-optimized Linux distro built by Microsoft, visit https://aka.ms/azurelinux for more information. For limitations, visit https://aka.ms/aks/node-images. For OS migration guidance, see https://aka.ms/aks/upgrade-os-version. */\n AzureLinux3 = \"AzureLinux3\",\n /** Deprecated OSSKU. Microsoft recommends that new deployments choose 'AzureLinux' instead. */\n CBLMariner = \"CBLMariner\",\n /** Use Windows2019 as the OS for node images. Unsupported for system node pools. Windows2019 only supports Windows2019 containers; it cannot run Windows2022 containers and vice versa. */\n Windows2019 = \"Windows2019\",\n /** Use Windows2022 as the OS for node images. Unsupported for system node pools. Windows2022 only supports Windows2022 containers; it cannot run Windows2019 containers and vice versa. */\n Windows2022 = \"Windows2022\",\n /** Use Ubuntu2204 as the OS for node images, however, Ubuntu 22.04 may not be supported for all nodepools. For limitations and supported kubernetes versions, see https://aka.ms/aks/supported-ubuntu-versions */\n Ubuntu2204 = \"Ubuntu2204\",\n /** Use Windows2025 as the OS for node images. Unsupported for system node pools. Windows2025 supports Windows2022 and Windows 2025 containers; it cannot run Windows2019 containers and vice versa. */\n Windows2025 = \"Windows2025\",\n /** Use Ubuntu2404 as the OS for node images, however, Ubuntu 24.04 may not be supported for all nodepools. For limitations and supported kubernetes versions, see see https://aka.ms/aks/supported-ubuntu-versions */\n Ubuntu2404 = \"Ubuntu2404\",\n}\n\n/**\n * Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. \\\n * {@link KnownOssku} can be used interchangeably with Ossku,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Ubuntu**: Use Ubuntu as the OS for node images. \\\n * **AzureLinux**: Use AzureLinux as the OS for node images. Azure Linux is a container-optimized Linux distro built by Microsoft, visit https:\\//aka.ms\\/azurelinux for more information. \\\n * **AzureLinux3**: Use AzureLinux3 as the OS for node images. Azure Linux is a container-optimized Linux distro built by Microsoft, visit https:\\//aka.ms\\/azurelinux for more information. For limitations, visit https:\\//aka.ms\\/aks\\/node-images. For OS migration guidance, see https:\\//aka.ms\\/aks\\/upgrade-os-version. \\\n * **CBLMariner**: Deprecated OSSKU. Microsoft recommends that new deployments choose 'AzureLinux' instead. \\\n * **Windows2019**: Use Windows2019 as the OS for node images. Unsupported for system node pools. Windows2019 only supports Windows2019 containers; it cannot run Windows2022 containers and vice versa. \\\n * **Windows2022**: Use Windows2022 as the OS for node images. Unsupported for system node pools. Windows2022 only supports Windows2022 containers; it cannot run Windows2019 containers and vice versa. \\\n * **Ubuntu2204**: Use Ubuntu2204 as the OS for node images, however, Ubuntu 22.04 may not be supported for all nodepools. For limitations and supported kubernetes versions, see https:\\//aka.ms\\/aks\\/supported-ubuntu-versions \\\n * **Windows2025**: Use Windows2025 as the OS for node images. Unsupported for system node pools. Windows2025 supports Windows2022 and Windows 2025 containers; it cannot run Windows2019 containers and vice versa. \\\n * **Ubuntu2404**: Use Ubuntu2404 as the OS for node images, however, Ubuntu 24.04 may not be supported for all nodepools. For limitations and supported kubernetes versions, see see https:\\//aka.ms\\/aks\\/supported-ubuntu-versions\n */\nexport type Ossku = string;\n\n/** Describes how VMs are added to or removed from Agent Pools. See [billing states](https://docs.microsoft.com/azure/virtual-machines/states-billing). */\nexport enum KnownScaleDownMode {\n /** Create new instances during scale up and remove instances during scale down. */\n Delete = \"Delete\",\n /** Attempt to start deallocated instances (if they exist) during scale up and deallocate instances during scale down. */\n Deallocate = \"Deallocate\",\n}\n\n/**\n * Describes how VMs are added to or removed from Agent Pools. See [billing states](https://docs.microsoft.com/azure/virtual-machines/states-billing). \\\n * {@link KnownScaleDownMode} can be used interchangeably with ScaleDownMode,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Delete**: Create new instances during scale up and remove instances during scale down. \\\n * **Deallocate**: Attempt to start deallocated instances (if they exist) during scale up and deallocate instances during scale down.\n */\nexport type ScaleDownMode = string;\n\n/** The type of Agent Pool. */\nexport enum KnownAgentPoolType {\n /** Create an Agent Pool backed by a Virtual Machine Scale Set. */\n VirtualMachineScaleSets = \"VirtualMachineScaleSets\",\n /** Use of this is strongly discouraged. */\n AvailabilitySet = \"AvailabilitySet\",\n /** Create an Agent Pool backed by a Single Instance VM orchestration mode. */\n VirtualMachines = \"VirtualMachines\",\n}\n\n/**\n * The type of Agent Pool. \\\n * {@link KnownAgentPoolType} can be used interchangeably with AgentPoolType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **VirtualMachineScaleSets**: Create an Agent Pool backed by a Virtual Machine Scale Set. \\\n * **AvailabilitySet**: Use of this is strongly discouraged. \\\n * **VirtualMachines**: Create an Agent Pool backed by a Single Instance VM orchestration mode.\n */\nexport type AgentPoolType = string;\n\n/** The mode of an agent pool. A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools */\nexport enum KnownAgentPoolMode {\n /** System agent pools are primarily for hosting critical system pods such as CoreDNS and metrics-server. System agent pools osType must be Linux. System agent pools VM SKU must have at least 2vCPUs and 4GB of memory. */\n System = \"System\",\n /** User agent pools are primarily for hosting your application pods. */\n User = \"User\",\n /** Gateway agent pools are dedicated to providing static egress IPs to pods. For more details, see https://aka.ms/aks/static-egress-gateway. */\n Gateway = \"Gateway\",\n}\n\n/**\n * The mode of an agent pool. A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools \\\n * {@link KnownAgentPoolMode} can be used interchangeably with AgentPoolMode,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **System**: System agent pools are primarily for hosting critical system pods such as CoreDNS and metrics-server. System agent pools osType must be Linux. System agent pools VM SKU must have at least 2vCPUs and 4GB of memory. \\\n * **User**: User agent pools are primarily for hosting your application pods. \\\n * **Gateway**: Gateway agent pools are dedicated to providing static egress IPs to pods. For more details, see https:\\//aka.ms\\/aks\\/static-egress-gateway.\n */\nexport type AgentPoolMode = string;\n\n/** Settings for upgrading an agentpool */\nexport interface AgentPoolUpgradeSettings {\n /** The maximum number or percentage of nodes that are surged during upgrade. This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 10%. For more information, including best practices, see: https://learn.microsoft.com/en-us/azure/aks/upgrade-cluster */\n maxSurge?: string;\n /** The maximum number or percentage of nodes that can be simultaneously unavailable during upgrade. This can either be set to an integer (e.g. '1') or a percentage (e.g. '5%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 0. For more information, including best practices, see: https://learn.microsoft.com/en-us/azure/aks/upgrade-cluster */\n maxUnavailable?: string;\n /** The drain timeout for a node. The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not specified, the default is 30 minutes. */\n drainTimeoutInMinutes?: number;\n /** The soak duration for a node. The amount of time (in minutes) to wait after draining a node and before reimaging it and moving on to next node. If not specified, the default is 0 minutes. */\n nodeSoakDurationInMinutes?: number;\n /** Defines the behavior for undrainable nodes during upgrade. The most common cause of undrainable nodes is Pod Disruption Budgets (PDBs), but other issues, such as pod termination grace period is exceeding the remaining per-node drain timeout or pod is still being in a running state, can also cause undrainable nodes. */\n undrainableNodeBehavior?: UndrainableNodeBehavior;\n}\n\nexport function agentPoolUpgradeSettingsSerializer(item: AgentPoolUpgradeSettings): any {\n return {\n maxSurge: item[\"maxSurge\"],\n maxUnavailable: item[\"maxUnavailable\"],\n drainTimeoutInMinutes: item[\"drainTimeoutInMinutes\"],\n nodeSoakDurationInMinutes: item[\"nodeSoakDurationInMinutes\"],\n undrainableNodeBehavior: item[\"undrainableNodeBehavior\"],\n };\n}\n\nexport function agentPoolUpgradeSettingsDeserializer(item: any): AgentPoolUpgradeSettings {\n return {\n maxSurge: item[\"maxSurge\"],\n maxUnavailable: item[\"maxUnavailable\"],\n drainTimeoutInMinutes: item[\"drainTimeoutInMinutes\"],\n nodeSoakDurationInMinutes: item[\"nodeSoakDurationInMinutes\"],\n undrainableNodeBehavior: item[\"undrainableNodeBehavior\"],\n };\n}\n\n/** Defines the behavior for undrainable nodes during upgrade. The most common cause of undrainable nodes is Pod Disruption Budgets (PDBs), but other issues, such as pod termination grace period is exceeding the remaining per-node drain timeout or pod is still being in a running state, can also cause undrainable nodes. */\nexport enum KnownUndrainableNodeBehavior {\n /** AKS will cordon the blocked nodes and replace them with surge nodes during upgrade. The blocked nodes will be cordoned and replaced by surge nodes. The blocked nodes will have label 'kubernetes.azure.com/upgrade-status:Quarantined'. A surge node will be retained for each blocked node. A best-effort attempt will be made to delete all other surge nodes. If there are enough surge nodes to replace blocked nodes, then the upgrade operation and the managed cluster will be in failed state. Otherwise, the upgrade operation and the managed cluster will be in canceled state. */\n Cordon = \"Cordon\",\n /** AKS will mark the blocked nodes schedulable, but the blocked nodes are not upgraded. A best-effort attempt will be made to delete all surge nodes. The upgrade operation and the managed cluster will be in failed state if there are any blocked nodes. */\n Schedule = \"Schedule\",\n}\n\n/**\n * Defines the behavior for undrainable nodes during upgrade. The most common cause of undrainable nodes is Pod Disruption Budgets (PDBs), but other issues, such as pod termination grace period is exceeding the remaining per-node drain timeout or pod is still being in a running state, can also cause undrainable nodes. \\\n * {@link KnownUndrainableNodeBehavior} can be used interchangeably with UndrainableNodeBehavior,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Cordon**: AKS will cordon the blocked nodes and replace them with surge nodes during upgrade. The blocked nodes will be cordoned and replaced by surge nodes. The blocked nodes will have label 'kubernetes.azure.com\\/upgrade-status:Quarantined'. A surge node will be retained for each blocked node. A best-effort attempt will be made to delete all other surge nodes. If there are enough surge nodes to replace blocked nodes, then the upgrade operation and the managed cluster will be in failed state. Otherwise, the upgrade operation and the managed cluster will be in canceled state. \\\n * **Schedule**: AKS will mark the blocked nodes schedulable, but the blocked nodes are not upgraded. A best-effort attempt will be made to delete all surge nodes. The upgrade operation and the managed cluster will be in failed state if there are any blocked nodes.\n */\nexport type UndrainableNodeBehavior = string;\n\n/** Describes the Power State of the cluster */\nexport interface PowerState {\n /** Tells whether the cluster is Running or Stopped */\n code?: Code;\n}\n\nexport function powerStateSerializer(item: PowerState): any {\n return { code: item[\"code\"] };\n}\n\nexport function powerStateDeserializer(item: any): PowerState {\n return {\n code: item[\"code\"],\n };\n}\n\n/** Tells whether the cluster is Running or Stopped */\nexport enum KnownCode {\n /** The cluster is running. */\n Running = \"Running\",\n /** The cluster is stopped. */\n Stopped = \"Stopped\",\n}\n\n/**\n * Tells whether the cluster is Running or Stopped \\\n * {@link KnownCode} can be used interchangeably with Code,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Running**: The cluster is running. \\\n * **Stopped**: The cluster is stopped.\n */\nexport type Code = string;\n\n/** The Virtual Machine Scale Set priority. */\nexport enum KnownScaleSetPriority {\n /** Spot priority VMs will be used. There is no SLA for spot nodes. See [spot on AKS](https://docs.microsoft.com/azure/aks/spot-node-pool) for more information. */\n Spot = \"Spot\",\n /** Regular VMs will be used. */\n Regular = \"Regular\",\n}\n\n/**\n * The Virtual Machine Scale Set priority. \\\n * {@link KnownScaleSetPriority} can be used interchangeably with ScaleSetPriority,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Spot**: Spot priority VMs will be used. There is no SLA for spot nodes. See [spot on AKS](https:\\//docs.microsoft.com\\/azure\\/aks\\/spot-node-pool) for more information. \\\n * **Regular**: Regular VMs will be used.\n */\nexport type ScaleSetPriority = string;\n\n/** The Virtual Machine Scale Set eviction policy. The eviction policy specifies what to do with the VM when it is evicted. The default is Delete. For more information about eviction see [spot VMs](https://docs.microsoft.com/azure/virtual-machines/spot-vms) */\nexport enum KnownScaleSetEvictionPolicy {\n /** Nodes in the underlying Scale Set of the node pool are deleted when they're evicted. */\n Delete = \"Delete\",\n /** Nodes in the underlying Scale Set of the node pool are set to the stopped-deallocated state upon eviction. Nodes in the stopped-deallocated state count against your compute quota and can cause issues with cluster scaling or upgrading. */\n Deallocate = \"Deallocate\",\n}\n\n/**\n * The Virtual Machine Scale Set eviction policy. The eviction policy specifies what to do with the VM when it is evicted. The default is Delete. For more information about eviction see [spot VMs](https://docs.microsoft.com/azure/virtual-machines/spot-vms) \\\n * {@link KnownScaleSetEvictionPolicy} can be used interchangeably with ScaleSetEvictionPolicy,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Delete**: Nodes in the underlying Scale Set of the node pool are deleted when they're evicted. \\\n * **Deallocate**: Nodes in the underlying Scale Set of the node pool are set to the stopped-deallocated state upon eviction. Nodes in the stopped-deallocated state count against your compute quota and can cause issues with cluster scaling or upgrading.\n */\nexport type ScaleSetEvictionPolicy = string;\n\n/** Kubelet configurations of agent nodes. See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. */\nexport interface KubeletConfig {\n /** The CPU Manager policy to use. The default is 'none'. See [Kubernetes CPU management policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more information. Allowed values are 'none' and 'static'. */\n cpuManagerPolicy?: string;\n /** If CPU CFS quota enforcement is enabled for containers that specify CPU limits. The default is true. */\n cpuCfsQuota?: boolean;\n /** The CPU CFS quota period value. The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. */\n cpuCfsQuotaPeriod?: string;\n /** The percent of disk usage after which image garbage collection is always run. To disable image garbage collection, set to 100. The default is 85% */\n imageGcHighThreshold?: number;\n /** The percent of disk usage before which image garbage collection is never run. This cannot be set higher than imageGcHighThreshold. The default is 80% */\n imageGcLowThreshold?: number;\n /** The Topology Manager policy to use. For more information see [Kubernetes Topology Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'. */\n topologyManagerPolicy?: string;\n /** Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`). */\n allowedUnsafeSysctls?: string[];\n /** If set to true it will make the Kubelet fail to start if swap is enabled on the node. */\n failSwapOn?: boolean;\n /** The maximum size (e.g. 10Mi) of container log file before it is rotated. */\n containerLogMaxSizeMB?: number;\n /** The maximum number of container log files that can be present for a container. The number must be ≥ 2. */\n containerLogMaxFiles?: number;\n /** The maximum number of processes per pod. */\n podMaxPids?: number;\n}\n\nexport function kubeletConfigSerializer(item: KubeletConfig): any {\n return {\n cpuManagerPolicy: item[\"cpuManagerPolicy\"],\n cpuCfsQuota: item[\"cpuCfsQuota\"],\n cpuCfsQuotaPeriod: item[\"cpuCfsQuotaPeriod\"],\n imageGcHighThreshold: item[\"imageGcHighThreshold\"],\n imageGcLowThreshold: item[\"imageGcLowThreshold\"],\n topologyManagerPolicy: item[\"topologyManagerPolicy\"],\n allowedUnsafeSysctls: !item[\"allowedUnsafeSysctls\"]\n ? item[\"allowedUnsafeSysctls\"]\n : item[\"allowedUnsafeSysctls\"].map((p: any) => {\n return p;\n }),\n failSwapOn: item[\"failSwapOn\"],\n containerLogMaxSizeMB: item[\"containerLogMaxSizeMB\"],\n containerLogMaxFiles: item[\"containerLogMaxFiles\"],\n podMaxPids: item[\"podMaxPids\"],\n };\n}\n\nexport function kubeletConfigDeserializer(item: any): KubeletConfig {\n return {\n cpuManagerPolicy: item[\"cpuManagerPolicy\"],\n cpuCfsQuota: item[\"cpuCfsQuota\"],\n cpuCfsQuotaPeriod: item[\"cpuCfsQuotaPeriod\"],\n imageGcHighThreshold: item[\"imageGcHighThreshold\"],\n imageGcLowThreshold: item[\"imageGcLowThreshold\"],\n topologyManagerPolicy: item[\"topologyManagerPolicy\"],\n allowedUnsafeSysctls: !item[\"allowedUnsafeSysctls\"]\n ? item[\"allowedUnsafeSysctls\"]\n : item[\"allowedUnsafeSysctls\"].map((p: any) => {\n return p;\n }),\n failSwapOn: item[\"failSwapOn\"],\n containerLogMaxSizeMB: item[\"containerLogMaxSizeMB\"],\n containerLogMaxFiles: item[\"containerLogMaxFiles\"],\n podMaxPids: item[\"podMaxPids\"],\n };\n}\n\n/** OS configurations of Linux agent nodes. See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. */\nexport interface LinuxOSConfig {\n /** Sysctl settings for Linux agent nodes. */\n sysctls?: SysctlConfig;\n /** Whether transparent hugepages are enabled. Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). */\n transparentHugePageEnabled?: string;\n /** Whether the kernel should make aggressive use of memory compaction to make more hugepages available. Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). */\n transparentHugePageDefrag?: string;\n /** The size in MB of a swap file that will be created on each node. */\n swapFileSizeMB?: number;\n}\n\nexport function linuxOSConfigSerializer(item: LinuxOSConfig): any {\n return {\n sysctls: !item[\"sysctls\"] ? item[\"sysctls\"] : sysctlConfigSerializer(item[\"sysctls\"]),\n transparentHugePageEnabled: item[\"transparentHugePageEnabled\"],\n transparentHugePageDefrag: item[\"transparentHugePageDefrag\"],\n swapFileSizeMB: item[\"swapFileSizeMB\"],\n };\n}\n\nexport function linuxOSConfigDeserializer(item: any): LinuxOSConfig {\n return {\n sysctls: !item[\"sysctls\"] ? item[\"sysctls\"] : sysctlConfigDeserializer(item[\"sysctls\"]),\n transparentHugePageEnabled: item[\"transparentHugePageEnabled\"],\n transparentHugePageDefrag: item[\"transparentHugePageDefrag\"],\n swapFileSizeMB: item[\"swapFileSizeMB\"],\n };\n}\n\n/** Sysctl settings for Linux agent nodes. */\nexport interface SysctlConfig {\n /** Sysctl setting net.core.somaxconn. */\n netCoreSomaxconn?: number;\n /** Sysctl setting net.core.netdev_max_backlog. */\n netCoreNetdevMaxBacklog?: number;\n /** Sysctl setting net.core.rmem_default. */\n netCoreRmemDefault?: number;\n /** Sysctl setting net.core.rmem_max. */\n netCoreRmemMax?: number;\n /** Sysctl setting net.core.wmem_default. */\n netCoreWmemDefault?: number;\n /** Sysctl setting net.core.wmem_max. */\n netCoreWmemMax?: number;\n /** Sysctl setting net.core.optmem_max. */\n netCoreOptmemMax?: number;\n /** Sysctl setting net.ipv4.tcp_max_syn_backlog. */\n netIpv4TcpMaxSynBacklog?: number;\n /** Sysctl setting net.ipv4.tcp_max_tw_buckets. */\n netIpv4TcpMaxTwBuckets?: number;\n /** Sysctl setting net.ipv4.tcp_fin_timeout. */\n netIpv4TcpFinTimeout?: number;\n /** Sysctl setting net.ipv4.tcp_keepalive_time. */\n netIpv4TcpKeepaliveTime?: number;\n /** Sysctl setting net.ipv4.tcp_keepalive_probes. */\n netIpv4TcpKeepaliveProbes?: number;\n /** Sysctl setting net.ipv4.tcp_keepalive_intvl. */\n netIpv4TcpkeepaliveIntvl?: number;\n /** Sysctl setting net.ipv4.tcp_tw_reuse. */\n netIpv4TcpTwReuse?: boolean;\n /** Sysctl setting net.ipv4.ip_local_port_range. */\n netIpv4IpLocalPortRange?: string;\n /** Sysctl setting net.ipv4.neigh.default.gc_thresh1. */\n netIpv4NeighDefaultGcThresh1?: number;\n /** Sysctl setting net.ipv4.neigh.default.gc_thresh2. */\n netIpv4NeighDefaultGcThresh2?: number;\n /** Sysctl setting net.ipv4.neigh.default.gc_thresh3. */\n netIpv4NeighDefaultGcThresh3?: number;\n /** Sysctl setting net.netfilter.nf_conntrack_max. */\n netNetfilterNfConntrackMax?: number;\n /** Sysctl setting net.netfilter.nf_conntrack_buckets. */\n netNetfilterNfConntrackBuckets?: number;\n /** Sysctl setting fs.inotify.max_user_watches. */\n fsInotifyMaxUserWatches?: number;\n /** Sysctl setting fs.file-max. */\n fsFileMax?: number;\n /** Sysctl setting fs.aio-max-nr. */\n fsAioMaxNr?: number;\n /** Sysctl setting fs.nr_open. */\n fsNrOpen?: number;\n /** Sysctl setting kernel.threads-max. */\n kernelThreadsMax?: number;\n /** Sysctl setting vm.max_map_count. */\n vmMaxMapCount?: number;\n /** Sysctl setting vm.swappiness. */\n vmSwappiness?: number;\n /** Sysctl setting vm.vfs_cache_pressure. */\n vmVfsCachePressure?: number;\n}\n\nexport function sysctlConfigSerializer(item: SysctlConfig): any {\n return {\n netCoreSomaxconn: item[\"netCoreSomaxconn\"],\n netCoreNetdevMaxBacklog: item[\"netCoreNetdevMaxBacklog\"],\n netCoreRmemDefault: item[\"netCoreRmemDefault\"],\n netCoreRmemMax: item[\"netCoreRmemMax\"],\n netCoreWmemDefault: item[\"netCoreWmemDefault\"],\n netCoreWmemMax: item[\"netCoreWmemMax\"],\n netCoreOptmemMax: item[\"netCoreOptmemMax\"],\n netIpv4TcpMaxSynBacklog: item[\"netIpv4TcpMaxSynBacklog\"],\n netIpv4TcpMaxTwBuckets: item[\"netIpv4TcpMaxTwBuckets\"],\n netIpv4TcpFinTimeout: item[\"netIpv4TcpFinTimeout\"],\n netIpv4TcpKeepaliveTime: item[\"netIpv4TcpKeepaliveTime\"],\n netIpv4TcpKeepaliveProbes: item[\"netIpv4TcpKeepaliveProbes\"],\n netIpv4TcpkeepaliveIntvl: item[\"netIpv4TcpkeepaliveIntvl\"],\n netIpv4TcpTwReuse: item[\"netIpv4TcpTwReuse\"],\n netIpv4IpLocalPortRange: item[\"netIpv4IpLocalPortRange\"],\n netIpv4NeighDefaultGcThresh1: item[\"netIpv4NeighDefaultGcThresh1\"],\n netIpv4NeighDefaultGcThresh2: item[\"netIpv4NeighDefaultGcThresh2\"],\n netIpv4NeighDefaultGcThresh3: item[\"netIpv4NeighDefaultGcThresh3\"],\n netNetfilterNfConntrackMax: item[\"netNetfilterNfConntrackMax\"],\n netNetfilterNfConntrackBuckets: item[\"netNetfilterNfConntrackBuckets\"],\n fsInotifyMaxUserWatches: item[\"fsInotifyMaxUserWatches\"],\n fsFileMax: item[\"fsFileMax\"],\n fsAioMaxNr: item[\"fsAioMaxNr\"],\n fsNrOpen: item[\"fsNrOpen\"],\n kernelThreadsMax: item[\"kernelThreadsMax\"],\n vmMaxMapCount: item[\"vmMaxMapCount\"],\n vmSwappiness: item[\"vmSwappiness\"],\n vmVfsCachePressure: item[\"vmVfsCachePressure\"],\n };\n}\n\nexport function sysctlConfigDeserializer(item: any): SysctlConfig {\n return {\n netCoreSomaxconn: item[\"netCoreSomaxconn\"],\n netCoreNetdevMaxBacklog: item[\"netCoreNetdevMaxBacklog\"],\n netCoreRmemDefault: item[\"netCoreRmemDefault\"],\n netCoreRmemMax: item[\"netCoreRmemMax\"],\n netCoreWmemDefault: item[\"netCoreWmemDefault\"],\n netCoreWmemMax: item[\"netCoreWmemMax\"],\n netCoreOptmemMax: item[\"netCoreOptmemMax\"],\n netIpv4TcpMaxSynBacklog: item[\"netIpv4TcpMaxSynBacklog\"],\n netIpv4TcpMaxTwBuckets: item[\"netIpv4TcpMaxTwBuckets\"],\n netIpv4TcpFinTimeout: item[\"netIpv4TcpFinTimeout\"],\n netIpv4TcpKeepaliveTime: item[\"netIpv4TcpKeepaliveTime\"],\n netIpv4TcpKeepaliveProbes: item[\"netIpv4TcpKeepaliveProbes\"],\n netIpv4TcpkeepaliveIntvl: item[\"netIpv4TcpkeepaliveIntvl\"],\n netIpv4TcpTwReuse: item[\"netIpv4TcpTwReuse\"],\n netIpv4IpLocalPortRange: item[\"netIpv4IpLocalPortRange\"],\n netIpv4NeighDefaultGcThresh1: item[\"netIpv4NeighDefaultGcThresh1\"],\n netIpv4NeighDefaultGcThresh2: item[\"netIpv4NeighDefaultGcThresh2\"],\n netIpv4NeighDefaultGcThresh3: item[\"netIpv4NeighDefaultGcThresh3\"],\n netNetfilterNfConntrackMax: item[\"netNetfilterNfConntrackMax\"],\n netNetfilterNfConntrackBuckets: item[\"netNetfilterNfConntrackBuckets\"],\n fsInotifyMaxUserWatches: item[\"fsInotifyMaxUserWatches\"],\n fsFileMax: item[\"fsFileMax\"],\n fsAioMaxNr: item[\"fsAioMaxNr\"],\n fsNrOpen: item[\"fsNrOpen\"],\n kernelThreadsMax: item[\"kernelThreadsMax\"],\n vmMaxMapCount: item[\"vmMaxMapCount\"],\n vmSwappiness: item[\"vmSwappiness\"],\n vmVfsCachePressure: item[\"vmVfsCachePressure\"],\n };\n}\n\n/** GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. */\nexport enum KnownGPUInstanceProfile {\n /** MIG 1g GPU instance profile. */\n MIG1G = \"MIG1g\",\n /** MIG 2g GPU instance profile. */\n MIG2G = \"MIG2g\",\n /** MIG 3g GPU instance profile. */\n MIG3G = \"MIG3g\",\n /** MIG 4g GPU instance profile. */\n MIG4G = \"MIG4g\",\n /** MIG 7g GPU instance profile. */\n MIG7G = \"MIG7g\",\n}\n\n/**\n * GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. \\\n * {@link KnownGPUInstanceProfile} can be used interchangeably with GPUInstanceProfile,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **MIG1g**: MIG 1g GPU instance profile. \\\n * **MIG2g**: MIG 2g GPU instance profile. \\\n * **MIG3g**: MIG 3g GPU instance profile. \\\n * **MIG4g**: MIG 4g GPU instance profile. \\\n * **MIG7g**: MIG 7g GPU instance profile.\n */\nexport type GPUInstanceProfile = string;\n\n/** Data used when creating a target resource from a source resource. */\nexport interface CreationData {\n /** This is the ARM ID of the source object to be used to create the target object. */\n sourceResourceId?: string;\n}\n\nexport function creationDataSerializer(item: CreationData): any {\n return { sourceResourceId: item[\"sourceResourceId\"] };\n}\n\nexport function creationDataDeserializer(item: any): CreationData {\n return {\n sourceResourceId: item[\"sourceResourceId\"],\n };\n}\n\n/** Network settings of an agent pool. */\nexport interface AgentPoolNetworkProfile {\n /** IPTags of instance-level public IPs. */\n nodePublicIPTags?: IPTag[];\n /** The port ranges that are allowed to access. The specified ranges are allowed to overlap. */\n allowedHostPorts?: PortRange[];\n /** The IDs of the application security groups which agent pool will associate when created. */\n applicationSecurityGroups?: string[];\n}\n\nexport function agentPoolNetworkProfileSerializer(item: AgentPoolNetworkProfile): any {\n return {\n nodePublicIPTags: !item[\"nodePublicIPTags\"]\n ? item[\"nodePublicIPTags\"]\n : ipTagArraySerializer(item[\"nodePublicIPTags\"]),\n allowedHostPorts: !item[\"allowedHostPorts\"]\n ? item[\"allowedHostPorts\"]\n : portRangeArraySerializer(item[\"allowedHostPorts\"]),\n applicationSecurityGroups: !item[\"applicationSecurityGroups\"]\n ? item[\"applicationSecurityGroups\"]\n : item[\"applicationSecurityGroups\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function agentPoolNetworkProfileDeserializer(item: any): AgentPoolNetworkProfile {\n return {\n nodePublicIPTags: !item[\"nodePublicIPTags\"]\n ? item[\"nodePublicIPTags\"]\n : ipTagArrayDeserializer(item[\"nodePublicIPTags\"]),\n allowedHostPorts: !item[\"allowedHostPorts\"]\n ? item[\"allowedHostPorts\"]\n : portRangeArrayDeserializer(item[\"allowedHostPorts\"]),\n applicationSecurityGroups: !item[\"applicationSecurityGroups\"]\n ? item[\"applicationSecurityGroups\"]\n : item[\"applicationSecurityGroups\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function ipTagArraySerializer(result: Array<IPTag>): any[] {\n return result.map((item) => {\n return ipTagSerializer(item);\n });\n}\n\nexport function ipTagArrayDeserializer(result: Array<IPTag>): any[] {\n return result.map((item) => {\n return ipTagDeserializer(item);\n });\n}\n\n/** Contains the IPTag associated with the object. */\nexport interface IPTag {\n /** The IP tag type. Example: RoutingPreference. */\n ipTagType?: string;\n /** The value of the IP tag associated with the public IP. Example: Internet. */\n tag?: string;\n}\n\nexport function ipTagSerializer(item: IPTag): any {\n return { ipTagType: item[\"ipTagType\"], tag: item[\"tag\"] };\n}\n\nexport function ipTagDeserializer(item: any): IPTag {\n return {\n ipTagType: item[\"ipTagType\"],\n tag: item[\"tag\"],\n };\n}\n\nexport function portRangeArraySerializer(result: Array<PortRange>): any[] {\n return result.map((item) => {\n return portRangeSerializer(item);\n });\n}\n\nexport function portRangeArrayDeserializer(result: Array<PortRange>): any[] {\n return result.map((item) => {\n return portRangeDeserializer(item);\n });\n}\n\n/** The port range. */\nexport interface PortRange {\n /** The minimum port that is included in the range. It should be ranged from 1 to 65535, and be less than or equal to portEnd. */\n portStart?: number;\n /** The maximum port that is included in the range. It should be ranged from 1 to 65535, and be greater than or equal to portStart. */\n portEnd?: number;\n /** The network protocol of the port. */\n protocol?: Protocol;\n}\n\nexport function portRangeSerializer(item: PortRange): any {\n return { portStart: item[\"portStart\"], portEnd: item[\"portEnd\"], protocol: item[\"protocol\"] };\n}\n\nexport function portRangeDeserializer(item: any): PortRange {\n return {\n portStart: item[\"portStart\"],\n portEnd: item[\"portEnd\"],\n protocol: item[\"protocol\"],\n };\n}\n\n/** The network protocol of the port. */\nexport enum KnownProtocol {\n /** TCP protocol. */\n TCP = \"TCP\",\n /** UDP protocol. */\n UDP = \"UDP\",\n}\n\n/**\n * The network protocol of the port. \\\n * {@link KnownProtocol} can be used interchangeably with Protocol,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **TCP**: TCP protocol. \\\n * **UDP**: UDP protocol.\n */\nexport type Protocol = string;\n\n/** The Windows agent pool's specific profile. */\nexport interface AgentPoolWindowsProfile {\n /** Whether to disable OutboundNAT in windows nodes. The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT Gateway and the Windows agent pool does not have node public IP enabled. */\n disableOutboundNat?: boolean;\n}\n\nexport function agentPoolWindowsProfileSerializer(item: AgentPoolWindowsProfile): any {\n return { disableOutboundNat: item[\"disableOutboundNat\"] };\n}\n\nexport function agentPoolWindowsProfileDeserializer(item: any): AgentPoolWindowsProfile {\n return {\n disableOutboundNat: item[\"disableOutboundNat\"],\n };\n}\n\n/** The security settings of an agent pool. */\nexport interface AgentPoolSecurityProfile {\n /** vTPM is a Trusted Launch feature for configuring a dedicated secure vault for keys and measurements held locally on the node. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. */\n enableVtpm?: boolean;\n /** Secure Boot is a feature of Trusted Launch which ensures that only signed operating systems and drivers can boot. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. */\n enableSecureBoot?: boolean;\n /** SSH access method of an agent pool. */\n sshAccess?: AgentPoolSSHAccess;\n}\n\nexport function agentPoolSecurityProfileSerializer(item: AgentPoolSecurityProfile): any {\n return {\n enableVTPM: item[\"enableVtpm\"],\n enableSecureBoot: item[\"enableSecureBoot\"],\n sshAccess: item[\"sshAccess\"],\n };\n}\n\nexport function agentPoolSecurityProfileDeserializer(item: any): AgentPoolSecurityProfile {\n return {\n enableVtpm: item[\"enableVTPM\"],\n enableSecureBoot: item[\"enableSecureBoot\"],\n sshAccess: item[\"sshAccess\"],\n };\n}\n\n/** SSH access method of an agent pool. */\nexport enum KnownAgentPoolSSHAccess {\n /** Can SSH onto the node as a local user using private key. */\n LocalUser = \"LocalUser\",\n /** SSH service will be turned off on the node. */\n Disabled = \"Disabled\",\n}\n\n/**\n * SSH access method of an agent pool. \\\n * {@link KnownAgentPoolSSHAccess} can be used interchangeably with AgentPoolSSHAccess,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **LocalUser**: Can SSH onto the node as a local user using private key. \\\n * **Disabled**: SSH service will be turned off on the node.\n */\nexport type AgentPoolSSHAccess = string;\n\n/** GPU settings for the Agent Pool. */\nexport interface GPUProfile {\n /** Whether to install GPU drivers. When it's not specified, default is Install. */\n driver?: GPUDriver;\n}\n\nexport function gpuProfileSerializer(item: GPUProfile): any {\n return { driver: item[\"driver\"] };\n}\n\nexport function gpuProfileDeserializer(item: any): GPUProfile {\n return {\n driver: item[\"driver\"],\n };\n}\n\n/** Whether to install GPU drivers. When it's not specified, default is Install. */\nexport enum KnownGPUDriver {\n /** Install driver. */\n Install = \"Install\",\n /** Skip driver install. */\n None = \"None\",\n}\n\n/**\n * Whether to install GPU drivers. When it's not specified, default is Install. \\\n * {@link KnownGPUDriver} can be used interchangeably with GPUDriver,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Install**: Install driver. \\\n * **None**: Skip driver install.\n */\nexport type GPUDriver = string;\n\n/** Profile of the managed cluster gateway agent pool. */\nexport interface AgentPoolGatewayProfile {\n /** The Gateway agent pool associates one public IPPrefix for each static egress gateway to provide public egress. The size of Public IPPrefix should be selected by the user. Each node in the agent pool is assigned with one IP from the IPPrefix. The IPPrefix size thus serves as a cap on the size of the Gateway agent pool. Due to Azure public IPPrefix size limitation, the valid value range is [28, 31] (/31 = 2 nodes/IPs, /30 = 4 nodes/IPs, /29 = 8 nodes/IPs, /28 = 16 nodes/IPs). The default value is 31. */\n publicIPPrefixSize?: number;\n}\n\nexport function agentPoolGatewayProfileSerializer(item: AgentPoolGatewayProfile): any {\n return { publicIPPrefixSize: item[\"publicIPPrefixSize\"] };\n}\n\nexport function agentPoolGatewayProfileDeserializer(item: any): AgentPoolGatewayProfile {\n return {\n publicIPPrefixSize: item[\"publicIPPrefixSize\"],\n };\n}\n\n/** Specifications on VirtualMachines agent pool. */\nexport interface VirtualMachinesProfile {\n /** Specifications on how to scale a VirtualMachines agent pool. */\n scale?: ScaleProfile;\n}\n\nexport function virtualMachinesProfileSerializer(item: VirtualMachinesProfile): any {\n return { scale: !item[\"scale\"] ? item[\"scale\"] : scaleProfileSerializer(item[\"scale\"]) };\n}\n\nexport function virtualMachinesProfileDeserializer(item: any): VirtualMachinesProfile {\n return {\n scale: !item[\"scale\"] ? item[\"scale\"] : scaleProfileDeserializer(item[\"scale\"]),\n };\n}\n\n/** Specifications on how to scale a VirtualMachines agent pool. */\nexport interface ScaleProfile {\n /** Specifications on how to scale the VirtualMachines agent pool to a fixed size. */\n manual?: ManualScaleProfile[];\n}\n\nexport function scaleProfileSerializer(item: ScaleProfile): any {\n return {\n manual: !item[\"manual\"] ? item[\"manual\"] : manualScaleProfileArraySerializer(item[\"manual\"]),\n };\n}\n\nexport function scaleProfileDeserializer(item: any): ScaleProfile {\n return {\n manual: !item[\"manual\"] ? item[\"manual\"] : manualScaleProfileArrayDeserializer(item[\"manual\"]),\n };\n}\n\nexport function manualScaleProfileArraySerializer(result: Array<ManualScaleProfile>): any[] {\n return result.map((item) => {\n return manualScaleProfileSerializer(item);\n });\n}\n\nexport function manualScaleProfileArrayDeserializer(result: Array<ManualScaleProfile>): any[] {\n return result.map((item) => {\n return manualScaleProfileDeserializer(item);\n });\n}\n\n/** Specifications on number of machines. */\nexport interface ManualScaleProfile {\n /** VM size that AKS will use when creating and scaling e.g. 'Standard_E4s_v3', 'Standard_E16s_v3' or 'Standard_D16s_v5'. */\n size?: string;\n /** Number of nodes. */\n count?: number;\n}\n\nexport function manualScaleProfileSerializer(item: ManualScaleProfile): any {\n return { size: item[\"size\"], count: item[\"count\"] };\n}\n\nexport function manualScaleProfileDeserializer(item: any): ManualScaleProfile {\n return {\n size: item[\"size\"],\n count: item[\"count\"],\n };\n}\n\nexport function virtualMachineNodesArraySerializer(result: Array<VirtualMachineNodes>): any[] {\n return result.map((item) => {\n return virtualMachineNodesSerializer(item);\n });\n}\n\nexport function virtualMachineNodesArrayDeserializer(result: Array<VirtualMachineNodes>): any[] {\n return result.map((item) => {\n return virtualMachineNodesDeserializer(item);\n });\n}\n\n/** Current status on a group of nodes of the same vm size. */\nexport interface VirtualMachineNodes {\n /** The VM size of the agents used to host this group of nodes. */\n size?: string;\n /** Number of nodes. */\n count?: number;\n}\n\nexport function virtualMachineNodesSerializer(item: VirtualMachineNodes): any {\n return { size: item[\"size\"], count: item[\"count\"] };\n}\n\nexport function virtualMachineNodesDeserializer(item: any): VirtualMachineNodes {\n return {\n size: item[\"size\"],\n count: item[\"count\"],\n };\n}\n\n/** Contains read-only information about the Agent Pool. */\nexport interface AgentPoolStatus {\n /** The error detail information of the agent pool. Preserves the detailed info of failure. If there was no error, this field is omitted. */\n readonly provisioningError?: ErrorDetail;\n}\n\nexport function agentPoolStatusSerializer(_item: AgentPoolStatus): any {\n return {};\n}\n\nexport function agentPoolStatusDeserializer(item: any): AgentPoolStatus {\n return {\n provisioningError: !item[\"provisioningError\"]\n ? item[\"provisioningError\"]\n : errorDetailDeserializer(item[\"provisioningError\"]),\n };\n}\n\n/** The error detail. */\nexport interface ErrorDetail {\n /** The error code. */\n readonly code?: string;\n /** The error message. */\n readonly message?: string;\n /** The error target. */\n readonly target?: string;\n /** The error details. */\n readonly details?: ErrorDetail[];\n /** The error additional info. */\n readonly additionalInfo?: ErrorAdditionalInfo[];\n}\n\nexport function errorDetailDeserializer(item: any): ErrorDetail {\n return {\n code: item[\"code\"],\n message: item[\"message\"],\n target: item[\"target\"],\n details: !item[\"details\"] ? item[\"details\"] : errorDetailArrayDeserializer(item[\"details\"]),\n additionalInfo: !item[\"additionalInfo\"]\n ? item[\"additionalInfo\"]\n : errorAdditionalInfoArrayDeserializer(item[\"additionalInfo\"]),\n };\n}\n\nexport function errorDetailArrayDeserializer(result: Array<ErrorDetail>): any[] {\n return result.map((item) => {\n return errorDetailDeserializer(item);\n });\n}\n\nexport function errorAdditionalInfoArrayDeserializer(result: Array<ErrorAdditionalInfo>): any[] {\n return result.map((item) => {\n return errorAdditionalInfoDeserializer(item);\n });\n}\n\n/** The resource management error additional info. */\nexport interface ErrorAdditionalInfo {\n /** The additional info type. */\n readonly type?: string;\n /** The additional info. */\n readonly info?: any;\n}\n\nexport function errorAdditionalInfoDeserializer(item: any): ErrorAdditionalInfo {\n return {\n type: item[\"type\"],\n info: item[\"info\"],\n };\n}\n\n/** Configures the per-node local DNS, with VnetDNS and KubeDNS overrides. LocalDNS helps improve performance and reliability of DNS resolution in an AKS cluster. For more details see aka.ms/aks/localdns. */\nexport interface LocalDNSProfile {\n /** Mode of enablement for localDNS. */\n mode?: LocalDNSMode;\n /** System-generated state of localDNS. */\n readonly state?: LocalDNSState;\n /** VnetDNS overrides apply to DNS traffic from pods with dnsPolicy:default or kubelet (referred to as VnetDNS traffic). */\n vnetDNSOverrides?: Record<string, LocalDNSOverride>;\n /** KubeDNS overrides apply to DNS traffic from pods with dnsPolicy:ClusterFirst (referred to as KubeDNS traffic). */\n kubeDNSOverrides?: Record<string, LocalDNSOverride>;\n}\n\nexport function localDNSProfileSerializer(item: LocalDNSProfile): any {\n return {\n mode: item[\"mode\"],\n vnetDNSOverrides: !item[\"vnetDNSOverrides\"]\n ? item[\"vnetDNSOverrides\"]\n : localDNSOverrideRecordSerializer(item[\"vnetDNSOverrides\"]),\n kubeDNSOverrides: !item[\"kubeDNSOverrides\"]\n ? item[\"kubeDNSOverrides\"]\n : localDNSOverrideRecordSerializer(item[\"kubeDNSOverrides\"]),\n };\n}\n\nexport function localDNSProfileDeserializer(item: any): LocalDNSProfile {\n return {\n mode: item[\"mode\"],\n state: item[\"state\"],\n vnetDNSOverrides: !item[\"vnetDNSOverrides\"]\n ? item[\"vnetDNSOverrides\"]\n : localDNSOverrideRecordDeserializer(item[\"vnetDNSOverrides\"]),\n kubeDNSOverrides: !item[\"kubeDNSOverrides\"]\n ? item[\"kubeDNSOverrides\"]\n : localDNSOverrideRecordDeserializer(item[\"kubeDNSOverrides\"]),\n };\n}\n\n/** Mode of enablement for localDNS. */\nexport enum KnownLocalDNSMode {\n /** If the current orchestrator version supports this feature, prefer enabling localDNS. */\n Preferred = \"Preferred\",\n /** Enable localDNS. */\n Required = \"Required\",\n /** Disable localDNS. */\n Disabled = \"Disabled\",\n}\n\n/**\n * Mode of enablement for localDNS. \\\n * {@link KnownLocalDNSMode} can be used interchangeably with LocalDNSMode,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Preferred**: If the current orchestrator version supports this feature, prefer enabling localDNS. \\\n * **Required**: Enable localDNS. \\\n * **Disabled**: Disable localDNS.\n */\nexport type LocalDNSMode = string;\n\n/** System-generated state of localDNS. */\nexport enum KnownLocalDNSState {\n /** localDNS is enabled. */\n Enabled = \"Enabled\",\n /** localDNS is disabled. */\n Disabled = \"Disabled\",\n}\n\n/**\n * System-generated state of localDNS. \\\n * {@link KnownLocalDNSState} can be used interchangeably with LocalDNSState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enabled**: localDNS is enabled. \\\n * **Disabled**: localDNS is disabled.\n */\nexport type LocalDNSState = string;\n\nexport function localDNSOverrideRecordSerializer(\n item: Record<string, LocalDNSOverride>,\n): Record<string, any> {\n const result: Record<string, any> = {};\n Object.keys(item).map((key) => {\n result[key] = !item[key] ? item[key] : localDNSOverrideSerializer(item[key]);\n });\n return result;\n}\n\nexport function localDNSOverrideRecordDeserializer(\n item: Record<string, any>,\n): Record<string, LocalDNSOverride> {\n const result: Record<string, any> = {};\n Object.keys(item).map((key) => {\n result[key] = !item[key] ? item[key] : localDNSOverrideDeserializer(item[key]);\n });\n return result;\n}\n\n/** Overrides for localDNS profile. */\nexport interface LocalDNSOverride {\n /** Log level for DNS queries in localDNS. */\n queryLogging?: LocalDNSQueryLogging;\n /** Enforce TCP or prefer UDP protocol for connections from localDNS to upstream DNS server. */\n protocol?: LocalDNSProtocol;\n /** Destination server for DNS queries to be forwarded from localDNS. */\n forwardDestination?: LocalDNSForwardDestination;\n /** Forward policy for selecting upstream DNS server. See [forward plugin](https://coredns.io/plugins/forward) for more information. */\n forwardPolicy?: LocalDNSForwardPolicy;\n /** Maximum number of concurrent queries. See [forward plugin](https://coredns.io/plugins/forward) for more information. */\n maxConcurrent?: number;\n /** Cache max TTL in seconds. See [cache plugin](https://coredns.io/plugins/cache) for more information. */\n cacheDurationInSeconds?: number;\n /** Serve stale duration in seconds. See [cache plugin](https://coredns.io/plugins/cache) for more information. */\n serveStaleDurationInSeconds?: number;\n /** Policy for serving stale data. See [cache plugin](https://coredns.io/plugins/cache) for more information. */\n serveStale?: LocalDNSServeStale;\n}\n\nexport function localDNSOverrideSerializer(item: LocalDNSOverride): any {\n return {\n queryLogging: item[\"queryLogging\"],\n protocol: item[\"protocol\"],\n forwardDestination: item[\"forwardDestination\"],\n forwardPolicy: item[\"forwardPolicy\"],\n maxConcurrent: item[\"maxConcurrent\"],\n cacheDurationInSeconds: item[\"cacheDurationInSeconds\"],\n serveStaleDurationInSeconds: item[\"serveStaleDurationInSeconds\"],\n serveStale: item[\"serveStale\"],\n };\n}\n\nexport function localDNSOverrideDeserializer(item: any): LocalDNSOverride {\n return {\n queryLogging: item[\"queryLogging\"],\n protocol: item[\"protocol\"],\n forwardDestination: item[\"forwardDestination\"],\n forwardPolicy: item[\"forwardPolicy\"],\n maxConcurrent: item[\"maxConcurrent\"],\n cacheDurationInSeconds: item[\"cacheDurationInSeconds\"],\n serveStaleDurationInSeconds: item[\"serveStaleDurationInSeconds\"],\n serveStale: item[\"serveStale\"],\n };\n}\n\n/** Log level for DNS queries in localDNS. */\nexport enum KnownLocalDNSQueryLogging {\n /** Enables error logging in localDNS. See [errors plugin](https://coredns.io/plugins/errors) for more information. */\n Error = \"Error\",\n /** Enables query logging in localDNS. See [log plugin](https://coredns.io/plugins/log) for more information. */\n Log = \"Log\",\n}\n\n/**\n * Log level for DNS queries in localDNS. \\\n * {@link KnownLocalDNSQueryLogging} can be used interchangeably with LocalDNSQueryLogging,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Error**: Enables error logging in localDNS. See [errors plugin](https:\\//coredns.io\\/plugins\\/errors) for more information. \\\n * **Log**: Enables query logging in localDNS. See [log plugin](https:\\//coredns.io\\/plugins\\/log) for more information.\n */\nexport type LocalDNSQueryLogging = string;\n\n/** Enforce TCP or prefer UDP protocol for connections from localDNS to upstream DNS server. */\nexport enum KnownLocalDNSProtocol {\n /** Prefer UDP protocol for connections from localDNS to upstream DNS server. */\n PreferUDP = \"PreferUDP\",\n /** Enforce TCP protocol for connections from localDNS to upstream DNS server. */\n ForceTCP = \"ForceTCP\",\n}\n\n/**\n * Enforce TCP or prefer UDP protocol for connections from localDNS to upstream DNS server. \\\n * {@link KnownLocalDNSProtocol} can be used interchangeably with LocalDNSProtocol,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **PreferUDP**: Prefer UDP protocol for connections from localDNS to upstream DNS server. \\\n * **ForceTCP**: Enforce TCP protocol for connections from localDNS to upstream DNS server.\n */\nexport type LocalDNSProtocol = string;\n\n/** Destination server for DNS queries to be forwarded from localDNS. */\nexport enum KnownLocalDNSForwardDestination {\n /** Forward DNS queries from localDNS to cluster CoreDNS. */\n ClusterCoreDNS = \"ClusterCoreDNS\",\n /** Forward DNS queries from localDNS to DNS server configured in the VNET. A VNET can have multiple DNS servers configured. */\n VnetDNS = \"VnetDNS\",\n}\n\n/**\n * Destination server for DNS queries to be forwarded from localDNS. \\\n * {@link KnownLocalDNSForwardDestination} can be used interchangeably with LocalDNSForwardDestination,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **ClusterCoreDNS**: Forward DNS queries from localDNS to cluster CoreDNS. \\\n * **VnetDNS**: Forward DNS queries from localDNS to DNS server configured in the VNET. A VNET can have multiple DNS servers configured.\n */\nexport type LocalDNSForwardDestination = string;\n\n/** Forward policy for selecting upstream DNS server. See [forward plugin](https://coredns.io/plugins/forward) for more information. */\nexport enum KnownLocalDNSForwardPolicy {\n /** Implements sequential upstream DNS server selection. See [forward plugin](https://coredns.io/plugins/forward) for more information. */\n Sequential = \"Sequential\",\n /** Implements round robin upstream DNS server selection. See [forward plugin](https://coredns.io/plugins/forward) for more information. */\n RoundRobin = \"RoundRobin\",\n /** Implements random upstream DNS server selection. See [forward plugin](https://coredns.io/plugins/forward) for more information. */\n Random = \"Random\",\n}\n\n/**\n * Forward policy for selecting upstream DNS server. See [forward plugin](https://coredns.io/plugins/forward) for more information. \\\n * {@link KnownLocalDNSForwardPolicy} can be used interchangeably with LocalDNSForwardPolicy,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Sequential**: Implements sequential upstream DNS server selection. See [forward plugin](https:\\//coredns.io\\/plugins\\/forward) for more information. \\\n * **RoundRobin**: Implements round robin upstream DNS server selection. See [forward plugin](https:\\//coredns.io\\/plugins\\/forward) for more information. \\\n * **Random**: Implements random upstream DNS server selection. See [forward plugin](https:\\//coredns.io\\/plugins\\/forward) for more information.\n */\nexport type LocalDNSForwardPolicy = string;\n\n/** Policy for serving stale data. See [cache plugin](https://coredns.io/plugins/cache) for more information. */\nexport enum KnownLocalDNSServeStale {\n /** Serve stale data with verification. First verify that an entry is still unavailable from the source before sending the expired entry to the client. See [cache plugin](https://coredns.io/plugins/cache) for more information. */\n Verify = \"Verify\",\n /** Serve stale data immediately. Send the expired entry to the client before checking to see if the entry is available from the source. See [cache plugin](https://coredns.io/plugins/cache) for more information. */\n Immediate = \"Immediate\",\n /** Disable serving stale data. */\n Disable = \"Disable\",\n}\n\n/**\n * Policy for serving stale data. See [cache plugin](https://coredns.io/plugins/cache) for more information. \\\n * {@link KnownLocalDNSServeStale} can be used interchangeably with LocalDNSServeStale,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Verify**: Serve stale data with verification. First verify that an entry is still unavailable from the source before sending the expired entry to the client. See [cache plugin](https:\\//coredns.io\\/plugins\\/cache) for more information. \\\n * **Immediate**: Serve stale data immediately. Send the expired entry to the client before checking to see if the entry is available from the source. See [cache plugin](https:\\//coredns.io\\/plugins\\/cache) for more information. \\\n * **Disable**: Disable serving stale data.\n */\nexport type LocalDNSServeStale = string;\n\n/** The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location */\nexport interface ProxyResource extends Resource {}\n\nexport function proxyResourceSerializer(_item: ProxyResource): any {\n return {};\n}\n\nexport function proxyResourceDeserializer(item: any): ProxyResource {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n };\n}\n\n/** Common fields that are returned in the response for all Azure Resource Manager resources */\nexport interface Resource {\n /** Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} */\n readonly id?: string;\n /** The name of the resource */\n readonly name?: string;\n /** The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\" */\n readonly type?: string;\n /** Azure Resource Manager metadata containing createdBy and modifiedBy information. */\n readonly systemData?: SystemData;\n}\n\nexport function resourceSerializer(_item: Resource): any {\n return {};\n}\n\nexport function resourceDeserializer(item: any): Resource {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n };\n}\n\n/** Metadata pertaining to creation and last modification of the resource. */\nexport interface SystemData {\n /** The identity that created the resource. */\n createdBy?: string;\n /** The type of identity that created the resource. */\n createdByType?: CreatedByType;\n /** The timestamp of resource creation (UTC). */\n createdAt?: Date;\n /** The identity that last modified the resource. */\n lastModifiedBy?: string;\n /** The type of identity that last modified the resource. */\n lastModifiedByType?: CreatedByType;\n /** The timestamp of resource last modification (UTC) */\n lastModifiedAt?: Date;\n}\n\nexport function systemDataDeserializer(item: any): SystemData {\n return {\n createdBy: item[\"createdBy\"],\n createdByType: item[\"createdByType\"],\n createdAt: !item[\"createdAt\"] ? item[\"createdAt\"] : new Date(item[\"createdAt\"]),\n lastModifiedBy: item[\"lastModifiedBy\"],\n lastModifiedByType: item[\"lastModifiedByType\"],\n lastModifiedAt: !item[\"lastModifiedAt\"]\n ? item[\"lastModifiedAt\"]\n : new Date(item[\"lastModifiedAt\"]),\n };\n}\n\n/** The kind of entity that created the resource. */\nexport enum KnownCreatedByType {\n /** The entity was created by a user. */\n User = \"User\",\n /** The entity was created by an application. */\n Application = \"Application\",\n /** The entity was created by a managed identity. */\n ManagedIdentity = \"ManagedIdentity\",\n /** The entity was created by a key. */\n Key = \"Key\",\n}\n\n/**\n * The kind of entity that created the resource. \\\n * {@link KnownCreatedByType} can be used interchangeably with CreatedByType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **User**: The entity was created by a user. \\\n * **Application**: The entity was created by an application. \\\n * **ManagedIdentity**: The entity was created by a managed identity. \\\n * **Key**: The entity was created by a key.\n */\nexport type CreatedByType = string;\n\n/** Common error response for all Azure Resource Manager APIs to return error details for failed operations. */\nexport interface ErrorResponse {\n /** The error object. */\n error?: ErrorDetail;\n}\n\nexport function errorResponseDeserializer(item: any): ErrorResponse {\n return {\n error: !item[\"error\"] ? item[\"error\"] : errorDetailDeserializer(item[\"error\"]),\n };\n}\n\n/** The response of a AgentPool list operation. */\nexport interface _AgentPoolListResult {\n /** The AgentPool items on this page */\n value: AgentPool[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _agentPoolListResultDeserializer(item: any): _AgentPoolListResult {\n return {\n value: agentPoolArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function agentPoolArraySerializer(result: Array<AgentPool>): any[] {\n return result.map((item) => {\n return agentPoolSerializer(item);\n });\n}\n\nexport function agentPoolArrayDeserializer(result: Array<AgentPool>): any[] {\n return result.map((item) => {\n return agentPoolDeserializer(item);\n });\n}\n\n/** Specifies a list of machine names from the agent pool to be deleted. */\nexport interface AgentPoolDeleteMachinesParameter {\n /** The agent pool machine names. */\n machineNames: string[];\n}\n\nexport function agentPoolDeleteMachinesParameterSerializer(\n item: AgentPoolDeleteMachinesParameter,\n): any {\n return {\n machineNames: item[\"machineNames\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** The list of available versions for an agent pool. */\nexport interface AgentPoolAvailableVersions {\n /** The ID of the agent pool version list. */\n readonly id?: string;\n /** The name of the agent pool version list. */\n readonly name?: string;\n /** Type of the agent pool version list. */\n readonly type?: string;\n /** List of versions available for agent pool. */\n agentPoolVersions?: AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem[];\n}\n\nexport function agentPoolAvailableVersionsDeserializer(item: any): AgentPoolAvailableVersions {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n ..._agentPoolAvailableVersionsPropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** The list of available agent pool versions. */\nexport interface AgentPoolAvailableVersionsProperties {\n /** List of versions available for agent pool. */\n agentPoolVersions?: AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem[];\n}\n\nexport function agentPoolAvailableVersionsPropertiesDeserializer(\n item: any,\n): AgentPoolAvailableVersionsProperties {\n return {\n agentPoolVersions: !item[\"agentPoolVersions\"]\n ? item[\"agentPoolVersions\"]\n : agentPoolAvailableVersionsPropertiesAgentPoolVersionsItemArrayDeserializer(\n item[\"agentPoolVersions\"],\n ),\n };\n}\n\nexport function agentPoolAvailableVersionsPropertiesAgentPoolVersionsItemArrayDeserializer(\n result: Array<AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem>,\n): any[] {\n return result.map((item) => {\n return agentPoolAvailableVersionsPropertiesAgentPoolVersionsItemDeserializer(item);\n });\n}\n\n/** Available version information for an agent pool. */\nexport interface AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem {\n /** Whether this version is the default agent pool version. */\n default?: boolean;\n /** The Kubernetes version (major.minor.patch). */\n kubernetesVersion?: string;\n /** Whether Kubernetes version is currently in preview. */\n isPreview?: boolean;\n}\n\nexport function agentPoolAvailableVersionsPropertiesAgentPoolVersionsItemDeserializer(\n item: any,\n): AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem {\n return {\n default: item[\"default\"],\n kubernetesVersion: item[\"kubernetesVersion\"],\n isPreview: item[\"isPreview\"],\n };\n}\n\n/** The list of available upgrades for an agent pool. */\nexport interface AgentPoolUpgradeProfile extends ProxyResource {\n /** The Kubernetes version (major.minor.patch). */\n kubernetesVersion: string;\n /** The operating system type. The default is Linux. */\n osType: OSType;\n /** List of orchestrator types and versions available for upgrade. */\n upgrades?: AgentPoolUpgradeProfilePropertiesUpgradesItem[];\n /** The latest AKS supported node image version. */\n latestNodeImageVersion?: string;\n}\n\nexport function agentPoolUpgradeProfileDeserializer(item: any): AgentPoolUpgradeProfile {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n ..._agentPoolUpgradeProfilePropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** The list of available upgrade versions. */\nexport interface AgentPoolUpgradeProfileProperties {\n /** The Kubernetes version (major.minor.patch). */\n kubernetesVersion: string;\n /** The operating system type. The default is Linux. */\n osType: OSType;\n /** List of orchestrator types and versions available for upgrade. */\n upgrades?: AgentPoolUpgradeProfilePropertiesUpgradesItem[];\n /** The latest AKS supported node image version. */\n latestNodeImageVersion?: string;\n}\n\nexport function agentPoolUpgradeProfilePropertiesDeserializer(\n item: any,\n): AgentPoolUpgradeProfileProperties {\n return {\n kubernetesVersion: item[\"kubernetesVersion\"],\n osType: item[\"osType\"],\n upgrades: !item[\"upgrades\"]\n ? item[\"upgrades\"]\n : agentPoolUpgradeProfilePropertiesUpgradesItemArrayDeserializer(item[\"upgrades\"]),\n latestNodeImageVersion: item[\"latestNodeImageVersion\"],\n };\n}\n\nexport function agentPoolUpgradeProfilePropertiesUpgradesItemArrayDeserializer(\n result: Array<AgentPoolUpgradeProfilePropertiesUpgradesItem>,\n): any[] {\n return result.map((item) => {\n return agentPoolUpgradeProfilePropertiesUpgradesItemDeserializer(item);\n });\n}\n\n/** Available upgrades for an AgentPool. */\nexport interface AgentPoolUpgradeProfilePropertiesUpgradesItem {\n /** The Kubernetes version (major.minor.patch). */\n kubernetesVersion?: string;\n /** Whether the Kubernetes version is currently in preview. */\n isPreview?: boolean;\n}\n\nexport function agentPoolUpgradeProfilePropertiesUpgradesItemDeserializer(\n item: any,\n): AgentPoolUpgradeProfilePropertiesUpgradesItem {\n return {\n kubernetesVersion: item[\"kubernetesVersion\"],\n isPreview: item[\"isPreview\"],\n };\n}\n\n/** Managed cluster. */\nexport interface ManagedCluster extends TrackedResource {\n /** If eTag is provided in the response body, it may also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields. */\n readonly eTag?: string;\n /** The managed cluster SKU. */\n sku?: ManagedClusterSKU;\n /** The extended location of the Virtual Machine. */\n extendedLocation?: ExtendedLocation;\n /** The identity of the managed cluster, if configured. */\n identity?: ManagedClusterIdentity;\n /** This is primarily used to expose different UI experiences in the portal for different kinds */\n kind?: string;\n /** The current provisioning state. */\n readonly provisioningState?: string;\n /** The Power State of the cluster. */\n readonly powerState?: PowerState;\n /** The max number of agent pools for the managed cluster. */\n readonly maxAgentPools?: number;\n /** The version of Kubernetes specified by the user. Both patch version <major.minor.patch> (e.g. 1.20.13) and <major.minor> (e.g. 1.20) are supported. When <major.minor> is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same <major.minor> once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details. */\n kubernetesVersion?: string;\n /** The version of Kubernetes the Managed Cluster is running. If kubernetesVersion was a fully specified version <major.minor.patch>, this field will be exactly equal to it. If kubernetesVersion was <major.minor>, this field will contain the full <major.minor.patch> version being used. */\n readonly currentKubernetesVersion?: string;\n /** The DNS prefix of the Managed Cluster. This cannot be updated once the Managed Cluster has been created. */\n dnsPrefix?: string;\n /** The FQDN subdomain of the private cluster with custom private dns zone. This cannot be updated once the Managed Cluster has been created. */\n fqdnSubdomain?: string;\n /** The FQDN of the master pool. */\n readonly fqdn?: string;\n /** The FQDN of private cluster. */\n readonly privateFqdn?: string;\n /** The special FQDN used by the Azure Portal to access the Managed Cluster. This FQDN is for use only by the Azure Portal and should not be used by other clients. The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure Portal to function properly. */\n readonly azurePortalFqdn?: string;\n /** The agent pool properties. */\n agentPoolProfiles?: ManagedClusterAgentPoolProfile[];\n /** The profile for Linux VMs in the Managed Cluster. */\n linuxProfile?: ContainerServiceLinuxProfile;\n /** The profile for Windows VMs in the Managed Cluster. */\n windowsProfile?: ManagedClusterWindowsProfile;\n /** Information about a service principal identity for the cluster to use for manipulating Azure APIs. */\n servicePrincipalProfile?: ManagedClusterServicePrincipalProfile;\n /** The profile of managed cluster add-on. */\n addonProfiles?: Record<string, ManagedClusterAddonProfile>;\n /** The pod identity profile of the Managed Cluster. See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on AAD pod identity integration. */\n podIdentityProfile?: ManagedClusterPodIdentityProfile;\n /** The OIDC issuer profile of the Managed Cluster. */\n oidcIssuerProfile?: ManagedClusterOidcIssuerProfile;\n /** The name of the resource group containing agent pool nodes. */\n nodeResourceGroup?: string;\n /** Profile of the node resource group configuration. */\n nodeResourceGroupProfile?: ManagedClusterNodeResourceGroupProfile;\n /** Whether to enable Kubernetes Role-Based Access Control. */\n enableRbac?: boolean;\n /** The support plan for the Managed Cluster. If unspecified, the default is 'KubernetesOfficial'. */\n supportPlan?: KubernetesSupportPlan;\n /** The network configuration profile. */\n networkProfile?: ContainerServiceNetworkProfile;\n /** The Azure Active Directory configuration. */\n aadProfile?: ManagedClusterAADProfile;\n /** The auto upgrade configuration. */\n autoUpgradeProfile?: ManagedClusterAutoUpgradeProfile;\n /** Settings for upgrading a cluster. */\n upgradeSettings?: ClusterUpgradeSettings;\n /** Parameters to be applied to the cluster-autoscaler when enabled */\n autoScalerProfile?: ManagedClusterPropertiesAutoScalerProfile;\n /** The access profile for managed cluster API server. */\n apiServerAccessProfile?: ManagedClusterAPIServerAccessProfile;\n /** The Resource ID of the disk encryption set to use for enabling encryption at rest. This is of the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' */\n diskEncryptionSetID?: string;\n /** The user identity associated with the managed cluster. This identity will be used by the kubelet. Only one user assigned identity is allowed. The only accepted key is \"kubeletidentity\", with value of \"resourceId\": \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}\". */\n identityProfile?: Record<string, UserAssignedIdentity>;\n /** Private link resources associated with the cluster. */\n privateLinkResources?: PrivateLinkResource[];\n /** If local accounts should be disabled on the Managed Cluster. If set to true, getting static credentials will be disabled for this cluster. This must only be used on Managed Clusters that are AAD enabled. For more details see [disable local accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview). */\n disableLocalAccounts?: boolean;\n /** Configurations for provisioning the cluster with HTTP proxy servers. */\n httpProxyConfig?: ManagedClusterHttpProxyConfig;\n /** Security profile for the managed cluster. */\n securityProfile?: ManagedClusterSecurityProfile;\n /** Storage profile for the managed cluster. */\n storageProfile?: ManagedClusterStorageProfile;\n /** Ingress profile for the managed cluster. */\n ingressProfile?: ManagedClusterIngressProfile;\n /** PublicNetworkAccess of the managedCluster. Allow or deny public network access for AKS */\n publicNetworkAccess?: PublicNetworkAccess;\n /** Workload Auto-scaler profile for the managed cluster. */\n workloadAutoScalerProfile?: ManagedClusterWorkloadAutoScalerProfile;\n /** Azure Monitor addon profiles for monitoring the managed cluster. */\n azureMonitorProfile?: ManagedClusterAzureMonitorProfile;\n /** Service mesh profile for a managed cluster. */\n serviceMeshProfile?: ServiceMeshProfile;\n /** The resourceUID uniquely identifies ManagedClusters that reuse ARM ResourceIds (i.e: create, delete, create sequence) */\n readonly resourceUID?: string;\n /** Optional cluster metrics configuration. */\n metricsProfile?: ManagedClusterMetricsProfile;\n /** Node provisioning settings that apply to the whole cluster. */\n nodeProvisioningProfile?: ManagedClusterNodeProvisioningProfile;\n /** Profile of the cluster bootstrap configuration. */\n bootstrapProfile?: ManagedClusterBootstrapProfile;\n /** AI toolchain operator settings that apply to the whole cluster. */\n aiToolchainOperatorProfile?: ManagedClusterAIToolchainOperatorProfile;\n /** Settings for hosted system addons. For more information, see https://aka.ms/aks/automatic/systemcomponents. */\n hostedSystemProfile?: ManagedClusterHostedSystemProfile;\n /** Contains read-only information about the Managed Cluster. */\n status?: ManagedClusterStatus;\n}\n\nexport function managedClusterSerializer(item: ManagedCluster): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: areAllPropsUndefined(item, [\n \"kubernetesVersion\",\n \"dnsPrefix\",\n \"fqdnSubdomain\",\n \"agentPoolProfiles\",\n \"linuxProfile\",\n \"windowsProfile\",\n \"servicePrincipalProfile\",\n \"addonProfiles\",\n \"podIdentityProfile\",\n \"oidcIssuerProfile\",\n \"nodeResourceGroup\",\n \"nodeResourceGroupProfile\",\n \"enableRBAC\",\n \"supportPlan\",\n \"networkProfile\",\n \"aadProfile\",\n \"autoUpgradeProfile\",\n \"upgradeSettings\",\n \"autoScalerProfile\",\n \"apiServerAccessProfile\",\n \"diskEncryptionSetID\",\n \"identityProfile\",\n \"privateLinkResources\",\n \"disableLocalAccounts\",\n \"httpProxyConfig\",\n \"securityProfile\",\n \"storageProfile\",\n \"ingressProfile\",\n \"publicNetworkAccess\",\n \"workloadAutoScalerProfile\",\n \"azureMonitorProfile\",\n \"serviceMeshProfile\",\n \"metricsProfile\",\n \"nodeProvisioningProfile\",\n \"bootstrapProfile\",\n \"aiToolchainOperatorProfile\",\n \"hostedSystemProfile\",\n \"status\",\n ])\n ? undefined\n : _managedClusterPropertiesSerializer(item),\n sku: !item[\"sku\"] ? item[\"sku\"] : managedClusterSKUSerializer(item[\"sku\"]),\n extendedLocation: !item[\"extendedLocation\"]\n ? item[\"extendedLocation\"]\n : extendedLocationSerializer(item[\"extendedLocation\"]),\n identity: !item[\"identity\"]\n ? item[\"identity\"]\n : managedClusterIdentitySerializer(item[\"identity\"]),\n kind: item[\"kind\"],\n };\n}\n\nexport function managedClusterDeserializer(item: any): ManagedCluster {\n return {\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _managedClusterPropertiesDeserializer(item[\"properties\"])),\n eTag: item[\"eTag\"],\n sku: !item[\"sku\"] ? item[\"sku\"] : managedClusterSKUDeserializer(item[\"sku\"]),\n extendedLocation: !item[\"extendedLocation\"]\n ? item[\"extendedLocation\"]\n : extendedLocationDeserializer(item[\"extendedLocation\"]),\n identity: !item[\"identity\"]\n ? item[\"identity\"]\n : managedClusterIdentityDeserializer(item[\"identity\"]),\n kind: item[\"kind\"],\n };\n}\n\n/** Properties of the managed cluster. */\nexport interface ManagedClusterProperties {\n /** The current provisioning state. */\n readonly provisioningState?: string;\n /** The Power State of the cluster. */\n readonly powerState?: PowerState;\n /** The max number of agent pools for the managed cluster. */\n readonly maxAgentPools?: number;\n /** The version of Kubernetes specified by the user. Both patch version <major.minor.patch> (e.g. 1.20.13) and <major.minor> (e.g. 1.20) are supported. When <major.minor> is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same <major.minor> once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details. */\n kubernetesVersion?: string;\n /** The version of Kubernetes the Managed Cluster is running. If kubernetesVersion was a fully specified version <major.minor.patch>, this field will be exactly equal to it. If kubernetesVersion was <major.minor>, this field will contain the full <major.minor.patch> version being used. */\n readonly currentKubernetesVersion?: string;\n /** The DNS prefix of the Managed Cluster. This cannot be updated once the Managed Cluster has been created. */\n dnsPrefix?: string;\n /** The FQDN subdomain of the private cluster with custom private dns zone. This cannot be updated once the Managed Cluster has been created. */\n fqdnSubdomain?: string;\n /** The FQDN of the master pool. */\n readonly fqdn?: string;\n /** The FQDN of private cluster. */\n readonly privateFqdn?: string;\n /** The special FQDN used by the Azure Portal to access the Managed Cluster. This FQDN is for use only by the Azure Portal and should not be used by other clients. The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure Portal to function properly. */\n readonly azurePortalFqdn?: string;\n /** The agent pool properties. */\n agentPoolProfiles?: ManagedClusterAgentPoolProfile[];\n /** The profile for Linux VMs in the Managed Cluster. */\n linuxProfile?: ContainerServiceLinuxProfile;\n /** The profile for Windows VMs in the Managed Cluster. */\n windowsProfile?: ManagedClusterWindowsProfile;\n /** Information about a service principal identity for the cluster to use for manipulating Azure APIs. */\n servicePrincipalProfile?: ManagedClusterServicePrincipalProfile;\n /** The profile of managed cluster add-on. */\n addonProfiles?: Record<string, ManagedClusterAddonProfile>;\n /** The pod identity profile of the Managed Cluster. See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on AAD pod identity integration. */\n podIdentityProfile?: ManagedClusterPodIdentityProfile;\n /** The OIDC issuer profile of the Managed Cluster. */\n oidcIssuerProfile?: ManagedClusterOidcIssuerProfile;\n /** The name of the resource group containing agent pool nodes. */\n nodeResourceGroup?: string;\n /** Profile of the node resource group configuration. */\n nodeResourceGroupProfile?: ManagedClusterNodeResourceGroupProfile;\n /** Whether to enable Kubernetes Role-Based Access Control. */\n enableRbac?: boolean;\n /** The support plan for the Managed Cluster. If unspecified, the default is 'KubernetesOfficial'. */\n supportPlan?: KubernetesSupportPlan;\n /** The network configuration profile. */\n networkProfile?: ContainerServiceNetworkProfile;\n /** The Azure Active Directory configuration. */\n aadProfile?: ManagedClusterAADProfile;\n /** The auto upgrade configuration. */\n autoUpgradeProfile?: ManagedClusterAutoUpgradeProfile;\n /** Settings for upgrading a cluster. */\n upgradeSettings?: ClusterUpgradeSettings;\n /** Parameters to be applied to the cluster-autoscaler when enabled */\n autoScalerProfile?: ManagedClusterPropertiesAutoScalerProfile;\n /** The access profile for managed cluster API server. */\n apiServerAccessProfile?: ManagedClusterAPIServerAccessProfile;\n /** The Resource ID of the disk encryption set to use for enabling encryption at rest. This is of the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' */\n diskEncryptionSetID?: string;\n /** The user identity associated with the managed cluster. This identity will be used by the kubelet. Only one user assigned identity is allowed. The only accepted key is \"kubeletidentity\", with value of \"resourceId\": \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}\". */\n identityProfile?: Record<string, UserAssignedIdentity>;\n /** Private link resources associated with the cluster. */\n privateLinkResources?: PrivateLinkResource[];\n /** If local accounts should be disabled on the Managed Cluster. If set to true, getting static credentials will be disabled for this cluster. This must only be used on Managed Clusters that are AAD enabled. For more details see [disable local accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview). */\n disableLocalAccounts?: boolean;\n /** Configurations for provisioning the cluster with HTTP proxy servers. */\n httpProxyConfig?: ManagedClusterHttpProxyConfig;\n /** Security profile for the managed cluster. */\n securityProfile?: ManagedClusterSecurityProfile;\n /** Storage profile for the managed cluster. */\n storageProfile?: ManagedClusterStorageProfile;\n /** Ingress profile for the managed cluster. */\n ingressProfile?: ManagedClusterIngressProfile;\n /** PublicNetworkAccess of the managedCluster. Allow or deny public network access for AKS */\n publicNetworkAccess?: PublicNetworkAccess;\n /** Workload Auto-scaler profile for the managed cluster. */\n workloadAutoScalerProfile?: ManagedClusterWorkloadAutoScalerProfile;\n /** Azure Monitor addon profiles for monitoring the managed cluster. */\n azureMonitorProfile?: ManagedClusterAzureMonitorProfile;\n /** Service mesh profile for a managed cluster. */\n serviceMeshProfile?: ServiceMeshProfile;\n /** The resourceUID uniquely identifies ManagedClusters that reuse ARM ResourceIds (i.e: create, delete, create sequence) */\n readonly resourceUID?: string;\n /** Optional cluster metrics configuration. */\n metricsProfile?: ManagedClusterMetricsProfile;\n /** Node provisioning settings that apply to the whole cluster. */\n nodeProvisioningProfile?: ManagedClusterNodeProvisioningProfile;\n /** Profile of the cluster bootstrap configuration. */\n bootstrapProfile?: ManagedClusterBootstrapProfile;\n /** AI toolchain operator settings that apply to the whole cluster. */\n aiToolchainOperatorProfile?: ManagedClusterAIToolchainOperatorProfile;\n /** Settings for hosted system addons. For more information, see https://aka.ms/aks/automatic/systemcomponents. */\n hostedSystemProfile?: ManagedClusterHostedSystemProfile;\n /** Contains read-only information about the Managed Cluster. */\n status?: ManagedClusterStatus;\n}\n\nexport function managedClusterPropertiesSerializer(item: ManagedClusterProperties): any {\n return {\n kubernetesVersion: item[\"kubernetesVersion\"],\n dnsPrefix: item[\"dnsPrefix\"],\n fqdnSubdomain: item[\"fqdnSubdomain\"],\n agentPoolProfiles: !item[\"agentPoolProfiles\"]\n ? item[\"agentPoolProfiles\"]\n : managedClusterAgentPoolProfileArraySerializer(item[\"agentPoolProfiles\"]),\n linuxProfile: !item[\"linuxProfile\"]\n ? item[\"linuxProfile\"]\n : containerServiceLinuxProfileSerializer(item[\"linuxProfile\"]),\n windowsProfile: !item[\"windowsProfile\"]\n ? item[\"windowsProfile\"]\n : managedClusterWindowsProfileSerializer(item[\"windowsProfile\"]),\n servicePrincipalProfile: !item[\"servicePrincipalProfile\"]\n ? item[\"servicePrincipalProfile\"]\n : managedClusterServicePrincipalProfileSerializer(item[\"servicePrincipalProfile\"]),\n addonProfiles: !item[\"addonProfiles\"]\n ? item[\"addonProfiles\"]\n : managedClusterAddonProfileRecordSerializer(item[\"addonProfiles\"]),\n podIdentityProfile: !item[\"podIdentityProfile\"]\n ? item[\"podIdentityProfile\"]\n : managedClusterPodIdentityProfileSerializer(item[\"podIdentityProfile\"]),\n oidcIssuerProfile: !item[\"oidcIssuerProfile\"]\n ? item[\"oidcIssuerProfile\"]\n : managedClusterOidcIssuerProfileSerializer(item[\"oidcIssuerProfile\"]),\n nodeResourceGroup: item[\"nodeResourceGroup\"],\n nodeResourceGroupProfile: !item[\"nodeResourceGroupProfile\"]\n ? item[\"nodeResourceGroupProfile\"]\n : managedClusterNodeResourceGroupProfileSerializer(item[\"nodeResourceGroupProfile\"]),\n enableRBAC: item[\"enableRbac\"],\n supportPlan: item[\"supportPlan\"],\n networkProfile: !item[\"networkProfile\"]\n ? item[\"networkProfile\"]\n : containerServiceNetworkProfileSerializer(item[\"networkProfile\"]),\n aadProfile: !item[\"aadProfile\"]\n ? item[\"aadProfile\"]\n : managedClusterAADProfileSerializer(item[\"aadProfile\"]),\n autoUpgradeProfile: !item[\"autoUpgradeProfile\"]\n ? item[\"autoUpgradeProfile\"]\n : managedClusterAutoUpgradeProfileSerializer(item[\"autoUpgradeProfile\"]),\n upgradeSettings: !item[\"upgradeSettings\"]\n ? item[\"upgradeSettings\"]\n : clusterUpgradeSettingsSerializer(item[\"upgradeSettings\"]),\n autoScalerProfile: !item[\"autoScalerProfile\"]\n ? item[\"autoScalerProfile\"]\n : managedClusterPropertiesAutoScalerProfileSerializer(item[\"autoScalerProfile\"]),\n apiServerAccessProfile: !item[\"apiServerAccessProfile\"]\n ? item[\"apiServerAccessProfile\"]\n : managedClusterAPIServerAccessProfileSerializer(item[\"apiServerAccessProfile\"]),\n diskEncryptionSetID: item[\"diskEncryptionSetID\"],\n identityProfile: !item[\"identityProfile\"]\n ? item[\"identityProfile\"]\n : userAssignedIdentityRecordSerializer(item[\"identityProfile\"]),\n privateLinkResources: !item[\"privateLinkResources\"]\n ? item[\"privateLinkResources\"]\n : privateLinkResourceArraySerializer(item[\"privateLinkResources\"]),\n disableLocalAccounts: item[\"disableLocalAccounts\"],\n httpProxyConfig: !item[\"httpProxyConfig\"]\n ? item[\"httpProxyConfig\"]\n : managedClusterHttpProxyConfigSerializer(item[\"httpProxyConfig\"]),\n securityProfile: !item[\"securityProfile\"]\n ? item[\"securityProfile\"]\n : managedClusterSecurityProfileSerializer(item[\"securityProfile\"]),\n storageProfile: !item[\"storageProfile\"]\n ? item[\"storageProfile\"]\n : managedClusterStorageProfileSerializer(item[\"storageProfile\"]),\n ingressProfile: !item[\"ingressProfile\"]\n ? item[\"ingressProfile\"]\n : managedClusterIngressProfileSerializer(item[\"ingressProfile\"]),\n publicNetworkAccess: item[\"publicNetworkAccess\"],\n workloadAutoScalerProfile: !item[\"workloadAutoScalerProfile\"]\n ? item[\"workloadAutoScalerProfile\"]\n : managedClusterWorkloadAutoScalerProfileSerializer(item[\"workloadAutoScalerProfile\"]),\n azureMonitorProfile: !item[\"azureMonitorProfile\"]\n ? item[\"azureMonitorProfile\"]\n : managedClusterAzureMonitorProfileSerializer(item[\"azureMonitorProfile\"]),\n serviceMeshProfile: !item[\"serviceMeshProfile\"]\n ? item[\"serviceMeshProfile\"]\n : serviceMeshProfileSerializer(item[\"serviceMeshProfile\"]),\n metricsProfile: !item[\"metricsProfile\"]\n ? item[\"metricsProfile\"]\n : managedClusterMetricsProfileSerializer(item[\"metricsProfile\"]),\n nodeProvisioningProfile: !item[\"nodeProvisioningProfile\"]\n ? item[\"nodeProvisioningProfile\"]\n : managedClusterNodeProvisioningProfileSerializer(item[\"nodeProvisioningProfile\"]),\n bootstrapProfile: !item[\"bootstrapProfile\"]\n ? item[\"bootstrapProfile\"]\n : managedClusterBootstrapProfileSerializer(item[\"bootstrapProfile\"]),\n aiToolchainOperatorProfile: !item[\"aiToolchainOperatorProfile\"]\n ? item[\"aiToolchainOperatorProfile\"]\n : managedClusterAIToolchainOperatorProfileSerializer(item[\"aiToolchainOperatorProfile\"]),\n hostedSystemProfile: !item[\"hostedSystemProfile\"]\n ? item[\"hostedSystemProfile\"]\n : managedClusterHostedSystemProfileSerializer(item[\"hostedSystemProfile\"]),\n status: !item[\"status\"] ? item[\"status\"] : managedClusterStatusSerializer(item[\"status\"]),\n };\n}\n\nexport function managedClusterPropertiesDeserializer(item: any): ManagedClusterProperties {\n return {\n provisioningState: item[\"provisioningState\"],\n powerState: !item[\"powerState\"]\n ? item[\"powerState\"]\n : powerStateDeserializer(item[\"powerState\"]),\n maxAgentPools: item[\"maxAgentPools\"],\n kubernetesVersion: item[\"kubernetesVersion\"],\n currentKubernetesVersion: item[\"currentKubernetesVersion\"],\n dnsPrefix: item[\"dnsPrefix\"],\n fqdnSubdomain: item[\"fqdnSubdomain\"],\n fqdn: item[\"fqdn\"],\n privateFqdn: item[\"privateFQDN\"],\n azurePortalFqdn: item[\"azurePortalFQDN\"],\n agentPoolProfiles: !item[\"agentPoolProfiles\"]\n ? item[\"agentPoolProfiles\"]\n : managedClusterAgentPoolProfileArrayDeserializer(item[\"agentPoolProfiles\"]),\n linuxProfile: !item[\"linuxProfile\"]\n ? item[\"linuxProfile\"]\n : containerServiceLinuxProfileDeserializer(item[\"linuxProfile\"]),\n windowsProfile: !item[\"windowsProfile\"]\n ? item[\"windowsProfile\"]\n : managedClusterWindowsProfileDeserializer(item[\"windowsProfile\"]),\n servicePrincipalProfile: !item[\"servicePrincipalProfile\"]\n ? item[\"servicePrincipalProfile\"]\n : managedClusterServicePrincipalProfileDeserializer(item[\"servicePrincipalProfile\"]),\n addonProfiles: !item[\"addonProfiles\"]\n ? item[\"addonProfiles\"]\n : managedClusterAddonProfileRecordDeserializer(item[\"addonProfiles\"]),\n podIdentityProfile: !item[\"podIdentityProfile\"]\n ? item[\"podIdentityProfile\"]\n : managedClusterPodIdentityProfileDeserializer(item[\"podIdentityProfile\"]),\n oidcIssuerProfile: !item[\"oidcIssuerProfile\"]\n ? item[\"oidcIssuerProfile\"]\n : managedClusterOidcIssuerProfileDeserializer(item[\"oidcIssuerProfile\"]),\n nodeResourceGroup: item[\"nodeResourceGroup\"],\n nodeResourceGroupProfile: !item[\"nodeResourceGroupProfile\"]\n ? item[\"nodeResourceGroupProfile\"]\n : managedClusterNodeResourceGroupProfileDeserializer(item[\"nodeResourceGroupProfile\"]),\n enableRbac: item[\"enableRBAC\"],\n supportPlan: item[\"supportPlan\"],\n networkProfile: !item[\"networkProfile\"]\n ? item[\"networkProfile\"]\n : containerServiceNetworkProfileDeserializer(item[\"networkProfile\"]),\n aadProfile: !item[\"aadProfile\"]\n ? item[\"aadProfile\"]\n : managedClusterAADProfileDeserializer(item[\"aadProfile\"]),\n autoUpgradeProfile: !item[\"autoUpgradeProfile\"]\n ? item[\"autoUpgradeProfile\"]\n : managedClusterAutoUpgradeProfileDeserializer(item[\"autoUpgradeProfile\"]),\n upgradeSettings: !item[\"upgradeSettings\"]\n ? item[\"upgradeSettings\"]\n : clusterUpgradeSettingsDeserializer(item[\"upgradeSettings\"]),\n autoScalerProfile: !item[\"autoScalerProfile\"]\n ? item[\"autoScalerProfile\"]\n : managedClusterPropertiesAutoScalerProfileDeserializer(item[\"autoScalerProfile\"]),\n apiServerAccessProfile: !item[\"apiServerAccessProfile\"]\n ? item[\"apiServerAccessProfile\"]\n : managedClusterAPIServerAccessProfileDeserializer(item[\"apiServerAccessProfile\"]),\n diskEncryptionSetID: item[\"diskEncryptionSetID\"],\n identityProfile: !item[\"identityProfile\"]\n ? item[\"identityProfile\"]\n : userAssignedIdentityRecordDeserializer(item[\"identityProfile\"]),\n privateLinkResources: !item[\"privateLinkResources\"]\n ? item[\"privateLinkResources\"]\n : privateLinkResourceArrayDeserializer(item[\"privateLinkResources\"]),\n disableLocalAccounts: item[\"disableLocalAccounts\"],\n httpProxyConfig: !item[\"httpProxyConfig\"]\n ? item[\"httpProxyConfig\"]\n : managedClusterHttpProxyConfigDeserializer(item[\"httpProxyConfig\"]),\n securityProfile: !item[\"securityProfile\"]\n ? item[\"securityProfile\"]\n : managedClusterSecurityProfileDeserializer(item[\"securityProfile\"]),\n storageProfile: !item[\"storageProfile\"]\n ? item[\"storageProfile\"]\n : managedClusterStorageProfileDeserializer(item[\"storageProfile\"]),\n ingressProfile: !item[\"ingressProfile\"]\n ? item[\"ingressProfile\"]\n : managedClusterIngressProfileDeserializer(item[\"ingressProfile\"]),\n publicNetworkAccess: item[\"publicNetworkAccess\"],\n workloadAutoScalerProfile: !item[\"workloadAutoScalerProfile\"]\n ? item[\"workloadAutoScalerProfile\"]\n : managedClusterWorkloadAutoScalerProfileDeserializer(item[\"workloadAutoScalerProfile\"]),\n azureMonitorProfile: !item[\"azureMonitorProfile\"]\n ? item[\"azureMonitorProfile\"]\n : managedClusterAzureMonitorProfileDeserializer(item[\"azureMonitorProfile\"]),\n serviceMeshProfile: !item[\"serviceMeshProfile\"]\n ? item[\"serviceMeshProfile\"]\n : serviceMeshProfileDeserializer(item[\"serviceMeshProfile\"]),\n resourceUID: item[\"resourceUID\"],\n metricsProfile: !item[\"metricsProfile\"]\n ? item[\"metricsProfile\"]\n : managedClusterMetricsProfileDeserializer(item[\"metricsProfile\"]),\n nodeProvisioningProfile: !item[\"nodeProvisioningProfile\"]\n ? item[\"nodeProvisioningProfile\"]\n : managedClusterNodeProvisioningProfileDeserializer(item[\"nodeProvisioningProfile\"]),\n bootstrapProfile: !item[\"bootstrapProfile\"]\n ? item[\"bootstrapProfile\"]\n : managedClusterBootstrapProfileDeserializer(item[\"bootstrapProfile\"]),\n aiToolchainOperatorProfile: !item[\"aiToolchainOperatorProfile\"]\n ? item[\"aiToolchainOperatorProfile\"]\n : managedClusterAIToolchainOperatorProfileDeserializer(item[\"aiToolchainOperatorProfile\"]),\n hostedSystemProfile: !item[\"hostedSystemProfile\"]\n ? item[\"hostedSystemProfile\"]\n : managedClusterHostedSystemProfileDeserializer(item[\"hostedSystemProfile\"]),\n status: !item[\"status\"] ? item[\"status\"] : managedClusterStatusDeserializer(item[\"status\"]),\n };\n}\n\nexport function managedClusterAgentPoolProfileArraySerializer(\n result: Array<ManagedClusterAgentPoolProfile>,\n): any[] {\n return result.map((item) => {\n return managedClusterAgentPoolProfileSerializer(item);\n });\n}\n\nexport function managedClusterAgentPoolProfileArrayDeserializer(\n result: Array<ManagedClusterAgentPoolProfile>,\n): any[] {\n return result.map((item) => {\n return managedClusterAgentPoolProfileDeserializer(item);\n });\n}\n\n/** Profile for the container service agent pool. */\nexport interface ManagedClusterAgentPoolProfile extends ManagedClusterAgentPoolProfileProperties {\n /** Unique name of the agent pool profile in the context of the subscription and resource group. Windows agent pool names must be 6 characters or less. */\n name: string;\n}\n\nexport function managedClusterAgentPoolProfileSerializer(\n item: ManagedClusterAgentPoolProfile,\n): any {\n return {\n count: item[\"count\"],\n vmSize: item[\"vmSize\"],\n osDiskSizeGB: item[\"osDiskSizeGB\"],\n osDiskType: item[\"osDiskType\"],\n kubeletDiskType: item[\"kubeletDiskType\"],\n workloadRuntime: item[\"workloadRuntime\"],\n messageOfTheDay: item[\"messageOfTheDay\"],\n vnetSubnetID: item[\"vnetSubnetID\"],\n podSubnetID: item[\"podSubnetID\"],\n podIPAllocationMode: item[\"podIPAllocationMode\"],\n maxPods: item[\"maxPods\"],\n osType: item[\"osType\"],\n osSKU: item[\"osSKU\"],\n maxCount: item[\"maxCount\"],\n minCount: item[\"minCount\"],\n enableAutoScaling: item[\"enableAutoScaling\"],\n scaleDownMode: item[\"scaleDownMode\"],\n type: item[\"type\"],\n mode: item[\"mode\"],\n orchestratorVersion: item[\"orchestratorVersion\"],\n upgradeSettings: !item[\"upgradeSettings\"]\n ? item[\"upgradeSettings\"]\n : agentPoolUpgradeSettingsSerializer(item[\"upgradeSettings\"]),\n powerState: !item[\"powerState\"] ? item[\"powerState\"] : powerStateSerializer(item[\"powerState\"]),\n availabilityZones: !item[\"availabilityZones\"]\n ? item[\"availabilityZones\"]\n : item[\"availabilityZones\"].map((p: any) => {\n return p;\n }),\n enableNodePublicIP: item[\"enableNodePublicIP\"],\n nodePublicIPPrefixID: item[\"nodePublicIPPrefixID\"],\n scaleSetPriority: item[\"scaleSetPriority\"],\n scaleSetEvictionPolicy: item[\"scaleSetEvictionPolicy\"],\n spotMaxPrice: item[\"spotMaxPrice\"],\n tags: item[\"tags\"],\n nodeLabels: item[\"nodeLabels\"],\n nodeTaints: !item[\"nodeTaints\"]\n ? item[\"nodeTaints\"]\n : item[\"nodeTaints\"].map((p: any) => {\n return p;\n }),\n proximityPlacementGroupID: item[\"proximityPlacementGroupID\"],\n kubeletConfig: !item[\"kubeletConfig\"]\n ? item[\"kubeletConfig\"]\n : kubeletConfigSerializer(item[\"kubeletConfig\"]),\n linuxOSConfig: !item[\"linuxOSConfig\"]\n ? item[\"linuxOSConfig\"]\n : linuxOSConfigSerializer(item[\"linuxOSConfig\"]),\n enableEncryptionAtHost: item[\"enableEncryptionAtHost\"],\n enableUltraSSD: item[\"enableUltraSSD\"],\n enableFIPS: item[\"enableFips\"],\n gpuInstanceProfile: item[\"gpuInstanceProfile\"],\n creationData: !item[\"creationData\"]\n ? item[\"creationData\"]\n : creationDataSerializer(item[\"creationData\"]),\n capacityReservationGroupID: item[\"capacityReservationGroupID\"],\n hostGroupID: item[\"hostGroupID\"],\n networkProfile: !item[\"networkProfile\"]\n ? item[\"networkProfile\"]\n : agentPoolNetworkProfileSerializer(item[\"networkProfile\"]),\n windowsProfile: !item[\"windowsProfile\"]\n ? item[\"windowsProfile\"]\n : agentPoolWindowsProfileSerializer(item[\"windowsProfile\"]),\n securityProfile: !item[\"securityProfile\"]\n ? item[\"securityProfile\"]\n : agentPoolSecurityProfileSerializer(item[\"securityProfile\"]),\n gpuProfile: !item[\"gpuProfile\"] ? item[\"gpuProfile\"] : gpuProfileSerializer(item[\"gpuProfile\"]),\n gatewayProfile: !item[\"gatewayProfile\"]\n ? item[\"gatewayProfile\"]\n : agentPoolGatewayProfileSerializer(item[\"gatewayProfile\"]),\n virtualMachinesProfile: !item[\"virtualMachinesProfile\"]\n ? item[\"virtualMachinesProfile\"]\n : virtualMachinesProfileSerializer(item[\"virtualMachinesProfile\"]),\n virtualMachineNodesStatus: !item[\"virtualMachineNodesStatus\"]\n ? item[\"virtualMachineNodesStatus\"]\n : virtualMachineNodesArraySerializer(item[\"virtualMachineNodesStatus\"]),\n status: !item[\"status\"] ? item[\"status\"] : agentPoolStatusSerializer(item[\"status\"]),\n localDNSProfile: !item[\"localDNSProfile\"]\n ? item[\"localDNSProfile\"]\n : localDNSProfileSerializer(item[\"localDNSProfile\"]),\n name: item[\"name\"],\n };\n}\n\nexport function managedClusterAgentPoolProfileDeserializer(\n item: any,\n): ManagedClusterAgentPoolProfile {\n return {\n eTag: item[\"eTag\"],\n count: item[\"count\"],\n vmSize: item[\"vmSize\"],\n osDiskSizeGB: item[\"osDiskSizeGB\"],\n osDiskType: item[\"osDiskType\"],\n kubeletDiskType: item[\"kubeletDiskType\"],\n workloadRuntime: item[\"workloadRuntime\"],\n messageOfTheDay: item[\"messageOfTheDay\"],\n vnetSubnetID: item[\"vnetSubnetID\"],\n podSubnetID: item[\"podSubnetID\"],\n podIPAllocationMode: item[\"podIPAllocationMode\"],\n maxPods: item[\"maxPods\"],\n osType: item[\"osType\"],\n osSKU: item[\"osSKU\"],\n maxCount: item[\"maxCount\"],\n minCount: item[\"minCount\"],\n enableAutoScaling: item[\"enableAutoScaling\"],\n scaleDownMode: item[\"scaleDownMode\"],\n type: item[\"type\"],\n mode: item[\"mode\"],\n orchestratorVersion: item[\"orchestratorVersion\"],\n currentOrchestratorVersion: item[\"currentOrchestratorVersion\"],\n nodeImageVersion: item[\"nodeImageVersion\"],\n upgradeSettings: !item[\"upgradeSettings\"]\n ? item[\"upgradeSettings\"]\n : agentPoolUpgradeSettingsDeserializer(item[\"upgradeSettings\"]),\n provisioningState: item[\"provisioningState\"],\n powerState: !item[\"powerState\"]\n ? item[\"powerState\"]\n : powerStateDeserializer(item[\"powerState\"]),\n availabilityZones: !item[\"availabilityZones\"]\n ? item[\"availabilityZones\"]\n : item[\"availabilityZones\"].map((p: any) => {\n return p;\n }),\n enableNodePublicIP: item[\"enableNodePublicIP\"],\n nodePublicIPPrefixID: item[\"nodePublicIPPrefixID\"],\n scaleSetPriority: item[\"scaleSetPriority\"],\n scaleSetEvictionPolicy: item[\"scaleSetEvictionPolicy\"],\n spotMaxPrice: item[\"spotMaxPrice\"],\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n nodeLabels: !item[\"nodeLabels\"]\n ? item[\"nodeLabels\"]\n : Object.fromEntries(\n Object.entries(item[\"nodeLabels\"]).map(([k, p]: [string, any]) => [k, p]),\n ),\n nodeTaints: !item[\"nodeTaints\"]\n ? item[\"nodeTaints\"]\n : item[\"nodeTaints\"].map((p: any) => {\n return p;\n }),\n proximityPlacementGroupID: item[\"proximityPlacementGroupID\"],\n kubeletConfig: !item[\"kubeletConfig\"]\n ? item[\"kubeletConfig\"]\n : kubeletConfigDeserializer(item[\"kubeletConfig\"]),\n linuxOSConfig: !item[\"linuxOSConfig\"]\n ? item[\"linuxOSConfig\"]\n : linuxOSConfigDeserializer(item[\"linuxOSConfig\"]),\n enableEncryptionAtHost: item[\"enableEncryptionAtHost\"],\n enableUltraSSD: item[\"enableUltraSSD\"],\n enableFips: item[\"enableFIPS\"],\n gpuInstanceProfile: item[\"gpuInstanceProfile\"],\n creationData: !item[\"creationData\"]\n ? item[\"creationData\"]\n : creationDataDeserializer(item[\"creationData\"]),\n capacityReservationGroupID: item[\"capacityReservationGroupID\"],\n hostGroupID: item[\"hostGroupID\"],\n networkProfile: !item[\"networkProfile\"]\n ? item[\"networkProfile\"]\n : agentPoolNetworkProfileDeserializer(item[\"networkProfile\"]),\n windowsProfile: !item[\"windowsProfile\"]\n ? item[\"windowsProfile\"]\n : agentPoolWindowsProfileDeserializer(item[\"windowsProfile\"]),\n securityProfile: !item[\"securityProfile\"]\n ? item[\"securityProfile\"]\n : agentPoolSecurityProfileDeserializer(item[\"securityProfile\"]),\n gpuProfile: !item[\"gpuProfile\"]\n ? item[\"gpuProfile\"]\n : gpuProfileDeserializer(item[\"gpuProfile\"]),\n gatewayProfile: !item[\"gatewayProfile\"]\n ? item[\"gatewayProfile\"]\n : agentPoolGatewayProfileDeserializer(item[\"gatewayProfile\"]),\n virtualMachinesProfile: !item[\"virtualMachinesProfile\"]\n ? item[\"virtualMachinesProfile\"]\n : virtualMachinesProfileDeserializer(item[\"virtualMachinesProfile\"]),\n virtualMachineNodesStatus: !item[\"virtualMachineNodesStatus\"]\n ? item[\"virtualMachineNodesStatus\"]\n : virtualMachineNodesArrayDeserializer(item[\"virtualMachineNodesStatus\"]),\n status: !item[\"status\"] ? item[\"status\"] : agentPoolStatusDeserializer(item[\"status\"]),\n localDNSProfile: !item[\"localDNSProfile\"]\n ? item[\"localDNSProfile\"]\n : localDNSProfileDeserializer(item[\"localDNSProfile\"]),\n name: item[\"name\"],\n };\n}\n\n/** Profile for Linux VMs in the container service cluster. */\nexport interface ContainerServiceLinuxProfile {\n /** The administrator username to use for Linux VMs. */\n adminUsername: string;\n /** The SSH configuration for Linux-based VMs running on Azure. */\n ssh: ContainerServiceSshConfiguration;\n}\n\nexport function containerServiceLinuxProfileSerializer(item: ContainerServiceLinuxProfile): any {\n return {\n adminUsername: item[\"adminUsername\"],\n ssh: containerServiceSshConfigurationSerializer(item[\"ssh\"]),\n };\n}\n\nexport function containerServiceLinuxProfileDeserializer(item: any): ContainerServiceLinuxProfile {\n return {\n adminUsername: item[\"adminUsername\"],\n ssh: containerServiceSshConfigurationDeserializer(item[\"ssh\"]),\n };\n}\n\n/** SSH configuration for Linux-based VMs running on Azure. */\nexport interface ContainerServiceSshConfiguration {\n /** The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified. */\n publicKeys: ContainerServiceSshPublicKey[];\n}\n\nexport function containerServiceSshConfigurationSerializer(\n item: ContainerServiceSshConfiguration,\n): any {\n return { publicKeys: containerServiceSshPublicKeyArraySerializer(item[\"publicKeys\"]) };\n}\n\nexport function containerServiceSshConfigurationDeserializer(\n item: any,\n): ContainerServiceSshConfiguration {\n return {\n publicKeys: containerServiceSshPublicKeyArrayDeserializer(item[\"publicKeys\"]),\n };\n}\n\nexport function containerServiceSshPublicKeyArraySerializer(\n result: Array<ContainerServiceSshPublicKey>,\n): any[] {\n return result.map((item) => {\n return containerServiceSshPublicKeySerializer(item);\n });\n}\n\nexport function containerServiceSshPublicKeyArrayDeserializer(\n result: Array<ContainerServiceSshPublicKey>,\n): any[] {\n return result.map((item) => {\n return containerServiceSshPublicKeyDeserializer(item);\n });\n}\n\n/** Contains information about SSH certificate public key data. */\nexport interface ContainerServiceSshPublicKey {\n /** Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers. */\n keyData: string;\n}\n\nexport function containerServiceSshPublicKeySerializer(item: ContainerServiceSshPublicKey): any {\n return { keyData: item[\"keyData\"] };\n}\n\nexport function containerServiceSshPublicKeyDeserializer(item: any): ContainerServiceSshPublicKey {\n return {\n keyData: item[\"keyData\"],\n };\n}\n\n/** Profile for Windows VMs in the managed cluster. */\nexport interface ManagedClusterWindowsProfile {\n /** Specifies the name of the administrator account. <br><br> **Restriction:** Cannot end in \".\" <br><br> **Disallowed values:** \"administrator\", \"admin\", \"user\", \"user1\", \"test\", \"user2\", \"test1\", \"user3\", \"admin1\", \"1\", \"123\", \"a\", \"actuser\", \"adm\", \"admin2\", \"aspnet\", \"backup\", \"console\", \"david\", \"guest\", \"john\", \"owner\", \"root\", \"server\", \"sql\", \"support\", \"support_388945a0\", \"sys\", \"test2\", \"test3\", \"user4\", \"user5\". <br><br> **Minimum-length:** 1 character <br><br> **Max-length:** 20 characters */\n adminUsername: string;\n /** Specifies the password of the administrator account. <br><br> **Minimum-length:** 8 characters <br><br> **Max-length:** 123 characters <br><br> **Complexity requirements:** 3 out of 4 conditions below need to be fulfilled <br> Has lower characters <br>Has upper characters <br> Has a digit <br> Has a special character (Regex match [\\W_]) <br><br> **Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\" */\n adminPassword?: string;\n /** The license type to use for Windows VMs. See [Azure Hybrid User Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. */\n licenseType?: LicenseType;\n /** Whether to enable CSI proxy. For more details on CSI proxy, see the [CSI proxy GitHub repo](https://github.com/kubernetes-csi/csi-proxy). */\n enableCSIProxy?: boolean;\n /** The Windows gMSA Profile in the Managed Cluster. */\n gmsaProfile?: WindowsGmsaProfile;\n}\n\nexport function managedClusterWindowsProfileSerializer(item: ManagedClusterWindowsProfile): any {\n return {\n adminUsername: item[\"adminUsername\"],\n adminPassword: item[\"adminPassword\"],\n licenseType: item[\"licenseType\"],\n enableCSIProxy: item[\"enableCSIProxy\"],\n gmsaProfile: !item[\"gmsaProfile\"]\n ? item[\"gmsaProfile\"]\n : windowsGmsaProfileSerializer(item[\"gmsaProfile\"]),\n };\n}\n\nexport function managedClusterWindowsProfileDeserializer(item: any): ManagedClusterWindowsProfile {\n return {\n adminUsername: item[\"adminUsername\"],\n adminPassword: item[\"adminPassword\"],\n licenseType: item[\"licenseType\"],\n enableCSIProxy: item[\"enableCSIProxy\"],\n gmsaProfile: !item[\"gmsaProfile\"]\n ? item[\"gmsaProfile\"]\n : windowsGmsaProfileDeserializer(item[\"gmsaProfile\"]),\n };\n}\n\n/** The license type to use for Windows VMs. See [Azure Hybrid User Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. */\nexport enum KnownLicenseType {\n /** No additional licensing is applied. */\n None = \"None\",\n /** Enables Azure Hybrid User Benefits for Windows VMs. */\n WindowsServer = \"Windows_Server\",\n}\n\n/**\n * The license type to use for Windows VMs. See [Azure Hybrid User Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. \\\n * {@link KnownLicenseType} can be used interchangeably with LicenseType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **None**: No additional licensing is applied. \\\n * **Windows_Server**: Enables Azure Hybrid User Benefits for Windows VMs.\n */\nexport type LicenseType = string;\n\n/** Windows gMSA Profile in the managed cluster. */\nexport interface WindowsGmsaProfile {\n /** Whether to enable Windows gMSA. Specifies whether to enable Windows gMSA in the managed cluster. */\n enabled?: boolean;\n /** Specifies the DNS server for Windows gMSA. <br><br> Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. */\n dnsServer?: string;\n /** Specifies the root domain name for Windows gMSA. <br><br> Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. */\n rootDomainName?: string;\n}\n\nexport function windowsGmsaProfileSerializer(item: WindowsGmsaProfile): any {\n return {\n enabled: item[\"enabled\"],\n dnsServer: item[\"dnsServer\"],\n rootDomainName: item[\"rootDomainName\"],\n };\n}\n\nexport function windowsGmsaProfileDeserializer(item: any): WindowsGmsaProfile {\n return {\n enabled: item[\"enabled\"],\n dnsServer: item[\"dnsServer\"],\n rootDomainName: item[\"rootDomainName\"],\n };\n}\n\n/** Information about a service principal identity for the cluster to use for manipulating Azure APIs. */\nexport interface ManagedClusterServicePrincipalProfile {\n /** The ID for the service principal. */\n clientId: string;\n /** The secret password associated with the service principal in plain text. */\n secret?: string;\n}\n\nexport function managedClusterServicePrincipalProfileSerializer(\n item: ManagedClusterServicePrincipalProfile,\n): any {\n return { clientId: item[\"clientId\"], secret: item[\"secret\"] };\n}\n\nexport function managedClusterServicePrincipalProfileDeserializer(\n item: any,\n): ManagedClusterServicePrincipalProfile {\n return {\n clientId: item[\"clientId\"],\n secret: item[\"secret\"],\n };\n}\n\nexport function managedClusterAddonProfileRecordSerializer(\n item: Record<string, ManagedClusterAddonProfile>,\n): Record<string, any> {\n const result: Record<string, any> = {};\n Object.keys(item).map((key) => {\n result[key] = !item[key] ? item[key] : managedClusterAddonProfileSerializer(item[key]);\n });\n return result;\n}\n\nexport function managedClusterAddonProfileRecordDeserializer(\n item: Record<string, any>,\n): Record<string, ManagedClusterAddonProfile> {\n const result: Record<string, any> = {};\n Object.keys(item).map((key) => {\n result[key] = !item[key] ? item[key] : managedClusterAddonProfileDeserializer(item[key]);\n });\n return result;\n}\n\n/** A Kubernetes add-on profile for a managed cluster. */\nexport interface ManagedClusterAddonProfile {\n /** Whether the add-on is enabled or not. */\n enabled: boolean;\n /** Key-value pairs for configuring an add-on. */\n config?: Record<string, string>;\n /** Information of user assigned identity used by this add-on. */\n readonly identity?: ManagedClusterAddonProfileIdentity;\n}\n\nexport function managedClusterAddonProfileSerializer(item: ManagedClusterAddonProfile): any {\n return { enabled: item[\"enabled\"], config: item[\"config\"] };\n}\n\nexport function managedClusterAddonProfileDeserializer(item: any): ManagedClusterAddonProfile {\n return {\n enabled: item[\"enabled\"],\n config: !item[\"config\"]\n ? item[\"config\"]\n : Object.fromEntries(Object.entries(item[\"config\"]).map(([k, p]: [string, any]) => [k, p])),\n identity: !item[\"identity\"]\n ? item[\"identity\"]\n : managedClusterAddonProfileIdentityDeserializer(item[\"identity\"]),\n };\n}\n\n/** Information of user assigned identity used by this add-on. */\nexport interface ManagedClusterAddonProfileIdentity extends UserAssignedIdentity {}\n\nexport function managedClusterAddonProfileIdentityDeserializer(\n item: any,\n): ManagedClusterAddonProfileIdentity {\n return {\n resourceId: item[\"resourceId\"],\n clientId: item[\"clientId\"],\n objectId: item[\"objectId\"],\n };\n}\n\n/** The pod identity profile of the Managed Cluster. See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod identity integration. */\nexport interface ManagedClusterPodIdentityProfile {\n /** Whether the pod identity addon is enabled. */\n enabled?: boolean;\n /** Whether pod identity is allowed to run on clusters with Kubenet networking. Running in Kubenet is disabled by default due to the security related nature of AAD Pod Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) for more information. */\n allowNetworkPluginKubenet?: boolean;\n /** The pod identities to use in the cluster. */\n userAssignedIdentities?: ManagedClusterPodIdentity[];\n /** The pod identity exceptions to allow. */\n userAssignedIdentityExceptions?: ManagedClusterPodIdentityException[];\n}\n\nexport function managedClusterPodIdentityProfileSerializer(\n item: ManagedClusterPodIdentityProfile,\n): any {\n return {\n enabled: item[\"enabled\"],\n allowNetworkPluginKubenet: item[\"allowNetworkPluginKubenet\"],\n userAssignedIdentities: !item[\"userAssignedIdentities\"]\n ? item[\"userAssignedIdentities\"]\n : managedClusterPodIdentityArraySerializer(item[\"userAssignedIdentities\"]),\n userAssignedIdentityExceptions: !item[\"userAssignedIdentityExceptions\"]\n ? item[\"userAssignedIdentityExceptions\"]\n : managedClusterPodIdentityExceptionArraySerializer(item[\"userAssignedIdentityExceptions\"]),\n };\n}\n\nexport function managedClusterPodIdentityProfileDeserializer(\n item: any,\n): ManagedClusterPodIdentityProfile {\n return {\n enabled: item[\"enabled\"],\n allowNetworkPluginKubenet: item[\"allowNetworkPluginKubenet\"],\n userAssignedIdentities: !item[\"userAssignedIdentities\"]\n ? item[\"userAssignedIdentities\"]\n : managedClusterPodIdentityArrayDeserializer(item[\"userAssignedIdentities\"]),\n userAssignedIdentityExceptions: !item[\"userAssignedIdentityExceptions\"]\n ? item[\"userAssignedIdentityExceptions\"]\n : managedClusterPodIdentityExceptionArrayDeserializer(item[\"userAssignedIdentityExceptions\"]),\n };\n}\n\nexport function managedClusterPodIdentityArraySerializer(\n result: Array<ManagedClusterPodIdentity>,\n): any[] {\n return result.map((item) => {\n return managedClusterPodIdentitySerializer(item);\n });\n}\n\nexport function managedClusterPodIdentityArrayDeserializer(\n result: Array<ManagedClusterPodIdentity>,\n): any[] {\n return result.map((item) => {\n return managedClusterPodIdentityDeserializer(item);\n });\n}\n\n/** Details about the pod identity assigned to the Managed Cluster. */\nexport interface ManagedClusterPodIdentity {\n /** The name of the pod identity. */\n name: string;\n /** The namespace of the pod identity. */\n namespace: string;\n /** The binding selector to use for the AzureIdentityBinding resource. */\n bindingSelector?: string;\n /** The user assigned identity details. */\n identity: UserAssignedIdentity;\n /** The current provisioning state of the pod identity. */\n readonly provisioningState?: ManagedClusterPodIdentityProvisioningState;\n /** The provisioning information for the pod identity. */\n readonly provisioningInfo?: ManagedClusterPodIdentityProvisioningInfo;\n}\n\nexport function managedClusterPodIdentitySerializer(item: ManagedClusterPodIdentity): any {\n return {\n name: item[\"name\"],\n namespace: item[\"namespace\"],\n bindingSelector: item[\"bindingSelector\"],\n identity: userAssignedIdentitySerializer(item[\"identity\"]),\n };\n}\n\nexport function managedClusterPodIdentityDeserializer(item: any): ManagedClusterPodIdentity {\n return {\n name: item[\"name\"],\n namespace: item[\"namespace\"],\n bindingSelector: item[\"bindingSelector\"],\n identity: userAssignedIdentityDeserializer(item[\"identity\"]),\n provisioningState: item[\"provisioningState\"],\n provisioningInfo: !item[\"provisioningInfo\"]\n ? item[\"provisioningInfo\"]\n : managedClusterPodIdentityProvisioningInfoDeserializer(item[\"provisioningInfo\"]),\n };\n}\n\n/** Details about a user assigned identity. */\nexport interface UserAssignedIdentity {\n /** The resource ID of the user assigned identity. */\n resourceId?: string;\n /** The client ID of the user assigned identity. */\n clientId?: string;\n /** The object ID of the user assigned identity. */\n objectId?: string;\n}\n\nexport function userAssignedIdentitySerializer(item: UserAssignedIdentity): any {\n return { resourceId: item[\"resourceId\"], clientId: item[\"clientId\"], objectId: item[\"objectId\"] };\n}\n\nexport function userAssignedIdentityDeserializer(item: any): UserAssignedIdentity {\n return {\n resourceId: item[\"resourceId\"],\n clientId: item[\"clientId\"],\n objectId: item[\"objectId\"],\n };\n}\n\n/** The current provisioning state of the pod identity. */\nexport enum KnownManagedClusterPodIdentityProvisioningState {\n /** Pod identity is assigned. */\n Assigned = \"Assigned\",\n /** Pod identity assignment was canceled. */\n Canceled = \"Canceled\",\n /** Pod identity is being deleted. */\n Deleting = \"Deleting\",\n /** Pod identity assignment failed. */\n Failed = \"Failed\",\n /** Pod identity assignment succeeded. */\n Succeeded = \"Succeeded\",\n /** Pod identity is being updated. */\n Updating = \"Updating\",\n}\n\n/**\n * The current provisioning state of the pod identity. \\\n * {@link KnownManagedClusterPodIdentityProvisioningState} can be used interchangeably with ManagedClusterPodIdentityProvisioningState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Assigned**: Pod identity is assigned. \\\n * **Canceled**: Pod identity assignment was canceled. \\\n * **Deleting**: Pod identity is being deleted. \\\n * **Failed**: Pod identity assignment failed. \\\n * **Succeeded**: Pod identity assignment succeeded. \\\n * **Updating**: Pod identity is being updated.\n */\nexport type ManagedClusterPodIdentityProvisioningState = string;\n\n/** Pod identity provisioning information. */\nexport interface ManagedClusterPodIdentityProvisioningInfo {\n /** Pod identity assignment error (if any). */\n error?: ManagedClusterPodIdentityProvisioningError;\n}\n\nexport function managedClusterPodIdentityProvisioningInfoDeserializer(\n item: any,\n): ManagedClusterPodIdentityProvisioningInfo {\n return {\n error: !item[\"error\"]\n ? item[\"error\"]\n : managedClusterPodIdentityProvisioningErrorDeserializer(item[\"error\"]),\n };\n}\n\n/** An error response from the pod identity provisioning. */\nexport interface ManagedClusterPodIdentityProvisioningError {\n /** Details about the error. */\n error?: ManagedClusterPodIdentityProvisioningErrorBody;\n}\n\nexport function managedClusterPodIdentityProvisioningErrorDeserializer(\n item: any,\n): ManagedClusterPodIdentityProvisioningError {\n return {\n error: !item[\"error\"]\n ? item[\"error\"]\n : managedClusterPodIdentityProvisioningErrorBodyDeserializer(item[\"error\"]),\n };\n}\n\n/** An error response from the pod identity provisioning. */\nexport interface ManagedClusterPodIdentityProvisioningErrorBody {\n /** An identifier for the error. Codes are invariant and are intended to be consumed programmatically. */\n code?: string;\n /** A message describing the error, intended to be suitable for display in a user interface. */\n message?: string;\n /** The target of the particular error. For example, the name of the property in error. */\n target?: string;\n /** A list of additional details about the error. */\n details?: ManagedClusterPodIdentityProvisioningErrorBody[];\n}\n\nexport function managedClusterPodIdentityProvisioningErrorBodyDeserializer(\n item: any,\n): ManagedClusterPodIdentityProvisioningErrorBody {\n return {\n code: item[\"code\"],\n message: item[\"message\"],\n target: item[\"target\"],\n details: !item[\"details\"]\n ? item[\"details\"]\n : managedClusterPodIdentityProvisioningErrorBodyArrayDeserializer(item[\"details\"]),\n };\n}\n\nexport function managedClusterPodIdentityProvisioningErrorBodyArrayDeserializer(\n result: Array<ManagedClusterPodIdentityProvisioningErrorBody>,\n): any[] {\n return result.map((item) => {\n return managedClusterPodIdentityProvisioningErrorBodyDeserializer(item);\n });\n}\n\nexport function managedClusterPodIdentityExceptionArraySerializer(\n result: Array<ManagedClusterPodIdentityException>,\n): any[] {\n return result.map((item) => {\n return managedClusterPodIdentityExceptionSerializer(item);\n });\n}\n\nexport function managedClusterPodIdentityExceptionArrayDeserializer(\n result: Array<ManagedClusterPodIdentityException>,\n): any[] {\n return result.map((item) => {\n return managedClusterPodIdentityExceptionDeserializer(item);\n });\n}\n\n/** A pod identity exception, which allows pods with certain labels to access the Azure Instance Metadata Service (IMDS) endpoint without being intercepted by the node-managed identity (NMI) server. See [disable AAD Pod Identity for a specific Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. */\nexport interface ManagedClusterPodIdentityException {\n /** The name of the pod identity exception. */\n name: string;\n /** The namespace of the pod identity exception. */\n namespace: string;\n /** The pod labels to match. */\n podLabels: Record<string, string>;\n}\n\nexport function managedClusterPodIdentityExceptionSerializer(\n item: ManagedClusterPodIdentityException,\n): any {\n return { name: item[\"name\"], namespace: item[\"namespace\"], podLabels: item[\"podLabels\"] };\n}\n\nexport function managedClusterPodIdentityExceptionDeserializer(\n item: any,\n): ManagedClusterPodIdentityException {\n return {\n name: item[\"name\"],\n namespace: item[\"namespace\"],\n podLabels: Object.fromEntries(\n Object.entries(item[\"podLabels\"]).map(([k, p]: [string, any]) => [k, p]),\n ),\n };\n}\n\n/** The OIDC issuer profile of the Managed Cluster. */\nexport interface ManagedClusterOidcIssuerProfile {\n /** The OIDC issuer url of the Managed Cluster. */\n readonly issuerURL?: string;\n /** Whether the OIDC issuer is enabled. */\n enabled?: boolean;\n}\n\nexport function managedClusterOidcIssuerProfileSerializer(\n item: ManagedClusterOidcIssuerProfile,\n): any {\n return { enabled: item[\"enabled\"] };\n}\n\nexport function managedClusterOidcIssuerProfileDeserializer(\n item: any,\n): ManagedClusterOidcIssuerProfile {\n return {\n issuerURL: item[\"issuerURL\"],\n enabled: item[\"enabled\"],\n };\n}\n\n/** Node resource group lockdown profile for a managed cluster. */\nexport interface ManagedClusterNodeResourceGroupProfile {\n /** The restriction level applied to the cluster's node resource group. If not specified, the default is 'Unrestricted' */\n restrictionLevel?: RestrictionLevel;\n}\n\nexport function managedClusterNodeResourceGroupProfileSerializer(\n item: ManagedClusterNodeResourceGroupProfile,\n): any {\n return { restrictionLevel: item[\"restrictionLevel\"] };\n}\n\nexport function managedClusterNodeResourceGroupProfileDeserializer(\n item: any,\n): ManagedClusterNodeResourceGroupProfile {\n return {\n restrictionLevel: item[\"restrictionLevel\"],\n };\n}\n\n/** The restriction level applied to the cluster's node resource group. If not specified, the default is 'Unrestricted' */\nexport enum KnownRestrictionLevel {\n /** All RBAC permissions are allowed on the managed node resource group */\n Unrestricted = \"Unrestricted\",\n /** Only \\*\\/read RBAC permissions allowed on the managed node resource group */\n ReadOnly = \"ReadOnly\",\n}\n\n/**\n * The restriction level applied to the cluster's node resource group. If not specified, the default is 'Unrestricted' \\\n * {@link KnownRestrictionLevel} can be used interchangeably with RestrictionLevel,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Unrestricted**: All RBAC permissions are allowed on the managed node resource group \\\n * **ReadOnly**: Only \\*\\/read RBAC permissions allowed on the managed node resource group\n */\nexport type RestrictionLevel = string;\n\n/** Different support tiers for AKS managed clusters */\nexport enum KnownKubernetesSupportPlan {\n /** Support for the version is the same as for the open source Kubernetes offering. Official Kubernetes open source community support versions for 1 year after release. */\n KubernetesOfficial = \"KubernetesOfficial\",\n /** Support for the version extended past the KubernetesOfficial support of 1 year. AKS continues to patch CVEs for another 1 year, for a total of 2 years of support. */\n AKSLongTermSupport = \"AKSLongTermSupport\",\n}\n\n/**\n * Different support tiers for AKS managed clusters \\\n * {@link KnownKubernetesSupportPlan} can be used interchangeably with KubernetesSupportPlan,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **KubernetesOfficial**: Support for the version is the same as for the open source Kubernetes offering. Official Kubernetes open source community support versions for 1 year after release. \\\n * **AKSLongTermSupport**: Support for the version extended past the KubernetesOfficial support of 1 year. AKS continues to patch CVEs for another 1 year, for a total of 2 years of support.\n */\nexport type KubernetesSupportPlan = string;\n\n/** Profile of network configuration. */\nexport interface ContainerServiceNetworkProfile {\n /** Network plugin used for building the Kubernetes network. */\n networkPlugin?: NetworkPlugin;\n /** The mode the network plugin should use. */\n networkPluginMode?: NetworkPluginMode;\n /** Network policy used for building the Kubernetes network. */\n networkPolicy?: NetworkPolicy;\n /** The network mode Azure CNI is configured with. This cannot be specified if networkPlugin is anything other than 'azure'. */\n networkMode?: NetworkMode;\n /** Network dataplane used in the Kubernetes cluster. */\n networkDataplane?: NetworkDataplane;\n /** Advanced Networking profile for enabling observability and security feature suite on a cluster. For more information see aka.ms/aksadvancednetworking. */\n advancedNetworking?: AdvancedNetworking;\n /** A CIDR notation IP range from which to assign pod IPs when kubenet is used. */\n podCidr?: string;\n /** A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges. */\n serviceCidr?: string;\n /** An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr. */\n dnsServiceIP?: string;\n /** The outbound (egress) routing method. This can only be set at cluster creation time and cannot be changed later. For more information see [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). */\n outboundType?: OutboundType;\n /** The load balancer sku for the managed cluster. The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load balancer SKUs. */\n loadBalancerSku?: LoadBalancerSku;\n /** Profile of the cluster load balancer. */\n loadBalancerProfile?: ManagedClusterLoadBalancerProfile;\n /** Profile of the cluster NAT gateway. */\n natGatewayProfile?: ManagedClusterNATGatewayProfile;\n /** The profile for Static Egress Gateway addon. For more details about Static Egress Gateway, see https://aka.ms/aks/static-egress-gateway. */\n staticEgressGatewayProfile?: ManagedClusterStaticEgressGatewayProfile;\n /** The CIDR notation IP ranges from which to assign pod IPs. One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. */\n podCidrs?: string[];\n /** The CIDR notation IP ranges from which to assign service cluster IPs. One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. They must not overlap with any Subnet IP ranges. */\n serviceCidrs?: string[];\n /** The IP families used to specify IP versions available to the cluster. IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value is IPv4. For dual-stack, the expected values are IPv4 and IPv6. */\n ipFamilies?: IpFamily[];\n}\n\nexport function containerServiceNetworkProfileSerializer(\n item: ContainerServiceNetworkProfile,\n): any {\n return {\n networkPlugin: item[\"networkPlugin\"],\n networkPluginMode: item[\"networkPluginMode\"],\n networkPolicy: item[\"networkPolicy\"],\n networkMode: item[\"networkMode\"],\n networkDataplane: item[\"networkDataplane\"],\n advancedNetworking: !item[\"advancedNetworking\"]\n ? item[\"advancedNetworking\"]\n : advancedNetworkingSerializer(item[\"advancedNetworking\"]),\n podCidr: item[\"podCidr\"],\n serviceCidr: item[\"serviceCidr\"],\n dnsServiceIP: item[\"dnsServiceIP\"],\n outboundType: item[\"outboundType\"],\n loadBalancerSku: item[\"loadBalancerSku\"],\n loadBalancerProfile: !item[\"loadBalancerProfile\"]\n ? item[\"loadBalancerProfile\"]\n : managedClusterLoadBalancerProfileSerializer(item[\"loadBalancerProfile\"]),\n natGatewayProfile: !item[\"natGatewayProfile\"]\n ? item[\"natGatewayProfile\"]\n : managedClusterNATGatewayProfileSerializer(item[\"natGatewayProfile\"]),\n staticEgressGatewayProfile: !item[\"staticEgressGatewayProfile\"]\n ? item[\"staticEgressGatewayProfile\"]\n : managedClusterStaticEgressGatewayProfileSerializer(item[\"staticEgressGatewayProfile\"]),\n podCidrs: !item[\"podCidrs\"]\n ? item[\"podCidrs\"]\n : item[\"podCidrs\"].map((p: any) => {\n return p;\n }),\n serviceCidrs: !item[\"serviceCidrs\"]\n ? item[\"serviceCidrs\"]\n : item[\"serviceCidrs\"].map((p: any) => {\n return p;\n }),\n ipFamilies: !item[\"ipFamilies\"]\n ? item[\"ipFamilies\"]\n : item[\"ipFamilies\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function containerServiceNetworkProfileDeserializer(\n item: any,\n): ContainerServiceNetworkProfile {\n return {\n networkPlugin: item[\"networkPlugin\"],\n networkPluginMode: item[\"networkPluginMode\"],\n networkPolicy: item[\"networkPolicy\"],\n networkMode: item[\"networkMode\"],\n networkDataplane: item[\"networkDataplane\"],\n advancedNetworking: !item[\"advancedNetworking\"]\n ? item[\"advancedNetworking\"]\n : advancedNetworkingDeserializer(item[\"advancedNetworking\"]),\n podCidr: item[\"podCidr\"],\n serviceCidr: item[\"serviceCidr\"],\n dnsServiceIP: item[\"dnsServiceIP\"],\n outboundType: item[\"outboundType\"],\n loadBalancerSku: item[\"loadBalancerSku\"],\n loadBalancerProfile: !item[\"loadBalancerProfile\"]\n ? item[\"loadBalancerProfile\"]\n : managedClusterLoadBalancerProfileDeserializer(item[\"loadBalancerProfile\"]),\n natGatewayProfile: !item[\"natGatewayProfile\"]\n ? item[\"natGatewayProfile\"]\n : managedClusterNATGatewayProfileDeserializer(item[\"natGatewayProfile\"]),\n staticEgressGatewayProfile: !item[\"staticEgressGatewayProfile\"]\n ? item[\"staticEgressGatewayProfile\"]\n : managedClusterStaticEgressGatewayProfileDeserializer(item[\"staticEgressGatewayProfile\"]),\n podCidrs: !item[\"podCidrs\"]\n ? item[\"podCidrs\"]\n : item[\"podCidrs\"].map((p: any) => {\n return p;\n }),\n serviceCidrs: !item[\"serviceCidrs\"]\n ? item[\"serviceCidrs\"]\n : item[\"serviceCidrs\"].map((p: any) => {\n return p;\n }),\n ipFamilies: !item[\"ipFamilies\"]\n ? item[\"ipFamilies\"]\n : item[\"ipFamilies\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Network plugin used for building the Kubernetes network. */\nexport enum KnownNetworkPlugin {\n /** Use the Azure CNI network plugin. See [Azure CNI (advanced) networking](https://docs.microsoft.com/azure/aks/concepts-network#azure-cni-advanced-networking) for more information. */\n Azure = \"azure\",\n /** Use the Kubenet network plugin. See [Kubenet (basic) networking](https://docs.microsoft.com/azure/aks/concepts-network#kubenet-basic-networking) for more information. */\n Kubenet = \"kubenet\",\n /** No CNI plugin is pre-installed. See [BYO CNI](https://docs.microsoft.com/en-us/azure/aks/use-byo-cni) for more information. */\n None = \"none\",\n}\n\n/**\n * Network plugin used for building the Kubernetes network. \\\n * {@link KnownNetworkPlugin} can be used interchangeably with NetworkPlugin,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **azure**: Use the Azure CNI network plugin. See [Azure CNI (advanced) networking](https:\\//docs.microsoft.com\\/azure\\/aks\\/concepts-network#azure-cni-advanced-networking) for more information. \\\n * **kubenet**: Use the Kubenet network plugin. See [Kubenet (basic) networking](https:\\//docs.microsoft.com\\/azure\\/aks\\/concepts-network#kubenet-basic-networking) for more information. \\\n * **none**: No CNI plugin is pre-installed. See [BYO CNI](https:\\//docs.microsoft.com\\/en-us\\/azure\\/aks\\/use-byo-cni) for more information.\n */\nexport type NetworkPlugin = string;\n\n/** The mode the network plugin should use. */\nexport enum KnownNetworkPluginMode {\n /** Used with networkPlugin=azure, pods are given IPs from the PodCIDR address space but use Azure Routing Domains rather than Kubenet's method of route tables. For more information visit https://aka.ms/aks/azure-cni-overlay. */\n Overlay = \"overlay\",\n}\n\n/**\n * The mode the network plugin should use. \\\n * {@link KnownNetworkPluginMode} can be used interchangeably with NetworkPluginMode,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **overlay**: Used with networkPlugin=azure, pods are given IPs from the PodCIDR address space but use Azure Routing Domains rather than Kubenet's method of route tables. For more information visit https:\\//aka.ms\\/aks\\/azure-cni-overlay.\n */\nexport type NetworkPluginMode = string;\n\n/** Network policy used for building the Kubernetes network. */\nexport enum KnownNetworkPolicy {\n /** Network policies will not be enforced. This is the default value when NetworkPolicy is not specified. */\n None = \"none\",\n /** Use Calico network policies. See [differences between Azure and Calico policies](https://docs.microsoft.com/azure/aks/use-network-policies#differences-between-azure-and-calico-policies-and-their-capabilities) for more information. */\n Calico = \"calico\",\n /** Use Azure network policies. See [differences between Azure and Calico policies](https://docs.microsoft.com/azure/aks/use-network-policies#differences-between-azure-and-calico-policies-and-their-capabilities) for more information. */\n Azure = \"azure\",\n /** Use Cilium to enforce network policies. This requires networkDataplane to be 'cilium'. */\n Cilium = \"cilium\",\n}\n\n/**\n * Network policy used for building the Kubernetes network. \\\n * {@link KnownNetworkPolicy} can be used interchangeably with NetworkPolicy,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **none**: Network policies will not be enforced. This is the default value when NetworkPolicy is not specified. \\\n * **calico**: Use Calico network policies. See [differences between Azure and Calico policies](https:\\//docs.microsoft.com\\/azure\\/aks\\/use-network-policies#differences-between-azure-and-calico-policies-and-their-capabilities) for more information. \\\n * **azure**: Use Azure network policies. See [differences between Azure and Calico policies](https:\\//docs.microsoft.com\\/azure\\/aks\\/use-network-policies#differences-between-azure-and-calico-policies-and-their-capabilities) for more information. \\\n * **cilium**: Use Cilium to enforce network policies. This requires networkDataplane to be 'cilium'.\n */\nexport type NetworkPolicy = string;\n\n/** The network mode Azure CNI is configured with. This cannot be specified if networkPlugin is anything other than 'azure'. */\nexport enum KnownNetworkMode {\n /** No bridge is created. Intra-VM Pod to Pod communication is through IP routes created by Azure CNI. See [Transparent Mode](https://docs.microsoft.com/azure/aks/faq#transparent-mode) for more information. */\n Transparent = \"transparent\",\n /** This is no longer supported */\n Bridge = \"bridge\",\n}\n\n/**\n * The network mode Azure CNI is configured with. This cannot be specified if networkPlugin is anything other than 'azure'. \\\n * {@link KnownNetworkMode} can be used interchangeably with NetworkMode,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **transparent**: No bridge is created. Intra-VM Pod to Pod communication is through IP routes created by Azure CNI. See [Transparent Mode](https:\\//docs.microsoft.com\\/azure\\/aks\\/faq#transparent-mode) for more information. \\\n * **bridge**: This is no longer supported\n */\nexport type NetworkMode = string;\n\n/** Network dataplane used in the Kubernetes cluster. */\nexport enum KnownNetworkDataplane {\n /** Use Azure network dataplane. */\n Azure = \"azure\",\n /** Use Cilium network dataplane. See [Azure CNI Powered by Cilium](https://learn.microsoft.com/azure/aks/azure-cni-powered-by-cilium) for more information. */\n Cilium = \"cilium\",\n}\n\n/**\n * Network dataplane used in the Kubernetes cluster. \\\n * {@link KnownNetworkDataplane} can be used interchangeably with NetworkDataplane,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **azure**: Use Azure network dataplane. \\\n * **cilium**: Use Cilium network dataplane. See [Azure CNI Powered by Cilium](https:\\//learn.microsoft.com\\/azure\\/aks\\/azure-cni-powered-by-cilium) for more information.\n */\nexport type NetworkDataplane = string;\n\n/** Advanced Networking profile for enabling observability and security feature suite on a cluster. For more information see aka.ms/aksadvancednetworking. */\nexport interface AdvancedNetworking {\n /** Indicates the enablement of Advanced Networking functionalities of observability and security on AKS clusters. When this is set to true, all observability and security features will be set to enabled unless explicitly disabled. If not specified, the default is false. */\n enabled?: boolean;\n /** Observability profile to enable advanced network metrics and flow logs with historical contexts. */\n observability?: AdvancedNetworkingObservability;\n /** Security profile to enable security features on cilium based cluster. */\n security?: AdvancedNetworkingSecurity;\n /** Profile to enable performance-enhancing features on clusters that use Azure CNI powered by Cilium. */\n performance?: AdvancedNetworkingPerformance;\n}\n\nexport function advancedNetworkingSerializer(item: AdvancedNetworking): any {\n return {\n enabled: item[\"enabled\"],\n observability: !item[\"observability\"]\n ? item[\"observability\"]\n : advancedNetworkingObservabilitySerializer(item[\"observability\"]),\n security: !item[\"security\"]\n ? item[\"security\"]\n : advancedNetworkingSecuritySerializer(item[\"security\"]),\n performance: !item[\"performance\"]\n ? item[\"performance\"]\n : advancedNetworkingPerformanceSerializer(item[\"performance\"]),\n };\n}\n\nexport function advancedNetworkingDeserializer(item: any): AdvancedNetworking {\n return {\n enabled: item[\"enabled\"],\n observability: !item[\"observability\"]\n ? item[\"observability\"]\n : advancedNetworkingObservabilityDeserializer(item[\"observability\"]),\n security: !item[\"security\"]\n ? item[\"security\"]\n : advancedNetworkingSecurityDeserializer(item[\"security\"]),\n performance: !item[\"performance\"]\n ? item[\"performance\"]\n : advancedNetworkingPerformanceDeserializer(item[\"performance\"]),\n };\n}\n\n/** Observability profile to enable advanced network metrics and flow logs with historical contexts. */\nexport interface AdvancedNetworkingObservability {\n /** Indicates the enablement of Advanced Networking observability functionalities on clusters. */\n enabled?: boolean;\n}\n\nexport function advancedNetworkingObservabilitySerializer(\n item: AdvancedNetworkingObservability,\n): any {\n return { enabled: item[\"enabled\"] };\n}\n\nexport function advancedNetworkingObservabilityDeserializer(\n item: any,\n): AdvancedNetworkingObservability {\n return {\n enabled: item[\"enabled\"],\n };\n}\n\n/** Security profile to enable security features on cilium based cluster. */\nexport interface AdvancedNetworkingSecurity {\n /** This feature allows user to configure network policy based on DNS (FQDN) names. It can be enabled only on cilium based clusters. If not specified, the default is false. */\n enabled?: boolean;\n /** Enable advanced network policies. This allows users to configure Layer 7 network policies (FQDN, HTTP, Kafka). Policies themselves must be configured via the Cilium Network Policy resources, see https://docs.cilium.io/en/latest/security/policy/index.html. This can be enabled only on cilium-based clusters. If not specified, the default value is FQDN if security.enabled is set to true. */\n advancedNetworkPolicies?: AdvancedNetworkPolicies;\n /** Encryption configuration for Cilium-based clusters. Once enabled all traffic between Cilium managed pods will be encrypted when it leaves the node boundary. */\n transitEncryption?: AdvancedNetworkingSecurityTransitEncryption;\n}\n\nexport function advancedNetworkingSecuritySerializer(item: AdvancedNetworkingSecurity): any {\n return {\n enabled: item[\"enabled\"],\n advancedNetworkPolicies: item[\"advancedNetworkPolicies\"],\n transitEncryption: !item[\"transitEncryption\"]\n ? item[\"transitEncryption\"]\n : advancedNetworkingSecurityTransitEncryptionSerializer(item[\"transitEncryption\"]),\n };\n}\n\nexport function advancedNetworkingSecurityDeserializer(item: any): AdvancedNetworkingSecurity {\n return {\n enabled: item[\"enabled\"],\n advancedNetworkPolicies: item[\"advancedNetworkPolicies\"],\n transitEncryption: !item[\"transitEncryption\"]\n ? item[\"transitEncryption\"]\n : advancedNetworkingSecurityTransitEncryptionDeserializer(item[\"transitEncryption\"]),\n };\n}\n\n/** Enable advanced network policies. This allows users to configure Layer 7 network policies (FQDN, HTTP, Kafka). Policies themselves must be configured via the Cilium Network Policy resources, see https://docs.cilium.io/en/latest/security/policy/index.html. This can be enabled only on cilium-based clusters. If not specified, the default value is FQDN if security.enabled is set to true. */\nexport enum KnownAdvancedNetworkPolicies {\n /** Enable Layer7 network policies (FQDN, HTTP/S, Kafka). This option is a superset of the FQDN option. */\n L7 = \"L7\",\n /** Enable FQDN based network policies */\n Fqdn = \"FQDN\",\n /** Disable Layer 7 network policies (FQDN, HTTP/S, Kafka) */\n None = \"None\",\n}\n\n/**\n * Enable advanced network policies. This allows users to configure Layer 7 network policies (FQDN, HTTP, Kafka). Policies themselves must be configured via the Cilium Network Policy resources, see https://docs.cilium.io/en/latest/security/policy/index.html. This can be enabled only on cilium-based clusters. If not specified, the default value is FQDN if security.enabled is set to true. \\\n * {@link KnownAdvancedNetworkPolicies} can be used interchangeably with AdvancedNetworkPolicies,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **L7**: Enable Layer7 network policies (FQDN, HTTP\\/S, Kafka). This option is a superset of the FQDN option. \\\n * **FQDN**: Enable FQDN based network policies \\\n * **None**: Disable Layer 7 network policies (FQDN, HTTP\\/S, Kafka)\n */\nexport type AdvancedNetworkPolicies = string;\n\n/** Encryption configuration for Cilium-based clusters. Once enabled all traffic between Cilium managed pods will be encrypted when it leaves the node boundary. */\nexport interface AdvancedNetworkingSecurityTransitEncryption {\n /** Configures pod-to-pod encryption. This can be enabled only on Cilium-based clusters. If not specified, the default value is None. */\n type?: TransitEncryptionType;\n}\n\nexport function advancedNetworkingSecurityTransitEncryptionSerializer(\n item: AdvancedNetworkingSecurityTransitEncryption,\n): any {\n return { type: item[\"type\"] };\n}\n\nexport function advancedNetworkingSecurityTransitEncryptionDeserializer(\n item: any,\n): AdvancedNetworkingSecurityTransitEncryption {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Configures pod-to-pod encryption. This can be enabled only on Cilium-based clusters. If not specified, the default value is None. */\nexport enum KnownTransitEncryptionType {\n /** Enable WireGuard encryption. Refer to https://docs.cilium.io/en/latest/security/network/encryption-wireguard/ on use cases and implementation details */\n WireGuard = \"WireGuard\",\n /** Disable Transit encryption */\n None = \"None\",\n}\n\n/**\n * Configures pod-to-pod encryption. This can be enabled only on Cilium-based clusters. If not specified, the default value is None. \\\n * {@link KnownTransitEncryptionType} can be used interchangeably with TransitEncryptionType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **WireGuard**: Enable WireGuard encryption. Refer to https:\\//docs.cilium.io\\/en\\/latest\\/security\\/network\\/encryption-wireguard\\/ on use cases and implementation details \\\n * **None**: Disable Transit encryption\n */\nexport type TransitEncryptionType = string;\n\n/** Profile to enable performance-enhancing features on clusters that use Azure CNI powered by Cilium. */\nexport interface AdvancedNetworkingPerformance {\n /** Enable advanced network acceleration options. This allows users to configure acceleration using BPF host routing. This can be enabled only with Cilium dataplane. If not specified, the default value is None (no acceleration). The acceleration mode can be changed on a pre-existing cluster. See https://aka.ms/acnsperformance for a detailed explanation */\n accelerationMode?: AccelerationMode;\n}\n\nexport function advancedNetworkingPerformanceSerializer(item: AdvancedNetworkingPerformance): any {\n return { accelerationMode: item[\"accelerationMode\"] };\n}\n\nexport function advancedNetworkingPerformanceDeserializer(\n item: any,\n): AdvancedNetworkingPerformance {\n return {\n accelerationMode: item[\"accelerationMode\"],\n };\n}\n\n/** Enable advanced network acceleration options. This allows users to configure acceleration using BPF host routing. This can be enabled only with Cilium dataplane. If not specified, the default value is None (no acceleration). The acceleration mode can be changed on a pre-existing cluster. See https://aka.ms/acnsperformance for a detailed explanation */\nexport enum KnownAccelerationMode {\n /** Enable eBPF host routing with veth device mode. */\n BpfVeth = \"BpfVeth\",\n /** Disable acceleration options. */\n None = \"None\",\n}\n\n/**\n * Enable advanced network acceleration options. This allows users to configure acceleration using BPF host routing. This can be enabled only with Cilium dataplane. If not specified, the default value is None (no acceleration). The acceleration mode can be changed on a pre-existing cluster. See https://aka.ms/acnsperformance for a detailed explanation \\\n * {@link KnownAccelerationMode} can be used interchangeably with AccelerationMode,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **BpfVeth**: Enable eBPF host routing with veth device mode. \\\n * **None**: Disable acceleration options.\n */\nexport type AccelerationMode = string;\n\n/** The outbound (egress) routing method. This can only be set at cluster creation time and cannot be changed later. For more information see [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). */\nexport enum KnownOutboundType {\n /** The load balancer is used for egress through an AKS assigned public IP. This supports Kubernetes services of type 'loadBalancer'. For more information see [outbound type loadbalancer](https://docs.microsoft.com/azure/aks/egress-outboundtype#outbound-type-of-loadbalancer). */\n LoadBalancer = \"loadBalancer\",\n /** Egress paths must be defined by the user. This is an advanced scenario and requires proper network configuration. For more information see [outbound type userDefinedRouting](https://docs.microsoft.com/azure/aks/egress-outboundtype#outbound-type-of-userdefinedrouting). */\n UserDefinedRouting = \"userDefinedRouting\",\n /** The AKS-managed NAT gateway is used for egress. */\n ManagedNATGateway = \"managedNATGateway\",\n /** The user-assigned NAT gateway associated to the cluster subnet is used for egress. This is an advanced scenario and requires proper network configuration. */\n UserAssignedNATGateway = \"userAssignedNATGateway\",\n /** The AKS cluster is not set with any outbound-type. All AKS nodes follows Azure VM default outbound behavior. Please refer to https://azure.microsoft.com/en-us/updates/default-outbound-access-for-vms-in-azure-will-be-retired-transition-to-a-new-method-of-internet-access/ */\n None = \"none\",\n}\n\n/**\n * The outbound (egress) routing method. This can only be set at cluster creation time and cannot be changed later. For more information see [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). \\\n * {@link KnownOutboundType} can be used interchangeably with OutboundType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **loadBalancer**: The load balancer is used for egress through an AKS assigned public IP. This supports Kubernetes services of type 'loadBalancer'. For more information see [outbound type loadbalancer](https:\\//docs.microsoft.com\\/azure\\/aks\\/egress-outboundtype#outbound-type-of-loadbalancer). \\\n * **userDefinedRouting**: Egress paths must be defined by the user. This is an advanced scenario and requires proper network configuration. For more information see [outbound type userDefinedRouting](https:\\//docs.microsoft.com\\/azure\\/aks\\/egress-outboundtype#outbound-type-of-userdefinedrouting). \\\n * **managedNATGateway**: The AKS-managed NAT gateway is used for egress. \\\n * **userAssignedNATGateway**: The user-assigned NAT gateway associated to the cluster subnet is used for egress. This is an advanced scenario and requires proper network configuration. \\\n * **none**: The AKS cluster is not set with any outbound-type. All AKS nodes follows Azure VM default outbound behavior. Please refer to https:\\//azure.microsoft.com\\/en-us\\/updates\\/default-outbound-access-for-vms-in-azure-will-be-retired-transition-to-a-new-method-of-internet-access\\/\n */\nexport type OutboundType = string;\n\n/** The load balancer sku for the managed cluster. The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load balancer SKUs. */\nexport enum KnownLoadBalancerSku {\n /** Use a a standard Load Balancer. This is the recommended Load Balancer SKU. For more information about on working with the load balancer in the managed cluster, see the [standard Load Balancer](https://docs.microsoft.com/azure/aks/load-balancer-standard) article. */\n Standard = \"standard\",\n /** Use a basic Load Balancer with limited functionality. */\n Basic = \"basic\",\n}\n\n/**\n * The load balancer sku for the managed cluster. The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load balancer SKUs. \\\n * {@link KnownLoadBalancerSku} can be used interchangeably with LoadBalancerSku,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **standard**: Use a a standard Load Balancer. This is the recommended Load Balancer SKU. For more information about on working with the load balancer in the managed cluster, see the [standard Load Balancer](https:\\//docs.microsoft.com\\/azure\\/aks\\/load-balancer-standard) article. \\\n * **basic**: Use a basic Load Balancer with limited functionality.\n */\nexport type LoadBalancerSku = string;\n\n/** Profile of the managed cluster load balancer. */\nexport interface ManagedClusterLoadBalancerProfile {\n /** Desired managed outbound IPs for the cluster load balancer. */\n managedOutboundIPs?: ManagedClusterLoadBalancerProfileManagedOutboundIPs;\n /** Desired outbound IP Prefix resources for the cluster load balancer. */\n outboundIPPrefixes?: ManagedClusterLoadBalancerProfileOutboundIPPrefixes;\n /** Desired outbound IP resources for the cluster load balancer. */\n outboundIPs?: ManagedClusterLoadBalancerProfileOutboundIPs;\n /** The effective outbound IP resources of the cluster load balancer. */\n readonly effectiveOutboundIPs?: ResourceReference[];\n /** The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports. */\n allocatedOutboundPorts?: number;\n /** Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 30 minutes. */\n idleTimeoutInMinutes?: number;\n /** Enable multiple standard load balancers per AKS cluster or not. */\n enableMultipleStandardLoadBalancers?: boolean;\n /** The type of the managed inbound Load Balancer BackendPool. */\n backendPoolType?: BackendPoolType;\n}\n\nexport function managedClusterLoadBalancerProfileSerializer(\n item: ManagedClusterLoadBalancerProfile,\n): any {\n return {\n managedOutboundIPs: !item[\"managedOutboundIPs\"]\n ? item[\"managedOutboundIPs\"]\n : managedClusterLoadBalancerProfileManagedOutboundIPsSerializer(item[\"managedOutboundIPs\"]),\n outboundIPPrefixes: !item[\"outboundIPPrefixes\"]\n ? item[\"outboundIPPrefixes\"]\n : managedClusterLoadBalancerProfileOutboundIPPrefixesSerializer(item[\"outboundIPPrefixes\"]),\n outboundIPs: !item[\"outboundIPs\"]\n ? item[\"outboundIPs\"]\n : managedClusterLoadBalancerProfileOutboundIPsSerializer(item[\"outboundIPs\"]),\n allocatedOutboundPorts: item[\"allocatedOutboundPorts\"],\n idleTimeoutInMinutes: item[\"idleTimeoutInMinutes\"],\n enableMultipleStandardLoadBalancers: item[\"enableMultipleStandardLoadBalancers\"],\n backendPoolType: item[\"backendPoolType\"],\n };\n}\n\nexport function managedClusterLoadBalancerProfileDeserializer(\n item: any,\n): ManagedClusterLoadBalancerProfile {\n return {\n managedOutboundIPs: !item[\"managedOutboundIPs\"]\n ? item[\"managedOutboundIPs\"]\n : managedClusterLoadBalancerProfileManagedOutboundIPsDeserializer(item[\"managedOutboundIPs\"]),\n outboundIPPrefixes: !item[\"outboundIPPrefixes\"]\n ? item[\"outboundIPPrefixes\"]\n : managedClusterLoadBalancerProfileOutboundIPPrefixesDeserializer(item[\"outboundIPPrefixes\"]),\n outboundIPs: !item[\"outboundIPs\"]\n ? item[\"outboundIPs\"]\n : managedClusterLoadBalancerProfileOutboundIPsDeserializer(item[\"outboundIPs\"]),\n effectiveOutboundIPs: !item[\"effectiveOutboundIPs\"]\n ? item[\"effectiveOutboundIPs\"]\n : resourceReferenceArrayDeserializer(item[\"effectiveOutboundIPs\"]),\n allocatedOutboundPorts: item[\"allocatedOutboundPorts\"],\n idleTimeoutInMinutes: item[\"idleTimeoutInMinutes\"],\n enableMultipleStandardLoadBalancers: item[\"enableMultipleStandardLoadBalancers\"],\n backendPoolType: item[\"backendPoolType\"],\n };\n}\n\n/** Desired managed outbound IPs for the cluster load balancer. */\nexport interface ManagedClusterLoadBalancerProfileManagedOutboundIPs {\n /** The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. */\n count?: number;\n /** The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. */\n countIPv6?: number;\n}\n\nexport function managedClusterLoadBalancerProfileManagedOutboundIPsSerializer(\n item: ManagedClusterLoadBalancerProfileManagedOutboundIPs,\n): any {\n return { count: item[\"count\"], countIPv6: item[\"countIPv6\"] };\n}\n\nexport function managedClusterLoadBalancerProfileManagedOutboundIPsDeserializer(\n item: any,\n): ManagedClusterLoadBalancerProfileManagedOutboundIPs {\n return {\n count: item[\"count\"],\n countIPv6: item[\"countIPv6\"],\n };\n}\n\n/** Desired outbound IP Prefix resources for the cluster load balancer. */\nexport interface ManagedClusterLoadBalancerProfileOutboundIPPrefixes {\n /** A list of public IP prefix resources. */\n publicIPPrefixes?: ResourceReference[];\n}\n\nexport function managedClusterLoadBalancerProfileOutboundIPPrefixesSerializer(\n item: ManagedClusterLoadBalancerProfileOutboundIPPrefixes,\n): any {\n return {\n publicIPPrefixes: !item[\"publicIPPrefixes\"]\n ? item[\"publicIPPrefixes\"]\n : resourceReferenceArraySerializer(item[\"publicIPPrefixes\"]),\n };\n}\n\nexport function managedClusterLoadBalancerProfileOutboundIPPrefixesDeserializer(\n item: any,\n): ManagedClusterLoadBalancerProfileOutboundIPPrefixes {\n return {\n publicIPPrefixes: !item[\"publicIPPrefixes\"]\n ? item[\"publicIPPrefixes\"]\n : resourceReferenceArrayDeserializer(item[\"publicIPPrefixes\"]),\n };\n}\n\nexport function resourceReferenceArraySerializer(result: Array<ResourceReference>): any[] {\n return result.map((item) => {\n return resourceReferenceSerializer(item);\n });\n}\n\nexport function resourceReferenceArrayDeserializer(result: Array<ResourceReference>): any[] {\n return result.map((item) => {\n return resourceReferenceDeserializer(item);\n });\n}\n\n/** A reference to an Azure resource. */\nexport interface ResourceReference {\n /** The fully qualified Azure resource id. */\n id?: string;\n}\n\nexport function resourceReferenceSerializer(item: ResourceReference): any {\n return { id: item[\"id\"] };\n}\n\nexport function resourceReferenceDeserializer(item: any): ResourceReference {\n return {\n id: item[\"id\"],\n };\n}\n\n/** Desired outbound IP resources for the cluster load balancer. */\nexport interface ManagedClusterLoadBalancerProfileOutboundIPs {\n /** A list of public IP resources. */\n publicIPs?: ResourceReference[];\n}\n\nexport function managedClusterLoadBalancerProfileOutboundIPsSerializer(\n item: ManagedClusterLoadBalancerProfileOutboundIPs,\n): any {\n return {\n publicIPs: !item[\"publicIPs\"]\n ? item[\"publicIPs\"]\n : resourceReferenceArraySerializer(item[\"publicIPs\"]),\n };\n}\n\nexport function managedClusterLoadBalancerProfileOutboundIPsDeserializer(\n item: any,\n): ManagedClusterLoadBalancerProfileOutboundIPs {\n return {\n publicIPs: !item[\"publicIPs\"]\n ? item[\"publicIPs\"]\n : resourceReferenceArrayDeserializer(item[\"publicIPs\"]),\n };\n}\n\n/** The type of the managed inbound Load Balancer BackendPool. */\nexport enum KnownBackendPoolType {\n /** The type of the managed inbound Load Balancer BackendPool. https://cloud-provider-azure.sigs.k8s.io/topics/loadbalancer/#configure-load-balancer-backend. */\n NodeIPConfiguration = \"NodeIPConfiguration\",\n /** The type of the managed inbound Load Balancer BackendPool. https://cloud-provider-azure.sigs.k8s.io/topics/loadbalancer/#configure-load-balancer-backend. */\n NodeIP = \"NodeIP\",\n}\n\n/**\n * The type of the managed inbound Load Balancer BackendPool. \\\n * {@link KnownBackendPoolType} can be used interchangeably with BackendPoolType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **NodeIPConfiguration**: The type of the managed inbound Load Balancer BackendPool. https:\\//cloud-provider-azure.sigs.k8s.io\\/topics\\/loadbalancer\\/#configure-load-balancer-backend. \\\n * **NodeIP**: The type of the managed inbound Load Balancer BackendPool. https:\\//cloud-provider-azure.sigs.k8s.io\\/topics\\/loadbalancer\\/#configure-load-balancer-backend.\n */\nexport type BackendPoolType = string;\n\n/** Profile of the managed cluster NAT gateway. */\nexport interface ManagedClusterNATGatewayProfile {\n /** Profile of the managed outbound IP resources of the cluster NAT gateway. */\n managedOutboundIPProfile?: ManagedClusterManagedOutboundIPProfile;\n /** The effective outbound IP resources of the cluster NAT gateway. */\n readonly effectiveOutboundIPs?: ResourceReference[];\n /** Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 4 minutes. */\n idleTimeoutInMinutes?: number;\n}\n\nexport function managedClusterNATGatewayProfileSerializer(\n item: ManagedClusterNATGatewayProfile,\n): any {\n return {\n managedOutboundIPProfile: !item[\"managedOutboundIPProfile\"]\n ? item[\"managedOutboundIPProfile\"]\n : managedClusterManagedOutboundIPProfileSerializer(item[\"managedOutboundIPProfile\"]),\n idleTimeoutInMinutes: item[\"idleTimeoutInMinutes\"],\n };\n}\n\nexport function managedClusterNATGatewayProfileDeserializer(\n item: any,\n): ManagedClusterNATGatewayProfile {\n return {\n managedOutboundIPProfile: !item[\"managedOutboundIPProfile\"]\n ? item[\"managedOutboundIPProfile\"]\n : managedClusterManagedOutboundIPProfileDeserializer(item[\"managedOutboundIPProfile\"]),\n effectiveOutboundIPs: !item[\"effectiveOutboundIPs\"]\n ? item[\"effectiveOutboundIPs\"]\n : resourceReferenceArrayDeserializer(item[\"effectiveOutboundIPs\"]),\n idleTimeoutInMinutes: item[\"idleTimeoutInMinutes\"],\n };\n}\n\n/** Profile of the managed outbound IP resources of the managed cluster. */\nexport interface ManagedClusterManagedOutboundIPProfile {\n /** The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 (inclusive). The default value is 1. */\n count?: number;\n}\n\nexport function managedClusterManagedOutboundIPProfileSerializer(\n item: ManagedClusterManagedOutboundIPProfile,\n): any {\n return { count: item[\"count\"] };\n}\n\nexport function managedClusterManagedOutboundIPProfileDeserializer(\n item: any,\n): ManagedClusterManagedOutboundIPProfile {\n return {\n count: item[\"count\"],\n };\n}\n\n/** The Static Egress Gateway addon configuration for the cluster. */\nexport interface ManagedClusterStaticEgressGatewayProfile {\n /** Enable Static Egress Gateway addon. Indicates if Static Egress Gateway addon is enabled or not. */\n enabled?: boolean;\n}\n\nexport function managedClusterStaticEgressGatewayProfileSerializer(\n item: ManagedClusterStaticEgressGatewayProfile,\n): any {\n return { enabled: item[\"enabled\"] };\n}\n\nexport function managedClusterStaticEgressGatewayProfileDeserializer(\n item: any,\n): ManagedClusterStaticEgressGatewayProfile {\n return {\n enabled: item[\"enabled\"],\n };\n}\n\n/** To determine if address belongs IPv4 or IPv6 family */\nexport enum KnownIpFamily {\n /** IPv4 family */\n IPv4 = \"IPv4\",\n /** IPv6 family */\n IPv6 = \"IPv6\",\n}\n\n/**\n * To determine if address belongs IPv4 or IPv6 family \\\n * {@link KnownIpFamily} can be used interchangeably with IpFamily,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **IPv4**: IPv4 family \\\n * **IPv6**: IPv6 family\n */\nexport type IpFamily = string;\n\n/** AADProfile specifies attributes for Azure Active Directory integration. For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). */\nexport interface ManagedClusterAADProfile {\n /** Whether to enable managed AAD. */\n managed?: boolean;\n /** Whether to enable Azure RBAC for Kubernetes authorization. */\n enableAzureRbac?: boolean;\n /** The list of AAD group object IDs that will have admin role of the cluster. */\n adminGroupObjectIDs?: string[];\n /** (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. */\n clientAppID?: string;\n /** (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. */\n serverAppID?: string;\n /** (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy. */\n serverAppSecret?: string;\n /** The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription. */\n tenantID?: string;\n}\n\nexport function managedClusterAADProfileSerializer(item: ManagedClusterAADProfile): any {\n return {\n managed: item[\"managed\"],\n enableAzureRBAC: item[\"enableAzureRbac\"],\n adminGroupObjectIDs: !item[\"adminGroupObjectIDs\"]\n ? item[\"adminGroupObjectIDs\"]\n : item[\"adminGroupObjectIDs\"].map((p: any) => {\n return p;\n }),\n clientAppID: item[\"clientAppID\"],\n serverAppID: item[\"serverAppID\"],\n serverAppSecret: item[\"serverAppSecret\"],\n tenantID: item[\"tenantID\"],\n };\n}\n\nexport function managedClusterAADProfileDeserializer(item: any): ManagedClusterAADProfile {\n return {\n managed: item[\"managed\"],\n enableAzureRbac: item[\"enableAzureRBAC\"],\n adminGroupObjectIDs: !item[\"adminGroupObjectIDs\"]\n ? item[\"adminGroupObjectIDs\"]\n : item[\"adminGroupObjectIDs\"].map((p: any) => {\n return p;\n }),\n clientAppID: item[\"clientAppID\"],\n serverAppID: item[\"serverAppID\"],\n serverAppSecret: item[\"serverAppSecret\"],\n tenantID: item[\"tenantID\"],\n };\n}\n\n/** Auto upgrade profile for a managed cluster. */\nexport interface ManagedClusterAutoUpgradeProfile {\n /** The upgrade channel for auto upgrade. The default is 'none'. For more information see [setting the AKS cluster auto-upgrade channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). */\n upgradeChannel?: UpgradeChannel;\n /** Node OS Upgrade Channel. Manner in which the OS on your nodes is updated. The default is NodeImage. */\n nodeOSUpgradeChannel?: NodeOSUpgradeChannel;\n}\n\nexport function managedClusterAutoUpgradeProfileSerializer(\n item: ManagedClusterAutoUpgradeProfile,\n): any {\n return {\n upgradeChannel: item[\"upgradeChannel\"],\n nodeOSUpgradeChannel: item[\"nodeOSUpgradeChannel\"],\n };\n}\n\nexport function managedClusterAutoUpgradeProfileDeserializer(\n item: any,\n): ManagedClusterAutoUpgradeProfile {\n return {\n upgradeChannel: item[\"upgradeChannel\"],\n nodeOSUpgradeChannel: item[\"nodeOSUpgradeChannel\"],\n };\n}\n\n/** The upgrade channel for auto upgrade. The default is 'none'. For more information see [setting the AKS cluster auto-upgrade channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). */\nexport enum KnownUpgradeChannel {\n /** Automatically upgrade the cluster to the latest supported patch release on the latest supported minor version. In cases where the cluster is at a version of Kubernetes that is at an N-2 minor version where N is the latest supported minor version, the cluster first upgrades to the latest supported patch version on N-1 minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster first is upgraded to 1.18.6, then is upgraded to 1.19.1. */\n Rapid = \"rapid\",\n /** Automatically upgrade the cluster to the latest supported patch release on minor version N-1, where N is the latest supported minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.18.6. */\n Stable = \"stable\",\n /** Automatically upgrade the cluster to the latest supported patch version when it becomes available while keeping the minor version the same. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.17.9. */\n Patch = \"patch\",\n /** Automatically upgrade the node image to the latest version available. Consider using nodeOSUpgradeChannel instead as that allows you to configure node OS patching separate from Kubernetes version patching */\n NodeImage = \"node-image\",\n /** Disables auto-upgrades and keeps the cluster at its current version of Kubernetes. */\n None = \"none\",\n}\n\n/**\n * The upgrade channel for auto upgrade. The default is 'none'. For more information see [setting the AKS cluster auto-upgrade channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). \\\n * {@link KnownUpgradeChannel} can be used interchangeably with UpgradeChannel,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **rapid**: Automatically upgrade the cluster to the latest supported patch release on the latest supported minor version. In cases where the cluster is at a version of Kubernetes that is at an N-2 minor version where N is the latest supported minor version, the cluster first upgrades to the latest supported patch version on N-1 minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster first is upgraded to 1.18.6, then is upgraded to 1.19.1. \\\n * **stable**: Automatically upgrade the cluster to the latest supported patch release on minor version N-1, where N is the latest supported minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.18.6. \\\n * **patch**: Automatically upgrade the cluster to the latest supported patch version when it becomes available while keeping the minor version the same. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.17.9. \\\n * **node-image**: Automatically upgrade the node image to the latest version available. Consider using nodeOSUpgradeChannel instead as that allows you to configure node OS patching separate from Kubernetes version patching \\\n * **none**: Disables auto-upgrades and keeps the cluster at its current version of Kubernetes.\n */\nexport type UpgradeChannel = string;\n\n/** Node OS Upgrade Channel. Manner in which the OS on your nodes is updated. The default is NodeImage. */\nexport enum KnownNodeOSUpgradeChannel {\n /** No attempt to update your machines OS will be made either by OS or by rolling VHDs. This means you are responsible for your security updates */\n None = \"None\",\n /** OS updates will be applied automatically through the OS built-in patching infrastructure. Newly scaled in machines will be unpatched initially and will be patched at some point by the OS's infrastructure. Behavior of this option depends on the OS in question. Ubuntu and Mariner apply security patches through unattended upgrade roughly once a day around 06:00 UTC. Windows does not apply security patches automatically and so for them this option is equivalent to None till further notice */\n Unmanaged = \"Unmanaged\",\n /** AKS will update the nodes with a newly patched VHD containing security fixes and bugfixes on a weekly cadence. With the VHD update machines will be rolling reimaged to that VHD following maintenance windows and surge settings. No extra VHD cost is incurred when choosing this option as AKS hosts the images. */\n NodeImage = \"NodeImage\",\n /** AKS downloads and updates the nodes with tested security updates. These updates honor the maintenance window settings and produce a new VHD that is used on new nodes. On some occasions it's not possible to apply the updates in place, in such cases the existing nodes will also be re-imaged to the newly produced VHD in order to apply the changes. This option incurs an extra cost of hosting the new Security Patch VHDs in your resource group for just in time consumption. */\n SecurityPatch = \"SecurityPatch\",\n}\n\n/**\n * Node OS Upgrade Channel. Manner in which the OS on your nodes is updated. The default is NodeImage. \\\n * {@link KnownNodeOSUpgradeChannel} can be used interchangeably with NodeOSUpgradeChannel,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **None**: No attempt to update your machines OS will be made either by OS or by rolling VHDs. This means you are responsible for your security updates \\\n * **Unmanaged**: OS updates will be applied automatically through the OS built-in patching infrastructure. Newly scaled in machines will be unpatched initially and will be patched at some point by the OS's infrastructure. Behavior of this option depends on the OS in question. Ubuntu and Mariner apply security patches through unattended upgrade roughly once a day around 06:00 UTC. Windows does not apply security patches automatically and so for them this option is equivalent to None till further notice \\\n * **NodeImage**: AKS will update the nodes with a newly patched VHD containing security fixes and bugfixes on a weekly cadence. With the VHD update machines will be rolling reimaged to that VHD following maintenance windows and surge settings. No extra VHD cost is incurred when choosing this option as AKS hosts the images. \\\n * **SecurityPatch**: AKS downloads and updates the nodes with tested security updates. These updates honor the maintenance window settings and produce a new VHD that is used on new nodes. On some occasions it's not possible to apply the updates in place, in such cases the existing nodes will also be re-imaged to the newly produced VHD in order to apply the changes. This option incurs an extra cost of hosting the new Security Patch VHDs in your resource group for just in time consumption.\n */\nexport type NodeOSUpgradeChannel = string;\n\n/** Settings for upgrading a cluster. */\nexport interface ClusterUpgradeSettings {\n /** Settings for overrides. */\n overrideSettings?: UpgradeOverrideSettings;\n}\n\nexport function clusterUpgradeSettingsSerializer(item: ClusterUpgradeSettings): any {\n return {\n overrideSettings: !item[\"overrideSettings\"]\n ? item[\"overrideSettings\"]\n : upgradeOverrideSettingsSerializer(item[\"overrideSettings\"]),\n };\n}\n\nexport function clusterUpgradeSettingsDeserializer(item: any): ClusterUpgradeSettings {\n return {\n overrideSettings: !item[\"overrideSettings\"]\n ? item[\"overrideSettings\"]\n : upgradeOverrideSettingsDeserializer(item[\"overrideSettings\"]),\n };\n}\n\n/** Settings for overrides when upgrading a cluster. */\nexport interface UpgradeOverrideSettings {\n /** Whether to force upgrade the cluster. Note that this option instructs upgrade operation to bypass upgrade protections such as checking for deprecated API usage. Enable this option only with caution. */\n forceUpgrade?: boolean;\n /** Until when the overrides are effective. Note that this only matches the start time of an upgrade, and the effectiveness won't change once an upgrade starts even if the `until` expires as upgrade proceeds. This field is not set by default. It must be set for the overrides to take effect. */\n until?: Date;\n}\n\nexport function upgradeOverrideSettingsSerializer(item: UpgradeOverrideSettings): any {\n return {\n forceUpgrade: item[\"forceUpgrade\"],\n until: !item[\"until\"] ? item[\"until\"] : item[\"until\"].toISOString(),\n };\n}\n\nexport function upgradeOverrideSettingsDeserializer(item: any): UpgradeOverrideSettings {\n return {\n forceUpgrade: item[\"forceUpgrade\"],\n until: !item[\"until\"] ? item[\"until\"] : new Date(item[\"until\"]),\n };\n}\n\n/** Parameters to be applied to the cluster-autoscaler when enabled */\nexport interface ManagedClusterPropertiesAutoScalerProfile {\n /** Detects similar node pools and balances the number of nodes between them. Valid values are 'true' and 'false' */\n balanceSimilarNodeGroups?: string;\n /** DaemonSet pods will be gracefully terminated from empty nodes. If set to true, all daemonset pods on empty nodes will be evicted before deletion of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be deleted without ensuring that daemonset pods are deleted or evicted. */\n daemonsetEvictionForEmptyNodes?: boolean;\n /** DaemonSet pods will be gracefully terminated from non-empty nodes. If set to true, all daemonset pods on occupied nodes will be evicted before deletion of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be deleted without ensuring that daemonset pods are deleted or evicted. */\n daemonsetEvictionForOccupiedNodes?: boolean;\n /** Should CA ignore DaemonSet pods when calculating resource utilization for scaling down. If set to true, the resources used by daemonset will be taken into account when making scaling down decisions. */\n ignoreDaemonsetsUtilization?: boolean;\n /** The expander to use when scaling up. If not specified, the default is 'random'. See [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more information. */\n expander?: Expander;\n /** The maximum number of empty nodes that can be deleted at the same time. This must be a positive integer. The default is 10. */\n maxEmptyBulkDelete?: string;\n /** The maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node. The default is 600. */\n maxGracefulTerminationSec?: string;\n /** The maximum time the autoscaler waits for a node to be provisioned. The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. */\n maxNodeProvisionTime?: string;\n /** The maximum percentage of unready nodes in the cluster. After this percentage is exceeded, cluster autoscaler halts operations. The default is 45. The maximum is 100 and the minimum is 0. */\n maxTotalUnreadyPercentage?: string;\n /** Ignore unscheduled pods before they're a certain age. For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). */\n newPodScaleUpDelay?: string;\n /** The number of allowed unready nodes, irrespective of max-total-unready-percentage. This must be an integer. The default is 3. */\n okTotalUnreadyCount?: string;\n /** How often cluster is reevaluated for scale up or down. The default is '10'. Values must be an integer number of seconds. */\n scanInterval?: string;\n /** How long after scale up that scale down evaluation resumes. The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. */\n scaleDownDelayAfterAdd?: string;\n /** How long after node deletion that scale down evaluation resumes. The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. */\n scaleDownDelayAfterDelete?: string;\n /** How long after scale down failure that scale down evaluation resumes. The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. */\n scaleDownDelayAfterFailure?: string;\n /** How long a node should be unneeded before it is eligible for scale down. The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. */\n scaleDownUnneededTime?: string;\n /** How long an unready node should be unneeded before it is eligible for scale down. The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. */\n scaleDownUnreadyTime?: string;\n /** Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down. The default is '0.5'. */\n scaleDownUtilizationThreshold?: string;\n /** If cluster autoscaler will skip deleting nodes with pods with local storage, for example, EmptyDir or HostPath. The default is true. */\n skipNodesWithLocalStorage?: string;\n /** If cluster autoscaler will skip deleting nodes with pods from kube-system (except for DaemonSet or mirror pods). The default is true. */\n skipNodesWithSystemPods?: string;\n}\n\nexport function managedClusterPropertiesAutoScalerProfileSerializer(\n item: ManagedClusterPropertiesAutoScalerProfile,\n): any {\n return {\n \"balance-similar-node-groups\": item[\"balanceSimilarNodeGroups\"],\n \"daemonset-eviction-for-empty-nodes\": item[\"daemonsetEvictionForEmptyNodes\"],\n \"daemonset-eviction-for-occupied-nodes\": item[\"daemonsetEvictionForOccupiedNodes\"],\n \"ignore-daemonsets-utilization\": item[\"ignoreDaemonsetsUtilization\"],\n expander: item[\"expander\"],\n \"max-empty-bulk-delete\": item[\"maxEmptyBulkDelete\"],\n \"max-graceful-termination-sec\": item[\"maxGracefulTerminationSec\"],\n \"max-node-provision-time\": item[\"maxNodeProvisionTime\"],\n \"max-total-unready-percentage\": item[\"maxTotalUnreadyPercentage\"],\n \"new-pod-scale-up-delay\": item[\"newPodScaleUpDelay\"],\n \"ok-total-unready-count\": item[\"okTotalUnreadyCount\"],\n \"scan-interval\": item[\"scanInterval\"],\n \"scale-down-delay-after-add\": item[\"scaleDownDelayAfterAdd\"],\n \"scale-down-delay-after-delete\": item[\"scaleDownDelayAfterDelete\"],\n \"scale-down-delay-after-failure\": item[\"scaleDownDelayAfterFailure\"],\n \"scale-down-unneeded-time\": item[\"scaleDownUnneededTime\"],\n \"scale-down-unready-time\": item[\"scaleDownUnreadyTime\"],\n \"scale-down-utilization-threshold\": item[\"scaleDownUtilizationThreshold\"],\n \"skip-nodes-with-local-storage\": item[\"skipNodesWithLocalStorage\"],\n \"skip-nodes-with-system-pods\": item[\"skipNodesWithSystemPods\"],\n };\n}\n\nexport function managedClusterPropertiesAutoScalerProfileDeserializer(\n item: any,\n): ManagedClusterPropertiesAutoScalerProfile {\n return {\n balanceSimilarNodeGroups: item[\"balance-similar-node-groups\"],\n daemonsetEvictionForEmptyNodes: item[\"daemonset-eviction-for-empty-nodes\"],\n daemonsetEvictionForOccupiedNodes: item[\"daemonset-eviction-for-occupied-nodes\"],\n ignoreDaemonsetsUtilization: item[\"ignore-daemonsets-utilization\"],\n expander: item[\"expander\"],\n maxEmptyBulkDelete: item[\"max-empty-bulk-delete\"],\n maxGracefulTerminationSec: item[\"max-graceful-termination-sec\"],\n maxNodeProvisionTime: item[\"max-node-provision-time\"],\n maxTotalUnreadyPercentage: item[\"max-total-unready-percentage\"],\n newPodScaleUpDelay: item[\"new-pod-scale-up-delay\"],\n okTotalUnreadyCount: item[\"ok-total-unready-count\"],\n scanInterval: item[\"scan-interval\"],\n scaleDownDelayAfterAdd: item[\"scale-down-delay-after-add\"],\n scaleDownDelayAfterDelete: item[\"scale-down-delay-after-delete\"],\n scaleDownDelayAfterFailure: item[\"scale-down-delay-after-failure\"],\n scaleDownUnneededTime: item[\"scale-down-unneeded-time\"],\n scaleDownUnreadyTime: item[\"scale-down-unready-time\"],\n scaleDownUtilizationThreshold: item[\"scale-down-utilization-threshold\"],\n skipNodesWithLocalStorage: item[\"skip-nodes-with-local-storage\"],\n skipNodesWithSystemPods: item[\"skip-nodes-with-system-pods\"],\n };\n}\n\n/** The expander to use when scaling up. If not specified, the default is 'random'. See [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more information. */\nexport enum KnownExpander {\n /** Selects the node group that will have the least idle CPU (if tied, unused memory) after scale-up. This is useful when you have different classes of nodes, for example, high CPU or high memory nodes, and only want to expand those when there are pending pods that need a lot of those resources. */\n LeastWaste = \"least-waste\",\n /** Selects the node group that would be able to schedule the most pods when scaling up. This is useful when you are using nodeSelector to make sure certain pods land on certain nodes. Note that this won't cause the autoscaler to select bigger nodes vs. smaller, as it can add multiple smaller nodes at once. */\n MostPods = \"most-pods\",\n /** Selects the node group that has the highest priority assigned by the user. It's configuration is described in more details [here](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/expander/priority/readme.md). */\n Priority = \"priority\",\n /** Used when you don't have a particular need for the node groups to scale differently. */\n Random = \"random\",\n}\n\n/**\n * The expander to use when scaling up. If not specified, the default is 'random'. See [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more information. \\\n * {@link KnownExpander} can be used interchangeably with Expander,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **least-waste**: Selects the node group that will have the least idle CPU (if tied, unused memory) after scale-up. This is useful when you have different classes of nodes, for example, high CPU or high memory nodes, and only want to expand those when there are pending pods that need a lot of those resources. \\\n * **most-pods**: Selects the node group that would be able to schedule the most pods when scaling up. This is useful when you are using nodeSelector to make sure certain pods land on certain nodes. Note that this won't cause the autoscaler to select bigger nodes vs. smaller, as it can add multiple smaller nodes at once. \\\n * **priority**: Selects the node group that has the highest priority assigned by the user. It's configuration is described in more details [here](https:\\//github.com\\/kubernetes\\/autoscaler\\/blob\\/master\\/cluster-autoscaler\\/expander\\/priority\\/readme.md). \\\n * **random**: Used when you don't have a particular need for the node groups to scale differently.\n */\nexport type Expander = string;\n\n/** Access profile for managed cluster API server. */\nexport interface ManagedClusterAPIServerAccessProfile {\n /** The IP ranges authorized to access the Kubernetes API server. IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges). */\n authorizedIPRanges?: string[];\n /** Whether to create the cluster as a private cluster or not. For more details, see [Creating a private AKS cluster](https://docs.microsoft.com/azure/aks/private-clusters). */\n enablePrivateCluster?: boolean;\n /** The private DNS zone mode for the cluster. The default is System. For more details see [configure private DNS zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and 'none'. */\n privateDNSZone?: string;\n /** Whether to create additional public FQDN for private cluster or not. */\n enablePrivateClusterPublicFqdn?: boolean;\n /** Whether to disable run command for the cluster or not. */\n disableRunCommand?: boolean;\n /** Whether to enable apiserver vnet integration for the cluster or not. See aka.ms/AksVnetIntegration for more details. */\n enableVnetIntegration?: boolean;\n /** The subnet to be used when apiserver vnet integration is enabled. It is required when creating a new cluster with BYO Vnet, or when updating an existing cluster to enable apiserver vnet integration. */\n subnetId?: string;\n}\n\nexport function managedClusterAPIServerAccessProfileSerializer(\n item: ManagedClusterAPIServerAccessProfile,\n): any {\n return {\n authorizedIPRanges: !item[\"authorizedIPRanges\"]\n ? item[\"authorizedIPRanges\"]\n : item[\"authorizedIPRanges\"].map((p: any) => {\n return p;\n }),\n enablePrivateCluster: item[\"enablePrivateCluster\"],\n privateDNSZone: item[\"privateDNSZone\"],\n enablePrivateClusterPublicFQDN: item[\"enablePrivateClusterPublicFqdn\"],\n disableRunCommand: item[\"disableRunCommand\"],\n enableVnetIntegration: item[\"enableVnetIntegration\"],\n subnetId: item[\"subnetId\"],\n };\n}\n\nexport function managedClusterAPIServerAccessProfileDeserializer(\n item: any,\n): ManagedClusterAPIServerAccessProfile {\n return {\n authorizedIPRanges: !item[\"authorizedIPRanges\"]\n ? item[\"authorizedIPRanges\"]\n : item[\"authorizedIPRanges\"].map((p: any) => {\n return p;\n }),\n enablePrivateCluster: item[\"enablePrivateCluster\"],\n privateDNSZone: item[\"privateDNSZone\"],\n enablePrivateClusterPublicFqdn: item[\"enablePrivateClusterPublicFQDN\"],\n disableRunCommand: item[\"disableRunCommand\"],\n enableVnetIntegration: item[\"enableVnetIntegration\"],\n subnetId: item[\"subnetId\"],\n };\n}\n\nexport function userAssignedIdentityRecordSerializer(\n item: Record<string, UserAssignedIdentity>,\n): Record<string, any> {\n const result: Record<string, any> = {};\n Object.keys(item).map((key) => {\n result[key] = !item[key] ? item[key] : userAssignedIdentitySerializer(item[key]);\n });\n return result;\n}\n\nexport function userAssignedIdentityRecordDeserializer(\n item: Record<string, any>,\n): Record<string, UserAssignedIdentity> {\n const result: Record<string, any> = {};\n Object.keys(item).map((key) => {\n result[key] = !item[key] ? item[key] : userAssignedIdentityDeserializer(item[key]);\n });\n return result;\n}\n\nexport function privateLinkResourceArraySerializer(result: Array<PrivateLinkResource>): any[] {\n return result.map((item) => {\n return privateLinkResourceSerializer(item);\n });\n}\n\nexport function privateLinkResourceArrayDeserializer(result: Array<PrivateLinkResource>): any[] {\n return result.map((item) => {\n return privateLinkResourceDeserializer(item);\n });\n}\n\n/** A private link resource */\nexport interface PrivateLinkResource {\n /** The ID of the private link resource. */\n id?: string;\n /** The name of the private link resource. See [naming rules](https://aka.ms/search-naming-rules) for more details. */\n name?: string;\n /** The resource type. */\n type?: string;\n /** The group ID of the resource. */\n groupId?: string;\n /** The RequiredMembers of the resource */\n requiredMembers?: string[];\n /** The private link service ID of the resource, this field is exposed only to NRP internally. */\n readonly privateLinkServiceID?: string;\n}\n\nexport function privateLinkResourceSerializer(item: PrivateLinkResource): any {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n groupId: item[\"groupId\"],\n requiredMembers: !item[\"requiredMembers\"]\n ? item[\"requiredMembers\"]\n : item[\"requiredMembers\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function privateLinkResourceDeserializer(item: any): PrivateLinkResource {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n groupId: item[\"groupId\"],\n requiredMembers: !item[\"requiredMembers\"]\n ? item[\"requiredMembers\"]\n : item[\"requiredMembers\"].map((p: any) => {\n return p;\n }),\n privateLinkServiceID: item[\"privateLinkServiceID\"],\n };\n}\n\n/** Cluster HTTP proxy configuration. */\nexport interface ManagedClusterHttpProxyConfig {\n /** The HTTP proxy server endpoint to use. */\n httpProxy?: string;\n /** The HTTPS proxy server endpoint to use. */\n httpsProxy?: string;\n /** The endpoints that should not go through proxy. */\n noProxy?: string[];\n /** Alternative CA cert to use for connecting to proxy servers. */\n trustedCa?: string;\n /** Whether to enable HTTP proxy. If disabled, the specified proxy configuration will be not be set on pods and nodes. If not specified, the default is true. */\n enabled?: boolean;\n}\n\nexport function managedClusterHttpProxyConfigSerializer(item: ManagedClusterHttpProxyConfig): any {\n return {\n httpProxy: item[\"httpProxy\"],\n httpsProxy: item[\"httpsProxy\"],\n noProxy: !item[\"noProxy\"]\n ? item[\"noProxy\"]\n : item[\"noProxy\"].map((p: any) => {\n return p;\n }),\n trustedCa: item[\"trustedCa\"],\n enabled: item[\"enabled\"],\n };\n}\n\nexport function managedClusterHttpProxyConfigDeserializer(\n item: any,\n): ManagedClusterHttpProxyConfig {\n return {\n httpProxy: item[\"httpProxy\"],\n httpsProxy: item[\"httpsProxy\"],\n noProxy: !item[\"noProxy\"]\n ? item[\"noProxy\"]\n : item[\"noProxy\"].map((p: any) => {\n return p;\n }),\n trustedCa: item[\"trustedCa\"],\n enabled: item[\"enabled\"],\n };\n}\n\n/** Security profile for the container service cluster. */\nexport interface ManagedClusterSecurityProfile {\n /** Microsoft Defender settings for the security profile. */\n defender?: ManagedClusterSecurityProfileDefender;\n /** Azure Key Vault [key management service](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/) settings for the security profile. */\n azureKeyVaultKms?: AzureKeyVaultKms;\n /** Workload identity settings for the security profile. Workload identity enables Kubernetes applications to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details. */\n workloadIdentity?: ManagedClusterSecurityProfileWorkloadIdentity;\n /** Image Cleaner settings for the security profile. */\n imageCleaner?: ManagedClusterSecurityProfileImageCleaner;\n /** A list of up to 10 base64 encoded CAs that will be added to the trust store on all nodes in the cluster. For more information see [Custom CA Trust Certificates](https://learn.microsoft.com/en-us/azure/aks/custom-certificate-authority). */\n customCATrustCertificates?: Uint8Array[];\n}\n\nexport function managedClusterSecurityProfileSerializer(item: ManagedClusterSecurityProfile): any {\n return {\n defender: !item[\"defender\"]\n ? item[\"defender\"]\n : managedClusterSecurityProfileDefenderSerializer(item[\"defender\"]),\n azureKeyVaultKms: !item[\"azureKeyVaultKms\"]\n ? item[\"azureKeyVaultKms\"]\n : azureKeyVaultKmsSerializer(item[\"azureKeyVaultKms\"]),\n workloadIdentity: !item[\"workloadIdentity\"]\n ? item[\"workloadIdentity\"]\n : managedClusterSecurityProfileWorkloadIdentitySerializer(item[\"workloadIdentity\"]),\n imageCleaner: !item[\"imageCleaner\"]\n ? item[\"imageCleaner\"]\n : managedClusterSecurityProfileImageCleanerSerializer(item[\"imageCleaner\"]),\n customCATrustCertificates: !item[\"customCATrustCertificates\"]\n ? item[\"customCATrustCertificates\"]\n : item[\"customCATrustCertificates\"].map((p: any) => {\n return uint8ArrayToString(p, \"base64\");\n }),\n };\n}\n\nexport function managedClusterSecurityProfileDeserializer(\n item: any,\n): ManagedClusterSecurityProfile {\n return {\n defender: !item[\"defender\"]\n ? item[\"defender\"]\n : managedClusterSecurityProfileDefenderDeserializer(item[\"defender\"]),\n azureKeyVaultKms: !item[\"azureKeyVaultKms\"]\n ? item[\"azureKeyVaultKms\"]\n : azureKeyVaultKmsDeserializer(item[\"azureKeyVaultKms\"]),\n workloadIdentity: !item[\"workloadIdentity\"]\n ? item[\"workloadIdentity\"]\n : managedClusterSecurityProfileWorkloadIdentityDeserializer(item[\"workloadIdentity\"]),\n imageCleaner: !item[\"imageCleaner\"]\n ? item[\"imageCleaner\"]\n : managedClusterSecurityProfileImageCleanerDeserializer(item[\"imageCleaner\"]),\n customCATrustCertificates: !item[\"customCATrustCertificates\"]\n ? item[\"customCATrustCertificates\"]\n : item[\"customCATrustCertificates\"].map((p: any) => {\n return typeof p === \"string\" ? stringToUint8Array(p, \"base64\") : p;\n }),\n };\n}\n\n/** Microsoft Defender settings for the security profile. */\nexport interface ManagedClusterSecurityProfileDefender {\n /** Resource ID of the Log Analytics workspace to be associated with Microsoft Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When Microsoft Defender is disabled, leave the field empty. */\n logAnalyticsWorkspaceResourceId?: string;\n /** Microsoft Defender threat detection for Cloud settings for the security profile. */\n securityMonitoring?: ManagedClusterSecurityProfileDefenderSecurityMonitoring;\n}\n\nexport function managedClusterSecurityProfileDefenderSerializer(\n item: ManagedClusterSecurityProfileDefender,\n): any {\n return {\n logAnalyticsWorkspaceResourceId: item[\"logAnalyticsWorkspaceResourceId\"],\n securityMonitoring: !item[\"securityMonitoring\"]\n ? item[\"securityMonitoring\"]\n : managedClusterSecurityProfileDefenderSecurityMonitoringSerializer(\n item[\"securityMonitoring\"],\n ),\n };\n}\n\nexport function managedClusterSecurityProfileDefenderDeserializer(\n item: any,\n): ManagedClusterSecurityProfileDefender {\n return {\n logAnalyticsWorkspaceResourceId: item[\"logAnalyticsWorkspaceResourceId\"],\n securityMonitoring: !item[\"securityMonitoring\"]\n ? item[\"securityMonitoring\"]\n : managedClusterSecurityProfileDefenderSecurityMonitoringDeserializer(\n item[\"securityMonitoring\"],\n ),\n };\n}\n\n/** Microsoft Defender settings for the security profile threat detection. */\nexport interface ManagedClusterSecurityProfileDefenderSecurityMonitoring {\n /** Whether to enable Defender threat detection */\n enabled?: boolean;\n}\n\nexport function managedClusterSecurityProfileDefenderSecurityMonitoringSerializer(\n item: ManagedClusterSecurityProfileDefenderSecurityMonitoring,\n): any {\n return { enabled: item[\"enabled\"] };\n}\n\nexport function managedClusterSecurityProfileDefenderSecurityMonitoringDeserializer(\n item: any,\n): ManagedClusterSecurityProfileDefenderSecurityMonitoring {\n return {\n enabled: item[\"enabled\"],\n };\n}\n\n/** Azure Key Vault key management service settings for the security profile. */\nexport interface AzureKeyVaultKms {\n /** Whether to enable Azure Key Vault key management service. The default is false. */\n enabled?: boolean;\n /** Identifier of Azure Key Vault key. See [key identifier format](https://docs.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When Azure Key Vault key management service is disabled, leave the field empty. */\n keyId?: string;\n /** Network access of the key vault. Network access of key vault. The possible values are `Public` and `Private`. `Public` means the key vault allows public access from all networks. `Private` means the key vault disables public access and enables private link. The default value is `Public`. */\n keyVaultNetworkAccess?: KeyVaultNetworkAccessTypes;\n /** Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and must be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. */\n keyVaultResourceId?: string;\n}\n\nexport function azureKeyVaultKmsSerializer(item: AzureKeyVaultKms): any {\n return {\n enabled: item[\"enabled\"],\n keyId: item[\"keyId\"],\n keyVaultNetworkAccess: item[\"keyVaultNetworkAccess\"],\n keyVaultResourceId: item[\"keyVaultResourceId\"],\n };\n}\n\nexport function azureKeyVaultKmsDeserializer(item: any): AzureKeyVaultKms {\n return {\n enabled: item[\"enabled\"],\n keyId: item[\"keyId\"],\n keyVaultNetworkAccess: item[\"keyVaultNetworkAccess\"],\n keyVaultResourceId: item[\"keyVaultResourceId\"],\n };\n}\n\n/** Network access of the key vault. Network access of key vault. The possible values are `Public` and `Private`. `Public` means the key vault allows public access from all networks. `Private` means the key vault disables public access and enables private link. The default value is `Public`. */\nexport enum KnownKeyVaultNetworkAccessTypes {\n /** Key vault allows public access from all networks. */\n Public = \"Public\",\n /** Key vault disables public access and enables private link. */\n Private = \"Private\",\n}\n\n/**\n * Network access of the key vault. Network access of key vault. The possible values are `Public` and `Private`. `Public` means the key vault allows public access from all networks. `Private` means the key vault disables public access and enables private link. The default value is `Public`. \\\n * {@link KnownKeyVaultNetworkAccessTypes} can be used interchangeably with KeyVaultNetworkAccessTypes,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Public**: Key vault allows public access from all networks. \\\n * **Private**: Key vault disables public access and enables private link.\n */\nexport type KeyVaultNetworkAccessTypes = string;\n\n/** Workload identity settings for the security profile. */\nexport interface ManagedClusterSecurityProfileWorkloadIdentity {\n /** Whether to enable workload identity. */\n enabled?: boolean;\n}\n\nexport function managedClusterSecurityProfileWorkloadIdentitySerializer(\n item: ManagedClusterSecurityProfileWorkloadIdentity,\n): any {\n return { enabled: item[\"enabled\"] };\n}\n\nexport function managedClusterSecurityProfileWorkloadIdentityDeserializer(\n item: any,\n): ManagedClusterSecurityProfileWorkloadIdentity {\n return {\n enabled: item[\"enabled\"],\n };\n}\n\n/** Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here are settings for the security profile. */\nexport interface ManagedClusterSecurityProfileImageCleaner {\n /** Whether to enable Image Cleaner on AKS cluster. */\n enabled?: boolean;\n /** Image Cleaner scanning interval in hours. */\n intervalHours?: number;\n}\n\nexport function managedClusterSecurityProfileImageCleanerSerializer(\n item: ManagedClusterSecurityProfileImageCleaner,\n): any {\n return { enabled: item[\"enabled\"], intervalHours: item[\"intervalHours\"] };\n}\n\nexport function managedClusterSecurityProfileImageCleanerDeserializer(\n item: any,\n): ManagedClusterSecurityProfileImageCleaner {\n return {\n enabled: item[\"enabled\"],\n intervalHours: item[\"intervalHours\"],\n };\n}\n\n/** Storage profile for the container service cluster. */\nexport interface ManagedClusterStorageProfile {\n /** AzureDisk CSI Driver settings for the storage profile. */\n diskCSIDriver?: ManagedClusterStorageProfileDiskCSIDriver;\n /** AzureFile CSI Driver settings for the storage profile. */\n fileCSIDriver?: ManagedClusterStorageProfileFileCSIDriver;\n /** Snapshot Controller settings for the storage profile. */\n snapshotController?: ManagedClusterStorageProfileSnapshotController;\n /** AzureBlob CSI Driver settings for the storage profile. */\n blobCSIDriver?: ManagedClusterStorageProfileBlobCSIDriver;\n}\n\nexport function managedClusterStorageProfileSerializer(item: ManagedClusterStorageProfile): any {\n return {\n diskCSIDriver: !item[\"diskCSIDriver\"]\n ? item[\"diskCSIDriver\"]\n : managedClusterStorageProfileDiskCSIDriverSerializer(item[\"diskCSIDriver\"]),\n fileCSIDriver: !item[\"fileCSIDriver\"]\n ? item[\"fileCSIDriver\"]\n : managedClusterStorageProfileFileCSIDriverSerializer(item[\"fileCSIDriver\"]),\n snapshotController: !item[\"snapshotController\"]\n ? item[\"snapshotController\"]\n : managedClusterStorageProfileSnapshotControllerSerializer(item[\"snapshotController\"]),\n blobCSIDriver: !item[\"blobCSIDriver\"]\n ? item[\"blobCSIDriver\"]\n : managedClusterStorageProfileBlobCSIDriverSerializer(item[\"blobCSIDriver\"]),\n };\n}\n\nexport function managedClusterStorageProfileDeserializer(item: any): ManagedClusterStorageProfile {\n return {\n diskCSIDriver: !item[\"diskCSIDriver\"]\n ? item[\"diskCSIDriver\"]\n : managedClusterStorageProfileDiskCSIDriverDeserializer(item[\"diskCSIDriver\"]),\n fileCSIDriver: !item[\"fileCSIDriver\"]\n ? item[\"fileCSIDriver\"]\n : managedClusterStorageProfileFileCSIDriverDeserializer(item[\"fileCSIDriver\"]),\n snapshotController: !item[\"snapshotController\"]\n ? item[\"snapshotController\"]\n : managedClusterStorageProfileSnapshotControllerDeserializer(item[\"snapshotController\"]),\n blobCSIDriver: !item[\"blobCSIDriver\"]\n ? item[\"blobCSIDriver\"]\n : managedClusterStorageProfileBlobCSIDriverDeserializer(item[\"blobCSIDriver\"]),\n };\n}\n\n/** AzureDisk CSI Driver settings for the storage profile. */\nexport interface ManagedClusterStorageProfileDiskCSIDriver {\n /** Whether to enable AzureDisk CSI Driver. The default value is true. */\n enabled?: boolean;\n}\n\nexport function managedClusterStorageProfileDiskCSIDriverSerializer(\n item: ManagedClusterStorageProfileDiskCSIDriver,\n): any {\n return { enabled: item[\"enabled\"] };\n}\n\nexport function managedClusterStorageProfileDiskCSIDriverDeserializer(\n item: any,\n): ManagedClusterStorageProfileDiskCSIDriver {\n return {\n enabled: item[\"enabled\"],\n };\n}\n\n/** AzureFile CSI Driver settings for the storage profile. */\nexport interface ManagedClusterStorageProfileFileCSIDriver {\n /** Whether to enable AzureFile CSI Driver. The default value is true. */\n enabled?: boolean;\n}\n\nexport function managedClusterStorageProfileFileCSIDriverSerializer(\n item: ManagedClusterStorageProfileFileCSIDriver,\n): any {\n return { enabled: item[\"enabled\"] };\n}\n\nexport function managedClusterStorageProfileFileCSIDriverDeserializer(\n item: any,\n): ManagedClusterStorageProfileFileCSIDriver {\n return {\n enabled: item[\"enabled\"],\n };\n}\n\n/** Snapshot Controller settings for the storage profile. */\nexport interface ManagedClusterStorageProfileSnapshotController {\n /** Whether to enable Snapshot Controller. The default value is true. */\n enabled?: boolean;\n}\n\nexport function managedClusterStorageProfileSnapshotControllerSerializer(\n item: ManagedClusterStorageProfileSnapshotController,\n): any {\n return { enabled: item[\"enabled\"] };\n}\n\nexport function managedClusterStorageProfileSnapshotControllerDeserializer(\n item: any,\n): ManagedClusterStorageProfileSnapshotController {\n return {\n enabled: item[\"enabled\"],\n };\n}\n\n/** AzureBlob CSI Driver settings for the storage profile. */\nexport interface ManagedClusterStorageProfileBlobCSIDriver {\n /** Whether to enable AzureBlob CSI Driver. The default value is false. */\n enabled?: boolean;\n}\n\nexport function managedClusterStorageProfileBlobCSIDriverSerializer(\n item: ManagedClusterStorageProfileBlobCSIDriver,\n): any {\n return { enabled: item[\"enabled\"] };\n}\n\nexport function managedClusterStorageProfileBlobCSIDriverDeserializer(\n item: any,\n): ManagedClusterStorageProfileBlobCSIDriver {\n return {\n enabled: item[\"enabled\"],\n };\n}\n\n/** Ingress profile for the container service cluster. */\nexport interface ManagedClusterIngressProfile {\n /** App Routing settings for the ingress profile. You can find an overview and onboarding guide for this feature at https://learn.microsoft.com/en-us/azure/aks/app-routing?tabs=default%2Cdeploy-app-default. */\n webAppRouting?: ManagedClusterIngressProfileWebAppRouting;\n /** Settings for the managed Gateway API installation */\n gatewayAPI?: ManagedClusterIngressProfileGatewayConfiguration;\n}\n\nexport function managedClusterIngressProfileSerializer(item: ManagedClusterIngressProfile): any {\n return {\n webAppRouting: !item[\"webAppRouting\"]\n ? item[\"webAppRouting\"]\n : managedClusterIngressProfileWebAppRoutingSerializer(item[\"webAppRouting\"]),\n gatewayAPI: !item[\"gatewayAPI\"]\n ? item[\"gatewayAPI\"]\n : managedClusterIngressProfileGatewayConfigurationSerializer(item[\"gatewayAPI\"]),\n };\n}\n\nexport function managedClusterIngressProfileDeserializer(item: any): ManagedClusterIngressProfile {\n return {\n webAppRouting: !item[\"webAppRouting\"]\n ? item[\"webAppRouting\"]\n : managedClusterIngressProfileWebAppRoutingDeserializer(item[\"webAppRouting\"]),\n gatewayAPI: !item[\"gatewayAPI\"]\n ? item[\"gatewayAPI\"]\n : managedClusterIngressProfileGatewayConfigurationDeserializer(item[\"gatewayAPI\"]),\n };\n}\n\n/** Application Routing add-on settings for the ingress profile. */\nexport interface ManagedClusterIngressProfileWebAppRouting {\n /** Whether to enable the Application Routing add-on. */\n enabled?: boolean;\n /** Configurations for Gateway API providers to be used for managed ingress with App Routing. See https://aka.ms/k8s-gateway-api for more information on the Gateway API. */\n gatewayAPIImplementations?: ManagedClusterWebAppRoutingGatewayAPIImplementations;\n /** Resource IDs of the DNS zones to be associated with the Application Routing add-on. Used only when Application Routing add-on is enabled. Public and private DNS zones can be in different resource groups, but all public DNS zones must be in the same resource group and all private DNS zones must be in the same resource group. */\n dnsZoneResourceIds?: string[];\n /** Configuration for the default NginxIngressController. See more at https://learn.microsoft.com/en-us/azure/aks/app-routing-nginx-configuration#the-default-nginx-ingress-controller. */\n nginx?: ManagedClusterIngressProfileNginx;\n /** Managed identity of the Application Routing add-on. This is the identity that should be granted permissions, for example, to manage the associated Azure DNS resource and get certificates from Azure Key Vault. See [this overview of the add-on](https://learn.microsoft.com/en-us/azure/aks/web-app-routing?tabs=with-osm) for more instructions. */\n readonly identity?: UserAssignedIdentity;\n}\n\nexport function managedClusterIngressProfileWebAppRoutingSerializer(\n item: ManagedClusterIngressProfileWebAppRouting,\n): any {\n return {\n enabled: item[\"enabled\"],\n gatewayAPIImplementations: !item[\"gatewayAPIImplementations\"]\n ? item[\"gatewayAPIImplementations\"]\n : managedClusterWebAppRoutingGatewayAPIImplementationsSerializer(\n item[\"gatewayAPIImplementations\"],\n ),\n dnsZoneResourceIds: !item[\"dnsZoneResourceIds\"]\n ? item[\"dnsZoneResourceIds\"]\n : item[\"dnsZoneResourceIds\"].map((p: any) => {\n return p;\n }),\n nginx: !item[\"nginx\"]\n ? item[\"nginx\"]\n : managedClusterIngressProfileNginxSerializer(item[\"nginx\"]),\n };\n}\n\nexport function managedClusterIngressProfileWebAppRoutingDeserializer(\n item: any,\n): ManagedClusterIngressProfileWebAppRouting {\n return {\n enabled: item[\"enabled\"],\n gatewayAPIImplementations: !item[\"gatewayAPIImplementations\"]\n ? item[\"gatewayAPIImplementations\"]\n : managedClusterWebAppRoutingGatewayAPIImplementationsDeserializer(\n item[\"gatewayAPIImplementations\"],\n ),\n dnsZoneResourceIds: !item[\"dnsZoneResourceIds\"]\n ? item[\"dnsZoneResourceIds\"]\n : item[\"dnsZoneResourceIds\"].map((p: any) => {\n return p;\n }),\n nginx: !item[\"nginx\"]\n ? item[\"nginx\"]\n : managedClusterIngressProfileNginxDeserializer(item[\"nginx\"]),\n identity: !item[\"identity\"]\n ? item[\"identity\"]\n : userAssignedIdentityDeserializer(item[\"identity\"]),\n };\n}\n\n/** Configurations for Gateway API providers to be used for managed ingress with App Routing. */\nexport interface ManagedClusterWebAppRoutingGatewayAPIImplementations {\n /** Configuration for using a sidecar-less Istio control plane for managed ingress via the Gateway API with App Routing. See https://aka.ms/gateway-on-istio for information on using Istio for ingress via the Gateway API. */\n appRoutingIstio?: ManagedClusterAppRoutingIstio;\n}\n\nexport function managedClusterWebAppRoutingGatewayAPIImplementationsSerializer(\n item: ManagedClusterWebAppRoutingGatewayAPIImplementations,\n): any {\n return {\n appRoutingIstio: !item[\"appRoutingIstio\"]\n ? item[\"appRoutingIstio\"]\n : managedClusterAppRoutingIstioSerializer(item[\"appRoutingIstio\"]),\n };\n}\n\nexport function managedClusterWebAppRoutingGatewayAPIImplementationsDeserializer(\n item: any,\n): ManagedClusterWebAppRoutingGatewayAPIImplementations {\n return {\n appRoutingIstio: !item[\"appRoutingIstio\"]\n ? item[\"appRoutingIstio\"]\n : managedClusterAppRoutingIstioDeserializer(item[\"appRoutingIstio\"]),\n };\n}\n\n/** Configuration for using a sidecar-less Istio control plane for managed ingress via the Gateway API with App Routing. See https://aka.ms/gateway-on-istio for information on using Istio for ingress via the Gateway API. */\nexport interface ManagedClusterAppRoutingIstio {\n /** Whether to enable Istio as a Gateway API implementation for managed ingress with App Routing. */\n mode?: GatewayAPIIstioEnabled;\n}\n\nexport function managedClusterAppRoutingIstioSerializer(item: ManagedClusterAppRoutingIstio): any {\n return { mode: item[\"mode\"] };\n}\n\nexport function managedClusterAppRoutingIstioDeserializer(\n item: any,\n): ManagedClusterAppRoutingIstio {\n return {\n mode: item[\"mode\"],\n };\n}\n\n/** Whether to enable Istio as a Gateway API implementation for managed ingress with App Routing. */\nexport enum KnownGatewayAPIIstioEnabled {\n /** Enables managed ingress via the Gateway API using a sidecar-less Istio controlplane. */\n Enabled = \"Enabled\",\n /** Disables the sidecar-less istio control plane for managed ingress via the Gateway API. */\n Disabled = \"Disabled\",\n}\n\n/**\n * Whether to enable Istio as a Gateway API implementation for managed ingress with App Routing. \\\n * {@link KnownGatewayAPIIstioEnabled} can be used interchangeably with GatewayAPIIstioEnabled,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enabled**: Enables managed ingress via the Gateway API using a sidecar-less Istio controlplane. \\\n * **Disabled**: Disables the sidecar-less istio control plane for managed ingress via the Gateway API.\n */\nexport type GatewayAPIIstioEnabled = string;\n\n/** Nginx ingress controller configuration for the managed cluster ingress profile. */\nexport interface ManagedClusterIngressProfileNginx {\n /** Ingress type for the default NginxIngressController custom resource */\n defaultIngressControllerType?: NginxIngressControllerType;\n}\n\nexport function managedClusterIngressProfileNginxSerializer(\n item: ManagedClusterIngressProfileNginx,\n): any {\n return { defaultIngressControllerType: item[\"defaultIngressControllerType\"] };\n}\n\nexport function managedClusterIngressProfileNginxDeserializer(\n item: any,\n): ManagedClusterIngressProfileNginx {\n return {\n defaultIngressControllerType: item[\"defaultIngressControllerType\"],\n };\n}\n\n/** Ingress type for the default NginxIngressController custom resource */\nexport enum KnownNginxIngressControllerType {\n /** The default NginxIngressController will be created. Users can edit the default NginxIngressController Custom Resource to configure load balancer annotations. */\n AnnotationControlled = \"AnnotationControlled\",\n /** The default NginxIngressController will be created and the operator will provision an external loadbalancer with it. Any annotation to make the default loadbalancer internal will be overwritten. */\n External = \"External\",\n /** The default NginxIngressController will be created and the operator will provision an internal loadbalancer with it. Any annotation to make the default loadbalancer external will be overwritten. */\n Internal = \"Internal\",\n /** The default Ingress Controller will not be created. It will not be deleted by the system if it exists. Users should delete the default NginxIngressController Custom Resource manually if desired. */\n None = \"None\",\n}\n\n/**\n * Ingress type for the default NginxIngressController custom resource \\\n * {@link KnownNginxIngressControllerType} can be used interchangeably with NginxIngressControllerType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **AnnotationControlled**: The default NginxIngressController will be created. Users can edit the default NginxIngressController Custom Resource to configure load balancer annotations. \\\n * **External**: The default NginxIngressController will be created and the operator will provision an external loadbalancer with it. Any annotation to make the default loadbalancer internal will be overwritten. \\\n * **Internal**: The default NginxIngressController will be created and the operator will provision an internal loadbalancer with it. Any annotation to make the default loadbalancer external will be overwritten. \\\n * **None**: The default Ingress Controller will not be created. It will not be deleted by the system if it exists. Users should delete the default NginxIngressController Custom Resource manually if desired.\n */\nexport type NginxIngressControllerType = string;\n\n/** Configuration for managed Gateway API CRDs. See https://aka.ms/k8s-gateway-api for more details. */\nexport interface ManagedClusterIngressProfileGatewayConfiguration {\n /** Configuration for the managed Gateway API installation. If not specified, the default is 'Disabled'. See https://aka.ms/k8s-gateway-api for more details. */\n installation?: ManagedGatewayType;\n}\n\nexport function managedClusterIngressProfileGatewayConfigurationSerializer(\n item: ManagedClusterIngressProfileGatewayConfiguration,\n): any {\n return { installation: item[\"installation\"] };\n}\n\nexport function managedClusterIngressProfileGatewayConfigurationDeserializer(\n item: any,\n): ManagedClusterIngressProfileGatewayConfiguration {\n return {\n installation: item[\"installation\"],\n };\n}\n\n/** Configuration for the managed Gateway API installation. If not specified, the default is 'Disabled'. See https://aka.ms/k8s-gateway-api for more details. */\nexport enum KnownManagedGatewayType {\n /** Gateway API CRDs will not be reconciled on your cluster. */\n Disabled = \"Disabled\",\n /** Gateway API CRDs from the standard release channel will be reconciled onto your cluster. See https://aka.ms/gateway-api-versions to see which bundle will be installed for your Kubernetes version. */\n Standard = \"Standard\",\n}\n\n/**\n * Configuration for the managed Gateway API installation. If not specified, the default is 'Disabled'. See https://aka.ms/k8s-gateway-api for more details. \\\n * {@link KnownManagedGatewayType} can be used interchangeably with ManagedGatewayType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Disabled**: Gateway API CRDs will not be reconciled on your cluster. \\\n * **Standard**: Gateway API CRDs from the standard release channel will be reconciled onto your cluster. See https:\\//aka.ms\\/gateway-api-versions to see which bundle will be installed for your Kubernetes version.\n */\nexport type ManagedGatewayType = string;\n\n/** PublicNetworkAccess of the managedCluster. Allow or deny public network access for AKS */\nexport enum KnownPublicNetworkAccess {\n /** Inbound/Outbound to the managedCluster is allowed. */\n Enabled = \"Enabled\",\n /** Inbound traffic to managedCluster is disabled, traffic from managedCluster is allowed. */\n Disabled = \"Disabled\",\n}\n\n/**\n * PublicNetworkAccess of the managedCluster. Allow or deny public network access for AKS \\\n * {@link KnownPublicNetworkAccess} can be used interchangeably with PublicNetworkAccess,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enabled**: Inbound\\/Outbound to the managedCluster is allowed. \\\n * **Disabled**: Inbound traffic to managedCluster is disabled, traffic from managedCluster is allowed.\n */\nexport type PublicNetworkAccess = string;\n\n/** Workload Auto-scaler profile for the managed cluster. */\nexport interface ManagedClusterWorkloadAutoScalerProfile {\n /** KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. */\n keda?: ManagedClusterWorkloadAutoScalerProfileKeda;\n /** VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile. */\n verticalPodAutoscaler?: ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler;\n}\n\nexport function managedClusterWorkloadAutoScalerProfileSerializer(\n item: ManagedClusterWorkloadAutoScalerProfile,\n): any {\n return {\n keda: !item[\"keda\"]\n ? item[\"keda\"]\n : managedClusterWorkloadAutoScalerProfileKedaSerializer(item[\"keda\"]),\n verticalPodAutoscaler: !item[\"verticalPodAutoscaler\"]\n ? item[\"verticalPodAutoscaler\"]\n : managedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerSerializer(\n item[\"verticalPodAutoscaler\"],\n ),\n };\n}\n\nexport function managedClusterWorkloadAutoScalerProfileDeserializer(\n item: any,\n): ManagedClusterWorkloadAutoScalerProfile {\n return {\n keda: !item[\"keda\"]\n ? item[\"keda\"]\n : managedClusterWorkloadAutoScalerProfileKedaDeserializer(item[\"keda\"]),\n verticalPodAutoscaler: !item[\"verticalPodAutoscaler\"]\n ? item[\"verticalPodAutoscaler\"]\n : managedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerDeserializer(\n item[\"verticalPodAutoscaler\"],\n ),\n };\n}\n\n/** KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. */\nexport interface ManagedClusterWorkloadAutoScalerProfileKeda {\n /** Whether to enable KEDA. */\n enabled: boolean;\n}\n\nexport function managedClusterWorkloadAutoScalerProfileKedaSerializer(\n item: ManagedClusterWorkloadAutoScalerProfileKeda,\n): any {\n return { enabled: item[\"enabled\"] };\n}\n\nexport function managedClusterWorkloadAutoScalerProfileKedaDeserializer(\n item: any,\n): ManagedClusterWorkloadAutoScalerProfileKeda {\n return {\n enabled: item[\"enabled\"],\n };\n}\n\n/** VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile. */\nexport interface ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler {\n /** Whether to enable VPA. Default value is false. */\n enabled: boolean;\n}\n\nexport function managedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerSerializer(\n item: ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler,\n): any {\n return { enabled: item[\"enabled\"] };\n}\n\nexport function managedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerDeserializer(\n item: any,\n): ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler {\n return {\n enabled: item[\"enabled\"],\n };\n}\n\n/** Azure Monitor addon profiles for monitoring the managed cluster. */\nexport interface ManagedClusterAzureMonitorProfile {\n /** Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview. */\n metrics?: ManagedClusterAzureMonitorProfileMetrics;\n /** Application Monitoring Profile for Kubernetes Application Container. Collects application logs, metrics and traces through auto-instrumentation of the application using Azure Monitor OpenTelemetry based SDKs. See aka.ms/AzureMonitorApplicationMonitoring for an overview. */\n appMonitoring?: ManagedClusterAzureMonitorProfileAppMonitoring;\n}\n\nexport function managedClusterAzureMonitorProfileSerializer(\n item: ManagedClusterAzureMonitorProfile,\n): any {\n return {\n metrics: !item[\"metrics\"]\n ? item[\"metrics\"]\n : managedClusterAzureMonitorProfileMetricsSerializer(item[\"metrics\"]),\n appMonitoring: !item[\"appMonitoring\"]\n ? item[\"appMonitoring\"]\n : managedClusterAzureMonitorProfileAppMonitoringSerializer(item[\"appMonitoring\"]),\n };\n}\n\nexport function managedClusterAzureMonitorProfileDeserializer(\n item: any,\n): ManagedClusterAzureMonitorProfile {\n return {\n metrics: !item[\"metrics\"]\n ? item[\"metrics\"]\n : managedClusterAzureMonitorProfileMetricsDeserializer(item[\"metrics\"]),\n appMonitoring: !item[\"appMonitoring\"]\n ? item[\"appMonitoring\"]\n : managedClusterAzureMonitorProfileAppMonitoringDeserializer(item[\"appMonitoring\"]),\n };\n}\n\n/** Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview. */\nexport interface ManagedClusterAzureMonitorProfileMetrics {\n /** Whether to enable or disable the Azure Managed Prometheus addon for Prometheus monitoring. See aka.ms/AzureManagedPrometheus-aks-enable for details on enabling and disabling. */\n enabled: boolean;\n /** Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for details. */\n kubeStateMetrics?: ManagedClusterAzureMonitorProfileKubeStateMetrics;\n}\n\nexport function managedClusterAzureMonitorProfileMetricsSerializer(\n item: ManagedClusterAzureMonitorProfileMetrics,\n): any {\n return {\n enabled: item[\"enabled\"],\n kubeStateMetrics: !item[\"kubeStateMetrics\"]\n ? item[\"kubeStateMetrics\"]\n : managedClusterAzureMonitorProfileKubeStateMetricsSerializer(item[\"kubeStateMetrics\"]),\n };\n}\n\nexport function managedClusterAzureMonitorProfileMetricsDeserializer(\n item: any,\n): ManagedClusterAzureMonitorProfileMetrics {\n return {\n enabled: item[\"enabled\"],\n kubeStateMetrics: !item[\"kubeStateMetrics\"]\n ? item[\"kubeStateMetrics\"]\n : managedClusterAzureMonitorProfileKubeStateMetricsDeserializer(item[\"kubeStateMetrics\"]),\n };\n}\n\n/** Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for details. */\nexport interface ManagedClusterAzureMonitorProfileKubeStateMetrics {\n /** Comma-separated list of additional Kubernetes label keys that will be used in the resource's labels metric (Example: 'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...'). By default the metric contains only resource name and namespace labels. */\n metricLabelsAllowlist?: string;\n /** Comma-separated list of Kubernetes annotation keys that will be used in the resource's labels metric (Example: 'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...'). By default the metric contains only resource name and namespace labels. */\n metricAnnotationsAllowList?: string;\n}\n\nexport function managedClusterAzureMonitorProfileKubeStateMetricsSerializer(\n item: ManagedClusterAzureMonitorProfileKubeStateMetrics,\n): any {\n return {\n metricLabelsAllowlist: item[\"metricLabelsAllowlist\"],\n metricAnnotationsAllowList: item[\"metricAnnotationsAllowList\"],\n };\n}\n\nexport function managedClusterAzureMonitorProfileKubeStateMetricsDeserializer(\n item: any,\n): ManagedClusterAzureMonitorProfileKubeStateMetrics {\n return {\n metricLabelsAllowlist: item[\"metricLabelsAllowlist\"],\n metricAnnotationsAllowList: item[\"metricAnnotationsAllowList\"],\n };\n}\n\n/** Application Monitoring profile for AKS. */\nexport interface ManagedClusterAzureMonitorProfileAppMonitoring {\n /** Application Monitoring auto-instrumentation for AKS. Deploys a webhook that auto-instruments workloads with Microsoft OpenTelemetry Distros to collect OpenTelemetry metrics, logs, and traces. See https://aka.ms/AKSAppMonitoringDocs and https://aka.ms/AzureMonitorApplicationMonitoring for an overview. */\n autoInstrumentation?: ManagedClusterAzureMonitorProfileAppMonitoringAutoInstrumentation;\n}\n\nexport function managedClusterAzureMonitorProfileAppMonitoringSerializer(\n item: ManagedClusterAzureMonitorProfileAppMonitoring,\n): any {\n return {\n autoInstrumentation: !item[\"autoInstrumentation\"]\n ? item[\"autoInstrumentation\"]\n : managedClusterAzureMonitorProfileAppMonitoringAutoInstrumentationSerializer(\n item[\"autoInstrumentation\"],\n ),\n };\n}\n\nexport function managedClusterAzureMonitorProfileAppMonitoringDeserializer(\n item: any,\n): ManagedClusterAzureMonitorProfileAppMonitoring {\n return {\n autoInstrumentation: !item[\"autoInstrumentation\"]\n ? item[\"autoInstrumentation\"]\n : managedClusterAzureMonitorProfileAppMonitoringAutoInstrumentationDeserializer(\n item[\"autoInstrumentation\"],\n ),\n };\n}\n\n/** Application Monitoring auto-instrumentation for AKS. Deploys a webhook that auto-instruments workloads with Microsoft OpenTelemetry Distros to collect OpenTelemetry metrics, logs, and traces. See https://aka.ms/AKSAppMonitoringDocs and https://aka.ms/AzureMonitorApplicationMonitoring for an overview. */\nexport interface ManagedClusterAzureMonitorProfileAppMonitoringAutoInstrumentation {\n /** Indicates if Application Monitoring Auto-instrumentation is enabled or not. */\n enabled?: boolean;\n}\n\nexport function managedClusterAzureMonitorProfileAppMonitoringAutoInstrumentationSerializer(\n item: ManagedClusterAzureMonitorProfileAppMonitoringAutoInstrumentation,\n): any {\n return { enabled: item[\"enabled\"] };\n}\n\nexport function managedClusterAzureMonitorProfileAppMonitoringAutoInstrumentationDeserializer(\n item: any,\n): ManagedClusterAzureMonitorProfileAppMonitoringAutoInstrumentation {\n return {\n enabled: item[\"enabled\"],\n };\n}\n\n/** Service mesh profile for a managed cluster. */\nexport interface ServiceMeshProfile {\n /** Mode of the service mesh. */\n mode: ServiceMeshMode;\n /** Istio service mesh configuration. */\n istio?: IstioServiceMesh;\n}\n\nexport function serviceMeshProfileSerializer(item: ServiceMeshProfile): any {\n return {\n mode: item[\"mode\"],\n istio: !item[\"istio\"] ? item[\"istio\"] : istioServiceMeshSerializer(item[\"istio\"]),\n };\n}\n\nexport function serviceMeshProfileDeserializer(item: any): ServiceMeshProfile {\n return {\n mode: item[\"mode\"],\n istio: !item[\"istio\"] ? item[\"istio\"] : istioServiceMeshDeserializer(item[\"istio\"]),\n };\n}\n\n/** Mode of the service mesh. */\nexport enum KnownServiceMeshMode {\n /** Istio deployed as an AKS addon. */\n Istio = \"Istio\",\n /** Mesh is disabled. */\n Disabled = \"Disabled\",\n}\n\n/**\n * Mode of the service mesh. \\\n * {@link KnownServiceMeshMode} can be used interchangeably with ServiceMeshMode,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Istio**: Istio deployed as an AKS addon. \\\n * **Disabled**: Mesh is disabled.\n */\nexport type ServiceMeshMode = string;\n\n/** Istio service mesh configuration. */\nexport interface IstioServiceMesh {\n /** Istio components configuration. */\n components?: IstioComponents;\n /** Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described here https://aka.ms/asm-plugin-ca */\n certificateAuthority?: IstioCertificateAuthority;\n /** The list of revisions of the Istio control plane. When an upgrade is not in progress, this holds one value. When canary upgrade is in progress, this can only hold two consecutive values. For more information, see: https://learn.microsoft.com/en-us/azure/aks/istio-upgrade */\n revisions?: string[];\n}\n\nexport function istioServiceMeshSerializer(item: IstioServiceMesh): any {\n return {\n components: !item[\"components\"]\n ? item[\"components\"]\n : istioComponentsSerializer(item[\"components\"]),\n certificateAuthority: !item[\"certificateAuthority\"]\n ? item[\"certificateAuthority\"]\n : istioCertificateAuthoritySerializer(item[\"certificateAuthority\"]),\n revisions: !item[\"revisions\"]\n ? item[\"revisions\"]\n : item[\"revisions\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function istioServiceMeshDeserializer(item: any): IstioServiceMesh {\n return {\n components: !item[\"components\"]\n ? item[\"components\"]\n : istioComponentsDeserializer(item[\"components\"]),\n certificateAuthority: !item[\"certificateAuthority\"]\n ? item[\"certificateAuthority\"]\n : istioCertificateAuthorityDeserializer(item[\"certificateAuthority\"]),\n revisions: !item[\"revisions\"]\n ? item[\"revisions\"]\n : item[\"revisions\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Istio components configuration. */\nexport interface IstioComponents {\n /** Istio ingress gateways. */\n ingressGateways?: IstioIngressGateway[];\n /** Istio egress gateways. */\n egressGateways?: IstioEgressGateway[];\n /** Mode of traffic redirection. */\n proxyRedirectionMechanism?: ProxyRedirectionMechanism;\n}\n\nexport function istioComponentsSerializer(item: IstioComponents): any {\n return {\n ingressGateways: !item[\"ingressGateways\"]\n ? item[\"ingressGateways\"]\n : istioIngressGatewayArraySerializer(item[\"ingressGateways\"]),\n egressGateways: !item[\"egressGateways\"]\n ? item[\"egressGateways\"]\n : istioEgressGatewayArraySerializer(item[\"egressGateways\"]),\n proxyRedirectionMechanism: item[\"proxyRedirectionMechanism\"],\n };\n}\n\nexport function istioComponentsDeserializer(item: any): IstioComponents {\n return {\n ingressGateways: !item[\"ingressGateways\"]\n ? item[\"ingressGateways\"]\n : istioIngressGatewayArrayDeserializer(item[\"ingressGateways\"]),\n egressGateways: !item[\"egressGateways\"]\n ? item[\"egressGateways\"]\n : istioEgressGatewayArrayDeserializer(item[\"egressGateways\"]),\n proxyRedirectionMechanism: item[\"proxyRedirectionMechanism\"],\n };\n}\n\nexport function istioIngressGatewayArraySerializer(result: Array<IstioIngressGateway>): any[] {\n return result.map((item) => {\n return istioIngressGatewaySerializer(item);\n });\n}\n\nexport function istioIngressGatewayArrayDeserializer(result: Array<IstioIngressGateway>): any[] {\n return result.map((item) => {\n return istioIngressGatewayDeserializer(item);\n });\n}\n\n/** Istio ingress gateway configuration. For now, we support up to one external ingress gateway named `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`. */\nexport interface IstioIngressGateway {\n /** Mode of an ingress gateway. */\n mode: IstioIngressGatewayMode;\n /** Whether to enable the ingress gateway. */\n enabled: boolean;\n}\n\nexport function istioIngressGatewaySerializer(item: IstioIngressGateway): any {\n return { mode: item[\"mode\"], enabled: item[\"enabled\"] };\n}\n\nexport function istioIngressGatewayDeserializer(item: any): IstioIngressGateway {\n return {\n mode: item[\"mode\"],\n enabled: item[\"enabled\"],\n };\n}\n\n/** Mode of an ingress gateway. */\nexport enum KnownIstioIngressGatewayMode {\n /** The ingress gateway is assigned a public IP address and is publicly accessible. */\n External = \"External\",\n /** The ingress gateway is assigned an internal IP address and cannot is accessed publicly. */\n Internal = \"Internal\",\n}\n\n/**\n * Mode of an ingress gateway. \\\n * {@link KnownIstioIngressGatewayMode} can be used interchangeably with IstioIngressGatewayMode,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **External**: The ingress gateway is assigned a public IP address and is publicly accessible. \\\n * **Internal**: The ingress gateway is assigned an internal IP address and cannot is accessed publicly.\n */\nexport type IstioIngressGatewayMode = string;\n\nexport function istioEgressGatewayArraySerializer(result: Array<IstioEgressGateway>): any[] {\n return result.map((item) => {\n return istioEgressGatewaySerializer(item);\n });\n}\n\nexport function istioEgressGatewayArrayDeserializer(result: Array<IstioEgressGateway>): any[] {\n return result.map((item) => {\n return istioEgressGatewayDeserializer(item);\n });\n}\n\n/** Istio egress gateway configuration. */\nexport interface IstioEgressGateway {\n /** Whether to enable the egress gateway. */\n enabled: boolean;\n /** Name of the Istio add-on egress gateway. */\n name: string;\n /** Namespace that the Istio add-on egress gateway should be deployed in. If unspecified, the default is aks-istio-egress. */\n namespace?: string;\n /** Name of the gateway configuration custom resource for the Istio add-on egress gateway. Must be specified when enabling the Istio egress gateway. Must be deployed in the same namespace that the Istio egress gateway will be deployed in. */\n gatewayConfigurationName?: string;\n}\n\nexport function istioEgressGatewaySerializer(item: IstioEgressGateway): any {\n return {\n enabled: item[\"enabled\"],\n name: item[\"name\"],\n namespace: item[\"namespace\"],\n gatewayConfigurationName: item[\"gatewayConfigurationName\"],\n };\n}\n\nexport function istioEgressGatewayDeserializer(item: any): IstioEgressGateway {\n return {\n enabled: item[\"enabled\"],\n name: item[\"name\"],\n namespace: item[\"namespace\"],\n gatewayConfigurationName: item[\"gatewayConfigurationName\"],\n };\n}\n\n/** Mode of traffic redirection. */\nexport enum KnownProxyRedirectionMechanism {\n /** Istio will inject an init container into each pod to redirect traffic (requires NET_ADMIN and NET_RAW). */\n InitContainers = \"InitContainers\",\n /** Istio will install a chained CNI plugin to redirect traffic (recommended). */\n CNIChaining = \"CNIChaining\",\n}\n\n/**\n * Mode of traffic redirection. \\\n * {@link KnownProxyRedirectionMechanism} can be used interchangeably with ProxyRedirectionMechanism,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **InitContainers**: Istio will inject an init container into each pod to redirect traffic (requires NET_ADMIN and NET_RAW). \\\n * **CNIChaining**: Istio will install a chained CNI plugin to redirect traffic (recommended).\n */\nexport type ProxyRedirectionMechanism = string;\n\n/** Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described here https://aka.ms/asm-plugin-ca */\nexport interface IstioCertificateAuthority {\n /** Plugin certificates information for Service Mesh. */\n plugin?: IstioPluginCertificateAuthority;\n}\n\nexport function istioCertificateAuthoritySerializer(item: IstioCertificateAuthority): any {\n return {\n plugin: !item[\"plugin\"]\n ? item[\"plugin\"]\n : istioPluginCertificateAuthoritySerializer(item[\"plugin\"]),\n };\n}\n\nexport function istioCertificateAuthorityDeserializer(item: any): IstioCertificateAuthority {\n return {\n plugin: !item[\"plugin\"]\n ? item[\"plugin\"]\n : istioPluginCertificateAuthorityDeserializer(item[\"plugin\"]),\n };\n}\n\n/** Plugin certificates information for Service Mesh. */\nexport interface IstioPluginCertificateAuthority {\n /** The resource ID of the Key Vault. */\n keyVaultId?: string;\n /** Intermediate certificate object name in Azure Key Vault. */\n certObjectName?: string;\n /** Intermediate certificate private key object name in Azure Key Vault. */\n keyObjectName?: string;\n /** Root certificate object name in Azure Key Vault. */\n rootCertObjectName?: string;\n /** Certificate chain object name in Azure Key Vault. */\n certChainObjectName?: string;\n}\n\nexport function istioPluginCertificateAuthoritySerializer(\n item: IstioPluginCertificateAuthority,\n): any {\n return {\n keyVaultId: item[\"keyVaultId\"],\n certObjectName: item[\"certObjectName\"],\n keyObjectName: item[\"keyObjectName\"],\n rootCertObjectName: item[\"rootCertObjectName\"],\n certChainObjectName: item[\"certChainObjectName\"],\n };\n}\n\nexport function istioPluginCertificateAuthorityDeserializer(\n item: any,\n): IstioPluginCertificateAuthority {\n return {\n keyVaultId: item[\"keyVaultId\"],\n certObjectName: item[\"certObjectName\"],\n keyObjectName: item[\"keyObjectName\"],\n rootCertObjectName: item[\"rootCertObjectName\"],\n certChainObjectName: item[\"certChainObjectName\"],\n };\n}\n\n/** The metrics profile for the ManagedCluster. */\nexport interface ManagedClusterMetricsProfile {\n /** The configuration for detailed per-Kubernetes resource cost analysis. */\n costAnalysis?: ManagedClusterCostAnalysis;\n}\n\nexport function managedClusterMetricsProfileSerializer(item: ManagedClusterMetricsProfile): any {\n return {\n costAnalysis: !item[\"costAnalysis\"]\n ? item[\"costAnalysis\"]\n : managedClusterCostAnalysisSerializer(item[\"costAnalysis\"]),\n };\n}\n\nexport function managedClusterMetricsProfileDeserializer(item: any): ManagedClusterMetricsProfile {\n return {\n costAnalysis: !item[\"costAnalysis\"]\n ? item[\"costAnalysis\"]\n : managedClusterCostAnalysisDeserializer(item[\"costAnalysis\"]),\n };\n}\n\n/** The cost analysis configuration for the cluster */\nexport interface ManagedClusterCostAnalysis {\n /** Whether to enable cost analysis. The Managed Cluster sku.tier must be set to 'Standard' or 'Premium' to enable this feature. Enabling this will add Kubernetes Namespace and Deployment details to the Cost Analysis views in the Azure portal. If not specified, the default is false. For more information see aka.ms/aks/docs/cost-analysis. */\n enabled?: boolean;\n}\n\nexport function managedClusterCostAnalysisSerializer(item: ManagedClusterCostAnalysis): any {\n return { enabled: item[\"enabled\"] };\n}\n\nexport function managedClusterCostAnalysisDeserializer(item: any): ManagedClusterCostAnalysis {\n return {\n enabled: item[\"enabled\"],\n };\n}\n\n/** Node provisioning profile for the managed cluster. */\nexport interface ManagedClusterNodeProvisioningProfile {\n /** The node provisioning mode. If not specified, the default is Manual. */\n mode?: NodeProvisioningMode;\n /** The set of default Karpenter NodePools (CRDs) configured for node provisioning. This field has no effect unless mode is 'Auto'. Warning: Changing this from Auto to None on an existing cluster will cause the default Karpenter NodePools to be deleted, which will drain and delete the nodes associated with those pools. It is strongly recommended to not do this unless there are idle nodes ready to take the pods evicted by that action. If not specified, the default is Auto. For more information see aka.ms/aks/nap#node-pools. */\n defaultNodePools?: NodeProvisioningDefaultNodePools;\n}\n\nexport function managedClusterNodeProvisioningProfileSerializer(\n item: ManagedClusterNodeProvisioningProfile,\n): any {\n return { mode: item[\"mode\"], defaultNodePools: item[\"defaultNodePools\"] };\n}\n\nexport function managedClusterNodeProvisioningProfileDeserializer(\n item: any,\n): ManagedClusterNodeProvisioningProfile {\n return {\n mode: item[\"mode\"],\n defaultNodePools: item[\"defaultNodePools\"],\n };\n}\n\n/** The node provisioning mode. If not specified, the default is Manual. */\nexport enum KnownNodeProvisioningMode {\n /** Nodes are provisioned manually by the user */\n Manual = \"Manual\",\n /** Nodes are provisioned automatically by AKS using Karpenter (See aka.ms/aks/nap for more details). Fixed size Node Pools can still be created, but autoscaling Node Pools cannot be. (See aka.ms/aks/nap for more details). */\n Auto = \"Auto\",\n}\n\n/**\n * The node provisioning mode. If not specified, the default is Manual. \\\n * {@link KnownNodeProvisioningMode} can be used interchangeably with NodeProvisioningMode,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Manual**: Nodes are provisioned manually by the user \\\n * **Auto**: Nodes are provisioned automatically by AKS using Karpenter (See aka.ms\\/aks\\/nap for more details). Fixed size Node Pools can still be created, but autoscaling Node Pools cannot be. (See aka.ms\\/aks\\/nap for more details).\n */\nexport type NodeProvisioningMode = string;\n\n/** The set of default Karpenter NodePools (CRDs) configured for node provisioning. This field has no effect unless mode is 'Auto'. Warning: Changing this from Auto to None on an existing cluster will cause the default Karpenter NodePools to be deleted, which will drain and delete the nodes associated with those pools. It is strongly recommended to not do this unless there are idle nodes ready to take the pods evicted by that action. If not specified, the default is Auto. For more information see aka.ms/aks/nap#node-pools. */\nexport enum KnownNodeProvisioningDefaultNodePools {\n /** No Karpenter NodePools are provisioned automatically. Automatic scaling will not happen unless the user creates one or more NodePool CRD instances. */\n None = \"None\",\n /** A standard set of Karpenter NodePools are provisioned */\n Auto = \"Auto\",\n}\n\n/**\n * The set of default Karpenter NodePools (CRDs) configured for node provisioning. This field has no effect unless mode is 'Auto'. Warning: Changing this from Auto to None on an existing cluster will cause the default Karpenter NodePools to be deleted, which will drain and delete the nodes associated with those pools. It is strongly recommended to not do this unless there are idle nodes ready to take the pods evicted by that action. If not specified, the default is Auto. For more information see aka.ms/aks/nap#node-pools. \\\n * {@link KnownNodeProvisioningDefaultNodePools} can be used interchangeably with NodeProvisioningDefaultNodePools,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **None**: No Karpenter NodePools are provisioned automatically. Automatic scaling will not happen unless the user creates one or more NodePool CRD instances. \\\n * **Auto**: A standard set of Karpenter NodePools are provisioned\n */\nexport type NodeProvisioningDefaultNodePools = string;\n\n/** The bootstrap profile. */\nexport interface ManagedClusterBootstrapProfile {\n /** The artifact source. The source where the artifacts are downloaded from. */\n artifactSource?: ArtifactSource;\n /** The resource Id of Azure Container Registry. The registry must have private network access, premium SKU and zone redundancy. */\n containerRegistryId?: string;\n}\n\nexport function managedClusterBootstrapProfileSerializer(\n item: ManagedClusterBootstrapProfile,\n): any {\n return {\n artifactSource: item[\"artifactSource\"],\n containerRegistryId: item[\"containerRegistryId\"],\n };\n}\n\nexport function managedClusterBootstrapProfileDeserializer(\n item: any,\n): ManagedClusterBootstrapProfile {\n return {\n artifactSource: item[\"artifactSource\"],\n containerRegistryId: item[\"containerRegistryId\"],\n };\n}\n\n/** The artifact source. The source where the artifacts are downloaded from. */\nexport enum KnownArtifactSource {\n /** pull images from Azure Container Registry with cache */\n Cache = \"Cache\",\n /** pull images from Microsoft Artifact Registry */\n Direct = \"Direct\",\n}\n\n/**\n * The artifact source. The source where the artifacts are downloaded from. \\\n * {@link KnownArtifactSource} can be used interchangeably with ArtifactSource,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Cache**: pull images from Azure Container Registry with cache \\\n * **Direct**: pull images from Microsoft Artifact Registry\n */\nexport type ArtifactSource = string;\n\n/** When enabling the operator, a set of AKS managed CRDs and controllers will be installed in the cluster. The operator automates the deployment of OSS models for inference and/or training purposes. It provides a set of preset models and enables distributed inference against them. */\nexport interface ManagedClusterAIToolchainOperatorProfile {\n /** Whether to enable AI toolchain operator to the cluster. Indicates if AI toolchain operator enabled or not. */\n enabled?: boolean;\n}\n\nexport function managedClusterAIToolchainOperatorProfileSerializer(\n item: ManagedClusterAIToolchainOperatorProfile,\n): any {\n return { enabled: item[\"enabled\"] };\n}\n\nexport function managedClusterAIToolchainOperatorProfileDeserializer(\n item: any,\n): ManagedClusterAIToolchainOperatorProfile {\n return {\n enabled: item[\"enabled\"],\n };\n}\n\n/** Settings for hosted system addons. */\nexport interface ManagedClusterHostedSystemProfile {\n /** Whether to enable hosted system addons for the cluster. */\n enabled?: boolean;\n /** The ID of the subnet that will be joined by system nodes managed and hosted by AKS for running critical system addons. This ID must be provided together with `nodeSubnetID` and `apiserverAccessProfile.subnetId`, and all three subnet IDs must belong to the same VNet. If you don’t specify it, AKS will create a subnet in the managed resource group using a default /26 CIDR. */\n systemNodeSubnetID?: string;\n /** The ID of the subnet that will be joined by worker nodes managed by node auto provisioner for running workload pods in your tenant. This must be provided together with `systemNodeSubnetID` and `apiserverAccessProfile.subnetId`, and all three subnet IDs must be in the same VNet. If you don’t specify it, AKS will create a subnet in the managed resource group using a default /16 CIDR. */\n nodeSubnetID?: string;\n}\n\nexport function managedClusterHostedSystemProfileSerializer(\n item: ManagedClusterHostedSystemProfile,\n): any {\n return {\n enabled: item[\"enabled\"],\n systemNodeSubnetID: item[\"systemNodeSubnetID\"],\n nodeSubnetID: item[\"nodeSubnetID\"],\n };\n}\n\nexport function managedClusterHostedSystemProfileDeserializer(\n item: any,\n): ManagedClusterHostedSystemProfile {\n return {\n enabled: item[\"enabled\"],\n systemNodeSubnetID: item[\"systemNodeSubnetID\"],\n nodeSubnetID: item[\"nodeSubnetID\"],\n };\n}\n\n/** Contains read-only information about the Managed Cluster. */\nexport interface ManagedClusterStatus {\n /** The error details information of the managed cluster. Preserves the detailed info of failure. If there was no error, this field is omitted. */\n readonly provisioningError?: ErrorDetail;\n}\n\nexport function managedClusterStatusSerializer(_item: ManagedClusterStatus): any {\n return {};\n}\n\nexport function managedClusterStatusDeserializer(item: any): ManagedClusterStatus {\n return {\n provisioningError: !item[\"provisioningError\"]\n ? item[\"provisioningError\"]\n : errorDetailDeserializer(item[\"provisioningError\"]),\n };\n}\n\n/** The SKU of a Managed Cluster. */\nexport interface ManagedClusterSKU {\n /** The name of a managed cluster SKU. */\n name?: ManagedClusterSKUName;\n /** The tier of a managed cluster SKU. If not specified, the default is 'Free'. See [AKS Pricing Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. */\n tier?: ManagedClusterSKUTier;\n}\n\nexport function managedClusterSKUSerializer(item: ManagedClusterSKU): any {\n return { name: item[\"name\"], tier: item[\"tier\"] };\n}\n\nexport function managedClusterSKUDeserializer(item: any): ManagedClusterSKU {\n return {\n name: item[\"name\"],\n tier: item[\"tier\"],\n };\n}\n\n/** The name of a managed cluster SKU. */\nexport enum KnownManagedClusterSKUName {\n /** Base option for the AKS control plane. */\n Base = \"Base\",\n /** Automatic clusters are optimized to run most production workloads with configuration that follows AKS best practices and recommendations for cluster and workload setup, scalability, and security. For more details about Automatic clusters see aka.ms/aks/automatic. */\n Automatic = \"Automatic\",\n}\n\n/**\n * The name of a managed cluster SKU. \\\n * {@link KnownManagedClusterSKUName} can be used interchangeably with ManagedClusterSKUName,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Base**: Base option for the AKS control plane. \\\n * **Automatic**: Automatic clusters are optimized to run most production workloads with configuration that follows AKS best practices and recommendations for cluster and workload setup, scalability, and security. For more details about Automatic clusters see aka.ms\\/aks\\/automatic.\n */\nexport type ManagedClusterSKUName = string;\n\n/** The tier of a managed cluster SKU. If not specified, the default is 'Free'. See [AKS Pricing Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. */\nexport enum KnownManagedClusterSKUTier {\n /** Cluster has premium capabilities in addition to all of the capabilities included in 'Standard'. Premium enables selection of LongTermSupport (aka.ms/aks/lts) for certain Kubernetes versions. */\n Premium = \"Premium\",\n /** Recommended for mission-critical and production workloads. Includes Kubernetes control plane autoscaling, workload-intensive testing, and up to 5,000 nodes per cluster. Guarantees 99.95% availability of the Kubernetes API server endpoint for clusters that use Availability Zones and 99.9% of availability for clusters that don't use Availability Zones. */\n Standard = \"Standard\",\n /** The cluster management is free, but charged for VM, storage, and networking usage. Best for experimenting, learning, simple testing, or workloads with fewer than 10 nodes. Not recommended for production use cases. */\n Free = \"Free\",\n}\n\n/**\n * The tier of a managed cluster SKU. If not specified, the default is 'Free'. See [AKS Pricing Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. \\\n * {@link KnownManagedClusterSKUTier} can be used interchangeably with ManagedClusterSKUTier,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Premium**: Cluster has premium capabilities in addition to all of the capabilities included in 'Standard'. Premium enables selection of LongTermSupport (aka.ms\\/aks\\/lts) for certain Kubernetes versions. \\\n * **Standard**: Recommended for mission-critical and production workloads. Includes Kubernetes control plane autoscaling, workload-intensive testing, and up to 5,000 nodes per cluster. Guarantees 99.95% availability of the Kubernetes API server endpoint for clusters that use Availability Zones and 99.9% of availability for clusters that don't use Availability Zones. \\\n * **Free**: The cluster management is free, but charged for VM, storage, and networking usage. Best for experimenting, learning, simple testing, or workloads with fewer than 10 nodes. Not recommended for production use cases.\n */\nexport type ManagedClusterSKUTier = string;\n\n/** The complex type of the extended location. */\nexport interface ExtendedLocation {\n /** The name of the extended location. */\n name?: string;\n /** The type of the extended location. */\n type?: ExtendedLocationTypes;\n}\n\nexport function extendedLocationSerializer(item: ExtendedLocation): any {\n return { name: item[\"name\"], type: item[\"type\"] };\n}\n\nexport function extendedLocationDeserializer(item: any): ExtendedLocation {\n return {\n name: item[\"name\"],\n type: item[\"type\"],\n };\n}\n\n/** The type of extendedLocation. */\nexport enum KnownExtendedLocationTypes {\n /** Azure Edge Zone extended location type. */\n EdgeZone = \"EdgeZone\",\n}\n\n/**\n * The type of extendedLocation. \\\n * {@link KnownExtendedLocationTypes} can be used interchangeably with ExtendedLocationTypes,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **EdgeZone**: Azure Edge Zone extended location type.\n */\nexport type ExtendedLocationTypes = string;\n\n/** Identity for the managed cluster. */\nexport interface ManagedClusterIdentity {\n /** The principal id of the system assigned identity which is used by master components. */\n readonly principalId?: string;\n /** The tenant id of the system assigned identity which is used by master components. */\n readonly tenantId?: string;\n /** The type of identity used for the managed cluster. For more information see [use managed identities in AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). */\n type?: ResourceIdentityType;\n /** The delegated identity resources assigned to this managed cluster. This can only be set by another Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only. */\n delegatedResources?: Record<string, DelegatedResource>;\n /** The user identity associated with the managed cluster. This identity will be used in control plane. Only one user assigned identity is allowed. The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. */\n userAssignedIdentities?: Record<string, ManagedServiceIdentityUserAssignedIdentitiesValue>;\n}\n\nexport function managedClusterIdentitySerializer(item: ManagedClusterIdentity): any {\n return {\n type: item[\"type\"],\n delegatedResources: !item[\"delegatedResources\"]\n ? item[\"delegatedResources\"]\n : delegatedResourceRecordSerializer(item[\"delegatedResources\"]),\n userAssignedIdentities: !item[\"userAssignedIdentities\"]\n ? item[\"userAssignedIdentities\"]\n : managedServiceIdentityUserAssignedIdentitiesValueRecordSerializer(\n item[\"userAssignedIdentities\"],\n ),\n };\n}\n\nexport function managedClusterIdentityDeserializer(item: any): ManagedClusterIdentity {\n return {\n principalId: item[\"principalId\"],\n tenantId: item[\"tenantId\"],\n type: item[\"type\"],\n delegatedResources: !item[\"delegatedResources\"]\n ? item[\"delegatedResources\"]\n : delegatedResourceRecordDeserializer(item[\"delegatedResources\"]),\n userAssignedIdentities: !item[\"userAssignedIdentities\"]\n ? item[\"userAssignedIdentities\"]\n : managedServiceIdentityUserAssignedIdentitiesValueRecordDeserializer(\n item[\"userAssignedIdentities\"],\n ),\n };\n}\n\n/** The type of identity used for the managed cluster. For more information see [use managed identities in AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). */\nexport enum KnownResourceIdentityType {\n /** Use an implicitly created system assigned managed identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the system assigned managed identity to manipulate Azure resources. */\n SystemAssigned = \"SystemAssigned\",\n /** Use a user-specified identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the specified user assigned managed identity to manipulate Azure resources. */\n UserAssigned = \"UserAssigned\",\n /** Do not use a managed identity for the Managed Cluster, service principal will be used instead. */\n None = \"None\",\n}\n\n/**\n * The type of identity used for the managed cluster. For more information see [use managed identities in AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). \\\n * {@link KnownResourceIdentityType} can be used interchangeably with ResourceIdentityType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **SystemAssigned**: Use an implicitly created system assigned managed identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the system assigned managed identity to manipulate Azure resources. \\\n * **UserAssigned**: Use a user-specified identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the specified user assigned managed identity to manipulate Azure resources. \\\n * **None**: Do not use a managed identity for the Managed Cluster, service principal will be used instead.\n */\nexport type ResourceIdentityType = string;\n\nexport function delegatedResourceRecordSerializer(\n item: Record<string, DelegatedResource>,\n): Record<string, any> {\n const result: Record<string, any> = {};\n Object.keys(item).map((key) => {\n result[key] = !item[key] ? item[key] : delegatedResourceSerializer(item[key]);\n });\n return result;\n}\n\nexport function delegatedResourceRecordDeserializer(\n item: Record<string, any>,\n): Record<string, DelegatedResource> {\n const result: Record<string, any> = {};\n Object.keys(item).map((key) => {\n result[key] = !item[key] ? item[key] : delegatedResourceDeserializer(item[key]);\n });\n return result;\n}\n\n/** Delegated resource properties - internal use only. */\nexport interface DelegatedResource {\n /** The ARM resource id of the delegated resource - internal use only. */\n resourceId?: string;\n /** The tenant id of the delegated resource - internal use only. */\n tenantId?: string;\n /** The delegation id of the referral delegation (optional) - internal use only. */\n referralResource?: string;\n /** The source resource location - internal use only. */\n location?: string;\n}\n\nexport function delegatedResourceSerializer(item: DelegatedResource): any {\n return {\n resourceId: item[\"resourceId\"],\n tenantId: item[\"tenantId\"],\n referralResource: item[\"referralResource\"],\n location: item[\"location\"],\n };\n}\n\nexport function delegatedResourceDeserializer(item: any): DelegatedResource {\n return {\n resourceId: item[\"resourceId\"],\n tenantId: item[\"tenantId\"],\n referralResource: item[\"referralResource\"],\n location: item[\"location\"],\n };\n}\n\nexport function managedServiceIdentityUserAssignedIdentitiesValueRecordSerializer(\n item: Record<string, ManagedServiceIdentityUserAssignedIdentitiesValue>,\n): Record<string, any> {\n const result: Record<string, any> = {};\n Object.keys(item).map((key) => {\n result[key] = !item[key]\n ? item[key]\n : managedServiceIdentityUserAssignedIdentitiesValueSerializer(item[key]);\n });\n return result;\n}\n\nexport function managedServiceIdentityUserAssignedIdentitiesValueRecordDeserializer(\n item: Record<string, any>,\n): Record<string, ManagedServiceIdentityUserAssignedIdentitiesValue> {\n const result: Record<string, any> = {};\n Object.keys(item).map((key) => {\n result[key] = !item[key]\n ? item[key]\n : managedServiceIdentityUserAssignedIdentitiesValueDeserializer(item[key]);\n });\n return result;\n}\n\n/** User assigned identity properties. */\nexport interface ManagedServiceIdentityUserAssignedIdentitiesValue {\n /** The principal id of user assigned identity. */\n readonly principalId?: string;\n /** The client id of user assigned identity. */\n readonly clientId?: string;\n}\n\nexport function managedServiceIdentityUserAssignedIdentitiesValueSerializer(\n _item: ManagedServiceIdentityUserAssignedIdentitiesValue,\n): any {\n return {};\n}\n\nexport function managedServiceIdentityUserAssignedIdentitiesValueDeserializer(\n item: any,\n): ManagedServiceIdentityUserAssignedIdentitiesValue {\n return {\n principalId: item[\"principalId\"],\n clientId: item[\"clientId\"],\n };\n}\n\n/** The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location' */\nexport interface TrackedResource extends Resource {\n /** Resource tags. */\n tags?: Record<string, string>;\n /** The geo-location where the resource lives */\n location: string;\n}\n\nexport function trackedResourceSerializer(item: TrackedResource): any {\n return { tags: item[\"tags\"], location: item[\"location\"] };\n}\n\nexport function trackedResourceDeserializer(item: any): TrackedResource {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n location: item[\"location\"],\n };\n}\n\n/** Tags object for patch operations. */\nexport interface TagsObject {\n /** Resource tags. */\n tags?: Record<string, string>;\n}\n\nexport function tagsObjectSerializer(item: TagsObject): any {\n return { tags: item[\"tags\"] };\n}\n\n/** The response of a ManagedCluster list operation. */\nexport interface _ManagedClusterListResult {\n /** The ManagedCluster items on this page */\n value: ManagedCluster[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _managedClusterListResultDeserializer(item: any): _ManagedClusterListResult {\n return {\n value: managedClusterArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function managedClusterArraySerializer(result: Array<ManagedCluster>): any[] {\n return result.map((item) => {\n return managedClusterSerializer(item);\n });\n}\n\nexport function managedClusterArrayDeserializer(result: Array<ManagedCluster>): any[] {\n return result.map((item) => {\n return managedClusterDeserializer(item);\n });\n}\n\n/** Managed cluster Access Profile. */\nexport interface ManagedClusterAccessProfile extends TrackedResource {\n /** Base64-encoded Kubernetes configuration file. */\n kubeConfig?: Uint8Array;\n}\n\nexport function managedClusterAccessProfileDeserializer(item: any): ManagedClusterAccessProfile {\n return {\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _managedClusterAccessProfilePropertiesDeserializer(item[\"properties\"])),\n };\n}\n\n/** Profile for enabling a user to access a managed cluster. */\nexport interface AccessProfile {\n /** Base64-encoded Kubernetes configuration file. */\n kubeConfig?: Uint8Array;\n}\n\nexport function accessProfileDeserializer(item: any): AccessProfile {\n return {\n kubeConfig: !item[\"kubeConfig\"]\n ? item[\"kubeConfig\"]\n : typeof item[\"kubeConfig\"] === \"string\"\n ? stringToUint8Array(item[\"kubeConfig\"], \"base64\")\n : item[\"kubeConfig\"],\n };\n}\n\n/** The list credential result response. */\nexport interface CredentialResults {\n /** Base64-encoded Kubernetes configuration file. */\n readonly kubeconfigs?: CredentialResult[];\n}\n\nexport function credentialResultsDeserializer(item: any): CredentialResults {\n return {\n kubeconfigs: !item[\"kubeconfigs\"]\n ? item[\"kubeconfigs\"]\n : credentialResultArrayDeserializer(item[\"kubeconfigs\"]),\n };\n}\n\nexport function credentialResultArrayDeserializer(result: Array<CredentialResult>): any[] {\n return result.map((item) => {\n return credentialResultDeserializer(item);\n });\n}\n\n/** The credential result response. */\nexport interface CredentialResult {\n /** The name of the credential. */\n readonly name?: string;\n /** Base64-encoded Kubernetes configuration file. */\n readonly value?: Uint8Array;\n}\n\nexport function credentialResultDeserializer(item: any): CredentialResult {\n return {\n name: item[\"name\"],\n value: !item[\"value\"]\n ? item[\"value\"]\n : typeof item[\"value\"] === \"string\"\n ? stringToUint8Array(item[\"value\"], \"base64\")\n : item[\"value\"],\n };\n}\n\n/** A run command request */\nexport interface RunCommandRequest {\n /** The command to run. */\n command: string;\n /** A base64 encoded zip file containing the files required by the command. */\n context?: string;\n /** AuthToken issued for AKS AAD Server App. */\n clusterToken?: string;\n}\n\nexport function runCommandRequestSerializer(item: RunCommandRequest): any {\n return { command: item[\"command\"], context: item[\"context\"], clusterToken: item[\"clusterToken\"] };\n}\n\n/** run command result. */\nexport interface RunCommandResult {\n /** The command id. */\n readonly id?: string;\n /** provisioning State */\n readonly provisioningState?: string;\n /** The exit code of the command */\n readonly exitCode?: number;\n /** The time when the command started. */\n readonly startedAt?: Date;\n /** The time when the command finished. */\n readonly finishedAt?: Date;\n /** The command output. */\n readonly logs?: string;\n /** An explanation of why provisioningState is set to failed (if so). */\n readonly reason?: string;\n}\n\nexport function runCommandResultDeserializer(item: any): RunCommandResult {\n return {\n id: item[\"id\"],\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _runCommandResultPropertiesDeserializer(item[\"properties\"])),\n };\n}\n\n/** The results of a run command */\nexport interface CommandResultProperties {\n /** provisioning State */\n readonly provisioningState?: string;\n /** The exit code of the command */\n readonly exitCode?: number;\n /** The time when the command started. */\n readonly startedAt?: Date;\n /** The time when the command finished. */\n readonly finishedAt?: Date;\n /** The command output. */\n readonly logs?: string;\n /** An explanation of why provisioningState is set to failed (if so). */\n readonly reason?: string;\n}\n\nexport function commandResultPropertiesDeserializer(item: any): CommandResultProperties {\n return {\n provisioningState: item[\"provisioningState\"],\n exitCode: item[\"exitCode\"],\n startedAt: !item[\"startedAt\"] ? item[\"startedAt\"] : new Date(item[\"startedAt\"]),\n finishedAt: !item[\"finishedAt\"] ? item[\"finishedAt\"] : new Date(item[\"finishedAt\"]),\n logs: item[\"logs\"],\n reason: item[\"reason\"],\n };\n}\n\n/** Collection of OutboundEnvironmentEndpoint */\nexport interface _OutboundEnvironmentEndpointCollection {\n /** The OutboundEnvironmentEndpoint items on this page */\n value: OutboundEnvironmentEndpoint[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _outboundEnvironmentEndpointCollectionDeserializer(\n item: any,\n): _OutboundEnvironmentEndpointCollection {\n return {\n value: outboundEnvironmentEndpointArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function outboundEnvironmentEndpointArrayDeserializer(\n result: Array<OutboundEnvironmentEndpoint>,\n): any[] {\n return result.map((item) => {\n return outboundEnvironmentEndpointDeserializer(item);\n });\n}\n\n/** Egress endpoints which AKS agent nodes connect to for common purpose. */\nexport interface OutboundEnvironmentEndpoint {\n /** The category of endpoints accessed by the AKS agent node, e.g. azure-resource-management, apiserver, etc. */\n category?: string;\n /** The endpoints that AKS agent nodes connect to */\n endpoints?: EndpointDependency[];\n}\n\nexport function outboundEnvironmentEndpointDeserializer(item: any): OutboundEnvironmentEndpoint {\n return {\n category: item[\"category\"],\n endpoints: !item[\"endpoints\"]\n ? item[\"endpoints\"]\n : endpointDependencyArrayDeserializer(item[\"endpoints\"]),\n };\n}\n\nexport function endpointDependencyArrayDeserializer(result: Array<EndpointDependency>): any[] {\n return result.map((item) => {\n return endpointDependencyDeserializer(item);\n });\n}\n\n/** A domain name that AKS agent nodes are reaching at. */\nexport interface EndpointDependency {\n /** The domain name of the dependency. */\n domainName?: string;\n /** The Ports and Protocols used when connecting to domainName. */\n endpointDetails?: EndpointDetail[];\n}\n\nexport function endpointDependencyDeserializer(item: any): EndpointDependency {\n return {\n domainName: item[\"domainName\"],\n endpointDetails: !item[\"endpointDetails\"]\n ? item[\"endpointDetails\"]\n : endpointDetailArrayDeserializer(item[\"endpointDetails\"]),\n };\n}\n\nexport function endpointDetailArrayDeserializer(result: Array<EndpointDetail>): any[] {\n return result.map((item) => {\n return endpointDetailDeserializer(item);\n });\n}\n\n/** connect information from the AKS agent nodes to a single endpoint. */\nexport interface EndpointDetail {\n /** An IP Address that Domain Name currently resolves to. */\n ipAddress?: string;\n /** The port an endpoint is connected to. */\n port?: number;\n /** The protocol used for connection */\n protocol?: string;\n /** Description of the detail */\n description?: string;\n}\n\nexport function endpointDetailDeserializer(item: any): EndpointDetail {\n return {\n ipAddress: item[\"ipAddress\"],\n port: item[\"port\"],\n protocol: item[\"protocol\"],\n description: item[\"description\"],\n };\n}\n\n/** The list of available upgrades for compute pools. */\nexport interface ManagedClusterUpgradeProfile extends ProxyResource {\n /** The list of available upgrade versions for the control plane. */\n controlPlaneProfile: ManagedClusterPoolUpgradeProfile;\n /** The list of available upgrade versions for agent pools. */\n agentPoolProfiles: ManagedClusterPoolUpgradeProfile[];\n}\n\nexport function managedClusterUpgradeProfileDeserializer(item: any): ManagedClusterUpgradeProfile {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n ..._managedClusterUpgradeProfilePropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** Control plane and agent pool upgrade profiles. */\nexport interface ManagedClusterUpgradeProfileProperties {\n /** The list of available upgrade versions for the control plane. */\n controlPlaneProfile: ManagedClusterPoolUpgradeProfile;\n /** The list of available upgrade versions for agent pools. */\n agentPoolProfiles: ManagedClusterPoolUpgradeProfile[];\n}\n\nexport function managedClusterUpgradeProfilePropertiesDeserializer(\n item: any,\n): ManagedClusterUpgradeProfileProperties {\n return {\n controlPlaneProfile: managedClusterPoolUpgradeProfileDeserializer(item[\"controlPlaneProfile\"]),\n agentPoolProfiles: managedClusterPoolUpgradeProfileArrayDeserializer(item[\"agentPoolProfiles\"]),\n };\n}\n\n/** The list of available upgrade versions. */\nexport interface ManagedClusterPoolUpgradeProfile {\n /** The Kubernetes version (major.minor.patch). */\n kubernetesVersion: string;\n /** The Agent Pool name. */\n name?: string;\n /** The operating system type. The default is Linux. */\n osType: OSType;\n /** List of orchestrator types and versions available for upgrade. */\n upgrades?: ManagedClusterPoolUpgradeProfileUpgradesItem[];\n}\n\nexport function managedClusterPoolUpgradeProfileDeserializer(\n item: any,\n): ManagedClusterPoolUpgradeProfile {\n return {\n kubernetesVersion: item[\"kubernetesVersion\"],\n name: item[\"name\"],\n osType: item[\"osType\"],\n upgrades: !item[\"upgrades\"]\n ? item[\"upgrades\"]\n : managedClusterPoolUpgradeProfileUpgradesItemArrayDeserializer(item[\"upgrades\"]),\n };\n}\n\nexport function managedClusterPoolUpgradeProfileUpgradesItemArrayDeserializer(\n result: Array<ManagedClusterPoolUpgradeProfileUpgradesItem>,\n): any[] {\n return result.map((item) => {\n return managedClusterPoolUpgradeProfileUpgradesItemDeserializer(item);\n });\n}\n\n/** Available upgrades for an AgentPool. */\nexport interface ManagedClusterPoolUpgradeProfileUpgradesItem {\n /** The Kubernetes version (major.minor.patch). */\n kubernetesVersion?: string;\n /** Whether the Kubernetes version is currently in preview. */\n isPreview?: boolean;\n}\n\nexport function managedClusterPoolUpgradeProfileUpgradesItemDeserializer(\n item: any,\n): ManagedClusterPoolUpgradeProfileUpgradesItem {\n return {\n kubernetesVersion: item[\"kubernetesVersion\"],\n isPreview: item[\"isPreview\"],\n };\n}\n\nexport function managedClusterPoolUpgradeProfileArrayDeserializer(\n result: Array<ManagedClusterPoolUpgradeProfile>,\n): any[] {\n return result.map((item) => {\n return managedClusterPoolUpgradeProfileDeserializer(item);\n });\n}\n\n/** Mesh revision profile for a mesh. */\nexport interface MeshRevisionProfile extends ProxyResource {\n /** Mesh revision profile properties for a mesh */\n properties?: MeshRevisionProfileProperties;\n}\n\nexport function meshRevisionProfileDeserializer(item: any): MeshRevisionProfile {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : meshRevisionProfilePropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** Mesh revision profile properties for a mesh */\nexport interface MeshRevisionProfileProperties {\n /** Available mesh revisions. */\n meshRevisions?: MeshRevision[];\n}\n\nexport function meshRevisionProfilePropertiesDeserializer(\n item: any,\n): MeshRevisionProfileProperties {\n return {\n meshRevisions: !item[\"meshRevisions\"]\n ? item[\"meshRevisions\"]\n : meshRevisionArrayDeserializer(item[\"meshRevisions\"]),\n };\n}\n\nexport function meshRevisionArrayDeserializer(result: Array<MeshRevision>): any[] {\n return result.map((item) => {\n return meshRevisionDeserializer(item);\n });\n}\n\n/** Holds information on upgrades and compatibility for given major.minor mesh release. */\nexport interface MeshRevision {\n /** The revision of the mesh release. */\n revision?: string;\n /** List of revisions available for upgrade of a specific mesh revision */\n upgrades?: string[];\n /** List of items this revision of service mesh is compatible with, and their associated versions. */\n compatibleWith?: CompatibleVersions[];\n}\n\nexport function meshRevisionDeserializer(item: any): MeshRevision {\n return {\n revision: item[\"revision\"],\n upgrades: !item[\"upgrades\"]\n ? item[\"upgrades\"]\n : item[\"upgrades\"].map((p: any) => {\n return p;\n }),\n compatibleWith: !item[\"compatibleWith\"]\n ? item[\"compatibleWith\"]\n : compatibleVersionsArrayDeserializer(item[\"compatibleWith\"]),\n };\n}\n\nexport function compatibleVersionsArrayDeserializer(result: Array<CompatibleVersions>): any[] {\n return result.map((item) => {\n return compatibleVersionsDeserializer(item);\n });\n}\n\n/** Version information about a product/service that is compatible with a service mesh revision. */\nexport interface CompatibleVersions {\n /** The product/service name. */\n name?: string;\n /** Product/service versions compatible with a service mesh add-on revision. */\n versions?: string[];\n}\n\nexport function compatibleVersionsDeserializer(item: any): CompatibleVersions {\n return {\n name: item[\"name\"],\n versions: !item[\"versions\"]\n ? item[\"versions\"]\n : item[\"versions\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Holds an array of MeshRevisionsProfiles */\nexport interface _MeshRevisionProfileList {\n /** The MeshRevisionProfile items on this page */\n value: MeshRevisionProfile[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _meshRevisionProfileListDeserializer(item: any): _MeshRevisionProfileList {\n return {\n value: meshRevisionProfileArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function meshRevisionProfileArrayDeserializer(result: Array<MeshRevisionProfile>): any[] {\n return result.map((item) => {\n return meshRevisionProfileDeserializer(item);\n });\n}\n\n/** Upgrade profile for given mesh. */\nexport interface MeshUpgradeProfile extends ProxyResource {\n /** Mesh upgrade profile properties for a major.minor release. */\n properties?: MeshUpgradeProfileProperties;\n}\n\nexport function meshUpgradeProfileDeserializer(item: any): MeshUpgradeProfile {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : meshUpgradeProfilePropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** Mesh upgrade profile properties for a major.minor release. */\nexport interface MeshUpgradeProfileProperties extends MeshRevision {}\n\nexport function meshUpgradeProfilePropertiesDeserializer(item: any): MeshUpgradeProfileProperties {\n return {\n revision: item[\"revision\"],\n upgrades: !item[\"upgrades\"]\n ? item[\"upgrades\"]\n : item[\"upgrades\"].map((p: any) => {\n return p;\n }),\n compatibleWith: !item[\"compatibleWith\"]\n ? item[\"compatibleWith\"]\n : compatibleVersionsArrayDeserializer(item[\"compatibleWith\"]),\n };\n}\n\n/** Holds an array of MeshUpgradeProfiles */\nexport interface _MeshUpgradeProfileList {\n /** The MeshUpgradeProfile items on this page */\n value: MeshUpgradeProfile[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _meshUpgradeProfileListDeserializer(item: any): _MeshUpgradeProfileList {\n return {\n value: meshUpgradeProfileArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function meshUpgradeProfileArrayDeserializer(result: Array<MeshUpgradeProfile>): any[] {\n return result.map((item) => {\n return meshUpgradeProfileDeserializer(item);\n });\n}\n\n/** Hold values properties, which is array of KubernetesVersion */\nexport interface KubernetesVersionListResult {\n /** Array of AKS supported Kubernetes versions. */\n values?: KubernetesVersion[];\n}\n\nexport function kubernetesVersionListResultDeserializer(item: any): KubernetesVersionListResult {\n return {\n values: !item[\"values\"] ? item[\"values\"] : kubernetesVersionArrayDeserializer(item[\"values\"]),\n };\n}\n\nexport function kubernetesVersionArrayDeserializer(result: Array<KubernetesVersion>): any[] {\n return result.map((item) => {\n return kubernetesVersionDeserializer(item);\n });\n}\n\n/** Kubernetes version profile for given major.minor release. */\nexport interface KubernetesVersion {\n /** major.minor version of Kubernetes release */\n version?: string;\n /** Capabilities on this Kubernetes version. */\n capabilities?: KubernetesVersionCapabilities;\n /** Whether this version is default. */\n isDefault?: boolean;\n /** Whether this version is in preview mode. */\n isPreview?: boolean;\n /** Patch versions of Kubernetes release */\n patchVersions?: Record<string, KubernetesPatchVersion>;\n}\n\nexport function kubernetesVersionDeserializer(item: any): KubernetesVersion {\n return {\n version: item[\"version\"],\n capabilities: !item[\"capabilities\"]\n ? item[\"capabilities\"]\n : kubernetesVersionCapabilitiesDeserializer(item[\"capabilities\"]),\n isDefault: item[\"isDefault\"],\n isPreview: item[\"isPreview\"],\n patchVersions: !item[\"patchVersions\"]\n ? item[\"patchVersions\"]\n : kubernetesPatchVersionRecordDeserializer(item[\"patchVersions\"]),\n };\n}\n\n/** Capabilities on this Kubernetes version. */\nexport interface KubernetesVersionCapabilities {\n /** Kubernetes support plans available for this version. */\n supportPlan?: KubernetesSupportPlan[];\n}\n\nexport function kubernetesVersionCapabilitiesDeserializer(\n item: any,\n): KubernetesVersionCapabilities {\n return {\n supportPlan: !item[\"supportPlan\"]\n ? item[\"supportPlan\"]\n : item[\"supportPlan\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function kubernetesPatchVersionRecordDeserializer(\n item: Record<string, any>,\n): Record<string, KubernetesPatchVersion> {\n const result: Record<string, any> = {};\n Object.keys(item).map((key) => {\n result[key] = !item[key] ? item[key] : kubernetesPatchVersionDeserializer(item[key]);\n });\n return result;\n}\n\n/** Kubernetes patch version profile */\nexport interface KubernetesPatchVersion {\n /** Possible upgrade path for given patch version */\n upgrades?: string[];\n}\n\nexport function kubernetesPatchVersionDeserializer(item: any): KubernetesPatchVersion {\n return {\n upgrades: !item[\"upgrades\"]\n ? item[\"upgrades\"]\n : item[\"upgrades\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Planned maintenance configuration, used to configure when updates can be deployed to a Managed Cluster. See [planned maintenance](https://docs.microsoft.com/azure/aks/planned-maintenance) for more information about planned maintenance. */\nexport interface MaintenanceConfiguration extends ProxyResource {\n /** Time slots during the week when planned maintenance is allowed to proceed. If two array entries specify the same day of the week, the applied configuration is the union of times in both entries. */\n timeInWeek?: TimeInWeek[];\n /** Time slots on which upgrade is not allowed. */\n notAllowedTime?: TimeSpan[];\n /** Maintenance window for the maintenance configuration. */\n maintenanceWindow?: MaintenanceWindow;\n}\n\nexport function maintenanceConfigurationSerializer(item: MaintenanceConfiguration): any {\n return {\n properties: areAllPropsUndefined(item, [\"timeInWeek\", \"notAllowedTime\", \"maintenanceWindow\"])\n ? undefined\n : _maintenanceConfigurationPropertiesSerializer(item),\n };\n}\n\nexport function maintenanceConfigurationDeserializer(item: any): MaintenanceConfiguration {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _maintenanceConfigurationPropertiesDeserializer(item[\"properties\"])),\n };\n}\n\n/** Properties used to configure planned maintenance for a Managed Cluster. */\nexport interface MaintenanceConfigurationProperties {\n /** Time slots during the week when planned maintenance is allowed to proceed. If two array entries specify the same day of the week, the applied configuration is the union of times in both entries. */\n timeInWeek?: TimeInWeek[];\n /** Time slots on which upgrade is not allowed. */\n notAllowedTime?: TimeSpan[];\n /** Maintenance window for the maintenance configuration. */\n maintenanceWindow?: MaintenanceWindow;\n}\n\nexport function maintenanceConfigurationPropertiesSerializer(\n item: MaintenanceConfigurationProperties,\n): any {\n return {\n timeInWeek: !item[\"timeInWeek\"]\n ? item[\"timeInWeek\"]\n : timeInWeekArraySerializer(item[\"timeInWeek\"]),\n notAllowedTime: !item[\"notAllowedTime\"]\n ? item[\"notAllowedTime\"]\n : timeSpanArraySerializer(item[\"notAllowedTime\"]),\n maintenanceWindow: !item[\"maintenanceWindow\"]\n ? item[\"maintenanceWindow\"]\n : maintenanceWindowSerializer(item[\"maintenanceWindow\"]),\n };\n}\n\nexport function maintenanceConfigurationPropertiesDeserializer(\n item: any,\n): MaintenanceConfigurationProperties {\n return {\n timeInWeek: !item[\"timeInWeek\"]\n ? item[\"timeInWeek\"]\n : timeInWeekArrayDeserializer(item[\"timeInWeek\"]),\n notAllowedTime: !item[\"notAllowedTime\"]\n ? item[\"notAllowedTime\"]\n : timeSpanArrayDeserializer(item[\"notAllowedTime\"]),\n maintenanceWindow: !item[\"maintenanceWindow\"]\n ? item[\"maintenanceWindow\"]\n : maintenanceWindowDeserializer(item[\"maintenanceWindow\"]),\n };\n}\n\nexport function timeInWeekArraySerializer(result: Array<TimeInWeek>): any[] {\n return result.map((item) => {\n return timeInWeekSerializer(item);\n });\n}\n\nexport function timeInWeekArrayDeserializer(result: Array<TimeInWeek>): any[] {\n return result.map((item) => {\n return timeInWeekDeserializer(item);\n });\n}\n\n/** Time in a week. */\nexport interface TimeInWeek {\n /** The day of the week. */\n day?: WeekDay;\n /** A list of hours in the day used to identify a time range. Each integer hour represents a time range beginning at 0m after the hour ending at the next hour (non-inclusive). 0 corresponds to 00:00 UTC, 23 corresponds to 23:00 UTC. Specifying [0, 1] means the 00:00 - 02:00 UTC time range. */\n hourSlots?: number[];\n}\n\nexport function timeInWeekSerializer(item: TimeInWeek): any {\n return {\n day: item[\"day\"],\n hourSlots: !item[\"hourSlots\"]\n ? item[\"hourSlots\"]\n : item[\"hourSlots\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function timeInWeekDeserializer(item: any): TimeInWeek {\n return {\n day: item[\"day\"],\n hourSlots: !item[\"hourSlots\"]\n ? item[\"hourSlots\"]\n : item[\"hourSlots\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** The weekday enum. */\nexport enum KnownWeekDay {\n /** Represents Sunday. */\n Sunday = \"Sunday\",\n /** Represents Monday. */\n Monday = \"Monday\",\n /** Represents Tuesday. */\n Tuesday = \"Tuesday\",\n /** Represents Wednesday. */\n Wednesday = \"Wednesday\",\n /** Represents Thursday. */\n Thursday = \"Thursday\",\n /** Represents Friday. */\n Friday = \"Friday\",\n /** Represents Saturday. */\n Saturday = \"Saturday\",\n}\n\n/**\n * The weekday enum. \\\n * {@link KnownWeekDay} can be used interchangeably with WeekDay,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Sunday**: Represents Sunday. \\\n * **Monday**: Represents Monday. \\\n * **Tuesday**: Represents Tuesday. \\\n * **Wednesday**: Represents Wednesday. \\\n * **Thursday**: Represents Thursday. \\\n * **Friday**: Represents Friday. \\\n * **Saturday**: Represents Saturday.\n */\nexport type WeekDay = string;\n\nexport function timeSpanArraySerializer(result: Array<TimeSpan>): any[] {\n return result.map((item) => {\n return timeSpanSerializer(item);\n });\n}\n\nexport function timeSpanArrayDeserializer(result: Array<TimeSpan>): any[] {\n return result.map((item) => {\n return timeSpanDeserializer(item);\n });\n}\n\n/** A time range. For example, between 2021-05-25T13:00:00Z and 2021-05-25T14:00:00Z. */\nexport interface TimeSpan {\n /** The start of a time span */\n start?: Date;\n /** The end of a time span */\n end?: Date;\n}\n\nexport function timeSpanSerializer(item: TimeSpan): any {\n return {\n start: !item[\"start\"] ? item[\"start\"] : item[\"start\"].toISOString(),\n end: !item[\"end\"] ? item[\"end\"] : item[\"end\"].toISOString(),\n };\n}\n\nexport function timeSpanDeserializer(item: any): TimeSpan {\n return {\n start: !item[\"start\"] ? item[\"start\"] : new Date(item[\"start\"]),\n end: !item[\"end\"] ? item[\"end\"] : new Date(item[\"end\"]),\n };\n}\n\n/** Maintenance window used to configure scheduled auto-upgrade for a Managed Cluster. */\nexport interface MaintenanceWindow {\n /** Recurrence schedule for the maintenance window. */\n schedule: Schedule;\n /** Length of maintenance window range from 4 to 24 hours. */\n durationHours: number;\n /** The UTC offset in format +/-HH:mm. For example, '+05:30' for IST and '-07:00' for PST. If not specified, the default is '+00:00'. */\n utcOffset?: string;\n /** The date the maintenance window activates. If the current date is before this date, the maintenance window is inactive and will not be used for upgrades. If not specified, the maintenance window will be active right away. */\n startDate?: Date;\n /** The start time of the maintenance window. Accepted values are from '00:00' to '23:59'. 'utcOffset' applies to this field. For example: '02:00' with 'utcOffset: +02:00' means UTC time '00:00'. */\n startTime: string;\n /** Date ranges on which upgrade is not allowed. 'utcOffset' applies to this field. For example, with 'utcOffset: +02:00' and 'dateSpan' being '2022-12-23' to '2023-01-03', maintenance will be blocked from '2022-12-22 22:00' to '2023-01-03 22:00' in UTC time. */\n notAllowedDates?: DateSpan[];\n}\n\nexport function maintenanceWindowSerializer(item: MaintenanceWindow): any {\n return {\n schedule: scheduleSerializer(item[\"schedule\"]),\n durationHours: item[\"durationHours\"],\n utcOffset: item[\"utcOffset\"],\n startDate: !item[\"startDate\"]\n ? item[\"startDate\"]\n : item[\"startDate\"].toISOString().split(\"T\")[0],\n startTime: item[\"startTime\"],\n notAllowedDates: !item[\"notAllowedDates\"]\n ? item[\"notAllowedDates\"]\n : dateSpanArraySerializer(item[\"notAllowedDates\"]),\n };\n}\n\nexport function maintenanceWindowDeserializer(item: any): MaintenanceWindow {\n return {\n schedule: scheduleDeserializer(item[\"schedule\"]),\n durationHours: item[\"durationHours\"],\n utcOffset: item[\"utcOffset\"],\n startDate: !item[\"startDate\"] ? item[\"startDate\"] : new Date(item[\"startDate\"]),\n startTime: item[\"startTime\"],\n notAllowedDates: !item[\"notAllowedDates\"]\n ? item[\"notAllowedDates\"]\n : dateSpanArrayDeserializer(item[\"notAllowedDates\"]),\n };\n}\n\n/** One and only one of the schedule types should be specified. Choose either 'daily', 'weekly', 'absoluteMonthly' or 'relativeMonthly' for your maintenance schedule. */\nexport interface Schedule {\n /** For schedules like: 'recur every day' or 'recur every 3 days'. */\n daily?: DailySchedule;\n /** For schedules like: 'recur every Monday' or 'recur every 3 weeks on Wednesday'. */\n weekly?: WeeklySchedule;\n /** For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'. */\n absoluteMonthly?: AbsoluteMonthlySchedule;\n /** For schedules like: 'recur every month on the first Monday' or 'recur every 3 months on last Friday'. */\n relativeMonthly?: RelativeMonthlySchedule;\n}\n\nexport function scheduleSerializer(item: Schedule): any {\n return {\n daily: !item[\"daily\"] ? item[\"daily\"] : dailyScheduleSerializer(item[\"daily\"]),\n weekly: !item[\"weekly\"] ? item[\"weekly\"] : weeklyScheduleSerializer(item[\"weekly\"]),\n absoluteMonthly: !item[\"absoluteMonthly\"]\n ? item[\"absoluteMonthly\"]\n : absoluteMonthlyScheduleSerializer(item[\"absoluteMonthly\"]),\n relativeMonthly: !item[\"relativeMonthly\"]\n ? item[\"relativeMonthly\"]\n : relativeMonthlyScheduleSerializer(item[\"relativeMonthly\"]),\n };\n}\n\nexport function scheduleDeserializer(item: any): Schedule {\n return {\n daily: !item[\"daily\"] ? item[\"daily\"] : dailyScheduleDeserializer(item[\"daily\"]),\n weekly: !item[\"weekly\"] ? item[\"weekly\"] : weeklyScheduleDeserializer(item[\"weekly\"]),\n absoluteMonthly: !item[\"absoluteMonthly\"]\n ? item[\"absoluteMonthly\"]\n : absoluteMonthlyScheduleDeserializer(item[\"absoluteMonthly\"]),\n relativeMonthly: !item[\"relativeMonthly\"]\n ? item[\"relativeMonthly\"]\n : relativeMonthlyScheduleDeserializer(item[\"relativeMonthly\"]),\n };\n}\n\n/** For schedules like: 'recur every day' or 'recur every 3 days'. */\nexport interface DailySchedule {\n /** Specifies the number of days between each set of occurrences. */\n intervalDays: number;\n}\n\nexport function dailyScheduleSerializer(item: DailySchedule): any {\n return { intervalDays: item[\"intervalDays\"] };\n}\n\nexport function dailyScheduleDeserializer(item: any): DailySchedule {\n return {\n intervalDays: item[\"intervalDays\"],\n };\n}\n\n/** For schedules like: 'recur every Monday' or 'recur every 3 weeks on Wednesday'. */\nexport interface WeeklySchedule {\n /** Specifies the number of weeks between each set of occurrences. */\n intervalWeeks: number;\n /** Specifies on which day of the week the maintenance occurs. */\n dayOfWeek: WeekDay;\n}\n\nexport function weeklyScheduleSerializer(item: WeeklySchedule): any {\n return { intervalWeeks: item[\"intervalWeeks\"], dayOfWeek: item[\"dayOfWeek\"] };\n}\n\nexport function weeklyScheduleDeserializer(item: any): WeeklySchedule {\n return {\n intervalWeeks: item[\"intervalWeeks\"],\n dayOfWeek: item[\"dayOfWeek\"],\n };\n}\n\n/** For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'. */\nexport interface AbsoluteMonthlySchedule {\n /** Specifies the number of months between each set of occurrences. */\n intervalMonths: number;\n /** The date of the month. */\n dayOfMonth: number;\n}\n\nexport function absoluteMonthlyScheduleSerializer(item: AbsoluteMonthlySchedule): any {\n return { intervalMonths: item[\"intervalMonths\"], dayOfMonth: item[\"dayOfMonth\"] };\n}\n\nexport function absoluteMonthlyScheduleDeserializer(item: any): AbsoluteMonthlySchedule {\n return {\n intervalMonths: item[\"intervalMonths\"],\n dayOfMonth: item[\"dayOfMonth\"],\n };\n}\n\n/** For schedules like: 'recur every month on the first Monday' or 'recur every 3 months on last Friday'. */\nexport interface RelativeMonthlySchedule {\n /** Specifies the number of months between each set of occurrences. */\n intervalMonths: number;\n /** The week index. Specifies on which week of the month the dayOfWeek applies. */\n weekIndex: Type;\n /** Specifies on which day of the week the maintenance occurs. */\n dayOfWeek: WeekDay;\n}\n\nexport function relativeMonthlyScheduleSerializer(item: RelativeMonthlySchedule): any {\n return {\n intervalMonths: item[\"intervalMonths\"],\n weekIndex: item[\"weekIndex\"],\n dayOfWeek: item[\"dayOfWeek\"],\n };\n}\n\nexport function relativeMonthlyScheduleDeserializer(item: any): RelativeMonthlySchedule {\n return {\n intervalMonths: item[\"intervalMonths\"],\n weekIndex: item[\"weekIndex\"],\n dayOfWeek: item[\"dayOfWeek\"],\n };\n}\n\n/** The week index. Specifies on which week of the month the dayOfWeek applies. */\nexport enum KnownType {\n /** First week of the month. */\n First = \"First\",\n /** Second week of the month. */\n Second = \"Second\",\n /** Third week of the month. */\n Third = \"Third\",\n /** Fourth week of the month. */\n Fourth = \"Fourth\",\n /** Last week of the month. */\n Last = \"Last\",\n}\n\n/**\n * The week index. Specifies on which week of the month the dayOfWeek applies. \\\n * {@link KnownType} can be used interchangeably with Type,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **First**: First week of the month. \\\n * **Second**: Second week of the month. \\\n * **Third**: Third week of the month. \\\n * **Fourth**: Fourth week of the month. \\\n * **Last**: Last week of the month.\n */\nexport type Type = string;\n\nexport function dateSpanArraySerializer(result: Array<DateSpan>): any[] {\n return result.map((item) => {\n return dateSpanSerializer(item);\n });\n}\n\nexport function dateSpanArrayDeserializer(result: Array<DateSpan>): any[] {\n return result.map((item) => {\n return dateSpanDeserializer(item);\n });\n}\n\n/** A date range. For example, between '2022-12-23' and '2023-01-05'. */\nexport interface DateSpan {\n /** The start date of the date span. */\n start: Date;\n /** The end date of the date span. */\n end: Date;\n}\n\nexport function dateSpanSerializer(item: DateSpan): any {\n return {\n start: item[\"start\"].toISOString().split(\"T\")[0],\n end: item[\"end\"].toISOString().split(\"T\")[0],\n };\n}\n\nexport function dateSpanDeserializer(item: any): DateSpan {\n return {\n start: new Date(item[\"start\"]),\n end: new Date(item[\"end\"]),\n };\n}\n\n/** The response of a MaintenanceConfiguration list operation. */\nexport interface _MaintenanceConfigurationListResult {\n /** The MaintenanceConfiguration items on this page */\n value: MaintenanceConfiguration[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _maintenanceConfigurationListResultDeserializer(\n item: any,\n): _MaintenanceConfigurationListResult {\n return {\n value: maintenanceConfigurationArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function maintenanceConfigurationArraySerializer(\n result: Array<MaintenanceConfiguration>,\n): any[] {\n return result.map((item) => {\n return maintenanceConfigurationSerializer(item);\n });\n}\n\nexport function maintenanceConfigurationArrayDeserializer(\n result: Array<MaintenanceConfiguration>,\n): any[] {\n return result.map((item) => {\n return maintenanceConfigurationDeserializer(item);\n });\n}\n\n/** Namespace managed by ARM. */\nexport interface ManagedNamespace extends TrackedResource {\n /** Properties of a namespace. */\n properties?: NamespaceProperties;\n /** If eTag is provided in the response body, it may also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields. */\n readonly eTag?: string;\n}\n\nexport function managedNamespaceSerializer(item: ManagedNamespace): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : namespacePropertiesSerializer(item[\"properties\"]),\n };\n}\n\nexport function managedNamespaceDeserializer(item: any): ManagedNamespace {\n return {\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : namespacePropertiesDeserializer(item[\"properties\"]),\n eTag: item[\"eTag\"],\n };\n}\n\n/** Properties of a namespace managed by ARM */\nexport interface NamespaceProperties {\n /** The current provisioning state of the namespace. */\n readonly provisioningState?: NamespaceProvisioningState;\n /** The labels of managed namespace. */\n labels?: Record<string, string>;\n /** The annotations of managed namespace. */\n annotations?: Record<string, string>;\n /** The special FQDN used by the Azure Portal to access the Managed Cluster. This FQDN is for use only by the Azure Portal and should not be used by other clients. The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure Portal to function properly. */\n readonly portalFqdn?: string;\n /** The default resource quota enforced upon the namespace. Customers can have other Kubernetes resource quota objects under the namespace. Resource quotas are additive; if multiple resource quotas are applied to a given namespace, then the effective limit will be one such that all quotas on the namespace can be satisfied. */\n defaultResourceQuota?: ResourceQuota;\n /** The default network policy enforced upon the namespace. Customers can have other Kubernetes network policy objects under the namespace. Network policies are additive; if a policy or policies apply to a given pod for a given direction, the connections allowed in that direction for the pod is the union of what all applicable policies allow. */\n defaultNetworkPolicy?: NetworkPolicies;\n /** Action if Kubernetes namespace with same name already exists. */\n adoptionPolicy?: AdoptionPolicy;\n /** Delete options of a namespace. */\n deletePolicy?: DeletePolicy;\n}\n\nexport function namespacePropertiesSerializer(item: NamespaceProperties): any {\n return {\n labels: item[\"labels\"],\n annotations: item[\"annotations\"],\n defaultResourceQuota: !item[\"defaultResourceQuota\"]\n ? item[\"defaultResourceQuota\"]\n : resourceQuotaSerializer(item[\"defaultResourceQuota\"]),\n defaultNetworkPolicy: !item[\"defaultNetworkPolicy\"]\n ? item[\"defaultNetworkPolicy\"]\n : networkPoliciesSerializer(item[\"defaultNetworkPolicy\"]),\n adoptionPolicy: item[\"adoptionPolicy\"],\n deletePolicy: item[\"deletePolicy\"],\n };\n}\n\nexport function namespacePropertiesDeserializer(item: any): NamespaceProperties {\n return {\n provisioningState: item[\"provisioningState\"],\n labels: !item[\"labels\"]\n ? item[\"labels\"]\n : Object.fromEntries(Object.entries(item[\"labels\"]).map(([k, p]: [string, any]) => [k, p])),\n annotations: !item[\"annotations\"]\n ? item[\"annotations\"]\n : Object.fromEntries(\n Object.entries(item[\"annotations\"]).map(([k, p]: [string, any]) => [k, p]),\n ),\n portalFqdn: item[\"portalFqdn\"],\n defaultResourceQuota: !item[\"defaultResourceQuota\"]\n ? item[\"defaultResourceQuota\"]\n : resourceQuotaDeserializer(item[\"defaultResourceQuota\"]),\n defaultNetworkPolicy: !item[\"defaultNetworkPolicy\"]\n ? item[\"defaultNetworkPolicy\"]\n : networkPoliciesDeserializer(item[\"defaultNetworkPolicy\"]),\n adoptionPolicy: item[\"adoptionPolicy\"],\n deletePolicy: item[\"deletePolicy\"],\n };\n}\n\n/** The current provisioning state of the namespace. */\nexport enum KnownNamespaceProvisioningState {\n /** The namespace is being updated. */\n Updating = \"Updating\",\n /** The namespace is being deleted. */\n Deleting = \"Deleting\",\n /** The namespace is being created. */\n Creating = \"Creating\",\n /** The namespace provisioning succeeded. */\n Succeeded = \"Succeeded\",\n /** The namespace provisioning failed. */\n Failed = \"Failed\",\n /** The namespace provisioning was canceled. */\n Canceled = \"Canceled\",\n}\n\n/**\n * The current provisioning state of the namespace. \\\n * {@link KnownNamespaceProvisioningState} can be used interchangeably with NamespaceProvisioningState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Updating**: The namespace is being updated. \\\n * **Deleting**: The namespace is being deleted. \\\n * **Creating**: The namespace is being created. \\\n * **Succeeded**: The namespace provisioning succeeded. \\\n * **Failed**: The namespace provisioning failed. \\\n * **Canceled**: The namespace provisioning was canceled.\n */\nexport type NamespaceProvisioningState = string;\n\n/** Resource quota for the namespace. */\nexport interface ResourceQuota {\n /** CPU request of the namespace in one-thousandth CPU form. See [CPU resource units](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#meaning-of-cpu) for more details. */\n cpuRequest?: string;\n /** CPU limit of the namespace in one-thousandth CPU form. See [CPU resource units](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#meaning-of-cpu) for more details. */\n cpuLimit?: string;\n /** Memory request of the namespace in the power-of-two equivalents form: Ei, Pi, Ti, Gi, Mi, Ki. See [Memory resource units](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#meaning-of-memory) for more details. */\n memoryRequest?: string;\n /** Memory limit of the namespace in the power-of-two equivalents form: Ei, Pi, Ti, Gi, Mi, Ki. See [Memory resource units](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#meaning-of-memory) for more details. */\n memoryLimit?: string;\n}\n\nexport function resourceQuotaSerializer(item: ResourceQuota): any {\n return {\n cpuRequest: item[\"cpuRequest\"],\n cpuLimit: item[\"cpuLimit\"],\n memoryRequest: item[\"memoryRequest\"],\n memoryLimit: item[\"memoryLimit\"],\n };\n}\n\nexport function resourceQuotaDeserializer(item: any): ResourceQuota {\n return {\n cpuRequest: item[\"cpuRequest\"],\n cpuLimit: item[\"cpuLimit\"],\n memoryRequest: item[\"memoryRequest\"],\n memoryLimit: item[\"memoryLimit\"],\n };\n}\n\n/** Default network policy of the namespace, specifying ingress and egress rules. */\nexport interface NetworkPolicies {\n /** Enum representing different network policy rules. */\n ingress?: PolicyRule;\n /** Enum representing different network policy rules. */\n egress?: PolicyRule;\n}\n\nexport function networkPoliciesSerializer(item: NetworkPolicies): any {\n return { ingress: item[\"ingress\"], egress: item[\"egress\"] };\n}\n\nexport function networkPoliciesDeserializer(item: any): NetworkPolicies {\n return {\n ingress: item[\"ingress\"],\n egress: item[\"egress\"],\n };\n}\n\n/** Enum representing different network policy rules. */\nexport enum KnownPolicyRule {\n /** Deny all network traffic. */\n DenyAll = \"DenyAll\",\n /** Allow all network traffic. */\n AllowAll = \"AllowAll\",\n /** Allow traffic within the same namespace. */\n AllowSameNamespace = \"AllowSameNamespace\",\n}\n\n/**\n * Enum representing different network policy rules. \\\n * {@link KnownPolicyRule} can be used interchangeably with PolicyRule,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **DenyAll**: Deny all network traffic. \\\n * **AllowAll**: Allow all network traffic. \\\n * **AllowSameNamespace**: Allow traffic within the same namespace.\n */\nexport type PolicyRule = string;\n\n/** Action if Kubernetes namespace with same name already exists. */\nexport enum KnownAdoptionPolicy {\n /** If the namespace already exists in Kubernetes, attempts to create that same namespace in ARM will fail. */\n Never = \"Never\",\n /** Take over the existing namespace to be managed by ARM, if there is no difference. */\n IfIdentical = \"IfIdentical\",\n /** Always take over the existing namespace to be managed by ARM, some fields might be overwritten. */\n Always = \"Always\",\n}\n\n/**\n * Action if Kubernetes namespace with same name already exists. \\\n * {@link KnownAdoptionPolicy} can be used interchangeably with AdoptionPolicy,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Never**: If the namespace already exists in Kubernetes, attempts to create that same namespace in ARM will fail. \\\n * **IfIdentical**: Take over the existing namespace to be managed by ARM, if there is no difference. \\\n * **Always**: Always take over the existing namespace to be managed by ARM, some fields might be overwritten.\n */\nexport type AdoptionPolicy = string;\n\n/** Delete options of a namespace. */\nexport enum KnownDeletePolicy {\n /** Only delete the ARM resource, keep the Kubernetes namespace. Also delete the ManagedByARM label. */\n Keep = \"Keep\",\n /** Delete both the ARM resource and the Kubernetes namespace together. */\n Delete = \"Delete\",\n}\n\n/**\n * Delete options of a namespace. \\\n * {@link KnownDeletePolicy} can be used interchangeably with DeletePolicy,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Keep**: Only delete the ARM resource, keep the Kubernetes namespace. Also delete the ManagedByARM label. \\\n * **Delete**: Delete both the ARM resource and the Kubernetes namespace together.\n */\nexport type DeletePolicy = string;\n\n/** The response of a ManagedNamespace list operation. */\nexport interface _ManagedNamespaceListResult {\n /** The ManagedNamespace items on this page */\n value: ManagedNamespace[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _managedNamespaceListResultDeserializer(item: any): _ManagedNamespaceListResult {\n return {\n value: managedNamespaceArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function managedNamespaceArraySerializer(result: Array<ManagedNamespace>): any[] {\n return result.map((item) => {\n return managedNamespaceSerializer(item);\n });\n}\n\nexport function managedNamespaceArrayDeserializer(result: Array<ManagedNamespace>): any[] {\n return result.map((item) => {\n return managedNamespaceDeserializer(item);\n });\n}\n\n/** A machine. Contains details about the underlying virtual machine. A machine may be visible here but not in kubectl get nodes; if so it may be because the machine has not been registered with the Kubernetes API Server yet. */\nexport interface Machine extends ProxyResource {\n /** The properties of the machine */\n properties?: MachineProperties;\n /** The Availability zone in which machine is located. */\n readonly zones?: string[];\n}\n\nexport function machineDeserializer(item: any): Machine {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : machinePropertiesDeserializer(item[\"properties\"]),\n zones: !item[\"zones\"]\n ? item[\"zones\"]\n : item[\"zones\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** The properties of the machine */\nexport interface MachineProperties {\n /** network properties of the machine */\n readonly network?: MachineNetworkProperties;\n /** Azure resource id of the machine. It can be used to GET underlying VM Instance */\n readonly resourceId?: string;\n}\n\nexport function machinePropertiesDeserializer(item: any): MachineProperties {\n return {\n network: !item[\"network\"]\n ? item[\"network\"]\n : machineNetworkPropertiesDeserializer(item[\"network\"]),\n resourceId: item[\"resourceId\"],\n };\n}\n\n/** network properties of the machine */\nexport interface MachineNetworkProperties {\n /** IPv4, IPv6 addresses of the machine */\n readonly ipAddresses?: MachineIpAddress[];\n}\n\nexport function machineNetworkPropertiesDeserializer(item: any): MachineNetworkProperties {\n return {\n ipAddresses: !item[\"ipAddresses\"]\n ? item[\"ipAddresses\"]\n : machineIpAddressArrayDeserializer(item[\"ipAddresses\"]),\n };\n}\n\nexport function machineIpAddressArrayDeserializer(result: Array<MachineIpAddress>): any[] {\n return result.map((item) => {\n return machineIpAddressDeserializer(item);\n });\n}\n\n/** The machine IP address details. */\nexport interface MachineIpAddress {\n /** To determine if address belongs IPv4 or IPv6 family */\n readonly family?: IpFamily;\n /** IPv4 or IPv6 address of the machine */\n readonly ip?: string;\n}\n\nexport function machineIpAddressDeserializer(item: any): MachineIpAddress {\n return {\n family: item[\"family\"],\n ip: item[\"ip\"],\n };\n}\n\n/** The response of a Machine list operation. */\nexport interface _MachineListResult {\n /** The Machine items on this page */\n value: Machine[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _machineListResultDeserializer(item: any): _MachineListResult {\n return {\n value: machineArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function machineArrayDeserializer(result: Array<Machine>): any[] {\n return result.map((item) => {\n return machineDeserializer(item);\n });\n}\n\n/** A private endpoint connection */\nexport interface PrivateEndpointConnection extends ProxyResource {\n /** The current provisioning state. */\n readonly provisioningState?: PrivateEndpointConnectionProvisioningState;\n /** The resource of private endpoint. */\n privateEndpoint?: PrivateEndpoint;\n /** A collection of information about the state of the connection between service consumer and provider. */\n privateLinkServiceConnectionState?: PrivateLinkServiceConnectionState;\n}\n\nexport function privateEndpointConnectionSerializer(item: PrivateEndpointConnection): any {\n return {\n properties: areAllPropsUndefined(item, [\"privateEndpoint\", \"privateLinkServiceConnectionState\"])\n ? undefined\n : _privateEndpointConnectionPropertiesSerializer(item),\n };\n}\n\nexport function privateEndpointConnectionDeserializer(item: any): PrivateEndpointConnection {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _privateEndpointConnectionPropertiesDeserializer(item[\"properties\"])),\n };\n}\n\n/** Properties of a private endpoint connection. */\nexport interface PrivateEndpointConnectionProperties {\n /** The current provisioning state. */\n readonly provisioningState?: PrivateEndpointConnectionProvisioningState;\n /** The resource of private endpoint. */\n privateEndpoint?: PrivateEndpoint;\n /** A collection of information about the state of the connection between service consumer and provider. */\n privateLinkServiceConnectionState: PrivateLinkServiceConnectionState;\n}\n\nexport function privateEndpointConnectionPropertiesSerializer(\n item: PrivateEndpointConnectionProperties,\n): any {\n return {\n privateEndpoint: !item[\"privateEndpoint\"]\n ? item[\"privateEndpoint\"]\n : privateEndpointSerializer(item[\"privateEndpoint\"]),\n privateLinkServiceConnectionState: privateLinkServiceConnectionStateSerializer(\n item[\"privateLinkServiceConnectionState\"],\n ),\n };\n}\n\nexport function privateEndpointConnectionPropertiesDeserializer(\n item: any,\n): PrivateEndpointConnectionProperties {\n return {\n provisioningState: item[\"provisioningState\"],\n privateEndpoint: !item[\"privateEndpoint\"]\n ? item[\"privateEndpoint\"]\n : privateEndpointDeserializer(item[\"privateEndpoint\"]),\n privateLinkServiceConnectionState: privateLinkServiceConnectionStateDeserializer(\n item[\"privateLinkServiceConnectionState\"],\n ),\n };\n}\n\n/** The current provisioning state. */\nexport enum KnownPrivateEndpointConnectionProvisioningState {\n /** Private endpoint connection provisioning was canceled. */\n Canceled = \"Canceled\",\n /** Private endpoint connection is being created. */\n Creating = \"Creating\",\n /** Private endpoint connection is being deleted. */\n Deleting = \"Deleting\",\n /** Private endpoint connection provisioning failed. */\n Failed = \"Failed\",\n /** Private endpoint connection provisioning succeeded. */\n Succeeded = \"Succeeded\",\n}\n\n/**\n * The current provisioning state. \\\n * {@link KnownPrivateEndpointConnectionProvisioningState} can be used interchangeably with PrivateEndpointConnectionProvisioningState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Canceled**: Private endpoint connection provisioning was canceled. \\\n * **Creating**: Private endpoint connection is being created. \\\n * **Deleting**: Private endpoint connection is being deleted. \\\n * **Failed**: Private endpoint connection provisioning failed. \\\n * **Succeeded**: Private endpoint connection provisioning succeeded.\n */\nexport type PrivateEndpointConnectionProvisioningState = string;\n\n/** Private endpoint which a connection belongs to. */\nexport interface PrivateEndpoint {\n /** The resource ID of the private endpoint */\n id?: string;\n}\n\nexport function privateEndpointSerializer(item: PrivateEndpoint): any {\n return { id: item[\"id\"] };\n}\n\nexport function privateEndpointDeserializer(item: any): PrivateEndpoint {\n return {\n id: item[\"id\"],\n };\n}\n\n/** The state of a private link service connection. */\nexport interface PrivateLinkServiceConnectionState {\n /** The private link service connection status. */\n status?: ConnectionStatus;\n /** The private link service connection description. */\n description?: string;\n}\n\nexport function privateLinkServiceConnectionStateSerializer(\n item: PrivateLinkServiceConnectionState,\n): any {\n return { status: item[\"status\"], description: item[\"description\"] };\n}\n\nexport function privateLinkServiceConnectionStateDeserializer(\n item: any,\n): PrivateLinkServiceConnectionState {\n return {\n status: item[\"status\"],\n description: item[\"description\"],\n };\n}\n\n/** The private link service connection status. */\nexport enum KnownConnectionStatus {\n /** Connection is pending approval. */\n Pending = \"Pending\",\n /** Connection is approved. */\n Approved = \"Approved\",\n /** Connection is rejected. */\n Rejected = \"Rejected\",\n /** Connection is disconnected. */\n Disconnected = \"Disconnected\",\n}\n\n/**\n * The private link service connection status. \\\n * {@link KnownConnectionStatus} can be used interchangeably with ConnectionStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Pending**: Connection is pending approval. \\\n * **Approved**: Connection is approved. \\\n * **Rejected**: Connection is rejected. \\\n * **Disconnected**: Connection is disconnected.\n */\nexport type ConnectionStatus = string;\n\n/** A list of private endpoint connections */\nexport interface PrivateEndpointConnectionListResult {\n /** The collection value. */\n value?: PrivateEndpointConnection[];\n}\n\nexport function privateEndpointConnectionListResultDeserializer(\n item: any,\n): PrivateEndpointConnectionListResult {\n return {\n value: !item[\"value\"]\n ? item[\"value\"]\n : privateEndpointConnectionArrayDeserializer(item[\"value\"]),\n };\n}\n\nexport function privateEndpointConnectionArraySerializer(\n result: Array<PrivateEndpointConnection>,\n): any[] {\n return result.map((item) => {\n return privateEndpointConnectionSerializer(item);\n });\n}\n\nexport function privateEndpointConnectionArrayDeserializer(\n result: Array<PrivateEndpointConnection>,\n): any[] {\n return result.map((item) => {\n return privateEndpointConnectionDeserializer(item);\n });\n}\n\n/** A node pool snapshot resource. */\nexport interface Snapshot extends TrackedResource {\n /** CreationData to be used to specify the source agent pool resource ID to create this snapshot. */\n creationData?: CreationData;\n /** The type of a snapshot. The default is NodePool. */\n snapshotType?: SnapshotType;\n /** The version of Kubernetes. */\n readonly kubernetesVersion?: string;\n /** The version of node image. */\n readonly nodeImageVersion?: string;\n /** The operating system type. The default is Linux. */\n readonly osType?: OSType;\n /** Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. */\n readonly osSku?: Ossku;\n /** The size of the VM. */\n readonly vmSize?: string;\n /** Whether to use a FIPS-enabled OS. */\n readonly enableFips?: boolean;\n}\n\nexport function snapshotSerializer(item: Snapshot): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: areAllPropsUndefined(item, [\"creationData\", \"snapshotType\"])\n ? undefined\n : _snapshotPropertiesSerializer(item),\n };\n}\n\nexport function snapshotDeserializer(item: any): Snapshot {\n return {\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _snapshotPropertiesDeserializer(item[\"properties\"])),\n };\n}\n\n/** Properties used to configure a node pool snapshot. */\nexport interface SnapshotProperties {\n /** CreationData to be used to specify the source agent pool resource ID to create this snapshot. */\n creationData?: CreationData;\n /** The type of a snapshot. The default is NodePool. */\n snapshotType?: SnapshotType;\n /** The version of Kubernetes. */\n readonly kubernetesVersion?: string;\n /** The version of node image. */\n readonly nodeImageVersion?: string;\n /** The operating system type. The default is Linux. */\n readonly osType?: OSType;\n /** Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. */\n readonly osSku?: Ossku;\n /** The size of the VM. */\n readonly vmSize?: string;\n /** Whether to use a FIPS-enabled OS. */\n readonly enableFips?: boolean;\n}\n\nexport function snapshotPropertiesSerializer(item: SnapshotProperties): any {\n return {\n creationData: !item[\"creationData\"]\n ? item[\"creationData\"]\n : creationDataSerializer(item[\"creationData\"]),\n snapshotType: item[\"snapshotType\"],\n };\n}\n\nexport function snapshotPropertiesDeserializer(item: any): SnapshotProperties {\n return {\n creationData: !item[\"creationData\"]\n ? item[\"creationData\"]\n : creationDataDeserializer(item[\"creationData\"]),\n snapshotType: item[\"snapshotType\"],\n kubernetesVersion: item[\"kubernetesVersion\"],\n nodeImageVersion: item[\"nodeImageVersion\"],\n osType: item[\"osType\"],\n osSku: item[\"osSku\"],\n vmSize: item[\"vmSize\"],\n enableFips: item[\"enableFIPS\"],\n };\n}\n\n/** The type of a snapshot. The default is NodePool. */\nexport enum KnownSnapshotType {\n /** The snapshot is a snapshot of a node pool. */\n NodePool = \"NodePool\",\n}\n\n/**\n * The type of a snapshot. The default is NodePool. \\\n * {@link KnownSnapshotType} can be used interchangeably with SnapshotType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **NodePool**: The snapshot is a snapshot of a node pool.\n */\nexport type SnapshotType = string;\n\n/** The response of a Snapshot list operation. */\nexport interface _SnapshotListResult {\n /** The Snapshot items on this page */\n value: Snapshot[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _snapshotListResultDeserializer(item: any): _SnapshotListResult {\n return {\n value: snapshotArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function snapshotArraySerializer(result: Array<Snapshot>): any[] {\n return result.map((item) => {\n return snapshotSerializer(item);\n });\n}\n\nexport function snapshotArrayDeserializer(result: Array<Snapshot>): any[] {\n return result.map((item) => {\n return snapshotDeserializer(item);\n });\n}\n\n/** Defines binding between a resource and role */\nexport interface TrustedAccessRoleBinding extends ProxyResource {\n /** The current provisioning state of trusted access role binding. */\n readonly provisioningState?: TrustedAccessRoleBindingProvisioningState;\n /** The ARM resource ID of source resource that trusted access is configured for. */\n sourceResourceId: string;\n /** A list of roles to bind, each item is a resource type qualified role name. For example: 'Microsoft.MachineLearningServices/workspaces/reader'. */\n roles: string[];\n}\n\nexport function trustedAccessRoleBindingSerializer(item: TrustedAccessRoleBinding): any {\n return { properties: _trustedAccessRoleBindingPropertiesSerializer(item) };\n}\n\nexport function trustedAccessRoleBindingDeserializer(item: any): TrustedAccessRoleBinding {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n ..._trustedAccessRoleBindingPropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** Properties for trusted access role binding */\nexport interface TrustedAccessRoleBindingProperties {\n /** The current provisioning state of trusted access role binding. */\n readonly provisioningState?: TrustedAccessRoleBindingProvisioningState;\n /** The ARM resource ID of source resource that trusted access is configured for. */\n sourceResourceId: string;\n /** A list of roles to bind, each item is a resource type qualified role name. For example: 'Microsoft.MachineLearningServices/workspaces/reader'. */\n roles: string[];\n}\n\nexport function trustedAccessRoleBindingPropertiesSerializer(\n item: TrustedAccessRoleBindingProperties,\n): any {\n return {\n sourceResourceId: item[\"sourceResourceId\"],\n roles: item[\"roles\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function trustedAccessRoleBindingPropertiesDeserializer(\n item: any,\n): TrustedAccessRoleBindingProperties {\n return {\n provisioningState: item[\"provisioningState\"],\n sourceResourceId: item[\"sourceResourceId\"],\n roles: item[\"roles\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** The current provisioning state of trusted access role binding. */\nexport enum KnownTrustedAccessRoleBindingProvisioningState {\n /** Trusted access role binding provisioning was canceled. */\n Canceled = \"Canceled\",\n /** Trusted access role binding is being deleted. */\n Deleting = \"Deleting\",\n /** Trusted access role binding provisioning failed. */\n Failed = \"Failed\",\n /** Trusted access role binding provisioning succeeded. */\n Succeeded = \"Succeeded\",\n /** Trusted access role binding is being updated. */\n Updating = \"Updating\",\n}\n\n/**\n * The current provisioning state of trusted access role binding. \\\n * {@link KnownTrustedAccessRoleBindingProvisioningState} can be used interchangeably with TrustedAccessRoleBindingProvisioningState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Canceled**: Trusted access role binding provisioning was canceled. \\\n * **Deleting**: Trusted access role binding is being deleted. \\\n * **Failed**: Trusted access role binding provisioning failed. \\\n * **Succeeded**: Trusted access role binding provisioning succeeded. \\\n * **Updating**: Trusted access role binding is being updated.\n */\nexport type TrustedAccessRoleBindingProvisioningState = string;\n\n/** The response of a TrustedAccessRoleBinding list operation. */\nexport interface _TrustedAccessRoleBindingListResult {\n /** The TrustedAccessRoleBinding items on this page */\n value: TrustedAccessRoleBinding[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _trustedAccessRoleBindingListResultDeserializer(\n item: any,\n): _TrustedAccessRoleBindingListResult {\n return {\n value: trustedAccessRoleBindingArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function trustedAccessRoleBindingArraySerializer(\n result: Array<TrustedAccessRoleBinding>,\n): any[] {\n return result.map((item) => {\n return trustedAccessRoleBindingSerializer(item);\n });\n}\n\nexport function trustedAccessRoleBindingArrayDeserializer(\n result: Array<TrustedAccessRoleBinding>,\n): any[] {\n return result.map((item) => {\n return trustedAccessRoleBindingDeserializer(item);\n });\n}\n\n/** The List Operation response. */\nexport interface _OperationListResult {\n /** The list of operations */\n value: OperationValue[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _operationListResultDeserializer(item: any): _OperationListResult {\n return {\n value: operationValueArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function operationValueArrayDeserializer(result: Array<OperationValue>): any[] {\n return result.map((item) => {\n return operationValueDeserializer(item);\n });\n}\n\n/** Describes the properties of a Operation value. */\nexport interface OperationValue {\n /** The origin of the operation. */\n readonly origin?: string;\n /** The name of the operation. */\n readonly name?: string;\n /** The display name of the operation. */\n readonly operation?: string;\n /** The display name of the resource the operation applies to. */\n readonly resource?: string;\n /** The description of the operation. */\n readonly description?: string;\n /** The resource provider for the operation. */\n readonly provider?: string;\n}\n\nexport function operationValueDeserializer(item: any): OperationValue {\n return {\n origin: item[\"origin\"],\n name: item[\"name\"],\n ...(!item[\"display\"] ? item[\"display\"] : _operationValueDisplayDeserializer(item[\"display\"])),\n };\n}\n\n/** Describes the properties of a Operation Value Display. */\nexport interface OperationValueDisplay {\n /** The display name of the operation. */\n readonly operation?: string;\n /** The display name of the resource the operation applies to. */\n readonly resource?: string;\n /** The description of the operation. */\n readonly description?: string;\n /** The resource provider for the operation. */\n readonly provider?: string;\n}\n\nexport function operationValueDisplayDeserializer(item: any): OperationValueDisplay {\n return {\n operation: item[\"operation\"],\n resource: item[\"resource\"],\n description: item[\"description\"],\n provider: item[\"provider\"],\n };\n}\n\n/** A list of private link resources */\nexport interface PrivateLinkResourcesListResult {\n /** The collection value. */\n value?: PrivateLinkResource[];\n}\n\nexport function privateLinkResourcesListResultDeserializer(\n item: any,\n): PrivateLinkResourcesListResult {\n return {\n value: !item[\"value\"] ? item[\"value\"] : privateLinkResourceArrayDeserializer(item[\"value\"]),\n };\n}\n\n/** List of trusted access roles */\nexport interface _TrustedAccessRoleListResult {\n /** The TrustedAccessRole items on this page */\n value: TrustedAccessRole[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _trustedAccessRoleListResultDeserializer(item: any): _TrustedAccessRoleListResult {\n return {\n value: trustedAccessRoleArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function trustedAccessRoleArrayDeserializer(result: Array<TrustedAccessRole>): any[] {\n return result.map((item) => {\n return trustedAccessRoleDeserializer(item);\n });\n}\n\n/** Trusted access role definition. */\nexport interface TrustedAccessRole {\n /** Resource type of Azure resource */\n readonly sourceResourceType?: string;\n /** Name of role, name is unique under a source resource type */\n readonly name?: string;\n /** List of rules for the role. This maps to 'rules' property of [Kubernetes Cluster Role](https://kubernetes.io/docs/reference/kubernetes-api/authorization-resources/cluster-role-v1/#ClusterRole). */\n readonly rules?: TrustedAccessRoleRule[];\n}\n\nexport function trustedAccessRoleDeserializer(item: any): TrustedAccessRole {\n return {\n sourceResourceType: item[\"sourceResourceType\"],\n name: item[\"name\"],\n rules: !item[\"rules\"] ? item[\"rules\"] : trustedAccessRoleRuleArrayDeserializer(item[\"rules\"]),\n };\n}\n\nexport function trustedAccessRoleRuleArrayDeserializer(\n result: Array<TrustedAccessRoleRule>,\n): any[] {\n return result.map((item) => {\n return trustedAccessRoleRuleDeserializer(item);\n });\n}\n\n/** Rule for trusted access role */\nexport interface TrustedAccessRoleRule {\n /** List of allowed verbs */\n readonly verbs?: string[];\n /** List of allowed apiGroups */\n readonly apiGroups?: string[];\n /** List of allowed resources */\n readonly resources?: string[];\n /** List of allowed names */\n readonly resourceNames?: string[];\n /** List of allowed nonResourceURLs */\n readonly nonResourceURLs?: string[];\n}\n\nexport function trustedAccessRoleRuleDeserializer(item: any): TrustedAccessRoleRule {\n return {\n verbs: !item[\"verbs\"]\n ? item[\"verbs\"]\n : item[\"verbs\"].map((p: any) => {\n return p;\n }),\n apiGroups: !item[\"apiGroups\"]\n ? item[\"apiGroups\"]\n : item[\"apiGroups\"].map((p: any) => {\n return p;\n }),\n resources: !item[\"resources\"]\n ? item[\"resources\"]\n : item[\"resources\"].map((p: any) => {\n return p;\n }),\n resourceNames: !item[\"resourceNames\"]\n ? item[\"resourceNames\"]\n : item[\"resourceNames\"].map((p: any) => {\n return p;\n }),\n nonResourceURLs: !item[\"nonResourceURLs\"]\n ? item[\"nonResourceURLs\"]\n : item[\"nonResourceURLs\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** The format of the kubeconfig credential. */\nexport enum KnownFormat {\n /** Return azure auth-provider kubeconfig. This format is deprecated in v1.22 and will be fully removed in v1.26. See: https://aka.ms/k8s/changes-1-26. */\n Azure = \"azure\",\n /** Return exec format kubeconfig. This format requires kubelogin binary in the path. */\n Exec = \"exec\",\n}\n\n/**\n * The format of the kubeconfig credential. \\\n * {@link KnownFormat} can be used interchangeably with Format,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **azure**: Return azure auth-provider kubeconfig. This format is deprecated in v1.22 and will be fully removed in v1.26. See: https:\\//aka.ms\\/k8s\\/changes-1-26. \\\n * **exec**: Return exec format kubeconfig. This format requires kubelogin binary in the path.\n */\nexport type Format = string;\n\n/** The available API versions. */\nexport enum KnownVersions {\n /** The 2025-10-01 API version. */\n V20251001 = \"2025-10-01\",\n /** The 2026-01-01 API version. */\n V20260101 = \"2026-01-01\",\n /** The 2026-02-01 API version. */\n V20260201 = \"2026-02-01\",\n}\n\nexport function _agentPoolPropertiesSerializer(item: AgentPool): any {\n return {\n count: item[\"count\"],\n vmSize: item[\"vmSize\"],\n osDiskSizeGB: item[\"osDiskSizeGB\"],\n osDiskType: item[\"osDiskType\"],\n kubeletDiskType: item[\"kubeletDiskType\"],\n workloadRuntime: item[\"workloadRuntime\"],\n messageOfTheDay: item[\"messageOfTheDay\"],\n vnetSubnetID: item[\"vnetSubnetID\"],\n podSubnetID: item[\"podSubnetID\"],\n podIPAllocationMode: item[\"podIPAllocationMode\"],\n maxPods: item[\"maxPods\"],\n osType: item[\"osType\"],\n osSKU: item[\"osSKU\"],\n maxCount: item[\"maxCount\"],\n minCount: item[\"minCount\"],\n enableAutoScaling: item[\"enableAutoScaling\"],\n scaleDownMode: item[\"scaleDownMode\"],\n type: item[\"typePropertiesType\"],\n mode: item[\"mode\"],\n orchestratorVersion: item[\"orchestratorVersion\"],\n upgradeSettings: !item[\"upgradeSettings\"]\n ? item[\"upgradeSettings\"]\n : agentPoolUpgradeSettingsSerializer(item[\"upgradeSettings\"]),\n powerState: !item[\"powerState\"] ? item[\"powerState\"] : powerStateSerializer(item[\"powerState\"]),\n availabilityZones: !item[\"availabilityZones\"]\n ? item[\"availabilityZones\"]\n : item[\"availabilityZones\"].map((p: any) => {\n return p;\n }),\n enableNodePublicIP: item[\"enableNodePublicIP\"],\n nodePublicIPPrefixID: item[\"nodePublicIPPrefixID\"],\n scaleSetPriority: item[\"scaleSetPriority\"],\n scaleSetEvictionPolicy: item[\"scaleSetEvictionPolicy\"],\n spotMaxPrice: item[\"spotMaxPrice\"],\n tags: item[\"tags\"],\n nodeLabels: item[\"nodeLabels\"],\n nodeTaints: !item[\"nodeTaints\"]\n ? item[\"nodeTaints\"]\n : item[\"nodeTaints\"].map((p: any) => {\n return p;\n }),\n proximityPlacementGroupID: item[\"proximityPlacementGroupID\"],\n kubeletConfig: !item[\"kubeletConfig\"]\n ? item[\"kubeletConfig\"]\n : kubeletConfigSerializer(item[\"kubeletConfig\"]),\n linuxOSConfig: !item[\"linuxOSConfig\"]\n ? item[\"linuxOSConfig\"]\n : linuxOSConfigSerializer(item[\"linuxOSConfig\"]),\n enableEncryptionAtHost: item[\"enableEncryptionAtHost\"],\n enableUltraSSD: item[\"enableUltraSSD\"],\n enableFIPS: item[\"enableFips\"],\n gpuInstanceProfile: item[\"gpuInstanceProfile\"],\n creationData: !item[\"creationData\"]\n ? item[\"creationData\"]\n : creationDataSerializer(item[\"creationData\"]),\n capacityReservationGroupID: item[\"capacityReservationGroupID\"],\n hostGroupID: item[\"hostGroupID\"],\n networkProfile: !item[\"networkProfile\"]\n ? item[\"networkProfile\"]\n : agentPoolNetworkProfileSerializer(item[\"networkProfile\"]),\n windowsProfile: !item[\"windowsProfile\"]\n ? item[\"windowsProfile\"]\n : agentPoolWindowsProfileSerializer(item[\"windowsProfile\"]),\n securityProfile: !item[\"securityProfile\"]\n ? item[\"securityProfile\"]\n : agentPoolSecurityProfileSerializer(item[\"securityProfile\"]),\n gpuProfile: !item[\"gpuProfile\"] ? item[\"gpuProfile\"] : gpuProfileSerializer(item[\"gpuProfile\"]),\n gatewayProfile: !item[\"gatewayProfile\"]\n ? item[\"gatewayProfile\"]\n : agentPoolGatewayProfileSerializer(item[\"gatewayProfile\"]),\n virtualMachinesProfile: !item[\"virtualMachinesProfile\"]\n ? item[\"virtualMachinesProfile\"]\n : virtualMachinesProfileSerializer(item[\"virtualMachinesProfile\"]),\n virtualMachineNodesStatus: !item[\"virtualMachineNodesStatus\"]\n ? item[\"virtualMachineNodesStatus\"]\n : virtualMachineNodesArraySerializer(item[\"virtualMachineNodesStatus\"]),\n status: !item[\"status\"] ? item[\"status\"] : agentPoolStatusSerializer(item[\"status\"]),\n localDNSProfile: !item[\"localDNSProfile\"]\n ? item[\"localDNSProfile\"]\n : localDNSProfileSerializer(item[\"localDNSProfile\"]),\n };\n}\n\nexport function _agentPoolPropertiesDeserializer(item: any) {\n return {\n eTag: item[\"eTag\"],\n count: item[\"count\"],\n vmSize: item[\"vmSize\"],\n osDiskSizeGB: item[\"osDiskSizeGB\"],\n osDiskType: item[\"osDiskType\"],\n kubeletDiskType: item[\"kubeletDiskType\"],\n workloadRuntime: item[\"workloadRuntime\"],\n messageOfTheDay: item[\"messageOfTheDay\"],\n vnetSubnetID: item[\"vnetSubnetID\"],\n podSubnetID: item[\"podSubnetID\"],\n podIPAllocationMode: item[\"podIPAllocationMode\"],\n maxPods: item[\"maxPods\"],\n osType: item[\"osType\"],\n osSKU: item[\"osSKU\"],\n maxCount: item[\"maxCount\"],\n minCount: item[\"minCount\"],\n enableAutoScaling: item[\"enableAutoScaling\"],\n scaleDownMode: item[\"scaleDownMode\"],\n typePropertiesType: item[\"type\"],\n mode: item[\"mode\"],\n orchestratorVersion: item[\"orchestratorVersion\"],\n currentOrchestratorVersion: item[\"currentOrchestratorVersion\"],\n nodeImageVersion: item[\"nodeImageVersion\"],\n upgradeSettings: !item[\"upgradeSettings\"]\n ? item[\"upgradeSettings\"]\n : agentPoolUpgradeSettingsDeserializer(item[\"upgradeSettings\"]),\n provisioningState: item[\"provisioningState\"],\n powerState: !item[\"powerState\"]\n ? item[\"powerState\"]\n : powerStateDeserializer(item[\"powerState\"]),\n availabilityZones: !item[\"availabilityZones\"]\n ? item[\"availabilityZones\"]\n : item[\"availabilityZones\"].map((p: any) => {\n return p;\n }),\n enableNodePublicIP: item[\"enableNodePublicIP\"],\n nodePublicIPPrefixID: item[\"nodePublicIPPrefixID\"],\n scaleSetPriority: item[\"scaleSetPriority\"],\n scaleSetEvictionPolicy: item[\"scaleSetEvictionPolicy\"],\n spotMaxPrice: item[\"spotMaxPrice\"],\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n nodeLabels: !item[\"nodeLabels\"]\n ? item[\"nodeLabels\"]\n : Object.fromEntries(\n Object.entries(item[\"nodeLabels\"]).map(([k, p]: [string, any]) => [k, p]),\n ),\n nodeTaints: !item[\"nodeTaints\"]\n ? item[\"nodeTaints\"]\n : item[\"nodeTaints\"].map((p: any) => {\n return p;\n }),\n proximityPlacementGroupID: item[\"proximityPlacementGroupID\"],\n kubeletConfig: !item[\"kubeletConfig\"]\n ? item[\"kubeletConfig\"]\n : kubeletConfigDeserializer(item[\"kubeletConfig\"]),\n linuxOSConfig: !item[\"linuxOSConfig\"]\n ? item[\"linuxOSConfig\"]\n : linuxOSConfigDeserializer(item[\"linuxOSConfig\"]),\n enableEncryptionAtHost: item[\"enableEncryptionAtHost\"],\n enableUltraSSD: item[\"enableUltraSSD\"],\n enableFips: item[\"enableFIPS\"],\n gpuInstanceProfile: item[\"gpuInstanceProfile\"],\n creationData: !item[\"creationData\"]\n ? item[\"creationData\"]\n : creationDataDeserializer(item[\"creationData\"]),\n capacityReservationGroupID: item[\"capacityReservationGroupID\"],\n hostGroupID: item[\"hostGroupID\"],\n networkProfile: !item[\"networkProfile\"]\n ? item[\"networkProfile\"]\n : agentPoolNetworkProfileDeserializer(item[\"networkProfile\"]),\n windowsProfile: !item[\"windowsProfile\"]\n ? item[\"windowsProfile\"]\n : agentPoolWindowsProfileDeserializer(item[\"windowsProfile\"]),\n securityProfile: !item[\"securityProfile\"]\n ? item[\"securityProfile\"]\n : agentPoolSecurityProfileDeserializer(item[\"securityProfile\"]),\n gpuProfile: !item[\"gpuProfile\"]\n ? item[\"gpuProfile\"]\n : gpuProfileDeserializer(item[\"gpuProfile\"]),\n gatewayProfile: !item[\"gatewayProfile\"]\n ? item[\"gatewayProfile\"]\n : agentPoolGatewayProfileDeserializer(item[\"gatewayProfile\"]),\n virtualMachinesProfile: !item[\"virtualMachinesProfile\"]\n ? item[\"virtualMachinesProfile\"]\n : virtualMachinesProfileDeserializer(item[\"virtualMachinesProfile\"]),\n virtualMachineNodesStatus: !item[\"virtualMachineNodesStatus\"]\n ? item[\"virtualMachineNodesStatus\"]\n : virtualMachineNodesArrayDeserializer(item[\"virtualMachineNodesStatus\"]),\n status: !item[\"status\"] ? item[\"status\"] : agentPoolStatusDeserializer(item[\"status\"]),\n localDNSProfile: !item[\"localDNSProfile\"]\n ? item[\"localDNSProfile\"]\n : localDNSProfileDeserializer(item[\"localDNSProfile\"]),\n };\n}\n\nexport function _agentPoolAvailableVersionsPropertiesDeserializer(item: any) {\n return {\n agentPoolVersions: !item[\"agentPoolVersions\"]\n ? item[\"agentPoolVersions\"]\n : agentPoolAvailableVersionsPropertiesAgentPoolVersionsItemArrayDeserializer(\n item[\"agentPoolVersions\"],\n ),\n };\n}\n\nexport function _agentPoolUpgradeProfilePropertiesDeserializer(item: any) {\n return {\n kubernetesVersion: item[\"kubernetesVersion\"],\n osType: item[\"osType\"],\n upgrades: !item[\"upgrades\"]\n ? item[\"upgrades\"]\n : agentPoolUpgradeProfilePropertiesUpgradesItemArrayDeserializer(item[\"upgrades\"]),\n latestNodeImageVersion: item[\"latestNodeImageVersion\"],\n };\n}\n\nexport function _managedClusterPropertiesSerializer(item: ManagedCluster): any {\n return {\n kubernetesVersion: item[\"kubernetesVersion\"],\n dnsPrefix: item[\"dnsPrefix\"],\n fqdnSubdomain: item[\"fqdnSubdomain\"],\n agentPoolProfiles: !item[\"agentPoolProfiles\"]\n ? item[\"agentPoolProfiles\"]\n : managedClusterAgentPoolProfileArraySerializer(item[\"agentPoolProfiles\"]),\n linuxProfile: !item[\"linuxProfile\"]\n ? item[\"linuxProfile\"]\n : containerServiceLinuxProfileSerializer(item[\"linuxProfile\"]),\n windowsProfile: !item[\"windowsProfile\"]\n ? item[\"windowsProfile\"]\n : managedClusterWindowsProfileSerializer(item[\"windowsProfile\"]),\n servicePrincipalProfile: !item[\"servicePrincipalProfile\"]\n ? item[\"servicePrincipalProfile\"]\n : managedClusterServicePrincipalProfileSerializer(item[\"servicePrincipalProfile\"]),\n addonProfiles: !item[\"addonProfiles\"]\n ? item[\"addonProfiles\"]\n : managedClusterAddonProfileRecordSerializer(item[\"addonProfiles\"]),\n podIdentityProfile: !item[\"podIdentityProfile\"]\n ? item[\"podIdentityProfile\"]\n : managedClusterPodIdentityProfileSerializer(item[\"podIdentityProfile\"]),\n oidcIssuerProfile: !item[\"oidcIssuerProfile\"]\n ? item[\"oidcIssuerProfile\"]\n : managedClusterOidcIssuerProfileSerializer(item[\"oidcIssuerProfile\"]),\n nodeResourceGroup: item[\"nodeResourceGroup\"],\n nodeResourceGroupProfile: !item[\"nodeResourceGroupProfile\"]\n ? item[\"nodeResourceGroupProfile\"]\n : managedClusterNodeResourceGroupProfileSerializer(item[\"nodeResourceGroupProfile\"]),\n enableRBAC: item[\"enableRbac\"],\n supportPlan: item[\"supportPlan\"],\n networkProfile: !item[\"networkProfile\"]\n ? item[\"networkProfile\"]\n : containerServiceNetworkProfileSerializer(item[\"networkProfile\"]),\n aadProfile: !item[\"aadProfile\"]\n ? item[\"aadProfile\"]\n : managedClusterAADProfileSerializer(item[\"aadProfile\"]),\n autoUpgradeProfile: !item[\"autoUpgradeProfile\"]\n ? item[\"autoUpgradeProfile\"]\n : managedClusterAutoUpgradeProfileSerializer(item[\"autoUpgradeProfile\"]),\n upgradeSettings: !item[\"upgradeSettings\"]\n ? item[\"upgradeSettings\"]\n : clusterUpgradeSettingsSerializer(item[\"upgradeSettings\"]),\n autoScalerProfile: !item[\"autoScalerProfile\"]\n ? item[\"autoScalerProfile\"]\n : managedClusterPropertiesAutoScalerProfileSerializer(item[\"autoScalerProfile\"]),\n apiServerAccessProfile: !item[\"apiServerAccessProfile\"]\n ? item[\"apiServerAccessProfile\"]\n : managedClusterAPIServerAccessProfileSerializer(item[\"apiServerAccessProfile\"]),\n diskEncryptionSetID: item[\"diskEncryptionSetID\"],\n identityProfile: !item[\"identityProfile\"]\n ? item[\"identityProfile\"]\n : userAssignedIdentityRecordSerializer(item[\"identityProfile\"]),\n privateLinkResources: !item[\"privateLinkResources\"]\n ? item[\"privateLinkResources\"]\n : privateLinkResourceArraySerializer(item[\"privateLinkResources\"]),\n disableLocalAccounts: item[\"disableLocalAccounts\"],\n httpProxyConfig: !item[\"httpProxyConfig\"]\n ? item[\"httpProxyConfig\"]\n : managedClusterHttpProxyConfigSerializer(item[\"httpProxyConfig\"]),\n securityProfile: !item[\"securityProfile\"]\n ? item[\"securityProfile\"]\n : managedClusterSecurityProfileSerializer(item[\"securityProfile\"]),\n storageProfile: !item[\"storageProfile\"]\n ? item[\"storageProfile\"]\n : managedClusterStorageProfileSerializer(item[\"storageProfile\"]),\n ingressProfile: !item[\"ingressProfile\"]\n ? item[\"ingressProfile\"]\n : managedClusterIngressProfileSerializer(item[\"ingressProfile\"]),\n publicNetworkAccess: item[\"publicNetworkAccess\"],\n workloadAutoScalerProfile: !item[\"workloadAutoScalerProfile\"]\n ? item[\"workloadAutoScalerProfile\"]\n : managedClusterWorkloadAutoScalerProfileSerializer(item[\"workloadAutoScalerProfile\"]),\n azureMonitorProfile: !item[\"azureMonitorProfile\"]\n ? item[\"azureMonitorProfile\"]\n : managedClusterAzureMonitorProfileSerializer(item[\"azureMonitorProfile\"]),\n serviceMeshProfile: !item[\"serviceMeshProfile\"]\n ? item[\"serviceMeshProfile\"]\n : serviceMeshProfileSerializer(item[\"serviceMeshProfile\"]),\n metricsProfile: !item[\"metricsProfile\"]\n ? item[\"metricsProfile\"]\n : managedClusterMetricsProfileSerializer(item[\"metricsProfile\"]),\n nodeProvisioningProfile: !item[\"nodeProvisioningProfile\"]\n ? item[\"nodeProvisioningProfile\"]\n : managedClusterNodeProvisioningProfileSerializer(item[\"nodeProvisioningProfile\"]),\n bootstrapProfile: !item[\"bootstrapProfile\"]\n ? item[\"bootstrapProfile\"]\n : managedClusterBootstrapProfileSerializer(item[\"bootstrapProfile\"]),\n aiToolchainOperatorProfile: !item[\"aiToolchainOperatorProfile\"]\n ? item[\"aiToolchainOperatorProfile\"]\n : managedClusterAIToolchainOperatorProfileSerializer(item[\"aiToolchainOperatorProfile\"]),\n hostedSystemProfile: !item[\"hostedSystemProfile\"]\n ? item[\"hostedSystemProfile\"]\n : managedClusterHostedSystemProfileSerializer(item[\"hostedSystemProfile\"]),\n status: !item[\"status\"] ? item[\"status\"] : managedClusterStatusSerializer(item[\"status\"]),\n };\n}\n\nexport function _managedClusterPropertiesDeserializer(item: any) {\n return {\n provisioningState: item[\"provisioningState\"],\n powerState: !item[\"powerState\"]\n ? item[\"powerState\"]\n : powerStateDeserializer(item[\"powerState\"]),\n maxAgentPools: item[\"maxAgentPools\"],\n kubernetesVersion: item[\"kubernetesVersion\"],\n currentKubernetesVersion: item[\"currentKubernetesVersion\"],\n dnsPrefix: item[\"dnsPrefix\"],\n fqdnSubdomain: item[\"fqdnSubdomain\"],\n fqdn: item[\"fqdn\"],\n privateFqdn: item[\"privateFQDN\"],\n azurePortalFqdn: item[\"azurePortalFQDN\"],\n agentPoolProfiles: !item[\"agentPoolProfiles\"]\n ? item[\"agentPoolProfiles\"]\n : managedClusterAgentPoolProfileArrayDeserializer(item[\"agentPoolProfiles\"]),\n linuxProfile: !item[\"linuxProfile\"]\n ? item[\"linuxProfile\"]\n : containerServiceLinuxProfileDeserializer(item[\"linuxProfile\"]),\n windowsProfile: !item[\"windowsProfile\"]\n ? item[\"windowsProfile\"]\n : managedClusterWindowsProfileDeserializer(item[\"windowsProfile\"]),\n servicePrincipalProfile: !item[\"servicePrincipalProfile\"]\n ? item[\"servicePrincipalProfile\"]\n : managedClusterServicePrincipalProfileDeserializer(item[\"servicePrincipalProfile\"]),\n addonProfiles: !item[\"addonProfiles\"]\n ? item[\"addonProfiles\"]\n : managedClusterAddonProfileRecordDeserializer(item[\"addonProfiles\"]),\n podIdentityProfile: !item[\"podIdentityProfile\"]\n ? item[\"podIdentityProfile\"]\n : managedClusterPodIdentityProfileDeserializer(item[\"podIdentityProfile\"]),\n oidcIssuerProfile: !item[\"oidcIssuerProfile\"]\n ? item[\"oidcIssuerProfile\"]\n : managedClusterOidcIssuerProfileDeserializer(item[\"oidcIssuerProfile\"]),\n nodeResourceGroup: item[\"nodeResourceGroup\"],\n nodeResourceGroupProfile: !item[\"nodeResourceGroupProfile\"]\n ? item[\"nodeResourceGroupProfile\"]\n : managedClusterNodeResourceGroupProfileDeserializer(item[\"nodeResourceGroupProfile\"]),\n enableRbac: item[\"enableRBAC\"],\n supportPlan: item[\"supportPlan\"],\n networkProfile: !item[\"networkProfile\"]\n ? item[\"networkProfile\"]\n : containerServiceNetworkProfileDeserializer(item[\"networkProfile\"]),\n aadProfile: !item[\"aadProfile\"]\n ? item[\"aadProfile\"]\n : managedClusterAADProfileDeserializer(item[\"aadProfile\"]),\n autoUpgradeProfile: !item[\"autoUpgradeProfile\"]\n ? item[\"autoUpgradeProfile\"]\n : managedClusterAutoUpgradeProfileDeserializer(item[\"autoUpgradeProfile\"]),\n upgradeSettings: !item[\"upgradeSettings\"]\n ? item[\"upgradeSettings\"]\n : clusterUpgradeSettingsDeserializer(item[\"upgradeSettings\"]),\n autoScalerProfile: !item[\"autoScalerProfile\"]\n ? item[\"autoScalerProfile\"]\n : managedClusterPropertiesAutoScalerProfileDeserializer(item[\"autoScalerProfile\"]),\n apiServerAccessProfile: !item[\"apiServerAccessProfile\"]\n ? item[\"apiServerAccessProfile\"]\n : managedClusterAPIServerAccessProfileDeserializer(item[\"apiServerAccessProfile\"]),\n diskEncryptionSetID: item[\"diskEncryptionSetID\"],\n identityProfile: !item[\"identityProfile\"]\n ? item[\"identityProfile\"]\n : userAssignedIdentityRecordDeserializer(item[\"identityProfile\"]),\n privateLinkResources: !item[\"privateLinkResources\"]\n ? item[\"privateLinkResources\"]\n : privateLinkResourceArrayDeserializer(item[\"privateLinkResources\"]),\n disableLocalAccounts: item[\"disableLocalAccounts\"],\n httpProxyConfig: !item[\"httpProxyConfig\"]\n ? item[\"httpProxyConfig\"]\n : managedClusterHttpProxyConfigDeserializer(item[\"httpProxyConfig\"]),\n securityProfile: !item[\"securityProfile\"]\n ? item[\"securityProfile\"]\n : managedClusterSecurityProfileDeserializer(item[\"securityProfile\"]),\n storageProfile: !item[\"storageProfile\"]\n ? item[\"storageProfile\"]\n : managedClusterStorageProfileDeserializer(item[\"storageProfile\"]),\n ingressProfile: !item[\"ingressProfile\"]\n ? item[\"ingressProfile\"]\n : managedClusterIngressProfileDeserializer(item[\"ingressProfile\"]),\n publicNetworkAccess: item[\"publicNetworkAccess\"],\n workloadAutoScalerProfile: !item[\"workloadAutoScalerProfile\"]\n ? item[\"workloadAutoScalerProfile\"]\n : managedClusterWorkloadAutoScalerProfileDeserializer(item[\"workloadAutoScalerProfile\"]),\n azureMonitorProfile: !item[\"azureMonitorProfile\"]\n ? item[\"azureMonitorProfile\"]\n : managedClusterAzureMonitorProfileDeserializer(item[\"azureMonitorProfile\"]),\n serviceMeshProfile: !item[\"serviceMeshProfile\"]\n ? item[\"serviceMeshProfile\"]\n : serviceMeshProfileDeserializer(item[\"serviceMeshProfile\"]),\n resourceUID: item[\"resourceUID\"],\n metricsProfile: !item[\"metricsProfile\"]\n ? item[\"metricsProfile\"]\n : managedClusterMetricsProfileDeserializer(item[\"metricsProfile\"]),\n nodeProvisioningProfile: !item[\"nodeProvisioningProfile\"]\n ? item[\"nodeProvisioningProfile\"]\n : managedClusterNodeProvisioningProfileDeserializer(item[\"nodeProvisioningProfile\"]),\n bootstrapProfile: !item[\"bootstrapProfile\"]\n ? item[\"bootstrapProfile\"]\n : managedClusterBootstrapProfileDeserializer(item[\"bootstrapProfile\"]),\n aiToolchainOperatorProfile: !item[\"aiToolchainOperatorProfile\"]\n ? item[\"aiToolchainOperatorProfile\"]\n : managedClusterAIToolchainOperatorProfileDeserializer(item[\"aiToolchainOperatorProfile\"]),\n hostedSystemProfile: !item[\"hostedSystemProfile\"]\n ? item[\"hostedSystemProfile\"]\n : managedClusterHostedSystemProfileDeserializer(item[\"hostedSystemProfile\"]),\n status: !item[\"status\"] ? item[\"status\"] : managedClusterStatusDeserializer(item[\"status\"]),\n };\n}\n\nexport function _managedClusterAccessProfilePropertiesDeserializer(item: any) {\n return {\n kubeConfig: !item[\"kubeConfig\"]\n ? item[\"kubeConfig\"]\n : typeof item[\"kubeConfig\"] === \"string\"\n ? stringToUint8Array(item[\"kubeConfig\"], \"base64\")\n : item[\"kubeConfig\"],\n };\n}\n\nexport function _runCommandResultPropertiesDeserializer(item: any) {\n return {\n provisioningState: item[\"provisioningState\"],\n exitCode: item[\"exitCode\"],\n startedAt: !item[\"startedAt\"] ? item[\"startedAt\"] : new Date(item[\"startedAt\"]),\n finishedAt: !item[\"finishedAt\"] ? item[\"finishedAt\"] : new Date(item[\"finishedAt\"]),\n logs: item[\"logs\"],\n reason: item[\"reason\"],\n };\n}\n\nexport function _managedClusterUpgradeProfilePropertiesDeserializer(item: any) {\n return {\n controlPlaneProfile: managedClusterPoolUpgradeProfileDeserializer(item[\"controlPlaneProfile\"]),\n agentPoolProfiles: managedClusterPoolUpgradeProfileArrayDeserializer(item[\"agentPoolProfiles\"]),\n };\n}\n\nexport function _maintenanceConfigurationPropertiesSerializer(item: MaintenanceConfiguration): any {\n return {\n timeInWeek: !item[\"timeInWeek\"]\n ? item[\"timeInWeek\"]\n : timeInWeekArraySerializer(item[\"timeInWeek\"]),\n notAllowedTime: !item[\"notAllowedTime\"]\n ? item[\"notAllowedTime\"]\n : timeSpanArraySerializer(item[\"notAllowedTime\"]),\n maintenanceWindow: !item[\"maintenanceWindow\"]\n ? item[\"maintenanceWindow\"]\n : maintenanceWindowSerializer(item[\"maintenanceWindow\"]),\n };\n}\n\nexport function _maintenanceConfigurationPropertiesDeserializer(item: any) {\n return {\n timeInWeek: !item[\"timeInWeek\"]\n ? item[\"timeInWeek\"]\n : timeInWeekArrayDeserializer(item[\"timeInWeek\"]),\n notAllowedTime: !item[\"notAllowedTime\"]\n ? item[\"notAllowedTime\"]\n : timeSpanArrayDeserializer(item[\"notAllowedTime\"]),\n maintenanceWindow: !item[\"maintenanceWindow\"]\n ? item[\"maintenanceWindow\"]\n : maintenanceWindowDeserializer(item[\"maintenanceWindow\"]),\n };\n}\n\nexport function _privateEndpointConnectionPropertiesSerializer(\n item: PrivateEndpointConnection,\n): any {\n return {\n privateEndpoint: !item[\"privateEndpoint\"]\n ? item[\"privateEndpoint\"]\n : privateEndpointSerializer(item[\"privateEndpoint\"]),\n privateLinkServiceConnectionState: !item[\"privateLinkServiceConnectionState\"]\n ? item[\"privateLinkServiceConnectionState\"]\n : privateLinkServiceConnectionStateSerializer(item[\"privateLinkServiceConnectionState\"]),\n };\n}\n\nexport function _privateEndpointConnectionPropertiesDeserializer(item: any) {\n return {\n provisioningState: item[\"provisioningState\"],\n privateEndpoint: !item[\"privateEndpoint\"]\n ? item[\"privateEndpoint\"]\n : privateEndpointDeserializer(item[\"privateEndpoint\"]),\n privateLinkServiceConnectionState: !item[\"privateLinkServiceConnectionState\"]\n ? item[\"privateLinkServiceConnectionState\"]\n : privateLinkServiceConnectionStateDeserializer(item[\"privateLinkServiceConnectionState\"]),\n };\n}\n\nexport function _snapshotPropertiesSerializer(item: Snapshot): any {\n return {\n creationData: !item[\"creationData\"]\n ? item[\"creationData\"]\n : creationDataSerializer(item[\"creationData\"]),\n snapshotType: item[\"snapshotType\"],\n };\n}\n\nexport function _snapshotPropertiesDeserializer(item: any) {\n return {\n creationData: !item[\"creationData\"]\n ? item[\"creationData\"]\n : creationDataDeserializer(item[\"creationData\"]),\n snapshotType: item[\"snapshotType\"],\n kubernetesVersion: item[\"kubernetesVersion\"],\n nodeImageVersion: item[\"nodeImageVersion\"],\n osType: item[\"osType\"],\n osSku: item[\"osSku\"],\n vmSize: item[\"vmSize\"],\n enableFips: item[\"enableFIPS\"],\n };\n}\n\nexport function _trustedAccessRoleBindingPropertiesSerializer(item: TrustedAccessRoleBinding): any {\n return {\n sourceResourceId: item[\"sourceResourceId\"],\n roles: item[\"roles\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function _trustedAccessRoleBindingPropertiesDeserializer(item: any) {\n return {\n provisioningState: item[\"provisioningState\"],\n sourceResourceId: item[\"sourceResourceId\"],\n roles: item[\"roles\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function _operationValueDisplayDeserializer(item: any) {\n return {\n operation: item[\"operation\"],\n resource: item[\"resource\"],\n description: item[\"description\"],\n provider: item[\"provider\"],\n };\n}\n"]}
|