From 2b42eb103e9dc21eeb2b2895078c0260825e85c0 Mon Sep 17 00:00:00 2001 From: SDKAuto Date: Fri, 5 Aug 2022 02:37:33 +0000 Subject: [PATCH] CodeGen from PR 20062 in Azure/azure-rest-api-specs Merge 5dbedf756e51a0f970767e5ef3fd0d7d42091db0 into 98169e7d4d06b7f729c1acb9e10ac181011f6d14 --- common/config/rush/pnpm-lock.yaml | 52 +++---- .../arm-containerservice/CHANGELOG.md | 30 ++-- .../arm-containerservice/_meta.json | 8 +- .../arm-containerservice/package.json | 14 +- .../review/arm-containerservice.api.md | 67 ++++++++- .../src/containerServiceClient.ts | 39 +++-- .../arm-containerservice/src/models/index.ts | 107 +++++++++++++- .../src/models/mappers.ts | 136 ++++++++++++++++++ .../src/models/parameters.ts | 2 +- .../src/operations/agentPools.ts | 47 ++++++ .../src/operations/managedClusters.ts | 42 ++++++ .../src/operationsInterfaces/agentPools.ts | 17 +++ .../operationsInterfaces/managedClusters.ts | 16 +++ .../arm-containerservice/test/sampleTest.ts | 43 ++++++ .../arm-containerservice/tsconfig.json | 10 +- 15 files changed, 539 insertions(+), 91 deletions(-) create mode 100644 sdk/containerservice/arm-containerservice/test/sampleTest.ts diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 8e29d3b05360..926fb106d801 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -3009,7 +3009,7 @@ packages: dev: false /array-flatten/1.1.1: - resolution: {integrity: sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=} + resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} dev: false /array-includes/3.1.5: @@ -3264,7 +3264,7 @@ packages: dev: false /buffer-equal-constant-time/1.0.1: - resolution: {integrity: sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=} + resolution: {integrity: sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==} dev: false /buffer-from/1.1.2: @@ -3414,7 +3414,7 @@ packages: dev: false /charenc/0.0.2: - resolution: {integrity: sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=} + resolution: {integrity: sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==} dev: false /check-error/1.0.2: @@ -3552,7 +3552,7 @@ packages: dev: false /concat-map/0.0.1: - resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} dev: false /concurrently/6.5.1: @@ -3615,7 +3615,7 @@ packages: dev: false /cookie-signature/1.0.6: - resolution: {integrity: sha1-4wOogrNCzD7oylE6eZmXNNqzriw=} + resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} dev: false /cookie/0.4.2: @@ -3717,7 +3717,7 @@ packages: dev: false /crypt/0.0.2: - resolution: {integrity: sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=} + resolution: {integrity: sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==} dev: false /csv-parse/5.3.0: @@ -3998,11 +3998,11 @@ packages: dev: false /edge-launcher/1.2.2: - resolution: {integrity: sha1-60Cq+9Bnpup27/+rBke81VCbN7I=} + resolution: {integrity: sha512-JcD5WBi3BHZXXVSSeEhl6sYO8g5cuynk/hifBzds2Bp4JdzCGLNMHgMCKu5DvrO1yatMgF0goFsxXRGus0yh1g==} dev: false /ee-first/1.1.1: - resolution: {integrity: sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=} + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} dev: false /electron-to-chromium/1.4.199: @@ -4884,7 +4884,7 @@ packages: dev: false /fresh/0.5.2: - resolution: {integrity: sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=} + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} engines: {node: '>= 0.6'} dev: false @@ -5024,7 +5024,7 @@ packages: dev: false /github-from-package/0.0.0: - resolution: {integrity: sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=} + resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} dev: false /glob-parent/5.1.2: @@ -6425,7 +6425,7 @@ packages: dev: false /media-typer/0.3.0: - resolution: {integrity: sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=} + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} engines: {node: '>= 0.6'} dev: false @@ -6435,7 +6435,7 @@ packages: dev: false /merge-descriptors/1.0.1: - resolution: {integrity: sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=} + resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} dev: false /merge-source-map/1.1.0: @@ -6856,7 +6856,7 @@ packages: dev: false /noms/0.0.0: - resolution: {integrity: sha1-2o69nzr51nYJGbJ9nNyAkqczKFk=} + resolution: {integrity: sha512-lNDU9VJaOPxUmXcLb+HQFeUgQQPtMI24Gt6hgfuMHRJgMRHMF/qZ4HJD3GDru4sSw9IQl2jPjAYnQrdIeLbwow==} dependencies: inherits: 2.0.4 readable-stream: 1.0.34 @@ -8972,7 +8972,7 @@ packages: dev: false /utils-merge/1.0.1: - resolution: {integrity: sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=} + resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} engines: {node: '>= 0.4.0'} dev: false @@ -9445,7 +9445,7 @@ packages: dev: false file:projects/agrifood-farming.tgz: - resolution: {integrity: sha512-eKFEwTAqY2aUM00lcuZwwStF/7gp4wox6XANr9X03uJASSzOWNB7GKbojBdccTK9MdlIv/TvnrSMI/EW4uojUg==, tarball: file:projects/agrifood-farming.tgz} + resolution: {integrity: sha512-/nIjTOo1xGicIGNnzZ1aMDSuMiCOiu1gK+mFwMwY/djQM7qnSHvskyV8VhnBbm5k7TmGRSiDvmNeWW9XTpHJnw==, tarball: file:projects/agrifood-farming.tgz} name: '@rush-temp/agrifood-farming' version: 0.0.0 dependencies: @@ -9538,7 +9538,7 @@ packages: dev: false file:projects/ai-document-translator.tgz: - resolution: {integrity: sha512-EwpVzusvWfLbImTC6mVu8Keti6cfvBS8oSJoXYEOo8HZ3DR6fgQE7duDgkEUtwwcEtFiaxnJZMMTahOBdxmNqw==, tarball: file:projects/ai-document-translator.tgz} + resolution: {integrity: sha512-o6GknuwCplafDFTEofppkVSBGQa/MyTb7aJKwoeUKBz9mI8MAFuiaWatksjx8lImG/bDjDgTDtPayGYaK2NE3w==, tarball: file:projects/ai-document-translator.tgz} name: '@rush-temp/ai-document-translator' version: 0.0.0 dependencies: @@ -10205,7 +10205,7 @@ packages: dev: false file:projects/arm-appservice.tgz: - resolution: {integrity: sha512-TYy8GdC4dhsTUrlrVmamWu6Kyq/YeUmgL8H3Wz0kuUB8X1RJNFrVjo4FV1t1qrTyGOImHDMMmxIo8dZL3XVZVg==, tarball: file:projects/arm-appservice.tgz} + resolution: {integrity: sha512-DgMKMmTlYNu68W2B89vnl4K3zeAsRlQMNdDeppLpRD6539zudJTWn8i0x/cY/E+KsTZSkj+8h1faGZEwMlnvVg==, tarball: file:projects/arm-appservice.tgz} name: '@rush-temp/arm-appservice' version: 0.0.0 dependencies: @@ -10958,7 +10958,7 @@ packages: dev: false file:projects/arm-containerservice-1.tgz: - resolution: {integrity: sha512-9QsxqCoWhF7sQkRQ/kYzQvuSozd/j3bfnjp7hjJCedpz24IrgzZtm+J9pFJ7qTyJ3h5Ku4v836q/YC4BD4FuXA==, tarball: file:projects/arm-containerservice-1.tgz} + resolution: {integrity: sha512-s0FN4+8+oSIRDw0I2gzkPsczQwjQKgqkaGP1Dz3iIQLSTU7W7d5Ye0kf1j8tcSyYHed1K+mMpnBmn8ADyLNotw==, tarball: file:projects/arm-containerservice-1.tgz} name: '@rush-temp/arm-containerservice-1' version: 0.0.0 dependencies: @@ -10978,7 +10978,7 @@ packages: rollup: 2.77.0 rollup-plugin-sourcemaps: 0.6.3_rollup@2.77.0 tslib: 2.4.0 - typescript: 4.6.4 + typescript: 4.2.4 uglify-js: 3.16.3 transitivePeerDependencies: - '@types/node' @@ -15500,7 +15500,7 @@ packages: dev: false file:projects/confidential-ledger.tgz: - resolution: {integrity: sha512-de0o84npm3jL1+hBEPQSyCyLLCwLkb1TfmYHz1ifP2EfqbYNWOno9OGhYQ1Pmwl8syLHXLFQKFyjCuwRFKzLOQ==, tarball: file:projects/confidential-ledger.tgz} + resolution: {integrity: sha512-4ApUbigjCtpOCsmUatai0tpTUb64Bol1gengWp1yCHfPiLLBVncvTKCbS9BmgSNd95moActSDqO9NX0ZgbYhkg==, tarball: file:projects/confidential-ledger.tgz} name: '@rush-temp/confidential-ledger' version: 0.0.0 dependencies: @@ -16724,7 +16724,7 @@ packages: dev: false file:projects/iot-device-update.tgz: - resolution: {integrity: sha512-F0k6HFfyizFXUkb4uxgsabbyTnT/7FHsYA1aCTGQmW8gcuZDoK7mXH+sXrvSXNY5kvZZkEbkzLLaIgl8EUJeRg==, tarball: file:projects/iot-device-update.tgz} + resolution: {integrity: sha512-T3Z9uNdlw/NhfPROnQOkMm5wnBtEdbICmVJe/YWAB6W9zjyVMRe7Co93JvoPX/bhD9dKD9lGYyM0ynDk8NzQsQ==, tarball: file:projects/iot-device-update.tgz} name: '@rush-temp/iot-device-update' version: 0.0.0 dependencies: @@ -17294,7 +17294,7 @@ packages: dev: false file:projects/notification-hubs.tgz: - resolution: {integrity: sha512-eFM9mBK/EnyVMo3WWsh86Ug0+h8QwBEEgnJwcZigZLqm4heVc7jSGHCSQw3tH1HzKJ2KQ4gnXfgYIlhBndkRoQ==, tarball: file:projects/notification-hubs.tgz} + resolution: {integrity: sha512-aODIr/JRbgUNX4afbNOj0GlVxMhjRgDLQzUjDY7Zary6iK5nOGYXEXmnH44hj0a9OWgjuUbp+xNKfycbQ+sG2w==, tarball: file:projects/notification-hubs.tgz} name: '@rush-temp/notification-hubs' version: 0.0.0 dependencies: @@ -17868,7 +17868,7 @@ packages: dev: false file:projects/purview-administration.tgz: - resolution: {integrity: sha512-xUqb/hQSEKRDBfPVv57iimTv/txwpmjFaoX4QxjesBUxkjt8120JQBuabXEz4a3BnjVcBv9A33qDerUMLXBDNQ==, tarball: file:projects/purview-administration.tgz} + resolution: {integrity: sha512-e1antpcBdLipwLy+zFE7aPnCdwqXtnl97jAIWlG+2d8s70b5AbK/PBI1wAhJ0cD5XyiyhCIRJZcvwEF9dsjWZg==, tarball: file:projects/purview-administration.tgz} name: '@rush-temp/purview-administration' version: 0.0.0 dependencies: @@ -17911,7 +17911,7 @@ packages: dev: false file:projects/purview-catalog.tgz: - resolution: {integrity: sha512-BuzksXkIkTz01dAc5wfXUWSc/La2hZ2V5/e7linKGMMPkDwCXDRTEkczZKuKVE9gdpzF3yk7uLKvvbUxKyX1Jw==, tarball: file:projects/purview-catalog.tgz} + resolution: {integrity: sha512-OFQsRAfGHBGhIIu5tBT2PX85hkLvqi69jgLArvoLB6rdl/vc3ShV5+GaiJLjMaNkAk/H57tcNYQ2wkeVTmd9WA==, tarball: file:projects/purview-catalog.tgz} name: '@rush-temp/purview-catalog' version: 0.0.0 dependencies: @@ -17955,7 +17955,7 @@ packages: dev: false file:projects/purview-scanning.tgz: - resolution: {integrity: sha512-F6MKIuCwN2ycpLafr0w2X8xLbYE7JJp8BEoz3UZ9rmJ3AG6eK+ZnIkihCzze7NVl+OtjySA+ZzLDFjsevuElYg==, tarball: file:projects/purview-scanning.tgz} + resolution: {integrity: sha512-SP2P0V4/NdE6SK4s8ZFfdpW2LdPuMrPU66uOtFGl8Aymw/Ql5E/E3NkMXPL3qttiqOIAx0kEMOU7r4Z24WaTuA==, tarball: file:projects/purview-scanning.tgz} name: '@rush-temp/purview-scanning' version: 0.0.0 dependencies: @@ -18649,7 +18649,7 @@ packages: dev: false file:projects/synapse-access-control.tgz: - resolution: {integrity: sha512-JMdpf6sA+jrhMdibhP31/gUf1qaAzjvqYRciZ7tAEZkZF+N0jRJH7M05publD313aPm1dV/IzN8QF0l01Et7fQ==, tarball: file:projects/synapse-access-control.tgz} + resolution: {integrity: sha512-6IK8LEBqwXvovpG+Q90jy19fqSEBQ9FXDz70j7MX9tKTQle9FCfQNgVO5VDho35CZwBWO7x4fMa6vysiXyZnZA==, tarball: file:projects/synapse-access-control.tgz} name: '@rush-temp/synapse-access-control' version: 0.0.0 dependencies: diff --git a/sdk/containerservice/arm-containerservice/CHANGELOG.md b/sdk/containerservice/arm-containerservice/CHANGELOG.md index 246ab33dedc6..5f6ade5339ab 100644 --- a/sdk/containerservice/arm-containerservice/CHANGELOG.md +++ b/sdk/containerservice/arm-containerservice/CHANGELOG.md @@ -1,16 +1,6 @@ # Release History - -## 17.1.0-beta.2 (Unreleased) - -### Features Added - -### Breaking Changes - -### Bugs Fixed - -### Other Changes - -## 17.1.0-beta.1 (2022-07-25) + +## 17.1.0-beta.2 (2022-08-05) **Features** @@ -19,8 +9,11 @@ - Added operation group ManagedClusterSnapshots - Added operation group TrustedAccessRoleBindings - Added operation group TrustedAccessRoles + - Added operation AgentPools.abortLatestOperation + - Added operation ManagedClusters.abortLatestOperation - Added operation ManagedClusters.beginRotateServiceAccountSigningKeys - Added operation ManagedClusters.beginRotateServiceAccountSigningKeysAndWait + - Added Interface AgentPoolsAbortLatestOperationOptionalParams - Added Interface AzureEntityResource - Added Interface ErrorAdditionalInfo - Added Interface ErrorDetail @@ -47,10 +40,15 @@ - Added Interface FleetsListNextOptionalParams - Added Interface FleetsListOptionalParams - Added Interface FleetsUpdateOptionalParams + - Added Interface ManagedClusterAzureMonitorProfile + - Added Interface ManagedClusterAzureMonitorProfileKubeStateMetrics + - Added Interface ManagedClusterAzureMonitorProfileMetrics - Added Interface ManagedClusterIngressProfile - Added Interface ManagedClusterIngressProfileWebAppRouting - Added Interface ManagedClusterOidcIssuerProfile - Added Interface ManagedClusterPropertiesForSnapshot + - Added Interface ManagedClustersAbortLatestOperationOptionalParams + - Added Interface ManagedClusterSecurityProfileImageCleaner - Added Interface ManagedClusterSecurityProfileNodeRestriction - Added Interface ManagedClusterSecurityProfileWorkloadIdentity - Added Interface ManagedClusterSnapshot @@ -67,6 +65,7 @@ - Added Interface ManagedClusterStorageProfileBlobCSIDriver - Added Interface ManagedClusterWorkloadAutoScalerProfile - Added Interface ManagedClusterWorkloadAutoScalerProfileKeda + - Added Interface ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler - Added Interface NetworkProfileForSnapshot - Added Interface TrustedAccessRole - Added Interface TrustedAccessRoleBinding @@ -80,6 +79,7 @@ - Added Interface TrustedAccessRoleRule - Added Interface TrustedAccessRolesListNextOptionalParams - Added Interface TrustedAccessRolesListOptionalParams + - Added Type Alias ControlledValues - Added Type Alias FleetMemberProvisioningState - Added Type Alias FleetMembersCreateOrUpdateResponse - Added Type Alias FleetMembersGetResponse @@ -109,11 +109,13 @@ - Added Type Alias TrustedAccessRoleBindingsListResponse - Added Type Alias TrustedAccessRolesListNextResponse - Added Type Alias TrustedAccessRolesListResponse + - Added Type Alias UpdateMode - Interface AgentPool has a new optional parameter capacityReservationGroupID - Interface AgentPool has a new optional parameter enableCustomCATrust - Interface AgentPool has a new optional parameter messageOfTheDay - Interface AgentPoolsDeleteOptionalParams has a new optional parameter ignorePodDisruptionBudget - Interface ContainerServiceNetworkProfile has a new optional parameter networkPluginMode + - Interface ManagedCluster has a new optional parameter azureMonitorProfile - Interface ManagedCluster has a new optional parameter creationData - Interface ManagedCluster has a new optional parameter enableNamespaceResources - Interface ManagedCluster has a new optional parameter ingressProfile @@ -126,6 +128,7 @@ - Interface ManagedClusterAPIServerAccessProfile has a new optional parameter subnetId - Interface ManagedClusterHttpProxyConfig has a new optional parameter effectiveNoProxy - Interface ManagedClustersDeleteOptionalParams has a new optional parameter ignorePodDisruptionBudget + - Interface ManagedClusterSecurityProfile has a new optional parameter imageCleaner - Interface ManagedClusterSecurityProfile has a new optional parameter nodeRestriction - Interface ManagedClusterSecurityProfile has a new optional parameter workloadIdentity - Interface ManagedClusterStorageProfile has a new optional parameter blobCSIDriver @@ -135,12 +138,15 @@ - Class ContainerServiceClient has a new parameter managedClusterSnapshots - Class ContainerServiceClient has a new parameter trustedAccessRoleBindings - Class ContainerServiceClient has a new parameter trustedAccessRoles + - Added Enum KnownControlledValues - Added Enum KnownFleetMemberProvisioningState - Added Enum KnownFleetProvisioningState - Added Enum KnownNetworkPluginMode - Added Enum KnownTrustedAccessRoleBindingProvisioningState + - Added Enum KnownUpdateMode - Enum KnownOssku has a new value Windows2019 - Enum KnownOssku has a new value Windows2022 + - Enum KnownPublicNetworkAccess has a new value SecuredByPerimeter - Enum KnownSnapshotType has a new value ManagedCluster diff --git a/sdk/containerservice/arm-containerservice/_meta.json b/sdk/containerservice/arm-containerservice/_meta.json index bdb55b5bb107..cf313e99b928 100644 --- a/sdk/containerservice/arm-containerservice/_meta.json +++ b/sdk/containerservice/arm-containerservice/_meta.json @@ -1,8 +1,8 @@ { - "commit": "405811c51aa09803caedfe17fd305e110db1ca5e", + "commit": "68fdc52d60ef55251c832db63c9ee2c903a33d42", "readme": "specification/containerservice/resource-manager/readme.md", - "autorest_command": "autorest --version=3.7.3 --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\\readme.md --use=@autorest/typescript@6.0.0-rc.1.20220720.1 --generate-sample=true", + "autorest_command": "", "repository_url": "https://github.com/Azure/azure-rest-api-specs.git", - "release_tool": "@azure-tools/js-sdk-release-tools@2.4.0", - "use": "@autorest/typescript@6.0.0-rc.1.20220720.1" + "release_tool": "@azure-tools/js-sdk-release-tools@2.4.1", + "use": "@autorest/typescript@6.0.0-rc.1" } \ No newline at end of file diff --git a/sdk/containerservice/arm-containerservice/package.json b/sdk/containerservice/arm-containerservice/package.json index 26c6e8c21d94..ac9b9314c86d 100644 --- a/sdk/containerservice/arm-containerservice/package.json +++ b/sdk/containerservice/arm-containerservice/package.json @@ -36,7 +36,7 @@ "mkdirp": "^1.0.4", "rollup": "^2.66.1", "rollup-plugin-sourcemaps": "^0.6.3", - "typescript": "~4.6.0", + "typescript": "~4.2.0", "uglify-js": "^3.4.9", "rimraf": "^3.0.0", "@azure/identity": "^2.0.1", @@ -109,13 +109,5 @@ } ] }, - "autoPublish": true, - "//sampleConfiguration": { - "productName": "", - "productSlugs": [ - "azure" - ], - "disableDocsMs": true, - "apiRefLink": "https://docs.microsoft.com/javascript/api/@azure/arm-containerservice?view=azure-node-preview" - } -} + "autoPublish": true +} \ 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 c247d741fe8f..6a3923871671 100644 --- a/sdk/containerservice/arm-containerservice/review/arm-containerservice.api.md +++ b/sdk/containerservice/arm-containerservice/review/arm-containerservice.api.md @@ -88,6 +88,7 @@ export type AgentPoolMode = string; // @public export interface AgentPools { + abortLatestOperation(resourceGroupName: string, resourceName: string, agentPoolName: string, options?: AgentPoolsAbortLatestOperationOptionalParams): Promise; beginCreateOrUpdate(resourceGroupName: string, resourceName: string, agentPoolName: string, parameters: AgentPool, options?: AgentPoolsCreateOrUpdateOptionalParams): Promise, AgentPoolsCreateOrUpdateResponse>>; beginCreateOrUpdateAndWait(resourceGroupName: string, resourceName: string, agentPoolName: string, parameters: AgentPool, options?: AgentPoolsCreateOrUpdateOptionalParams): Promise; beginDelete(resourceGroupName: string, resourceName: string, agentPoolName: string, options?: AgentPoolsDeleteOptionalParams): Promise, void>>; @@ -100,6 +101,10 @@ export interface AgentPools { list(resourceGroupName: string, resourceName: string, options?: AgentPoolsListOptionalParams): PagedAsyncIterableIterator; } +// @public +export interface AgentPoolsAbortLatestOperationOptionalParams extends coreClient.OperationOptions { +} + // @public export interface AgentPoolsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { resumeFrom?: string; @@ -327,6 +332,9 @@ export interface ContainerServiceVMDiagnostics { // @public export type ContainerServiceVMSizeTypes = string; +// @public +export type ControlledValues = string; + // @public export type Count = 1 | 3 | 5; @@ -804,6 +812,12 @@ export enum KnownContainerServiceVMSizeTypes { StandardNV6 = "Standard_NV6" } +// @public +export enum KnownControlledValues { + RequestsAndLimits = "RequestsAndLimits", + RequestsOnly = "RequestsOnly" +} + // @public export enum KnownCreatedByType { Application = "Application", @@ -972,7 +986,8 @@ export enum KnownPrivateEndpointConnectionProvisioningState { // @public export enum KnownPublicNetworkAccess { Disabled = "Disabled", - Enabled = "Enabled" + Enabled = "Enabled", + SecuredByPerimeter = "SecuredByPerimeter" } // @public @@ -1007,6 +1022,14 @@ export enum KnownTrustedAccessRoleBindingProvisioningState { Updating = "Updating" } +// @public +export enum KnownUpdateMode { + Auto = "Auto", + Initial = "Initial", + Off = "Off", + Recreate = "Recreate" +} + // @public export enum KnownUpgradeChannel { NodeImage = "node-image", @@ -1128,6 +1151,7 @@ export interface ManagedCluster extends TrackedResource { apiServerAccessProfile?: ManagedClusterAPIServerAccessProfile; autoScalerProfile?: ManagedClusterPropertiesAutoScalerProfile; autoUpgradeProfile?: ManagedClusterAutoUpgradeProfile; + azureMonitorProfile?: ManagedClusterAzureMonitorProfile; readonly azurePortalFqdn?: string; creationData?: CreationData; readonly currentKubernetesVersion?: string; @@ -1268,6 +1292,23 @@ export interface ManagedClusterAutoUpgradeProfile { upgradeChannel?: UpgradeChannel; } +// @public +export interface ManagedClusterAzureMonitorProfile { + metrics?: ManagedClusterAzureMonitorProfileMetrics; +} + +// @public +export interface ManagedClusterAzureMonitorProfileKubeStateMetrics { + metricAnnotationsAllowList?: string; + metricLabelsAllowlist?: string; +} + +// @public +export interface ManagedClusterAzureMonitorProfileMetrics { + enabled: boolean; + kubeStateMetrics?: ManagedClusterAzureMonitorProfileKubeStateMetrics; +} + // @public export interface ManagedClusterHttpProxyConfig { readonly effectiveNoProxy?: string[]; @@ -1442,6 +1483,7 @@ export interface ManagedClusterPropertiesForSnapshot { // @public export interface ManagedClusters { + abortLatestOperation(resourceGroupName: string, resourceName: string, options?: ManagedClustersAbortLatestOperationOptionalParams): Promise; beginCreateOrUpdate(resourceGroupName: string, resourceName: string, parameters: ManagedCluster, options?: ManagedClustersCreateOrUpdateOptionalParams): Promise, ManagedClustersCreateOrUpdateResponse>>; beginCreateOrUpdateAndWait(resourceGroupName: string, resourceName: string, parameters: ManagedCluster, options?: ManagedClustersCreateOrUpdateOptionalParams): Promise; beginDelete(resourceGroupName: string, resourceName: string, options?: ManagedClustersDeleteOptionalParams): Promise, void>>; @@ -1475,6 +1517,10 @@ export interface ManagedClusters { listOutboundNetworkDependenciesEndpoints(resourceGroupName: string, resourceName: string, options?: ManagedClustersListOutboundNetworkDependenciesEndpointsOptionalParams): PagedAsyncIterableIterator; } +// @public +export interface ManagedClustersAbortLatestOperationOptionalParams extends coreClient.OperationOptions { +} + // @public export interface ManagedClustersCreateOrUpdateOptionalParams extends coreClient.OperationOptions { resumeFrom?: string; @@ -1495,6 +1541,7 @@ export interface ManagedClustersDeleteOptionalParams extends coreClient.Operatio export interface ManagedClusterSecurityProfile { azureKeyVaultKms?: AzureKeyVaultKms; defender?: ManagedClusterSecurityProfileDefender; + imageCleaner?: ManagedClusterSecurityProfileImageCleaner; nodeRestriction?: ManagedClusterSecurityProfileNodeRestriction; workloadIdentity?: ManagedClusterSecurityProfileWorkloadIdentity; } @@ -1510,6 +1557,12 @@ export interface ManagedClusterSecurityProfileDefenderSecurityMonitoring { enabled?: boolean; } +// @public +export interface ManagedClusterSecurityProfileImageCleaner { + enabled?: boolean; + intervalHours?: number; +} + // @public export interface ManagedClusterSecurityProfileNodeRestriction { enabled?: boolean; @@ -1821,6 +1874,8 @@ export interface ManagedClusterWindowsProfile { // @public export interface ManagedClusterWorkloadAutoScalerProfile { keda?: ManagedClusterWorkloadAutoScalerProfileKeda; + // (undocumented) + verticalPodAutoscaler?: ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler; } // @public @@ -1828,6 +1883,13 @@ export interface ManagedClusterWorkloadAutoScalerProfileKeda { enabled: boolean; } +// @public (undocumented) +export interface ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler { + controlledValues: ControlledValues; + enabled: boolean; + updateMode: UpdateMode; +} + // @public (undocumented) export interface ManagedServiceIdentityUserAssignedIdentitiesValue { readonly clientId?: string; @@ -2332,6 +2394,9 @@ export interface TrustedAccessRolesListOptionalParams extends coreClient.Operati // @public export type TrustedAccessRolesListResponse = TrustedAccessRoleListResult; +// @public +export type UpdateMode = string; + // @public export type UpgradeChannel = string; diff --git a/sdk/containerservice/arm-containerservice/src/containerServiceClient.ts b/sdk/containerservice/arm-containerservice/src/containerServiceClient.ts index b349ba1cff98..c845764abdcd 100644 --- a/sdk/containerservice/arm-containerservice/src/containerServiceClient.ts +++ b/sdk/containerservice/arm-containerservice/src/containerServiceClient.ts @@ -98,41 +98,34 @@ export class ContainerServiceClient extends coreClient.ServiceClient { }; super(optionsWithDefaults); - let bearerTokenAuthenticationPolicyFound: boolean = false; if (options?.pipeline && options.pipeline.getOrderedPolicies().length > 0) { const pipelinePolicies: coreRestPipeline.PipelinePolicy[] = options.pipeline.getOrderedPolicies(); - bearerTokenAuthenticationPolicyFound = pipelinePolicies.some( + const bearerTokenAuthenticationPolicyFound = pipelinePolicies.some( (pipelinePolicy) => pipelinePolicy.name === coreRestPipeline.bearerTokenAuthenticationPolicyName ); - } - if ( - !options || - !options.pipeline || - options.pipeline.getOrderedPolicies().length == 0 || - !bearerTokenAuthenticationPolicyFound - ) { - this.pipeline.removePolicy({ - name: coreRestPipeline.bearerTokenAuthenticationPolicyName - }); - this.pipeline.addPolicy( - coreRestPipeline.bearerTokenAuthenticationPolicy({ - credential: credentials, - scopes: `${optionsWithDefaults.credentialScopes}`, - challengeCallbacks: { - authorizeRequestOnChallenge: - coreClient.authorizeRequestOnClaimChallenge - } - }) - ); + if (!bearerTokenAuthenticationPolicyFound) { + this.pipeline.removePolicy({ + name: coreRestPipeline.bearerTokenAuthenticationPolicyName + }); + this.pipeline.addPolicy( + coreRestPipeline.bearerTokenAuthenticationPolicy({ + scopes: `${optionsWithDefaults.baseUri}/.default`, + challengeCallbacks: { + authorizeRequestOnChallenge: + coreClient.authorizeRequestOnClaimChallenge + } + }) + ); + } } // Parameter assignments this.subscriptionId = subscriptionId; // Assigning values to Constant parameters this.$host = options.$host || "https://management.azure.com"; - this.apiVersion = options.apiVersion || "2022-06-02-preview"; + this.apiVersion = options.apiVersion || "2022-07-02-preview"; this.operations = new OperationsImpl(this); this.managedClusters = new ManagedClustersImpl(this); this.maintenanceConfigurations = new MaintenanceConfigurationsImpl(this); diff --git a/sdk/containerservice/arm-containerservice/src/models/index.ts b/sdk/containerservice/arm-containerservice/src/models/index.ts index 78279b36753c..1f86b9933f3b 100644 --- a/sdk/containerservice/arm-containerservice/src/models/index.ts +++ b/sdk/containerservice/arm-containerservice/src/models/index.ts @@ -743,6 +743,8 @@ export interface ManagedClusterSecurityProfile { azureKeyVaultKms?: AzureKeyVaultKms; /** [Workload Identity](https://azure.github.io/azure-workload-identity/docs/) settings for the security profile. */ workloadIdentity?: ManagedClusterSecurityProfileWorkloadIdentity; + /** ImageCleaner settings for the security profile. */ + imageCleaner?: ManagedClusterSecurityProfileImageCleaner; /** [Node Restriction](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#noderestriction) settings for the security profile. */ nodeRestriction?: ManagedClusterSecurityProfileNodeRestriction; } @@ -779,6 +781,14 @@ export interface ManagedClusterSecurityProfileWorkloadIdentity { enabled?: boolean; } +/** ImageCleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here are settings for the security profile. */ +export interface ManagedClusterSecurityProfileImageCleaner { + /** Whether to enable ImageCleaner on AKS cluster. */ + enabled?: boolean; + /** ImageCleaner scanning interval. */ + intervalHours?: number; +} + /** Node Restriction settings for the security profile. */ export interface ManagedClusterSecurityProfileNodeRestriction { /** Whether to enable Node Restriction */ @@ -841,6 +851,7 @@ export interface ManagedClusterIngressProfileWebAppRouting { export interface ManagedClusterWorkloadAutoScalerProfile { /** KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. */ keda?: ManagedClusterWorkloadAutoScalerProfileKeda; + verticalPodAutoscaler?: ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler; } /** KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. */ @@ -849,6 +860,37 @@ export interface ManagedClusterWorkloadAutoScalerProfileKeda { enabled: boolean; } +export interface ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler { + /** Whether to enable VPA. Default value is false. */ + enabled: boolean; + /** Controls which resource value autoscaler will change. Default value is RequestsAndLimits. */ + controlledValues: ControlledValues; + /** Each update mode level is a superset of the lower levels. Off { + return this.client.sendOperationRequest( + { resourceGroupName, resourceName, agentPoolName, options }, + abortLatestOperationOperationSpec + ); + } + /** * Gets a list of agent pools in the specified managed cluster. * @param resourceGroupName The name of the resource group. The name is case insensitive. @@ -475,6 +498,27 @@ export class AgentPoolsImpl implements AgentPools { // Operation Specifications const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); +const abortLatestOperationOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedclusters/{resourceName}/agentPools/{agentPoolName}/abort", + httpMethod: "POST", + responses: { + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.resourceName, + Parameters.agentPoolName + ], + headerParameters: [Parameters.accept], + serializer +}; const listOperationSpec: coreClient.OperationSpec = { path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools", @@ -611,6 +655,9 @@ const getAvailableAgentPoolVersionsOperationSpec: coreClient.OperationSpec = { responses: { 200: { bodyMapper: Mappers.AgentPoolAvailableVersions + }, + default: { + bodyMapper: Mappers.CloudError } }, queryParameters: [Parameters.apiVersion], diff --git a/sdk/containerservice/arm-containerservice/src/operations/managedClusters.ts b/sdk/containerservice/arm-containerservice/src/operations/managedClusters.ts index d5c53c65fd5b..7366d18f574e 100644 --- a/sdk/containerservice/arm-containerservice/src/operations/managedClusters.ts +++ b/sdk/containerservice/arm-containerservice/src/operations/managedClusters.ts @@ -49,6 +49,7 @@ import { ManagedClustersResetServicePrincipalProfileOptionalParams, ManagedClusterAADProfile, ManagedClustersResetAADProfileOptionalParams, + ManagedClustersAbortLatestOperationOptionalParams, ManagedClustersRotateClusterCertificatesOptionalParams, ManagedClustersRotateServiceAccountSigningKeysOptionalParams, ManagedClustersStopOptionalParams, @@ -832,6 +833,27 @@ export class ManagedClustersImpl implements ManagedClusters { return poller.pollUntilDone(); } + /** + * Aborting last running operation on managed cluster. We return a 204 no content code here to + * indicate that the operation has been accepted and an abort will be attempted but is not guaranteed + * to complete successfully. Please look up the provisioning state of the managed cluster to keep track + * of whether it changes to Canceled. A canceled provisioning state indicates that the abort was + * successful + * @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. + */ + abortLatestOperation( + resourceGroupName: string, + resourceName: string, + options?: ManagedClustersAbortLatestOperationOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, resourceName, options }, + abortLatestOperationOperationSpec + ); + } + /** * See [Certificate rotation](https://docs.microsoft.com/azure/aks/certificate-rotation) for more * details about rotating managed cluster certificates. @@ -1700,6 +1722,26 @@ const resetAADProfileOperationSpec: coreClient.OperationSpec = { mediaType: "json", serializer }; +const abortLatestOperationOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedclusters/{resourceName}/abort", + httpMethod: "POST", + responses: { + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.resourceName + ], + headerParameters: [Parameters.accept], + serializer +}; const rotateClusterCertificatesOperationSpec: coreClient.OperationSpec = { path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/rotateClusterCertificates", diff --git a/sdk/containerservice/arm-containerservice/src/operationsInterfaces/agentPools.ts b/sdk/containerservice/arm-containerservice/src/operationsInterfaces/agentPools.ts index 4e16d6840a5d..9ef428b30853 100644 --- a/sdk/containerservice/arm-containerservice/src/operationsInterfaces/agentPools.ts +++ b/sdk/containerservice/arm-containerservice/src/operationsInterfaces/agentPools.ts @@ -11,6 +11,7 @@ import { PollerLike, PollOperationState } from "@azure/core-lro"; import { AgentPool, AgentPoolsListOptionalParams, + AgentPoolsAbortLatestOperationOptionalParams, AgentPoolsGetOptionalParams, AgentPoolsGetResponse, AgentPoolsCreateOrUpdateOptionalParams, @@ -37,6 +38,22 @@ export interface AgentPools { resourceName: string, options?: AgentPoolsListOptionalParams ): PagedAsyncIterableIterator; + /** + * Aborting last running operation on agent pool. We return a 204 no content code here to indicate that + * the operation has been accepted and an abort will be attempted but is not guaranteed to complete + * successfully. Please look up the provisioning state of the agent pool to keep track of whether it + * changes to Canceled. A canceled provisioning state indicates that the abort was successful + * @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. + */ + abortLatestOperation( + resourceGroupName: string, + resourceName: string, + agentPoolName: string, + options?: AgentPoolsAbortLatestOperationOptionalParams + ): Promise; /** * Gets the specified managed cluster agent pool. * @param resourceGroupName The name of the resource group. The name is case insensitive. diff --git a/sdk/containerservice/arm-containerservice/src/operationsInterfaces/managedClusters.ts b/sdk/containerservice/arm-containerservice/src/operationsInterfaces/managedClusters.ts index 5d7cb831a154..46e3c9106d03 100644 --- a/sdk/containerservice/arm-containerservice/src/operationsInterfaces/managedClusters.ts +++ b/sdk/containerservice/arm-containerservice/src/operationsInterfaces/managedClusters.ts @@ -38,6 +38,7 @@ import { ManagedClustersResetServicePrincipalProfileOptionalParams, ManagedClusterAADProfile, ManagedClustersResetAADProfileOptionalParams, + ManagedClustersAbortLatestOperationOptionalParams, ManagedClustersRotateClusterCertificatesOptionalParams, ManagedClustersRotateServiceAccountSigningKeysOptionalParams, ManagedClustersStopOptionalParams, @@ -297,6 +298,21 @@ export interface ManagedClusters { parameters: ManagedClusterAADProfile, options?: ManagedClustersResetAADProfileOptionalParams ): Promise; + /** + * Aborting last running operation on managed cluster. We return a 204 no content code here to + * indicate that the operation has been accepted and an abort will be attempted but is not guaranteed + * to complete successfully. Please look up the provisioning state of the managed cluster to keep track + * of whether it changes to Canceled. A canceled provisioning state indicates that the abort was + * successful + * @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. + */ + abortLatestOperation( + resourceGroupName: string, + resourceName: string, + options?: ManagedClustersAbortLatestOperationOptionalParams + ): Promise; /** * See [Certificate rotation](https://docs.microsoft.com/azure/aks/certificate-rotation) for more * details about rotating managed cluster certificates. 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"