From 2395afbb2e753c5affa6b429d3ce063adb848456 Mon Sep 17 00:00:00 2001 From: SDKAuto Date: Tue, 28 Nov 2023 02:20:47 +0000 Subject: [PATCH] CodeGen from PR 26850 in Azure/azure-rest-api-specs Merge 6216da5a4e11e439d73e342a88c8dbf44c0e8990 into efe649667f66cbc440356aada843ade989473aba --- .../arm-containerservice/CHANGELOG.md | 182 +- .../arm-containerservice/README.md | 2 +- .../arm-containerservice/_meta.json | 6 +- .../arm-containerservice/package.json | 14 +- .../review/arm-containerservice.api.md | 594 ++++- .../src/containerServiceClient.ts | 30 +- .../arm-containerservice/src/models/index.ts | 1208 +++++++-- .../src/models/mappers.ts | 2228 ++++++++++++++--- .../src/models/parameters.ts | 67 +- .../src/operations/agentPools.ts | 152 +- .../src/operations/index.ts | 5 +- .../src/operations/machines.ts | 264 ++ .../src/operations/managedClusterSnapshots.ts | 474 ++++ .../src/operations/managedClusters.ts | 289 ++- .../operationStatusResultOperations.ts | 286 +++ .../src/operationsInterfaces/agentPools.ts | 42 +- .../src/operationsInterfaces/index.ts | 5 +- .../src/operationsInterfaces/machines.ts | 48 + .../managedClusterSnapshots.ts | 91 + .../operationsInterfaces/managedClusters.ts | 76 +- .../operationStatusResultOperations.ts | 61 + .../arm-containerservice/test/sampleTest.ts | 43 + .../arm-containerservice/tsconfig.json | 10 +- 23 files changed, 5477 insertions(+), 700 deletions(-) create mode 100644 sdk/containerservice/arm-containerservice/src/operations/machines.ts create mode 100644 sdk/containerservice/arm-containerservice/src/operations/managedClusterSnapshots.ts create mode 100644 sdk/containerservice/arm-containerservice/src/operations/operationStatusResultOperations.ts create mode 100644 sdk/containerservice/arm-containerservice/src/operationsInterfaces/machines.ts create mode 100644 sdk/containerservice/arm-containerservice/src/operationsInterfaces/managedClusterSnapshots.ts create mode 100644 sdk/containerservice/arm-containerservice/src/operationsInterfaces/operationStatusResultOperations.ts create mode 100644 sdk/containerservice/arm-containerservice/test/sampleTest.ts diff --git a/sdk/containerservice/arm-containerservice/CHANGELOG.md b/sdk/containerservice/arm-containerservice/CHANGELOG.md index a6ca97a8ab03..0763e3073e58 100644 --- a/sdk/containerservice/arm-containerservice/CHANGELOG.md +++ b/sdk/containerservice/arm-containerservice/CHANGELOG.md @@ -1,15 +1,177 @@ # Release History + +## 19.6.0-beta.1 (2023-11-28) + +**Features** -## 19.5.1 (Unreleased) - -### Features Added - -### Breaking Changes - -### Bugs Fixed - -### Other Changes - + - Added operation group Machines + - Added operation group ManagedClusterSnapshots + - Added operation group OperationStatusResultOperations + - Added operation AgentPools.beginDeleteMachines + - Added operation AgentPools.beginDeleteMachinesAndWait + - Added operation ManagedClusters.getGuardrailsVersions + - Added operation ManagedClusters.listGuardrailsVersions + - Added Interface AgentPoolArtifactStreamingProfile + - Added Interface AgentPoolDeleteMachinesParameter + - Added Interface AgentPoolGPUProfile + - Added Interface AgentPoolNetworkProfile + - Added Interface AgentPoolsDeleteMachinesHeaders + - Added Interface AgentPoolsDeleteMachinesOptionalParams + - Added Interface AgentPoolSecurityProfile + - Added Interface AgentPoolWindowsProfile + - Added Interface ContainerServiceNetworkProfileKubeProxyConfig + - Added Interface ContainerServiceNetworkProfileKubeProxyConfigIpvsConfig + - Added Interface GuardrailsAvailableVersion + - Added Interface GuardrailsAvailableVersionsList + - Added Interface GuardrailsAvailableVersionsProperties + - Added Interface GuardrailsProfile + - Added Interface IPTag + - Added Interface Machine + - Added Interface MachineIpAddress + - Added Interface MachineListResult + - Added Interface MachineNetworkProperties + - Added Interface MachineProperties + - Added Interface MachinesGetOptionalParams + - Added Interface MachinesListNextOptionalParams + - Added Interface MachinesListOptionalParams + - Added Interface ManagedClusterAIToolchainOperatorProfile + - Added Interface ManagedClusterAzureMonitorProfileAppMonitoring + - Added Interface ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics + - Added Interface ManagedClusterAzureMonitorProfileContainerInsights + - Added Interface ManagedClusterAzureMonitorProfileLogs + - Added Interface ManagedClusterAzureMonitorProfileWindowsHostLogs + - Added Interface ManagedClusterCostAnalysis + - Added Interface ManagedClusterIngressProfile + - Added Interface ManagedClusterIngressProfileWebAppRouting + - Added Interface ManagedClusterMetricsProfile + - Added Interface ManagedClusterNodeProvisioningProfile + - Added Interface ManagedClusterNodeResourceGroupProfile + - Added Interface ManagedClusterPropertiesForSnapshot + - Added Interface ManagedClusterSecurityProfileImageIntegrity + - Added Interface ManagedClusterSecurityProfileNodeRestriction + - Added Interface ManagedClustersGetGuardrailsVersionsOptionalParams + - Added Interface ManagedClustersListGuardrailsVersionsNextOptionalParams + - Added Interface ManagedClustersListGuardrailsVersionsOptionalParams + - Added Interface ManagedClusterSnapshot + - Added Interface ManagedClusterSnapshotListResult + - Added Interface ManagedClusterSnapshotsCreateOrUpdateOptionalParams + - Added Interface ManagedClusterSnapshotsDeleteOptionalParams + - Added Interface ManagedClusterSnapshotsGetOptionalParams + - Added Interface ManagedClusterSnapshotsListByResourceGroupNextOptionalParams + - Added Interface ManagedClusterSnapshotsListByResourceGroupOptionalParams + - Added Interface ManagedClusterSnapshotsListNextOptionalParams + - Added Interface ManagedClusterSnapshotsListOptionalParams + - Added Interface ManagedClusterSnapshotsUpdateTagsOptionalParams + - Added Interface ManualScaleProfile + - Added Interface NetworkMonitoring + - Added Interface NetworkProfileForSnapshot + - Added Interface OperationStatusResult + - Added Interface OperationStatusResultGetByAgentPoolOptionalParams + - Added Interface OperationStatusResultGetOptionalParams + - Added Interface OperationStatusResultList + - Added Interface OperationStatusResultListNextOptionalParams + - Added Interface OperationStatusResultListOptionalParams + - Added Interface PortRange + - Added Interface ScaleProfile + - Added Interface VirtualMachineNodes + - Added Interface VirtualMachinesProfile + - Added Type Alias AddonAutoscaling + - Added Type Alias AgentPoolsDeleteMachinesResponse + - Added Type Alias AgentPoolSSHAccess + - Added Type Alias BackendPoolType + - Added Type Alias GuardrailsSupport + - Added Type Alias IpvsScheduler + - Added Type Alias Level + - Added Type Alias MachinesGetResponse + - Added Type Alias MachinesListNextResponse + - Added Type Alias MachinesListResponse + - Added Type Alias ManagedClustersGetGuardrailsVersionsResponse + - Added Type Alias ManagedClustersListGuardrailsVersionsNextResponse + - Added Type Alias ManagedClustersListGuardrailsVersionsResponse + - Added Type Alias ManagedClusterSnapshotsCreateOrUpdateResponse + - Added Type Alias ManagedClusterSnapshotsGetResponse + - Added Type Alias ManagedClusterSnapshotsListByResourceGroupNextResponse + - Added Type Alias ManagedClusterSnapshotsListByResourceGroupResponse + - Added Type Alias ManagedClusterSnapshotsListNextResponse + - Added Type Alias ManagedClusterSnapshotsListResponse + - Added Type Alias ManagedClusterSnapshotsUpdateTagsResponse + - Added Type Alias Mode + - Added Type Alias NodeProvisioningMode + - Added Type Alias OperationStatusResultGetByAgentPoolResponse + - Added Type Alias OperationStatusResultGetResponse + - Added Type Alias OperationStatusResultListNextResponse + - Added Type Alias OperationStatusResultListResponse + - Added Type Alias Protocol + - Added Type Alias RestrictionLevel + - Interface AgentPool has a new optional parameter artifactStreamingProfile + - Interface AgentPool has a new optional parameter capacityReservationGroupID + - Interface AgentPool has a new optional parameter enableCustomCATrust + - Interface AgentPool has a new optional parameter gpuProfile + - Interface AgentPool has a new optional parameter messageOfTheDay + - Interface AgentPool has a new optional parameter networkProfile + - Interface AgentPool has a new optional parameter nodeInitializationTaints + - Interface AgentPool has a new optional parameter securityProfile + - Interface AgentPool has a new optional parameter virtualMachineNodesStatus + - Interface AgentPool has a new optional parameter virtualMachinesProfile + - Interface AgentPool has a new optional parameter windowsProfile + - Interface AgentPoolsDeleteOptionalParams has a new optional parameter ignorePodDisruptionBudget + - Interface AgentPoolUpgradeSettings has a new optional parameter nodeSoakDurationInMinutes + - Interface ContainerServiceNetworkProfile has a new optional parameter kubeProxyConfig + - Interface ContainerServiceNetworkProfile has a new optional parameter monitoring + - Interface ManagedCluster has a new optional parameter aiToolchainOperatorProfile + - Interface ManagedCluster has a new optional parameter creationData + - Interface ManagedCluster has a new optional parameter enableNamespaceResources + - Interface ManagedCluster has a new optional parameter guardrailsProfile + - Interface ManagedCluster has a new optional parameter ingressProfile + - Interface ManagedCluster has a new optional parameter metricsProfile + - Interface ManagedCluster has a new optional parameter nodeProvisioningProfile + - Interface ManagedCluster has a new optional parameter nodeResourceGroupProfile + - Interface ManagedClusterAgentPoolProfileProperties has a new optional parameter artifactStreamingProfile + - Interface ManagedClusterAgentPoolProfileProperties has a new optional parameter capacityReservationGroupID + - Interface ManagedClusterAgentPoolProfileProperties has a new optional parameter enableCustomCATrust + - Interface ManagedClusterAgentPoolProfileProperties has a new optional parameter gpuProfile + - Interface ManagedClusterAgentPoolProfileProperties has a new optional parameter messageOfTheDay + - Interface ManagedClusterAgentPoolProfileProperties has a new optional parameter networkProfile + - Interface ManagedClusterAgentPoolProfileProperties has a new optional parameter nodeInitializationTaints + - Interface ManagedClusterAgentPoolProfileProperties has a new optional parameter securityProfile + - Interface ManagedClusterAgentPoolProfileProperties has a new optional parameter virtualMachineNodesStatus + - Interface ManagedClusterAgentPoolProfileProperties has a new optional parameter virtualMachinesProfile + - Interface ManagedClusterAgentPoolProfileProperties has a new optional parameter windowsProfile + - Interface ManagedClusterAPIServerAccessProfile has a new optional parameter enableVnetIntegration + - Interface ManagedClusterAPIServerAccessProfile has a new optional parameter subnetId + - Interface ManagedClusterAzureMonitorProfile has a new optional parameter logs + - Interface ManagedClusterAzureMonitorProfileMetrics has a new optional parameter appMonitoringOpenTelemetryMetrics + - Interface ManagedClusterHttpProxyConfig has a new optional parameter effectiveNoProxy + - Interface ManagedClusterLoadBalancerProfile has a new optional parameter backendPoolType + - Interface ManagedClusterPropertiesAutoScalerProfile has a new optional parameter daemonsetEvictionForEmptyNodes + - Interface ManagedClusterPropertiesAutoScalerProfile has a new optional parameter daemonsetEvictionForOccupiedNodes + - Interface ManagedClusterPropertiesAutoScalerProfile has a new optional parameter ignoreDaemonsetsUtilization + - Interface ManagedClustersDeleteOptionalParams has a new optional parameter ignorePodDisruptionBudget + - Interface ManagedClusterSecurityProfile has a new optional parameter customCATrustCertificates + - Interface ManagedClusterSecurityProfile has a new optional parameter imageIntegrity + - Interface ManagedClusterSecurityProfile has a new optional parameter nodeRestriction + - Interface ManagedClusterStorageProfileDiskCSIDriver has a new optional parameter version + - Interface ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler has a new optional parameter addonAutoscaling + - Added Enum KnownAddonAutoscaling + - Added Enum KnownAgentPoolSSHAccess + - Added Enum KnownBackendPoolType + - Added Enum KnownGuardrailsSupport + - Added Enum KnownIpvsScheduler + - Added Enum KnownLevel + - Added Enum KnownMode + - Added Enum KnownNodeProvisioningMode + - Added Enum KnownProtocol + - Added Enum KnownRestrictionLevel + - Enum KnownAgentPoolType has a new value VirtualMachines + - Enum KnownNetworkPolicy has a new value None + - Enum KnownNodeOSUpgradeChannel has a new value SecurityPatch + - Enum KnownOssku has a new value Mariner + - Enum KnownOssku has a new value WindowsAnnual + - Enum KnownPublicNetworkAccess has a new value SecuredByPerimeter + - Enum KnownSnapshotType has a new value ManagedCluster + - Enum KnownWorkloadRuntime has a new value KataMshvVmIsolation + + ## 19.5.0 (2023-11-22) **Features** diff --git a/sdk/containerservice/arm-containerservice/README.md b/sdk/containerservice/arm-containerservice/README.md index 286d376f7c22..ce081835bfbd 100644 --- a/sdk/containerservice/arm-containerservice/README.md +++ b/sdk/containerservice/arm-containerservice/README.md @@ -6,7 +6,7 @@ The Container Service Client. [Source code](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/containerservice/arm-containerservice) | [Package (NPM)](https://www.npmjs.com/package/@azure/arm-containerservice) | -[API reference documentation](https://docs.microsoft.com/javascript/api/@azure/arm-containerservice) | +[API reference documentation](https://docs.microsoft.com/javascript/api/@azure/arm-containerservice?view=azure-node-preview) | [Samples](https://github.com/Azure-Samples/azure-samples-js-management) ## Getting started diff --git a/sdk/containerservice/arm-containerservice/_meta.json b/sdk/containerservice/arm-containerservice/_meta.json index 1dc448fa95c7..4bcb6a6baa3e 100644 --- a/sdk/containerservice/arm-containerservice/_meta.json +++ b/sdk/containerservice/arm-containerservice/_meta.json @@ -1,8 +1,8 @@ { - "commit": "7ae8d80917d262746790f86c98c5191bd0ce8eff", + "commit": "1e6689e46ffa95d8947d7762f0119a58abe948db", "readme": "specification/containerservice/resource-manager/Microsoft.ContainerService/aks/readme.md", - "autorest_command": "autorest --version=3.9.7 --typescript --modelerfour.lenient-model-deduplication --azure-arm --head-as-boolean=true --license-header=MICROSOFT_MIT_NO_VERSION --generate-test --typescript-sdks-folder=D:\\Git\\azure-sdk-for-js ..\\azure-rest-api-specs\\specification\\containerservice\\resource-manager\\Microsoft.ContainerService\\aks\\readme.md --use=@autorest/typescript@6.0.12 --generate-sample=true", + "autorest_command": "autorest --version=3.9.7 --typescript --modelerfour.lenient-model-deduplication --azure-arm --head-as-boolean=true --license-header=MICROSOFT_MIT_NO_VERSION --generate-test --typescript-sdks-folder=/mnt/vss/_work/1/s/azure-sdk-for-js ../azure-rest-api-specs/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/readme.md --use=@autorest/typescript@^6.0.12", "repository_url": "https://github.com/Azure/azure-rest-api-specs.git", "release_tool": "@azure-tools/js-sdk-release-tools@2.7.4", - "use": "@autorest/typescript@6.0.12" + "use": "@autorest/typescript@^6.0.12" } \ No newline at end of file diff --git a/sdk/containerservice/arm-containerservice/package.json b/sdk/containerservice/arm-containerservice/package.json index 3056236bd8e3..edeed1a395f8 100644 --- a/sdk/containerservice/arm-containerservice/package.json +++ b/sdk/containerservice/arm-containerservice/package.json @@ -3,7 +3,7 @@ "sdk-type": "mgmt", "author": "Microsoft Corporation", "description": "A generated SDK for ContainerServiceClient.", - "version": "19.5.1", + "version": "19.6.0-beta.1", "engines": { "node": ">=18.0.0" }, @@ -107,13 +107,5 @@ ] }, "autoPublish": true, - "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/containerservice/arm-containerservice", - "//sampleConfiguration": { - "productName": "", - "productSlugs": [ - "azure" - ], - "disableDocsMs": true, - "apiRefLink": "https://docs.microsoft.com/javascript/api/@azure/arm-containerservice?view=azure-node-preview" - } -} + "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/containerservice/arm-containerservice" +} \ No newline at end of file diff --git a/sdk/containerservice/arm-containerservice/review/arm-containerservice.api.md b/sdk/containerservice/arm-containerservice/review/arm-containerservice.api.md index 5a4c240b416a..5ef94a163f28 100644 --- a/sdk/containerservice/arm-containerservice/review/arm-containerservice.api.md +++ b/sdk/containerservice/arm-containerservice/review/arm-containerservice.api.md @@ -16,27 +16,37 @@ export interface AbsoluteMonthlySchedule { intervalMonths: number; } +// @public +export type AddonAutoscaling = string; + // @public export interface AgentPool extends SubResource { + artifactStreamingProfile?: AgentPoolArtifactStreamingProfile; availabilityZones?: string[]; + capacityReservationGroupID?: string; count?: number; creationData?: CreationData; readonly currentOrchestratorVersion?: string; enableAutoScaling?: boolean; + enableCustomCATrust?: boolean; enableEncryptionAtHost?: boolean; enableFips?: boolean; enableNodePublicIP?: boolean; enableUltraSSD?: boolean; gpuInstanceProfile?: GPUInstanceProfile; + gpuProfile?: AgentPoolGPUProfile; hostGroupID?: string; kubeletConfig?: KubeletConfig; kubeletDiskType?: KubeletDiskType; linuxOSConfig?: LinuxOSConfig; maxCount?: number; maxPods?: number; + messageOfTheDay?: string; minCount?: number; mode?: AgentPoolMode; + networkProfile?: AgentPoolNetworkProfile; readonly nodeImageVersion?: string; + nodeInitializationTaints?: string[]; nodeLabels?: { [propertyName: string]: string; }; @@ -54,17 +64,26 @@ export interface AgentPool extends SubResource { scaleDownMode?: ScaleDownMode; scaleSetEvictionPolicy?: ScaleSetEvictionPolicy; scaleSetPriority?: ScaleSetPriority; + securityProfile?: AgentPoolSecurityProfile; spotMaxPrice?: number; tags?: { [propertyName: string]: string; }; typePropertiesType?: AgentPoolType; upgradeSettings?: AgentPoolUpgradeSettings; + virtualMachineNodesStatus?: VirtualMachineNodes[]; + virtualMachinesProfile?: VirtualMachinesProfile; vmSize?: string; vnetSubnetID?: string; + windowsProfile?: AgentPoolWindowsProfile; workloadRuntime?: WorkloadRuntime; } +// @public (undocumented) +export interface AgentPoolArtifactStreamingProfile { + enabled?: boolean; +} + // @public export interface AgentPoolAvailableVersions { agentPoolVersions?: AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem[]; @@ -80,6 +99,16 @@ export interface AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem { kubernetesVersion?: string; } +// @public +export interface AgentPoolDeleteMachinesParameter { + machineNames: string[]; +} + +// @public (undocumented) +export interface AgentPoolGPUProfile { + installGPUDriver?: boolean; +} + // @public export interface AgentPoolListResult { readonly nextLink?: string; @@ -89,6 +118,13 @@ export interface AgentPoolListResult { // @public export type AgentPoolMode = string; +// @public +export interface AgentPoolNetworkProfile { + allowedHostPorts?: PortRange[]; + applicationSecurityGroups?: string[]; + nodePublicIPTags?: IPTag[]; +} + // @public export interface AgentPools { beginAbortLatestOperation(resourceGroupName: string, resourceName: string, agentPoolName: string, options?: AgentPoolsAbortLatestOperationOptionalParams): Promise, AgentPoolsAbortLatestOperationResponse>>; @@ -97,6 +133,8 @@ export interface AgentPools { beginCreateOrUpdateAndWait(resourceGroupName: string, resourceName: string, agentPoolName: string, parameters: AgentPool, options?: AgentPoolsCreateOrUpdateOptionalParams): Promise; beginDelete(resourceGroupName: string, resourceName: string, agentPoolName: string, options?: AgentPoolsDeleteOptionalParams): Promise, AgentPoolsDeleteResponse>>; beginDeleteAndWait(resourceGroupName: string, resourceName: string, agentPoolName: string, options?: AgentPoolsDeleteOptionalParams): Promise; + beginDeleteMachines(resourceGroupName: string, resourceName: string, agentPoolName: string, machines: AgentPoolDeleteMachinesParameter, options?: AgentPoolsDeleteMachinesOptionalParams): Promise, AgentPoolsDeleteMachinesResponse>>; + beginDeleteMachinesAndWait(resourceGroupName: string, resourceName: string, agentPoolName: string, machines: AgentPoolDeleteMachinesParameter, options?: AgentPoolsDeleteMachinesOptionalParams): Promise; beginUpgradeNodeImageVersion(resourceGroupName: string, resourceName: string, agentPoolName: string, options?: AgentPoolsUpgradeNodeImageVersionOptionalParams): Promise, void>>; beginUpgradeNodeImageVersionAndWait(resourceGroupName: string, resourceName: string, agentPoolName: string, options?: AgentPoolsUpgradeNodeImageVersionOptionalParams): Promise; get(resourceGroupName: string, resourceName: string, agentPoolName: string, options?: AgentPoolsGetOptionalParams): Promise; @@ -134,8 +172,23 @@ export interface AgentPoolsDeleteHeaders { location?: string; } +// @public +export interface AgentPoolsDeleteMachinesHeaders { + location?: string; +} + +// @public +export interface AgentPoolsDeleteMachinesOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type AgentPoolsDeleteMachinesResponse = AgentPoolsDeleteMachinesHeaders; + // @public export interface AgentPoolsDeleteOptionalParams extends coreClient.OperationOptions { + ignorePodDisruptionBudget?: boolean; resumeFrom?: string; updateIntervalInMs?: number; } @@ -143,6 +196,13 @@ export interface AgentPoolsDeleteOptionalParams extends coreClient.OperationOpti // @public export type AgentPoolsDeleteResponse = AgentPoolsDeleteHeaders; +// @public +export interface AgentPoolSecurityProfile { + enableSecureBoot?: boolean; + enableVtpm?: boolean; + sshAccess?: AgentPoolSSHAccess; +} + // @public export interface AgentPoolsGetAvailableAgentPoolVersionsOptionalParams extends coreClient.OperationOptions { } @@ -178,6 +238,9 @@ export interface AgentPoolsListOptionalParams extends coreClient.OperationOption // @public export type AgentPoolsListResponse = AgentPoolListResult; +// @public +export type AgentPoolSSHAccess = string; + // @public export interface AgentPoolsUpgradeNodeImageVersionHeaders { azureAsyncOperation?: string; @@ -213,6 +276,12 @@ export interface AgentPoolUpgradeProfilePropertiesUpgradesItem { export interface AgentPoolUpgradeSettings { drainTimeoutInMinutes?: number; maxSurge?: string; + nodeSoakDurationInMinutes?: number; +} + +// @public +export interface AgentPoolWindowsProfile { + disableOutboundNat?: boolean; } // @public @@ -223,6 +292,9 @@ export interface AzureKeyVaultKms { keyVaultResourceId?: string; } +// @public +export type BackendPoolType = string; + // @public export interface CloudError { error?: CloudErrorBody; @@ -263,12 +335,18 @@ export class ContainerServiceClient extends coreClient.ServiceClient { // (undocumented) apiVersion: string; // (undocumented) + machines: Machines; + // (undocumented) maintenanceConfigurations: MaintenanceConfigurations; // (undocumented) managedClusters: ManagedClusters; // (undocumented) + managedClusterSnapshots: ManagedClusterSnapshots; + // (undocumented) operations: Operations; // (undocumented) + operationStatusResultOperations: OperationStatusResultOperations; + // (undocumented) privateEndpointConnections: PrivateEndpointConnections; // (undocumented) privateLinkResources: PrivateLinkResources; @@ -301,8 +379,10 @@ export interface ContainerServiceLinuxProfile { export interface ContainerServiceNetworkProfile { dnsServiceIP?: string; ipFamilies?: IpFamily[]; + kubeProxyConfig?: ContainerServiceNetworkProfileKubeProxyConfig; loadBalancerProfile?: ManagedClusterLoadBalancerProfile; loadBalancerSku?: LoadBalancerSku; + monitoring?: NetworkMonitoring; natGatewayProfile?: ManagedClusterNATGatewayProfile; networkDataplane?: NetworkDataplane; networkMode?: NetworkMode; @@ -316,6 +396,21 @@ export interface ContainerServiceNetworkProfile { serviceCidrs?: string[]; } +// @public +export interface ContainerServiceNetworkProfileKubeProxyConfig { + enabled?: boolean; + ipvsConfig?: ContainerServiceNetworkProfileKubeProxyConfigIpvsConfig; + mode?: Mode; +} + +// @public +export interface ContainerServiceNetworkProfileKubeProxyConfigIpvsConfig { + scheduler?: IpvsScheduler; + tcpFinTimeoutSeconds?: number; + tcpTimeoutSeconds?: number; + udpTimeoutSeconds?: number; +} + // @public export interface ContainerServiceSshConfiguration { publicKeys: ContainerServiceSshPublicKey[]; @@ -419,9 +514,46 @@ export function getContinuationToken(page: unknown): string | undefined; // @public export type GPUInstanceProfile = string; +// @public +export interface GuardrailsAvailableVersion extends Resource { + properties: GuardrailsAvailableVersionsProperties; +} + +// @public +export interface GuardrailsAvailableVersionsList { + readonly nextLink?: string; + value?: GuardrailsAvailableVersion[]; +} + +// @public +export interface GuardrailsAvailableVersionsProperties { + readonly isDefaultVersion?: boolean; + readonly support?: GuardrailsSupport; +} + +// @public +export interface GuardrailsProfile { + excludedNamespaces?: string[]; + level: Level; + readonly systemExcludedNamespaces?: string[]; + version?: string; +} + +// @public +export type GuardrailsSupport = string; + // @public export type IpFamily = string; +// @public +export interface IPTag { + ipTagType?: string; + tag?: string; +} + +// @public +export type IpvsScheduler = string; + // @public export interface IstioCertificateAuthority { plugin?: IstioPluginCertificateAuthority; @@ -469,18 +601,37 @@ export interface IstioServiceMesh { // @public export type KeyVaultNetworkAccessTypes = string; +// @public +export enum KnownAddonAutoscaling { + Disabled = "Disabled", + Enabled = "Enabled" +} + // @public export enum KnownAgentPoolMode { System = "System", User = "User" } +// @public +export enum KnownAgentPoolSSHAccess { + Disabled = "Disabled", + LocalUser = "LocalUser" +} + // @public export enum KnownAgentPoolType { AvailabilitySet = "AvailabilitySet", + VirtualMachines = "VirtualMachines", VirtualMachineScaleSets = "VirtualMachineScaleSets" } +// @public +export enum KnownBackendPoolType { + NodeIP = "NodeIP", + NodeIPConfiguration = "NodeIPConfiguration" +} + // @public export enum KnownCode { Running = "Running", @@ -531,12 +682,24 @@ export enum KnownGPUInstanceProfile { MIG7G = "MIG7g" } +// @public +export enum KnownGuardrailsSupport { + Preview = "Preview", + Stable = "Stable" +} + // @public export enum KnownIpFamily { IPv4 = "IPv4", IPv6 = "IPv6" } +// @public +export enum KnownIpvsScheduler { + LeastConnection = "LeastConnection", + RoundRobin = "RoundRobin" +} + // @public export enum KnownIstioIngressGatewayMode { External = "External", @@ -561,6 +724,13 @@ export enum KnownKubernetesSupportPlan { KubernetesOfficial = "KubernetesOfficial" } +// @public +export enum KnownLevel { + Enforcement = "Enforcement", + Off = "Off", + Warning = "Warning" +} + // @public export enum KnownLicenseType { None = "None", @@ -595,6 +765,12 @@ export enum KnownManagedClusterSKUTier { Standard = "Standard" } +// @public +export enum KnownMode { + Iptables = "IPTABLES", + Ipvs = "IPVS" +} + // @public export enum KnownNetworkDataplane { Azure = "azure", @@ -623,16 +799,24 @@ export enum KnownNetworkPluginMode { export enum KnownNetworkPolicy { Azure = "azure", Calico = "calico", - Cilium = "cilium" + Cilium = "cilium", + None = "none" } // @public export enum KnownNodeOSUpgradeChannel { NodeImage = "NodeImage", None = "None", + SecurityPatch = "SecurityPatch", Unmanaged = "Unmanaged" } +// @public +export enum KnownNodeProvisioningMode { + Auto = "Auto", + Manual = "Manual" +} + // @public export enum KnownOSDiskType { Ephemeral = "Ephemeral", @@ -643,9 +827,11 @@ export enum KnownOSDiskType { export enum KnownOssku { AzureLinux = "AzureLinux", CBLMariner = "CBLMariner", + Mariner = "Mariner", Ubuntu = "Ubuntu", Windows2019 = "Windows2019", - Windows2022 = "Windows2022" + Windows2022 = "Windows2022", + WindowsAnnual = "WindowsAnnual" } // @public @@ -671,10 +857,23 @@ export enum KnownPrivateEndpointConnectionProvisioningState { Succeeded = "Succeeded" } +// @public +export enum KnownProtocol { + TCP = "TCP", + UDP = "UDP" +} + // @public export enum KnownPublicNetworkAccess { Disabled = "Disabled", - Enabled = "Enabled" + Enabled = "Enabled", + SecuredByPerimeter = "SecuredByPerimeter" +} + +// @public +export enum KnownRestrictionLevel { + ReadOnly = "ReadOnly", + Unrestricted = "Unrestricted" } // @public @@ -703,6 +902,7 @@ export enum KnownServiceMeshMode { // @public export enum KnownSnapshotType { + ManagedCluster = "ManagedCluster", NodePool = "NodePool" } @@ -746,6 +946,7 @@ export enum KnownWeekDay { // @public export enum KnownWorkloadRuntime { + KataMshvVmIsolation = "KataMshvVmIsolation", OCIContainer = "OCIContainer", WasmWasi = "WasmWasi" } @@ -797,6 +998,9 @@ export interface KubernetesVersionListResult { values?: KubernetesVersion[]; } +// @public +export type Level = string; + // @public export type LicenseType = string; @@ -811,6 +1015,61 @@ export interface LinuxOSConfig { // @public export type LoadBalancerSku = string; +// @public +export interface Machine extends SubResource { + readonly properties?: MachineProperties; +} + +// @public +export interface MachineIpAddress { + readonly family?: IpFamily; + readonly ip?: string; +} + +// @public +export interface MachineListResult { + readonly nextLink?: string; + value?: Machine[]; +} + +// @public +export interface MachineNetworkProperties { + readonly ipAddresses?: MachineIpAddress[]; +} + +// @public +export interface MachineProperties { + readonly network?: MachineNetworkProperties; + readonly resourceId?: string; +} + +// @public +export interface Machines { + get(resourceGroupName: string, resourceName: string, agentPoolName: string, machineName: string, options?: MachinesGetOptionalParams): Promise; + list(resourceGroupName: string, resourceName: string, agentPoolName: string, options?: MachinesListOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface MachinesGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type MachinesGetResponse = Machine; + +// @public +export interface MachinesListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type MachinesListNextResponse = MachineListResult; + +// @public +export interface MachinesListOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type MachinesListResponse = MachineListResult; + // @public export interface MaintenanceConfiguration extends SubResource { maintenanceWindow?: MaintenanceWindow; @@ -882,30 +1141,38 @@ export interface ManagedCluster extends TrackedResource { [propertyName: string]: ManagedClusterAddonProfile; }; agentPoolProfiles?: ManagedClusterAgentPoolProfile[]; + aiToolchainOperatorProfile?: ManagedClusterAIToolchainOperatorProfile; apiServerAccessProfile?: ManagedClusterAPIServerAccessProfile; autoScalerProfile?: ManagedClusterPropertiesAutoScalerProfile; autoUpgradeProfile?: ManagedClusterAutoUpgradeProfile; azureMonitorProfile?: ManagedClusterAzureMonitorProfile; readonly azurePortalFqdn?: string; + creationData?: CreationData; readonly currentKubernetesVersion?: string; disableLocalAccounts?: boolean; diskEncryptionSetID?: string; dnsPrefix?: string; + enableNamespaceResources?: boolean; enablePodSecurityPolicy?: boolean; enableRbac?: boolean; extendedLocation?: ExtendedLocation; readonly fqdn?: string; fqdnSubdomain?: string; + guardrailsProfile?: GuardrailsProfile; httpProxyConfig?: ManagedClusterHttpProxyConfig; identity?: ManagedClusterIdentity; identityProfile?: { [propertyName: string]: UserAssignedIdentity; }; + ingressProfile?: ManagedClusterIngressProfile; kubernetesVersion?: string; linuxProfile?: ContainerServiceLinuxProfile; readonly maxAgentPools?: number; + metricsProfile?: ManagedClusterMetricsProfile; networkProfile?: ContainerServiceNetworkProfile; + nodeProvisioningProfile?: ManagedClusterNodeProvisioningProfile; nodeResourceGroup?: string; + nodeResourceGroupProfile?: ManagedClusterNodeResourceGroupProfile; oidcIssuerProfile?: ManagedClusterOidcIssuerProfile; podIdentityProfile?: ManagedClusterPodIdentityProfile; readonly powerState?: PowerState; @@ -961,25 +1228,32 @@ export interface ManagedClusterAgentPoolProfile extends ManagedClusterAgentPoolP // @public export interface ManagedClusterAgentPoolProfileProperties { + artifactStreamingProfile?: AgentPoolArtifactStreamingProfile; availabilityZones?: string[]; + capacityReservationGroupID?: string; count?: number; creationData?: CreationData; readonly currentOrchestratorVersion?: string; enableAutoScaling?: boolean; + enableCustomCATrust?: boolean; enableEncryptionAtHost?: boolean; enableFips?: boolean; enableNodePublicIP?: boolean; enableUltraSSD?: boolean; gpuInstanceProfile?: GPUInstanceProfile; + gpuProfile?: AgentPoolGPUProfile; hostGroupID?: string; kubeletConfig?: KubeletConfig; kubeletDiskType?: KubeletDiskType; linuxOSConfig?: LinuxOSConfig; maxCount?: number; maxPods?: number; + messageOfTheDay?: string; minCount?: number; mode?: AgentPoolMode; + networkProfile?: AgentPoolNetworkProfile; readonly nodeImageVersion?: string; + nodeInitializationTaints?: string[]; nodeLabels?: { [propertyName: string]: string; }; @@ -997,24 +1271,35 @@ export interface ManagedClusterAgentPoolProfileProperties { scaleDownMode?: ScaleDownMode; scaleSetEvictionPolicy?: ScaleSetEvictionPolicy; scaleSetPriority?: ScaleSetPriority; + securityProfile?: AgentPoolSecurityProfile; spotMaxPrice?: number; tags?: { [propertyName: string]: string; }; type?: AgentPoolType; upgradeSettings?: AgentPoolUpgradeSettings; + virtualMachineNodesStatus?: VirtualMachineNodes[]; + virtualMachinesProfile?: VirtualMachinesProfile; vmSize?: string; vnetSubnetID?: string; + windowsProfile?: AgentPoolWindowsProfile; workloadRuntime?: WorkloadRuntime; } +// @public +export interface ManagedClusterAIToolchainOperatorProfile { + enabled?: boolean; +} + // @public export interface ManagedClusterAPIServerAccessProfile { authorizedIPRanges?: string[]; disableRunCommand?: boolean; enablePrivateCluster?: boolean; enablePrivateClusterPublicFqdn?: boolean; + enableVnetIntegration?: boolean; privateDNSZone?: string; + subnetId?: string; } // @public @@ -1025,23 +1310,59 @@ export interface ManagedClusterAutoUpgradeProfile { // @public export interface ManagedClusterAzureMonitorProfile { + logs?: ManagedClusterAzureMonitorProfileLogs; metrics?: ManagedClusterAzureMonitorProfileMetrics; } +// @public +export interface ManagedClusterAzureMonitorProfileAppMonitoring { + enabled?: boolean; +} + +// @public +export interface ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics { + enabled?: boolean; +} + +// @public +export interface ManagedClusterAzureMonitorProfileContainerInsights { + enabled?: boolean; + logAnalyticsWorkspaceResourceId?: string; + windowsHostLogs?: ManagedClusterAzureMonitorProfileWindowsHostLogs; +} + // @public export interface ManagedClusterAzureMonitorProfileKubeStateMetrics { metricAnnotationsAllowList?: string; metricLabelsAllowlist?: string; } +// @public +export interface ManagedClusterAzureMonitorProfileLogs { + appMonitoring?: ManagedClusterAzureMonitorProfileAppMonitoring; + containerInsights?: ManagedClusterAzureMonitorProfileContainerInsights; +} + // @public export interface ManagedClusterAzureMonitorProfileMetrics { + appMonitoringOpenTelemetryMetrics?: ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics; enabled: boolean; kubeStateMetrics?: ManagedClusterAzureMonitorProfileKubeStateMetrics; } +// @public +export interface ManagedClusterAzureMonitorProfileWindowsHostLogs { + enabled?: boolean; +} + +// @public +export interface ManagedClusterCostAnalysis { + enabled?: boolean; +} + // @public export interface ManagedClusterHttpProxyConfig { + readonly effectiveNoProxy?: string[]; httpProxy?: string; httpsProxy?: string; noProxy?: string[]; @@ -1061,6 +1382,18 @@ export interface ManagedClusterIdentity { }; } +// @public +export interface ManagedClusterIngressProfile { + webAppRouting?: ManagedClusterIngressProfileWebAppRouting; +} + +// @public +export interface ManagedClusterIngressProfileWebAppRouting { + dnsZoneResourceIds?: string[]; + enabled?: boolean; + readonly identity?: UserAssignedIdentity; +} + // @public export interface ManagedClusterListResult { readonly nextLink?: string; @@ -1070,6 +1403,7 @@ export interface ManagedClusterListResult { // @public export interface ManagedClusterLoadBalancerProfile { allocatedOutboundPorts?: number; + backendPoolType?: BackendPoolType; effectiveOutboundIPs?: ResourceReference[]; enableMultipleStandardLoadBalancers?: boolean; idleTimeoutInMinutes?: number; @@ -1099,6 +1433,11 @@ export interface ManagedClusterManagedOutboundIPProfile { count?: number; } +// @public +export interface ManagedClusterMetricsProfile { + costAnalysis?: ManagedClusterCostAnalysis; +} + // @public export interface ManagedClusterNATGatewayProfile { effectiveOutboundIPs?: ResourceReference[]; @@ -1106,6 +1445,16 @@ export interface ManagedClusterNATGatewayProfile { managedOutboundIPProfile?: ManagedClusterManagedOutboundIPProfile; } +// @public (undocumented) +export interface ManagedClusterNodeProvisioningProfile { + mode?: NodeProvisioningMode; +} + +// @public +export interface ManagedClusterNodeResourceGroupProfile { + restrictionLevel?: RestrictionLevel; +} + // @public export interface ManagedClusterOidcIssuerProfile { enabled?: boolean; @@ -1177,7 +1526,10 @@ export interface ManagedClusterPoolUpgradeProfileUpgradesItem { // @public export interface ManagedClusterPropertiesAutoScalerProfile { balanceSimilarNodeGroups?: string; + daemonsetEvictionForEmptyNodes?: boolean; + daemonsetEvictionForOccupiedNodes?: boolean; expander?: Expander; + ignoreDaemonsetsUtilization?: boolean; maxEmptyBulkDelete?: string; maxGracefulTerminationSec?: string; maxNodeProvisionTime?: string; @@ -1195,6 +1547,14 @@ export interface ManagedClusterPropertiesAutoScalerProfile { skipNodesWithSystemPods?: string; } +// @public +export interface ManagedClusterPropertiesForSnapshot { + enableRbac?: boolean; + kubernetesVersion?: string; + readonly networkProfile?: NetworkProfileForSnapshot; + sku?: ManagedClusterSKU; +} + // @public export interface ManagedClusters { beginAbortLatestOperation(resourceGroupName: string, resourceName: string, options?: ManagedClustersAbortLatestOperationOptionalParams): Promise, ManagedClustersAbortLatestOperationResponse>>; @@ -1222,6 +1582,7 @@ export interface ManagedClusters { get(resourceGroupName: string, resourceName: string, options?: ManagedClustersGetOptionalParams): Promise; getAccessProfile(resourceGroupName: string, resourceName: string, roleName: string, options?: ManagedClustersGetAccessProfileOptionalParams): Promise; getCommandResult(resourceGroupName: string, resourceName: string, commandId: string, options?: ManagedClustersGetCommandResultOptionalParams): Promise; + getGuardrailsVersions(location: string, version: string, options?: ManagedClustersGetGuardrailsVersionsOptionalParams): Promise; getMeshRevisionProfile(location: string, mode: string, options?: ManagedClustersGetMeshRevisionProfileOptionalParams): Promise; getMeshUpgradeProfile(resourceGroupName: string, resourceName: string, mode: string, options?: ManagedClustersGetMeshUpgradeProfileOptionalParams): Promise; getOSOptions(location: string, options?: ManagedClustersGetOSOptionsOptionalParams): Promise; @@ -1231,6 +1592,7 @@ export interface ManagedClusters { listClusterAdminCredentials(resourceGroupName: string, resourceName: string, options?: ManagedClustersListClusterAdminCredentialsOptionalParams): Promise; listClusterMonitoringUserCredentials(resourceGroupName: string, resourceName: string, options?: ManagedClustersListClusterMonitoringUserCredentialsOptionalParams): Promise; listClusterUserCredentials(resourceGroupName: string, resourceName: string, options?: ManagedClustersListClusterUserCredentialsOptionalParams): Promise; + listGuardrailsVersions(location: string, options?: ManagedClustersListGuardrailsVersionsOptionalParams): PagedAsyncIterableIterator; listKubernetesVersions(location: string, options?: ManagedClustersListKubernetesVersionsOptionalParams): Promise; listMeshRevisionProfiles(location: string, options?: ManagedClustersListMeshRevisionProfilesOptionalParams): PagedAsyncIterableIterator; listMeshUpgradeProfiles(resourceGroupName: string, resourceName: string, options?: ManagedClustersListMeshUpgradeProfilesOptionalParams): PagedAsyncIterableIterator; @@ -1268,6 +1630,7 @@ export interface ManagedClustersDeleteHeaders { // @public export interface ManagedClustersDeleteOptionalParams extends coreClient.OperationOptions { + ignorePodDisruptionBudget?: boolean; resumeFrom?: string; updateIntervalInMs?: number; } @@ -1278,8 +1641,11 @@ export type ManagedClustersDeleteResponse = ManagedClustersDeleteHeaders; // @public export interface ManagedClusterSecurityProfile { azureKeyVaultKms?: AzureKeyVaultKms; + customCATrustCertificates?: Uint8Array[]; defender?: ManagedClusterSecurityProfileDefender; imageCleaner?: ManagedClusterSecurityProfileImageCleaner; + imageIntegrity?: ManagedClusterSecurityProfileImageIntegrity; + nodeRestriction?: ManagedClusterSecurityProfileNodeRestriction; workloadIdentity?: ManagedClusterSecurityProfileWorkloadIdentity; } @@ -1300,6 +1666,16 @@ export interface ManagedClusterSecurityProfileImageCleaner { intervalHours?: number; } +// @public +export interface ManagedClusterSecurityProfileImageIntegrity { + enabled?: boolean; +} + +// @public +export interface ManagedClusterSecurityProfileNodeRestriction { + enabled?: boolean; +} + // @public export interface ManagedClusterSecurityProfileWorkloadIdentity { enabled?: boolean; @@ -1330,6 +1706,13 @@ export interface ManagedClustersGetCommandResultOptionalParams extends coreClien // @public export type ManagedClustersGetCommandResultResponse = RunCommandResult; +// @public +export interface ManagedClustersGetGuardrailsVersionsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedClustersGetGuardrailsVersionsResponse = GuardrailsAvailableVersion; + // @public export interface ManagedClustersGetMeshRevisionProfileOptionalParams extends coreClient.OperationOptions { } @@ -1417,6 +1800,20 @@ export interface ManagedClustersListClusterUserCredentialsOptionalParams extends // @public export type ManagedClustersListClusterUserCredentialsResponse = CredentialResults; +// @public +export interface ManagedClustersListGuardrailsVersionsNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedClustersListGuardrailsVersionsNextResponse = GuardrailsAvailableVersionsList; + +// @public +export interface ManagedClustersListGuardrailsVersionsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedClustersListGuardrailsVersionsResponse = GuardrailsAvailableVersionsList; + // @public export interface ManagedClustersListKubernetesVersionsOptionalParams extends coreClient.OperationOptions { } @@ -1480,6 +1877,82 @@ export type ManagedClustersListOutboundNetworkDependenciesEndpointsResponse = Ou // @public export type ManagedClustersListResponse = ManagedClusterListResult; +// @public +export interface ManagedClusterSnapshot extends TrackedResource { + creationData?: CreationData; + readonly managedClusterPropertiesReadOnly?: ManagedClusterPropertiesForSnapshot; + snapshotType?: SnapshotType; +} + +// @public +export interface ManagedClusterSnapshotListResult { + readonly nextLink?: string; + value?: ManagedClusterSnapshot[]; +} + +// @public +export interface ManagedClusterSnapshots { + createOrUpdate(resourceGroupName: string, resourceName: string, parameters: ManagedClusterSnapshot, options?: ManagedClusterSnapshotsCreateOrUpdateOptionalParams): Promise; + delete(resourceGroupName: string, resourceName: string, options?: ManagedClusterSnapshotsDeleteOptionalParams): Promise; + get(resourceGroupName: string, resourceName: string, options?: ManagedClusterSnapshotsGetOptionalParams): Promise; + list(options?: ManagedClusterSnapshotsListOptionalParams): PagedAsyncIterableIterator; + listByResourceGroup(resourceGroupName: string, options?: ManagedClusterSnapshotsListByResourceGroupOptionalParams): PagedAsyncIterableIterator; + updateTags(resourceGroupName: string, resourceName: string, parameters: TagsObject, options?: ManagedClusterSnapshotsUpdateTagsOptionalParams): Promise; +} + +// @public +export interface ManagedClusterSnapshotsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedClusterSnapshotsCreateOrUpdateResponse = ManagedClusterSnapshot; + +// @public +export interface ManagedClusterSnapshotsDeleteOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface ManagedClusterSnapshotsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedClusterSnapshotsGetResponse = ManagedClusterSnapshot; + +// @public +export interface ManagedClusterSnapshotsListByResourceGroupNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedClusterSnapshotsListByResourceGroupNextResponse = ManagedClusterSnapshotListResult; + +// @public +export interface ManagedClusterSnapshotsListByResourceGroupOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedClusterSnapshotsListByResourceGroupResponse = ManagedClusterSnapshotListResult; + +// @public +export interface ManagedClusterSnapshotsListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedClusterSnapshotsListNextResponse = ManagedClusterSnapshotListResult; + +// @public +export interface ManagedClusterSnapshotsListOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedClusterSnapshotsListResponse = ManagedClusterSnapshotListResult; + +// @public +export interface ManagedClusterSnapshotsUpdateTagsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedClusterSnapshotsUpdateTagsResponse = ManagedClusterSnapshot; + // @public export interface ManagedClustersResetAADProfileHeaders { location?: string; @@ -1518,7 +1991,6 @@ export type ManagedClustersRotateClusterCertificatesResponse = ManagedClustersRo // @public export interface ManagedClustersRotateServiceAccountSigningKeysHeaders { - // (undocumented) location?: string; } @@ -1589,6 +2061,7 @@ export interface ManagedClusterStorageProfileBlobCSIDriver { // @public export interface ManagedClusterStorageProfileDiskCSIDriver { enabled?: boolean; + version?: string; } // @public @@ -1631,6 +2104,7 @@ export interface ManagedClusterWindowsProfile { // @public export interface ManagedClusterWorkloadAutoScalerProfile { keda?: ManagedClusterWorkloadAutoScalerProfileKeda; + // (undocumented) verticalPodAutoscaler?: ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler; } @@ -1639,8 +2113,9 @@ export interface ManagedClusterWorkloadAutoScalerProfileKeda { enabled: boolean; } -// @public +// @public (undocumented) export interface ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler { + addonAutoscaling?: AddonAutoscaling; enabled: boolean; } @@ -1650,6 +2125,12 @@ export interface ManagedServiceIdentityUserAssignedIdentitiesValue { readonly principalId?: string; } +// @public +export interface ManualScaleProfile { + count?: number; + sizes?: string[]; +} + // @public export interface MeshRevision { compatibleWith?: CompatibleVersions[]; @@ -1689,12 +2170,20 @@ export interface MeshUpgradeProfileList { export interface MeshUpgradeProfileProperties extends MeshRevision { } +// @public +export type Mode = string; + // @public export type NetworkDataplane = string; // @public export type NetworkMode = string; +// @public +export interface NetworkMonitoring { + enabled?: boolean; +} + // @public export type NetworkPlugin = string; @@ -1704,9 +2193,21 @@ export type NetworkPluginMode = string; // @public export type NetworkPolicy = string; +// @public +export interface NetworkProfileForSnapshot { + loadBalancerSku?: LoadBalancerSku; + networkMode?: NetworkMode; + networkPlugin?: NetworkPlugin; + networkPluginMode?: NetworkPluginMode; + networkPolicy?: NetworkPolicy; +} + // @public export type NodeOSUpgradeChannel = string; +// @public +export type NodeProvisioningMode = string; + // @public export interface OperationListResult { readonly value?: OperationValue[]; @@ -1724,6 +2225,60 @@ export interface OperationsListOptionalParams extends coreClient.OperationOption // @public export type OperationsListResponse = OperationListResult; +// @public +export interface OperationStatusResult { + endTime?: Date; + error?: ErrorDetail; + id?: string; + name?: string; + operations?: OperationStatusResult[]; + percentComplete?: number; + readonly resourceId?: string; + startTime?: Date; + status: string; +} + +// @public +export interface OperationStatusResultGetByAgentPoolOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type OperationStatusResultGetByAgentPoolResponse = OperationStatusResult; + +// @public +export interface OperationStatusResultGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type OperationStatusResultGetResponse = OperationStatusResult; + +// @public +export interface OperationStatusResultList { + readonly nextLink?: string; + readonly value?: OperationStatusResult[]; +} + +// @public +export interface OperationStatusResultListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type OperationStatusResultListNextResponse = OperationStatusResultList; + +// @public +export interface OperationStatusResultListOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type OperationStatusResultListResponse = OperationStatusResultList; + +// @public +export interface OperationStatusResultOperations { + get(resourceGroupName: string, resourceName: string, operationId: string, options?: OperationStatusResultGetOptionalParams): Promise; + getByAgentPool(resourceGroupName: string, resourceName: string, agentPoolName: string, operationId: string, options?: OperationStatusResultGetByAgentPoolOptionalParams): Promise; + list(resourceGroupName: string, resourceName: string, options?: OperationStatusResultListOptionalParams): PagedAsyncIterableIterator; +} + // @public export interface OperationValue { readonly description?: string; @@ -1772,6 +2327,13 @@ export interface OutboundEnvironmentEndpointCollection { // @public export type OutboundType = string; +// @public +export interface PortRange { + portEnd?: number; + portStart?: number; + protocol?: Protocol; +} + // @public export interface PowerState { code?: Code; @@ -1869,6 +2431,9 @@ export interface PrivateLinkServiceConnectionState { status?: ConnectionStatus; } +// @public +export type Protocol = string; + // @public export interface ProxyResource extends Resource { } @@ -1911,6 +2476,9 @@ export interface ResourceReference { id?: string; } +// @public +export type RestrictionLevel = string; + // @public export interface RunCommandRequest { clusterToken?: string; @@ -1932,6 +2500,11 @@ export interface RunCommandResult { // @public export type ScaleDownMode = string; +// @public +export interface ScaleProfile { + manual?: ManualScaleProfile[]; +} + // @public export type ScaleSetEvictionPolicy = string; @@ -2245,6 +2818,17 @@ export interface UserAssignedIdentity { resourceId?: string; } +// @public +export interface VirtualMachineNodes { + count?: number; + size?: string; +} + +// @public +export interface VirtualMachinesProfile { + scale?: ScaleProfile; +} + // @public export type WeekDay = string; diff --git a/sdk/containerservice/arm-containerservice/src/containerServiceClient.ts b/sdk/containerservice/arm-containerservice/src/containerServiceClient.ts index 32d73b86f9c3..d11ce071d2c9 100644 --- a/sdk/containerservice/arm-containerservice/src/containerServiceClient.ts +++ b/sdk/containerservice/arm-containerservice/src/containerServiceClient.ts @@ -19,24 +19,30 @@ import { ManagedClustersImpl, MaintenanceConfigurationsImpl, AgentPoolsImpl, + MachinesImpl, PrivateEndpointConnectionsImpl, PrivateLinkResourcesImpl, ResolvePrivateLinkServiceIdImpl, + OperationStatusResultOperationsImpl, SnapshotsImpl, - TrustedAccessRoleBindingsImpl, - TrustedAccessRolesImpl + ManagedClusterSnapshotsImpl, + TrustedAccessRolesImpl, + TrustedAccessRoleBindingsImpl } from "./operations"; import { Operations, ManagedClusters, MaintenanceConfigurations, AgentPools, + Machines, PrivateEndpointConnections, PrivateLinkResources, ResolvePrivateLinkServiceId, + OperationStatusResultOperations, Snapshots, - TrustedAccessRoleBindings, - TrustedAccessRoles + ManagedClusterSnapshots, + TrustedAccessRoles, + TrustedAccessRoleBindings } from "./operationsInterfaces"; import { ContainerServiceClientOptionalParams } from "./models"; @@ -72,7 +78,7 @@ export class ContainerServiceClient extends coreClient.ServiceClient { credential: credentials }; - const packageDetails = `azsdk-js-arm-containerservice/19.5.1`; + const packageDetails = `azsdk-js-arm-containerservice/19.6.0-beta.1`; const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` @@ -125,19 +131,24 @@ export class ContainerServiceClient extends coreClient.ServiceClient { // Assigning values to Constant parameters this.$host = options.$host || "https://management.azure.com"; - this.apiVersion = options.apiVersion || "2023-09-01"; + this.apiVersion = options.apiVersion || "2023-11-02-preview"; this.operations = new OperationsImpl(this); this.managedClusters = new ManagedClustersImpl(this); this.maintenanceConfigurations = new MaintenanceConfigurationsImpl(this); this.agentPools = new AgentPoolsImpl(this); + this.machines = new MachinesImpl(this); this.privateEndpointConnections = new PrivateEndpointConnectionsImpl(this); this.privateLinkResources = new PrivateLinkResourcesImpl(this); this.resolvePrivateLinkServiceId = new ResolvePrivateLinkServiceIdImpl( this ); + this.operationStatusResultOperations = new OperationStatusResultOperationsImpl( + this + ); this.snapshots = new SnapshotsImpl(this); - this.trustedAccessRoleBindings = new TrustedAccessRoleBindingsImpl(this); + this.managedClusterSnapshots = new ManagedClusterSnapshotsImpl(this); this.trustedAccessRoles = new TrustedAccessRolesImpl(this); + this.trustedAccessRoleBindings = new TrustedAccessRoleBindingsImpl(this); this.addCustomApiVersionPolicy(options.apiVersion); } @@ -173,10 +184,13 @@ export class ContainerServiceClient extends coreClient.ServiceClient { managedClusters: ManagedClusters; maintenanceConfigurations: MaintenanceConfigurations; agentPools: AgentPools; + machines: Machines; privateEndpointConnections: PrivateEndpointConnections; privateLinkResources: PrivateLinkResources; resolvePrivateLinkServiceId: ResolvePrivateLinkServiceId; + operationStatusResultOperations: OperationStatusResultOperations; snapshots: Snapshots; - trustedAccessRoleBindings: TrustedAccessRoleBindings; + managedClusterSnapshots: ManagedClusterSnapshots; trustedAccessRoles: TrustedAccessRoles; + trustedAccessRoleBindings: TrustedAccessRoleBindings; } diff --git a/sdk/containerservice/arm-containerservice/src/models/index.ts b/sdk/containerservice/arm-containerservice/src/models/index.ts index 334efca67397..8e235adbd1a9 100644 --- a/sdk/containerservice/arm-containerservice/src/models/index.ts +++ b/sdk/containerservice/arm-containerservice/src/models/index.ts @@ -207,6 +207,12 @@ export interface PowerState { code?: Code; } +/** Data used when creating a target resource from a source resource. */ +export interface CreationData { + /** This is the ARM ID of the source object to be used to create the target object. */ + sourceResourceId?: string; +} + /** Properties for the container service agent pool profile. */ export interface ManagedClusterAgentPoolProfileProperties { /** 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. */ @@ -221,6 +227,8 @@ export interface ManagedClusterAgentPoolProfileProperties { kubeletDiskType?: KubeletDiskType; /** Determines the type of workload a node can run. */ workloadRuntime?: WorkloadRuntime; + /** 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). */ + messageOfTheDay?: string; /** If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} */ vnetSubnetID?: string; /** 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} */ @@ -229,7 +237,7 @@ export interface ManagedClusterAgentPoolProfileProperties { maxPods?: number; /** The operating system type. The default is Linux. */ osType?: OSType; - /** 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. */ + /** Specifies the OS SKU used by the agent pool. If not specified, the default is Ubuntu if OSType=Linux or Windows2019 if OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after Windows2019 is deprecated. */ osSKU?: Ossku; /** The maximum number of nodes for auto-scaling */ maxCount?: number; @@ -243,10 +251,10 @@ export interface ManagedClusterAgentPoolProfileProperties { type?: AgentPoolType; /** 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 */ mode?: AgentPoolMode; - /** Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same 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). */ + /** Both patch version and are supported. When is specified, the latest supported patch version is chosen automatically. Updating the agent pool with the same once it has been created 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). */ orchestratorVersion?: string; /** - * If orchestratorVersion is a fully specified version , this field will be exactly equal to it. If orchestratorVersion is , this field will contain the full version being used. + * If orchestratorVersion was a fully specified version , this field will be exactly equal to it. If orchestratorVersion was , this field will contain the full version being used. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly currentOrchestratorVersion?: string; @@ -268,6 +276,8 @@ export interface ManagedClusterAgentPoolProfileProperties { availabilityZones?: string[]; /** Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see [assigning a public IP per node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The default is false. */ enableNodePublicIP?: boolean; + /** When set to true, AKS adds a label to the node indicating that the feature is enabled and deploys a daemonset along with host services to sync custom certificate authorities from user-provided list of base64 encoded certificates into node trust stores. Defaults to false. */ + enableCustomCATrust?: boolean; /** This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} */ nodePublicIPPrefixID?: string; /** The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. */ @@ -282,6 +292,8 @@ export interface ManagedClusterAgentPoolProfileProperties { nodeLabels?: { [propertyName: string]: string }; /** The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. */ nodeTaints?: string[]; + /** These taints will not be reconciled by AKS and can be removed with a kubectl call. This field can be modified after node pool is created, but nodes will not be recreated with new taints until another operation that requires recreation (e.g. node image upgrade) happens. These taints allow for required configuration to run before the node is ready to accept workloads, for example 'key1=value1:NoSchedule' that then can be removed with `kubectl taint nodes node1 key1=value1:NoSchedule-` */ + nodeInitializationTaints?: string[]; /** The ID for Proximity Placement Group. */ proximityPlacementGroupID?: string; /** The Kubelet configuration on the agent pool nodes. */ @@ -298,8 +310,24 @@ export interface ManagedClusterAgentPoolProfileProperties { gpuInstanceProfile?: GPUInstanceProfile; /** CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot. */ creationData?: CreationData; + /** AKS will associate the specified agent pool with the Capacity Reservation Group. */ + capacityReservationGroupID?: string; /** 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). */ hostGroupID?: string; + /** The Windows agent pool's specific profile. */ + windowsProfile?: AgentPoolWindowsProfile; + /** Network-related settings of an agent pool. */ + networkProfile?: AgentPoolNetworkProfile; + /** The security settings of an agent pool. */ + securityProfile?: AgentPoolSecurityProfile; + /** The GPU settings of an agent pool. */ + gpuProfile?: AgentPoolGPUProfile; + /** Configuration for using artifact streaming on AKS. */ + artifactStreamingProfile?: AgentPoolArtifactStreamingProfile; + /** Specifications on VirtualMachines agent pool. */ + virtualMachinesProfile?: VirtualMachinesProfile; + /** The status of nodes in a VirtualMachines agent pool. */ + virtualMachineNodesStatus?: VirtualMachineNodes[]; } /** Settings for upgrading an agentpool */ @@ -308,6 +336,8 @@ export interface AgentPoolUpgradeSettings { maxSurge?: string; /** 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. */ drainTimeoutInMinutes?: number; + /** 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. */ + nodeSoakDurationInMinutes?: number; } /** See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. */ @@ -408,10 +438,86 @@ export interface SysctlConfig { vmVfsCachePressure?: number; } -/** Data used when creating a target resource from a source resource. */ -export interface CreationData { - /** This is the ARM ID of the source object to be used to create the target object. */ - sourceResourceId?: string; +/** The Windows agent pool's specific profile. */ +export interface AgentPoolWindowsProfile { + /** 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. */ + disableOutboundNat?: boolean; +} + +/** Network settings of an agent pool. */ +export interface AgentPoolNetworkProfile { + /** IPTags of instance-level public IPs. */ + nodePublicIPTags?: IPTag[]; + /** The port ranges that are allowed to access. The specified ranges are allowed to overlap. */ + allowedHostPorts?: PortRange[]; + /** The IDs of the application security groups which agent pool will associate when created. */ + applicationSecurityGroups?: string[]; +} + +/** Contains the IPTag associated with the object. */ +export interface IPTag { + /** The IP tag type. Example: RoutingPreference. */ + ipTagType?: string; + /** The value of the IP tag associated with the public IP. Example: Internet. */ + tag?: string; +} + +/** The port range. */ +export interface PortRange { + /** 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. */ + portStart?: number; + /** 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. */ + portEnd?: number; + /** The network protocol of the port. */ + protocol?: Protocol; +} + +/** The security settings of an agent pool. */ +export interface AgentPoolSecurityProfile { + /** SSH access method of an agent pool. */ + sshAccess?: AgentPoolSSHAccess; + /** 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/trustedlaunch. If not specified, the default is false. */ + enableVtpm?: boolean; + /** 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/trustedlaunch. If not specified, the default is false. */ + enableSecureBoot?: boolean; +} + +export interface AgentPoolGPUProfile { + /** The default value is true when the vmSize of the agent pool contains a GPU, false otherwise. GPU Driver Installation can only be set true when VM has an associated GPU resource. Setting this field to false prevents automatic GPU driver installation. In that case, in order for the GPU to be usable, the user must perform GPU driver installation themselves. */ + installGPUDriver?: boolean; +} + +export interface AgentPoolArtifactStreamingProfile { + /** Artifact streaming speeds up the cold-start of containers on a node through on-demand image loading. To use this feature, container images must also enable artifact streaming on ACR. If not specified, the default is false. */ + enabled?: boolean; +} + +/** Specifications on VirtualMachines agent pool. */ +export interface VirtualMachinesProfile { + /** Specifications on how to scale a VirtualMachines agent pool. */ + scale?: ScaleProfile; +} + +/** Specifications on how to scale a VirtualMachines agent pool. */ +export interface ScaleProfile { + /** Specifications on how to scale the VirtualMachines agent pool to a fixed size. */ + manual?: ManualScaleProfile[]; +} + +/** Specifications on number of machines. */ +export interface ManualScaleProfile { + /** The list of allowed vm sizes. AKS will use the first available one when scaling. If a VM size is unavailable (e.g. due to quota or regional capacity reasons), AKS will use the next size. */ + sizes?: string[]; + /** Number of nodes. */ + count?: number; +} + +/** Current status on a group of nodes of the same vm size. */ +export interface VirtualMachineNodes { + /** The VM size of the agents used to host this group of nodes. */ + size?: string; + /** Number of nodes. */ + count?: number; } /** Profile for Linux VMs in the container service cluster. */ @@ -564,11 +670,17 @@ export interface ManagedClusterOidcIssuerProfile { enabled?: boolean; } +/** Node resource group lockdown profile for a managed cluster. */ +export interface ManagedClusterNodeResourceGroupProfile { + /** The restriction level applied to the cluster's node resource group */ + restrictionLevel?: RestrictionLevel; +} + /** Profile of network configuration. */ export interface ContainerServiceNetworkProfile { /** Network plugin used for building the Kubernetes network. */ networkPlugin?: NetworkPlugin; - /** The mode the network plugin should use. */ + /** Network plugin mode used for building the Kubernetes network. */ networkPluginMode?: NetworkPluginMode; /** Network policy used for building the Kubernetes network. */ networkPolicy?: NetworkPolicy; @@ -596,6 +708,10 @@ export interface ContainerServiceNetworkProfile { serviceCidrs?: string[]; /** 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. */ ipFamilies?: IpFamily[]; + /** Holds configuration customizations for kube-proxy. Any values not defined will use the kube-proxy defaulting behavior. See https://v.docs.kubernetes.io/docs/reference/command-line-tools-reference/kube-proxy/ where is represented by a - string. Kubernetes version 1.23 would be '1-23'. */ + kubeProxyConfig?: ContainerServiceNetworkProfileKubeProxyConfig; + /** This addon can be used to configure network monitoring and generate network monitoring data in Prometheus format */ + monitoring?: NetworkMonitoring; } /** Profile of the managed cluster load balancer. */ @@ -614,6 +730,8 @@ export interface ManagedClusterLoadBalancerProfile { idleTimeoutInMinutes?: number; /** Enable multiple standard load balancers per AKS cluster or not. */ enableMultipleStandardLoadBalancers?: boolean; + /** The type of the managed inbound Load Balancer BackendPool. */ + backendPoolType?: BackendPoolType; } /** Desired managed outbound IPs for the cluster load balancer. */ @@ -658,6 +776,34 @@ export interface ManagedClusterManagedOutboundIPProfile { count?: number; } +/** Holds configuration customizations for kube-proxy. Any values not defined will use the kube-proxy defaulting behavior. See https://v.docs.kubernetes.io/docs/reference/command-line-tools-reference/kube-proxy/ where is represented by a - string. Kubernetes version 1.23 would be '1-23'. */ +export interface ContainerServiceNetworkProfileKubeProxyConfig { + /** Whether to enable on kube-proxy on the cluster (if no 'kubeProxyConfig' exists, kube-proxy is enabled in AKS by default without these customizations). */ + enabled?: boolean; + /** Specify which proxy mode to use ('IPTABLES' or 'IPVS') */ + mode?: Mode; + /** Holds configuration customizations for IPVS. May only be specified if 'mode' is set to 'IPVS'. */ + ipvsConfig?: ContainerServiceNetworkProfileKubeProxyConfigIpvsConfig; +} + +/** Holds configuration customizations for IPVS. May only be specified if 'mode' is set to 'IPVS'. */ +export interface ContainerServiceNetworkProfileKubeProxyConfigIpvsConfig { + /** IPVS scheduler, for more information please see http://www.linuxvirtualserver.org/docs/scheduling.html. */ + scheduler?: IpvsScheduler; + /** The timeout value used for idle IPVS TCP sessions in seconds. Must be a positive integer value. */ + tcpTimeoutSeconds?: number; + /** The timeout value used for IPVS TCP sessions after receiving a FIN in seconds. Must be a positive integer value. */ + tcpFinTimeoutSeconds?: number; + /** The timeout value used for IPVS UDP packets in seconds. Must be a positive integer value. */ + udpTimeoutSeconds?: number; +} + +/** This addon can be used to configure network monitoring and generate network monitoring data in Prometheus format */ +export interface NetworkMonitoring { + /** Enable or disable the network monitoring plugin on the cluster */ + enabled?: boolean; +} + /** For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). */ export interface ManagedClusterAADProfile { /** Whether to enable managed AAD. */ @@ -680,7 +826,7 @@ export interface ManagedClusterAADProfile { export interface ManagedClusterAutoUpgradeProfile { /** For more information see [setting the AKS cluster auto-upgrade channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). */ upgradeChannel?: UpgradeChannel; - /** Manner in which the OS on your nodes is updated. The default is NodeImage. */ + /** The default is Unmanaged, but may change to either NodeImage or SecurityPatch at GA. */ nodeOSUpgradeChannel?: NodeOSUpgradeChannel; } @@ -702,7 +848,13 @@ export interface UpgradeOverrideSettings { export interface ManagedClusterPropertiesAutoScalerProfile { /** Valid values are 'true' and 'false' */ balanceSimilarNodeGroups?: string; - /** 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. */ + /** 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. */ + daemonsetEvictionForEmptyNodes?: boolean; + /** 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. */ + daemonsetEvictionForOccupiedNodes?: boolean; + /** If set to true, the resources used by daemonset will be taken into account when making scaling down decisions. */ + ignoreDaemonsetsUtilization?: boolean; + /** Available values are: 'least-waste', 'most-pods', 'priority', 'random'. */ expander?: Expander; /** The default is 10. */ maxEmptyBulkDelete?: string; @@ -748,6 +900,10 @@ export interface ManagedClusterAPIServerAccessProfile { enablePrivateClusterPublicFqdn?: boolean; /** Whether to disable run command for the cluster or not. */ disableRunCommand?: boolean; + /** Whether to enable apiserver vnet integration for the cluster or not. */ + enableVnetIntegration?: boolean; + /** It is required when: 1. creating a new cluster with BYO Vnet; 2. updating an existing cluster to enable apiserver vnet integration. */ + subnetId?: string; } /** A private link resource */ @@ -777,6 +933,11 @@ export interface ManagedClusterHttpProxyConfig { httpsProxy?: string; /** The endpoints that should not go through proxy. */ noProxy?: string[]; + /** + * A read-only list of all endpoints for which traffic should not be sent to the proxy. This list is a superset of noProxy and values injected by AKS. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly effectiveNoProxy?: string[]; /** Alternative CA cert to use for connecting to proxy servers. */ trustedCa?: string; } @@ -791,6 +952,12 @@ export interface ManagedClusterSecurityProfile { workloadIdentity?: ManagedClusterSecurityProfileWorkloadIdentity; /** Image Cleaner settings for the security profile. */ imageCleaner?: ManagedClusterSecurityProfileImageCleaner; + /** Image integrity is a feature that works with Azure Policy to verify image integrity by signature. This will not have any effect unless Azure Policy is applied to enforce image signatures. See https://aka.ms/aks/image-integrity for how to use this feature via policy. */ + imageIntegrity?: ManagedClusterSecurityProfileImageIntegrity; + /** [Node Restriction](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#noderestriction) settings for the security profile. */ + nodeRestriction?: ManagedClusterSecurityProfileNodeRestriction; + /** A list of up to 10 base64 encoded CAs that will be added to the trust store on nodes with the Custom CA Trust feature enabled. For more information see [Custom CA Trust Certificates](https://learn.microsoft.com/en-us/azure/aks/custom-certificate-authority) */ + customCATrustCertificates?: Uint8Array[]; } /** Microsoft Defender settings for the security profile. */ @@ -833,6 +1000,18 @@ export interface ManagedClusterSecurityProfileImageCleaner { intervalHours?: number; } +/** Image integrity related settings for the security profile. */ +export interface ManagedClusterSecurityProfileImageIntegrity { + /** Whether to enable image integrity. The default value is false. */ + enabled?: boolean; +} + +/** Node Restriction settings for the security profile. */ +export interface ManagedClusterSecurityProfileNodeRestriction { + /** Whether to enable Node Restriction */ + enabled?: boolean; +} + /** Storage profile for the container service cluster. */ export interface ManagedClusterStorageProfile { /** AzureDisk CSI Driver settings for the storage profile. */ @@ -849,6 +1028,8 @@ export interface ManagedClusterStorageProfile { export interface ManagedClusterStorageProfileDiskCSIDriver { /** Whether to enable AzureDisk CSI Driver. The default value is true. */ enabled?: boolean; + /** The version of AzureDisk CSI Driver. The default value is v1. */ + version?: string; } /** AzureFile CSI Driver settings for the storage profile. */ @@ -869,11 +1050,29 @@ export interface ManagedClusterStorageProfileBlobCSIDriver { enabled?: boolean; } +/** Ingress profile for the container service cluster. */ +export interface ManagedClusterIngressProfile { + /** Web App Routing settings for the ingress profile. */ + webAppRouting?: ManagedClusterIngressProfileWebAppRouting; +} + +/** Web App Routing settings for the ingress profile. */ +export interface ManagedClusterIngressProfileWebAppRouting { + /** Whether to enable Web App Routing. */ + enabled?: boolean; + /** Resource IDs of the DNS zones to be associated with the Web App Routing add-on. Used only when Web App Routing 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. */ + dnsZoneResourceIds?: string[]; + /** + * Managed identity of the Web 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. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly identity?: UserAssignedIdentity; +} + /** Workload Auto-scaler profile for the managed cluster. */ export interface ManagedClusterWorkloadAutoScalerProfile { /** KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. */ keda?: ManagedClusterWorkloadAutoScalerProfileKeda; - /** VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile. */ verticalPodAutoscaler?: ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler; } @@ -883,34 +1082,90 @@ export interface ManagedClusterWorkloadAutoScalerProfileKeda { enabled: boolean; } -/** VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile. */ export interface ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler { - /** Whether to enable VPA. Default value is false. */ + /** Whether to enable VPA add-on in cluster. Default value is false. */ enabled: boolean; + /** Whether VPA add-on is enabled and configured to scale AKS-managed add-ons. */ + addonAutoscaling?: AddonAutoscaling; } -/** Azure Monitor addon profiles for monitoring the managed cluster. */ +/** Prometheus addon profile for the container service cluster */ export interface ManagedClusterAzureMonitorProfile { - /** 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. */ + /** Metrics profile for the prometheus service addon */ metrics?: ManagedClusterAzureMonitorProfileMetrics; + /** Logs profile for the Azure Monitor Infrastructure and Application Logs. Collect out-of-the-box Kubernetes infrastructure & application logs to send to Azure Monitor. See aka.ms/AzureMonitorContainerInsights for an overview. */ + logs?: ManagedClusterAzureMonitorProfileLogs; } -/** 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. */ +/** Metrics profile for the prometheus service addon */ export interface ManagedClusterAzureMonitorProfileMetrics { - /** 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. */ + /** Whether to enable the Prometheus collector */ enabled: boolean; - /** 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. */ + /** Kube State Metrics for prometheus addon profile for the container service cluster */ kubeStateMetrics?: ManagedClusterAzureMonitorProfileKubeStateMetrics; + /** Application Monitoring Open Telemetry Metrics Profile for Kubernetes Application Container Metrics. Collects OpenTelemetry metrics through auto-instrumentation of the application using Azure Monitor OpenTelemetry based SDKs. See aka.ms/AzureMonitorApplicationMonitoring for an overview. */ + appMonitoringOpenTelemetryMetrics?: ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics; } -/** 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. */ +/** Kube State Metrics for prometheus addon profile for the container service cluster */ export interface ManagedClusterAzureMonitorProfileKubeStateMetrics { - /** 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. */ + /** Comma-separated list of Kubernetes annotations keys that will be used in the resource's labels metric. */ metricLabelsAllowlist?: string; - /** 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. */ + /** Comma-separated list of additional Kubernetes label keys that will be used in the resource's labels metric. */ metricAnnotationsAllowList?: string; } +/** Application Monitoring Open Telemetry Metrics Profile for Kubernetes Application Container Metrics. Collects OpenTelemetry metrics through auto-instrumentation of the application using Azure Monitor OpenTelemetry based SDKs. See aka.ms/AzureMonitorApplicationMonitoring for an overview. */ +export interface ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics { + /** Indicates if Application Monitoring Open Telemetry Metrics is enabled or not. */ + enabled?: boolean; +} + +/** Logs profile for the Azure Monitor Infrastructure and Application Logs. Collect out-of-the-box Kubernetes infrastructure & application logs to send to Azure Monitor. See aka.ms/AzureMonitorContainerInsights for an overview. */ +export interface ManagedClusterAzureMonitorProfileLogs { + /** Azure Monitor Container Insights Profile for Kubernetes Events, Inventory and Container stdout & stderr logs etc. See aka.ms/AzureMonitorContainerInsights for an overview. */ + containerInsights?: ManagedClusterAzureMonitorProfileContainerInsights; + /** 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. */ + appMonitoring?: ManagedClusterAzureMonitorProfileAppMonitoring; +} + +/** Azure Monitor Container Insights Profile for Kubernetes Events, Inventory and Container stdout & stderr logs etc. See aka.ms/AzureMonitorContainerInsights for an overview. */ +export interface ManagedClusterAzureMonitorProfileContainerInsights { + /** Indicates if Azure Monitor Container Insights Logs Addon is enabled or not. */ + enabled?: boolean; + /** Fully Qualified ARM Resource Id of Azure Log Analytics Workspace for storing Azure Monitor Container Insights Logs. */ + logAnalyticsWorkspaceResourceId?: string; + /** Windows Host Logs Profile for Kubernetes Windows Nodes Log Collection. Collects ETW, Event Logs and Text logs etc. See aka.ms/AzureMonitorContainerInsights for an overview. */ + windowsHostLogs?: ManagedClusterAzureMonitorProfileWindowsHostLogs; +} + +/** Windows Host Logs Profile for Kubernetes Windows Nodes Log Collection. Collects ETW, Event Logs and Text logs etc. See aka.ms/AzureMonitorContainerInsights for an overview. */ +export interface ManagedClusterAzureMonitorProfileWindowsHostLogs { + /** Indicates if Windows Host Log Collection is enabled or not for Azure Monitor Container Insights Logs Addon. */ + enabled?: boolean; +} + +/** 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. */ +export interface ManagedClusterAzureMonitorProfileAppMonitoring { + /** Indicates if Application Monitoring enabled or not. */ + enabled?: boolean; +} + +/** The Guardrails profile. */ +export interface GuardrailsProfile { + /** + * List of namespaces specified by AKS to be excluded from Guardrails + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly systemExcludedNamespaces?: string[]; + /** The version of constraints to use */ + version?: string; + /** The guardrails level to be used. By default, Guardrails is enabled for all namespaces except those that AKS excludes via systemExcludedNamespaces */ + level: Level; + /** List of namespaces excluded from guardrails checks */ + excludedNamespaces?: string[]; +} + /** Service mesh profile for a managed cluster. */ export interface ServiceMeshProfile { /** Mode of the service mesh. */ @@ -973,6 +1228,29 @@ export interface IstioPluginCertificateAuthority { certChainObjectName?: string; } +/** The metrics profile for the ManagedCluster. */ +export interface ManagedClusterMetricsProfile { + /** The cost analysis configuration for the cluster */ + costAnalysis?: ManagedClusterCostAnalysis; +} + +/** The cost analysis configuration for the cluster */ +export interface ManagedClusterCostAnalysis { + /** The Managed Cluster sku.tier must be set to 'Standard' 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. */ + enabled?: boolean; +} + +/** 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. */ +export interface ManagedClusterAIToolchainOperatorProfile { + /** Indicates if AI toolchain operator enabled or not. */ + enabled?: boolean; +} + +export interface ManagedClusterNodeProvisioningProfile { + /** Once the mode it set to Auto, it cannot be changed back to Manual. */ + mode?: NodeProvisioningMode; +} + /** Common fields that are returned in the response for all Azure Resource Manager resources */ export interface Resource { /** @@ -1165,7 +1443,7 @@ export interface AbsoluteMonthlySchedule { export interface RelativeMonthlySchedule { /** Specifies the number of months between each set of occurrences. */ intervalMonths: number; - /** Specifies on which week of the month the dayOfWeek applies. */ + /** Specifies on which instance of the allowed days specified in daysOfWeek the maintenance occurs. */ weekIndex: Type; /** Specifies on which day of the week the maintenance occurs. */ dayOfWeek: WeekDay; @@ -1243,6 +1521,109 @@ export interface AgentPoolUpgradeProfilePropertiesUpgradesItem { isPreview?: boolean; } +/** Specifies a list of machine names from the agent pool to be deleted. */ +export interface AgentPoolDeleteMachinesParameter { + /** The agent pool machine names. */ + machineNames: string[]; +} + +/** Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.). */ +export interface ErrorResponse { + /** The error object. */ + error?: ErrorDetail; +} + +/** The error detail. */ +export interface ErrorDetail { + /** + * The error code. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly code?: string; + /** + * The error message. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly message?: string; + /** + * The error target. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly target?: string; + /** + * The error details. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly details?: ErrorDetail[]; + /** + * The error additional info. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly additionalInfo?: ErrorAdditionalInfo[]; +} + +/** The resource management error additional info. */ +export interface ErrorAdditionalInfo { + /** + * The additional info type. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly type?: string; + /** + * The additional info. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly info?: Record; +} + +/** The response from the List Machines operation. */ +export interface MachineListResult { + /** The list of Machines in cluster. */ + value?: Machine[]; + /** + * The URL to get the next set of machine results. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly nextLink?: string; +} + +/** The properties of the machine */ +export interface MachineProperties { + /** + * network properties of the machine + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly network?: MachineNetworkProperties; + /** + * Arm resource id of the machine. It can be used to GET underlying VM Instance + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly resourceId?: string; +} + +/** network properties of the machine */ +export interface MachineNetworkProperties { + /** + * IPv4, IPv6 addresses of the machine + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly ipAddresses?: MachineIpAddress[]; +} + +/** The machine IP address details. */ +export interface MachineIpAddress { + /** + * IPv4 or IPv6 address of the machine + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly ip?: string; + /** + * To determine if address belongs IPv4 or IPv6 family. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly family?: IpFamily; +} + /** The list of available versions for an agent pool. */ export interface AgentPoolAvailableVersions { /** @@ -1415,120 +1796,94 @@ export interface EndpointDetail { description?: string; } -/** The response from the List Snapshots operation. */ -export interface SnapshotListResult { - /** The list of snapshots. */ - value?: Snapshot[]; +/** The operations list. It contains an URL link to get the next set of results. */ +export interface OperationStatusResultList { /** - * The URL to get the next set of snapshot results. + * List of operations * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly nextLink?: string; -} - -/** Holds an array of MeshRevisionsProfiles */ -export interface MeshRevisionProfileList { - /** Array of service mesh add-on revision profiles for all supported mesh modes. */ - value?: MeshRevisionProfile[]; + readonly value?: OperationStatusResult[]; /** - * The URL to get the next set of mesh revision profile. + * URL to get the next set of operation list results (if there are any). * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly nextLink?: string; } -/** Mesh revision profile properties for a mesh */ -export interface MeshRevisionProfileProperties { - meshRevisions?: MeshRevision[]; -} - -/** Holds information on upgrades and compatibility for given major.minor mesh release. */ -export interface MeshRevision { - /** The revision of the mesh release. */ - revision?: string; - /** List of revisions available for upgrade of a specific mesh revision */ - upgrades?: string[]; - /** List of items this revision of service mesh is compatible with, and their associated versions. */ - compatibleWith?: CompatibleVersions[]; -} - -/** Version information about a product/service that is compatible with a service mesh revision. */ -export interface CompatibleVersions { - /** The product/service name. */ +/** The current status of an async operation. */ +export interface OperationStatusResult { + /** Fully qualified ID for the async operation. */ + id?: string; + /** + * Fully qualified ID of the resource against which the original async operation was started. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly resourceId?: string; + /** Name of the async operation. */ name?: string; - /** Product/service versions compatible with a service mesh add-on revision. */ - versions?: string[]; + /** Operation status. */ + status: string; + /** Percent of the operation that is complete. */ + percentComplete?: number; + /** The start time of the operation. */ + startTime?: Date; + /** The end time of the operation. */ + endTime?: Date; + /** The operations list. */ + operations?: OperationStatusResult[]; + /** If present, details of the operation error. */ + error?: ErrorDetail; } -/** Holds an array of MeshUpgradeProfiles */ -export interface MeshUpgradeProfileList { - /** Array of supported service mesh add-on upgrade profiles. */ - value?: MeshUpgradeProfile[]; +/** The response from the List Snapshots operation. */ +export interface SnapshotListResult { + /** The list of snapshots. */ + value?: Snapshot[]; /** - * The URL to get the next set of mesh upgrade profile. + * The URL to get the next set of snapshot results. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly nextLink?: string; } -/** List of trusted access role bindings */ -export interface TrustedAccessRoleBindingListResult { - /** Role binding list */ - value?: TrustedAccessRoleBinding[]; +/** The response from the List Managed Cluster Snapshots operation. */ +export interface ManagedClusterSnapshotListResult { + /** The list of managed cluster snapshots. */ + value?: ManagedClusterSnapshot[]; /** - * Link to next page of resources. + * The URL to get the next set of managed cluster snapshot results. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly nextLink?: string; } -/** Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.). */ -export interface ErrorResponse { - /** The error object. */ - error?: ErrorDetail; -} - -/** The error detail. */ -export interface ErrorDetail { - /** - * The error code. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly code?: string; - /** - * The error message. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly message?: string; - /** - * The error target. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly target?: string; - /** - * The error details. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly details?: ErrorDetail[]; +/** managed cluster properties for snapshot, these properties are read only. */ +export interface ManagedClusterPropertiesForSnapshot { + /** The current kubernetes version. */ + kubernetesVersion?: string; + /** The current managed cluster sku. */ + sku?: ManagedClusterSKU; + /** Whether the cluster has enabled Kubernetes Role-Based Access Control or not. */ + enableRbac?: boolean; /** - * The error additional info. + * The current network profile. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly additionalInfo?: ErrorAdditionalInfo[]; + readonly networkProfile?: NetworkProfileForSnapshot; } -/** The resource management error additional info. */ -export interface ErrorAdditionalInfo { - /** - * The additional info type. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly type?: string; - /** - * The additional info. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly info?: Record; +/** network profile for managed cluster snapshot, these properties are read only. */ +export interface NetworkProfileForSnapshot { + /** networkPlugin for managed cluster snapshot. */ + networkPlugin?: NetworkPlugin; + /** NetworkPluginMode for managed cluster snapshot. */ + networkPluginMode?: NetworkPluginMode; + /** networkPolicy for managed cluster snapshot. */ + networkPolicy?: NetworkPolicy; + /** networkMode for managed cluster snapshot. */ + networkMode?: NetworkMode; + /** loadBalancerSku for managed cluster snapshot. */ + loadBalancerSku?: LoadBalancerSku; } /** List of trusted access roles */ @@ -1587,10 +1942,88 @@ export interface TrustedAccessRoleRule { */ readonly resourceNames?: string[]; /** - * List of allowed nonResourceURLs + * List of allowed nonResourceURLs + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly nonResourceURLs?: string[]; +} + +/** List of trusted access role bindings */ +export interface TrustedAccessRoleBindingListResult { + /** Role binding list */ + value?: TrustedAccessRoleBinding[]; + /** + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly nextLink?: string; +} + +/** Whether the version is default or not and support info. */ +export interface GuardrailsAvailableVersionsProperties { + /** NOTE: This property will not be serialized. It can only be populated by the server. */ + readonly isDefaultVersion?: boolean; + /** + * Whether the version is preview or stable. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly support?: GuardrailsSupport; +} + +/** Hold values properties, which is array of GuardrailsVersions */ +export interface GuardrailsAvailableVersionsList { + /** Array of AKS supported Guardrails versions. */ + value?: GuardrailsAvailableVersion[]; + /** + * The URL to get the next Guardrails available version. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly nextLink?: string; +} + +/** Holds an array of MeshRevisionsProfiles */ +export interface MeshRevisionProfileList { + /** Array of service mesh add-on revision profiles for all supported mesh modes. */ + value?: MeshRevisionProfile[]; + /** + * The URL to get the next set of mesh revision profile. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly nextLink?: string; +} + +/** Mesh revision profile properties for a mesh */ +export interface MeshRevisionProfileProperties { + meshRevisions?: MeshRevision[]; +} + +/** Holds information on upgrades and compatibility for given major.minor mesh release. */ +export interface MeshRevision { + /** The revision of the mesh release. */ + revision?: string; + /** List of revisions available for upgrade of a specific mesh revision */ + upgrades?: string[]; + /** List of items this revision of service mesh is compatible with, and their associated versions. */ + compatibleWith?: CompatibleVersions[]; +} + +/** Version information about a product/service that is compatible with a service mesh revision. */ +export interface CompatibleVersions { + /** The product/service name. */ + name?: string; + /** Product/service versions compatible with a service mesh add-on revision. */ + versions?: string[]; +} + +/** Holds an array of MeshUpgradeProfiles */ +export interface MeshUpgradeProfileList { + /** Array of supported service mesh add-on upgrade profiles. */ + value?: MeshUpgradeProfile[]; + /** + * The URL to get the next set of mesh upgrade profile. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly nonResourceURLs?: string[]; + readonly nextLink?: string; } /** Profile for the container service agent pool. */ @@ -1612,9 +2045,6 @@ export interface TrackedResource extends Resource { location: string; } -/** The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location */ -export interface ProxyResource extends Resource {} - /** Defines binding between a resource and role */ export interface TrustedAccessRoleBinding extends Resource { /** @@ -1628,6 +2058,15 @@ export interface TrustedAccessRoleBinding extends Resource { roles: string[]; } +/** Available Guardrails Version */ +export interface GuardrailsAvailableVersion extends Resource { + /** Whether the version is default or not and support info. */ + properties: GuardrailsAvailableVersionsProperties; +} + +/** The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location */ +export interface ProxyResource extends Resource {} + /** See [planned maintenance](https://docs.microsoft.com/azure/aks/planned-maintenance) for more information about planned maintenance. */ export interface MaintenanceConfiguration extends SubResource { /** @@ -1657,6 +2096,8 @@ export interface AgentPool extends SubResource { kubeletDiskType?: KubeletDiskType; /** Determines the type of workload a node can run. */ workloadRuntime?: WorkloadRuntime; + /** 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). */ + messageOfTheDay?: string; /** If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} */ vnetSubnetID?: string; /** 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} */ @@ -1665,7 +2106,7 @@ export interface AgentPool extends SubResource { maxPods?: number; /** The operating system type. The default is Linux. */ osType?: OSType; - /** 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. */ + /** Specifies the OS SKU used by the agent pool. If not specified, the default is Ubuntu if OSType=Linux or Windows2019 if OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after Windows2019 is deprecated. */ osSKU?: Ossku; /** The maximum number of nodes for auto-scaling */ maxCount?: number; @@ -1679,10 +2120,10 @@ export interface AgentPool extends SubResource { typePropertiesType?: AgentPoolType; /** 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 */ mode?: AgentPoolMode; - /** Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same 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). */ + /** Both patch version and are supported. When is specified, the latest supported patch version is chosen automatically. Updating the agent pool with the same once it has been created 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). */ orchestratorVersion?: string; /** - * If orchestratorVersion is a fully specified version , this field will be exactly equal to it. If orchestratorVersion is , this field will contain the full version being used. + * If orchestratorVersion was a fully specified version , this field will be exactly equal to it. If orchestratorVersion was , this field will contain the full version being used. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly currentOrchestratorVersion?: string; @@ -1704,6 +2145,8 @@ export interface AgentPool extends SubResource { availabilityZones?: string[]; /** Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see [assigning a public IP per node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The default is false. */ enableNodePublicIP?: boolean; + /** When set to true, AKS adds a label to the node indicating that the feature is enabled and deploys a daemonset along with host services to sync custom certificate authorities from user-provided list of base64 encoded certificates into node trust stores. Defaults to false. */ + enableCustomCATrust?: boolean; /** This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} */ nodePublicIPPrefixID?: string; /** The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. */ @@ -1718,6 +2161,8 @@ export interface AgentPool extends SubResource { nodeLabels?: { [propertyName: string]: string }; /** The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. */ nodeTaints?: string[]; + /** These taints will not be reconciled by AKS and can be removed with a kubectl call. This field can be modified after node pool is created, but nodes will not be recreated with new taints until another operation that requires recreation (e.g. node image upgrade) happens. These taints allow for required configuration to run before the node is ready to accept workloads, for example 'key1=value1:NoSchedule' that then can be removed with `kubectl taint nodes node1 key1=value1:NoSchedule-` */ + nodeInitializationTaints?: string[]; /** The ID for Proximity Placement Group. */ proximityPlacementGroupID?: string; /** The Kubelet configuration on the agent pool nodes. */ @@ -1734,8 +2179,33 @@ export interface AgentPool extends SubResource { gpuInstanceProfile?: GPUInstanceProfile; /** CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot. */ creationData?: CreationData; + /** AKS will associate the specified agent pool with the Capacity Reservation Group. */ + capacityReservationGroupID?: string; /** 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). */ hostGroupID?: string; + /** The Windows agent pool's specific profile. */ + windowsProfile?: AgentPoolWindowsProfile; + /** Network-related settings of an agent pool. */ + networkProfile?: AgentPoolNetworkProfile; + /** The security settings of an agent pool. */ + securityProfile?: AgentPoolSecurityProfile; + /** The GPU settings of an agent pool. */ + gpuProfile?: AgentPoolGPUProfile; + /** Configuration for using artifact streaming on AKS. */ + artifactStreamingProfile?: AgentPoolArtifactStreamingProfile; + /** Specifications on VirtualMachines agent pool. */ + virtualMachinesProfile?: VirtualMachinesProfile; + /** The status of nodes in a VirtualMachines agent pool. */ + virtualMachineNodesStatus?: VirtualMachineNodes[]; +} + +/** 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. */ +export interface Machine extends SubResource { + /** + * The properties of the machine + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly properties?: MachineProperties; } /** Mesh upgrade profile properties for a major.minor release. */ @@ -1759,15 +2229,17 @@ export interface ManagedCluster extends TrackedResource { * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly powerState?: PowerState; + /** CreationData to be used to specify the source Snapshot ID if the cluster will be created/upgraded using a snapshot. */ + creationData?: CreationData; /** * The max number of agent pools for the managed cluster. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly maxAgentPools?: number; - /** Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same 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. */ + /** When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details. */ kubernetesVersion?: string; /** - * If kubernetesVersion was a fully specified version , this field will be exactly equal to it. If kubernetesVersion was , this field will contain the full version being used. + * The version of Kubernetes the Managed Cluster is running. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly currentKubernetesVersion?: string; @@ -1806,12 +2278,16 @@ export interface ManagedCluster extends TrackedResource { oidcIssuerProfile?: ManagedClusterOidcIssuerProfile; /** The name of the resource group containing agent pool nodes. */ nodeResourceGroup?: string; + /** The node resource group configuration profile. */ + nodeResourceGroupProfile?: ManagedClusterNodeResourceGroupProfile; /** Whether to enable Kubernetes Role-Based Access Control. */ enableRbac?: boolean; /** The support plan for the Managed Cluster. If unspecified, the default is 'KubernetesOfficial'. */ supportPlan?: KubernetesSupportPlan; /** (DEPRECATED) Whether to enable Kubernetes pod security policy (preview). PodSecurityPolicy was deprecated in Kubernetes v1.21, and removed from Kubernetes in v1.25. Learn more at https://aka.ms/k8s/psp and https://aka.ms/aks/psp. */ enablePodSecurityPolicy?: boolean; + /** The default value is false. It can be enabled/disabled on creation and updating of the managed cluster. See [https://aka.ms/NamespaceARMResource](https://aka.ms/NamespaceARMResource) for more details on Namespace as a ARM Resource. */ + enableNamespaceResources?: boolean; /** The network configuration profile. */ networkProfile?: ContainerServiceNetworkProfile; /** The Azure Active Directory configuration. */ @@ -1838,12 +2314,16 @@ export interface ManagedCluster extends TrackedResource { securityProfile?: ManagedClusterSecurityProfile; /** Storage profile for the managed cluster. */ storageProfile?: ManagedClusterStorageProfile; + /** Ingress profile for the managed cluster. */ + ingressProfile?: ManagedClusterIngressProfile; /** Allow or deny public network access for AKS */ publicNetworkAccess?: PublicNetworkAccess; /** Workload Auto-scaler profile for the managed cluster. */ workloadAutoScalerProfile?: ManagedClusterWorkloadAutoScalerProfile; - /** Azure Monitor addon profiles for monitoring the managed cluster. */ + /** Prometheus addon profile for the container service cluster */ azureMonitorProfile?: ManagedClusterAzureMonitorProfile; + /** The guardrails profile holds all the guardrails information for a given cluster */ + guardrailsProfile?: GuardrailsProfile; /** Service mesh profile for a managed cluster. */ serviceMeshProfile?: ServiceMeshProfile; /** @@ -1851,6 +2331,12 @@ export interface ManagedCluster extends TrackedResource { * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly resourceUID?: string; + /** Optional cluster metrics configuration. */ + metricsProfile?: ManagedClusterMetricsProfile; + /** AI toolchain operator settings that apply to the whole cluster. */ + aiToolchainOperatorProfile?: ManagedClusterAIToolchainOperatorProfile; + /** Node provisioning settings that apply to the whole cluster. */ + nodeProvisioningProfile?: ManagedClusterNodeProvisioningProfile; } /** Managed cluster Access Profile. */ @@ -1881,7 +2367,7 @@ export interface Snapshot extends TrackedResource { */ readonly osType?: OSType; /** - * 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. + * Specifies the OS SKU used by the agent pool. If not specified, the default is Ubuntu if OSType=Linux or Windows2019 if OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after Windows2019 is deprecated. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly osSku?: Ossku; @@ -1897,6 +2383,19 @@ export interface Snapshot extends TrackedResource { readonly enableFips?: boolean; } +/** A managed cluster snapshot resource. */ +export interface ManagedClusterSnapshot extends TrackedResource { + /** CreationData to be used to specify the source resource ID to create this snapshot. */ + creationData?: CreationData; + /** The type of a snapshot. The default is NodePool. */ + snapshotType?: SnapshotType; + /** + * What the properties will be showed when getting managed cluster snapshot. Those properties are read-only. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly managedClusterPropertiesReadOnly?: ManagedClusterPropertiesForSnapshot; +} + /** Mesh revision profile for a mesh. */ export interface MeshRevisionProfile extends ProxyResource { /** Mesh revision profile properties for a mesh */ @@ -1927,12 +2426,6 @@ export interface ManagedClustersResetAADProfileHeaders { location?: string; } -/** Defines headers for ManagedClusters_rotateClusterCertificates operation. */ -export interface ManagedClustersRotateClusterCertificatesHeaders { - /** URL to query for status of the operation. */ - location?: string; -} - /** Defines headers for ManagedClusters_abortLatestOperation operation. */ export interface ManagedClustersAbortLatestOperationHeaders { /** URL to query for status of the operation. */ @@ -1941,8 +2434,15 @@ export interface ManagedClustersAbortLatestOperationHeaders { azureAsyncOperation?: string; } +/** Defines headers for ManagedClusters_rotateClusterCertificates operation. */ +export interface ManagedClustersRotateClusterCertificatesHeaders { + /** URL to query for status of the operation. */ + location?: string; +} + /** Defines headers for ManagedClusters_rotateServiceAccountSigningKeys operation. */ export interface ManagedClustersRotateServiceAccountSigningKeysHeaders { + /** URL to query for status of the operation. */ location?: string; } @@ -1984,6 +2484,12 @@ export interface AgentPoolsDeleteHeaders { location?: string; } +/** Defines headers for AgentPools_deleteMachines operation. */ +export interface AgentPoolsDeleteMachinesHeaders { + /** URL to query for status of the operation. */ + location?: string; +} + /** Defines headers for AgentPools_upgradeNodeImageVersion operation. */ export interface AgentPoolsUpgradeNodeImageVersionHeaders { /** URL to query for status of the operation. */ @@ -2124,7 +2630,9 @@ export enum KnownWorkloadRuntime { /** Nodes will use Kubelet to run standard OCI container workloads. */ OCIContainer = "OCIContainer", /** Nodes will use Krustlet to run WASM workloads using the WASI provider (Preview). */ - WasmWasi = "WasmWasi" + WasmWasi = "WasmWasi", + /** Nodes can use (Kata + Cloud Hypervisor + Hyper-V) to enable Nested VM-based pods (Preview). 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. */ + KataMshvVmIsolation = "KataMshvVmIsolation" } /** @@ -2133,7 +2641,8 @@ export enum KnownWorkloadRuntime { * this enum contains the known values that the service supports. * ### Known values supported by the service * **OCIContainer**: Nodes will use Kubelet to run standard OCI container workloads. \ - * **WasmWasi**: Nodes will use Krustlet to run WASM workloads using the WASI provider (Preview). + * **WasmWasi**: Nodes will use Krustlet to run WASM workloads using the WASI provider (Preview). \ + * **KataMshvVmIsolation**: Nodes can use (Kata + Cloud Hypervisor + Hyper-V) to enable Nested VM-based pods (Preview). 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. */ export type WorkloadRuntime = string; @@ -2159,6 +2668,8 @@ export type OSType = string; export enum KnownOssku { /** Use Ubuntu as the OS for node images. */ Ubuntu = "Ubuntu", + /** Deprecated OSSKU. Microsoft recommends that new deployments choose 'AzureLinux' instead. */ + Mariner = "Mariner", /** 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. */ AzureLinux = "AzureLinux", /** Deprecated OSSKU. Microsoft recommends that new deployments choose 'AzureLinux' instead. */ @@ -2166,7 +2677,9 @@ export enum KnownOssku { /** 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. */ Windows2019 = "Windows2019", /** 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. */ - Windows2022 = "Windows2022" + Windows2022 = "Windows2022", + /** Use Windows Annual Channel version as the OS for node images. Unsupported for system node pools. Details about supported container images and kubernetes versions under different AKS Annual Channel versions could be seen in https:\//aka.ms\/aks\/windows-annual-channel-details. */ + WindowsAnnual = "WindowsAnnual" } /** @@ -2175,10 +2688,12 @@ export enum KnownOssku { * this enum contains the known values that the service supports. * ### Known values supported by the service * **Ubuntu**: Use Ubuntu as the OS for node images. \ + * **Mariner**: Deprecated OSSKU. Microsoft recommends that new deployments choose 'AzureLinux' instead. \ * **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. \ * **CBLMariner**: Deprecated OSSKU. Microsoft recommends that new deployments choose 'AzureLinux' instead. \ * **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. \ - * **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. + * **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. \ + * **WindowsAnnual**: Use Windows Annual Channel version as the OS for node images. Unsupported for system node pools. Details about supported container images and kubernetes versions under different AKS Annual Channel versions could be seen in https:\/\/aka.ms\/aks\/windows-annual-channel-details. */ export type Ossku = string; @@ -2205,7 +2720,9 @@ export enum KnownAgentPoolType { /** Create an Agent Pool backed by a Virtual Machine Scale Set. */ VirtualMachineScaleSets = "VirtualMachineScaleSets", /** Use of this is strongly discouraged. */ - AvailabilitySet = "AvailabilitySet" + AvailabilitySet = "AvailabilitySet", + /** Create an Agent Pool backed by a Single Instance VM orchestration mode. */ + VirtualMachines = "VirtualMachines" } /** @@ -2214,7 +2731,8 @@ export enum KnownAgentPoolType { * this enum contains the known values that the service supports. * ### Known values supported by the service * **VirtualMachineScaleSets**: Create an Agent Pool backed by a Virtual Machine Scale Set. \ - * **AvailabilitySet**: Use of this is strongly discouraged. + * **AvailabilitySet**: Use of this is strongly discouraged. \ + * **VirtualMachines**: Create an Agent Pool backed by a Single Instance VM orchestration mode. */ export type AgentPoolType = string; @@ -2299,6 +2817,42 @@ export enum KnownGPUInstanceProfile { */ export type GPUInstanceProfile = string; +/** Known values of {@link Protocol} that the service accepts. */ +export enum KnownProtocol { + /** TCP protocol. */ + TCP = "TCP", + /** UDP protocol. */ + UDP = "UDP" +} + +/** + * Defines values for Protocol. \ + * {@link KnownProtocol} can be used interchangeably with Protocol, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **TCP**: TCP protocol. \ + * **UDP**: UDP protocol. + */ +export type Protocol = string; + +/** Known values of {@link AgentPoolSSHAccess} that the service accepts. */ +export enum KnownAgentPoolSSHAccess { + /** Can SSH onto the node as a local user using private key. */ + LocalUser = "LocalUser", + /** SSH service will be turned off on the node. */ + Disabled = "Disabled" +} + +/** + * Defines values for AgentPoolSSHAccess. \ + * {@link KnownAgentPoolSSHAccess} can be used interchangeably with AgentPoolSSHAccess, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **LocalUser**: Can SSH onto the node as a local user using private key. \ + * **Disabled**: SSH service will be turned off on the node. + */ +export type AgentPoolSSHAccess = string; + /** Known values of {@link LicenseType} that the service accepts. */ export enum KnownLicenseType { /** No additional licensing is applied. */ @@ -2347,13 +2901,31 @@ export enum KnownManagedClusterPodIdentityProvisioningState { */ export type ManagedClusterPodIdentityProvisioningState = string; +/** Known values of {@link RestrictionLevel} that the service accepts. */ +export enum KnownRestrictionLevel { + /** All RBAC permissions are allowed on the managed node resource group */ + Unrestricted = "Unrestricted", + /** Only *\/read RBAC permissions allowed on the managed node resource group */ + ReadOnly = "ReadOnly" +} + +/** + * Defines values for RestrictionLevel. \ + * {@link KnownRestrictionLevel} can be used interchangeably with RestrictionLevel, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Unrestricted**: All RBAC permissions are allowed on the managed node resource group \ + * **ReadOnly**: Only *\/read RBAC permissions allowed on the managed node resource group + */ +export type RestrictionLevel = string; + /** Known values of {@link NetworkPlugin} that the service accepts. */ export enum KnownNetworkPlugin { /** 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. */ Azure = "azure", /** Use the Kubenet network plugin. See [Kubenet (basic) networking](https:\//docs.microsoft.com\/azure\/aks\/concepts-network#kubenet-basic-networking) for more information. */ Kubenet = "kubenet", - /** No CNI plugin is pre-installed. See [BYO CNI](https:\//docs.microsoft.com\/en-us\/azure\/aks\/use-byo-cni) for more information. */ + /** Do not use a network plugin. A custom CNI will need to be installed after cluster creation for networking functionality. */ None = "none" } @@ -2364,13 +2936,13 @@ export enum KnownNetworkPlugin { * ### Known values supported by the service * **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. \ * **kubenet**: Use the Kubenet network plugin. See [Kubenet (basic) networking](https:\/\/docs.microsoft.com\/azure\/aks\/concepts-network#kubenet-basic-networking) for more information. \ - * **none**: No CNI plugin is pre-installed. See [BYO CNI](https:\/\/docs.microsoft.com\/en-us\/azure\/aks\/use-byo-cni) for more information. + * **none**: Do not use a network plugin. A custom CNI will need to be installed after cluster creation for networking functionality. */ export type NetworkPlugin = string; /** Known values of {@link NetworkPluginMode} that the service accepts. */ export enum KnownNetworkPluginMode { - /** 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. */ + /** Pods are given IPs from the PodCIDR address space but use Azure Routing Domains rather than Kubenet reference plugins host-local and bridge. */ Overlay = "overlay" } @@ -2379,12 +2951,14 @@ export enum KnownNetworkPluginMode { * {@link KnownNetworkPluginMode} can be used interchangeably with NetworkPluginMode, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **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. + * **overlay**: Pods are given IPs from the PodCIDR address space but use Azure Routing Domains rather than Kubenet reference plugins host-local and bridge. */ export type NetworkPluginMode = string; /** Known values of {@link NetworkPolicy} that the service accepts. */ export enum KnownNetworkPolicy { + /** Network policies will not be enforced. This is the default value when NetworkPolicy is not specified. */ + None = "none", /** 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. */ Calico = "calico", /** 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. */ @@ -2398,6 +2972,7 @@ export enum KnownNetworkPolicy { * {@link KnownNetworkPolicy} can be used interchangeably with NetworkPolicy, * this enum contains the known values that the service supports. * ### Known values supported by the service + * **none**: Network policies will not be enforced. This is the default value when NetworkPolicy is not specified. \ * **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. \ * **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. \ * **cilium**: Use Cilium to enforce network policies. This requires networkDataplane to be 'cilium'. @@ -2482,11 +3057,29 @@ export enum KnownLoadBalancerSku { */ export type LoadBalancerSku = string; +/** Known values of {@link BackendPoolType} that the service accepts. */ +export enum KnownBackendPoolType { + /** The type of the managed inbound Load Balancer BackendPool. https:\//cloud-provider-azure.sigs.k8s.io\/topics\/loadbalancer\/#configure-load-balancer-backend. */ + NodeIPConfiguration = "NodeIPConfiguration", + /** The type of the managed inbound Load Balancer BackendPool. https:\//cloud-provider-azure.sigs.k8s.io\/topics\/loadbalancer\/#configure-load-balancer-backend. */ + NodeIP = "NodeIP" +} + +/** + * Defines values for BackendPoolType. \ + * {@link KnownBackendPoolType} can be used interchangeably with BackendPoolType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **NodeIPConfiguration**: The type of the managed inbound Load Balancer BackendPool. https:\/\/cloud-provider-azure.sigs.k8s.io\/topics\/loadbalancer\/#configure-load-balancer-backend. \ + * **NodeIP**: The type of the managed inbound Load Balancer BackendPool. https:\/\/cloud-provider-azure.sigs.k8s.io\/topics\/loadbalancer\/#configure-load-balancer-backend. + */ +export type BackendPoolType = string; + /** Known values of {@link IpFamily} that the service accepts. */ export enum KnownIpFamily { - /** IPv4 */ + /** IPv4 family */ IPv4 = "IPv4", - /** IPv6 */ + /** IPv6 family */ IPv6 = "IPv6" } @@ -2495,11 +3088,47 @@ export enum KnownIpFamily { * {@link KnownIpFamily} can be used interchangeably with IpFamily, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **IPv4** \ - * **IPv6** + * **IPv4**: IPv4 family \ + * **IPv6**: IPv6 family */ export type IpFamily = string; +/** Known values of {@link Mode} that the service accepts. */ +export enum KnownMode { + /** IPTables proxy mode */ + Iptables = "IPTABLES", + /** IPVS proxy mode. Must be using Kubernetes version >= 1.22. */ + Ipvs = "IPVS" +} + +/** + * Defines values for Mode. \ + * {@link KnownMode} can be used interchangeably with Mode, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **IPTABLES**: IPTables proxy mode \ + * **IPVS**: IPVS proxy mode. Must be using Kubernetes version >= 1.22. + */ +export type Mode = string; + +/** Known values of {@link IpvsScheduler} that the service accepts. */ +export enum KnownIpvsScheduler { + /** Round Robin */ + RoundRobin = "RoundRobin", + /** Least Connection */ + LeastConnection = "LeastConnection" +} + +/** + * Defines values for IpvsScheduler. \ + * {@link KnownIpvsScheduler} can be used interchangeably with IpvsScheduler, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **RoundRobin**: Round Robin \ + * **LeastConnection**: Least Connection + */ +export type IpvsScheduler = string; + /** Known values of {@link UpgradeChannel} that the service accepts. */ export enum KnownUpgradeChannel { /** 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. */ @@ -2531,8 +3160,10 @@ export type UpgradeChannel = string; export enum KnownNodeOSUpgradeChannel { /** 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 */ None = "None", - /** 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 */ + /** 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 later time 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 */ Unmanaged = "Unmanaged", + /** AKS will update the nodes VHD with patches from the image maintainer labelled "security only" on a regular basis. Where possible, patches will also be applied without reimaging to existing nodes. Some patches, such as kernel patches, cannot be applied to existing nodes without disruption. For such patches, the VHD will be updated, and machines will be rolling reimaged to that VHD following maintenance windows and surge settings. This option incurs the extra cost of hosting the VHDs in your node resource group. */ + SecurityPatch = "SecurityPatch", /** 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. */ NodeImage = "NodeImage" } @@ -2543,7 +3174,8 @@ export enum KnownNodeOSUpgradeChannel { * this enum contains the known values that the service supports. * ### Known values supported by the service * **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 \ - * **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 \ + * **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 later time 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 \ + * **SecurityPatch**: AKS will update the nodes VHD with patches from the image maintainer labelled "security only" on a regular basis. Where possible, patches will also be applied without reimaging to existing nodes. Some patches, such as kernel patches, cannot be applied to existing nodes without disruption. For such patches, the VHD will be updated, and machines will be rolling reimaged to that VHD following maintenance windows and surge settings. This option incurs the extra cost of hosting the VHDs in your node resource group. \ * **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. */ export type NodeOSUpgradeChannel = string; @@ -2592,10 +3224,12 @@ export type KeyVaultNetworkAccessTypes = string; /** Known values of {@link PublicNetworkAccess} that the service accepts. */ export enum KnownPublicNetworkAccess { - /** Enabled */ + /** Inbound\/Outbound to the managedCluster is allowed. */ Enabled = "Enabled", - /** Disabled */ - Disabled = "Disabled" + /** Inbound traffic to managedCluster is disabled, traffic from managedCluster is allowed. */ + Disabled = "Disabled", + /** Inbound\/Outbound traffic is managed by Microsoft.Network\/NetworkSecurityPerimeters. */ + SecuredByPerimeter = "SecuredByPerimeter" } /** @@ -2603,11 +3237,51 @@ export enum KnownPublicNetworkAccess { * {@link KnownPublicNetworkAccess} can be used interchangeably with PublicNetworkAccess, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **Enabled** \ - * **Disabled** + * **Enabled**: Inbound\/Outbound to the managedCluster is allowed. \ + * **Disabled**: Inbound traffic to managedCluster is disabled, traffic from managedCluster is allowed. \ + * **SecuredByPerimeter**: Inbound\/Outbound traffic is managed by Microsoft.Network\/NetworkSecurityPerimeters. */ export type PublicNetworkAccess = string; +/** Known values of {@link AddonAutoscaling} that the service accepts. */ +export enum KnownAddonAutoscaling { + /** Feature to autoscale AKS-managed add-ons is enabled. The default VPA update mode is Initial mode. */ + Enabled = "Enabled", + /** Feature to autoscale AKS-managed add-ons is disabled. */ + Disabled = "Disabled" +} + +/** + * Defines values for AddonAutoscaling. \ + * {@link KnownAddonAutoscaling} can be used interchangeably with AddonAutoscaling, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Enabled**: Feature to autoscale AKS-managed add-ons is enabled. The default VPA update mode is Initial mode. \ + * **Disabled**: Feature to autoscale AKS-managed add-ons is disabled. + */ +export type AddonAutoscaling = string; + +/** Known values of {@link Level} that the service accepts. */ +export enum KnownLevel { + /** Off */ + Off = "Off", + /** Warning */ + Warning = "Warning", + /** Enforcement */ + Enforcement = "Enforcement" +} + +/** + * Defines values for Level. \ + * {@link KnownLevel} can be used interchangeably with Level, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Off** \ + * **Warning** \ + * **Enforcement** + */ +export type Level = string; + /** Known values of {@link ServiceMeshMode} that the service accepts. */ export enum KnownServiceMeshMode { /** Istio deployed as an AKS addon. */ @@ -2644,6 +3318,24 @@ export enum KnownIstioIngressGatewayMode { */ export type IstioIngressGatewayMode = string; +/** Known values of {@link NodeProvisioningMode} that the service accepts. */ +export enum KnownNodeProvisioningMode { + /** Nodes are provisioned manually by the user */ + Manual = "Manual", + /** Nodes are provisioned automatically by AKS using Karpenter. Fixed size Node Pools can still be created, but autoscaling Node Pools cannot be. (See aka.ms\/aks\/nap for more details). */ + Auto = "Auto" +} + +/** + * Defines values for NodeProvisioningMode. \ + * {@link KnownNodeProvisioningMode} can be used interchangeably with NodeProvisioningMode, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Manual**: Nodes are provisioned manually by the user \ + * **Auto**: Nodes are provisioned automatically by AKS using Karpenter. Fixed size Node Pools can still be created, but autoscaling Node Pools cannot be. (See aka.ms\/aks\/nap for more details). + */ +export type NodeProvisioningMode = string; + /** Known values of {@link CreatedByType} that the service accepts. */ export enum KnownCreatedByType { /** User */ @@ -2721,15 +3413,15 @@ export type WeekDay = string; /** Known values of {@link Type} that the service accepts. */ export enum KnownType { - /** First week of the month. */ + /** First. */ First = "First", - /** Second week of the month. */ + /** Second. */ Second = "Second", - /** Third week of the month. */ + /** Third. */ Third = "Third", - /** Fourth week of the month. */ + /** Fourth. */ Fourth = "Fourth", - /** Last week of the month. */ + /** Last. */ Last = "Last" } @@ -2738,11 +3430,11 @@ export enum KnownType { * {@link KnownType} can be used interchangeably with Type, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **First**: First week of the month. \ - * **Second**: Second week of the month. \ - * **Third**: Third week of the month. \ - * **Fourth**: Fourth week of the month. \ - * **Last**: Last week of the month. + * **First**: First. \ + * **Second**: Second. \ + * **Third**: Third. \ + * **Fourth**: Fourth. \ + * **Last**: Last. */ export type Type = string; @@ -2800,7 +3492,9 @@ export type ConnectionStatus = string; /** Known values of {@link SnapshotType} that the service accepts. */ export enum KnownSnapshotType { /** The snapshot is a snapshot of a node pool. */ - NodePool = "NodePool" + NodePool = "NodePool", + /** The snapshot is a snapshot of a managed cluster. */ + ManagedCluster = "ManagedCluster" } /** @@ -2808,7 +3502,8 @@ export enum KnownSnapshotType { * {@link KnownSnapshotType} can be used interchangeably with SnapshotType, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **NodePool**: The snapshot is a snapshot of a node pool. + * **NodePool**: The snapshot is a snapshot of a node pool. \ + * **ManagedCluster**: The snapshot is a snapshot of a managed cluster. */ export type SnapshotType = string; @@ -2838,6 +3533,24 @@ export enum KnownTrustedAccessRoleBindingProvisioningState { * **Updating** */ export type TrustedAccessRoleBindingProvisioningState = string; + +/** Known values of {@link GuardrailsSupport} that the service accepts. */ +export enum KnownGuardrailsSupport { + /** The version is preview. It is not recommended to use preview versions on critical production clusters. The preview version may not support all use-cases. */ + Preview = "Preview", + /** The version is stable and can be used on critical production clusters. */ + Stable = "Stable" +} + +/** + * Defines values for GuardrailsSupport. \ + * {@link KnownGuardrailsSupport} can be used interchangeably with GuardrailsSupport, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Preview**: The version is preview. It is not recommended to use preview versions on critical production clusters. The preview version may not support all use-cases. \ + * **Stable**: The version is stable and can be used on critical production clusters. + */ +export type GuardrailsSupport = string; /** Defines values for ResourceIdentityType. */ export type ResourceIdentityType = "SystemAssigned" | "UserAssigned" | "None"; @@ -2959,6 +3672,8 @@ export type ManagedClustersUpdateTagsResponse = ManagedCluster; /** Optional parameters. */ export interface ManagedClustersDeleteOptionalParams extends coreClient.OperationOptions { + /** ignore-pod-disruption-budget=true to delete those pods on a node without considering Pod Disruption Budget */ + ignorePodDisruptionBudget?: boolean; /** Delay to wait until next poll, in milliseconds. */ updateIntervalInMs?: number; /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ @@ -2987,7 +3702,7 @@ export interface ManagedClustersResetAADProfileOptionalParams } /** Optional parameters. */ -export interface ManagedClustersRotateClusterCertificatesOptionalParams +export interface ManagedClustersAbortLatestOperationOptionalParams extends coreClient.OperationOptions { /** Delay to wait until next poll, in milliseconds. */ updateIntervalInMs?: number; @@ -2995,11 +3710,11 @@ export interface ManagedClustersRotateClusterCertificatesOptionalParams resumeFrom?: string; } -/** Contains response data for the rotateClusterCertificates operation. */ -export type ManagedClustersRotateClusterCertificatesResponse = ManagedClustersRotateClusterCertificatesHeaders; +/** Contains response data for the abortLatestOperation operation. */ +export type ManagedClustersAbortLatestOperationResponse = ManagedClustersAbortLatestOperationHeaders; /** Optional parameters. */ -export interface ManagedClustersAbortLatestOperationOptionalParams +export interface ManagedClustersRotateClusterCertificatesOptionalParams extends coreClient.OperationOptions { /** Delay to wait until next poll, in milliseconds. */ updateIntervalInMs?: number; @@ -3007,8 +3722,8 @@ export interface ManagedClustersAbortLatestOperationOptionalParams resumeFrom?: string; } -/** Contains response data for the abortLatestOperation operation. */ -export type ManagedClustersAbortLatestOperationResponse = ManagedClustersAbortLatestOperationHeaders; +/** Contains response data for the rotateClusterCertificates operation. */ +export type ManagedClustersRotateClusterCertificatesResponse = ManagedClustersRotateClusterCertificatesHeaders; /** Optional parameters. */ export interface ManagedClustersRotateServiceAccountSigningKeysOptionalParams @@ -3072,6 +3787,20 @@ export interface ManagedClustersListOutboundNetworkDependenciesEndpointsOptional /** Contains response data for the listOutboundNetworkDependenciesEndpoints operation. */ export type ManagedClustersListOutboundNetworkDependenciesEndpointsResponse = OutboundEnvironmentEndpointCollection; +/** Optional parameters. */ +export interface ManagedClustersGetGuardrailsVersionsOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the getGuardrailsVersions operation. */ +export type ManagedClustersGetGuardrailsVersionsResponse = GuardrailsAvailableVersion; + +/** Optional parameters. */ +export interface ManagedClustersListGuardrailsVersionsOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listGuardrailsVersions operation. */ +export type ManagedClustersListGuardrailsVersionsResponse = GuardrailsAvailableVersionsList; + /** Optional parameters. */ export interface ManagedClustersListMeshRevisionProfilesOptionalParams extends coreClient.OperationOptions {} @@ -3121,6 +3850,13 @@ export interface ManagedClustersListOutboundNetworkDependenciesEndpointsNextOpti /** Contains response data for the listOutboundNetworkDependenciesEndpointsNext operation. */ export type ManagedClustersListOutboundNetworkDependenciesEndpointsNextResponse = OutboundEnvironmentEndpointCollection; +/** Optional parameters. */ +export interface ManagedClustersListGuardrailsVersionsNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listGuardrailsVersionsNext operation. */ +export type ManagedClustersListGuardrailsVersionsNextResponse = GuardrailsAvailableVersionsList; + /** Optional parameters. */ export interface ManagedClustersListMeshRevisionProfilesNextOptionalParams extends coreClient.OperationOptions {} @@ -3208,6 +3944,8 @@ export type AgentPoolsCreateOrUpdateResponse = AgentPool; /** Optional parameters. */ export interface AgentPoolsDeleteOptionalParams extends coreClient.OperationOptions { + /** ignore-pod-disruption-budget=true to delete those pods on a node without considering Pod Disruption Budget */ + ignorePodDisruptionBudget?: boolean; /** Delay to wait until next poll, in milliseconds. */ updateIntervalInMs?: number; /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ @@ -3224,6 +3962,18 @@ export interface AgentPoolsGetUpgradeProfileOptionalParams /** Contains response data for the getUpgradeProfile operation. */ export type AgentPoolsGetUpgradeProfileResponse = AgentPoolUpgradeProfile; +/** Optional parameters. */ +export interface AgentPoolsDeleteMachinesOptionalParams + extends coreClient.OperationOptions { + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ + resumeFrom?: string; +} + +/** Contains response data for the deleteMachines operation. */ +export type AgentPoolsDeleteMachinesResponse = AgentPoolsDeleteMachinesHeaders; + /** Optional parameters. */ export interface AgentPoolsGetAvailableAgentPoolVersionsOptionalParams extends coreClient.OperationOptions {} @@ -3247,6 +3997,27 @@ export interface AgentPoolsListNextOptionalParams /** Contains response data for the listNext operation. */ export type AgentPoolsListNextResponse = AgentPoolListResult; +/** Optional parameters. */ +export interface MachinesListOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the list operation. */ +export type MachinesListResponse = MachineListResult; + +/** Optional parameters. */ +export interface MachinesGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type MachinesGetResponse = Machine; + +/** Optional parameters. */ +export interface MachinesListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type MachinesListNextResponse = MachineListResult; + /** Optional parameters. */ export interface PrivateEndpointConnectionsListOptionalParams extends coreClient.OperationOptions {} @@ -3291,6 +4062,34 @@ export interface ResolvePrivateLinkServiceIdPostOptionalParams /** Contains response data for the post operation. */ export type ResolvePrivateLinkServiceIdPostResponse = PrivateLinkResource; +/** Optional parameters. */ +export interface OperationStatusResultListOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the list operation. */ +export type OperationStatusResultListResponse = OperationStatusResultList; + +/** Optional parameters. */ +export interface OperationStatusResultGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type OperationStatusResultGetResponse = OperationStatusResult; + +/** Optional parameters. */ +export interface OperationStatusResultGetByAgentPoolOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the getByAgentPool operation. */ +export type OperationStatusResultGetByAgentPoolResponse = OperationStatusResult; + +/** Optional parameters. */ +export interface OperationStatusResultListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type OperationStatusResultListNextResponse = OperationStatusResultList; + /** Optional parameters. */ export interface SnapshotsListOptionalParams extends coreClient.OperationOptions {} @@ -3344,6 +4143,73 @@ export interface SnapshotsListByResourceGroupNextOptionalParams /** Contains response data for the listByResourceGroupNext operation. */ export type SnapshotsListByResourceGroupNextResponse = SnapshotListResult; +/** Optional parameters. */ +export interface ManagedClusterSnapshotsListOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the list operation. */ +export type ManagedClusterSnapshotsListResponse = ManagedClusterSnapshotListResult; + +/** Optional parameters. */ +export interface ManagedClusterSnapshotsListByResourceGroupOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByResourceGroup operation. */ +export type ManagedClusterSnapshotsListByResourceGroupResponse = ManagedClusterSnapshotListResult; + +/** Optional parameters. */ +export interface ManagedClusterSnapshotsGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type ManagedClusterSnapshotsGetResponse = ManagedClusterSnapshot; + +/** Optional parameters. */ +export interface ManagedClusterSnapshotsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the createOrUpdate operation. */ +export type ManagedClusterSnapshotsCreateOrUpdateResponse = ManagedClusterSnapshot; + +/** Optional parameters. */ +export interface ManagedClusterSnapshotsUpdateTagsOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the updateTags operation. */ +export type ManagedClusterSnapshotsUpdateTagsResponse = ManagedClusterSnapshot; + +/** Optional parameters. */ +export interface ManagedClusterSnapshotsDeleteOptionalParams + extends coreClient.OperationOptions {} + +/** Optional parameters. */ +export interface ManagedClusterSnapshotsListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type ManagedClusterSnapshotsListNextResponse = ManagedClusterSnapshotListResult; + +/** Optional parameters. */ +export interface ManagedClusterSnapshotsListByResourceGroupNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByResourceGroupNext operation. */ +export type ManagedClusterSnapshotsListByResourceGroupNextResponse = ManagedClusterSnapshotListResult; + +/** Optional parameters. */ +export interface TrustedAccessRolesListOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the list operation. */ +export type TrustedAccessRolesListResponse = TrustedAccessRoleListResult; + +/** Optional parameters. */ +export interface TrustedAccessRolesListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type TrustedAccessRolesListNextResponse = TrustedAccessRoleListResult; + /** Optional parameters. */ export interface TrustedAccessRoleBindingsListOptionalParams extends coreClient.OperationOptions {} @@ -3389,20 +4255,6 @@ export interface TrustedAccessRoleBindingsListNextOptionalParams /** Contains response data for the listNext operation. */ export type TrustedAccessRoleBindingsListNextResponse = TrustedAccessRoleBindingListResult; -/** Optional parameters. */ -export interface TrustedAccessRolesListOptionalParams - extends coreClient.OperationOptions {} - -/** Contains response data for the list operation. */ -export type TrustedAccessRolesListResponse = TrustedAccessRoleListResult; - -/** Optional parameters. */ -export interface TrustedAccessRolesListNextOptionalParams - extends coreClient.OperationOptions {} - -/** Contains response data for the listNext operation. */ -export type TrustedAccessRolesListNextResponse = TrustedAccessRoleListResult; - /** Optional parameters. */ export interface ContainerServiceClientOptionalParams extends coreClient.ServiceClientOptions { diff --git a/sdk/containerservice/arm-containerservice/src/models/mappers.ts b/sdk/containerservice/arm-containerservice/src/models/mappers.ts index b8fd0e79c650..cb1992417d2b 100644 --- a/sdk/containerservice/arm-containerservice/src/models/mappers.ts +++ b/sdk/containerservice/arm-containerservice/src/models/mappers.ts @@ -490,6 +490,21 @@ export const PowerState: coreClient.CompositeMapper = { } }; +export const CreationData: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "CreationData", + modelProperties: { + sourceResourceId: { + serializedName: "sourceResourceId", + type: { + name: "String" + } + } + } + } +}; + export const ManagedClusterAgentPoolProfileProperties: coreClient.CompositeMapper = { type: { name: "Composite", @@ -535,6 +550,12 @@ export const ManagedClusterAgentPoolProfileProperties: coreClient.CompositeMappe name: "String" } }, + messageOfTheDay: { + serializedName: "messageOfTheDay", + type: { + name: "String" + } + }, vnetSubnetID: { serializedName: "vnetSubnetID", type: { @@ -660,6 +681,12 @@ export const ManagedClusterAgentPoolProfileProperties: coreClient.CompositeMappe name: "Boolean" } }, + enableCustomCATrust: { + serializedName: "enableCustomCATrust", + type: { + name: "Boolean" + } + }, nodePublicIPPrefixID: { serializedName: "nodePublicIPPrefixID", type: { @@ -712,6 +739,17 @@ export const ManagedClusterAgentPoolProfileProperties: coreClient.CompositeMappe } } }, + nodeInitializationTaints: { + serializedName: "nodeInitializationTaints", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, proximityPlacementGroupID: { serializedName: "proximityPlacementGroupID", type: { @@ -763,11 +801,71 @@ export const ManagedClusterAgentPoolProfileProperties: coreClient.CompositeMappe className: "CreationData" } }, + capacityReservationGroupID: { + serializedName: "capacityReservationGroupID", + type: { + name: "String" + } + }, hostGroupID: { serializedName: "hostGroupID", type: { name: "String" } + }, + windowsProfile: { + serializedName: "windowsProfile", + type: { + name: "Composite", + className: "AgentPoolWindowsProfile" + } + }, + networkProfile: { + serializedName: "networkProfile", + type: { + name: "Composite", + className: "AgentPoolNetworkProfile" + } + }, + securityProfile: { + serializedName: "securityProfile", + type: { + name: "Composite", + className: "AgentPoolSecurityProfile" + } + }, + gpuProfile: { + serializedName: "gpuProfile", + type: { + name: "Composite", + className: "AgentPoolGPUProfile" + } + }, + artifactStreamingProfile: { + serializedName: "artifactStreamingProfile", + type: { + name: "Composite", + className: "AgentPoolArtifactStreamingProfile" + } + }, + virtualMachinesProfile: { + serializedName: "virtualMachinesProfile", + type: { + name: "Composite", + className: "VirtualMachinesProfile" + } + }, + virtualMachineNodesStatus: { + serializedName: "virtualMachineNodesStatus", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VirtualMachineNodes" + } + } + } } } } @@ -793,6 +891,16 @@ export const AgentPoolUpgradeSettings: coreClient.CompositeMapper = { type: { name: "Number" } + }, + nodeSoakDurationInMinutes: { + constraints: { + InclusiveMaximum: 30, + InclusiveMinimum: 0 + }, + serializedName: "nodeSoakDurationInMinutes", + type: { + name: "Number" + } } } } @@ -1104,61 +1212,57 @@ export const SysctlConfig: coreClient.CompositeMapper = { } }; -export const CreationData: coreClient.CompositeMapper = { +export const AgentPoolWindowsProfile: coreClient.CompositeMapper = { type: { name: "Composite", - className: "CreationData", + className: "AgentPoolWindowsProfile", modelProperties: { - sourceResourceId: { - serializedName: "sourceResourceId", + disableOutboundNat: { + serializedName: "disableOutboundNat", type: { - name: "String" + name: "Boolean" } } } } }; -export const ContainerServiceLinuxProfile: coreClient.CompositeMapper = { +export const AgentPoolNetworkProfile: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ContainerServiceLinuxProfile", + className: "AgentPoolNetworkProfile", modelProperties: { - adminUsername: { - constraints: { - Pattern: new RegExp("^[A-Za-z][-A-Za-z0-9_]*$") - }, - serializedName: "adminUsername", - required: true, + nodePublicIPTags: { + serializedName: "nodePublicIPTags", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "IPTag" + } + } } }, - ssh: { - serializedName: "ssh", + allowedHostPorts: { + serializedName: "allowedHostPorts", type: { - name: "Composite", - className: "ContainerServiceSshConfiguration" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "PortRange" + } + } } - } - } - } -}; - -export const ContainerServiceSshConfiguration: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ContainerServiceSshConfiguration", - modelProperties: { - publicKeys: { - serializedName: "publicKeys", - required: true, + }, + applicationSecurityGroups: { + serializedName: "applicationSecurityGroups", type: { name: "Sequence", element: { type: { - name: "Composite", - className: "ContainerServiceSshPublicKey" + name: "String" } } } @@ -1167,14 +1271,19 @@ export const ContainerServiceSshConfiguration: coreClient.CompositeMapper = { } }; -export const ContainerServiceSshPublicKey: coreClient.CompositeMapper = { +export const IPTag: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ContainerServiceSshPublicKey", + className: "IPTag", modelProperties: { - keyData: { - serializedName: "keyData", - required: true, + ipTagType: { + serializedName: "ipTagType", + type: { + name: "String" + } + }, + tag: { + serializedName: "tag", type: { name: "String" } @@ -1183,188 +1292,432 @@ export const ContainerServiceSshPublicKey: coreClient.CompositeMapper = { } }; -export const ManagedClusterWindowsProfile: coreClient.CompositeMapper = { +export const PortRange: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ManagedClusterWindowsProfile", + className: "PortRange", modelProperties: { - adminUsername: { - serializedName: "adminUsername", - required: true, + portStart: { + constraints: { + InclusiveMaximum: 65535, + InclusiveMinimum: 1 + }, + serializedName: "portStart", type: { - name: "String" + name: "Number" } }, - adminPassword: { - serializedName: "adminPassword", + portEnd: { + constraints: { + InclusiveMaximum: 65535, + InclusiveMinimum: 1 + }, + serializedName: "portEnd", type: { - name: "String" + name: "Number" } }, - licenseType: { - serializedName: "licenseType", + protocol: { + serializedName: "protocol", type: { name: "String" } - }, - enableCSIProxy: { - serializedName: "enableCSIProxy", - type: { - name: "Boolean" - } - }, - gmsaProfile: { - serializedName: "gmsaProfile", - type: { - name: "Composite", - className: "WindowsGmsaProfile" - } } } } }; -export const WindowsGmsaProfile: coreClient.CompositeMapper = { +export const AgentPoolSecurityProfile: coreClient.CompositeMapper = { type: { name: "Composite", - className: "WindowsGmsaProfile", + className: "AgentPoolSecurityProfile", modelProperties: { - enabled: { - serializedName: "enabled", + sshAccess: { + serializedName: "sshAccess", type: { - name: "Boolean" + name: "String" } }, - dnsServer: { - serializedName: "dnsServer", + enableVtpm: { + serializedName: "enableVTPM", type: { - name: "String" + name: "Boolean" } }, - rootDomainName: { - serializedName: "rootDomainName", + enableSecureBoot: { + serializedName: "enableSecureBoot", type: { - name: "String" + name: "Boolean" } } } } }; -export const ManagedClusterServicePrincipalProfile: coreClient.CompositeMapper = { +export const AgentPoolGPUProfile: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ManagedClusterServicePrincipalProfile", + className: "AgentPoolGPUProfile", modelProperties: { - clientId: { - serializedName: "clientId", - required: true, - type: { - name: "String" - } - }, - secret: { - serializedName: "secret", + installGPUDriver: { + serializedName: "installGPUDriver", type: { - name: "String" + name: "Boolean" } } } } }; -export const ManagedClusterAddonProfile: coreClient.CompositeMapper = { +export const AgentPoolArtifactStreamingProfile: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ManagedClusterAddonProfile", + className: "AgentPoolArtifactStreamingProfile", modelProperties: { enabled: { serializedName: "enabled", - required: true, type: { name: "Boolean" } - }, - config: { - serializedName: "config", - type: { - name: "Dictionary", - value: { type: { name: "String" } } - } - }, - identity: { - serializedName: "identity", - type: { - name: "Composite", - className: "ManagedClusterAddonProfileIdentity" - } } } } }; -export const UserAssignedIdentity: coreClient.CompositeMapper = { +export const VirtualMachinesProfile: coreClient.CompositeMapper = { type: { name: "Composite", - className: "UserAssignedIdentity", + className: "VirtualMachinesProfile", modelProperties: { - resourceId: { - serializedName: "resourceId", - type: { - name: "String" - } - }, - clientId: { - serializedName: "clientId", + scale: { + serializedName: "scale", type: { - name: "String" - } - }, - objectId: { - serializedName: "objectId", - type: { - name: "String" + name: "Composite", + className: "ScaleProfile" } } } } }; -export const ManagedClusterPodIdentityProfile: coreClient.CompositeMapper = { +export const ScaleProfile: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ManagedClusterPodIdentityProfile", + className: "ScaleProfile", modelProperties: { - enabled: { - serializedName: "enabled", - type: { - name: "Boolean" - } - }, - allowNetworkPluginKubenet: { - serializedName: "allowNetworkPluginKubenet", - type: { - name: "Boolean" - } - }, - userAssignedIdentities: { - serializedName: "userAssignedIdentities", + manual: { + serializedName: "manual", type: { name: "Sequence", element: { type: { name: "Composite", - className: "ManagedClusterPodIdentity" + className: "ManualScaleProfile" } } } - }, - userAssignedIdentityExceptions: { - serializedName: "userAssignedIdentityExceptions", - type: { - name: "Sequence", - element: { - type: { + } + } + } +}; + +export const ManualScaleProfile: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ManualScaleProfile", + modelProperties: { + sizes: { + serializedName: "sizes", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + count: { + constraints: { + InclusiveMaximum: 1000, + InclusiveMinimum: 0 + }, + serializedName: "count", + type: { + name: "Number" + } + } + } + } +}; + +export const VirtualMachineNodes: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "VirtualMachineNodes", + modelProperties: { + size: { + serializedName: "size", + type: { + name: "String" + } + }, + count: { + serializedName: "count", + type: { + name: "Number" + } + } + } + } +}; + +export const ContainerServiceLinuxProfile: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ContainerServiceLinuxProfile", + modelProperties: { + adminUsername: { + constraints: { + Pattern: new RegExp("^[A-Za-z][-A-Za-z0-9_]*$") + }, + serializedName: "adminUsername", + required: true, + type: { + name: "String" + } + }, + ssh: { + serializedName: "ssh", + type: { + name: "Composite", + className: "ContainerServiceSshConfiguration" + } + } + } + } +}; + +export const ContainerServiceSshConfiguration: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ContainerServiceSshConfiguration", + modelProperties: { + publicKeys: { + serializedName: "publicKeys", + required: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ContainerServiceSshPublicKey" + } + } + } + } + } + } +}; + +export const ContainerServiceSshPublicKey: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ContainerServiceSshPublicKey", + modelProperties: { + keyData: { + serializedName: "keyData", + required: true, + type: { + name: "String" + } + } + } + } +}; + +export const ManagedClusterWindowsProfile: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ManagedClusterWindowsProfile", + modelProperties: { + adminUsername: { + serializedName: "adminUsername", + required: true, + type: { + name: "String" + } + }, + adminPassword: { + serializedName: "adminPassword", + type: { + name: "String" + } + }, + licenseType: { + serializedName: "licenseType", + type: { + name: "String" + } + }, + enableCSIProxy: { + serializedName: "enableCSIProxy", + type: { + name: "Boolean" + } + }, + gmsaProfile: { + serializedName: "gmsaProfile", + type: { + name: "Composite", + className: "WindowsGmsaProfile" + } + } + } + } +}; + +export const WindowsGmsaProfile: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "WindowsGmsaProfile", + modelProperties: { + enabled: { + serializedName: "enabled", + type: { + name: "Boolean" + } + }, + dnsServer: { + serializedName: "dnsServer", + type: { + name: "String" + } + }, + rootDomainName: { + serializedName: "rootDomainName", + type: { + name: "String" + } + } + } + } +}; + +export const ManagedClusterServicePrincipalProfile: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ManagedClusterServicePrincipalProfile", + modelProperties: { + clientId: { + serializedName: "clientId", + required: true, + type: { + name: "String" + } + }, + secret: { + serializedName: "secret", + type: { + name: "String" + } + } + } + } +}; + +export const ManagedClusterAddonProfile: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ManagedClusterAddonProfile", + modelProperties: { + enabled: { + serializedName: "enabled", + required: true, + type: { + name: "Boolean" + } + }, + config: { + serializedName: "config", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + }, + identity: { + serializedName: "identity", + type: { + name: "Composite", + className: "ManagedClusterAddonProfileIdentity" + } + } + } + } +}; + +export const UserAssignedIdentity: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "UserAssignedIdentity", + modelProperties: { + resourceId: { + serializedName: "resourceId", + type: { + name: "String" + } + }, + clientId: { + serializedName: "clientId", + type: { + name: "String" + } + }, + objectId: { + serializedName: "objectId", + type: { + name: "String" + } + } + } + } +}; + +export const ManagedClusterPodIdentityProfile: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ManagedClusterPodIdentityProfile", + modelProperties: { + enabled: { + serializedName: "enabled", + type: { + name: "Boolean" + } + }, + allowNetworkPluginKubenet: { + serializedName: "allowNetworkPluginKubenet", + type: { + name: "Boolean" + } + }, + userAssignedIdentities: { + serializedName: "userAssignedIdentities", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ManagedClusterPodIdentity" + } + } + } + }, + userAssignedIdentityExceptions: { + serializedName: "userAssignedIdentityExceptions", + type: { + name: "Sequence", + element: { + type: { name: "Composite", className: "ManagedClusterPodIdentityException" } @@ -1549,6 +1902,21 @@ export const ManagedClusterOidcIssuerProfile: coreClient.CompositeMapper = { } }; +export const ManagedClusterNodeResourceGroupProfile: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ManagedClusterNodeResourceGroupProfile", + modelProperties: { + restrictionLevel: { + serializedName: "restrictionLevel", + type: { + name: "String" + } + } + } + } +}; + export const ContainerServiceNetworkProfile: coreClient.CompositeMapper = { type: { name: "Composite", @@ -1680,6 +2048,20 @@ export const ContainerServiceNetworkProfile: coreClient.CompositeMapper = { } } } + }, + kubeProxyConfig: { + serializedName: "kubeProxyConfig", + type: { + name: "Composite", + className: "ContainerServiceNetworkProfileKubeProxyConfig" + } + }, + monitoring: { + serializedName: "monitoring", + type: { + name: "Composite", + className: "NetworkMonitoring" + } } } } @@ -1750,6 +2132,13 @@ export const ManagedClusterLoadBalancerProfile: coreClient.CompositeMapper = { type: { name: "Boolean" } + }, + backendPoolType: { + defaultValue: "NodeIPConfiguration", + serializedName: "backendPoolType", + type: { + name: "String" + } } } } @@ -1882,20 +2271,96 @@ export const ManagedClusterNATGatewayProfile: coreClient.CompositeMapper = { } }; -export const ManagedClusterManagedOutboundIPProfile: coreClient.CompositeMapper = { +export const ManagedClusterManagedOutboundIPProfile: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ManagedClusterManagedOutboundIPProfile", + modelProperties: { + count: { + defaultValue: 1, + constraints: { + InclusiveMaximum: 16, + InclusiveMinimum: 1 + }, + serializedName: "count", + type: { + name: "Number" + } + } + } + } +}; + +export const ContainerServiceNetworkProfileKubeProxyConfig: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ContainerServiceNetworkProfileKubeProxyConfig", + modelProperties: { + enabled: { + serializedName: "enabled", + type: { + name: "Boolean" + } + }, + mode: { + serializedName: "mode", + type: { + name: "String" + } + }, + ipvsConfig: { + serializedName: "ipvsConfig", + type: { + name: "Composite", + className: "ContainerServiceNetworkProfileKubeProxyConfigIpvsConfig" + } + } + } + } +}; + +export const ContainerServiceNetworkProfileKubeProxyConfigIpvsConfig: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ContainerServiceNetworkProfileKubeProxyConfigIpvsConfig", + modelProperties: { + scheduler: { + serializedName: "scheduler", + type: { + name: "String" + } + }, + tcpTimeoutSeconds: { + serializedName: "tcpTimeoutSeconds", + type: { + name: "Number" + } + }, + tcpFinTimeoutSeconds: { + serializedName: "tcpFinTimeoutSeconds", + type: { + name: "Number" + } + }, + udpTimeoutSeconds: { + serializedName: "udpTimeoutSeconds", + type: { + name: "Number" + } + } + } + } +}; + +export const NetworkMonitoring: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ManagedClusterManagedOutboundIPProfile", + className: "NetworkMonitoring", modelProperties: { - count: { - defaultValue: 1, - constraints: { - InclusiveMaximum: 16, - InclusiveMinimum: 1 - }, - serializedName: "count", + enabled: { + serializedName: "enabled", type: { - name: "Number" + name: "Boolean" } } } @@ -2027,6 +2492,24 @@ export const ManagedClusterPropertiesAutoScalerProfile: coreClient.CompositeMapp name: "String" } }, + daemonsetEvictionForEmptyNodes: { + serializedName: "daemonset-eviction-for-empty-nodes", + type: { + name: "Boolean" + } + }, + daemonsetEvictionForOccupiedNodes: { + serializedName: "daemonset-eviction-for-occupied-nodes", + type: { + name: "Boolean" + } + }, + ignoreDaemonsetsUtilization: { + serializedName: "ignore-daemonsets-utilization", + type: { + name: "Boolean" + } + }, expander: { serializedName: "expander", type: { @@ -2166,6 +2649,18 @@ export const ManagedClusterAPIServerAccessProfile: coreClient.CompositeMapper = type: { name: "Boolean" } + }, + enableVnetIntegration: { + serializedName: "enableVnetIntegration", + type: { + name: "Boolean" + } + }, + subnetId: { + serializedName: "subnetId", + type: { + name: "String" + } } } } @@ -2250,6 +2745,18 @@ export const ManagedClusterHttpProxyConfig: coreClient.CompositeMapper = { } } }, + effectiveNoProxy: { + serializedName: "effectiveNoProxy", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, trustedCa: { serializedName: "trustedCa", type: { @@ -2292,6 +2799,34 @@ export const ManagedClusterSecurityProfile: coreClient.CompositeMapper = { name: "Composite", className: "ManagedClusterSecurityProfileImageCleaner" } + }, + imageIntegrity: { + serializedName: "imageIntegrity", + type: { + name: "Composite", + className: "ManagedClusterSecurityProfileImageIntegrity" + } + }, + nodeRestriction: { + serializedName: "nodeRestriction", + type: { + name: "Composite", + className: "ManagedClusterSecurityProfileNodeRestriction" + } + }, + customCATrustCertificates: { + constraints: { + MaxItems: 10 + }, + serializedName: "customCATrustCertificates", + type: { + name: "Sequence", + element: { + type: { + name: "ByteArray" + } + } + } } } } @@ -2404,6 +2939,36 @@ export const ManagedClusterSecurityProfileImageCleaner: coreClient.CompositeMapp } }; +export const ManagedClusterSecurityProfileImageIntegrity: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ManagedClusterSecurityProfileImageIntegrity", + modelProperties: { + enabled: { + serializedName: "enabled", + type: { + name: "Boolean" + } + } + } + } +}; + +export const ManagedClusterSecurityProfileNodeRestriction: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ManagedClusterSecurityProfileNodeRestriction", + modelProperties: { + enabled: { + serializedName: "enabled", + type: { + name: "Boolean" + } + } + } + } +}; + export const ManagedClusterStorageProfile: coreClient.CompositeMapper = { type: { name: "Composite", @@ -2451,6 +3016,12 @@ export const ManagedClusterStorageProfileDiskCSIDriver: coreClient.CompositeMapp type: { name: "Boolean" } + }, + version: { + serializedName: "version", + type: { + name: "String" + } } } } @@ -2501,6 +3072,58 @@ export const ManagedClusterStorageProfileBlobCSIDriver: coreClient.CompositeMapp } }; +export const ManagedClusterIngressProfile: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ManagedClusterIngressProfile", + modelProperties: { + webAppRouting: { + serializedName: "webAppRouting", + type: { + name: "Composite", + className: "ManagedClusterIngressProfileWebAppRouting" + } + } + } + } +}; + +export const ManagedClusterIngressProfileWebAppRouting: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ManagedClusterIngressProfileWebAppRouting", + modelProperties: { + enabled: { + serializedName: "enabled", + type: { + name: "Boolean" + } + }, + dnsZoneResourceIds: { + constraints: { + MaxItems: 5 + }, + serializedName: "dnsZoneResourceIds", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + identity: { + serializedName: "identity", + type: { + name: "Composite", + className: "UserAssignedIdentity" + } + } + } + } +}; + export const ManagedClusterWorkloadAutoScalerProfile: coreClient.CompositeMapper = { type: { name: "Composite", @@ -2553,6 +3176,13 @@ export const ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler: coreC type: { name: "Boolean" } + }, + addonAutoscaling: { + defaultValue: "Disabled", + serializedName: "addonAutoscaling", + type: { + name: "String" + } } } } @@ -2569,6 +3199,13 @@ export const ManagedClusterAzureMonitorProfile: coreClient.CompositeMapper = { name: "Composite", className: "ManagedClusterAzureMonitorProfileMetrics" } + }, + logs: { + serializedName: "logs", + type: { + name: "Composite", + className: "ManagedClusterAzureMonitorProfileLogs" + } } } } @@ -2592,6 +3229,14 @@ export const ManagedClusterAzureMonitorProfileMetrics: coreClient.CompositeMappe name: "Composite", className: "ManagedClusterAzureMonitorProfileKubeStateMetrics" } + }, + appMonitoringOpenTelemetryMetrics: { + serializedName: "appMonitoringOpenTelemetryMetrics", + type: { + name: "Composite", + className: + "ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics" + } } } } @@ -2608,11 +3253,153 @@ export const ManagedClusterAzureMonitorProfileKubeStateMetrics: coreClient.Compo name: "String" } }, - metricAnnotationsAllowList: { - serializedName: "metricAnnotationsAllowList", + metricAnnotationsAllowList: { + serializedName: "metricAnnotationsAllowList", + type: { + name: "String" + } + } + } + } +}; + +export const ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: + "ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics", + modelProperties: { + enabled: { + serializedName: "enabled", + type: { + name: "Boolean" + } + } + } + } +}; + +export const ManagedClusterAzureMonitorProfileLogs: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ManagedClusterAzureMonitorProfileLogs", + modelProperties: { + containerInsights: { + serializedName: "containerInsights", + type: { + name: "Composite", + className: "ManagedClusterAzureMonitorProfileContainerInsights" + } + }, + appMonitoring: { + serializedName: "appMonitoring", + type: { + name: "Composite", + className: "ManagedClusterAzureMonitorProfileAppMonitoring" + } + } + } + } +}; + +export const ManagedClusterAzureMonitorProfileContainerInsights: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ManagedClusterAzureMonitorProfileContainerInsights", + modelProperties: { + enabled: { + serializedName: "enabled", + type: { + name: "Boolean" + } + }, + logAnalyticsWorkspaceResourceId: { + serializedName: "logAnalyticsWorkspaceResourceId", + type: { + name: "String" + } + }, + windowsHostLogs: { + serializedName: "windowsHostLogs", + type: { + name: "Composite", + className: "ManagedClusterAzureMonitorProfileWindowsHostLogs" + } + } + } + } +}; + +export const ManagedClusterAzureMonitorProfileWindowsHostLogs: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ManagedClusterAzureMonitorProfileWindowsHostLogs", + modelProperties: { + enabled: { + serializedName: "enabled", + type: { + name: "Boolean" + } + } + } + } +}; + +export const ManagedClusterAzureMonitorProfileAppMonitoring: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ManagedClusterAzureMonitorProfileAppMonitoring", + modelProperties: { + enabled: { + serializedName: "enabled", + type: { + name: "Boolean" + } + } + } + } +}; + +export const GuardrailsProfile: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "GuardrailsProfile", + modelProperties: { + systemExcludedNamespaces: { + serializedName: "systemExcludedNamespaces", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + version: { + serializedName: "version", + type: { + name: "String" + } + }, + level: { + serializedName: "level", + required: true, type: { name: "String" } + }, + excludedNamespaces: { + serializedName: "excludedNamespaces", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } } } } @@ -2813,6 +3600,67 @@ export const IstioPluginCertificateAuthority: coreClient.CompositeMapper = { } }; +export const ManagedClusterMetricsProfile: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ManagedClusterMetricsProfile", + modelProperties: { + costAnalysis: { + serializedName: "costAnalysis", + type: { + name: "Composite", + className: "ManagedClusterCostAnalysis" + } + } + } + } +}; + +export const ManagedClusterCostAnalysis: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ManagedClusterCostAnalysis", + modelProperties: { + enabled: { + serializedName: "enabled", + type: { + name: "Boolean" + } + } + } + } +}; + +export const ManagedClusterAIToolchainOperatorProfile: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ManagedClusterAIToolchainOperatorProfile", + modelProperties: { + enabled: { + serializedName: "enabled", + type: { + name: "Boolean" + } + } + } + } +}; + +export const ManagedClusterNodeProvisioningProfile: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ManagedClusterNodeProvisioningProfile", + modelProperties: { + mode: { + serializedName: "mode", + type: { + name: "String" + } + } + } + } +}; + export const Resource: coreClient.CompositeMapper = { type: { name: "Composite", @@ -3473,54 +4321,267 @@ export const AgentPoolUpgradeProfile: coreClient.CompositeMapper = { serializedName: "properties.kubernetesVersion", required: true, type: { - name: "String" + name: "String" + } + }, + osType: { + defaultValue: "Linux", + serializedName: "properties.osType", + required: true, + type: { + name: "String" + } + }, + upgrades: { + serializedName: "properties.upgrades", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AgentPoolUpgradeProfilePropertiesUpgradesItem" + } + } + } + }, + latestNodeImageVersion: { + serializedName: "properties.latestNodeImageVersion", + type: { + name: "String" + } + } + } + } +}; + +export const AgentPoolUpgradeProfilePropertiesUpgradesItem: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AgentPoolUpgradeProfilePropertiesUpgradesItem", + modelProperties: { + kubernetesVersion: { + serializedName: "kubernetesVersion", + type: { + name: "String" + } + }, + isPreview: { + serializedName: "isPreview", + type: { + name: "Boolean" + } + } + } + } +}; + +export const AgentPoolDeleteMachinesParameter: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AgentPoolDeleteMachinesParameter", + modelProperties: { + machineNames: { + serializedName: "machineNames", + required: true, + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const ErrorResponse: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ErrorResponse", + modelProperties: { + error: { + serializedName: "error", + type: { + name: "Composite", + className: "ErrorDetail" + } + } + } + } +}; + +export const ErrorDetail: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ErrorDetail", + modelProperties: { + code: { + serializedName: "code", + readOnly: true, + type: { + name: "String" + } + }, + message: { + serializedName: "message", + readOnly: true, + type: { + name: "String" + } + }, + target: { + serializedName: "target", + readOnly: true, + type: { + name: "String" + } + }, + details: { + serializedName: "details", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ErrorDetail" + } + } + } + }, + additionalInfo: { + serializedName: "additionalInfo", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ErrorAdditionalInfo" + } + } + } + } + } + } +}; + +export const ErrorAdditionalInfo: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ErrorAdditionalInfo", + modelProperties: { + type: { + serializedName: "type", + readOnly: true, + type: { + name: "String" + } + }, + info: { + serializedName: "info", + readOnly: true, + type: { + name: "Dictionary", + value: { type: { name: "any" } } + } + } + } + } +}; + +export const MachineListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "MachineListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Machine" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const MachineProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "MachineProperties", + modelProperties: { + network: { + serializedName: "network", + type: { + name: "Composite", + className: "MachineNetworkProperties" } }, - osType: { - defaultValue: "Linux", - serializedName: "properties.osType", - required: true, + resourceId: { + serializedName: "resourceId", + readOnly: true, type: { name: "String" } - }, - upgrades: { - serializedName: "properties.upgrades", + } + } + } +}; + +export const MachineNetworkProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "MachineNetworkProperties", + modelProperties: { + ipAddresses: { + serializedName: "ipAddresses", + readOnly: true, type: { name: "Sequence", element: { type: { name: "Composite", - className: "AgentPoolUpgradeProfilePropertiesUpgradesItem" + className: "MachineIpAddress" } } } - }, - latestNodeImageVersion: { - serializedName: "properties.latestNodeImageVersion", - type: { - name: "String" - } } } } }; -export const AgentPoolUpgradeProfilePropertiesUpgradesItem: coreClient.CompositeMapper = { +export const MachineIpAddress: coreClient.CompositeMapper = { type: { name: "Composite", - className: "AgentPoolUpgradeProfilePropertiesUpgradesItem", + className: "MachineIpAddress", modelProperties: { - kubernetesVersion: { - serializedName: "kubernetesVersion", + ip: { + serializedName: "ip", + readOnly: true, type: { name: "String" } }, - isPreview: { - serializedName: "isPreview", + family: { + serializedName: "family", + readOnly: true, type: { - name: "Boolean" + name: "String" } } } @@ -3912,14 +4973,250 @@ export const EndpointDetail: coreClient.CompositeMapper = { name: "Number" } }, - protocol: { - serializedName: "protocol", + protocol: { + serializedName: "protocol", + type: { + name: "String" + } + }, + description: { + serializedName: "description", + type: { + name: "String" + } + } + } + } +}; + +export const OperationStatusResultList: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "OperationStatusResultList", + modelProperties: { + value: { + serializedName: "value", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "OperationStatusResult" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const OperationStatusResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "OperationStatusResult", + modelProperties: { + id: { + serializedName: "id", + type: { + name: "String" + } + }, + resourceId: { + serializedName: "resourceId", + readOnly: true, + type: { + name: "String" + } + }, + name: { + serializedName: "name", + type: { + name: "String" + } + }, + status: { + serializedName: "status", + required: true, + type: { + name: "String" + } + }, + percentComplete: { + constraints: { + InclusiveMaximum: 100, + InclusiveMinimum: 0 + }, + serializedName: "percentComplete", + type: { + name: "Number" + } + }, + startTime: { + serializedName: "startTime", + type: { + name: "DateTime" + } + }, + endTime: { + serializedName: "endTime", + type: { + name: "DateTime" + } + }, + operations: { + serializedName: "operations", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "OperationStatusResult" + } + } + } + }, + error: { + serializedName: "error", + type: { + name: "Composite", + className: "ErrorDetail" + } + } + } + } +}; + +export const SnapshotListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SnapshotListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Snapshot" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const ManagedClusterSnapshotListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ManagedClusterSnapshotListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ManagedClusterSnapshot" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const ManagedClusterPropertiesForSnapshot: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ManagedClusterPropertiesForSnapshot", + modelProperties: { + kubernetesVersion: { + serializedName: "kubernetesVersion", + type: { + name: "String" + } + }, + sku: { + serializedName: "sku", + type: { + name: "Composite", + className: "ManagedClusterSKU" + } + }, + enableRbac: { + serializedName: "enableRbac", + type: { + name: "Boolean" + } + }, + networkProfile: { + serializedName: "networkProfile", + type: { + name: "Composite", + className: "NetworkProfileForSnapshot" + } + } + } + } +}; + +export const NetworkProfileForSnapshot: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "NetworkProfileForSnapshot", + modelProperties: { + networkPlugin: { + defaultValue: "kubenet", + serializedName: "networkPlugin", + type: { + name: "String" + } + }, + networkPluginMode: { + serializedName: "networkPluginMode", + type: { + name: "String" + } + }, + networkPolicy: { + serializedName: "networkPolicy", + type: { + name: "String" + } + }, + networkMode: { + serializedName: "networkMode", type: { name: "String" } }, - description: { - serializedName: "description", + loadBalancerSku: { + serializedName: "loadBalancerSku", type: { name: "String" } @@ -3928,19 +5225,20 @@ export const EndpointDetail: coreClient.CompositeMapper = { } }; -export const SnapshotListResult: coreClient.CompositeMapper = { +export const TrustedAccessRoleListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "SnapshotListResult", + className: "TrustedAccessRoleListResult", modelProperties: { value: { serializedName: "value", + readOnly: true, type: { name: "Sequence", element: { type: { name: "Composite", - className: "Snapshot" + className: "TrustedAccessRole" } } } @@ -3956,47 +5254,34 @@ export const SnapshotListResult: coreClient.CompositeMapper = { } }; -export const MeshRevisionProfileList: coreClient.CompositeMapper = { +export const TrustedAccessRole: coreClient.CompositeMapper = { type: { name: "Composite", - className: "MeshRevisionProfileList", + className: "TrustedAccessRole", modelProperties: { - value: { - serializedName: "value", + sourceResourceType: { + serializedName: "sourceResourceType", + readOnly: true, type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "MeshRevisionProfile" - } - } + name: "String" } }, - nextLink: { - serializedName: "nextLink", + name: { + serializedName: "name", readOnly: true, type: { name: "String" } - } - } - } -}; - -export const MeshRevisionProfileProperties: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "MeshRevisionProfileProperties", - modelProperties: { - meshRevisions: { - serializedName: "meshRevisions", + }, + rules: { + serializedName: "rules", + readOnly: true, type: { name: "Sequence", element: { type: { name: "Composite", - className: "MeshRevision" + className: "TrustedAccessRoleRule" } } } @@ -4005,19 +5290,14 @@ export const MeshRevisionProfileProperties: coreClient.CompositeMapper = { } }; -export const MeshRevision: coreClient.CompositeMapper = { +export const TrustedAccessRoleRule: coreClient.CompositeMapper = { type: { name: "Composite", - className: "MeshRevision", + className: "TrustedAccessRoleRule", modelProperties: { - revision: { - serializedName: "revision", - type: { - name: "String" - } - }, - upgrades: { - serializedName: "upgrades", + verbs: { + serializedName: "verbs", + readOnly: true, type: { name: "Sequence", element: { @@ -4027,35 +5307,21 @@ export const MeshRevision: coreClient.CompositeMapper = { } } }, - compatibleWith: { - serializedName: "compatibleWith", + apiGroups: { + serializedName: "apiGroups", + readOnly: true, type: { name: "Sequence", element: { type: { - name: "Composite", - className: "CompatibleVersions" + name: "String" } } } - } - } - } -}; - -export const CompatibleVersions: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "CompatibleVersions", - modelProperties: { - name: { - serializedName: "name", - type: { - name: "String" - } }, - versions: { - serializedName: "versions", + resources: { + serializedName: "resources", + readOnly: true, type: { name: "Sequence", element: { @@ -4064,33 +5330,29 @@ export const CompatibleVersions: coreClient.CompositeMapper = { } } } - } - } - } -}; - -export const MeshUpgradeProfileList: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "MeshUpgradeProfileList", - modelProperties: { - value: { - serializedName: "value", + }, + resourceNames: { + serializedName: "resourceNames", + readOnly: true, type: { name: "Sequence", element: { type: { - name: "Composite", - className: "MeshUpgradeProfile" + name: "String" } } } }, - nextLink: { - serializedName: "nextLink", + nonResourceURLs: { + serializedName: "nonResourceURLs", readOnly: true, type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "String" + } + } } } } @@ -4125,116 +5387,70 @@ export const TrustedAccessRoleBindingListResult: coreClient.CompositeMapper = { } }; -export const ErrorResponse: coreClient.CompositeMapper = { +export const GuardrailsAvailableVersionsProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ErrorResponse", + className: "GuardrailsAvailableVersionsProperties", modelProperties: { - error: { - serializedName: "error", + isDefaultVersion: { + serializedName: "isDefaultVersion", + readOnly: true, type: { - name: "Composite", - className: "ErrorDetail" + name: "Boolean" + } + }, + support: { + serializedName: "support", + readOnly: true, + type: { + name: "String" } } } } }; -export const ErrorDetail: coreClient.CompositeMapper = { +export const GuardrailsAvailableVersionsList: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ErrorDetail", + className: "GuardrailsAvailableVersionsList", modelProperties: { - code: { - serializedName: "code", - readOnly: true, - type: { - name: "String" - } - }, - message: { - serializedName: "message", - readOnly: true, - type: { - name: "String" - } - }, - target: { - serializedName: "target", - readOnly: true, - type: { - name: "String" - } - }, - details: { - serializedName: "details", - readOnly: true, + value: { + serializedName: "value", type: { name: "Sequence", element: { type: { name: "Composite", - className: "ErrorDetail" + className: "GuardrailsAvailableVersion" } } } }, - additionalInfo: { - serializedName: "additionalInfo", - readOnly: true, - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ErrorAdditionalInfo" - } - } - } - } - } - } -}; - -export const ErrorAdditionalInfo: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ErrorAdditionalInfo", - modelProperties: { - type: { - serializedName: "type", + nextLink: { + serializedName: "nextLink", readOnly: true, type: { name: "String" } - }, - info: { - serializedName: "info", - readOnly: true, - type: { - name: "Dictionary", - value: { type: { name: "any" } } - } } } } }; -export const TrustedAccessRoleListResult: coreClient.CompositeMapper = { +export const MeshRevisionProfileList: coreClient.CompositeMapper = { type: { name: "Composite", - className: "TrustedAccessRoleListResult", + className: "MeshRevisionProfileList", modelProperties: { value: { serializedName: "value", - readOnly: true, type: { name: "Sequence", element: { type: { name: "Composite", - className: "TrustedAccessRole" + className: "MeshRevisionProfile" } } } @@ -4250,34 +5466,19 @@ export const TrustedAccessRoleListResult: coreClient.CompositeMapper = { } }; -export const TrustedAccessRole: coreClient.CompositeMapper = { +export const MeshRevisionProfileProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "TrustedAccessRole", + className: "MeshRevisionProfileProperties", modelProperties: { - sourceResourceType: { - serializedName: "sourceResourceType", - readOnly: true, - type: { - name: "String" - } - }, - name: { - serializedName: "name", - readOnly: true, - type: { - name: "String" - } - }, - rules: { - serializedName: "rules", - readOnly: true, + meshRevisions: { + serializedName: "meshRevisions", type: { name: "Sequence", element: { type: { name: "Composite", - className: "TrustedAccessRoleRule" + className: "MeshRevision" } } } @@ -4286,26 +5487,19 @@ export const TrustedAccessRole: coreClient.CompositeMapper = { } }; -export const TrustedAccessRoleRule: coreClient.CompositeMapper = { +export const MeshRevision: coreClient.CompositeMapper = { type: { name: "Composite", - className: "TrustedAccessRoleRule", + className: "MeshRevision", modelProperties: { - verbs: { - serializedName: "verbs", - readOnly: true, + revision: { + serializedName: "revision", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "String" } }, - apiGroups: { - serializedName: "apiGroups", - readOnly: true, + upgrades: { + serializedName: "upgrades", type: { name: "Sequence", element: { @@ -4315,21 +5509,35 @@ export const TrustedAccessRoleRule: coreClient.CompositeMapper = { } } }, - resources: { - serializedName: "resources", - readOnly: true, + compatibleWith: { + serializedName: "compatibleWith", type: { name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "CompatibleVersions" } } } + } + } + } +}; + +export const CompatibleVersions: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "CompatibleVersions", + modelProperties: { + name: { + serializedName: "name", + type: { + name: "String" + } }, - resourceNames: { - serializedName: "resourceNames", - readOnly: true, + versions: { + serializedName: "versions", type: { name: "Sequence", element: { @@ -4338,18 +5546,34 @@ export const TrustedAccessRoleRule: coreClient.CompositeMapper = { } } } - }, - nonResourceURLs: { - serializedName: "nonResourceURLs", - readOnly: true, + } + } + } +}; + +export const MeshUpgradeProfileList: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "MeshUpgradeProfileList", + modelProperties: { + value: { + serializedName: "value", type: { name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "MeshUpgradeProfile" } } } + }, + nextLink: { + serializedName: "nextLink", + readOnly: true, + type: { + name: "String" + } } } } @@ -4409,16 +5633,6 @@ export const TrackedResource: coreClient.CompositeMapper = { } }; -export const ProxyResource: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ProxyResource", - modelProperties: { - ...Resource.type.modelProperties - } - } -}; - export const TrustedAccessRoleBinding: coreClient.CompositeMapper = { type: { name: "Composite", @@ -4455,6 +5669,33 @@ export const TrustedAccessRoleBinding: coreClient.CompositeMapper = { } }; +export const GuardrailsAvailableVersion: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "GuardrailsAvailableVersion", + modelProperties: { + ...Resource.type.modelProperties, + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "GuardrailsAvailableVersionsProperties" + } + } + } + } +}; + +export const ProxyResource: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ProxyResource", + modelProperties: { + ...Resource.type.modelProperties + } + } +}; + export const MaintenanceConfiguration: coreClient.CompositeMapper = { type: { name: "Composite", @@ -4549,6 +5790,12 @@ export const AgentPool: coreClient.CompositeMapper = { name: "String" } }, + messageOfTheDay: { + serializedName: "properties.messageOfTheDay", + type: { + name: "String" + } + }, vnetSubnetID: { serializedName: "properties.vnetSubnetID", type: { @@ -4674,6 +5921,12 @@ export const AgentPool: coreClient.CompositeMapper = { name: "Boolean" } }, + enableCustomCATrust: { + serializedName: "properties.enableCustomCATrust", + type: { + name: "Boolean" + } + }, nodePublicIPPrefixID: { serializedName: "properties.nodePublicIPPrefixID", type: { @@ -4726,6 +5979,17 @@ export const AgentPool: coreClient.CompositeMapper = { } } }, + nodeInitializationTaints: { + serializedName: "properties.nodeInitializationTaints", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, proximityPlacementGroupID: { serializedName: "properties.proximityPlacementGroupID", type: { @@ -4777,11 +6041,88 @@ export const AgentPool: coreClient.CompositeMapper = { className: "CreationData" } }, + capacityReservationGroupID: { + serializedName: "properties.capacityReservationGroupID", + type: { + name: "String" + } + }, hostGroupID: { serializedName: "properties.hostGroupID", type: { name: "String" } + }, + windowsProfile: { + serializedName: "properties.windowsProfile", + type: { + name: "Composite", + className: "AgentPoolWindowsProfile" + } + }, + networkProfile: { + serializedName: "properties.networkProfile", + type: { + name: "Composite", + className: "AgentPoolNetworkProfile" + } + }, + securityProfile: { + serializedName: "properties.securityProfile", + type: { + name: "Composite", + className: "AgentPoolSecurityProfile" + } + }, + gpuProfile: { + serializedName: "properties.gpuProfile", + type: { + name: "Composite", + className: "AgentPoolGPUProfile" + } + }, + artifactStreamingProfile: { + serializedName: "properties.artifactStreamingProfile", + type: { + name: "Composite", + className: "AgentPoolArtifactStreamingProfile" + } + }, + virtualMachinesProfile: { + serializedName: "properties.virtualMachinesProfile", + type: { + name: "Composite", + className: "VirtualMachinesProfile" + } + }, + virtualMachineNodesStatus: { + serializedName: "properties.virtualMachineNodesStatus", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VirtualMachineNodes" + } + } + } + } + } + } +}; + +export const Machine: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "Machine", + modelProperties: { + ...SubResource.type.modelProperties, + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "MachineProperties" + } } } } @@ -4838,6 +6179,13 @@ export const ManagedCluster: coreClient.CompositeMapper = { className: "PowerState" } }, + creationData: { + serializedName: "properties.creationData", + type: { + name: "Composite", + className: "CreationData" + } + }, maxAgentPools: { serializedName: "properties.maxAgentPools", readOnly: true, @@ -4953,6 +6301,13 @@ export const ManagedCluster: coreClient.CompositeMapper = { name: "String" } }, + nodeResourceGroupProfile: { + serializedName: "properties.nodeResourceGroupProfile", + type: { + name: "Composite", + className: "ManagedClusterNodeResourceGroupProfile" + } + }, enableRbac: { serializedName: "properties.enableRBAC", type: { @@ -4971,6 +6326,12 @@ export const ManagedCluster: coreClient.CompositeMapper = { name: "Boolean" } }, + enableNamespaceResources: { + serializedName: "properties.enableNamespaceResources", + type: { + name: "Boolean" + } + }, networkProfile: { serializedName: "properties.networkProfile", type: { @@ -5067,6 +6428,13 @@ export const ManagedCluster: coreClient.CompositeMapper = { className: "ManagedClusterStorageProfile" } }, + ingressProfile: { + serializedName: "properties.ingressProfile", + type: { + name: "Composite", + className: "ManagedClusterIngressProfile" + } + }, publicNetworkAccess: { serializedName: "properties.publicNetworkAccess", type: { @@ -5087,6 +6455,13 @@ export const ManagedCluster: coreClient.CompositeMapper = { className: "ManagedClusterAzureMonitorProfile" } }, + guardrailsProfile: { + serializedName: "properties.guardrailsProfile", + type: { + name: "Composite", + className: "GuardrailsProfile" + } + }, serviceMeshProfile: { serializedName: "properties.serviceMeshProfile", type: { @@ -5100,6 +6475,27 @@ export const ManagedCluster: coreClient.CompositeMapper = { type: { name: "String" } + }, + metricsProfile: { + serializedName: "properties.metricsProfile", + type: { + name: "Composite", + className: "ManagedClusterMetricsProfile" + } + }, + aiToolchainOperatorProfile: { + serializedName: "properties.aiToolchainOperatorProfile", + type: { + name: "Composite", + className: "ManagedClusterAIToolchainOperatorProfile" + } + }, + nodeProvisioningProfile: { + serializedName: "properties.nodeProvisioningProfile", + type: { + name: "Composite", + className: "ManagedClusterNodeProvisioningProfile" + } } } } @@ -5188,6 +6584,37 @@ export const Snapshot: coreClient.CompositeMapper = { } }; +export const ManagedClusterSnapshot: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ManagedClusterSnapshot", + modelProperties: { + ...TrackedResource.type.modelProperties, + creationData: { + serializedName: "properties.creationData", + type: { + name: "Composite", + className: "CreationData" + } + }, + snapshotType: { + defaultValue: "NodePool", + serializedName: "properties.snapshotType", + type: { + name: "String" + } + }, + managedClusterPropertiesReadOnly: { + serializedName: "properties.managedClusterPropertiesReadOnly", + type: { + name: "Composite", + className: "ManagedClusterPropertiesForSnapshot" + } + } + } + } +}; + export const MeshRevisionProfile: coreClient.CompositeMapper = { type: { name: "Composite", @@ -5267,37 +6694,37 @@ export const ManagedClustersResetAADProfileHeaders: coreClient.CompositeMapper = } }; -export const ManagedClustersRotateClusterCertificatesHeaders: coreClient.CompositeMapper = { +export const ManagedClustersAbortLatestOperationHeaders: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ManagedClustersRotateClusterCertificatesHeaders", + className: "ManagedClustersAbortLatestOperationHeaders", modelProperties: { location: { serializedName: "location", type: { name: "String" } + }, + azureAsyncOperation: { + serializedName: "azure-asyncoperation", + type: { + name: "String" + } } } } }; -export const ManagedClustersAbortLatestOperationHeaders: coreClient.CompositeMapper = { +export const ManagedClustersRotateClusterCertificatesHeaders: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ManagedClustersAbortLatestOperationHeaders", + className: "ManagedClustersRotateClusterCertificatesHeaders", modelProperties: { location: { serializedName: "location", type: { name: "String" } - }, - azureAsyncOperation: { - serializedName: "azure-asyncoperation", - type: { - name: "String" - } } } } @@ -5414,6 +6841,21 @@ export const AgentPoolsDeleteHeaders: coreClient.CompositeMapper = { } }; +export const AgentPoolsDeleteMachinesHeaders: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AgentPoolsDeleteMachinesHeaders", + modelProperties: { + location: { + serializedName: "location", + type: { + name: "String" + } + } + } + } +}; + export const AgentPoolsUpgradeNodeImageVersionHeaders: coreClient.CompositeMapper = { type: { name: "Composite", diff --git a/sdk/containerservice/arm-containerservice/src/models/parameters.ts b/sdk/containerservice/arm-containerservice/src/models/parameters.ts index 5b3c73657ee4..71c5283c8a4e 100644 --- a/sdk/containerservice/arm-containerservice/src/models/parameters.ts +++ b/sdk/containerservice/arm-containerservice/src/models/parameters.ts @@ -19,9 +19,11 @@ import { RunCommandRequest as RunCommandRequestMapper, MaintenanceConfiguration as MaintenanceConfigurationMapper, AgentPool as AgentPoolMapper, + AgentPoolDeleteMachinesParameter as AgentPoolDeleteMachinesParameterMapper, PrivateEndpointConnection as PrivateEndpointConnectionMapper, PrivateLinkResource as PrivateLinkResourceMapper, Snapshot as SnapshotMapper, + ManagedClusterSnapshot as ManagedClusterSnapshotMapper, TrustedAccessRoleBinding as TrustedAccessRoleBindingMapper } from "../models/mappers"; @@ -52,7 +54,7 @@ export const $host: OperationURLParameter = { export const apiVersion: OperationQueryParameter = { parameterPath: "apiVersion", mapper: { - defaultValue: "2023-09-01", + defaultValue: "2023-11-02-preview", isConstant: true, serializedName: "api-version", type: { @@ -182,6 +184,16 @@ export const parameters1: OperationParameter = { mapper: TagsObjectMapper }; +export const ignorePodDisruptionBudget: OperationQueryParameter = { + parameterPath: ["options", "ignorePodDisruptionBudget"], + mapper: { + serializedName: "ignore-pod-disruption-budget", + type: { + name: "Boolean" + } + } +}; + export const parameters2: OperationParameter = { parameterPath: "parameters", mapper: ManagedClusterServicePrincipalProfileMapper @@ -208,6 +220,21 @@ export const commandId: OperationURLParameter = { } }; +export const version: OperationURLParameter = { + parameterPath: "version", + mapper: { + constraints: { + MaxLength: 24, + MinLength: 1 + }, + serializedName: "version", + required: true, + type: { + name: "String" + } + } +}; + export const mode: OperationURLParameter = { parameterPath: "mode", mapper: { @@ -275,6 +302,25 @@ export const parameters5: OperationParameter = { mapper: AgentPoolMapper }; +export const machines: OperationParameter = { + parameterPath: "machines", + mapper: AgentPoolDeleteMachinesParameterMapper +}; + +export const machineName: OperationURLParameter = { + parameterPath: "machineName", + mapper: { + constraints: { + Pattern: new RegExp("^[a-zA-Z0-9][-_a-zA-Z0-9]{0,39}$") + }, + serializedName: "machineName", + required: true, + type: { + name: "String" + } + } +}; + export const privateEndpointConnectionName: OperationURLParameter = { parameterPath: "privateEndpointConnectionName", mapper: { @@ -296,11 +342,30 @@ export const parameters7: OperationParameter = { mapper: PrivateLinkResourceMapper }; +export const operationId: OperationURLParameter = { + parameterPath: "operationId", + mapper: { + constraints: { + MinLength: 1 + }, + serializedName: "operationId", + required: true, + type: { + name: "String" + } + } +}; + export const parameters8: OperationParameter = { parameterPath: "parameters", mapper: SnapshotMapper }; +export const parameters9: OperationParameter = { + parameterPath: "parameters", + mapper: ManagedClusterSnapshotMapper +}; + export const trustedAccessRoleBindingName: OperationURLParameter = { parameterPath: "trustedAccessRoleBindingName", mapper: { diff --git a/sdk/containerservice/arm-containerservice/src/operations/agentPools.ts b/sdk/containerservice/arm-containerservice/src/operations/agentPools.ts index 93a09ecc6cf9..cdf10319a98f 100644 --- a/sdk/containerservice/arm-containerservice/src/operations/agentPools.ts +++ b/sdk/containerservice/arm-containerservice/src/operations/agentPools.ts @@ -34,6 +34,9 @@ import { AgentPoolsDeleteResponse, AgentPoolsGetUpgradeProfileOptionalParams, AgentPoolsGetUpgradeProfileResponse, + AgentPoolDeleteMachinesParameter, + AgentPoolsDeleteMachinesOptionalParams, + AgentPoolsDeleteMachinesResponse, AgentPoolsGetAvailableAgentPoolVersionsOptionalParams, AgentPoolsGetAvailableAgentPoolVersionsResponse, AgentPoolsUpgradeNodeImageVersionOptionalParams, @@ -132,7 +135,7 @@ export class AgentPoolsImpl implements AgentPools { /** * Aborts the currently running operation on the agent pool. The Agent Pool will be moved to a * Canceling state and eventually to a Canceled state when cancellation finishes. If the operation - * completes before cancellation can take place, a 409 error code is returned. + * completes before cancellation can take place, an error is returned. * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param resourceName The name of the managed cluster resource. * @param agentPoolName The name of the agent pool. @@ -208,7 +211,7 @@ export class AgentPoolsImpl implements AgentPools { /** * Aborts the currently running operation on the agent pool. The Agent Pool will be moved to a * Canceling state and eventually to a Canceled state when cancellation finishes. If the operation - * completes before cancellation can take place, a 409 error code is returned. + * completes before cancellation can take place, an error is returned. * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param resourceName The name of the managed cluster resource. * @param agentPoolName The name of the agent pool. @@ -485,6 +488,112 @@ export class AgentPoolsImpl implements AgentPools { ); } + /** + * Deletes specific machines in an agent pool. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceName The name of the managed cluster resource. + * @param agentPoolName The name of the agent pool. + * @param machines A list of machines from the agent pool to be deleted. + * @param options The options parameters. + */ + async beginDeleteMachines( + resourceGroupName: string, + resourceName: string, + agentPoolName: string, + machines: AgentPoolDeleteMachinesParameter, + options?: AgentPoolsDeleteMachinesOptionalParams + ): Promise< + SimplePollerLike< + OperationState, + AgentPoolsDeleteMachinesResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperationFn = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = createLroSpec({ + sendOperationFn, + args: { + resourceGroupName, + resourceName, + agentPoolName, + machines, + options + }, + spec: deleteMachinesOperationSpec + }); + const poller = await createHttpPoller< + AgentPoolsDeleteMachinesResponse, + OperationState + >(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + await poller.poll(); + return poller; + } + + /** + * Deletes specific machines in an agent pool. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceName The name of the managed cluster resource. + * @param agentPoolName The name of the agent pool. + * @param machines A list of machines from the agent pool to be deleted. + * @param options The options parameters. + */ + async beginDeleteMachinesAndWait( + resourceGroupName: string, + resourceName: string, + agentPoolName: string, + machines: AgentPoolDeleteMachinesParameter, + options?: AgentPoolsDeleteMachinesOptionalParams + ): Promise { + const poller = await this.beginDeleteMachines( + resourceGroupName, + resourceName, + agentPoolName, + machines, + options + ); + return poller.pollUntilDone(); + } + /** * See [supported Kubernetes * versions](https://docs.microsoft.com/azure/aks/supported-kubernetes-versions) for more details about @@ -750,7 +859,10 @@ const deleteOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion], + queryParameters: [ + Parameters.apiVersion, + Parameters.ignorePodDisruptionBudget + ], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -784,6 +896,40 @@ const getUpgradeProfileOperationSpec: coreClient.OperationSpec = { headerParameters: [Parameters.accept], serializer }; +const deleteMachinesOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/deleteMachines", + httpMethod: "POST", + responses: { + 200: { + headersMapper: Mappers.AgentPoolsDeleteMachinesHeaders + }, + 201: { + headersMapper: Mappers.AgentPoolsDeleteMachinesHeaders + }, + 202: { + headersMapper: Mappers.AgentPoolsDeleteMachinesHeaders + }, + 204: { + headersMapper: Mappers.AgentPoolsDeleteMachinesHeaders + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + requestBody: Parameters.machines, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.resourceName, + Parameters.agentPoolName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; const getAvailableAgentPoolVersionsOperationSpec: coreClient.OperationSpec = { path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/availableAgentPoolVersions", diff --git a/sdk/containerservice/arm-containerservice/src/operations/index.ts b/sdk/containerservice/arm-containerservice/src/operations/index.ts index efffc02a7d44..7c6dccf4852f 100644 --- a/sdk/containerservice/arm-containerservice/src/operations/index.ts +++ b/sdk/containerservice/arm-containerservice/src/operations/index.ts @@ -10,9 +10,12 @@ export * from "./operations"; export * from "./managedClusters"; export * from "./maintenanceConfigurations"; export * from "./agentPools"; +export * from "./machines"; export * from "./privateEndpointConnections"; export * from "./privateLinkResources"; export * from "./resolvePrivateLinkServiceId"; +export * from "./operationStatusResultOperations"; export * from "./snapshots"; -export * from "./trustedAccessRoleBindings"; +export * from "./managedClusterSnapshots"; export * from "./trustedAccessRoles"; +export * from "./trustedAccessRoleBindings"; diff --git a/sdk/containerservice/arm-containerservice/src/operations/machines.ts b/sdk/containerservice/arm-containerservice/src/operations/machines.ts new file mode 100644 index 000000000000..c79f7ecb8deb --- /dev/null +++ b/sdk/containerservice/arm-containerservice/src/operations/machines.ts @@ -0,0 +1,264 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper"; +import { Machines } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { ContainerServiceClient } from "../containerServiceClient"; +import { + Machine, + MachinesListNextOptionalParams, + MachinesListOptionalParams, + MachinesListResponse, + MachinesGetOptionalParams, + MachinesGetResponse, + MachinesListNextResponse +} from "../models"; + +/// +/** Class containing Machines operations. */ +export class MachinesImpl implements Machines { + private readonly client: ContainerServiceClient; + + /** + * Initialize a new instance of the class Machines class. + * @param client Reference to the service client + */ + constructor(client: ContainerServiceClient) { + this.client = client; + } + + /** + * Gets a list of machines in the specified agent pool. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceName The name of the managed cluster resource. + * @param agentPoolName The name of the agent pool. + * @param options The options parameters. + */ + public list( + resourceGroupName: string, + resourceName: string, + agentPoolName: string, + options?: MachinesListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll( + resourceGroupName, + resourceName, + agentPoolName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listPagingPage( + resourceGroupName, + resourceName, + agentPoolName, + options, + settings + ); + } + }; + } + + private async *listPagingPage( + resourceGroupName: string, + resourceName: string, + agentPoolName: string, + options?: MachinesListOptionalParams, + settings?: PageSettings + ): AsyncIterableIterator { + let result: MachinesListResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._list( + resourceGroupName, + resourceName, + agentPoolName, + options + ); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listNext( + resourceGroupName, + resourceName, + agentPoolName, + continuationToken, + options + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listPagingAll( + resourceGroupName: string, + resourceName: string, + agentPoolName: string, + options?: MachinesListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + resourceGroupName, + resourceName, + agentPoolName, + options + )) { + yield* page; + } + } + + /** + * Gets a list of machines in the specified agent pool. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceName The name of the managed cluster resource. + * @param agentPoolName The name of the agent pool. + * @param options The options parameters. + */ + private _list( + resourceGroupName: string, + resourceName: string, + agentPoolName: string, + options?: MachinesListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, resourceName, agentPoolName, options }, + listOperationSpec + ); + } + + /** + * Get a specific machine in the specified agent pool. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceName The name of the managed cluster resource. + * @param agentPoolName The name of the agent pool. + * @param machineName host name of the machine + * @param options The options parameters. + */ + get( + resourceGroupName: string, + resourceName: string, + agentPoolName: string, + machineName: string, + options?: MachinesGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, resourceName, agentPoolName, machineName, options }, + getOperationSpec + ); + } + + /** + * ListNext + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceName The name of the managed cluster resource. + * @param agentPoolName The name of the agent pool. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + resourceGroupName: string, + resourceName: string, + agentPoolName: string, + nextLink: string, + options?: MachinesListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, resourceName, agentPoolName, nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/machines", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.MachineListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.resourceName, + Parameters.agentPoolName + ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/machines/{machineName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.Machine + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.resourceName, + Parameters.agentPoolName, + Parameters.machineName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.MachineListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.resourceName, + Parameters.nextLink, + Parameters.agentPoolName + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/containerservice/arm-containerservice/src/operations/managedClusterSnapshots.ts b/sdk/containerservice/arm-containerservice/src/operations/managedClusterSnapshots.ts new file mode 100644 index 000000000000..316748067f5d --- /dev/null +++ b/sdk/containerservice/arm-containerservice/src/operations/managedClusterSnapshots.ts @@ -0,0 +1,474 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper"; +import { ManagedClusterSnapshots } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { ContainerServiceClient } from "../containerServiceClient"; +import { + ManagedClusterSnapshot, + ManagedClusterSnapshotsListNextOptionalParams, + ManagedClusterSnapshotsListOptionalParams, + ManagedClusterSnapshotsListResponse, + ManagedClusterSnapshotsListByResourceGroupNextOptionalParams, + ManagedClusterSnapshotsListByResourceGroupOptionalParams, + ManagedClusterSnapshotsListByResourceGroupResponse, + ManagedClusterSnapshotsGetOptionalParams, + ManagedClusterSnapshotsGetResponse, + ManagedClusterSnapshotsCreateOrUpdateOptionalParams, + ManagedClusterSnapshotsCreateOrUpdateResponse, + TagsObject, + ManagedClusterSnapshotsUpdateTagsOptionalParams, + ManagedClusterSnapshotsUpdateTagsResponse, + ManagedClusterSnapshotsDeleteOptionalParams, + ManagedClusterSnapshotsListNextResponse, + ManagedClusterSnapshotsListByResourceGroupNextResponse +} from "../models"; + +/// +/** Class containing ManagedClusterSnapshots operations. */ +export class ManagedClusterSnapshotsImpl implements ManagedClusterSnapshots { + private readonly client: ContainerServiceClient; + + /** + * Initialize a new instance of the class ManagedClusterSnapshots class. + * @param client Reference to the service client + */ + constructor(client: ContainerServiceClient) { + this.client = client; + } + + /** + * Gets a list of managed cluster snapshots in the specified subscription. + * @param options The options parameters. + */ + public list( + options?: ManagedClusterSnapshotsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listPagingPage(options, settings); + } + }; + } + + private async *listPagingPage( + options?: ManagedClusterSnapshotsListOptionalParams, + settings?: PageSettings + ): AsyncIterableIterator { + let result: ManagedClusterSnapshotsListResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._list(options); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listNext(continuationToken, options); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listPagingAll( + options?: ManagedClusterSnapshotsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(options)) { + yield* page; + } + } + + /** + * Lists managed cluster snapshots in the specified subscription and resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param options The options parameters. + */ + public listByResourceGroup( + resourceGroupName: string, + options?: ManagedClusterSnapshotsListByResourceGroupOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByResourceGroupPagingAll(resourceGroupName, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listByResourceGroupPagingPage( + resourceGroupName, + options, + settings + ); + } + }; + } + + private async *listByResourceGroupPagingPage( + resourceGroupName: string, + options?: ManagedClusterSnapshotsListByResourceGroupOptionalParams, + settings?: PageSettings + ): AsyncIterableIterator { + let result: ManagedClusterSnapshotsListByResourceGroupResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._listByResourceGroup(resourceGroupName, options); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listByResourceGroupNext( + resourceGroupName, + continuationToken, + options + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listByResourceGroupPagingAll( + resourceGroupName: string, + options?: ManagedClusterSnapshotsListByResourceGroupOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByResourceGroupPagingPage( + resourceGroupName, + options + )) { + yield* page; + } + } + + /** + * Gets a list of managed cluster snapshots in the specified subscription. + * @param options The options parameters. + */ + private _list( + options?: ManagedClusterSnapshotsListOptionalParams + ): Promise { + return this.client.sendOperationRequest({ options }, listOperationSpec); + } + + /** + * Lists managed cluster snapshots in the specified subscription and resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param options The options parameters. + */ + private _listByResourceGroup( + resourceGroupName: string, + options?: ManagedClusterSnapshotsListByResourceGroupOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, options }, + listByResourceGroupOperationSpec + ); + } + + /** + * Gets a managed cluster snapshot. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceName The name of the managed cluster resource. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + resourceName: string, + options?: ManagedClusterSnapshotsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, resourceName, options }, + getOperationSpec + ); + } + + /** + * Creates or updates a managed cluster snapshot. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceName The name of the managed cluster resource. + * @param parameters The managed cluster snapshot to create or update. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + resourceName: string, + parameters: ManagedClusterSnapshot, + options?: ManagedClusterSnapshotsCreateOrUpdateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, resourceName, parameters, options }, + createOrUpdateOperationSpec + ); + } + + /** + * Updates tags on a managed cluster snapshot. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceName The name of the managed cluster resource. + * @param parameters Parameters supplied to the Update managed cluster snapshot Tags operation. + * @param options The options parameters. + */ + updateTags( + resourceGroupName: string, + resourceName: string, + parameters: TagsObject, + options?: ManagedClusterSnapshotsUpdateTagsOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, resourceName, parameters, options }, + updateTagsOperationSpec + ); + } + + /** + * Deletes a managed cluster snapshot. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceName The name of the managed cluster resource. + * @param options The options parameters. + */ + delete( + resourceGroupName: string, + resourceName: string, + options?: ManagedClusterSnapshotsDeleteOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, resourceName, options }, + deleteOperationSpec + ); + } + + /** + * ListNext + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + nextLink: string, + options?: ManagedClusterSnapshotsListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { nextLink, options }, + listNextOperationSpec + ); + } + + /** + * ListByResourceGroupNext + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param nextLink The nextLink from the previous successful call to the ListByResourceGroup method. + * @param options The options parameters. + */ + private _listByResourceGroupNext( + resourceGroupName: string, + nextLink: string, + options?: ManagedClusterSnapshotsListByResourceGroupNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, nextLink, options }, + listByResourceGroupNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/managedclustersnapshots", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ManagedClusterSnapshotListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host, Parameters.subscriptionId], + headerParameters: [Parameters.accept], + serializer +}; +const listByResourceGroupOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedclustersnapshots", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ManagedClusterSnapshotListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName + ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedclustersnapshots/{resourceName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ManagedClusterSnapshot + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.resourceName + ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedclustersnapshots/{resourceName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.ManagedClusterSnapshot + }, + 201: { + bodyMapper: Mappers.ManagedClusterSnapshot + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.parameters9, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.resourceName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const updateTagsOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedclustersnapshots/{resourceName}", + httpMethod: "PATCH", + responses: { + 200: { + bodyMapper: Mappers.ManagedClusterSnapshot + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.parameters1, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.resourceName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedclustersnapshots/{resourceName}", + httpMethod: "DELETE", + responses: { + 200: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.resourceName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ManagedClusterSnapshotListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByResourceGroupNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ManagedClusterSnapshotListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/containerservice/arm-containerservice/src/operations/managedClusters.ts b/sdk/containerservice/arm-containerservice/src/operations/managedClusters.ts index 77b621d7d4a8..8f6ab810705b 100644 --- a/sdk/containerservice/arm-containerservice/src/operations/managedClusters.ts +++ b/sdk/containerservice/arm-containerservice/src/operations/managedClusters.ts @@ -31,6 +31,10 @@ import { ManagedClustersListOutboundNetworkDependenciesEndpointsNextOptionalParams, ManagedClustersListOutboundNetworkDependenciesEndpointsOptionalParams, ManagedClustersListOutboundNetworkDependenciesEndpointsResponse, + GuardrailsAvailableVersion, + ManagedClustersListGuardrailsVersionsNextOptionalParams, + ManagedClustersListGuardrailsVersionsOptionalParams, + ManagedClustersListGuardrailsVersionsResponse, MeshRevisionProfile, ManagedClustersListMeshRevisionProfilesNextOptionalParams, ManagedClustersListMeshRevisionProfilesOptionalParams, @@ -66,10 +70,10 @@ import { ManagedClustersResetServicePrincipalProfileOptionalParams, ManagedClusterAADProfile, ManagedClustersResetAADProfileOptionalParams, - ManagedClustersRotateClusterCertificatesOptionalParams, - ManagedClustersRotateClusterCertificatesResponse, ManagedClustersAbortLatestOperationOptionalParams, ManagedClustersAbortLatestOperationResponse, + ManagedClustersRotateClusterCertificatesOptionalParams, + ManagedClustersRotateClusterCertificatesResponse, ManagedClustersRotateServiceAccountSigningKeysOptionalParams, ManagedClustersRotateServiceAccountSigningKeysResponse, ManagedClustersStopOptionalParams, @@ -81,6 +85,8 @@ import { ManagedClustersRunCommandResponse, ManagedClustersGetCommandResultOptionalParams, ManagedClustersGetCommandResultResponse, + ManagedClustersGetGuardrailsVersionsOptionalParams, + ManagedClustersGetGuardrailsVersionsResponse, ManagedClustersGetMeshRevisionProfileOptionalParams, ManagedClustersGetMeshRevisionProfileResponse, ManagedClustersGetMeshUpgradeProfileOptionalParams, @@ -88,6 +94,7 @@ import { ManagedClustersListNextResponse, ManagedClustersListByResourceGroupNextResponse, ManagedClustersListOutboundNetworkDependenciesEndpointsNextResponse, + ManagedClustersListGuardrailsVersionsNextResponse, ManagedClustersListMeshRevisionProfilesNextResponse, ManagedClustersListMeshUpgradeProfilesNextResponse } from "../models"; @@ -313,6 +320,75 @@ export class ManagedClustersImpl implements ManagedClusters { } } + /** + * Contains list of Guardrails version along with its support info and whether it is a default version. + * @param location The name of the Azure region. + * @param options The options parameters. + */ + public listGuardrailsVersions( + location: string, + options?: ManagedClustersListGuardrailsVersionsOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listGuardrailsVersionsPagingAll(location, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listGuardrailsVersionsPagingPage( + location, + options, + settings + ); + } + }; + } + + private async *listGuardrailsVersionsPagingPage( + location: string, + options?: ManagedClustersListGuardrailsVersionsOptionalParams, + settings?: PageSettings + ): AsyncIterableIterator { + let result: ManagedClustersListGuardrailsVersionsResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._listGuardrailsVersions(location, options); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listGuardrailsVersionsNext( + location, + continuationToken, + options + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listGuardrailsVersionsPagingAll( + location: string, + options?: ManagedClustersListGuardrailsVersionsOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listGuardrailsVersionsPagingPage( + location, + options + )) { + yield* page; + } + } + /** * Contains extra metadata on each revision, including supported revisions, cluster compatibility and * available upgrades @@ -1090,26 +1166,27 @@ export class ManagedClustersImpl implements ManagedClusters { } /** - * See [Certificate rotation](https://docs.microsoft.com/azure/aks/certificate-rotation) for more - * details about rotating managed cluster certificates. + * Aborts the currently running operation on the managed cluster. The Managed Cluster will be moved to + * a Canceling state and eventually to a Canceled state when cancellation finishes. If the operation + * completes before cancellation can take place, an error is returned. * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param resourceName The name of the managed cluster resource. * @param options The options parameters. */ - async beginRotateClusterCertificates( + async beginAbortLatestOperation( resourceGroupName: string, resourceName: string, - options?: ManagedClustersRotateClusterCertificatesOptionalParams + options?: ManagedClustersAbortLatestOperationOptionalParams ): Promise< SimplePollerLike< - OperationState, - ManagedClustersRotateClusterCertificatesResponse + OperationState, + ManagedClustersAbortLatestOperationResponse > > { const directSendOperation = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec - ): Promise => { + ): Promise => { return this.client.sendOperationRequest(args, spec); }; const sendOperationFn = async ( @@ -1148,11 +1225,11 @@ export class ManagedClustersImpl implements ManagedClusters { const lro = createLroSpec({ sendOperationFn, args: { resourceGroupName, resourceName, options }, - spec: rotateClusterCertificatesOperationSpec + spec: abortLatestOperationOperationSpec }); const poller = await createHttpPoller< - ManagedClustersRotateClusterCertificatesResponse, - OperationState + ManagedClustersAbortLatestOperationResponse, + OperationState >(lro, { restoreFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs, @@ -1163,18 +1240,19 @@ export class ManagedClustersImpl implements ManagedClusters { } /** - * See [Certificate rotation](https://docs.microsoft.com/azure/aks/certificate-rotation) for more - * details about rotating managed cluster certificates. + * Aborts the currently running operation on the managed cluster. The Managed Cluster will be moved to + * a Canceling state and eventually to a Canceled state when cancellation finishes. If the operation + * completes before cancellation can take place, an error is returned. * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param resourceName The name of the managed cluster resource. * @param options The options parameters. */ - async beginRotateClusterCertificatesAndWait( + async beginAbortLatestOperationAndWait( resourceGroupName: string, resourceName: string, - options?: ManagedClustersRotateClusterCertificatesOptionalParams - ): Promise { - const poller = await this.beginRotateClusterCertificates( + options?: ManagedClustersAbortLatestOperationOptionalParams + ): Promise { + const poller = await this.beginAbortLatestOperation( resourceGroupName, resourceName, options @@ -1183,27 +1261,26 @@ export class ManagedClustersImpl implements ManagedClusters { } /** - * Aborts the currently running operation on the managed cluster. The Managed Cluster will be moved to - * a Canceling state and eventually to a Canceled state when cancellation finishes. If the operation - * completes before cancellation can take place, a 409 error code is returned. + * See [Certificate rotation](https://docs.microsoft.com/azure/aks/certificate-rotation) for more + * details about rotating managed cluster certificates. * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param resourceName The name of the managed cluster resource. * @param options The options parameters. */ - async beginAbortLatestOperation( + async beginRotateClusterCertificates( resourceGroupName: string, resourceName: string, - options?: ManagedClustersAbortLatestOperationOptionalParams + options?: ManagedClustersRotateClusterCertificatesOptionalParams ): Promise< SimplePollerLike< - OperationState, - ManagedClustersAbortLatestOperationResponse + OperationState, + ManagedClustersRotateClusterCertificatesResponse > > { const directSendOperation = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec - ): Promise => { + ): Promise => { return this.client.sendOperationRequest(args, spec); }; const sendOperationFn = async ( @@ -1242,11 +1319,11 @@ export class ManagedClustersImpl implements ManagedClusters { const lro = createLroSpec({ sendOperationFn, args: { resourceGroupName, resourceName, options }, - spec: abortLatestOperationOperationSpec + spec: rotateClusterCertificatesOperationSpec }); const poller = await createHttpPoller< - ManagedClustersAbortLatestOperationResponse, - OperationState + ManagedClustersRotateClusterCertificatesResponse, + OperationState >(lro, { restoreFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs, @@ -1257,19 +1334,18 @@ export class ManagedClustersImpl implements ManagedClusters { } /** - * Aborts the currently running operation on the managed cluster. The Managed Cluster will be moved to - * a Canceling state and eventually to a Canceled state when cancellation finishes. If the operation - * completes before cancellation can take place, a 409 error code is returned. + * See [Certificate rotation](https://docs.microsoft.com/azure/aks/certificate-rotation) for more + * details about rotating managed cluster certificates. * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param resourceName The name of the managed cluster resource. * @param options The options parameters. */ - async beginAbortLatestOperationAndWait( + async beginRotateClusterCertificatesAndWait( resourceGroupName: string, resourceName: string, - options?: ManagedClustersAbortLatestOperationOptionalParams - ): Promise { - const poller = await this.beginAbortLatestOperation( + options?: ManagedClustersRotateClusterCertificatesOptionalParams + ): Promise { + const poller = await this.beginRotateClusterCertificates( resourceGroupName, resourceName, options @@ -1697,6 +1773,38 @@ export class ManagedClustersImpl implements ManagedClusters { ); } + /** + * Contains Guardrails version along with its support info and whether it is a default version. + * @param location The name of the Azure region. + * @param version Guardrails version + * @param options The options parameters. + */ + getGuardrailsVersions( + location: string, + version: string, + options?: ManagedClustersGetGuardrailsVersionsOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { location, version, options }, + getGuardrailsVersionsOperationSpec + ); + } + + /** + * Contains list of Guardrails version along with its support info and whether it is a default version. + * @param location The name of the Azure region. + * @param options The options parameters. + */ + private _listGuardrailsVersions( + location: string, + options?: ManagedClustersListGuardrailsVersionsOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { location, options }, + listGuardrailsVersionsOperationSpec + ); + } + /** * Contains extra metadata on each revision, including supported revisions, cluster compatibility and * available upgrades @@ -1821,6 +1929,23 @@ export class ManagedClustersImpl implements ManagedClusters { ); } + /** + * ListGuardrailsVersionsNext + * @param location The name of the Azure region. + * @param nextLink The nextLink from the previous successful call to the ListGuardrailsVersions method. + * @param options The options parameters. + */ + private _listGuardrailsVersionsNext( + location: string, + nextLink: string, + options?: ManagedClustersListGuardrailsVersionsNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { location, nextLink, options }, + listGuardrailsVersionsNextOperationSpec + ); + } + /** * ListMeshRevisionProfilesNext * @param location The name of the Azure region. @@ -2166,7 +2291,10 @@ const deleteOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion], + queryParameters: [ + Parameters.apiVersion, + Parameters.ignorePodDisruptionBudget + ], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -2226,22 +2354,22 @@ const resetAADProfileOperationSpec: coreClient.OperationSpec = { mediaType: "json", serializer }; -const rotateClusterCertificatesOperationSpec: coreClient.OperationSpec = { +const abortLatestOperationOperationSpec: coreClient.OperationSpec = { path: - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/rotateClusterCertificates", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedclusters/{resourceName}/abort", httpMethod: "POST", responses: { 200: { - headersMapper: Mappers.ManagedClustersRotateClusterCertificatesHeaders + headersMapper: Mappers.ManagedClustersAbortLatestOperationHeaders }, 201: { - headersMapper: Mappers.ManagedClustersRotateClusterCertificatesHeaders + headersMapper: Mappers.ManagedClustersAbortLatestOperationHeaders }, 202: { - headersMapper: Mappers.ManagedClustersRotateClusterCertificatesHeaders + headersMapper: Mappers.ManagedClustersAbortLatestOperationHeaders }, 204: { - headersMapper: Mappers.ManagedClustersRotateClusterCertificatesHeaders + headersMapper: Mappers.ManagedClustersAbortLatestOperationHeaders }, default: { bodyMapper: Mappers.CloudError @@ -2257,22 +2385,22 @@ const rotateClusterCertificatesOperationSpec: coreClient.OperationSpec = { headerParameters: [Parameters.accept], serializer }; -const abortLatestOperationOperationSpec: coreClient.OperationSpec = { +const rotateClusterCertificatesOperationSpec: coreClient.OperationSpec = { path: - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedclusters/{resourceName}/abort", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/rotateClusterCertificates", httpMethod: "POST", responses: { 200: { - headersMapper: Mappers.ManagedClustersAbortLatestOperationHeaders + headersMapper: Mappers.ManagedClustersRotateClusterCertificatesHeaders }, 201: { - headersMapper: Mappers.ManagedClustersAbortLatestOperationHeaders + headersMapper: Mappers.ManagedClustersRotateClusterCertificatesHeaders }, 202: { - headersMapper: Mappers.ManagedClustersAbortLatestOperationHeaders + headersMapper: Mappers.ManagedClustersRotateClusterCertificatesHeaders }, 204: { - headersMapper: Mappers.ManagedClustersAbortLatestOperationHeaders + headersMapper: Mappers.ManagedClustersRotateClusterCertificatesHeaders }, default: { bodyMapper: Mappers.CloudError @@ -2466,6 +2594,49 @@ const listOutboundNetworkDependenciesEndpointsOperationSpec: coreClient.Operatio headerParameters: [Parameters.accept], serializer }; +const getGuardrailsVersionsOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/guardrailsVersions/{version}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.GuardrailsAvailableVersion + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.location, + Parameters.version + ], + headerParameters: [Parameters.accept], + serializer +}; +const listGuardrailsVersionsOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/guardrailsVersions", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.GuardrailsAvailableVersionsList + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.location + ], + headerParameters: [Parameters.accept], + serializer +}; const listMeshRevisionProfilesOperationSpec: coreClient.OperationSpec = { path: "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/meshRevisionProfiles", @@ -2614,6 +2785,26 @@ const listOutboundNetworkDependenciesEndpointsNextOperationSpec: coreClient.Oper headerParameters: [Parameters.accept], serializer }; +const listGuardrailsVersionsNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.GuardrailsAvailableVersionsList + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.location, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], + serializer +}; const listMeshRevisionProfilesNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", httpMethod: "GET", diff --git a/sdk/containerservice/arm-containerservice/src/operations/operationStatusResultOperations.ts b/sdk/containerservice/arm-containerservice/src/operations/operationStatusResultOperations.ts new file mode 100644 index 000000000000..f68318c8fa90 --- /dev/null +++ b/sdk/containerservice/arm-containerservice/src/operations/operationStatusResultOperations.ts @@ -0,0 +1,286 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper"; +import { OperationStatusResultOperations } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { ContainerServiceClient } from "../containerServiceClient"; +import { + OperationStatusResult, + OperationStatusResultListNextOptionalParams, + OperationStatusResultListOptionalParams, + OperationStatusResultListResponse, + OperationStatusResultGetOptionalParams, + OperationStatusResultGetResponse, + OperationStatusResultGetByAgentPoolOptionalParams, + OperationStatusResultGetByAgentPoolResponse, + OperationStatusResultListNextResponse +} from "../models"; + +/// +/** Class containing OperationStatusResultOperations operations. */ +export class OperationStatusResultOperationsImpl + implements OperationStatusResultOperations { + private readonly client: ContainerServiceClient; + + /** + * Initialize a new instance of the class OperationStatusResultOperations class. + * @param client Reference to the service client + */ + constructor(client: ContainerServiceClient) { + this.client = client; + } + + /** + * Gets a list of operations in the specified managedCluster + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceName The name of the managed cluster resource. + * @param options The options parameters. + */ + public list( + resourceGroupName: string, + resourceName: string, + options?: OperationStatusResultListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(resourceGroupName, resourceName, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listPagingPage( + resourceGroupName, + resourceName, + options, + settings + ); + } + }; + } + + private async *listPagingPage( + resourceGroupName: string, + resourceName: string, + options?: OperationStatusResultListOptionalParams, + settings?: PageSettings + ): AsyncIterableIterator { + let result: OperationStatusResultListResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._list(resourceGroupName, resourceName, options); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listNext( + resourceGroupName, + resourceName, + continuationToken, + options + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listPagingAll( + resourceGroupName: string, + resourceName: string, + options?: OperationStatusResultListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + resourceGroupName, + resourceName, + options + )) { + yield* page; + } + } + + /** + * Gets a list of operations in the specified managedCluster + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceName The name of the managed cluster resource. + * @param options The options parameters. + */ + private _list( + resourceGroupName: string, + resourceName: string, + options?: OperationStatusResultListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, resourceName, options }, + listOperationSpec + ); + } + + /** + * Get the status of a specific operation in the specified managed cluster. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceName The name of the managed cluster resource. + * @param operationId The ID of an ongoing async operation. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + resourceName: string, + operationId: string, + options?: OperationStatusResultGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, resourceName, operationId, options }, + getOperationSpec + ); + } + + /** + * Get the status of a specific operation in the specified agent pool. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceName The name of the managed cluster resource. + * @param agentPoolName The name of the agent pool. + * @param operationId The ID of an ongoing async operation. + * @param options The options parameters. + */ + getByAgentPool( + resourceGroupName: string, + resourceName: string, + agentPoolName: string, + operationId: string, + options?: OperationStatusResultGetByAgentPoolOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, resourceName, agentPoolName, operationId, options }, + getByAgentPoolOperationSpec + ); + } + + /** + * ListNext + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceName The name of the managed cluster resource. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + resourceGroupName: string, + resourceName: string, + nextLink: string, + options?: OperationStatusResultListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, resourceName, nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/operations", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.OperationStatusResultList + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.resourceName + ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/operations/{operationId}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.OperationStatusResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.resourceName, + Parameters.operationId + ], + headerParameters: [Parameters.accept], + serializer +}; +const getByAgentPoolOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/operations/{operationId}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.OperationStatusResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.resourceName, + Parameters.agentPoolName, + Parameters.operationId + ], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.OperationStatusResultList + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.resourceName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/containerservice/arm-containerservice/src/operationsInterfaces/agentPools.ts b/sdk/containerservice/arm-containerservice/src/operationsInterfaces/agentPools.ts index 23803fbd6c74..cde669eb1074 100644 --- a/sdk/containerservice/arm-containerservice/src/operationsInterfaces/agentPools.ts +++ b/sdk/containerservice/arm-containerservice/src/operationsInterfaces/agentPools.ts @@ -21,6 +21,9 @@ import { AgentPoolsDeleteResponse, AgentPoolsGetUpgradeProfileOptionalParams, AgentPoolsGetUpgradeProfileResponse, + AgentPoolDeleteMachinesParameter, + AgentPoolsDeleteMachinesOptionalParams, + AgentPoolsDeleteMachinesResponse, AgentPoolsGetAvailableAgentPoolVersionsOptionalParams, AgentPoolsGetAvailableAgentPoolVersionsResponse, AgentPoolsUpgradeNodeImageVersionOptionalParams @@ -43,7 +46,7 @@ export interface AgentPools { /** * Aborts the currently running operation on the agent pool. The Agent Pool will be moved to a * Canceling state and eventually to a Canceled state when cancellation finishes. If the operation - * completes before cancellation can take place, a 409 error code is returned. + * completes before cancellation can take place, an error is returned. * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param resourceName The name of the managed cluster resource. * @param agentPoolName The name of the agent pool. @@ -63,7 +66,7 @@ export interface AgentPools { /** * Aborts the currently running operation on the agent pool. The Agent Pool will be moved to a * Canceling state and eventually to a Canceled state when cancellation finishes. If the operation - * completes before cancellation can take place, a 409 error code is returned. + * completes before cancellation can take place, an error is returned. * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param resourceName The name of the managed cluster resource. * @param agentPoolName The name of the agent pool. @@ -167,6 +170,41 @@ export interface AgentPools { agentPoolName: string, options?: AgentPoolsGetUpgradeProfileOptionalParams ): Promise; + /** + * Deletes specific machines in an agent pool. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceName The name of the managed cluster resource. + * @param agentPoolName The name of the agent pool. + * @param machines A list of machines from the agent pool to be deleted. + * @param options The options parameters. + */ + beginDeleteMachines( + resourceGroupName: string, + resourceName: string, + agentPoolName: string, + machines: AgentPoolDeleteMachinesParameter, + options?: AgentPoolsDeleteMachinesOptionalParams + ): Promise< + SimplePollerLike< + OperationState, + AgentPoolsDeleteMachinesResponse + > + >; + /** + * Deletes specific machines in an agent pool. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceName The name of the managed cluster resource. + * @param agentPoolName The name of the agent pool. + * @param machines A list of machines from the agent pool to be deleted. + * @param options The options parameters. + */ + beginDeleteMachinesAndWait( + resourceGroupName: string, + resourceName: string, + agentPoolName: string, + machines: AgentPoolDeleteMachinesParameter, + options?: AgentPoolsDeleteMachinesOptionalParams + ): Promise; /** * See [supported Kubernetes * versions](https://docs.microsoft.com/azure/aks/supported-kubernetes-versions) for more details about diff --git a/sdk/containerservice/arm-containerservice/src/operationsInterfaces/index.ts b/sdk/containerservice/arm-containerservice/src/operationsInterfaces/index.ts index efffc02a7d44..7c6dccf4852f 100644 --- a/sdk/containerservice/arm-containerservice/src/operationsInterfaces/index.ts +++ b/sdk/containerservice/arm-containerservice/src/operationsInterfaces/index.ts @@ -10,9 +10,12 @@ export * from "./operations"; export * from "./managedClusters"; export * from "./maintenanceConfigurations"; export * from "./agentPools"; +export * from "./machines"; export * from "./privateEndpointConnections"; export * from "./privateLinkResources"; export * from "./resolvePrivateLinkServiceId"; +export * from "./operationStatusResultOperations"; export * from "./snapshots"; -export * from "./trustedAccessRoleBindings"; +export * from "./managedClusterSnapshots"; export * from "./trustedAccessRoles"; +export * from "./trustedAccessRoleBindings"; diff --git a/sdk/containerservice/arm-containerservice/src/operationsInterfaces/machines.ts b/sdk/containerservice/arm-containerservice/src/operationsInterfaces/machines.ts new file mode 100644 index 000000000000..93e5a2ddaf58 --- /dev/null +++ b/sdk/containerservice/arm-containerservice/src/operationsInterfaces/machines.ts @@ -0,0 +1,48 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + Machine, + MachinesListOptionalParams, + MachinesGetOptionalParams, + MachinesGetResponse +} from "../models"; + +/// +/** Interface representing a Machines. */ +export interface Machines { + /** + * Gets a list of machines in the specified agent pool. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceName The name of the managed cluster resource. + * @param agentPoolName The name of the agent pool. + * @param options The options parameters. + */ + list( + resourceGroupName: string, + resourceName: string, + agentPoolName: string, + options?: MachinesListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Get a specific machine in the specified agent pool. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceName The name of the managed cluster resource. + * @param agentPoolName The name of the agent pool. + * @param machineName host name of the machine + * @param options The options parameters. + */ + get( + resourceGroupName: string, + resourceName: string, + agentPoolName: string, + machineName: string, + options?: MachinesGetOptionalParams + ): Promise; +} diff --git a/sdk/containerservice/arm-containerservice/src/operationsInterfaces/managedClusterSnapshots.ts b/sdk/containerservice/arm-containerservice/src/operationsInterfaces/managedClusterSnapshots.ts new file mode 100644 index 000000000000..bec60709a6e4 --- /dev/null +++ b/sdk/containerservice/arm-containerservice/src/operationsInterfaces/managedClusterSnapshots.ts @@ -0,0 +1,91 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + ManagedClusterSnapshot, + ManagedClusterSnapshotsListOptionalParams, + ManagedClusterSnapshotsListByResourceGroupOptionalParams, + ManagedClusterSnapshotsGetOptionalParams, + ManagedClusterSnapshotsGetResponse, + ManagedClusterSnapshotsCreateOrUpdateOptionalParams, + ManagedClusterSnapshotsCreateOrUpdateResponse, + TagsObject, + ManagedClusterSnapshotsUpdateTagsOptionalParams, + ManagedClusterSnapshotsUpdateTagsResponse, + ManagedClusterSnapshotsDeleteOptionalParams +} from "../models"; + +/// +/** Interface representing a ManagedClusterSnapshots. */ +export interface ManagedClusterSnapshots { + /** + * Gets a list of managed cluster snapshots in the specified subscription. + * @param options The options parameters. + */ + list( + options?: ManagedClusterSnapshotsListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Lists managed cluster snapshots in the specified subscription and resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param options The options parameters. + */ + listByResourceGroup( + resourceGroupName: string, + options?: ManagedClusterSnapshotsListByResourceGroupOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a managed cluster snapshot. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceName The name of the managed cluster resource. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + resourceName: string, + options?: ManagedClusterSnapshotsGetOptionalParams + ): Promise; + /** + * Creates or updates a managed cluster snapshot. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceName The name of the managed cluster resource. + * @param parameters The managed cluster snapshot to create or update. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + resourceName: string, + parameters: ManagedClusterSnapshot, + options?: ManagedClusterSnapshotsCreateOrUpdateOptionalParams + ): Promise; + /** + * Updates tags on a managed cluster snapshot. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceName The name of the managed cluster resource. + * @param parameters Parameters supplied to the Update managed cluster snapshot Tags operation. + * @param options The options parameters. + */ + updateTags( + resourceGroupName: string, + resourceName: string, + parameters: TagsObject, + options?: ManagedClusterSnapshotsUpdateTagsOptionalParams + ): Promise; + /** + * Deletes a managed cluster snapshot. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceName The name of the managed cluster resource. + * @param options The options parameters. + */ + delete( + resourceGroupName: string, + resourceName: string, + options?: ManagedClusterSnapshotsDeleteOptionalParams + ): Promise; +} diff --git a/sdk/containerservice/arm-containerservice/src/operationsInterfaces/managedClusters.ts b/sdk/containerservice/arm-containerservice/src/operationsInterfaces/managedClusters.ts index 532578092db8..13503c540dc8 100644 --- a/sdk/containerservice/arm-containerservice/src/operationsInterfaces/managedClusters.ts +++ b/sdk/containerservice/arm-containerservice/src/operationsInterfaces/managedClusters.ts @@ -14,6 +14,8 @@ import { ManagedClustersListByResourceGroupOptionalParams, OutboundEnvironmentEndpoint, ManagedClustersListOutboundNetworkDependenciesEndpointsOptionalParams, + GuardrailsAvailableVersion, + ManagedClustersListGuardrailsVersionsOptionalParams, MeshRevisionProfile, ManagedClustersListMeshRevisionProfilesOptionalParams, MeshUpgradeProfile, @@ -45,10 +47,10 @@ import { ManagedClustersResetServicePrincipalProfileOptionalParams, ManagedClusterAADProfile, ManagedClustersResetAADProfileOptionalParams, - ManagedClustersRotateClusterCertificatesOptionalParams, - ManagedClustersRotateClusterCertificatesResponse, ManagedClustersAbortLatestOperationOptionalParams, ManagedClustersAbortLatestOperationResponse, + ManagedClustersRotateClusterCertificatesOptionalParams, + ManagedClustersRotateClusterCertificatesResponse, ManagedClustersRotateServiceAccountSigningKeysOptionalParams, ManagedClustersRotateServiceAccountSigningKeysResponse, ManagedClustersStopOptionalParams, @@ -60,6 +62,8 @@ import { ManagedClustersRunCommandResponse, ManagedClustersGetCommandResultOptionalParams, ManagedClustersGetCommandResultResponse, + ManagedClustersGetGuardrailsVersionsOptionalParams, + ManagedClustersGetGuardrailsVersionsResponse, ManagedClustersGetMeshRevisionProfileOptionalParams, ManagedClustersGetMeshRevisionProfileResponse, ManagedClustersGetMeshUpgradeProfileOptionalParams, @@ -97,6 +101,15 @@ export interface ManagedClusters { resourceName: string, options?: ManagedClustersListOutboundNetworkDependenciesEndpointsOptionalParams ): PagedAsyncIterableIterator; + /** + * Contains list of Guardrails version along with its support info and whether it is a default version. + * @param location The name of the Azure region. + * @param options The options parameters. + */ + listGuardrailsVersions( + location: string, + options?: ManagedClustersListGuardrailsVersionsOptionalParams + ): PagedAsyncIterableIterator; /** * Contains extra metadata on each revision, including supported revisions, cluster compatibility and * available upgrades @@ -353,65 +366,65 @@ export interface ManagedClusters { options?: ManagedClustersResetAADProfileOptionalParams ): Promise; /** - * See [Certificate rotation](https://docs.microsoft.com/azure/aks/certificate-rotation) for more - * details about rotating managed cluster certificates. + * Aborts the currently running operation on the managed cluster. The Managed Cluster will be moved to + * a Canceling state and eventually to a Canceled state when cancellation finishes. If the operation + * completes before cancellation can take place, an error is returned. * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param resourceName The name of the managed cluster resource. * @param options The options parameters. */ - beginRotateClusterCertificates( + beginAbortLatestOperation( resourceGroupName: string, resourceName: string, - options?: ManagedClustersRotateClusterCertificatesOptionalParams + options?: ManagedClustersAbortLatestOperationOptionalParams ): Promise< SimplePollerLike< - OperationState, - ManagedClustersRotateClusterCertificatesResponse + OperationState, + ManagedClustersAbortLatestOperationResponse > >; /** - * See [Certificate rotation](https://docs.microsoft.com/azure/aks/certificate-rotation) for more - * details about rotating managed cluster certificates. + * Aborts the currently running operation on the managed cluster. The Managed Cluster will be moved to + * a Canceling state and eventually to a Canceled state when cancellation finishes. If the operation + * completes before cancellation can take place, an error is returned. * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param resourceName The name of the managed cluster resource. * @param options The options parameters. */ - beginRotateClusterCertificatesAndWait( + beginAbortLatestOperationAndWait( resourceGroupName: string, resourceName: string, - options?: ManagedClustersRotateClusterCertificatesOptionalParams - ): Promise; + options?: ManagedClustersAbortLatestOperationOptionalParams + ): Promise; /** - * Aborts the currently running operation on the managed cluster. The Managed Cluster will be moved to - * a Canceling state and eventually to a Canceled state when cancellation finishes. If the operation - * completes before cancellation can take place, a 409 error code is returned. + * See [Certificate rotation](https://docs.microsoft.com/azure/aks/certificate-rotation) for more + * details about rotating managed cluster certificates. * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param resourceName The name of the managed cluster resource. * @param options The options parameters. */ - beginAbortLatestOperation( + beginRotateClusterCertificates( resourceGroupName: string, resourceName: string, - options?: ManagedClustersAbortLatestOperationOptionalParams + options?: ManagedClustersRotateClusterCertificatesOptionalParams ): Promise< SimplePollerLike< - OperationState, - ManagedClustersAbortLatestOperationResponse + OperationState, + ManagedClustersRotateClusterCertificatesResponse > >; /** - * Aborts the currently running operation on the managed cluster. The Managed Cluster will be moved to - * a Canceling state and eventually to a Canceled state when cancellation finishes. If the operation - * completes before cancellation can take place, a 409 error code is returned. + * See [Certificate rotation](https://docs.microsoft.com/azure/aks/certificate-rotation) for more + * details about rotating managed cluster certificates. * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param resourceName The name of the managed cluster resource. * @param options The options parameters. */ - beginAbortLatestOperationAndWait( + beginRotateClusterCertificatesAndWait( resourceGroupName: string, resourceName: string, - options?: ManagedClustersAbortLatestOperationOptionalParams - ): Promise; + options?: ManagedClustersRotateClusterCertificatesOptionalParams + ): Promise; /** * Rotates the service account signing keys of a managed cluster. * @param resourceGroupName The name of the resource group. The name is case insensitive. @@ -551,6 +564,17 @@ export interface ManagedClusters { commandId: string, options?: ManagedClustersGetCommandResultOptionalParams ): Promise; + /** + * Contains Guardrails version along with its support info and whether it is a default version. + * @param location The name of the Azure region. + * @param version Guardrails version + * @param options The options parameters. + */ + getGuardrailsVersions( + location: string, + version: string, + options?: ManagedClustersGetGuardrailsVersionsOptionalParams + ): Promise; /** * Contains extra metadata on the revision, including supported revisions, cluster compatibility and * available upgrades diff --git a/sdk/containerservice/arm-containerservice/src/operationsInterfaces/operationStatusResultOperations.ts b/sdk/containerservice/arm-containerservice/src/operationsInterfaces/operationStatusResultOperations.ts new file mode 100644 index 000000000000..6271cfddf7b4 --- /dev/null +++ b/sdk/containerservice/arm-containerservice/src/operationsInterfaces/operationStatusResultOperations.ts @@ -0,0 +1,61 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + OperationStatusResult, + OperationStatusResultListOptionalParams, + OperationStatusResultGetOptionalParams, + OperationStatusResultGetResponse, + OperationStatusResultGetByAgentPoolOptionalParams, + OperationStatusResultGetByAgentPoolResponse +} from "../models"; + +/// +/** Interface representing a OperationStatusResultOperations. */ +export interface OperationStatusResultOperations { + /** + * Gets a list of operations in the specified managedCluster + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceName The name of the managed cluster resource. + * @param options The options parameters. + */ + list( + resourceGroupName: string, + resourceName: string, + options?: OperationStatusResultListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Get the status of a specific operation in the specified managed cluster. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceName The name of the managed cluster resource. + * @param operationId The ID of an ongoing async operation. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + resourceName: string, + operationId: string, + options?: OperationStatusResultGetOptionalParams + ): Promise; + /** + * Get the status of a specific operation in the specified agent pool. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceName The name of the managed cluster resource. + * @param agentPoolName The name of the agent pool. + * @param operationId The ID of an ongoing async operation. + * @param options The options parameters. + */ + getByAgentPool( + resourceGroupName: string, + resourceName: string, + agentPoolName: string, + operationId: string, + options?: OperationStatusResultGetByAgentPoolOptionalParams + ): Promise; +} diff --git a/sdk/containerservice/arm-containerservice/test/sampleTest.ts b/sdk/containerservice/arm-containerservice/test/sampleTest.ts new file mode 100644 index 000000000000..25aeb3ebcc36 --- /dev/null +++ b/sdk/containerservice/arm-containerservice/test/sampleTest.ts @@ -0,0 +1,43 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { + Recorder, + RecorderStartOptions, + env +} from "@azure-tools/test-recorder"; +import { assert } from "chai"; +import { Context } from "mocha"; + +const replaceableVariables: Record = { + AZURE_CLIENT_ID: "azure_client_id", + AZURE_CLIENT_SECRET: "azure_client_secret", + AZURE_TENANT_ID: "88888888-8888-8888-8888-888888888888", + SUBSCRIPTION_ID: "azure_subscription_id" +}; + +const recorderOptions: RecorderStartOptions = { + envSetupForPlayback: replaceableVariables +}; + +describe("My test", () => { + let recorder: Recorder; + + beforeEach(async function(this: Context) { + recorder = new Recorder(this.currentTest); + await recorder.start(recorderOptions); + }); + + afterEach(async function() { + await recorder.stop(); + }); + + it("sample test", async function() { + console.log("Hi, I'm a test!"); + }); +}); diff --git a/sdk/containerservice/arm-containerservice/tsconfig.json b/sdk/containerservice/arm-containerservice/tsconfig.json index 5bad5556bbfd..3e6ae96443f3 100644 --- a/sdk/containerservice/arm-containerservice/tsconfig.json +++ b/sdk/containerservice/arm-containerservice/tsconfig.json @@ -15,17 +15,11 @@ ], "declaration": true, "outDir": "./dist-esm", - "importHelpers": true, - "paths": { - "@azure/arm-containerservice": [ - "./src/index" - ] - } + "importHelpers": true }, "include": [ "./src/**/*.ts", - "./test/**/*.ts", - "samples-dev/**/*.ts" + "./test/**/*.ts" ], "exclude": [ "node_modules"