From dea99bf37018b3914cd43a0750354671bfe58988 Mon Sep 17 00:00:00 2001 From: NarayanThiru Date: Fri, 17 Sep 2021 19:54:40 -0700 Subject: [PATCH] Dev kubernetesconfiguration microsoft.kubernetes configuration 2021 09 01 (#15593) * Add blockchain to latest profile * Add additional types * Adds base for updating Microsoft.KubernetesConfiguration from version common/2021-05-01-preview to version 2021-09-01 * Updates readme * Updates API version in new specs and examples * Extension GA - apiversion 2021-09-01 * Move definitions.json to the correct folder * Add Patch example * Prettier fix * Patch response fix * Avocado fixes * Additional fixes * Fixes for Model and Semantic validations * Additional fixes * Fix patch example * Prettier fix for definitions.json * Readme.md spacing fix * Add AKSIdentity object * Prettier and Lint Diff fixes * Change Patch response to 202, per review * Update Patch response body to adhere to API guidance * Added Suppression for Patch 202 response * Fix linter issues * Fix linter issues * Fix Linter and Model validation errors * Fix ModelValidation and Prettier issues * Move suppression to the GA version * Move suppression to global * Move suppression back to the GA version * Update suppression * Fix errors from SDK generation * Prettier fix * Remove definitions.json and move the defs. into extensions.json * Remove azure-validator Co-authored-by: Mark Cowlishaw Co-authored-by: nanthi --- profiles/definitions/latest-2019-04-30.md | 15 + .../2021-09-01/examples/CreateExtension.json | 106 ++ .../2021-09-01/examples/DeleteExtension.json | 21 + .../examples/GetAsyncOperationStatus.json | 24 + .../2021-09-01/examples/GetExtension.json | 47 + .../examples/ListAsyncOperationStatus.json | 33 + .../2021-09-01/examples/ListExtensions.json | 76 ++ .../2021-09-01/examples/OperationsList.json | 68 ++ .../2021-09-01/examples/PatchExtension.json | 62 ++ .../stable/2021-09-01/extensions.json | 923 ++++++++++++++++++ .../resource-manager/readme.md | 57 +- 11 files changed, 1429 insertions(+), 3 deletions(-) create mode 100644 specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2021-09-01/examples/CreateExtension.json create mode 100644 specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2021-09-01/examples/DeleteExtension.json create mode 100644 specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2021-09-01/examples/GetAsyncOperationStatus.json create mode 100644 specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2021-09-01/examples/GetExtension.json create mode 100644 specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2021-09-01/examples/ListAsyncOperationStatus.json create mode 100644 specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2021-09-01/examples/ListExtensions.json create mode 100644 specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2021-09-01/examples/OperationsList.json create mode 100644 specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2021-09-01/examples/PatchExtension.json create mode 100644 specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2021-09-01/extensions.json diff --git a/profiles/definitions/latest-2019-04-30.md b/profiles/definitions/latest-2019-04-30.md index d232011ad030..5a4f50360390 100644 --- a/profiles/definitions/latest-2019-04-30.md +++ b/profiles/definitions/latest-2019-04-30.md @@ -41,6 +41,21 @@ profiles: - managedClusters/accessProfiles '2017-07-01': - containerServices + microsoft.blockchain: + '2018-06-01-preview': + - blockchainMembers + - blockchainMembers/consortiumMembers + - blockchainMembers/listApiKeys + - lockchainMembers/regenerateApiKeys + - blockchainMembers/transactionNodes + - blockchainMembers/transactionNodes/listApiKeys + - blockchainMembers/transactionNodes/regenerateApiKeys + - locations + - locations/blockchainMemberOperationResults + - locations/checkNameAvailability + - locations/listConsortiums + - operations + - skus microsoft.capacity: '2019-04-01': - appliedReservations diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2021-09-01/examples/CreateExtension.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2021-09-01/examples/CreateExtension.json new file mode 100644 index 000000000000..187e24209ce0 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2021-09-01/examples/CreateExtension.json @@ -0,0 +1,106 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "extensionName": "ClusterMonitor", + "api-version": "2021-09-01", + "clusterName": "clusterName1", + "extension": { + "properties": { + "extensionType": "azuremonitor-containers", + "autoUpgradeMinorVersion": true, + "releaseTrain": "Preview", + "scope": { + "cluster": { + "releaseNamespace": "kube-system" + } + }, + "configurationSettings": { + "omsagent.secret.wsid": "a38cef99-5a89-52ed-b6db-22095c23664b", + "omsagent.env.clusterName": "clusterName1" + }, + "configurationProtectedSettings": { + "omsagent.secret.key": "secretKeyValue01" + } + } + } + }, + "responses": { + "201": { + "headers": { + "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor/operations/{operationId}", + "x-ms-async-operation-timeout": "PT48H" + }, + "description": "Details of the Kubernetes Extension's current status.", + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor", + "type": "Microsoft.KubernetesConfiguration/extensions", + "name": "ClusterMonitor", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-09-08T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-09-08T05:10:57.027Z" + }, + "properties": { + "extensionType": "azuremonitor-containers", + "autoUpgradeMinorVersion": true, + "releaseTrain": "Preview", + "version": "0.1.4", + "scope": { + "cluster": { + "releaseNamespace": "kube-system" + } + }, + "configurationSettings": { + "omsagent.secret.wsid": "a38cef99-5a89-52ed-b6db-22095c23664b", + "omsagent.env.clusterName": "clusterName1" + }, + "provisioningState": "Creating", + "statuses": [] + } + } + }, + "200": { + "headers": { + "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor/operations/{operationId}", + "x-ms-async-operation-timeout": "PT48H" + }, + "description": "Details of the Kubernetes Extension's current status.", + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor", + "type": "Microsoft.KubernetesConfiguration/extensions", + "name": "ClusterMonitor", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-09-08T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-09-08T05:10:57.027Z" + }, + "properties": { + "extensionType": "azuremonitor-containers", + "autoUpgradeMinorVersion": true, + "releaseTrain": "Preview", + "version": "0.1.4", + "scope": { + "cluster": { + "releaseNamespace": "kube-system" + } + }, + "configurationSettings": { + "omsagent.secret.wsid": "a38cef99-5a89-52ed-b6db-22095c23664b", + "omsagent.env.clusterName": "clusterName1" + }, + "provisioningState": "Creating", + "statuses": [] + } + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2021-09-01/examples/DeleteExtension.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2021-09-01/examples/DeleteExtension.json new file mode 100644 index 000000000000..09d346f3d552 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2021-09-01/examples/DeleteExtension.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "extensionName": "ClusterMonitor", + "api-version": "2021-09-01", + "clusterName": "clusterName1" + }, + "responses": { + "202": { + "headers": { + "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor/operations/{operationId}", + "x-ms-async-operation-timeout": "PT1H" + } + }, + "200": {}, + "204": {} + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2021-09-01/examples/GetAsyncOperationStatus.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2021-09-01/examples/GetAsyncOperationStatus.json new file mode 100644 index 000000000000..9b778cac2bec --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2021-09-01/examples/GetAsyncOperationStatus.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "extensionName": "ClusterMonitor", + "api-version": "2021-09-01", + "clusterName": "clusterName1", + "operationId": "99999999-9999-9999-9999-999999999999" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor/operations/99999999-9999-9999-9999-999999999999", + "name": "99999999-9999-9999-9999-999999999999", + "status": "Succeeded", + "properties": {}, + "error": null + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2021-09-01/examples/GetExtension.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2021-09-01/examples/GetExtension.json new file mode 100644 index 000000000000..2e563cd992e1 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2021-09-01/examples/GetExtension.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "extensionName": "ClusterMonitor", + "api-version": "2021-09-01", + "clusterName": "clusterName1" + }, + "responses": { + "200": { + "headers": {}, + "description": "Details of the Kubernetes Extension's current status.", + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor", + "type": "Microsoft.KubernetesConfiguration/extensions", + "name": "ClusterMonitor", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-09-08T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-09-08T05:10:57.027Z" + }, + "properties": { + "extensionType": "azuremonitor-containers", + "autoUpgradeMinorVersion": true, + "releaseTrain": "Preview", + "version": "0.1.4", + "scope": { + "cluster": { + "releaseNamespace": "kube-system" + } + }, + "configurationSettings": { + "omsagent.secret.wsid": "a38cef99-5a89-52ed-b6db-22095c23664b", + "omsagent.env.clusterName": "clusterName1" + }, + "provisioningState": "Creating", + "statuses": [] + } + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2021-09-01/examples/ListAsyncOperationStatus.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2021-09-01/examples/ListAsyncOperationStatus.json new file mode 100644 index 000000000000..bdad45aea1ac --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2021-09-01/examples/ListAsyncOperationStatus.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "api-version": "2021-09-01", + "clusterName": "clusterName1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor/operations/99999999-9999-9999-9999-999999999999", + "name": "99999999-9999-9999-9999-999999999999", + "status": "Deleting", + "properties": {}, + "error": null + }, + { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/cassandraExtension1/operations/88888888-8888-8888-8888-888888888888", + "name": "88888888-8888-8888-8888-888888888888", + "status": "Creating", + "properties": {}, + "error": null + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2021-09-01/examples/ListExtensions.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2021-09-01/examples/ListExtensions.json new file mode 100644 index 000000000000..bf276ad0aaa0 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2021-09-01/examples/ListExtensions.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "api-version": "2021-09-01", + "clusterName": "clusterName1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor", + "type": "Microsoft.KubernetesConfiguration/extensions", + "name": "ClusterMonitor", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-09-08T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-09-08T05:10:57.027Z" + }, + "properties": { + "extensionType": "azuremonitor-containers", + "autoUpgradeMinorVersion": true, + "releaseTrain": "Preview", + "version": "0.1.4", + "scope": { + "cluster": { + "releaseNamespace": "kube-system" + } + }, + "configurationSettings": { + "omsagent.secret.wsid": "a38cef99-5a89-52ed-b6db-22095c23664b", + "omsagent.env.clusterName": "clusterName1" + }, + "provisioningState": "Creating", + "statuses": [] + } + }, + { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/BackupVault01", + "type": "Microsoft.KubernetesConfiguration/extensions", + "name": "App1Monitor", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-09-08T04:09:23.011Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-09-08T04:09:23.011Z" + }, + "properties": { + "extensionType": "Microsoft.RecoveryServices/recoveryVault", + "autoUpgradeMinorVersion": false, + "releaseTrain": "Stable", + "version": "1.0.1", + "scope": { + "cluster": { + "releaseNamespace": "myKVNamespace" + } + }, + "configurationSettings": {}, + "provisioningState": "Creating", + "statuses": [] + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2021-09-01/examples/OperationsList.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2021-09-01/examples/OperationsList.json new file mode 100644 index 000000000000..23f8464163c4 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2021-09-01/examples/OperationsList.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2021-09-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.KubernetesConfiguration/extensions/read", + "display": { + "provider": "Microsoft KubernetesConfiguration", + "resource": "extensions", + "operation": "Get extension", + "description": "Get the specified Extension." + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.KubernetesConfiguration/extensions/write", + "display": { + "provider": "Microsoft KubernetesConfiguration", + "resource": "extensions", + "operation": "Create or Update a Extension", + "description": "Create or Update the Extension specified." + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.KubernetesConfiguration/extensions/delete", + "display": { + "provider": "Microsoft KubernetesConfiguration", + "resource": "extensions", + "operation": "Delete Extension", + "description": "Delete the specified Extension." + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.KubernetesConfiguration/extensions/operations/read", + "display": { + "provider": "Microsoft KubernetesConfiguration", + "resource": "extensions", + "operation": "Get Extension Async Operation Status", + "description": "Get the Status of the Extension Async Operation." + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.KubernetesConfiguration/register/action", + "display": { + "operation": "Microsoft.KubernetesConfiguration/register/action", + "resource": "Register", + "description": "Registers subscription to Microsoft.KubernetesConfiguration resource provider.", + "provider": "Microsoft Kubernetes Configuration" + }, + "isDataAction": false, + "origin": "user,system" + } + ] + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2021-09-01/examples/PatchExtension.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2021-09-01/examples/PatchExtension.json new file mode 100644 index 000000000000..d8f9f78cec93 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2021-09-01/examples/PatchExtension.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "extensionName": "ClusterMonitor", + "api-version": "2021-09-01", + "clusterName": "clusterName1", + "patchExtension": { + "properties": { + "autoUpgradeMinorVersion": true, + "releaseTrain": "Preview", + "configurationSettings": { + "omsagent.secret.wsid": "a38cef99-5a89-52ed-b6db-22095c23664b", + "omsagent.env.clusterName": "clusterName1" + }, + "configurationProtectedSettings": { + "omsagent.secret.key": "secretKeyValue01" + } + } + } + }, + "responses": { + "202": { + "headers": { + "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor/operations/{operationId}", + "x-ms-async-operation-timeout": "PT48H" + }, + "description": "Extension properties and details of the Patch operation, including AsyncOperation url.", + "body": { + "properties": { + "extensionType": "azuremonitor-containers", + "autoUpgradeMinorVersion": true, + "releaseTrain": "Preview", + "version": "0.1.4", + "scope": { + "cluster": { + "releaseNamespace": "kube-system" + } + }, + "configurationSettings": { + "omsagent.secret.wsid": "a38cef99-5a89-52ed-b6db-22095c23664b", + "omsagent.env.clusterName": "clusterName1" + }, + "provisioningState": "Updating", + "statuses": [] + } + } + }, + "409": { + "headers": {}, + "description": "Conflict failure, as another Patch operation is in progress", + "body": { + "error": { + "code": "PatchConflict", + "message": "The PATCH method cannot be completed due to a conflict. (ProvisioningState of extension: Updating). Please wait for a few minutes for the ProvisioningState to change to Succeeded, Failed or Canceled and retry again. If the problem persists, please contact Microsoft support." + } + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2021-09-01/extensions.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2021-09-01/extensions.json new file mode 100644 index 000000000000..9e48920b8bb0 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2021-09-01/extensions.json @@ -0,0 +1,923 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-09-01", + "title": "ExtensionsClient", + "description": "Use these APIs to create extension resources through ARM, for Kubernetes Clusters." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}": { + "put": { + "tags": [ + "Extensions", + "ClusterExtensions" + ], + "description": "Create a new Kubernetes Cluster Extension.", + "operationId": "Extensions_Create", + "x-ms-examples": { + "Create Extension": { + "$ref": "./examples/CreateExtension.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClusterRpParameter" + }, + { + "$ref": "#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ExtensionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "extension", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Extension" + }, + "description": "Properties necessary to Create an Extension." + } + ], + "responses": { + "201": { + "description": "Request received successfully.", + "schema": { + "$ref": "#/definitions/Extension" + } + }, + "200": { + "description": "Request received successfully for an existing resource.", + "schema": { + "$ref": "#/definitions/Extension" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "get": { + "tags": [ + "Extensions", + "ClusterExtensions" + ], + "description": "Gets Kubernetes Cluster Extension.", + "operationId": "Extensions_Get", + "x-ms-examples": { + "Get Extension": { + "$ref": "./examples/GetExtension.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClusterRpParameter" + }, + { + "$ref": "#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ExtensionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Extension" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Extensions", + "ClusterExtensions" + ], + "description": "Delete a Kubernetes Cluster Extension. This will cause the Agent to Uninstall the extension from the cluster.", + "operationId": "Extensions_Delete", + "x-ms-examples": { + "Delete Extension": { + "$ref": "./examples/DeleteExtension.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClusterRpParameter" + }, + { + "$ref": "#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ExtensionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "forceDelete", + "in": "query", + "description": "Delete the extension resource in Azure - not the normal asynchronous delete.", + "type": "boolean" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted. The request has been accepted for processing." + }, + "204": { + "description": "No Content. The request has been accepted but the extension was not found." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "Extensions", + "ClusterExtensions" + ], + "description": "Patch an existing Kubernetes Cluster Extension.", + "operationId": "Extensions_Update", + "x-ms-examples": { + "Update Extension": { + "$ref": "./examples/PatchExtension.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClusterRpParameter" + }, + { + "$ref": "#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ExtensionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "patchExtension", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/patchExtension" + }, + "description": "Properties to Patch in an existing Extension." + } + ], + "responses": { + "202": { + "description": "Request received successfully, and the resource will be updated asynchronously.", + "schema": { + "$ref": "#/definitions/Extension" + } + }, + "409": { + "description": "Conflict", + "x-ms-error-response": true, + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions": { + "get": { + "tags": [ + "Extensions", + "ClusterExtensions" + ], + "description": "List all Extensions in the cluster.", + "operationId": "Extensions_List", + "x-ms-examples": { + "List Extensions": { + "$ref": "./examples/ListExtensions.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClusterRpParameter" + }, + { + "$ref": "#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ExtensionsList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/operations": { + "get": { + "tags": [ + "Operations in a Cluster" + ], + "operationId": "OperationStatus_List", + "description": "List Async Operations, currently in progress, in a cluster", + "x-ms-examples": { + "AsyncOperationStatus List": { + "$ref": "./examples/ListAsyncOperationStatus.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClusterRpParameter" + }, + { + "$ref": "#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Operations in a cluster", + "schema": { + "$ref": "#/definitions/OperationStatusList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}/operations/{operationId}": { + "get": { + "tags": [ + "Operation Status" + ], + "operationId": "OperationStatus_Get", + "description": "Get Async Operation status", + "x-ms-examples": { + "AsyncOperationStatus Get": { + "$ref": "./examples/GetAsyncOperationStatus.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClusterRpParameter" + }, + { + "$ref": "#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ExtensionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "operationId", + "in": "path", + "description": "operation Id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Operation Status", + "schema": { + "$ref": "#/definitions/OperationStatusResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.KubernetesConfiguration/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "x-ms-examples": { + "BatchAccountDelete": { + "$ref": "./examples/OperationsList.json" + } + }, + "description": "List all the available operations the KubernetesConfiguration resource provider supports, in this api-version.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "#/definitions/ResourceProviderOperationList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "ScopeCluster": { + "description": "Specifies that the scope of the extension is Cluster", + "x-nullable": true, + "type": "object", + "properties": { + "releaseNamespace": { + "description": "Namespace where the extension Release must be placed, for a Cluster scoped extension. If this namespace does not exist, it will be created", + "type": "string" + } + } + }, + "ScopeNamespace": { + "description": "Specifies that the scope of the extension is Namespace", + "x-nullable": true, + "type": "object", + "properties": { + "targetNamespace": { + "description": "Namespace where the extension will be created for an Namespace scoped extension. If this namespace does not exist, it will be created", + "type": "string" + } + } + }, + "Scope": { + "description": "Scope of the extension. It can be either Cluster or Namespace; but not both.", + "type": "object", + "properties": { + "cluster": { + "$ref": "#/definitions/ScopeCluster" + }, + "namespace": { + "$ref": "#/definitions/ScopeNamespace" + } + } + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "The provisioning state of the extension resource.", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Creating", + "Updating", + "Deleting" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "ExtensionStatus": { + "description": "Status from the extension.", + "type": "object", + "readOnly": true, + "properties": { + "code": { + "type": "string", + "description": "Status code provided by the Extension" + }, + "displayStatus": { + "type": "string", + "description": "Short description of status of the extension." + }, + "level": { + "type": "string", + "description": "Level of the status.", + "enum": [ + "Error", + "Warning", + "Information" + ], + "default": "Information", + "x-ms-enum": { + "name": "LevelType", + "modelAsString": true + } + }, + "message": { + "type": "string", + "description": "Detailed message of the status from the Extension." + }, + "time": { + "type": "string", + "description": "DateLiteral (per ISO8601) noting the time of installation status." + } + } + }, + "Extension": { + "description": "The Extension object.", + "type": "object", + "properties": { + "properties": { + "type": "object", + "x-ms-client-flatten": true, + "description": "Properties of an Extension resource", + "properties": { + "extensionType": { + "description": "Type of the Extension, of which this resource is an instance of. It must be one of the Extension Types registered with Microsoft.KubernetesConfiguration by the Extension publisher.", + "type": "string" + }, + "autoUpgradeMinorVersion": { + "description": "Flag to note if this extension participates in auto upgrade of minor version, or not.", + "type": "boolean", + "default": true + }, + "releaseTrain": { + "description": "ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'.", + "type": "string", + "default": "Stable" + }, + "version": { + "description": "Version of the extension for this extension, if it is 'pinned' to a specific version. autoUpgradeMinorVersion must be 'false'.", + "type": "string" + }, + "scope": { + "description": "Scope at which the extension is installed.", + "$ref": "#/definitions/Scope" + }, + "configurationSettings": { + "description": "Configuration settings, as name-value pairs for configuring this extension.", + "type": "object", + "x-nullable": true, + "additionalProperties": { + "type": "string" + } + }, + "configurationProtectedSettings": { + "description": "Configuration settings that are sensitive, as name-value pairs for configuring this extension.", + "type": "object", + "x-nullable": true, + "x-ms-secret": true, + "additionalProperties": { + "type": "string" + } + }, + "provisioningState": { + "$ref": "#/definitions/provisioningState" + }, + "statuses": { + "description": "Status from this extension.", + "type": "array", + "x-nullable": true, + "items": { + "$ref": "#/definitions/ExtensionStatus" + } + }, + "errorInfo": { + "x-nullable": true, + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorDetail" + }, + "customLocationSettings": { + "description": "Custom Location settings properties.", + "type": "object", + "readOnly": true, + "x-nullable": true, + "additionalProperties": { + "type": "string" + } + }, + "packageUri": { + "description": "Uri of the Helm package", + "type": "string", + "readOnly": true, + "x-nullable": true + }, + "aksAssignedIdentity": { + "description": "Identity of the Extension resource in an AKS cluster", + "x-nullable": true, + "type": "object", + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal ID of resource identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant ID of resource." + }, + "type": { + "type": "string", + "description": "The identity type.", + "enum": [ + "SystemAssigned" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": false + } + } + } + } + } + }, + "identity": { + "description": "Identity of the Extension resource", + "x-nullable": true, + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/Identity" + }, + "systemData": { + "description": "Top level metadata https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ] + }, + "ExtensionsList": { + "description": "Result of the request to list Extensions. It contains a list of Extension objects and a URL link to get the next set of results.", + "type": "object", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Extension" + }, + "description": "List of Extensions within a Kubernetes cluster." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "URL to get the next set of extension objects, if any." + } + } + }, + "ResourceProviderOperation": { + "description": "Supported operation of this resource provider.", + "type": "object", + "readOnly": true, + "properties": { + "name": { + "description": "Operation name, in format of {provider}/{resource}/{operation}", + "type": "string" + }, + "display": { + "description": "Display metadata associated with the operation.", + "type": "object", + "properties": { + "provider": { + "description": "Resource provider: Microsoft KubernetesConfiguration.", + "type": "string" + }, + "resource": { + "description": "Resource on which the operation is performed.", + "type": "string" + }, + "operation": { + "description": "Type of operation: get, read, delete, etc.", + "type": "string" + }, + "description": { + "description": "Description of this operation.", + "type": "string" + } + } + }, + "isDataAction": { + "description": "The flag that indicates whether the operation applies to data plane.", + "type": "boolean", + "readOnly": true + }, + "origin": { + "description": "Origin of the operation", + "type": "string", + "readOnly": true + } + } + }, + "ResourceProviderOperationList": { + "description": "Result of the request to list operations.", + "type": "object", + "readOnly": true, + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceProviderOperation" + }, + "description": "List of operations supported by this resource provider." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "URL to the next set of results, if any." + } + } + }, + "OperationStatusResult": { + "description": "The current status of an async operation.", + "type": "object", + "required": [ + "status" + ], + "properties": { + "id": { + "description": "Fully qualified ID for the async operation.", + "type": "string" + }, + "name": { + "description": "Name of the async operation.", + "type": "string" + }, + "status": { + "description": "Operation status.", + "type": "string" + }, + "properties": { + "description": "Additional information, if available.", + "type": "object", + "x-nullable": true, + "x-ms-client-flatten": true, + "additionalProperties": { + "type": "string" + } + }, + "error": { + "x-nullable": true, + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorDetail" + } + } + }, + "OperationStatusList": { + "description": "The async operations in progress, in the cluster.", + "type": "object", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/OperationStatusResult" + }, + "description": "List of async operations in progress, in the cluster." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "URL to get the next set of Operation Result objects, if any." + } + } + }, + "patchExtension": { + "description": "The Extension Patch Request object.", + "type": "object", + "properties": { + "properties": { + "type": "object", + "x-ms-client-flatten": true, + "description": "Updatable properties of an Extension Patch Request", + "properties": { + "autoUpgradeMinorVersion": { + "description": "Flag to note if this extension participates in auto upgrade of minor version, or not.", + "type": "boolean", + "default": true + }, + "releaseTrain": { + "description": "ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'.", + "type": "string", + "default": "Stable" + }, + "version": { + "description": "Version of the extension for this extension, if it is 'pinned' to a specific version. autoUpgradeMinorVersion must be 'false'.", + "type": "string" + }, + "configurationSettings": { + "description": "Configuration settings, as name-value pairs for configuring this extension.", + "type": "object", + "x-nullable": true, + "additionalProperties": { + "type": "string" + } + }, + "configurationProtectedSettings": { + "description": "Configuration settings that are sensitive, as name-value pairs for configuring this extension.", + "type": "object", + "x-nullable": true, + "x-ms-secret": true, + "additionalProperties": { + "type": "string" + } + } + } + } + } + } + }, + "parameters": { + "ExtensionNameParameter": { + "name": "extensionName", + "in": "path", + "description": "Name of the Extension.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ClusterRpParameter": { + "name": "clusterRp", + "in": "path", + "required": true, + "type": "string", + "enum": [ + "Microsoft.ContainerService", + "Microsoft.Kubernetes" + ], + "description": "The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters).", + "x-ms-parameter-location": "method" + }, + "ClusterResourceNameParameter": { + "name": "clusterResourceName", + "in": "path", + "required": true, + "type": "string", + "enum": [ + "managedClusters", + "connectedClusters" + ], + "description": "The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters).", + "x-ms-parameter-location": "method" + }, + "ClusterNameParameter": { + "name": "clusterName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the kubernetes cluster.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/readme.md b/specification/kubernetesconfiguration/resource-manager/readme.md index 8d33b069ead1..48f2e9a7a74e 100644 --- a/specification/kubernetesconfiguration/resource-manager/readme.md +++ b/specification/kubernetesconfiguration/resource-manager/readme.md @@ -28,20 +28,72 @@ These are the global settings for the KubernetesConfiguration. title: SourceControlConfigurationClient description: KubernetesConfiguration Client openapi-type: arm -tag: package-preview-2021-05 +tag: package-2021-09 ``` +--- + +### Tag: package-2021-09 + +These settings apply only when `--tag=package-2021-09` is specified on the command line. + +``` yaml $(tag) == 'package-2021-09' +input-file: + - Microsoft.KubernetesConfiguration/stable/2021-09-01/extensions.json +``` + +--- +## Suppression +```yaml +directive: + - suppress: LongRunningResponseStatusCode + reason: The validation tools do not properly recognize 202 as a supported response code. + from: extensions.json + - suppress: TopLevelResourcesListBySubscription + reason: 'Microsoft.KubernetesConfiguration is a proxy resource provider under Microsoft.Kubernetes' + from: extensions.json + - suppress: BodyTopLevelProperties + where: $.definitions.Extension.properties + from: extensions.json + reason: |- + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources + + The systemData should be top level element based on the new requirement: + { + "id": "/subscriptions/{id}/resourceGroups/{group}/providers/{rpns}/{type}/{name}", + "name": "{name}", + "type": "{resourceProviderNamespace}/{resourceType}", + "location": "North US", + "systemData":{ + "createdBy": "", + "createdByType": "", + "createdAt": "", + "lastModifiedBy": "", + "lastModifiedByType": "", + "lastModifiedAt": "" + }, + "tags": { + "key1": "value 1", + "key2": "value 2" + }, + "kind": "resource kind", + "properties": { + "comment": "Resource defined structure" + } + } +``` ### Tag: package-preview-2021-05 These settings apply only when `--tag=package-preview-2021-05` is specified on the command line. -```yaml $(tag) == 'package-preview-2021-05' +``` yaml $(tag) == 'package-preview-2021-05' input-file: - Microsoft.KubernetesConfiguration/preview/2021-05-01-preview/extensions.json - Microsoft.KubernetesConfiguration/preview/2021-05-01-preview/extensionTypes.json - Microsoft.KubernetesConfiguration/preview/2021-05-01-preview/kubernetesconfiguration.json ``` + ### Tag: package-2021-03 These settings apply only when `--tag=package-2021-03` is specified on the command line. @@ -129,4 +181,3 @@ See configuration in [readme.typescript.md](./readme.typescript.md) ## CSharp See configuration in [readme.csharp.md](./readme.csharp.md) -