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 <markcowl@microsoft.com>
Co-authored-by: nanthi <nanthi@NANTHI01>
This commit is contained in:
NarayanThiru 2021-09-17 19:54:40 -07:00 коммит произвёл GitHub
Родитель c566c79e66
Коммит fa0a95854a
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
11 изменённых файлов: 1429 добавлений и 3 удалений

Просмотреть файл

@ -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

Просмотреть файл

@ -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": []
}
}
}
}
}

Просмотреть файл

@ -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": {}
}
}

Просмотреть файл

@ -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
}
}
}
}

Просмотреть файл

@ -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": []
}
}
}
}
}

Просмотреть файл

@ -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
}
}
}
}

Просмотреть файл

@ -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
}
}
}
}

Просмотреть файл

@ -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"
}
]
}
}
}
}

Просмотреть файл

@ -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."
}
}
}
}
}

Просмотреть файл

@ -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"
}
}
}

Просмотреть файл

@ -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": "<string>",
"createdByType": "<User|Application|ManagedIdentity|Key>",
"createdAt": "<date-time>",
"lastModifiedBy": "<string>",
"lastModifiedByType": "<User|Application|ManagedIdentity|Key>",
"lastModifiedAt": "<date-time>"
},
"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)