From b160ad4c1f6d907513411fba39053e726fbb2ec3 Mon Sep 17 00:00:00 2001 From: melina5656 <140602263+melina5656@users.noreply.github.com> Date: Thu, 17 Apr 2025 15:38:00 +0800 Subject: [PATCH 01/20] The first version of TSP --- .../ConnectedCluster.tsp | 134 ++++ .../HybridKubernetes.Management/client.tsp | 22 + ...tersListClusterCredentialResultCSPAAD.json | 34 + ...rsListClusterCredentialResultCSPToken.json | 34 + ...stersListClusterCredentialResultHPAAD.json | 26 + ...ersListClusterCredentialResultHPToken.json | 26 + ...CreateClusterAgentless_KindAWSExample.json | 88 +++ .../CreateClusterExample.json | 85 +++ .../CreateClusterPrivateLinkExample.json | 91 +++ .../CreateCluster_KindExample.json | 156 +++++ .../DeleteClusterExample.json | 20 + .../2024-12-01-preview/GetClusterExample.json | 78 +++ .../GetClustersByResourceGroupExample.json | 89 +++ .../GetClustersBySubscriptionExample.json | 88 +++ .../GetProvisionedClusterExample.json | 70 ++ ...ListConnectedClusterOperationsExample.json | 43 ++ .../UpdateClusterByPatchExample.json | 57 ++ .../UpdateClusterByPutExample.json | 97 +++ .../HybridKubernetes.Management/main.tsp | 45 ++ .../HybridKubernetes.Management/models.tsp | 624 ++++++++++++++++++ .../tspconfig.yaml | 14 + 21 files changed, 1921 insertions(+) create mode 100644 specification/hybridkubernetes/HybridKubernetes.Management/ConnectedCluster.tsp create mode 100644 specification/hybridkubernetes/HybridKubernetes.Management/client.tsp create mode 100644 specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/ConnectedClustersListClusterCredentialResultCSPAAD.json create mode 100644 specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/ConnectedClustersListClusterCredentialResultCSPToken.json create mode 100644 specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/ConnectedClustersListClusterCredentialResultHPAAD.json create mode 100644 specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/ConnectedClustersListClusterCredentialResultHPToken.json create mode 100644 specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/CreateClusterAgentless_KindAWSExample.json create mode 100644 specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/CreateClusterExample.json create mode 100644 specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/CreateClusterPrivateLinkExample.json create mode 100644 specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/CreateCluster_KindExample.json create mode 100644 specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/DeleteClusterExample.json create mode 100644 specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/GetClusterExample.json create mode 100644 specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/GetClustersByResourceGroupExample.json create mode 100644 specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/GetClustersBySubscriptionExample.json create mode 100644 specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/GetProvisionedClusterExample.json create mode 100644 specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/ListConnectedClusterOperationsExample.json create mode 100644 specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/UpdateClusterByPatchExample.json create mode 100644 specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/UpdateClusterByPutExample.json create mode 100644 specification/hybridkubernetes/HybridKubernetes.Management/main.tsp create mode 100644 specification/hybridkubernetes/HybridKubernetes.Management/models.tsp create mode 100644 specification/hybridkubernetes/HybridKubernetes.Management/tspconfig.yaml diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/ConnectedCluster.tsp b/specification/hybridkubernetes/HybridKubernetes.Management/ConnectedCluster.tsp new file mode 100644 index 000000000000..cf85cde883b4 --- /dev/null +++ b/specification/hybridkubernetes/HybridKubernetes.Management/ConnectedCluster.tsp @@ -0,0 +1,134 @@ +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/openapi"; +import "@typespec/rest"; +import "./models.tsp"; + +using TypeSpec.Rest; +using Azure.ResourceManager; +using TypeSpec.Http; +using TypeSpec.OpenAPI; + +namespace Microsoft.Kubernetes; +/** + * Represents a connected cluster. + */ +@subscriptionResource +model ConnectedCluster + is Azure.ResourceManager.TrackedResource { + ...ResourceNameParameter< + Resource = ConnectedCluster, + KeyName = "clusterName", + SegmentName = "connectedClusters", + NamePattern = "" + >; + + /** + * The identity of the connected cluster. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility" + identity: ConnectedClusterIdentity; + + /** + * The kind of connected cluster. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility" + kind?: ConnectedClusterKind; +} + +@armResourceOperations +interface ConnectedClusters { + /** + * Returns the properties of the specified connected cluster, including name, identity, properties, and additional cluster details. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("ConnectedCluster_Get") + get is ArmResourceRead< + ConnectedCluster, + BaseParameters = Azure.ResourceManager.Foundations.SubscriptionBaseParameters + >; + + /** + * API to register a new Kubernetes cluster and create or replace a connected cluster tracked resource in Azure Resource Manager (ARM). + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("ConnectedCluster_CreateOrReplace") + createOrReplace is ArmResourceCreateOrReplaceAsync< + ConnectedCluster, + BaseParameters = Azure.ResourceManager.Foundations.SubscriptionBaseParameters + >; + + /** + * API to update certain properties of the connected cluster resource + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @patch(#{ implicitOptionality: false }) + @operationId("ConnectedCluster_Update") + update is ArmCustomPatchSync< + ConnectedCluster, + PatchModel = ConnectedClusterPatch, + BaseParameters = Azure.ResourceManager.Foundations.SubscriptionBaseParameters + >; + + /** + * Delete a connected cluster, removing the tracked resource in Azure Resource Manager (ARM). + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes" "For backward compatibility" + @operationId("ConnectedCluster_Delete") + delete is ArmResourceDeleteWithoutOkAsync< + ConnectedCluster, + BaseParameters = Azure.ResourceManager.Foundations.SubscriptionBaseParameters, + Response = ArmDeletedResponse | ArmDeleteAcceptedLroResponse | ArmDeletedNoContentResponse + >; + + /** + * API to enumerate registered connected K8s clusters under a Resource Group + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("ConnectedCluster_ListByResourceGroup") + listByResourceGroup is ArmResourceListByParent< + ConnectedCluster, + BaseParameters = Azure.ResourceManager.Foundations.SubscriptionBaseParameters, + Response = ArmResponse + >; + + /** + * API to enumerate registered connected K8s clusters under a Subscription + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("ConnectedCluster_ListBySubscription") + listBySubscription is ArmListBySubscription< + ConnectedCluster, + BaseParameters = Azure.ResourceManager.Foundations.SubscriptionBaseParameters, + Response = ArmResponse + >; + + /** + * Gets cluster user credentials of the connected cluster with a specified resource group and name. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("ConnectedCluster_ListClusterUserCredential") + listClusterUserCredential is ArmResourceActionSync< + ConnectedCluster, + ListClusterUserCredentialProperties, + ArmResponse, + BaseParameters = Azure.ResourceManager.Foundations.SubscriptionBaseParameters + >; +} + +@@doc(ConnectedCluster.name, + "The name of the Kubernetes cluster on which get is called." +); +@@doc(ConnectedCluster.properties, + "Describes the connected cluster resource properties." +); +@@doc(ConnectedClusters.createOrReplace::parameters.resource, + "Parameters supplied to Create a Connected Cluster." +); +@@doc(ConnectedClusters.update::parameters.properties, + "Parameters supplied to update Connected Cluster." +); +@@doc(ConnectedClusters.listClusterUserCredential::parameters.body, + "ListClusterUserCredential properties" +); diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/client.tsp b/specification/hybridkubernetes/HybridKubernetes.Management/client.tsp new file mode 100644 index 000000000000..4a3e274bfaf1 --- /dev/null +++ b/specification/hybridkubernetes/HybridKubernetes.Management/client.tsp @@ -0,0 +1,22 @@ +import "./main.tsp"; +import "@azure-tools/typespec-client-generator-core"; + +using Azure.ClientGenerator.Core; +using Microsoft.Kubernetes; + +@@clientName(AadProfile.enableAzureRBAC, "enableAzureRbac"); + +#suppress "deprecated" "@flattenProperty decorator is not recommended to use." +@@flattenProperty(ConnectedClusterPatch.properties); + +@@clientName(ConnectedClusters.createOrReplace::parameters.resource, + "ConnectedCluster" +); +@@clientName(ConnectedClusters.update::parameters.properties, + "ConnectedClusterPatch" +); +@@clientName(ConnectedClusters.listClusterUserCredential::parameters.body, + "Properties" +); +#suppress "deprecated" "@flattenProperty decorator is not recommended to use." +@@flattenProperty(ConnectedCluster.properties); diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/ConnectedClustersListClusterCredentialResultCSPAAD.json b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/ConnectedClustersListClusterCredentialResultCSPAAD.json new file mode 100644 index 000000000000..892490c808cd --- /dev/null +++ b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/ConnectedClustersListClusterCredentialResultCSPAAD.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "Properties": { + "authenticationMethod": "AAD", + "clientProxy": true + }, + "api-version": "2024-12-01-preview", + "clusterName": "testCluster", + "resourceGroupName": "k8sc-rg", + "subscriptionId": "1bfbb5d0-917e-4346-9026-1d3b344417f5" + }, + "responses": { + "200": { + "body": { + "hybridConnectionConfig": { + "expirationTime": 1631196183, + "hybridConnectionName": "microsoft.kubernetes/connectedclusters/229dc73f7b07196c79a93d4362d9c7fc4ed34df3e95290d27c56cec2dbb82865/1631185383340987904", + "relay": "azgnrelay-ph0-l1", + "relayTid": "33e01921-4d64-4f8c-a055-5bdaffd5e33d", + "relayType": "byor", + "token": "SharedAccessSignature 123456789034675890pbduwegiavifkuw647o02423bbhfouseb" + }, + "kubeconfigs": [ + { + "name": "credentialName1", + "value": "WVhCcFZtVnljMmx2YmpvZ2RqRU5DbU5zZFhOMFpYSnpPZzBLTFNCamJIVnpkR1Z5T2cwS0lDQWdJR05sY25ScFptbGpZWFJsTFdGMWRHaHZjbWwwZVMxa1lYUmhPaUJNVXpCMFRGTXhRMUpWWkVwVWFVSkVVbFpLVlZOVldrcFJNRVpWVWxNd2RFeFRNSFJEYXpGS1UxVldOR1ZyVGtSUldFVnlXakJHTTFOVlNrSmFNR3hTVlRKMGRWZHNXblphZWtwMVZtcEtWbU5ZWkV0amJsWllUVEZDU0dWclJrOVJiV1J5WTFkb2NtRlZZelZrZWtKRFVWWkdlbEpyUmtWUlZUUkxWRlpHZW1Rd1RsSlhWVkpYVlZaR1JWSllaRXRoYkdWc1NsRXdiSEZSVlRWRFdqSjBlR0ZIZEhCU2Vtd3pUVVZLUWxWVlZrZFJWVVpRVVRCR2JrOUZSazVUVld4RVVUSmtURkV3Um01U1ZVVXdWMWhDTlVOc1VtdFVNVkpTVTFkTmRtVnNhRVJsUjNoVFpXdFZNRg==" + } + ] + } + } + }, + "operationId": "ConnectedCluster_ListClusterUserCredential", + "title": "ListClusterUserCredentialExample" +} \ No newline at end of file diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/ConnectedClustersListClusterCredentialResultCSPToken.json b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/ConnectedClustersListClusterCredentialResultCSPToken.json new file mode 100644 index 000000000000..e5e86ea402ab --- /dev/null +++ b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/ConnectedClustersListClusterCredentialResultCSPToken.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "Properties": { + "authenticationMethod": "Token", + "clientProxy": true + }, + "api-version": "2024-12-01-preview", + "clusterName": "testCluster", + "resourceGroupName": "k8sc-rg", + "subscriptionId": "1bfbb5d0-917e-4346-9026-1d3b344417f5" + }, + "responses": { + "200": { + "body": { + "hybridConnectionConfig": { + "expirationTime": 1631196183, + "hybridConnectionName": "microsoft.kubernetes/connectedclusters/229dc73f7b07196c79a93d4362d9c7fc4ed34df3e95290d27c56cec2dbb82865/1631185383340987904", + "relay": "azgnrelay-ph0-l1", + "relayTid": "33e01921-4d64-4f8c-a055-5bdaffd5e33d", + "relayType": "byor", + "token": "SharedAccessSignature 123456789034675890pbduwegiavifkuw647o02423bbhfouseb" + }, + "kubeconfigs": [ + { + "name": "credentialName1", + "value": "WVhCcFZtVnljMmx2YmpvZ2RqRU5DbU5zZFhOMFpYSnpPZzBLTFNCamJIVnpkR1Z5T2cwS0lDQWdJR05sY25ScFptbGpZWFJsTFdGMWRHaHZjbWwwZVMxa1lYUmhPaUJNVXpCMFRGTXhRMUpWWkVwVWFVSkVVbFpLVlZOVldrcFJNRVpWVWxNd2RFeFRNSFJEYXpGS1UxVldOR1ZyVGtSUldFVnlXakJHTTFOVlNrSmFNR3hTVlRKMGRWZHNXblphZWtwMVZtcEtWbU5ZWkV0amJsWllUVEZDU0dWclJrOVJiV1J5WTFkb2NtRlZZelZrZWtKRFVWWkdlbEpyUmtWUlZUUkxWRlpHZW1Rd1RsSlhWVkpYVlZaR1JWSllaRXRoYkdWc1NsRXdiSEZSVlRWRFdqSjBlR0ZIZEhCU2Vtd3pUVVZLUWxWVlZrZFJWVVpRVVRCR2JrOUZSazVUVld4RVVUSmtURkV3Um01U1ZVVXdWMWhDTlVOc1VtdFVNVkpTVTFkTmRtVnNhRVJsUjNoVFpXdFZNRg==" + } + ] + } + } + }, + "operationId": "ConnectedCluster_ListClusterUserCredential", + "title": "ListClusterUserCredentialNonAadExample" +} \ No newline at end of file diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/ConnectedClustersListClusterCredentialResultHPAAD.json b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/ConnectedClustersListClusterCredentialResultHPAAD.json new file mode 100644 index 000000000000..c125f40bc0a3 --- /dev/null +++ b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/ConnectedClustersListClusterCredentialResultHPAAD.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "Properties": { + "authenticationMethod": "AAD", + "clientProxy": false + }, + "api-version": "2024-12-01-preview", + "clusterName": "testCluster", + "resourceGroupName": "k8sc-rg", + "subscriptionId": "1bfbb5d0-917e-4346-9026-1d3b344417f5" + }, + "responses": { + "200": { + "body": { + "kubeconfigs": [ + { + "name": "credentialName1", + "value": "WVhCcFZtVnljMmx2YmpvZ2RqRU5DbU5zZFhOMFpYSnpPZzBLTFNCamJIVnpkR1Z5T2cwS0lDQWdJR05sY25ScFptbGpZWFJsTFdGMWRHaHZjbWwwZVMxa1lYUmhPaUJNVXpCMFRGTXhRMUpWWkVwVWFVSkVVbFpLVlZOVldrcFJNRVpWVWxNd2RFeFRNSFJEYXpGS1UxVldOR1ZyVGtSUldFVnlXakJHTTFOVlNrSmFNR3hTVlRKMGRWZHNXblphZWtwMVZtcEtWbU5ZWkV0amJsWllUVEZDU0dWclJrOVJiV1J5WTFkb2NtRlZZelZrZWtKRFVWWkdlbEpyUmtWUlZUUkxWRlpHZW1Rd1RsSlhWVkpYVlZaR1JWSllaRXRoYkdWc1NsRXdiSEZSVlRWRFdqSjBlR0ZIZEhCU2Vtd3pUVVZLUWxWVlZrZFJWVVpRVVRCR2JrOUZSazVUVld4RVVUSmtURkV3Um01U1ZVVXdWMWhDTlVOc1VtdFVNVkpTVTFkTmRtVnNhRVJsUjNoVFpXdFZNRg==" + } + ] + } + } + }, + "operationId": "ConnectedCluster_ListClusterUserCredential", + "title": "ListClusterUserCredentialCSPExample" +} \ No newline at end of file diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/ConnectedClustersListClusterCredentialResultHPToken.json b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/ConnectedClustersListClusterCredentialResultHPToken.json new file mode 100644 index 000000000000..1a7ac17eabf6 --- /dev/null +++ b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/ConnectedClustersListClusterCredentialResultHPToken.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "Properties": { + "authenticationMethod": "Token", + "clientProxy": false + }, + "api-version": "2024-12-01-preview", + "clusterName": "testCluster", + "resourceGroupName": "k8sc-rg", + "subscriptionId": "1bfbb5d0-917e-4346-9026-1d3b344417f5" + }, + "responses": { + "200": { + "body": { + "kubeconfigs": [ + { + "name": "credentialName1", + "value": "WVhCcFZtVnljMmx2YmpvZ2RqRU5DbU5zZFhOMFpYSnpPZzBLTFNCamJIVnpkR1Z5T2cwS0lDQWdJR05sY25ScFptbGpZWFJsTFdGMWRHaHZjbWwwZVMxa1lYUmhPaUJNVXpCMFRGTXhRMUpWWkVwVWFVSkVVbFpLVlZOVldrcFJNRVpWVWxNd2RFeFRNSFJEYXpGS1UxVldOR1ZyVGtSUldFVnlXakJHTTFOVlNrSmFNR3hTVlRKMGRWZHNXblphZWtwMVZtcEtWbU5ZWkV0amJsWllUVEZDU0dWclJrOVJiV1J5WTFkb2NtRlZZelZrZWtKRFVWWkdlbEpyUmtWUlZUUkxWRlpHZW1Rd1RsSlhWVkpYVlZaR1JWSllaRXRoYkdWc1NsRXdiSEZSVlRWRFdqSjBlR0ZIZEhCU2Vtd3pUVVZLUWxWVlZrZFJWVVpRVVRCR2JrOUZSazVUVld4RVVUSmtURkV3Um01U1ZVVXdWMWhDTlVOc1VtdFVNVkpTVTFkTmRtVnNhRVJsUjNoVFpXdFZNRg==" + } + ] + } + } + }, + "operationId": "ConnectedCluster_ListClusterUserCredential", + "title": "ListClusterUserCredentialNonAadCSPExample" +} \ No newline at end of file diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/CreateClusterAgentless_KindAWSExample.json b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/CreateClusterAgentless_KindAWSExample.json new file mode 100644 index 000000000000..a27d1bc5f122 --- /dev/null +++ b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/CreateClusterAgentless_KindAWSExample.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "ConnectedCluster": { + "identity": { + "type": "None" + }, + "kind": "AWS", + "location": "East US", + "properties": { + "agentPublicKeyCertificate": "", + "distribution": "eks", + "infrastructure": "aws" + }, + "tags": {} + }, + "api-version": "2024-12-01-preview", + "clusterName": "testCluster", + "resourceGroupName": "k8sc-rg", + "subscriptionId": "1bfbb5d0-917e-4346-9026-1d3b344417f5" + }, + "responses": { + "200": { + "body": { + "name": "connectedCluster1", + "type": "Microsoft.Kubernetes/connectedClusters", + "id": "/subscriptions/1bfbb5d0-917e-4346-9026-1d3b344417f5/resourceGroups/akkeshar/providers/Microsoft.Kubernetes/connectedClusters/connectedCluster1", + "identity": { + "type": "None" + }, + "kind": "AWS", + "location": "East US", + "properties": { + "aadProfile": {}, + "agentPublicKeyCertificate": "", + "arcAgentProfile": {}, + "azureHybridBenefit": "NotApplicable", + "connectivityStatus": "AgentNotInstalled", + "distribution": "eks", + "infrastructure": "aws", + "privateLinkState": "Disabled", + "provisioningState": "Succeeded" + }, + "systemData": { + "createdAt": "2020-12-17T07:06:33.9173186Z", + "createdBy": "sikasire@microsoft.com", + "createdByType": "User", + "lastModifiedAt": "2020-12-17T07:06:33.9173186Z", + "lastModifiedBy": "sikasire@microsoft.com", + "lastModifiedByType": "User" + }, + "tags": {} + } + }, + "201": { + "body": { + "name": "connectedCluster1", + "type": "Microsoft.Kubernetes/connectedClusters", + "id": "/subscriptions/1bfbb5d0-917e-4346-9026-1d3b344417f5/resourceGroups/akkeshar/providers/Microsoft.Kubernetes/connectedClusters/connectedCluster1", + "identity": { + "type": "None" + }, + "location": "East US", + "properties": { + "aadProfile": {}, + "agentPublicKeyCertificate": "", + "arcAgentProfile": {}, + "azureHybridBenefit": "NotApplicable", + "connectivityStatus": "AgentNotInstalled", + "distribution": "eks", + "infrastructure": "aws", + "privateLinkState": "Disabled", + "provisioningState": "Succeeded" + }, + "systemData": { + "createdAt": "2020-12-17T07:06:33.9173186Z", + "createdBy": "sikasire@microsoft.com", + "createdByType": "User", + "lastModifiedAt": "2020-12-17T07:06:33.9173186Z", + "lastModifiedBy": "sikasire@microsoft.com", + "lastModifiedByType": "User" + }, + "tags": {} + } + } + }, + "operationId": "ConnectedCluster_CreateOrReplace", + "title": "CreateClusterAgentless_KindAWSExample" +} \ No newline at end of file diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/CreateClusterExample.json b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/CreateClusterExample.json new file mode 100644 index 000000000000..261f09ca5f62 --- /dev/null +++ b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/CreateClusterExample.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "ConnectedCluster": { + "identity": { + "type": "SystemAssigned" + }, + "location": "East US", + "properties": { + "agentPublicKeyCertificate": "MIICYzCCAcygAwIBAgIBADANBgkqhkiG9w0BAQUFADAuMQswCQYDVQQGEwJVUzEMMAoGA1UEChMDSUJNMREwDwYDVQQLEwhMb2NhbCBDQTAeFw05OTEyMjIwNTAwMDBaFw0wMDEyMjMwNDU5NTlaMC4xCzAJBgNVBAYTAlVTMQwwCgYDVQQKEwNJQk0xETAPBgNVBAsTCExvY2FsIENBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD2bZEo7xGaX2/0GHkrNFZvlxBou9v1Jmt/PDiTMPve8r9FeJAQ0QdvFST/0JPQYD20rH0bimdDLgNdNynmyRoS2S/IInfpmf69iyc2G0TPyRvmHIiOZbdCd+YBHQi1adkj17NDcWj6S14tVurFX73zx0sNoMS79q3tuXKrDsxeuwIDAQABo4GQMIGNMEsGCVUdDwGG+EIBDQQ+EzxHZW5lcmF0ZWQgYnkgdGhlIFNlY3VyZVdheSBTZWN1cml0eSBTZXJ2ZXIgZm9yIE9TLzM5MCAoUkFDRikwDgYDVR0PAQH/BAQDAgAGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJ3+ocRyCTJw067dLSwr/nalx6YMMA0GCSqGSIb3DQEBBQUAA4GBAMaQzt+zaj1GU77yzlr8iiMBXgdQrwsZZWJo5exnAucJAEYQZmOfyLiM D6oYq+ZnfvM0n8G/Y79q8nhwvuxpYOnRSAXFp6xSkrIOeZtJMY1h00LKp/JX3Ng1svZ2agE126JHsQ0bhzN5TKsYfbwfTwfjdWAGy6Vf1nYi/rO+ryMO", + "azureHybridBenefit": "NotApplicable", + "distribution": "AKS", + "distributionVersion": "1.0" + }, + "tags": {} + }, + "api-version": "2024-12-01-preview", + "clusterName": "testCluster", + "resourceGroupName": "k8sc-rg", + "subscriptionId": "1bfbb5d0-917e-4346-9026-1d3b344417f5" + }, + "responses": { + "200": { + "body": { + "name": "connectedCluster1", + "type": "Microsoft.Kubernetes/connectedClusters", + "id": "/subscriptions/1bfbb5d0-917e-4346-9026-1d3b344417f5/resourceGroups/akkeshar/providers/Microsoft.Kubernetes/connectedClusters/connectedCluster1", + "identity": { + "type": "SystemAssigned" + }, + "location": "East US", + "properties": { + "agentPublicKeyCertificate": "MIICYzCCAcygAwIBAgIBADANBgkqhkiG9w0BAQUFADAuMQswCQYDVQQGEwJVUzEMMAoGA1UEChMDSUJNMREwDwYDVQQLEwhMb2NhbCBDQTAeFw05OTEyMjIwNTAwMDBaFw0wMDEyMjMwNDU5NTlaMC4xCzAJBgNVBAYTAlVTMQwwCgYDVQQKEwNJQk0xETAPBgNVBAsTCExvY2FsIENBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD2bZEo7xGaX2/0GHkrNFZvlxBou9v1Jmt/PDiTMPve8r9FeJAQ0QdvFST/0JPQYD20rH0bimdDLgNdNynmyRoS2S/IInfpmf69iyc2G0TPyRvmHIiOZbdCd+YBHQi1adkj17NDcWj6S14tVurFX73zx0sNoMS79q3tuXKrDsxeuwIDAQABo4GQMIGNMEsGCVUdDwGG+EIBDQQ+EzxHZW5lcmF0ZWQgYnkgdGhlIFNlY3VyZVdheSBTZWN1cml0eSBTZXJ2ZXIgZm9yIE9TLzM5MCAoUkFDRikwDgYDVR0PAQH/BAQDAgAGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJ3+ocRyCTJw067dLSwr/nalx6YMMA0GCSqGSIb3DQEBBQUAA4GBAMaQzt+zaj1GU77yzlr8iiMBXgdQrwsZZWJo5exnAucJAEYQZmOfyLiM D6oYq+ZnfvM0n8G/Y79q8nhwvuxpYOnRSAXFp6xSkrIOeZtJMY1h00LKp/JX3Ng1svZ2agE126JHsQ0bhzN5TKsYfbwfTwfjdWAGy6Vf1nYi/rO+ryMO", + "agentVersion": "0.1.0", + "azureHybridBenefit": "NotApplicable", + "distribution": "AKS", + "distributionVersion": "1.0", + "kubernetesVersion": "1.17.0", + "provisioningState": "Succeeded", + "totalNodeCount": 2 + }, + "systemData": { + "createdAt": "2020-12-17T07:06:33.9173186Z", + "createdBy": "sikasire@microsoft.com", + "createdByType": "User", + "lastModifiedAt": "2020-12-17T07:06:33.9173186Z", + "lastModifiedBy": "sikasire@microsoft.com", + "lastModifiedByType": "User" + }, + "tags": {} + } + }, + "201": { + "body": { + "name": "connectedCluster1", + "type": "Microsoft.Kubernetes/connectedClusters", + "id": "/subscriptions/1bfbb5d0-917e-4346-9026-1d3b344417f5/resourceGroups/akkeshar/providers/Microsoft.Kubernetes/connectedClusters/connectedCluster1", + "identity": { + "type": "SystemAssigned" + }, + "location": "East US", + "properties": { + "agentPublicKeyCertificate": "MIICYzCCAcygAwIBAgIBADANBgkqhkiG9w0BAQUFADAuMQswCQYDVQQGEwJVUzEMMAoGA1UEChMDSUJNMREwDwYDVQQLEwhMb2NhbCBDQTAeFw05OTEyMjIwNTAwMDBaFw0wMDEyMjMwNDU5NTlaMC4xCzAJBgNVBAYTAlVTMQwwCgYDVQQKEwNJQk0xETAPBgNVBAsTCExvY2FsIENBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD2bZEo7xGaX2/0GHkrNFZvlxBou9v1Jmt/PDiTMPve8r9FeJAQ0QdvFST/0JPQYD20rH0bimdDLgNdNynmyRoS2S/IInfpmf69iyc2G0TPyRvmHIiOZbdCd+YBHQi1adkj17NDcWj6S14tVurFX73zx0sNoMS79q3tuXKrDsxeuwIDAQABo4GQMIGNMEsGCVUdDwGG+EIBDQQ+EzxHZW5lcmF0ZWQgYnkgdGhlIFNlY3VyZVdheSBTZWN1cml0eSBTZXJ2ZXIgZm9yIE9TLzM5MCAoUkFDRikwDgYDVR0PAQH/BAQDAgAGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJ3+ocRyCTJw067dLSwr/nalx6YMMA0GCSqGSIb3DQEBBQUAA4GBAMaQzt+zaj1GU77yzlr8iiMBXgdQrwsZZWJo5exnAucJAEYQZmOfyLiM D6oYq+ZnfvM0n8G/Y79q8nhwvuxpYOnRSAXFp6xSkrIOeZtJMY1h00LKp/JX3Ng1svZ2agE126JHsQ0bhzN5TKsYfbwfTwfjdWAGy6Vf1nYi/rO+ryMO", + "agentVersion": "0.1.0", + "azureHybridBenefit": "NotApplicable", + "distribution": "AKS", + "distributionVersion": "1.0", + "kubernetesVersion": "1.17.0", + "provisioningState": "Accepted", + "totalNodeCount": 2 + }, + "systemData": { + "createdAt": "2020-12-17T07:06:33.9173186Z", + "createdBy": "sikasire@microsoft.com", + "createdByType": "User", + "lastModifiedAt": "2020-12-17T07:06:33.9173186Z", + "lastModifiedBy": "sikasire@microsoft.com", + "lastModifiedByType": "User" + }, + "tags": {} + } + } + }, + "operationId": "ConnectedCluster_CreateOrReplace", + "title": "CreateClusterExample" +} \ No newline at end of file diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/CreateClusterPrivateLinkExample.json b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/CreateClusterPrivateLinkExample.json new file mode 100644 index 000000000000..27a23f83790a --- /dev/null +++ b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/CreateClusterPrivateLinkExample.json @@ -0,0 +1,91 @@ +{ + "parameters": { + "ConnectedCluster": { + "identity": { + "type": "SystemAssigned" + }, + "location": "East US", + "properties": { + "agentPublicKeyCertificate": "MIICYzCCAcygAwIBAgIBADANBgkqhkiG9w0BAQUFADAuMQswCQYDVQQGEwJVUzEMMAoGA1UEChMDSUJNMREwDwYDVQQLEwhMb2NhbCBDQTAeFw05OTEyMjIwNTAwMDBaFw0wMDEyMjMwNDU5NTlaMC4xCzAJBgNVBAYTAlVTMQwwCgYDVQQKEwNJQk0xETAPBgNVBAsTCExvY2FsIENBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD2bZEo7xGaX2/0GHkrNFZvlxBou9v1Jmt/PDiTMPve8r9FeJAQ0QdvFST/0JPQYD20rH0bimdDLgNdNynmyRoS2S/IInfpmf69iyc2G0TPyRvmHIiOZbdCd+YBHQi1adkj17NDcWj6S14tVurFX73zx0sNoMS79q3tuXKrDsxeuwIDAQABo4GQMIGNMEsGCVUdDwGG+EIBDQQ+EzxHZW5lcmF0ZWQgYnkgdGhlIFNlY3VyZVdheSBTZWN1cml0eSBTZXJ2ZXIgZm9yIE9TLzM5MCAoUkFDRikwDgYDVR0PAQH/BAQDAgAGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJ3+ocRyCTJw067dLSwr/nalx6YMMA0GCSqGSIb3DQEBBQUAA4GBAMaQzt+zaj1GU77yzlr8iiMBXgdQrwsZZWJo5exnAucJAEYQZmOfyLiM D6oYq+ZnfvM0n8G/Y79q8nhwvuxpYOnRSAXFp6xSkrIOeZtJMY1h00LKp/JX3Ng1svZ2agE126JHsQ0bhzN5TKsYfbwfTwfjdWAGy6Vf1nYi/rO+ryMO", + "azureHybridBenefit": "NotApplicable", + "distribution": "AKS", + "distributionVersion": "1.0", + "privateLinkScopeResourceId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/privateLinkScopeName", + "privateLinkState": "Enabled" + }, + "tags": {} + }, + "api-version": "2024-12-01-preview", + "clusterName": "testCluster", + "resourceGroupName": "k8sc-rg", + "subscriptionId": "1bfbb5d0-917e-4346-9026-1d3b344417f5" + }, + "responses": { + "200": { + "body": { + "name": "connectedCluster1", + "type": "Microsoft.Kubernetes/connectedClusters", + "id": "/subscriptions/1bfbb5d0-917e-4346-9026-1d3b344417f5/resourceGroups/akkeshar/providers/Microsoft.Kubernetes/connectedClusters/connectedCluster1", + "identity": { + "type": "SystemAssigned" + }, + "location": "East US", + "properties": { + "agentPublicKeyCertificate": "MIICYzCCAcygAwIBAgIBADANBgkqhkiG9w0BAQUFADAuMQswCQYDVQQGEwJVUzEMMAoGA1UEChMDSUJNMREwDwYDVQQLEwhMb2NhbCBDQTAeFw05OTEyMjIwNTAwMDBaFw0wMDEyMjMwNDU5NTlaMC4xCzAJBgNVBAYTAlVTMQwwCgYDVQQKEwNJQk0xETAPBgNVBAsTCExvY2FsIENBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD2bZEo7xGaX2/0GHkrNFZvlxBou9v1Jmt/PDiTMPve8r9FeJAQ0QdvFST/0JPQYD20rH0bimdDLgNdNynmyRoS2S/IInfpmf69iyc2G0TPyRvmHIiOZbdCd+YBHQi1adkj17NDcWj6S14tVurFX73zx0sNoMS79q3tuXKrDsxeuwIDAQABo4GQMIGNMEsGCVUdDwGG+EIBDQQ+EzxHZW5lcmF0ZWQgYnkgdGhlIFNlY3VyZVdheSBTZWN1cml0eSBTZXJ2ZXIgZm9yIE9TLzM5MCAoUkFDRikwDgYDVR0PAQH/BAQDAgAGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJ3+ocRyCTJw067dLSwr/nalx6YMMA0GCSqGSIb3DQEBBQUAA4GBAMaQzt+zaj1GU77yzlr8iiMBXgdQrwsZZWJo5exnAucJAEYQZmOfyLiM D6oYq+ZnfvM0n8G/Y79q8nhwvuxpYOnRSAXFp6xSkrIOeZtJMY1h00LKp/JX3Ng1svZ2agE126JHsQ0bhzN5TKsYfbwfTwfjdWAGy6Vf1nYi/rO+ryMO", + "agentVersion": "0.1.0", + "azureHybridBenefit": "NotApplicable", + "distribution": "AKS", + "distributionVersion": "1.0", + "kubernetesVersion": "1.17.0", + "privateLinkScopeResourceId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/privateLinkScopeName", + "privateLinkState": "Enabled", + "provisioningState": "Succeeded", + "totalNodeCount": 2 + }, + "systemData": { + "createdAt": "2020-12-17T07:06:33.9173186Z", + "createdBy": "sikasire@microsoft.com", + "createdByType": "User", + "lastModifiedAt": "2020-12-17T07:06:33.9173186Z", + "lastModifiedBy": "sikasire@microsoft.com", + "lastModifiedByType": "User" + }, + "tags": {} + } + }, + "201": { + "body": { + "name": "connectedCluster1", + "type": "Microsoft.Kubernetes/connectedClusters", + "id": "/subscriptions/1bfbb5d0-917e-4346-9026-1d3b344417f5/resourceGroups/akkeshar/providers/Microsoft.Kubernetes/connectedClusters/connectedCluster1", + "identity": { + "type": "SystemAssigned" + }, + "location": "East US", + "properties": { + "agentPublicKeyCertificate": "MIICYzCCAcygAwIBAgIBADANBgkqhkiG9w0BAQUFADAuMQswCQYDVQQGEwJVUzEMMAoGA1UEChMDSUJNMREwDwYDVQQLEwhMb2NhbCBDQTAeFw05OTEyMjIwNTAwMDBaFw0wMDEyMjMwNDU5NTlaMC4xCzAJBgNVBAYTAlVTMQwwCgYDVQQKEwNJQk0xETAPBgNVBAsTCExvY2FsIENBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD2bZEo7xGaX2/0GHkrNFZvlxBou9v1Jmt/PDiTMPve8r9FeJAQ0QdvFST/0JPQYD20rH0bimdDLgNdNynmyRoS2S/IInfpmf69iyc2G0TPyRvmHIiOZbdCd+YBHQi1adkj17NDcWj6S14tVurFX73zx0sNoMS79q3tuXKrDsxeuwIDAQABo4GQMIGNMEsGCVUdDwGG+EIBDQQ+EzxHZW5lcmF0ZWQgYnkgdGhlIFNlY3VyZVdheSBTZWN1cml0eSBTZXJ2ZXIgZm9yIE9TLzM5MCAoUkFDRikwDgYDVR0PAQH/BAQDAgAGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJ3+ocRyCTJw067dLSwr/nalx6YMMA0GCSqGSIb3DQEBBQUAA4GBAMaQzt+zaj1GU77yzlr8iiMBXgdQrwsZZWJo5exnAucJAEYQZmOfyLiM D6oYq+ZnfvM0n8G/Y79q8nhwvuxpYOnRSAXFp6xSkrIOeZtJMY1h00LKp/JX3Ng1svZ2agE126JHsQ0bhzN5TKsYfbwfTwfjdWAGy6Vf1nYi/rO+ryMO", + "agentVersion": "0.1.0", + "azureHybridBenefit": "NotApplicable", + "distribution": "AKS", + "distributionVersion": "1.0", + "kubernetesVersion": "1.17.0", + "privateLinkScopeResourceId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/privateLinkScopeName", + "privateLinkState": "Enabled", + "provisioningState": "Accepted", + "totalNodeCount": 2 + }, + "systemData": { + "createdAt": "2020-12-17T07:06:33.9173186Z", + "createdBy": "sikasire@microsoft.com", + "createdByType": "User", + "lastModifiedAt": "2020-12-17T07:06:33.9173186Z", + "lastModifiedBy": "sikasire@microsoft.com", + "lastModifiedByType": "User" + }, + "tags": {} + } + } + }, + "operationId": "ConnectedCluster_CreateOrReplace", + "title": "CreateClusterPrivateLinkExample" +} \ No newline at end of file diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/CreateCluster_KindExample.json b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/CreateCluster_KindExample.json new file mode 100644 index 000000000000..149ab54a9cef --- /dev/null +++ b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/CreateCluster_KindExample.json @@ -0,0 +1,156 @@ +{ + "parameters": { + "ConnectedCluster": { + "identity": { + "type": "SystemAssigned" + }, + "kind": "ProvisionedCluster", + "location": "East US", + "properties": { + "aadProfile": { + "adminGroupObjectIDs": [ + "56f988bf-86f1-41af-91ab-2d7cd011db47" + ], + "enableAzureRBAC": true, + "tenantID": "82f988bf-86f1-41af-91ab-2d7cd011db47" + }, + "agentPublicKeyCertificate": "", + "arcAgentProfile": { + "agentAutoUpgrade": "Enabled", + "desiredAgentVersion": "0.1.0", + "systemComponents": [ + { + "type": "Strato", + "majorVersion": 0, + "userSpecifiedVersion": "0.1.1" + } + ] + }, + "azureHybridBenefit": "NotApplicable", + "distribution": "AKS", + "distributionVersion": "1.0", + "oidcIssuerProfile": { + "enabled": true + } + }, + "tags": {} + }, + "api-version": "2024-12-01-preview", + "clusterName": "testCluster", + "resourceGroupName": "k8sc-rg", + "subscriptionId": "1bfbb5d0-917e-4346-9026-1d3b344417f5" + }, + "responses": { + "200": { + "body": { + "name": "connectedCluster1", + "type": "Microsoft.Kubernetes/connectedClusters", + "id": "/subscriptions/1bfbb5d0-917e-4346-9026-1d3b344417f5/resourceGroups/akkeshar/providers/Microsoft.Kubernetes/connectedClusters/connectedCluster1", + "identity": { + "type": "SystemAssigned" + }, + "kind": "ProvisionedCluster", + "location": "East US", + "properties": { + "aadProfile": { + "adminGroupObjectIDs": [ + "56f988bf-86f1-41af-91ab-2d7cd011db47" + ], + "enableAzureRBAC": true, + "tenantID": "82f988bf-86f1-41af-91ab-2d7cd011db47" + }, + "agentPublicKeyCertificate": "", + "agentVersion": "0.1.0", + "arcAgentProfile": { + "agentAutoUpgrade": "Enabled", + "agentState": "Succeeded", + "desiredAgentVersion": "0.1.0", + "systemComponents": [ + { + "type": "Strato", + "currentVersion": "0.1.0", + "majorVersion": 0, + "userSpecifiedVersion": "0.1.1" + } + ] + }, + "azureHybridBenefit": "NotApplicable", + "distribution": "AKS", + "distributionVersion": "1.0", + "kubernetesVersion": "1.17.0", + "oidcIssuerProfile": { + "enabled": true, + "issuerUrl": "https://oidcdiscovery-northamerica-endpoint-gbcge4adgqebgxev.z01.azurefd.net/885hc665-0g4a-4a4b-732b-e4950new3bed/" + }, + "provisioningState": "Succeeded", + "totalNodeCount": 2 + }, + "systemData": { + "createdAt": "2020-12-17T07:06:33.9173186Z", + "createdBy": "sikasire@microsoft.com", + "createdByType": "User", + "lastModifiedAt": "2020-12-17T07:06:33.9173186Z", + "lastModifiedBy": "sikasire@microsoft.com", + "lastModifiedByType": "User" + }, + "tags": {} + } + }, + "201": { + "body": { + "name": "connectedCluster1", + "type": "Microsoft.Kubernetes/connectedClusters", + "id": "/subscriptions/1bfbb5d0-917e-4346-9026-1d3b344417f5/resourceGroups/akkeshar/providers/Microsoft.Kubernetes/connectedClusters/connectedCluster1", + "identity": { + "type": "SystemAssigned" + }, + "location": "East US", + "properties": { + "aadProfile": { + "adminGroupObjectIDs": [ + "56f988bf-86f1-41af-91ab-2d7cd011db47" + ], + "enableAzureRBAC": true, + "tenantID": "82f988bf-86f1-41af-91ab-2d7cd011db47" + }, + "agentPublicKeyCertificate": "", + "agentVersion": "0.1.0", + "arcAgentProfile": { + "agentAutoUpgrade": "Enabled", + "agentState": "Succeeded", + "desiredAgentVersion": "0.1.0", + "systemComponents": [ + { + "type": "Strato", + "currentVersion": "0.1.0", + "majorVersion": 0, + "userSpecifiedVersion": "0.1.1" + } + ] + }, + "azureHybridBenefit": "NotApplicable", + "distribution": "AKS", + "distributionVersion": "1.0", + "kubernetesVersion": "1.17.0", + "oidcIssuerProfile": { + "enabled": true, + "issuerUrl": "https://oidcdiscovery-northamerica-endpoint-gbcge4adgqebgxev.z01.azurefd.net/885hc665-0g4a-4a4b-732b-e4950new3bed/" + }, + "provisioningState": "Accepted", + "totalNodeCount": 2 + }, + "systemData": { + "createdAt": "2020-12-17T07:06:33.9173186Z", + "createdBy": "sikasire@microsoft.com", + "createdByType": "User", + "lastModifiedAt": "2020-12-17T07:06:33.9173186Z", + "lastModifiedBy": "sikasire@microsoft.com", + "lastModifiedByType": "User" + }, + "tags": {} + } + } + }, + "operationId": "ConnectedCluster_CreateOrReplace", + "title": "CreateCluster_KindExample" +} \ No newline at end of file diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/DeleteClusterExample.json b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/DeleteClusterExample.json new file mode 100644 index 000000000000..a2861dbb4a1c --- /dev/null +++ b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/DeleteClusterExample.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2024-12-01-preview", + "clusterName": "testCluster", + "resourceGroupName": "k8sc-rg", + "subscriptionId": "1bfbb5d0-917e-4346-9026-1d3b344417f5" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/providers/Microsoft.Kubernetes/locations/eastasia/operationStatuses/eb4c5b0b-35c7-4de9-8b9c-d51bf24dd729", + "Location": "https://management.azure.com/providers/Microsoft.Kubernetes/locations/eastasia/operationStatuses/eb4c5b0b-35c7-4de9-8b9c-d51bf24dd729*B31BD6830F326F0DAC6966963A274F89A70EDF802817A03F8CC944233B6E6C2E?api-version=2024-12-01-preview&t=638325565717977058&c=MIIHADCCBeigAwIBAgITHgMjMN6vpcEQg2_WbgAAAyMw3jANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjMwODAzMDczNjQzWhcNMjQwNzI4MDczNjQzWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKtqtBNpyBDffqSjU2vKc-q1Ku3MtRBZR4VV9i6TdAcmNpVmw6W8QNgsa-z0zaqgCcjkLIFSUySU0_7_r4cjNFPDGVj0Y3gPDesFRunHaZsZoA2l235ZxgkOhmI9Eq_hgRKbBV-_zy1PbegjuigJTDOv4tC_xxRRMMioo273xgqG_kUrJVmb5EpU0OONBJtawx7E17himPHTOSCk6f__KaMY6z55v5motGTAEvs40N_pYLk36d4xWMWAfMSqoQu0fCiDTOBh9fXR1Mix28dh2is83JJOEmTls4gNVGZ4_gVn6DrVk-sPnD5sGs789lwzBSlRdpOoJMUnxOgMEgc_JB0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBQQBQ6aI7w4CwOrsQOypzq30e50CDAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAD5C_x4drGztlnmLaCdpAyL9KN3LkK_sr-VeDz0s3SwQ30lixsYUUfohjlbSqgoq5GW7WmEgMVuyHCv3nUc01REq-CK7A2xlhD68sfOKqXdpPFsjDCyVEFxuigozWoM3jh9ffTPLM-0cuvpIUH3sOooWAL0Y2RpShpYCxzE7ufkpuFvrs0SPvDNxn7Ga6gYdqvqXsGni-J8I4mQ5sPmZa23Nqq3RDpkYkMunjIJkX7_3p-mX4Wcnm5j93_oLnn7WRkjMF3gwwCcJGn_2yLAeVeJ8E4TNZA2_mfmwo7zGwRDV0VT4JM6evNGxDXVG9XG3hdGlZaoe_TTL5yyWR4CmM2A&s=oBCOqB7wr6rL3h0KEYh91fsSQOpjJEXV_-trbTwQJpxCgOFmN7OStVj0qiAoxRrAIJtCZHCDQnA_JjawmDlVQM7kkXVg9mg3GSG0ucDBu-G8dqYoEoS7dQu_1GKrEpyzQXCPZ4J9QZy1wDh5MmwftdAqyJ3XjTa5AFHlmnjJJiOQ0NAp4sM94-f5_Ru5ycMUdfjItDz_JjOjzSjsl6HSWMHdjvcqGUmbc7onurDb54T5hpNuioO3ex3YH7NdKP18-i66CsOx2MfidCgL6GGOw-KcVH89BPzXY8nxVqnCE54sc0EAjoyz0FU2pESjdrvJutP4c9HJc2rCJjLkxhujCQ&h=e_aACIZc0Bg5Zoog38uTxuuAtK2U6Zd6X45h4sVfHnM" + } + }, + "204": {} + }, + "operationId": "ConnectedCluster_Delete", + "title": "DeleteClusterExample" +} \ No newline at end of file diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/GetClusterExample.json b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/GetClusterExample.json new file mode 100644 index 000000000000..8962f2789137 --- /dev/null +++ b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/GetClusterExample.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "api-version": "2024-12-01-preview", + "clusterName": "testCluster", + "resourceGroupName": "k8sc-rg", + "subscriptionId": "1bfbb5d0-917e-4346-9026-1d3b344417f5" + }, + "responses": { + "200": { + "body": { + "name": "connectedCluster1", + "type": "Microsoft.Kubernetes/connectedClusters", + "id": "/subscriptions/1bfbb5d0-917e-4346-9026-1d3b344417f5/resourceGroups/akkeshar/providers/Microsoft.Kubernetes/connectedClusters/connectedCluster1", + "identity": { + "type": "SystemAssigned", + "principalId": "d8cd1fd9-154f-4da7-b348-595f283c13a3", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + }, + "location": "East US", + "properties": { + "agentPublicKeyCertificate": "MIICYzCCAcygAwIBAgIBADANBgkqhkiG9w0BAQUFADAuMQswCQYDVQQGEwJVUzEMMAoGA1UEChMDSUJNMREwDwYDVQQLEwhMb2NhbCBDQTAeFw05OTEyMjIwNTAwMDBaFw0wMDEyMjMwNDU5NTlaMC4xCzAJBgNVBAYTAlVTMQwwCgYDVQQKEwNJQk0xETAPBgNVBAsTCExvY2FsIENBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD2bZEo7xGaX2/0GHkrNFZvlxBou9v1Jmt/PDiTMPve8r9FeJAQ0QdvFST/0JPQYD20rH0bimdDLgNdNynmyRoS2S/IInfpmf69iyc2G0TPyRvmHIiOZbdCd+YBHQi1adkj17NDcWj6S14tVurFX73zx0sNoMS79q3tuXKrDsxeuwIDAQABo4GQMIGNMEsGCVUdDwGG+EIBDQQ+EzxHZW5lcmF0ZWQgYnkgdGhlIFNlY3VyZVdheSBTZWN1cml0eSBTZXJ2ZXIgZm9yIE9TLzM5MCAoUkFDRikwDgYDVR0PAQH/BAQDAgAGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJ3+ocRyCTJw067dLSwr/nalx6YMMA0GCSqGSIb3DQEBBQUAA4GBAMaQzt+zaj1GU77yzlr8iiMBXgdQrwsZZWJo5exnAucJAEYQZmOfyLiM D6oYq+ZnfvM0n8G/Y79q8nhwvuxpYOnRSAXFp6xSkrIOeZtJMY1h00LKp/JX3Ng1svZ2agE126JHsQ0bhzN5TKsYfbwfTwfjdWAGy6Vf1nYi/rO+ryMO", + "agentVersion": "0.1.0", + "arcAgentProfile": { + "agentAutoUpgrade": "Enabled", + "agentErrors": [ + { + "component": "Strato", + "message": "Upgrade failed for agent extension Strato, version not found", + "severity": "Error", + "time": "2020-12-17T07:14:58.865041Z" + } + ], + "agentState": "Failed", + "desiredAgentVersion": "0.1.0", + "systemComponents": [ + { + "type": "Strato", + "currentVersion": "0.1.0", + "userSpecifiedVersion": "0.1.1" + } + ] + }, + "azureHybridBenefit": "NotApplicable", + "distribution": "AKS", + "distributionVersion": "1.0", + "kubernetesVersion": "1.17.0", + "miscellaneousProperties": { + "createCorrelationId": "8e42616e-74dc-4117-9aaa-71ad5d0180d8", + "infrastructureVersion": "1.1" + }, + "oidcIssuerProfile": { + "enabled": true, + "issuerUrl": "https://oidcdiscovery-northamerica-endpoint-gbcge4adgqebgxev.z01.azurefd.net/885hc665-0g4a-4a4b-732b-e4950new3bed/" + }, + "privateLinkState": "Disabled", + "provisioningState": "Succeeded", + "securityProfile": { + "workloadIdentity": { + "enabled": true + } + }, + "totalNodeCount": 2 + }, + "systemData": { + "createdAt": "2020-12-17T07:06:33.9173186Z", + "createdBy": "sikasire@microsoft.com", + "createdByType": "User", + "lastModifiedAt": "2020-12-17T07:14:58.865041Z", + "lastModifiedBy": "2d2a754c-cade-4935-83d4-ce413c5a3910", + "lastModifiedByType": "Application" + }, + "tags": {} + } + } + }, + "operationId": "ConnectedCluster_Get", + "title": "GetClusterExample" +} \ No newline at end of file diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/GetClustersByResourceGroupExample.json b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/GetClustersByResourceGroupExample.json new file mode 100644 index 000000000000..bf822a7adfb7 --- /dev/null +++ b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/GetClustersByResourceGroupExample.json @@ -0,0 +1,89 @@ +{ + "parameters": { + "api-version": "2024-12-01-preview", + "resourceGroupName": "k8sc-rg", + "subscriptionId": "1bfbb5d0-917e-4346-9026-1d3b344417f5" + }, + "responses": { + "200": { + "body": { + "nextLink": "https://serviceRoot/subscriptions/subId/resourcegroups/resourceGroupName/providers/Microsoft.Kubernetes/connectedClusters?api-version=2019-11-01-preview&$skiptoken=X'12345'", + "value": [ + { + "name": "connectedCluster1", + "type": "Microsoft.Kubernetes/connectedClusters", + "id": "/subscriptions/1bfbb5d0-917e-4346-9026-1d3b344417f5/resourceGroups/akkeshar/providers/Microsoft.Kubernetes/connectedClusters/connectedCluster1", + "identity": { + "type": "SystemAssigned", + "principalId": "d8cd1fd9-154f-4da7-b348-595f283c13a3", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + }, + "location": "East US", + "properties": { + "agentPublicKeyCertificate": "MIICYzCCAcygAwIBAgIBADANBgkqhkiG9w0BAQUFADAuMQswCQYDVQQGEwJVUzEMMAoGA1UEChMDSUJNMREwDwYDVQQLEwhMb2NhbCBDQTAeFw05OTEyMjIwNTAwMDBaFw0wMDEyMjMwNDU5NTlaMC4xCzAJBgNVBAYTAlVTMQwwCgYDVQQKEwNJQk0xETAPBgNVBAsTCExvY2FsIENBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD2bZEo7xGaX2/0GHkrNFZvlxBou9v1Jmt/PDiTMPve8r9FeJAQ0QdvFST/0JPQYD20rH0bimdDLgNdNynmyRoS2S/IInfpmf69iyc2G0TPyRvmHIiOZbdCd+YBHQi1adkj17NDcWj6S14tVurFX73zx0sNoMS79q3tuXKrDsxeuwIDAQABo4GQMIGNMEsGCVUdDwGG+EIBDQQ+EzxHZW5lcmF0ZWQgYnkgdGhlIFNlY3VyZVdheSBTZWN1cml0eSBTZXJ2ZXIgZm9yIE9TLzM5MCAoUkFDRikwDgYDVR0PAQH/BAQDAgAGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJ3+ocRyCTJw067dLSwr/nalx6YMMA0GCSqGSIb3DQEBBQUAA4GBAMaQzt+zaj1GU77yzlr8iiMBXgdQrwsZZWJo5exnAucJAEYQZmOfyLiM D6oYq+ZnfvM0n8G/Y79q8nhwvuxpYOnRSAXFp6xSkrIOeZtJMY1h00LKp/JX3Ng1svZ2agE126JHsQ0bhzN5TKsYfbwfTwfjdWAGy6Vf1nYi/rO+ryMO", + "agentVersion": "0.1.0", + "azureHybridBenefit": "NotApplicable", + "distribution": "AKS", + "distributionVersion": "1.0", + "kubernetesVersion": "1.17.0", + "miscellaneousProperties": { + "createCorrelationId": "8e42616e-74dc-4117-9aaa-71ad5d0180d8", + "infrastructureVersion": "1.1" + }, + "privateLinkState": "Disabled", + "provisioningState": "Succeeded", + "totalNodeCount": 2 + }, + "systemData": { + "createdAt": "2020-12-17T07:06:33.9173186Z", + "createdBy": "sikasire@microsoft.com", + "createdByType": "User", + "lastModifiedAt": "2020-12-17T07:06:33.9173186Z", + "lastModifiedBy": "sikasire@microsoft.com", + "lastModifiedByType": "User" + }, + "tags": {} + }, + { + "name": "connectedCluster1", + "type": "Microsoft.Kubernetes/connectedClusters", + "id": "/subscriptions/1bfbb5d0-917e-4346-9026-1d3b344417f5/resourceGroups/akkeshar/providers/Microsoft.Kubernetes/connectedClusters/connectedCluster1", + "identity": { + "type": "SystemAssigned", + "principalId": "d8cd1fd9-154f-4da7-b348-595f283c13a3", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + }, + "location": "East US", + "properties": { + "agentPublicKeyCertificate": "XIICYzCCAcygAwIBAgIBADANBgkqhkiG9w0BAQUFADAuMQswCQYDVQQGEwJVUzEMMAoGA1UEChMDSUJNMREwDwYDVQQLEwhMb2NhbCBDQTAeFw05OTEyMjIwNTAwMDBaFw0wMDEyMjMwNDU5NTlaMC4xCzAJBgNVBAYTAlVTMQwwCgYDVQQKEwNJQk0xETAPBgNVBAsTCExvY2FsIENBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD2bZEo7xGaX2/0GHkrNFZvlxBou9v1Jmt/PDiTMPve8r9FeJAQ0QdvFST/0JPQYD20rH0bimdDLgNdNynmyRoS2S/IInfpmf69iyc2G0TPyRvmHIiOZbdCd+YBHQi1adkj17NDcWj6S14tVurFX73zx0sNoMS79q3tuXKrDsxeuwIDAQABo4GQMIGNMEsGCVUdDwGG+EIBDQQ+EzxHZW5lcmF0ZWQgYnkgdGhlIFNlY3VyZVdheSBTZWN1cml0eSBTZXJ2ZXIgZm9yIE9TLzM5MCAoUkFDRikwDgYDVR0PAQH/BAQDAgAGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJ3+ocRyCTJw067dLSwr/nalx6YMMA0GCSqGSIb3DQEBBQUAA4GBAMaQzt+zaj1GU77yzlr8iiMBXgdQrwsZZWJo5exnAucJAEYQZmOfyLiM D6oYq+ZnfvM0n8G/Y79q8nhwvuxpYOnRSAXFp6xSkrIOeZtJMY1h00LKp/JX3Ng1svZ2agE126JHsQ0bhzN5TKsYfbwfTwfjdWAGy6Vf1nYi/rO+ryMO", + "agentVersion": "0.1.0", + "azureHybridBenefit": "NotApplicable", + "distribution": "AKS", + "distributionVersion": "1.0", + "kubernetesVersion": "1.1", + "miscellaneousProperties": { + "createCorrelationId": "8e42616e-74dc-4117-9aaa-71ad5d0180d8", + "infrastructureVersion": "1.1" + }, + "privateLinkScopeResourceId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/privateLinkScopeName", + "privateLinkState": "Enabled", + "provisioningState": "Succeeded", + "totalNodeCount": 2 + }, + "systemData": { + "createdAt": "2020-12-17T07:06:33.9173186Z", + "createdBy": "sikasire@microsoft.com", + "createdByType": "User", + "lastModifiedAt": "2020-12-17T07:06:33.9173186Z", + "lastModifiedBy": "sikasire@microsoft.com", + "lastModifiedByType": "User" + }, + "tags": {} + } + ] + } + } + }, + "operationId": "ConnectedCluster_ListByResourceGroup", + "title": "GetClustersExample" +} \ No newline at end of file diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/GetClustersBySubscriptionExample.json b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/GetClustersBySubscriptionExample.json new file mode 100644 index 000000000000..d54d3f8d4e66 --- /dev/null +++ b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/GetClustersBySubscriptionExample.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "api-version": "2024-12-01-preview", + "subscriptionId": "1bfbb5d0-917e-4346-9026-1d3b344417f5" + }, + "responses": { + "200": { + "body": { + "nextLink": "https://serviceRoot/subscriptions/subId/resourcegroups/resourceGroupName/providers/Microsoft.Kubernetes/connectedClusters?api-version=2019-11-01-preview&$skiptoken=X'12345'", + "value": [ + { + "name": "connectedCluster1", + "type": "Microsoft.Kubernetes/connectedClusters", + "id": "/subscriptions/1bfbb5d0-917e-4346-9026-1d3b344417f5/resourceGroups/akkeshar/providers/Microsoft.Kubernetes/connectedClusters/connectedCluster1", + "identity": { + "type": "SystemAssigned", + "principalId": "d8cd1fd9-154f-4da7-b348-595f283c13a3", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + }, + "location": "East US", + "properties": { + "agentPublicKeyCertificate": "MIICYzCCAcygAwIBAgIBADANBgkqhkiG9w0BAQUFADAuMQswCQYDVQQGEwJVUzEMMAoGA1UEChMDSUJNMREwDwYDVQQLEwhMb2NhbCBDQTAeFw05OTEyMjIwNTAwMDBaFw0wMDEyMjMwNDU5NTlaMC4xCzAJBgNVBAYTAlVTMQwwCgYDVQQKEwNJQk0xETAPBgNVBAsTCExvY2FsIENBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD2bZEo7xGaX2/0GHkrNFZvlxBou9v1Jmt/PDiTMPve8r9FeJAQ0QdvFST/0JPQYD20rH0bimdDLgNdNynmyRoS2S/IInfpmf69iyc2G0TPyRvmHIiOZbdCd+YBHQi1adkj17NDcWj6S14tVurFX73zx0sNoMS79q3tuXKrDsxeuwIDAQABo4GQMIGNMEsGCVUdDwGG+EIBDQQ+EzxHZW5lcmF0ZWQgYnkgdGhlIFNlY3VyZVdheSBTZWN1cml0eSBTZXJ2ZXIgZm9yIE9TLzM5MCAoUkFDRikwDgYDVR0PAQH/BAQDAgAGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJ3+ocRyCTJw067dLSwr/nalx6YMMA0GCSqGSIb3DQEBBQUAA4GBAMaQzt+zaj1GU77yzlr8iiMBXgdQrwsZZWJo5exnAucJAEYQZmOfyLiM D6oYq+ZnfvM0n8G/Y79q8nhwvuxpYOnRSAXFp6xSkrIOeZtJMY1h00LKp/JX3Ng1svZ2agE126JHsQ0bhzN5TKsYfbwfTwfjdWAGy6Vf1nYi/rO+ryMO", + "agentVersion": "0.1.0", + "azureHybridBenefit": "NotApplicable", + "distribution": "AKS", + "distributionVersion": "1.0", + "kubernetesVersion": "1.17.0", + "miscellaneousProperties": { + "createCorrelationId": "8e42616e-74dc-4117-9aaa-71ad5d0180d8", + "infrastructureVersion": "1.1" + }, + "privateLinkState": "Disabled", + "provisioningState": "Succeeded", + "totalNodeCount": 2 + }, + "systemData": { + "createdAt": "2020-12-17T07:06:33.9173186Z", + "createdBy": "sikasire@microsoft.com", + "createdByType": "User", + "lastModifiedAt": "2020-12-17T07:06:33.9173186Z", + "lastModifiedBy": "sikasire@microsoft.com", + "lastModifiedByType": "User" + }, + "tags": {} + }, + { + "name": "connectedCluster2", + "type": "Microsoft.Kubernetes/connectedClusters", + "id": "/subscriptions/1bfbb5d0-917e-4346-9026-1d3b344417f5/resourceGroups/akkeshar/providers/Microsoft.Kubernetes/connectedClusters/connectedCluster2", + "identity": { + "type": "SystemAssigned", + "principalId": "d8cd1fd9-154f-4da7-b348-595f283c13a3", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + }, + "location": "East US", + "properties": { + "agentPublicKeyCertificate": "XIICYzCCAcygAwIBAgIBADANBgkqhkiG9w0BAQUFADAuMQswCQYDVQQGEwJVUzEMMAoGA1UEChMDSUJNMREwDwYDVQQLEwhMb2NhbCBDQTAeFw05OTEyMjIwNTAwMDBaFw0wMDEyMjMwNDU5NTlaMC4xCzAJBgNVBAYTAlVTMQwwCgYDVQQKEwNJQk0xETAPBgNVBAsTCExvY2FsIENBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD2bZEo7xGaX2/0GHkrNFZvlxBou9v1Jmt/PDiTMPve8r9FeJAQ0QdvFST/0JPQYD20rH0bimdDLgNdNynmyRoS2S/IInfpmf69iyc2G0TPyRvmHIiOZbdCd+YBHQi1adkj17NDcWj6S14tVurFX73zx0sNoMS79q3tuXKrDsxeuwIDAQABo4GQMIGNMEsGCVUdDwGG+EIBDQQ+EzxHZW5lcmF0ZWQgYnkgdGhlIFNlY3VyZVdheSBTZWN1cml0eSBTZXJ2ZXIgZm9yIE9TLzM5MCAoUkFDRikwDgYDVR0PAQH/BAQDAgAGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJ3+ocRyCTJw067dLSwr/nalx6YMMA0GCSqGSIb3DQEBBQUAA4GBAMaQzt+zaj1GU77yzlr8iiMBXgdQrwsZZWJo5exnAucJAEYQZmOfyLiM D6oYq+ZnfvM0n8G/Y79q8nhwvuxpYOnRSAXFp6xSkrIOeZtJMY1h00LKp/JX3Ng1svZ2agE126JHsQ0bhzN5TKsYfbwfTwfjdWAGy6Vf1nYi/rO+ryMO", + "agentVersion": "0.1.0", + "azureHybridBenefit": "NotApplicable", + "distribution": "AKS", + "distributionVersion": "1.0", + "kubernetesVersion": "1.16.3", + "miscellaneousProperties": { + "createCorrelationId": "8e42616e-74dc-4117-9aaa-71ad5d0180d8", + "infrastructureVersion": "1.1" + }, + "privateLinkScopeResourceId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/privateLinkScopeName", + "privateLinkState": "Enabled", + "provisioningState": "Succeeded", + "totalNodeCount": 4 + }, + "systemData": { + "createdAt": "2020-12-17T07:06:33.9173186Z", + "createdBy": "sikasire@microsoft.com", + "createdByType": "User", + "lastModifiedAt": "2020-12-17T07:06:33.9173186Z", + "lastModifiedBy": "sikasire@microsoft.com", + "lastModifiedByType": "User" + }, + "tags": {} + } + ] + } + } + }, + "operationId": "ConnectedCluster_ListBySubscription", + "title": "GetClustersBySubscriptionExample" +} \ No newline at end of file diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/GetProvisionedClusterExample.json b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/GetProvisionedClusterExample.json new file mode 100644 index 000000000000..e405a5918cc0 --- /dev/null +++ b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/GetProvisionedClusterExample.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2024-12-01-preview", + "clusterName": "testCluster", + "resourceGroupName": "k8sc-rg", + "subscriptionId": "1bfbb5d0-917e-4346-9026-1d3b344417f5" + }, + "responses": { + "200": { + "body": { + "name": "connectedCluster1", + "type": "Microsoft.Kubernetes/connectedClusters", + "id": "/subscriptions/1bfbb5d0-917e-4346-9026-1d3b344417f5/resourceGroups/akkeshar/providers/Microsoft.Kubernetes/connectedClusters/connectedCluster1", + "identity": { + "type": "SystemAssigned", + "principalId": "d8cd1fd9-154f-4da7-b348-595f283c13a3", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + }, + "kind": "ProvisionedCluster", + "location": "East US", + "properties": { + "aadProfile": { + "adminGroupObjectIDs": [ + "56f988bf-86f1-41af-91ab-2d7cd011db47" + ], + "enableAzureRBAC": true, + "tenantID": "82f988bf-86f1-41af-91ab-2d7cd011db47" + }, + "agentPublicKeyCertificate": "MIICYzCCAcygAwIBAgIBADANBgkqhkiG9w0BAQUFADAuMQswCQYDVQQGEwJVUzEMMAoGA1UEChMDSUJNMREwDwYDVQQLEwhMb2NhbCBDQTAeFw05OTEyMjIwNTAwMDBaFw0wMDEyMjMwNDU5NTlaMC4xCzAJBgNVBAYTAlVTMQwwCgYDVQQKEwNJQk0xETAPBgNVBAsTCExvY2FsIENBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD2bZEo7xGaX2/0GHkrNFZvlxBou9v1Jmt/PDiTMPve8r9FeJAQ0QdvFST/0JPQYD20rH0bimdDLgNdNynmyRoS2S/IInfpmf69iyc2G0TPyRvmHIiOZbdCd+YBHQi1adkj17NDcWj6S14tVurFX73zx0sNoMS79q3tuXKrDsxeuwIDAQABo4GQMIGNMEsGCVUdDwGG+EIBDQQ+EzxHZW5lcmF0ZWQgYnkgdGhlIFNlY3VyZVdheSBTZWN1cml0eSBTZXJ2ZXIgZm9yIE9TLzM5MCAoUkFDRikwDgYDVR0PAQH/BAQDAgAGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJ3+ocRyCTJw067dLSwr/nalx6YMMA0GCSqGSIb3DQEBBQUAA4GBAMaQzt+zaj1GU77yzlr8iiMBXgdQrwsZZWJo5exnAucJAEYQZmOfyLiM D6oYq+ZnfvM0n8G/Y79q8nhwvuxpYOnRSAXFp6xSkrIOeZtJMY1h00LKp/JX3Ng1svZ2agE126JHsQ0bhzN5TKsYfbwfTwfjdWAGy6Vf1nYi/rO+ryMO", + "agentVersion": "0.1.0", + "arcAgentProfile": { + "agentAutoUpgrade": "Enabled", + "agentState": "Succeeded", + "desiredAgentVersion": "0.1.0", + "systemComponents": [ + { + "type": "Strato", + "currentVersion": "0.1.0", + "majorVersion": 0, + "userSpecifiedVersion": "0.1.1" + } + ] + }, + "azureHybridBenefit": "NotApplicable", + "distribution": "AKS", + "distributionVersion": "1.0", + "kubernetesVersion": "1.17.0", + "miscellaneousProperties": { + "createCorrelationId": "8e42616e-74dc-4117-9aaa-71ad5d0180d8", + "infrastructureVersion": "1.1" + }, + "privateLinkState": "Disabled", + "provisioningState": "Succeeded", + "totalNodeCount": 2 + }, + "systemData": { + "createdAt": "2020-12-17T07:06:33.9173186Z", + "createdBy": "sikasire@microsoft.com", + "createdByType": "User", + "lastModifiedAt": "2020-12-17T07:14:58.865041Z", + "lastModifiedBy": "2d2a754c-cade-4935-83d4-ce413c5a3910", + "lastModifiedByType": "Application" + }, + "tags": {} + } + } + }, + "operationId": "ConnectedCluster_Get", + "title": "GetProvisionedClusterExample" +} \ No newline at end of file diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/ListConnectedClusterOperationsExample.json b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/ListConnectedClusterOperationsExample.json new file mode 100644 index 000000000000..ee7e16c05bd3 --- /dev/null +++ b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/ListConnectedClusterOperationsExample.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2024-12-01-preview" + }, + "responses": { + "200": { + "body": { + "nextLink": "https://serviceRoot/subscriptions/subId/resourcegroups/resourceGroupName/providers/Microsoft.Kubernetes/connectedClusters?api-version=2019-11-01-preview&$skiptoken=X'12345'", + "value": [ + { + "name": "Microsoft.Kubernetes/connectedClusters/write", + "display": { + "description": "Create any ConnectedCluster", + "operation": "Create ConnectedCluster", + "provider": "Microsoft.connectedClusters", + "resource": "connectedClusters" + } + }, + { + "name": "Microsoft.Kubernetes/connectedClusters/read", + "display": { + "description": "Get any ConnectedCluster", + "operation": "Get ConnectedCluster", + "provider": "Microsoft.Kubernetes", + "resource": "connectedClusters" + } + }, + { + "name": "Microsoft.Kubernetes/connectedClusters/delete", + "display": { + "description": "Delete any ConnectedCluster", + "operation": "Delete ConnectedCluster", + "provider": "Microsoft.Kubernetes", + "resource": "connectedClusters" + } + } + ] + } + } + }, + "operationId": "Operations_Get", + "title": "ListConnectedClusterOperationsExample" +} \ No newline at end of file diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/UpdateClusterByPatchExample.json b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/UpdateClusterByPatchExample.json new file mode 100644 index 000000000000..22a9061c76d6 --- /dev/null +++ b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/UpdateClusterByPatchExample.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "ConnectedClusterPatch": { + "properties": { + "azureHybridBenefit": "NotApplicable", + "distribution": "AKS", + "distributionVersion": "1.0" + }, + "tags": { + "tag1": "value1", + "tag2": "value2" + } + }, + "api-version": "2024-12-01-preview", + "clusterName": "testCluster", + "resourceGroupName": "k8sc-rg", + "subscriptionId": "1bfbb5d0-917e-4346-9026-1d3b344417f5" + }, + "responses": { + "200": { + "body": { + "name": "connectedCluster1", + "type": "Microsoft.Kubernetes/connectedClusters", + "id": "/subscriptions/1bfbb5d0-917e-4346-9026-1d3b344417f5/resourceGroups/akkeshar/providers/Microsoft.Kubernetes/connectedClusters/connectedCluster1", + "identity": { + "type": "SystemAssigned" + }, + "location": "East US", + "properties": { + "agentPublicKeyCertificate": "MIICYzCCAcygAwIBAgIBADANBgkqhkiG9w0BAQUFADAuMQswCQYDVQQGEwJVUzEMMAoGA1UEChMDSUJNMREwDwYDVQQLEwhMb2NhbCBDQTAeFw05OTEyMjIwNTAwMDBaFw0wMDEyMjMwNDU5NTlaMC4xCzAJBgNVBAYTAlVTMQwwCgYDVQQKEwNJQk0xETAPBgNVBAsTCExvY2FsIENBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD2bZEo7xGaX2/0GHkrNFZvlxBou9v1Jmt/PDiTMPve8r9FeJAQ0QdvFST/0JPQYD20rH0bimdDLgNdNynmyRoS2S/IInfpmf69iyc2G0TPyRvmHIiOZbdCd+YBHQi1adkj17NDcWj6S14tVurFX73zx0sNoMS79q3tuXKrDsxeuwIDAQABo4GQMIGNMEsGCVUdDwGG+EIBDQQ+EzxHZW5lcmF0ZWQgYnkgdGhlIFNlY3VyZVdheSBTZWN1cml0eSBTZXJ2ZXIgZm9yIE9TLzM5MCAoUkFDRikwDgYDVR0PAQH/BAQDAgAGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJ3+ocRyCTJw067dLSwr/nalx6YMMA0GCSqGSIb3DQEBBQUAA4GBAMaQzt+zaj1GU77yzlr8iiMBXgdQrwsZZWJo5exnAucJAEYQZmOfyLiM D6oYq+ZnfvM0n8G/Y79q8nhwvuxpYOnRSAXFp6xSkrIOeZtJMY1h00LKp/JX3Ng1svZ2agE126JHsQ0bhzN5TKsYfbwfTwfjdWAGy6Vf1nYi/rO+ryMO", + "agentVersion": "0.1.0", + "azureHybridBenefit": "NotApplicable", + "distribution": "AKS", + "distributionVersion": "1.0", + "kubernetesVersion": "1.17.0", + "miscellaneousProperties": { + "createCorrelationId": "8e42616e-74dc-4117-9aaa-71ad5d0180d8", + "infrastructureVersion": "1.1" + }, + "provisioningState": "Succeeded", + "totalNodeCount": 2 + }, + "systemData": { + "createdAt": "2020-12-17T07:06:33.9173186Z", + "createdBy": "sikasire@microsoft.com", + "createdByType": "User", + "lastModifiedAt": "2020-12-17T07:14:58.865041Z", + "lastModifiedBy": "2d2a754c-cade-4935-83d4-ce413c5a3910", + "lastModifiedByType": "Application" + }, + "tags": {} + } + } + }, + "operationId": "ConnectedCluster_Update", + "title": "UpdateClusterExample" +} \ No newline at end of file diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/UpdateClusterByPutExample.json b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/UpdateClusterByPutExample.json new file mode 100644 index 000000000000..e6dcfb5aac3c --- /dev/null +++ b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/UpdateClusterByPutExample.json @@ -0,0 +1,97 @@ +{ + "parameters": { + "ConnectedCluster": { + "identity": { + "type": "SystemAssigned" + }, + "location": "East US", + "properties": { + "agentPublicKeyCertificate": "MIICYzCCAcygAwIBAgIBADANBgkqhkiG9w0BAQUFADAuMQswCQYDVQQGEwJVUzEMMAoGA1UEChMDSUJNMREwDwYDVQQLEwhMb2NhbCBDQTAeFw05OTEyMjIwNTAwMDBaFw0wMDEyMjMwNDU5NTlaMC4xCzAJBgNVBAYTAlVTMQwwCgYDVQQKEwNJQk0xETAPBgNVBAsTCExvY2FsIENBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD2bZEo7xGaX2/0GHkrNFZvlxBou9v1Jmt/PDiTMPve8r9FeJAQ0QdvFST/0JPQYD20rH0bimdDLgNdNynmyRoS2S/IInfpmf69iyc2G0TPyRvmHIiOZbdCd+YBHQi1adkj17NDcWj6S14tVurFX73zx0sNoMS79q3tuXKrDsxeuwIDAQABo4GQMIGNMEsGCVUdDwGG+EIBDQQ+EzxHZW5lcmF0ZWQgYnkgdGhlIFNlY3VyZVdheSBTZWN1cml0eSBTZXJ2ZXIgZm9yIE9TLzM5MCAoUkFDRikwDgYDVR0PAQH/BAQDAgAGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJ3+ocRyCTJw067dLSwr/nalx6YMMA0GCSqGSIb3DQEBBQUAA4GBAMaQzt+zaj1GU77yzlr8iiMBXgdQrwsZZWJo5exnAucJAEYQZmOfyLiM D6oYq+ZnfvM0n8G/Y79q8nhwvuxpYOnRSAXFp6xSkrIOeZtJMY1h00LKp/JX3Ng1svZ2agE126JHsQ0bhzN5TKsYfbwfTwfjdWAGy6Vf1nYi/rO+ryMO", + "azureHybridBenefit": "NotApplicable", + "distribution": "AKS", + "distributionVersion": "1.0", + "gateway": { + "enabled": true, + "resourceId": "/subscriptions/1bfbb5d0-917e-4346-9026-1d3b344417f5/resourceGroups/akkeshar/providers/Microsoft.HybridCompute/gateways/gateway1" + } + }, + "tags": {} + }, + "api-version": "2024-12-01-preview", + "clusterName": "testCluster", + "resourceGroupName": "k8sc-rg", + "subscriptionId": "1bfbb5d0-917e-4346-9026-1d3b344417f5" + }, + "responses": { + "200": { + "body": { + "name": "connectedCluster1", + "type": "Microsoft.Kubernetes/connectedClusters", + "id": "/subscriptions/1bfbb5d0-917e-4346-9026-1d3b344417f5/resourceGroups/akkeshar/providers/Microsoft.Kubernetes/connectedClusters/connectedCluster1", + "identity": { + "type": "SystemAssigned" + }, + "location": "East US", + "properties": { + "agentPublicKeyCertificate": "MIICYzCCAcygAwIBAgIBADANBgkqhkiG9w0BAQUFADAuMQswCQYDVQQGEwJVUzEMMAoGA1UEChMDSUJNMREwDwYDVQQLEwhMb2NhbCBDQTAeFw05OTEyMjIwNTAwMDBaFw0wMDEyMjMwNDU5NTlaMC4xCzAJBgNVBAYTAlVTMQwwCgYDVQQKEwNJQk0xETAPBgNVBAsTCExvY2FsIENBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD2bZEo7xGaX2/0GHkrNFZvlxBou9v1Jmt/PDiTMPve8r9FeJAQ0QdvFST/0JPQYD20rH0bimdDLgNdNynmyRoS2S/IInfpmf69iyc2G0TPyRvmHIiOZbdCd+YBHQi1adkj17NDcWj6S14tVurFX73zx0sNoMS79q3tuXKrDsxeuwIDAQABo4GQMIGNMEsGCVUdDwGG+EIBDQQ+EzxHZW5lcmF0ZWQgYnkgdGhlIFNlY3VyZVdheSBTZWN1cml0eSBTZXJ2ZXIgZm9yIE9TLzM5MCAoUkFDRikwDgYDVR0PAQH/BAQDAgAGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJ3+ocRyCTJw067dLSwr/nalx6YMMA0GCSqGSIb3DQEBBQUAA4GBAMaQzt+zaj1GU77yzlr8iiMBXgdQrwsZZWJo5exnAucJAEYQZmOfyLiM D6oYq+ZnfvM0n8G/Y79q8nhwvuxpYOnRSAXFp6xSkrIOeZtJMY1h00LKp/JX3Ng1svZ2agE126JHsQ0bhzN5TKsYfbwfTwfjdWAGy6Vf1nYi/rO+ryMO", + "agentVersion": "0.1.0", + "azureHybridBenefit": "NotApplicable", + "distribution": "AKS", + "distributionVersion": "1.0", + "gateway": { + "enabled": true, + "resourceId": "/subscriptions/1bfbb5d0-917e-4346-9026-1d3b344417f5/resourceGroups/akkeshar/providers/Microsoft.HybridCompute/gateways/gateway1" + }, + "kubernetesVersion": "1.17.0", + "provisioningState": "Succeeded", + "totalNodeCount": 2 + }, + "systemData": { + "createdAt": "2020-12-17T07:06:33.9173186Z", + "createdBy": "sikasire@microsoft.com", + "createdByType": "User", + "lastModifiedAt": "2020-12-17T07:06:33.9173186Z", + "lastModifiedBy": "sikasire@microsoft.com", + "lastModifiedByType": "User" + }, + "tags": {} + } + }, + "201": { + "body": { + "name": "connectedCluster1", + "type": "Microsoft.Kubernetes/connectedClusters", + "id": "/subscriptions/1bfbb5d0-917e-4346-9026-1d3b344417f5/resourceGroups/akkeshar/providers/Microsoft.Kubernetes/connectedClusters/connectedCluster1", + "identity": { + "type": "SystemAssigned" + }, + "location": "East US", + "properties": { + "agentPublicKeyCertificate": "MIICYzCCAcygAwIBAgIBADANBgkqhkiG9w0BAQUFADAuMQswCQYDVQQGEwJVUzEMMAoGA1UEChMDSUJNMREwDwYDVQQLEwhMb2NhbCBDQTAeFw05OTEyMjIwNTAwMDBaFw0wMDEyMjMwNDU5NTlaMC4xCzAJBgNVBAYTAlVTMQwwCgYDVQQKEwNJQk0xETAPBgNVBAsTCExvY2FsIENBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD2bZEo7xGaX2/0GHkrNFZvlxBou9v1Jmt/PDiTMPve8r9FeJAQ0QdvFST/0JPQYD20rH0bimdDLgNdNynmyRoS2S/IInfpmf69iyc2G0TPyRvmHIiOZbdCd+YBHQi1adkj17NDcWj6S14tVurFX73zx0sNoMS79q3tuXKrDsxeuwIDAQABo4GQMIGNMEsGCVUdDwGG+EIBDQQ+EzxHZW5lcmF0ZWQgYnkgdGhlIFNlY3VyZVdheSBTZWN1cml0eSBTZXJ2ZXIgZm9yIE9TLzM5MCAoUkFDRikwDgYDVR0PAQH/BAQDAgAGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJ3+ocRyCTJw067dLSwr/nalx6YMMA0GCSqGSIb3DQEBBQUAA4GBAMaQzt+zaj1GU77yzlr8iiMBXgdQrwsZZWJo5exnAucJAEYQZmOfyLiM D6oYq+ZnfvM0n8G/Y79q8nhwvuxpYOnRSAXFp6xSkrIOeZtJMY1h00LKp/JX3Ng1svZ2agE126JHsQ0bhzN5TKsYfbwfTwfjdWAGy6Vf1nYi/rO+ryMO", + "agentVersion": "0.1.0", + "azureHybridBenefit": "NotApplicable", + "distribution": "AKS", + "distributionVersion": "1.0", + "gateway": { + "enabled": true, + "resourceId": "/subscriptions/1bfbb5d0-917e-4346-9026-1d3b344417f5/resourceGroups/akkeshar/providers/Microsoft.HybridCompute/gateways/gateway1" + }, + "kubernetesVersion": "1.17.0", + "provisioningState": "Accepted", + "totalNodeCount": 2 + }, + "systemData": { + "createdAt": "2020-12-17T07:06:33.9173186Z", + "createdBy": "sikasire@microsoft.com", + "createdByType": "User", + "lastModifiedAt": "2020-12-17T07:06:33.9173186Z", + "lastModifiedBy": "sikasire@microsoft.com", + "lastModifiedByType": "User" + }, + "tags": {} + } + } + }, + "operationId": "ConnectedCluster_CreateOrReplace", + "title": "UpdateClusterByPutExample" +} \ No newline at end of file diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/main.tsp b/specification/hybridkubernetes/HybridKubernetes.Management/main.tsp new file mode 100644 index 000000000000..3763e19053dd --- /dev/null +++ b/specification/hybridkubernetes/HybridKubernetes.Management/main.tsp @@ -0,0 +1,45 @@ +/** + * PLEASE DO NOT REMOVE - USED FOR CONVERTER METRICS + * Generated by package: @autorest/openapi-to-typespec + * Parameters used: + * isFullCompatible: true + * guessResourceKey: false + * Version: 0.10.14 + * Date: 2025-04-17T07:37:03.264Z + */ +import "@typespec/rest"; +import "@typespec/versioning"; +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "./models.tsp"; +import "./ConnectedCluster.tsp"; + +using TypeSpec.Rest; +using TypeSpec.Http; +using Azure.ResourceManager.Foundations; +using Azure.Core; +using Azure.ResourceManager; +using TypeSpec.Versioning; +/** + * Azure Connected Cluster Resource Provider API for onboarding a Kubernetes Cluster to Azure Arc + */ +@armProviderNamespace +@service(#{ title: "ConnectedKubernetesClient" }) +@versioned(Versions) +// FIXME: Common type version v2 is not supported for now. Set to v3. +@armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v3) +namespace Microsoft.Kubernetes; + +/** + * The available API versions. + */ +enum Versions { + /** + * The 2024-12-01-preview API version. + */ + @useDependency(Azure.ResourceManager.Versions.v1_0_Preview_1) + @useDependency(Azure.Core.Versions.v1_0_Preview_1) + v2024_12_01_preview: "2024-12-01-preview", +} + +interface Operations extends Azure.ResourceManager.Operations {} diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/models.tsp b/specification/hybridkubernetes/HybridKubernetes.Management/models.tsp new file mode 100644 index 000000000000..ac393ebeabb3 --- /dev/null +++ b/specification/hybridkubernetes/HybridKubernetes.Management/models.tsp @@ -0,0 +1,624 @@ +import "@typespec/rest"; +import "@typespec/http"; +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; + +using TypeSpec.Rest; +using TypeSpec.Http; +using Azure.ResourceManager; +using Azure.ResourceManager.Foundations; + +namespace Microsoft.Kubernetes; + +/** + * Indicates the kind of Arc connected cluster based on host infrastructure. + */ +union ConnectedClusterKind { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + ProvisionedCluster: "ProvisionedCluster", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + AWS: "AWS", +} + +/** + * The current deployment state of connectedClusters. + */ +union ProvisioningState { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Succeeded: "Succeeded", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Failed: "Failed", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Canceled: "Canceled", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Provisioning: "Provisioning", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Updating: "Updating", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Deleting: "Deleting", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Accepted: "Accepted", +} + +/** + * Represents the connectivity status of the connected cluster. + */ +union ConnectivityStatus { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Connecting: "Connecting", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Connected: "Connected", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Offline: "Offline", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Expired: "Expired", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + AgentNotInstalled: "AgentNotInstalled", +} + +/** + * Property which describes the state of private link on a connected cluster resource. + */ +union PrivateLinkState { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Enabled: "Enabled", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Disabled: "Disabled", +} + +/** + * Indicates whether Azure Hybrid Benefit is opted in + */ +union AzureHybridBenefit { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + True: "True", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + False: "False", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + NotApplicable: "NotApplicable", +} + +/** + * Indicates whether the Arc agents on the be upgraded automatically to the latest version. Defaults to Enabled. + */ +union AutoUpgradeOptions { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Enabled: "Enabled", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Disabled: "Disabled", +} + +/** + * The type of identity that last modified the resource. + */ +union LastModifiedByType { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + User: "User", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Application: "Application", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + ManagedIdentity: "ManagedIdentity", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Key: "Key", +} + +/** + * The mode of client authentication. + */ +union AuthenticationMethod { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Token: "Token", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + AAD: "AAD", +} + +/** + * The type of identity used for the connected cluster. The type 'SystemAssigned, includes a system created identity. The type 'None' means no identity is assigned to the connected cluster. + */ +#suppress "@azure-tools/typespec-azure-core/no-enum" "For backward compatibility" +enum ResourceIdentityType { + None, + SystemAssigned, +} + +/** + * Identity for the connected cluster. + */ +model ConnectedClusterIdentity { + /** + * The principal id of connected cluster identity. This property will only be provided for a system assigned identity. + */ + @visibility(Lifecycle.Read) + principalId?: string; + + /** + * The tenant id associated with the connected cluster. This property will only be provided for a system assigned identity. + */ + @visibility(Lifecycle.Read) + tenantId?: string; + + /** + * The type of identity used for the connected cluster. The type 'SystemAssigned, includes a system created identity. The type 'None' means no identity is assigned to the connected cluster. + */ + type: ResourceIdentityType = ResourceIdentityType.SystemAssigned; +} + +/** + * Properties of the connected cluster. + */ +model ConnectedClusterProperties { + /** + * Base64 encoded public certificate used by the agent to do the initial handshake to the backend services in Azure. + */ + agentPublicKeyCertificate: string; + + /** + * The Kubernetes version of the connected cluster resource + */ + @visibility(Lifecycle.Read) + kubernetesVersion?: string; + + /** + * Number of nodes present in the connected cluster resource + */ + @visibility(Lifecycle.Read) + totalNodeCount?: int32; + + /** + * Number of CPU cores present in the connected cluster resource + */ + @visibility(Lifecycle.Read) + totalCoreCount?: int32; + + /** + * Version of the agent running on the connected cluster resource + */ + @visibility(Lifecycle.Read) + agentVersion?: string; + + /** + * Provisioning state of the connected cluster resource. + */ + provisioningState?: ProvisioningState; + + /** + * The Kubernetes distribution running on this connected cluster. + */ + distribution?: string; + + /** + * The Kubernetes distribution version on this connected cluster. + */ + distributionVersion?: string; + + /** + * The infrastructure on which the Kubernetes cluster represented by this connected cluster is running on. + */ + infrastructure?: string; + + /** + * Connected cluster offering + */ + @visibility(Lifecycle.Read) + offering?: string; + + /** + * Expiration time of the managed identity certificate + */ + @visibility(Lifecycle.Read) + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + managedIdentityCertificateExpirationTime?: utcDateTime; + + /** + * Time representing the last instance when heart beat was received from the cluster + */ + @visibility(Lifecycle.Read) + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + lastConnectivityTime?: utcDateTime; + + /** + * Represents the connectivity status of the connected cluster. + */ + @visibility(Lifecycle.Read) + connectivityStatus?: ConnectivityStatus; + + /** + * Property which describes the state of private link on a connected cluster resource. + */ + privateLinkState?: PrivateLinkState = PrivateLinkState.Disabled; + + /** + * This is populated only if privateLinkState is enabled. The resource id of the private link scope this connected cluster is assigned to, if any. + */ + privateLinkScopeResourceId?: string; + + /** + * Indicates whether Azure Hybrid Benefit is opted in + */ + azureHybridBenefit?: AzureHybridBenefit; + + /** + * AAD profile for the connected cluster. + */ + aadProfile?: AadProfile; + + /** + * Arc agentry configuration for the provisioned cluster. + */ + arcAgentProfile?: ArcAgentProfile; + + /** + * Security profile for the connected cluster. + */ + securityProfile?: SecurityProfile; + + /** + * Open ID Connect (OIDC) Issuer Profile for the connected cluster. + */ + oidcIssuerProfile?: OidcIssuerProfile; + + /** + * Details of the gateway used by the Arc router for connectivity. + */ + gateway?: Gateway; + + /** + * Configuration settings for customizing the behavior of the connected cluster. + */ + arcAgentryConfigurations?: ArcAgentryConfigurations[]; + + /** + * More properties related to the Connected Cluster + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" + @visibility(Lifecycle.Read) + miscellaneousProperties?: Record; +} + +/** + * AAD Profile specifies attributes for Azure Active Directory integration. + */ +model AadProfile { + /** + * Whether to enable Azure RBAC for Kubernetes authorization. + */ + enableAzureRBAC?: boolean; + + /** + * The list of AAD group object IDs that will have admin role of the cluster. + */ + adminGroupObjectIDs?: string[]; + + /** + * The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription. + */ + tenantID?: string; +} + +/** + * Defines the Arc Agent properties for the clusters. + */ +model ArcAgentProfile { + /** + * Version of the Arc agents to be installed on the cluster resource + */ + desiredAgentVersion?: string; + + /** + * Indicates whether the Arc agents on the be upgraded automatically to the latest version. Defaults to Enabled. + */ + agentAutoUpgrade?: AutoUpgradeOptions = AutoUpgradeOptions.Enabled; + + /** + * List of system extensions that are installed on the cluster resource. + */ + systemComponents?: SystemComponent[]; + + /** + * List of arc agentry and system components errors on the cluster resource. + */ + agentErrors?: AgentError[]; + + /** + * Represents the current state of the Arc agentry and its dependent components. + */ + @visibility(Lifecycle.Read) + agentState?: string; +} + +/** + * System extensions and its current versions installed on the cluster resource. + */ +model SystemComponent { + /** + * Type of the system extension + */ + type?: string; + + /** + * Version of the system extension to be installed on the cluster resource. + */ + userSpecifiedVersion?: string; + + /** + * Major Version of the system extension that is currently installed on the cluster resource. + */ + majorVersion?: int32; + + /** + * Version of the system extension that is currently installed on the cluster resource. + */ + @visibility(Lifecycle.Read) + currentVersion?: string; +} + +/** + * Agent Errors if any during agent or system component upgrade. + */ +model AgentError { + /** + * Agent error message. + */ + @visibility(Lifecycle.Read) + message?: string; + + /** + * Severity of the error message. + */ + @visibility(Lifecycle.Read) + severity?: string; + + /** + * Agent component where error message occured. + */ + @visibility(Lifecycle.Read) + component?: string; + + /** + * The timestamp of error occured (UTC). + */ + @visibility(Lifecycle.Read) + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + time?: utcDateTime; +} + +/** + * Security Profile specifies attributes for cluster security features. + */ +model SecurityProfile { + /** + * The workload identity feature webhook. + */ + workloadIdentity?: SecurityProfileWorkloadIdentity; +} + +/** + * The workload identity feature webhook. + */ +model SecurityProfileWorkloadIdentity { + /** + * Whether to enable or disable the workload identity Webhook + */ + enabled?: boolean; +} + +/** + * OIDC Issuer Profile specifies attributes for workload identity integration. + */ +model OidcIssuerProfile { + /** + * Whether to enable oidc issuer for workload identity integration. + */ + enabled?: boolean; + + /** + * The issuer url for hybrid clusters connected to Arc used for the workload identity feature. + */ + @visibility(Lifecycle.Read) + issuerUrl?: string; + + /** + * The issuer url for public cloud clusters - AKS, EKS, GKE - used for the workload identity feature. + */ + selfHostedIssuerUrl?: string; +} + +#suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" +model Gateway { + /** + * Indicates whether the gateway for arc router connectivity is enabled. + */ + enabled?: boolean; + + /** + * The resource ID of the gateway used for the Arc router feature. + */ + resourceId?: Azure.Core.armResourceIdentifier<[ + { + type: "Microsoft.HybridCompute/gateways"; + } + ]>; +} + +#suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" +model ArcAgentryConfigurations { + /** + * Specifies the name of the feature for the configuration setting. + */ + feature?: string; + + /** + * The configuration settings for the feature that do not contain any sensitive or secret information. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" + settings?: Record; + + /** + * The configuration settings for the feature that contain any sensitive or secret information. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" + protectedSettings?: Record; +} + +/** + * Common fields that are returned in the response for all Azure Resource Manager resources + */ +model Resource { + /** + * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + */ + @visibility(Lifecycle.Read) + id?: string; + + /** + * The name of the resource + */ + @visibility(Lifecycle.Read) + name?: string; + + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + @visibility(Lifecycle.Read) + type?: string; +} + +/** + * Object containing updates for patch operations. + */ +model ConnectedClusterPatch { + /** + * Resource tags. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" + tags?: Record; + + /** + * Describes the connected cluster resource properties that can be updated during PATCH operation. + */ + #suppress "@azure-tools/typespec-azure-core/no-private-usage" "For backward compatibility" + @Azure.ResourceManager.Private.conditionalClientFlatten + properties?: ConnectedClusterPatchProperties; +} + +/** + * Properties which can be patched on the connected cluster resource. + */ +model ConnectedClusterPatchProperties { + /** + * Represents the distribution of the connected cluster + */ + distribution?: string; + + /** + * Represents the Kubernetes distribution version on this connected cluster. + */ + distributionVersion?: string; + + /** + * Indicates whether Azure Hybrid Benefit is opted in + */ + azureHybridBenefit?: AzureHybridBenefit; +} + +#suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" +model ListClusterUserCredentialProperties { + /** + * The mode of client authentication. + */ + authenticationMethod: AuthenticationMethod; + + /** + * Boolean value to indicate whether the request is for client side proxy or not + */ + clientProxy: boolean; +} + +/** + * The list of credential result response. + */ +model CredentialResults { + /** + * Contains the REP (rendezvous endpoint) and “Sender” access token. + */ + @visibility(Lifecycle.Read) + hybridConnectionConfig?: HybridConnectionConfig; + + /** + * Base64-encoded Kubernetes configuration file. + */ + @visibility(Lifecycle.Read) + @OpenAPI.extension("x-ms-identifiers", #["name"]) + kubeconfigs?: CredentialResult[]; +} + +/** + * Contains the REP (rendezvous endpoint) and “Sender” access token. + */ +model HybridConnectionConfig { + /** + * Timestamp when this token will be expired. + */ + @visibility(Lifecycle.Read) + expirationTime?: int64; + + /** + * Name of the connection + */ + @visibility(Lifecycle.Read) + hybridConnectionName?: string; + + /** + * Name of the relay. + */ + @visibility(Lifecycle.Read) + relay?: string; + + /** + * Sender access token + */ + @visibility(Lifecycle.Read) + token?: string; + + /** + * TenantID of the relay + */ + @visibility(Lifecycle.Read) + relayTid?: string; + + /** + * Type of relay + */ + @visibility(Lifecycle.Read) + relayType?: string; +} + +/** + * The credential result response. + */ +model CredentialResult { + /** + * The name of the credential. + */ + @visibility(Lifecycle.Read) + name?: string; + + /** + * Base64-encoded Kubernetes configuration file. + */ + @visibility(Lifecycle.Read) + value?: bytes; +} + +/** + * The paginated list of connected Clusters + */ +model ConnectedClusterList is Azure.Core.Page; diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/tspconfig.yaml b/specification/hybridkubernetes/HybridKubernetes.Management/tspconfig.yaml new file mode 100644 index 000000000000..4706137fc91a --- /dev/null +++ b/specification/hybridkubernetes/HybridKubernetes.Management/tspconfig.yaml @@ -0,0 +1,14 @@ +emit: + - "@azure-tools/typespec-autorest" +options: + "@azure-tools/typespec-autorest": + use-read-only-status-schema: true + omit-unreachable-types: true + emitter-output-dir: "{project-root}/.." + azure-resource-provider-folder: "resource-manager" + output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/connectedClusters.json" + examples-dir: "{project-root}/examples" + arm-resource-flattening: true +linter: + extends: + - "@azure-tools/typespec-azure-rulesets/resource-manager" From a356c11f6a2b69114384661173dee8f215276034 Mon Sep 17 00:00:00 2001 From: melina5656 <140602263+melina5656@users.noreply.github.com> Date: Fri, 18 Apr 2025 14:38:40 +0800 Subject: [PATCH 02/20] fix error and diff --- .../ConnectedCluster.tsp | 36 +- .../{client.tsp => back-compatible.tsp} | 1 - ...ListConnectedClusterOperationsExample.json | 2 +- .../HybridKubernetes.Management/main.tsp | 1 + .../2024-12-01-preview/connectedClusters.json | 1442 +++++++++-------- ...tersListClusterCredentialResultCSPAAD.json | 20 +- ...rsListClusterCredentialResultCSPToken.json | 20 +- ...stersListClusterCredentialResultHPAAD.json | 16 +- ...ersListClusterCredentialResultHPToken.json | 16 +- ...CreateClusterAgentless_KindAWSExample.json | 94 +- .../examples/CreateClusterExample.json | 86 +- .../CreateClusterPrivateLinkExample.json | 100 +- .../examples/CreateCluster_KindExample.json | 160 +- .../examples/DeleteClusterExample.json | 12 +- .../examples/GetClusterExample.json | 96 +- .../GetClustersByResourceGroupExample.json | 90 +- .../GetClustersBySubscriptionExample.json | 90 +- .../GetProvisionedClusterExample.json | 68 +- ...ListConnectedClusterOperationsExample.json | 28 +- .../examples/UpdateClusterByPatchExample.json | 56 +- .../examples/UpdateClusterByPutExample.json | 90 +- 21 files changed, 1308 insertions(+), 1216 deletions(-) rename specification/hybridkubernetes/HybridKubernetes.Management/{client.tsp => back-compatible.tsp} (97%) diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/ConnectedCluster.tsp b/specification/hybridkubernetes/HybridKubernetes.Management/ConnectedCluster.tsp index cf85cde883b4..e62618eb9728 100644 --- a/specification/hybridkubernetes/HybridKubernetes.Management/ConnectedCluster.tsp +++ b/specification/hybridkubernetes/HybridKubernetes.Management/ConnectedCluster.tsp @@ -45,7 +45,7 @@ interface ConnectedClusters { @operationId("ConnectedCluster_Get") get is ArmResourceRead< ConnectedCluster, - BaseParameters = Azure.ResourceManager.Foundations.SubscriptionBaseParameters + BaseParameters = Azure.ResourceManager.Foundations.ResourceGroupBaseParameters >; /** @@ -55,7 +55,7 @@ interface ConnectedClusters { @operationId("ConnectedCluster_CreateOrReplace") createOrReplace is ArmResourceCreateOrReplaceAsync< ConnectedCluster, - BaseParameters = Azure.ResourceManager.Foundations.SubscriptionBaseParameters + BaseParameters = Azure.ResourceManager.Foundations.ResourceGroupBaseParameters >; /** @@ -67,7 +67,7 @@ interface ConnectedClusters { update is ArmCustomPatchSync< ConnectedCluster, PatchModel = ConnectedClusterPatch, - BaseParameters = Azure.ResourceManager.Foundations.SubscriptionBaseParameters + BaseParameters = Azure.ResourceManager.Foundations.ResourceGroupBaseParameters >; /** @@ -78,7 +78,7 @@ interface ConnectedClusters { @operationId("ConnectedCluster_Delete") delete is ArmResourceDeleteWithoutOkAsync< ConnectedCluster, - BaseParameters = Azure.ResourceManager.Foundations.SubscriptionBaseParameters, + BaseParameters = Azure.ResourceManager.Foundations.ResourceGroupBaseParameters, Response = ArmDeletedResponse | ArmDeleteAcceptedLroResponse | ArmDeletedNoContentResponse >; @@ -89,8 +89,7 @@ interface ConnectedClusters { @operationId("ConnectedCluster_ListByResourceGroup") listByResourceGroup is ArmResourceListByParent< ConnectedCluster, - BaseParameters = Azure.ResourceManager.Foundations.SubscriptionBaseParameters, - Response = ArmResponse + Azure.ResourceManager.Foundations.ResourceGroupBaseParameters >; /** @@ -98,11 +97,7 @@ interface ConnectedClusters { */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" @operationId("ConnectedCluster_ListBySubscription") - listBySubscription is ArmListBySubscription< - ConnectedCluster, - BaseParameters = Azure.ResourceManager.Foundations.SubscriptionBaseParameters, - Response = ArmResponse - >; + listBySubscription is ArmListBySubscription; /** * Gets cluster user credentials of the connected cluster with a specified resource group and name. @@ -113,7 +108,7 @@ interface ConnectedClusters { ConnectedCluster, ListClusterUserCredentialProperties, ArmResponse, - BaseParameters = Azure.ResourceManager.Foundations.SubscriptionBaseParameters + BaseParameters = Azure.ResourceManager.Foundations.ResourceGroupBaseParameters >; } @@ -132,3 +127,20 @@ interface ConnectedClusters { @@doc(ConnectedClusters.listClusterUserCredential::parameters.body, "ListClusterUserCredential properties" ); +@@summary(ConnectedClusters.listBySubscription, + "Lists all connected clusters in the given Subscription" +); +@@summary(ConnectedClusters.get, + "Get the properties of the specified connected cluster." +); +@@summary(ConnectedClusters.createOrReplace, + "Register a new Kubernetes cluster with Azure Resource Manager." +); +@@summary(ConnectedClusters.update, "Updates a connected cluster."); +@@summary(ConnectedClusters.delete, "Delete a connected cluster."); +@@summary(ConnectedClusters.listClusterUserCredential, + "Gets cluster user credentials of a connected cluster" +); +@@summary(ConnectedClusters.listByResourceGroup, + "Lists all connected clusters in the given Resource Group" +); diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/client.tsp b/specification/hybridkubernetes/HybridKubernetes.Management/back-compatible.tsp similarity index 97% rename from specification/hybridkubernetes/HybridKubernetes.Management/client.tsp rename to specification/hybridkubernetes/HybridKubernetes.Management/back-compatible.tsp index 4a3e274bfaf1..f9349d08f53c 100644 --- a/specification/hybridkubernetes/HybridKubernetes.Management/client.tsp +++ b/specification/hybridkubernetes/HybridKubernetes.Management/back-compatible.tsp @@ -1,4 +1,3 @@ -import "./main.tsp"; import "@azure-tools/typespec-client-generator-core"; using Azure.ClientGenerator.Core; diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/ListConnectedClusterOperationsExample.json b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/ListConnectedClusterOperationsExample.json index ee7e16c05bd3..88b431556410 100644 --- a/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/ListConnectedClusterOperationsExample.json +++ b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/ListConnectedClusterOperationsExample.json @@ -38,6 +38,6 @@ } } }, - "operationId": "Operations_Get", + "operationId": "Operations_List", "title": "ListConnectedClusterOperationsExample" } \ No newline at end of file diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/main.tsp b/specification/hybridkubernetes/HybridKubernetes.Management/main.tsp index 3763e19053dd..440aaa3531cd 100644 --- a/specification/hybridkubernetes/HybridKubernetes.Management/main.tsp +++ b/specification/hybridkubernetes/HybridKubernetes.Management/main.tsp @@ -13,6 +13,7 @@ import "@azure-tools/typespec-azure-core"; import "@azure-tools/typespec-azure-resource-manager"; import "./models.tsp"; import "./ConnectedCluster.tsp"; +import "./back-compatible.tsp"; using TypeSpec.Rest; using TypeSpec.Http; diff --git a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/connectedClusters.json b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/connectedClusters.json index 8cf7a5858e8c..a198f63bdf9c 100644 --- a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/connectedClusters.json +++ b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/connectedClusters.json @@ -3,12 +3,23 @@ "info": { "title": "ConnectedKubernetesClient", "version": "2024-12-01-preview", - "description": "Azure Connected Cluster Resource Provider API for onboarding a Kubernetes Cluster to Azure Arc" + "description": "Azure Connected Cluster Resource Provider API for onboarding a Kubernetes Cluster to Azure Arc", + "x-typespec-generated": [ + { + "emitter": "@azure-tools/typespec-autorest" + } + ] }, "schemes": [ "https" ], "host": "management.azure.com", + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ], "security": [ { "azure_auth": [ @@ -19,498 +30,647 @@ "securityDefinitions": { "azure_auth": { "type": "oauth2", - "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", - "flow": "implicit", "description": "Azure Active Directory OAuth2 Flow.", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "scopes": { "user_impersonation": "impersonate your user account" } } }, + "tags": [ + { + "name": "Operations" + }, + { + "name": "ConnectedClusters" + } + ], "paths": { - "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Kubernetes/connectedClusters/{clusterName}": { - "put": { - "summary": "Register a new Kubernetes cluster with Azure Resource Manager.", - "operationId": "ConnectedCluster_CreateOrReplace", - "description": "API to register a new Kubernetes cluster and create or replace a connected cluster tracked resource in Azure Resource Manager (ARM).", - "consumes": [ - "application/json" + "/providers/Microsoft.Kubernetes/operations": { + "get": { + "operationId": "Operations_List", + "tags": [ + "Operations" ], - "produces": [ - "application/json" + "description": "List the operations for the provider", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } ], - "x-ms-examples": { - "CreateClusterExample": { - "$ref": "./examples/CreateClusterExample.json" - }, - "CreateCluster_KindExample": { - "$ref": "./examples/CreateCluster_KindExample.json" - }, - "CreateClusterPrivateLinkExample": { - "$ref": "./examples/CreateClusterPrivateLinkExample.json" - }, - "UpdateClusterByPutExample": { - "$ref": "./examples/UpdateClusterByPutExample.json" + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/OperationListResult" + } }, - "CreateClusterAgentless_KindAWSExample": { - "$ref": "./examples/CreateClusterAgentless_KindAWSExample.json" + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ListConnectedClusterOperationsExample": { + "$ref": "./examples/ListConnectedClusterOperationsExample.json" } }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Kubernetes/connectedClusters": { + "get": { + "operationId": "ConnectedCluster_ListBySubscription", + "tags": [ + "ConnectedClusters" + ], + "summary": "Lists all connected clusters in the given Subscription", + "description": "API to enumerate registered connected K8s clusters under a Subscription", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ClusterNamePathParam" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "in": "body", - "name": "ConnectedCluster", - "required": true, - "schema": { - "$ref": "#/definitions/ConnectedCluster" - }, - "description": "Parameters supplied to Create a Connected Cluster." + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ConnectedCluster" - } - }, - "201": { - "description": "Resource creation request accepted", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/ConnectedCluster" + "$ref": "#/definitions/ConnectedClusterListResult" } }, "default": { - "description": "Resource Provider error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "azure-async-operation" - } - }, - "patch": { - "summary": "Updates a connected cluster.", - "operationId": "ConnectedCluster_Update", - "description": "API to update certain properties of the connected cluster resource", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], "x-ms-examples": { - "UpdateClusterExample": { - "$ref": "./examples/UpdateClusterByPatchExample.json" + "GetClustersBySubscriptionExample": { + "$ref": "./examples/GetClustersBySubscriptionExample.json" } }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kubernetes/connectedClusters": { + "get": { + "operationId": "ConnectedCluster_ListByResourceGroup", + "tags": [ + "ConnectedClusters" + ], + "summary": "Lists all connected clusters in the given Resource Group", + "description": "API to enumerate registered connected K8s clusters under a Resource Group", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ClusterNamePathParam" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "in": "body", - "name": "ConnectedClusterPatch", - "required": true, - "schema": { - "$ref": "#/definitions/ConnectedClusterPatch" - }, - "description": "Parameters supplied to update Connected Cluster." + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/ConnectedCluster" + "$ref": "#/definitions/ConnectedClusterListResult" } }, "default": { - "description": "Resource Provider error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } + }, + "x-ms-examples": { + "GetClustersExample": { + "$ref": "./examples/GetClustersByResourceGroupExample.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } - }, + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kubernetes/connectedClusters/{clusterName}": { "get": { - "summary": "Get the properties of the specified connected cluster.", "operationId": "ConnectedCluster_Get", - "description": "Returns the properties of the specified connected cluster, including name, identity, properties, and additional cluster details.", - "produces": [ - "application/json" + "tags": [ + "ConnectedClusters" ], - "x-ms-examples": { - "GetClusterExample": { - "$ref": "./examples/GetClusterExample.json" - }, - "GetProvisionedClusterExample": { - "$ref": "./examples/GetProvisionedClusterExample.json" - } - }, + "summary": "Get the properties of the specified connected cluster.", + "description": "Returns the properties of the specified connected cluster, including name, identity, properties, and additional cluster details.", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ClusterNamePathParam" + "name": "clusterName", + "in": "path", + "description": "The name of the Kubernetes cluster on which get is called.", + "required": true, + "type": "string" } ], "responses": { "200": { - "description": "Resource retrieved successfully.", + "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/ConnectedCluster" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } + }, + "x-ms-examples": { + "GetClusterExample": { + "$ref": "./examples/GetClusterExample.json" + }, + "GetProvisionedClusterExample": { + "$ref": "./examples/GetProvisionedClusterExample.json" + } } }, - "delete": { - "summary": "Delete a connected cluster.", - "operationId": "ConnectedCluster_Delete", - "description": "Delete a connected cluster, removing the tracked resource in Azure Resource Manager (ARM).", - "produces": [ - "application/json" + "put": { + "operationId": "ConnectedCluster_CreateOrReplace", + "tags": [ + "ConnectedClusters" ], - "x-ms-examples": { - "DeleteClusterExample": { - "$ref": "./examples/DeleteClusterExample.json" - } - }, + "summary": "Register a new Kubernetes cluster with Azure Resource Manager.", + "description": "API to register a new Kubernetes cluster and create or replace a connected cluster tracked resource in Azure Resource Manager (ARM).", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "clusterName", + "in": "path", + "description": "The name of the Kubernetes cluster on which get is called.", + "required": true, + "type": "string" }, { - "$ref": "#/parameters/ClusterNamePathParam" + "name": "ConnectedCluster", + "in": "body", + "description": "Parameters supplied to Create a Connected Cluster.", + "required": true, + "schema": { + "$ref": "#/definitions/ConnectedCluster" + } } ], "responses": { "200": { - "description": "OK" - }, - "202": { - "description": "Resource deletion is in progress" + "description": "Resource 'ConnectedCluster' update operation succeeded", + "schema": { + "$ref": "#/definitions/ConnectedCluster" + } }, - "204": { - "description": "The resource was not found but the request is well formed" + "201": { + "description": "Resource 'ConnectedCluster' create operation succeeded", + "schema": { + "$ref": "#/definitions/ConnectedCluster" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "A link to the status monitor" + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } }, "default": { - "description": "Resource Provider error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - } - } - }, - "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Kubernetes/connectedClusters/{clusterName}/listClusterUserCredential": { - "post": { - "summary": "Gets cluster user credentials of a connected cluster", - "operationId": "ConnectedCluster_ListClusterUserCredential", - "description": "Gets cluster user credentials of the connected cluster with a specified resource group and name.", - "produces": [ - "application/json" - ], "x-ms-examples": { - "ListClusterUserCredentialExample": { - "$ref": "./examples/ConnectedClustersListClusterCredentialResultCSPAAD.json" + "CreateClusterAgentless_KindAWSExample": { + "$ref": "./examples/CreateClusterAgentless_KindAWSExample.json" }, - "ListClusterUserCredentialNonAadExample": { - "$ref": "./examples/ConnectedClustersListClusterCredentialResultCSPToken.json" + "CreateClusterExample": { + "$ref": "./examples/CreateClusterExample.json" }, - "ListClusterUserCredentialCSPExample": { - "$ref": "./examples/ConnectedClustersListClusterCredentialResultHPAAD.json" + "CreateClusterPrivateLinkExample": { + "$ref": "./examples/CreateClusterPrivateLinkExample.json" }, - "ListClusterUserCredentialNonAadCSPExample": { - "$ref": "./examples/ConnectedClustersListClusterCredentialResultHPToken.json" + "CreateCluster_KindExample": { + "$ref": "./examples/CreateCluster_KindExample.json" + }, + "UpdateClusterByPutExample": { + "$ref": "./examples/UpdateClusterByPutExample.json" } }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + }, + "patch": { + "operationId": "ConnectedCluster_Update", + "tags": [ + "ConnectedClusters" + ], + "summary": "Updates a connected cluster.", + "description": "API to update certain properties of the connected cluster resource", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ClusterNamePathParam" + "name": "clusterName", + "in": "path", + "description": "The name of the Kubernetes cluster on which get is called.", + "required": true, + "type": "string" }, { + "name": "ConnectedClusterPatch", "in": "body", + "description": "Parameters supplied to update Connected Cluster.", "required": true, - "name": "Properties", "schema": { - "$ref": "#/definitions/ListClusterUserCredentialProperties" - }, - "description": "ListClusterUserCredential properties" + "$ref": "#/definitions/ConnectedClusterPatch" + } } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/CredentialResults" + "$ref": "#/definitions/ConnectedCluster" } }, "default": { - "description": "Resource Provider error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } - } - } - }, - "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Kubernetes/connectedClusters": { - "get": { - "summary": "Lists all connected clusters in the given ResourceGroup", - "operationId": "ConnectedCluster_ListByResourceGroup", - "description": "API to enumerate registered connected K8s clusters under a Resource Group", - "produces": [ - "application/json" - ], + }, "x-ms-examples": { - "GetClustersExample": { - "$ref": "./examples/GetClustersByResourceGroupExample.json" + "UpdateClusterExample": { + "$ref": "./examples/UpdateClusterByPatchExample.json" } - }, + } + }, + "delete": { + "operationId": "ConnectedCluster_Delete", + "tags": [ + "ConnectedClusters" + ], + "summary": "Delete a connected cluster.", + "description": "Delete a connected cluster, removing the tracked resource in Azure Resource Manager (ARM).", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + "name": "clusterName", + "in": "path", + "description": "The name of the Kubernetes cluster on which get is called.", + "required": true, + "type": "string" } ], "responses": { "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ConnectedClusterList" + "description": "Resource deleted successfully." + }, + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } } }, + "204": { + "description": "Resource does not exist." + }, "default": { - "description": "Resource Provider error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Kubernetes/connectedClusters": { - "get": { - "summary": "Lists all connected clusters in the given Subscription", - "operationId": "ConnectedCluster_ListBySubscription", - "description": "API to enumerate registered connected K8s clusters under a Subscription", - "produces": [ - "application/json" - ], "x-ms-examples": { - "GetClustersBySubscriptionExample": { - "$ref": "./examples/GetClustersBySubscriptionExample.json" + "DeleteClusterExample": { + "$ref": "./examples/DeleteClusterExample.json" } }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kubernetes/connectedClusters/{clusterName}/listClusterUserCredential": { + "post": { + "operationId": "ConnectedCluster_ListClusterUserCredential", + "tags": [ + "ConnectedClusters" + ], + "summary": "Gets cluster user credentials of a connected cluster", + "description": "Gets cluster user credentials of the connected cluster with a specified resource group and name.", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ConnectedClusterList" - } + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, - "default": { - "description": "Resource Provider error response describing why the operation failed.", + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "clusterName", + "in": "path", + "description": "The name of the Kubernetes cluster on which get is called.", + "required": true, + "type": "string" + }, + { + "name": "Properties", + "in": "body", + "description": "ListClusterUserCredential properties", + "required": true, "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "#/definitions/ListClusterUserCredentialProperties" } } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/providers/Microsoft.Kubernetes/operations": { - "get": { - "description": "Lists all of the available API operations for Connected Cluster resource.", - "operationId": "Operations_Get", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" - } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/OperationList" + "$ref": "#/definitions/CredentialResults" } }, "default": { - "description": "Resource Provider error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "ListConnectedClusterOperationsExample": { - "$ref": "./examples/ListConnectedClusterOperationsExample.json" + "ListClusterUserCredentialCSPExample": { + "$ref": "./examples/ConnectedClustersListClusterCredentialResultHPAAD.json" + }, + "ListClusterUserCredentialExample": { + "$ref": "./examples/ConnectedClustersListClusterCredentialResultCSPAAD.json" + }, + "ListClusterUserCredentialNonAadCSPExample": { + "$ref": "./examples/ConnectedClustersListClusterCredentialResultHPToken.json" + }, + "ListClusterUserCredentialNonAadExample": { + "$ref": "./examples/ConnectedClustersListClusterCredentialResultCSPToken.json" } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" } } } }, "definitions": { - "OperationList": { + "AadProfile": { "type": "object", - "description": "The paginated list of connected cluster API operations.", + "description": "AAD Profile specifies attributes for Azure Active Directory integration.", "properties": { - "value": { - "readOnly": true, + "enableAzureRBAC": { + "type": "boolean", + "description": "Whether to enable Azure RBAC for Kubernetes authorization.", + "x-ms-client-name": "enableAzureRbac" + }, + "adminGroupObjectIDs": { "type": "array", + "description": "The list of AAD group object IDs that will have admin role of the cluster.", "items": { - "$ref": "#/definitions/Operation" - }, - "x-ms-identifiers": [ - "name" - ], - "description": "The list of connected cluster API operations." + "type": "string" + } }, - "nextLink": { + "tenantID": { "type": "string", - "description": "The link to fetch the next page of connected cluster API operations." + "description": "The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription." } } }, - "Operation": { + "AgentError": { "type": "object", - "description": "The Connected cluster API operation", + "description": "Agent Errors if any during agent or system component upgrade.", "properties": { - "name": { - "readOnly": true, + "message": { "type": "string", - "description": "Operation name: {Microsoft.Kubernetes}/{resource}/{operation}" + "description": "Agent error message.", + "readOnly": true }, - "display": { - "type": "object", - "readOnly": true, - "description": "The object that represents the operation.", - "properties": { - "provider": { - "type": "string", - "description": "Service provider: Microsoft.Kubernetes" - }, - "resource": { - "type": "string", - "description": "Connected Cluster Resource on which the operation is performed" - }, - "operation": { - "type": "string", - "description": "Operation type: Read, write, delete, etc." - }, - "description": { - "type": "string", - "description": "Description of the operation." - } - } + "severity": { + "type": "string", + "description": "Severity of the error message.", + "readOnly": true + }, + "component": { + "type": "string", + "description": "Agent component where error message occured.", + "readOnly": true + }, + "time": { + "type": "string", + "format": "date-time", + "description": "The timestamp of error occured (UTC).", + "readOnly": true } } }, - "ConnectedClusterList": { - "description": "The paginated list of connected Clusters", + "ArcAgentProfile": { "type": "object", + "description": "Defines the Arc Agent properties for the clusters.", "properties": { - "value": { - "description": "The list of connected clusters", + "desiredAgentVersion": { + "type": "string", + "description": "Version of the Arc agents to be installed on the cluster resource" + }, + "agentAutoUpgrade": { + "type": "string", + "description": "Indicates whether the Arc agents on the be upgraded automatically to the latest version. Defaults to Enabled.", + "default": "Enabled", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "AutoUpgradeOptions", + "modelAsString": true, + "values": [ + { + "name": "Enabled", + "value": "Enabled" + }, + { + "name": "Disabled", + "value": "Disabled" + } + ] + } + }, + "systemComponents": { "type": "array", + "description": "List of system extensions that are installed on the cluster resource.", "items": { - "$ref": "#/definitions/ConnectedCluster" + "$ref": "#/definitions/SystemComponent" + }, + "x-ms-identifiers": [] + }, + "agentErrors": { + "type": "array", + "description": "List of arc agentry and system components errors on the cluster resource.", + "items": { + "$ref": "#/definitions/AgentError" + }, + "x-ms-identifiers": [] + }, + "agentState": { + "type": "string", + "description": "Represents the current state of the Arc agentry and its dependent components.", + "readOnly": true + } + } + }, + "ArcAgentryConfigurations": { + "type": "object", + "properties": { + "feature": { + "type": "string", + "description": "Specifies the name of the feature for the configuration setting." + }, + "settings": { + "type": "object", + "description": "The configuration settings for the feature that do not contain any sensitive or secret information.", + "additionalProperties": { + "type": "string" } }, - "nextLink": { - "description": "The link to fetch the next page of connected clusters", - "type": "string" + "protectedSettings": { + "type": "object", + "description": "The configuration settings for the feature that contain any sensitive or secret information.", + "additionalProperties": { + "type": "string" + } } } }, + "AuthenticationMethod": { + "type": "string", + "description": "The mode of client authentication.", + "enum": [ + "Token", + "AAD" + ], + "x-ms-enum": { + "name": "AuthenticationMethod", + "modelAsString": true, + "values": [ + { + "name": "Token", + "value": "Token" + }, + { + "name": "AAD", + "value": "AAD" + } + ] + } + }, + "AzureHybridBenefit": { + "type": "string", + "description": "Indicates whether Azure Hybrid Benefit is opted in", + "enum": [ + "True", + "False", + "NotApplicable" + ], + "x-ms-enum": { + "name": "AzureHybridBenefit", + "modelAsString": true, + "values": [ + { + "name": "True", + "value": "True" + }, + { + "name": "False", + "value": "False" + }, + { + "name": "NotApplicable", + "value": "NotApplicable" + } + ] + } + }, "ConnectedCluster": { "type": "object", - "required": [ - "properties", - "identity" - ], + "description": "Represents a connected cluster.", "properties": { + "properties": { + "$ref": "#/definitions/ConnectedClusterProperties", + "description": "Describes the connected cluster resource properties.", + "x-ms-client-flatten": true + }, "identity": { "$ref": "#/definitions/ConnectedClusterIdentity", "description": "The identity of the connected cluster." @@ -518,40 +678,31 @@ "kind": { "$ref": "#/definitions/ConnectedClusterKind", "description": "The kind of connected cluster." - }, - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/ConnectedClusterProperties", - "description": "Describes the connected cluster resource properties." - }, - "systemData": { - "$ref": "#/definitions/SystemData", - "readOnly": true, - "description": "Metadata pertaining to creation and last modification of the resource" } }, + "required": [ + "properties", + "identity" + ], "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" } - ], - "description": "Represents a connected cluster." + ] }, "ConnectedClusterIdentity": { "type": "object", - "required": [ - "type" - ], + "description": "Identity for the connected cluster.", "properties": { "principalId": { - "readOnly": true, "type": "string", - "description": "The principal id of connected cluster identity. This property will only be provided for a system assigned identity." + "description": "The principal id of connected cluster identity. This property will only be provided for a system assigned identity.", + "readOnly": true }, "tenantId": { - "readOnly": true, "type": "string", - "description": "The tenant id associated with the connected cluster. This property will only be provided for a system assigned identity." + "description": "The tenant id associated with the connected cluster. This property will only be provided for a system assigned identity.", + "readOnly": true }, "type": { "type": "string", @@ -567,7 +718,9 @@ } } }, - "description": "Identity for the connected cluster." + "required": [ + "type" + ] }, "ConnectedClusterKind": { "type": "string", @@ -578,42 +731,108 @@ ], "x-ms-enum": { "name": "ConnectedClusterKind", - "modelAsString": true + "modelAsString": true, + "values": [ + { + "name": "ProvisionedCluster", + "value": "ProvisionedCluster" + }, + { + "name": "AWS", + "value": "AWS" + } + ] } }, - "ConnectedClusterProperties": { + "ConnectedClusterListResult": { "type": "object", - "required": [ - "agentPublicKeyCertificate" - ], + "description": "The response of a ConnectedCluster list operation.", "properties": { - "agentPublicKeyCertificate": { - "type": "string", - "description": "Base64 encoded public certificate used by the agent to do the initial handshake to the backend services in Azure." + "value": { + "type": "array", + "description": "The ConnectedCluster items on this page", + "items": { + "$ref": "#/definitions/ConnectedCluster" + } }, - "kubernetesVersion": { - "readOnly": true, + "nextLink": { "type": "string", - "description": "The Kubernetes version of the connected cluster resource" - }, - "totalNodeCount": { - "readOnly": true, - "type": "integer", - "description": "Number of nodes present in the connected cluster resource" - }, - "totalCoreCount": { - "readOnly": true, - "format": "int32", - "type": "integer", - "description": "Number of CPU cores present in the connected cluster resource" - }, + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "ConnectedClusterPatch": { + "type": "object", + "description": "Object containing updates for patch operations.", + "properties": { + "tags": { + "type": "object", + "description": "Resource tags.", + "additionalProperties": { + "type": "string" + } + }, + "properties": { + "$ref": "#/definitions/ConnectedClusterPatchProperties", + "description": "Describes the connected cluster resource properties that can be updated during PATCH operation.", + "x-ms-client-flatten": true + } + } + }, + "ConnectedClusterPatchProperties": { + "type": "object", + "description": "Properties which can be patched on the connected cluster resource.", + "properties": { + "distribution": { + "type": "string", + "description": "Represents the distribution of the connected cluster" + }, + "distributionVersion": { + "type": "string", + "description": "Represents the Kubernetes distribution version on this connected cluster." + }, + "azureHybridBenefit": { + "$ref": "#/definitions/AzureHybridBenefit", + "description": "Indicates whether Azure Hybrid Benefit is opted in" + } + } + }, + "ConnectedClusterProperties": { + "type": "object", + "description": "Properties of the connected cluster.", + "properties": { + "agentPublicKeyCertificate": { + "type": "string", + "description": "Base64 encoded public certificate used by the agent to do the initial handshake to the backend services in Azure." + }, + "kubernetesVersion": { + "type": "string", + "description": "The Kubernetes version of the connected cluster resource", + "readOnly": true + }, + "totalNodeCount": { + "type": "integer", + "format": "int32", + "description": "Number of nodes present in the connected cluster resource", + "readOnly": true + }, + "totalCoreCount": { + "type": "integer", + "format": "int32", + "description": "Number of CPU cores present in the connected cluster resource", + "readOnly": true + }, "agentVersion": { - "readOnly": true, "type": "string", - "description": "Version of the agent running on the connected cluster resource" + "description": "Version of the agent running on the connected cluster resource", + "readOnly": true }, "provisioningState": { - "$ref": "#/definitions/ConnectedClusterProvisioningState", + "$ref": "#/definitions/ProvisioningState", "description": "Provisioning state of the connected cluster resource." }, "distribution": { @@ -630,36 +849,25 @@ }, "offering": { "type": "string", - "readOnly": true, - "description": "Connected cluster offering" + "description": "Connected cluster offering", + "readOnly": true }, "managedIdentityCertificateExpirationTime": { "type": "string", "format": "date-time", - "readOnly": true, - "description": "Expiration time of the managed identity certificate" + "description": "Expiration time of the managed identity certificate", + "readOnly": true }, "lastConnectivityTime": { "type": "string", - "readOnly": true, "format": "date-time", - "description": "Time representing the last instance when heart beat was received from the cluster" + "description": "Time representing the last instance when heart beat was received from the cluster", + "readOnly": true }, "connectivityStatus": { - "type": "string", - "readOnly": true, + "$ref": "#/definitions/ConnectivityStatus", "description": "Represents the connectivity status of the connected cluster.", - "enum": [ - "Connecting", - "Connected", - "Offline", - "Expired", - "AgentNotInstalled" - ], - "x-ms-enum": { - "name": "ConnectivityStatus", - "modelAsString": true - } + "readOnly": true }, "privateLinkState": { "type": "string", @@ -671,7 +879,17 @@ ], "x-ms-enum": { "name": "PrivateLinkState", - "modelAsString": true + "modelAsString": true, + "values": [ + { + "name": "Enabled", + "value": "Enabled" + }, + { + "name": "Disabled", + "value": "Disabled" + } + ] } }, "privateLinkScopeResourceId": { @@ -679,234 +897,200 @@ "description": "This is populated only if privateLinkState is enabled. The resource id of the private link scope this connected cluster is assigned to, if any." }, "azureHybridBenefit": { - "type": "string", - "description": "Indicates whether Azure Hybrid Benefit is opted in", - "enum": [ - "True", - "False", - "NotApplicable" - ], - "default": "NotApplicable", - "x-ms-enum": { - "name": "AzureHybridBenefit", - "modelAsString": true - } + "$ref": "#/definitions/AzureHybridBenefit", + "description": "Indicates whether Azure Hybrid Benefit is opted in" }, "aadProfile": { - "description": "AAD profile for the connected cluster.", - "$ref": "#/definitions/AadProfile" + "$ref": "#/definitions/AadProfile", + "description": "AAD profile for the connected cluster." }, "arcAgentProfile": { - "description": "Arc agentry configuration for the provisioned cluster.", - "$ref": "#/definitions/ArcAgentProfile" + "$ref": "#/definitions/ArcAgentProfile", + "description": "Arc agentry configuration for the provisioned cluster." }, "securityProfile": { - "description": "Security profile for the connected cluster.", - "$ref": "#/definitions/SecurityProfile" + "$ref": "#/definitions/SecurityProfile", + "description": "Security profile for the connected cluster." }, "oidcIssuerProfile": { - "description": "Open ID Connect (OIDC) Issuer Profile for the connected cluster.", - "$ref": "#/definitions/OidcIssuerProfile" + "$ref": "#/definitions/OidcIssuerProfile", + "description": "Open ID Connect (OIDC) Issuer Profile for the connected cluster." }, "gateway": { - "description": "Details of the gateway used by the Arc router for connectivity.", "$ref": "#/definitions/Gateway", - "x-nullable": true + "description": "Details of the gateway used by the Arc router for connectivity." }, "arcAgentryConfigurations": { - "description": "Configuration settings for customizing the behavior of the connected cluster.", "type": "array", + "description": "Configuration settings for customizing the behavior of the connected cluster.", "items": { - "type": "object", "$ref": "#/definitions/ArcAgentryConfigurations" }, - "x-nullable": true + "x-ms-identifiers": [] }, "miscellaneousProperties": { - "description": "More properties related to the Connected Cluster", "type": "object", + "description": "More properties related to the Connected Cluster", "additionalProperties": { "type": "string" }, "readOnly": true } }, - "description": "Properties of the connected cluster." + "required": [ + "agentPublicKeyCertificate" + ] }, - "CredentialResults": { - "type": "object", - "properties": { - "hybridConnectionConfig": { - "$ref": "#/definitions/HybridConnectionConfig", - "description": "Contains the REP (rendezvous endpoint) and “Sender” access token.", - "readOnly": true - }, - "kubeconfigs": { - "type": "array", - "readOnly": true, - "items": { - "$ref": "#/definitions/CredentialResult" + "ConnectivityStatus": { + "type": "string", + "description": "Represents the connectivity status of the connected cluster.", + "enum": [ + "Connecting", + "Connected", + "Offline", + "Expired", + "AgentNotInstalled" + ], + "x-ms-enum": { + "name": "ConnectivityStatus", + "modelAsString": true, + "values": [ + { + "name": "Connecting", + "value": "Connecting" }, - "x-ms-identifiers": [ - "name" - ], - "description": "Base64-encoded Kubernetes configuration file." - } - }, - "description": "The list of credential result response." + { + "name": "Connected", + "value": "Connected" + }, + { + "name": "Offline", + "value": "Offline" + }, + { + "name": "Expired", + "value": "Expired" + }, + { + "name": "AgentNotInstalled", + "value": "AgentNotInstalled" + } + ] + } }, "CredentialResult": { "type": "object", + "description": "The credential result response.", "properties": { "name": { "type": "string", - "readOnly": true, - "description": "The name of the credential." + "description": "The name of the credential.", + "readOnly": true }, "value": { "type": "string", "format": "byte", - "readOnly": true, - "description": "Base64-encoded Kubernetes configuration file." + "description": "Base64-encoded Kubernetes configuration file.", + "readOnly": true } - }, - "description": "The credential result response." - }, - "ConnectedClusterProvisioningState": { - "type": "string", - "description": "The current deployment state of connectedClusters.", - "enum": [ - "Succeeded", - "Failed", - "Canceled", - "Provisioning", - "Updating", - "Deleting", - "Accepted" - ], - "x-ms-enum": { - "name": "ProvisioningState", - "modelAsString": true } }, - "ConnectedClusterPatch": { + "CredentialResults": { "type": "object", + "description": "The list of credential result response.", "properties": { - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Resource tags." + "hybridConnectionConfig": { + "$ref": "#/definitions/HybridConnectionConfig", + "description": "Contains the REP (rendezvous endpoint) and “Sender” access token.", + "readOnly": true }, - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/ConnectedClusterPatchProperties", - "description": "Describes the connected cluster resource properties that can be updated during PATCH operation." + "kubeconfigs": { + "type": "array", + "description": "Base64-encoded Kubernetes configuration file.", + "items": { + "$ref": "#/definitions/CredentialResult" + }, + "readOnly": true, + "x-ms-identifiers": [ + "name" + ] } - }, - "description": "Object containing updates for patch operations." + } }, - "ConnectedClusterPatchProperties": { + "Gateway": { "type": "object", "properties": { - "distribution": { - "type": "string", - "description": "Represents the distribution of the connected cluster" - }, - "distributionVersion": { - "type": "string", - "description": "Represents the Kubernetes distribution version on this connected cluster." + "enabled": { + "type": "boolean", + "description": "Indicates whether the gateway for arc router connectivity is enabled." }, - "azureHybridBenefit": { + "resourceId": { "type": "string", - "description": "Indicates whether Azure Hybrid Benefit is opted in", - "enum": [ - "True", - "False", - "NotApplicable" - ], - "x-ms-enum": { - "name": "AzureHybridBenefit", - "modelAsString": true + "format": "arm-id", + "description": "The resource ID of the gateway used for the Arc router feature.", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.HybridCompute/gateways" + } + ] } } - }, - "description": "Properties which can be patched on the connected cluster resource." + } }, "HybridConnectionConfig": { "type": "object", "description": "Contains the REP (rendezvous endpoint) and “Sender” access token.", "properties": { "expirationTime": { - "description": "Timestamp when this token will be expired.", "type": "integer", - "readOnly": true, - "format": "int64" + "format": "int64", + "description": "Timestamp when this token will be expired.", + "readOnly": true }, "hybridConnectionName": { - "description": "Name of the connection", "type": "string", + "description": "Name of the connection", "readOnly": true }, "relay": { - "description": "Name of the relay.", "type": "string", + "description": "Name of the relay.", "readOnly": true }, "token": { - "description": "Sender access token", "type": "string", + "description": "Sender access token", "readOnly": true }, "relayTid": { - "description": "TenantID of the relay", "type": "string", + "description": "TenantID of the relay", "readOnly": true }, "relayType": { - "description": "Type of relay", "type": "string", + "description": "Type of relay", "readOnly": true } } }, - "AadProfile": { + "ListClusterUserCredentialProperties": { "type": "object", - "description": "AAD Profile specifies attributes for Azure Active Directory integration.", "properties": { - "enableAzureRBAC": { - "type": "boolean", - "description": "Whether to enable Azure RBAC for Kubernetes authorization." - }, - "adminGroupObjectIDs": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The list of AAD group object IDs that will have admin role of the cluster." + "authenticationMethod": { + "$ref": "#/definitions/AuthenticationMethod", + "description": "The mode of client authentication." }, - "tenantID": { - "type": "string", - "description": "The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription." - } - } - }, - "SecurityProfile": { - "type": "object", - "description": "Security Profile specifies attributes for cluster security features.", - "properties": { - "workloadIdentity": { - "type": "object", - "description": "The workload identity feature webhook.", - "properties": { - "enabled": { - "type": "boolean", - "description": "Whether to enable or disable the workload identity Webhook" - } - } + "clientProxy": { + "type": "boolean", + "description": "Boolean value to indicate whether the request is for client side proxy or not" } - } + }, + "required": [ + "authenticationMethod", + "clientProxy" + ] }, "OidcIssuerProfile": { "type": "object", @@ -927,125 +1111,77 @@ } } }, - "Gateway": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "description": "Indicates whether the gateway for arc router connectivity is enabled." - }, - "resourceId": { - "type": "string", - "format": "arm-id", - "x-ms-arm-id-details": { - "allowedResources": [ - { - "type": "Microsoft.HybridCompute/gateways" - } - ] + "ProvisioningState": { + "type": "string", + "description": "The current deployment state of connectedClusters.", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Provisioning", + "Updating", + "Deleting", + "Accepted" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true, + "values": [ + { + "name": "Succeeded", + "value": "Succeeded" }, - "description": "The resource ID of the gateway used for the Arc router feature." - } - } - }, - "ArcAgentryConfigurations": { - "type": "object", - "properties": { - "feature": { - "type": "string", - "description": "Specifies the name of the feature for the configuration setting." - }, - "settings": { - "type": "object", - "description": "The configuration settings for the feature that do not contain any sensitive or secret information.", - "x-nullable": true, - "additionalProperties": { - "type": "string" - } - }, - "protectedSettings": { - "type": "object", - "description": "The configuration settings for the feature that contain any sensitive or secret information.", - "x-nullable": true, - "x-ms-secret": true, - "additionalProperties": { - "type": "string" + { + "name": "Failed", + "value": "Failed" + }, + { + "name": "Canceled", + "value": "Canceled" + }, + { + "name": "Provisioning", + "value": "Provisioning" + }, + { + "name": "Updating", + "value": "Updating" + }, + { + "name": "Deleting", + "value": "Deleting" + }, + { + "name": "Accepted", + "value": "Accepted" } - } - } + ] + }, + "readOnly": true }, - "ArcAgentProfile": { - "description": "Defines the Arc Agent properties for the clusters.", + "SecurityProfile": { "type": "object", + "description": "Security Profile specifies attributes for cluster security features.", "properties": { - "desiredAgentVersion": { - "type": "string", - "description": "Version of the Arc agents to be installed on the cluster resource" - }, - "agentAutoUpgrade": { - "type": "string", - "description": "Indicates whether the Arc agents on the be upgraded automatically to the latest version. Defaults to Enabled.", - "default": "Enabled", - "enum": [ - "Enabled", - "Disabled" - ], - "x-ms-enum": { - "name": "AutoUpgradeOptions", - "modelAsString": true - } - }, - "systemComponents": { - "type": "array", - "description": "List of system extensions that are installed on the cluster resource.", - "items": { - "$ref": "#/definitions/SystemComponent" - } - }, - "agentErrors": { - "type": "array", - "description": "List of arc agentry and system components errors on the cluster resource.", - "items": { - "$ref": "#/definitions/AgentError" - } - }, - "agentState": { - "type": "string", - "description": "Represents the current state of the Arc agentry and its dependent components.", - "readOnly": true + "workloadIdentity": { + "$ref": "#/definitions/SecurityProfileWorkloadIdentity", + "description": "The workload identity feature webhook." } } }, - "AgentError": { - "description": "Agent Errors if any during agent or system component upgrade.", + "SecurityProfileWorkloadIdentity": { "type": "object", + "description": "The workload identity feature webhook.", "properties": { - "message": { - "type": "string", - "readOnly": true, - "description": "Agent error message." - }, - "severity": { - "type": "string", - "readOnly": true, - "description": "Severity of the error message." - }, - "component": { - "type": "string", - "readOnly": true, - "description": "Agent component where error message occured." - }, - "time": { - "format": "date-time", - "description": "The timestamp of error occured (UTC).", - "type": "string", - "readOnly": true + "enabled": { + "type": "boolean", + "description": "Whether to enable or disable the workload identity Webhook" } } }, "SystemComponent": { - "description": "System extensions and its current versions installed on the cluster resource.", "type": "object", + "description": "System extensions and its current versions installed on the cluster resource.", "properties": { "type": { "type": "string", @@ -1062,99 +1198,11 @@ }, "currentVersion": { "type": "string", - "readOnly": true, - "description": "Version of the system extension that is currently installed on the cluster resource." + "description": "Version of the system extension that is currently installed on the cluster resource.", + "readOnly": true } } - }, - "SystemData": { - "description": "Metadata pertaining to creation and last modification of the resource.", - "type": "object", - "properties": { - "createdBy": { - "description": "The identity that created the resource.", - "type": "string" - }, - "createdByType": { - "description": "The type of identity that created the resource.", - "enum": [ - "User", - "Application", - "ManagedIdentity", - "Key" - ], - "type": "string", - "x-ms-enum": { - "name": "createdByType", - "modelAsString": true - } - }, - "createdAt": { - "format": "date-time", - "description": "The timestamp of resource creation (UTC).", - "type": "string" - }, - "lastModifiedBy": { - "description": "The identity that last modified the resource.", - "type": "string" - }, - "lastModifiedByType": { - "description": "The type of identity that last modified the resource.", - "enum": [ - "User", - "Application", - "ManagedIdentity", - "Key" - ], - "type": "string", - "x-ms-enum": { - "name": "lastModifiedByType", - "modelAsString": true - } - }, - "lastModifiedAt": { - "format": "date-time", - "description": "The timestamp of resource modification (UTC).", - "type": "string" - } - }, - "readOnly": true - }, - "ListClusterUserCredentialProperties": { - "type": "object", - "required": [ - "authenticationMethod", - "clientProxy" - ], - "properties": { - "authenticationMethod": { - "type": "string", - "description": "The mode of client authentication.", - "enum": [ - "Token", - "AAD" - ], - "x-ms-enum": { - "name": "AuthenticationMethod", - "modelAsString": true - } - }, - "clientProxy": { - "type": "boolean", - "description": "Boolean value to indicate whether the request is for client side proxy or not" - } - }, - "description": "" } }, - "parameters": { - "ClusterNamePathParam": { - "name": "clusterName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the Kubernetes cluster on which get is called.", - "x-ms-parameter-location": "method" - } - } + "parameters": {} } diff --git a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/ConnectedClustersListClusterCredentialResultCSPAAD.json b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/ConnectedClustersListClusterCredentialResultCSPAAD.json index 7a4d8c5ebfc7..892490c808cd 100644 --- a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/ConnectedClustersListClusterCredentialResultCSPAAD.json +++ b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/ConnectedClustersListClusterCredentialResultCSPAAD.json @@ -1,13 +1,13 @@ { "parameters": { - "subscriptionId": "1bfbb5d0-917e-4346-9026-1d3b344417f5", - "resourceGroupName": "k8sc-rg", - "clusterName": "testCluster", - "api-version": "2024-12-01-preview", "Properties": { "authenticationMethod": "AAD", "clientProxy": true - } + }, + "api-version": "2024-12-01-preview", + "clusterName": "testCluster", + "resourceGroupName": "k8sc-rg", + "subscriptionId": "1bfbb5d0-917e-4346-9026-1d3b344417f5" }, "responses": { "200": { @@ -16,9 +16,9 @@ "expirationTime": 1631196183, "hybridConnectionName": "microsoft.kubernetes/connectedclusters/229dc73f7b07196c79a93d4362d9c7fc4ed34df3e95290d27c56cec2dbb82865/1631185383340987904", "relay": "azgnrelay-ph0-l1", - "token": "SharedAccessSignature 123456789034675890pbduwegiavifkuw647o02423bbhfouseb", "relayTid": "33e01921-4d64-4f8c-a055-5bdaffd5e33d", - "relayType": "byor" + "relayType": "byor", + "token": "SharedAccessSignature 123456789034675890pbduwegiavifkuw647o02423bbhfouseb" }, "kubeconfigs": [ { @@ -28,5 +28,7 @@ ] } } - } -} + }, + "operationId": "ConnectedCluster_ListClusterUserCredential", + "title": "ListClusterUserCredentialExample" +} \ No newline at end of file diff --git a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/ConnectedClustersListClusterCredentialResultCSPToken.json b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/ConnectedClustersListClusterCredentialResultCSPToken.json index d3f83e858ef1..e5e86ea402ab 100644 --- a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/ConnectedClustersListClusterCredentialResultCSPToken.json +++ b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/ConnectedClustersListClusterCredentialResultCSPToken.json @@ -1,13 +1,13 @@ { "parameters": { - "subscriptionId": "1bfbb5d0-917e-4346-9026-1d3b344417f5", - "resourceGroupName": "k8sc-rg", - "clusterName": "testCluster", - "api-version": "2024-12-01-preview", "Properties": { "authenticationMethod": "Token", "clientProxy": true - } + }, + "api-version": "2024-12-01-preview", + "clusterName": "testCluster", + "resourceGroupName": "k8sc-rg", + "subscriptionId": "1bfbb5d0-917e-4346-9026-1d3b344417f5" }, "responses": { "200": { @@ -16,9 +16,9 @@ "expirationTime": 1631196183, "hybridConnectionName": "microsoft.kubernetes/connectedclusters/229dc73f7b07196c79a93d4362d9c7fc4ed34df3e95290d27c56cec2dbb82865/1631185383340987904", "relay": "azgnrelay-ph0-l1", - "token": "SharedAccessSignature 123456789034675890pbduwegiavifkuw647o02423bbhfouseb", "relayTid": "33e01921-4d64-4f8c-a055-5bdaffd5e33d", - "relayType": "byor" + "relayType": "byor", + "token": "SharedAccessSignature 123456789034675890pbduwegiavifkuw647o02423bbhfouseb" }, "kubeconfigs": [ { @@ -28,5 +28,7 @@ ] } } - } -} + }, + "operationId": "ConnectedCluster_ListClusterUserCredential", + "title": "ListClusterUserCredentialNonAadExample" +} \ No newline at end of file diff --git a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/ConnectedClustersListClusterCredentialResultHPAAD.json b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/ConnectedClustersListClusterCredentialResultHPAAD.json index 88f72d64ba1e..c125f40bc0a3 100644 --- a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/ConnectedClustersListClusterCredentialResultHPAAD.json +++ b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/ConnectedClustersListClusterCredentialResultHPAAD.json @@ -1,13 +1,13 @@ { "parameters": { - "subscriptionId": "1bfbb5d0-917e-4346-9026-1d3b344417f5", - "resourceGroupName": "k8sc-rg", - "clusterName": "testCluster", - "api-version": "2024-12-01-preview", "Properties": { "authenticationMethod": "AAD", "clientProxy": false - } + }, + "api-version": "2024-12-01-preview", + "clusterName": "testCluster", + "resourceGroupName": "k8sc-rg", + "subscriptionId": "1bfbb5d0-917e-4346-9026-1d3b344417f5" }, "responses": { "200": { @@ -20,5 +20,7 @@ ] } } - } -} + }, + "operationId": "ConnectedCluster_ListClusterUserCredential", + "title": "ListClusterUserCredentialCSPExample" +} \ No newline at end of file diff --git a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/ConnectedClustersListClusterCredentialResultHPToken.json b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/ConnectedClustersListClusterCredentialResultHPToken.json index 2b26003049cc..1a7ac17eabf6 100644 --- a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/ConnectedClustersListClusterCredentialResultHPToken.json +++ b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/ConnectedClustersListClusterCredentialResultHPToken.json @@ -1,13 +1,13 @@ { "parameters": { - "subscriptionId": "1bfbb5d0-917e-4346-9026-1d3b344417f5", - "resourceGroupName": "k8sc-rg", - "clusterName": "testCluster", - "api-version": "2024-12-01-preview", "Properties": { "authenticationMethod": "Token", "clientProxy": false - } + }, + "api-version": "2024-12-01-preview", + "clusterName": "testCluster", + "resourceGroupName": "k8sc-rg", + "subscriptionId": "1bfbb5d0-917e-4346-9026-1d3b344417f5" }, "responses": { "200": { @@ -20,5 +20,7 @@ ] } } - } -} + }, + "operationId": "ConnectedCluster_ListClusterUserCredential", + "title": "ListClusterUserCredentialNonAadCSPExample" +} \ No newline at end of file diff --git a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/CreateClusterAgentless_KindAWSExample.json b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/CreateClusterAgentless_KindAWSExample.json index a0282cc8d847..a27d1bc5f122 100644 --- a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/CreateClusterAgentless_KindAWSExample.json +++ b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/CreateClusterAgentless_KindAWSExample.json @@ -1,86 +1,88 @@ { "parameters": { - "subscriptionId": "1bfbb5d0-917e-4346-9026-1d3b344417f5", - "resourceGroupName": "k8sc-rg", - "clusterName": "testCluster", - "api-version": "2024-12-01-preview", "ConnectedCluster": { - "location": "East US", - "tags": {}, "identity": { "type": "None" }, "kind": "AWS", + "location": "East US", "properties": { "agentPublicKeyCertificate": "", "distribution": "eks", "infrastructure": "aws" - } - } + }, + "tags": {} + }, + "api-version": "2024-12-01-preview", + "clusterName": "testCluster", + "resourceGroupName": "k8sc-rg", + "subscriptionId": "1bfbb5d0-917e-4346-9026-1d3b344417f5" }, "responses": { "200": { "body": { - "id": "/subscriptions/1bfbb5d0-917e-4346-9026-1d3b344417f5/resourceGroups/akkeshar/providers/Microsoft.Kubernetes/connectedClusters/connectedCluster1", "name": "connectedCluster1", "type": "Microsoft.Kubernetes/connectedClusters", - "location": "East US", - "tags": {}, - "systemData": { - "createdBy": "sikasire@microsoft.com", - "createdByType": "User", - "createdAt": "2020-12-17T07:06:33.9173186Z", - "lastModifiedBy": "sikasire@microsoft.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2020-12-17T07:06:33.9173186Z" - }, + "id": "/subscriptions/1bfbb5d0-917e-4346-9026-1d3b344417f5/resourceGroups/akkeshar/providers/Microsoft.Kubernetes/connectedClusters/connectedCluster1", "identity": { "type": "None" }, "kind": "AWS", + "location": "East US", "properties": { - "provisioningState": "Succeeded", - "connectivityStatus": "AgentNotInstalled", - "privateLinkState": "Disabled", - "azureHybridBenefit": "NotApplicable", - "agentPublicKeyCertificate": "", "aadProfile": {}, + "agentPublicKeyCertificate": "", + "arcAgentProfile": {}, + "azureHybridBenefit": "NotApplicable", + "connectivityStatus": "AgentNotInstalled", "distribution": "eks", "infrastructure": "aws", - "arcAgentProfile": {} - } + "privateLinkState": "Disabled", + "provisioningState": "Succeeded" + }, + "systemData": { + "createdAt": "2020-12-17T07:06:33.9173186Z", + "createdBy": "sikasire@microsoft.com", + "createdByType": "User", + "lastModifiedAt": "2020-12-17T07:06:33.9173186Z", + "lastModifiedBy": "sikasire@microsoft.com", + "lastModifiedByType": "User" + }, + "tags": {} } }, "201": { "body": { - "id": "/subscriptions/1bfbb5d0-917e-4346-9026-1d3b344417f5/resourceGroups/akkeshar/providers/Microsoft.Kubernetes/connectedClusters/connectedCluster1", "name": "connectedCluster1", "type": "Microsoft.Kubernetes/connectedClusters", - "location": "East US", - "tags": {}, - "systemData": { - "createdBy": "sikasire@microsoft.com", - "createdByType": "User", - "createdAt": "2020-12-17T07:06:33.9173186Z", - "lastModifiedBy": "sikasire@microsoft.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2020-12-17T07:06:33.9173186Z" - }, + "id": "/subscriptions/1bfbb5d0-917e-4346-9026-1d3b344417f5/resourceGroups/akkeshar/providers/Microsoft.Kubernetes/connectedClusters/connectedCluster1", "identity": { "type": "None" }, + "location": "East US", "properties": { - "provisioningState": "Succeeded", - "connectivityStatus": "AgentNotInstalled", - "privateLinkState": "Disabled", - "azureHybridBenefit": "NotApplicable", - "agentPublicKeyCertificate": "", "aadProfile": {}, + "agentPublicKeyCertificate": "", + "arcAgentProfile": {}, + "azureHybridBenefit": "NotApplicable", + "connectivityStatus": "AgentNotInstalled", "distribution": "eks", "infrastructure": "aws", - "arcAgentProfile": {} - } + "privateLinkState": "Disabled", + "provisioningState": "Succeeded" + }, + "systemData": { + "createdAt": "2020-12-17T07:06:33.9173186Z", + "createdBy": "sikasire@microsoft.com", + "createdByType": "User", + "lastModifiedAt": "2020-12-17T07:06:33.9173186Z", + "lastModifiedBy": "sikasire@microsoft.com", + "lastModifiedByType": "User" + }, + "tags": {} } } - } -} + }, + "operationId": "ConnectedCluster_CreateOrReplace", + "title": "CreateClusterAgentless_KindAWSExample" +} \ No newline at end of file diff --git a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/CreateClusterExample.json b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/CreateClusterExample.json index 2c6a273564e7..261f09ca5f62 100644 --- a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/CreateClusterExample.json +++ b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/CreateClusterExample.json @@ -1,83 +1,85 @@ { "parameters": { - "subscriptionId": "1bfbb5d0-917e-4346-9026-1d3b344417f5", - "resourceGroupName": "k8sc-rg", - "clusterName": "testCluster", - "api-version": "2024-12-01-preview", "ConnectedCluster": { - "location": "East US", - "tags": {}, "identity": { "type": "SystemAssigned" }, + "location": "East US", "properties": { "agentPublicKeyCertificate": "MIICYzCCAcygAwIBAgIBADANBgkqhkiG9w0BAQUFADAuMQswCQYDVQQGEwJVUzEMMAoGA1UEChMDSUJNMREwDwYDVQQLEwhMb2NhbCBDQTAeFw05OTEyMjIwNTAwMDBaFw0wMDEyMjMwNDU5NTlaMC4xCzAJBgNVBAYTAlVTMQwwCgYDVQQKEwNJQk0xETAPBgNVBAsTCExvY2FsIENBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD2bZEo7xGaX2/0GHkrNFZvlxBou9v1Jmt/PDiTMPve8r9FeJAQ0QdvFST/0JPQYD20rH0bimdDLgNdNynmyRoS2S/IInfpmf69iyc2G0TPyRvmHIiOZbdCd+YBHQi1adkj17NDcWj6S14tVurFX73zx0sNoMS79q3tuXKrDsxeuwIDAQABo4GQMIGNMEsGCVUdDwGG+EIBDQQ+EzxHZW5lcmF0ZWQgYnkgdGhlIFNlY3VyZVdheSBTZWN1cml0eSBTZXJ2ZXIgZm9yIE9TLzM5MCAoUkFDRikwDgYDVR0PAQH/BAQDAgAGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJ3+ocRyCTJw067dLSwr/nalx6YMMA0GCSqGSIb3DQEBBQUAA4GBAMaQzt+zaj1GU77yzlr8iiMBXgdQrwsZZWJo5exnAucJAEYQZmOfyLiM D6oYq+ZnfvM0n8G/Y79q8nhwvuxpYOnRSAXFp6xSkrIOeZtJMY1h00LKp/JX3Ng1svZ2agE126JHsQ0bhzN5TKsYfbwfTwfjdWAGy6Vf1nYi/rO+ryMO", "azureHybridBenefit": "NotApplicable", "distribution": "AKS", "distributionVersion": "1.0" - } - } + }, + "tags": {} + }, + "api-version": "2024-12-01-preview", + "clusterName": "testCluster", + "resourceGroupName": "k8sc-rg", + "subscriptionId": "1bfbb5d0-917e-4346-9026-1d3b344417f5" }, "responses": { "200": { "body": { - "id": "/subscriptions/1bfbb5d0-917e-4346-9026-1d3b344417f5/resourceGroups/akkeshar/providers/Microsoft.Kubernetes/connectedClusters/connectedCluster1", "name": "connectedCluster1", "type": "Microsoft.Kubernetes/connectedClusters", - "location": "East US", - "tags": {}, - "systemData": { - "createdBy": "sikasire@microsoft.com", - "createdByType": "User", - "createdAt": "2020-12-17T07:06:33.9173186Z", - "lastModifiedBy": "sikasire@microsoft.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2020-12-17T07:06:33.9173186Z" - }, + "id": "/subscriptions/1bfbb5d0-917e-4346-9026-1d3b344417f5/resourceGroups/akkeshar/providers/Microsoft.Kubernetes/connectedClusters/connectedCluster1", "identity": { "type": "SystemAssigned" }, + "location": "East US", "properties": { "agentPublicKeyCertificate": "MIICYzCCAcygAwIBAgIBADANBgkqhkiG9w0BAQUFADAuMQswCQYDVQQGEwJVUzEMMAoGA1UEChMDSUJNMREwDwYDVQQLEwhMb2NhbCBDQTAeFw05OTEyMjIwNTAwMDBaFw0wMDEyMjMwNDU5NTlaMC4xCzAJBgNVBAYTAlVTMQwwCgYDVQQKEwNJQk0xETAPBgNVBAsTCExvY2FsIENBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD2bZEo7xGaX2/0GHkrNFZvlxBou9v1Jmt/PDiTMPve8r9FeJAQ0QdvFST/0JPQYD20rH0bimdDLgNdNynmyRoS2S/IInfpmf69iyc2G0TPyRvmHIiOZbdCd+YBHQi1adkj17NDcWj6S14tVurFX73zx0sNoMS79q3tuXKrDsxeuwIDAQABo4GQMIGNMEsGCVUdDwGG+EIBDQQ+EzxHZW5lcmF0ZWQgYnkgdGhlIFNlY3VyZVdheSBTZWN1cml0eSBTZXJ2ZXIgZm9yIE9TLzM5MCAoUkFDRikwDgYDVR0PAQH/BAQDAgAGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJ3+ocRyCTJw067dLSwr/nalx6YMMA0GCSqGSIb3DQEBBQUAA4GBAMaQzt+zaj1GU77yzlr8iiMBXgdQrwsZZWJo5exnAucJAEYQZmOfyLiM D6oYq+ZnfvM0n8G/Y79q8nhwvuxpYOnRSAXFp6xSkrIOeZtJMY1h00LKp/JX3Ng1svZ2agE126JHsQ0bhzN5TKsYfbwfTwfjdWAGy6Vf1nYi/rO+ryMO", - "kubernetesVersion": "1.17.0", - "totalNodeCount": 2, "agentVersion": "0.1.0", - "provisioningState": "Succeeded", + "azureHybridBenefit": "NotApplicable", "distribution": "AKS", "distributionVersion": "1.0", - "azureHybridBenefit": "NotApplicable" - } + "kubernetesVersion": "1.17.0", + "provisioningState": "Succeeded", + "totalNodeCount": 2 + }, + "systemData": { + "createdAt": "2020-12-17T07:06:33.9173186Z", + "createdBy": "sikasire@microsoft.com", + "createdByType": "User", + "lastModifiedAt": "2020-12-17T07:06:33.9173186Z", + "lastModifiedBy": "sikasire@microsoft.com", + "lastModifiedByType": "User" + }, + "tags": {} } }, "201": { "body": { - "id": "/subscriptions/1bfbb5d0-917e-4346-9026-1d3b344417f5/resourceGroups/akkeshar/providers/Microsoft.Kubernetes/connectedClusters/connectedCluster1", "name": "connectedCluster1", "type": "Microsoft.Kubernetes/connectedClusters", - "location": "East US", - "tags": {}, - "systemData": { - "createdBy": "sikasire@microsoft.com", - "createdByType": "User", - "createdAt": "2020-12-17T07:06:33.9173186Z", - "lastModifiedBy": "sikasire@microsoft.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2020-12-17T07:06:33.9173186Z" - }, + "id": "/subscriptions/1bfbb5d0-917e-4346-9026-1d3b344417f5/resourceGroups/akkeshar/providers/Microsoft.Kubernetes/connectedClusters/connectedCluster1", "identity": { "type": "SystemAssigned" }, + "location": "East US", "properties": { "agentPublicKeyCertificate": "MIICYzCCAcygAwIBAgIBADANBgkqhkiG9w0BAQUFADAuMQswCQYDVQQGEwJVUzEMMAoGA1UEChMDSUJNMREwDwYDVQQLEwhMb2NhbCBDQTAeFw05OTEyMjIwNTAwMDBaFw0wMDEyMjMwNDU5NTlaMC4xCzAJBgNVBAYTAlVTMQwwCgYDVQQKEwNJQk0xETAPBgNVBAsTCExvY2FsIENBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD2bZEo7xGaX2/0GHkrNFZvlxBou9v1Jmt/PDiTMPve8r9FeJAQ0QdvFST/0JPQYD20rH0bimdDLgNdNynmyRoS2S/IInfpmf69iyc2G0TPyRvmHIiOZbdCd+YBHQi1adkj17NDcWj6S14tVurFX73zx0sNoMS79q3tuXKrDsxeuwIDAQABo4GQMIGNMEsGCVUdDwGG+EIBDQQ+EzxHZW5lcmF0ZWQgYnkgdGhlIFNlY3VyZVdheSBTZWN1cml0eSBTZXJ2ZXIgZm9yIE9TLzM5MCAoUkFDRikwDgYDVR0PAQH/BAQDAgAGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJ3+ocRyCTJw067dLSwr/nalx6YMMA0GCSqGSIb3DQEBBQUAA4GBAMaQzt+zaj1GU77yzlr8iiMBXgdQrwsZZWJo5exnAucJAEYQZmOfyLiM D6oYq+ZnfvM0n8G/Y79q8nhwvuxpYOnRSAXFp6xSkrIOeZtJMY1h00LKp/JX3Ng1svZ2agE126JHsQ0bhzN5TKsYfbwfTwfjdWAGy6Vf1nYi/rO+ryMO", - "kubernetesVersion": "1.17.0", - "totalNodeCount": 2, "agentVersion": "0.1.0", - "provisioningState": "Accepted", + "azureHybridBenefit": "NotApplicable", "distribution": "AKS", "distributionVersion": "1.0", - "azureHybridBenefit": "NotApplicable" - } + "kubernetesVersion": "1.17.0", + "provisioningState": "Accepted", + "totalNodeCount": 2 + }, + "systemData": { + "createdAt": "2020-12-17T07:06:33.9173186Z", + "createdBy": "sikasire@microsoft.com", + "createdByType": "User", + "lastModifiedAt": "2020-12-17T07:06:33.9173186Z", + "lastModifiedBy": "sikasire@microsoft.com", + "lastModifiedByType": "User" + }, + "tags": {} } } - } -} + }, + "operationId": "ConnectedCluster_CreateOrReplace", + "title": "CreateClusterExample" +} \ No newline at end of file diff --git a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/CreateClusterPrivateLinkExample.json b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/CreateClusterPrivateLinkExample.json index 43bf110c1b1c..27a23f83790a 100644 --- a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/CreateClusterPrivateLinkExample.json +++ b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/CreateClusterPrivateLinkExample.json @@ -1,89 +1,91 @@ { "parameters": { - "subscriptionId": "1bfbb5d0-917e-4346-9026-1d3b344417f5", - "resourceGroupName": "k8sc-rg", - "clusterName": "testCluster", - "api-version": "2024-12-01-preview", "ConnectedCluster": { - "location": "East US", - "tags": {}, "identity": { "type": "SystemAssigned" }, + "location": "East US", "properties": { "agentPublicKeyCertificate": "MIICYzCCAcygAwIBAgIBADANBgkqhkiG9w0BAQUFADAuMQswCQYDVQQGEwJVUzEMMAoGA1UEChMDSUJNMREwDwYDVQQLEwhMb2NhbCBDQTAeFw05OTEyMjIwNTAwMDBaFw0wMDEyMjMwNDU5NTlaMC4xCzAJBgNVBAYTAlVTMQwwCgYDVQQKEwNJQk0xETAPBgNVBAsTCExvY2FsIENBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD2bZEo7xGaX2/0GHkrNFZvlxBou9v1Jmt/PDiTMPve8r9FeJAQ0QdvFST/0JPQYD20rH0bimdDLgNdNynmyRoS2S/IInfpmf69iyc2G0TPyRvmHIiOZbdCd+YBHQi1adkj17NDcWj6S14tVurFX73zx0sNoMS79q3tuXKrDsxeuwIDAQABo4GQMIGNMEsGCVUdDwGG+EIBDQQ+EzxHZW5lcmF0ZWQgYnkgdGhlIFNlY3VyZVdheSBTZWN1cml0eSBTZXJ2ZXIgZm9yIE9TLzM5MCAoUkFDRikwDgYDVR0PAQH/BAQDAgAGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJ3+ocRyCTJw067dLSwr/nalx6YMMA0GCSqGSIb3DQEBBQUAA4GBAMaQzt+zaj1GU77yzlr8iiMBXgdQrwsZZWJo5exnAucJAEYQZmOfyLiM D6oYq+ZnfvM0n8G/Y79q8nhwvuxpYOnRSAXFp6xSkrIOeZtJMY1h00LKp/JX3Ng1svZ2agE126JHsQ0bhzN5TKsYfbwfTwfjdWAGy6Vf1nYi/rO+ryMO", - "privateLinkState": "Enabled", - "privateLinkScopeResourceId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/privateLinkScopeName", "azureHybridBenefit": "NotApplicable", "distribution": "AKS", - "distributionVersion": "1.0" - } - } + "distributionVersion": "1.0", + "privateLinkScopeResourceId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/privateLinkScopeName", + "privateLinkState": "Enabled" + }, + "tags": {} + }, + "api-version": "2024-12-01-preview", + "clusterName": "testCluster", + "resourceGroupName": "k8sc-rg", + "subscriptionId": "1bfbb5d0-917e-4346-9026-1d3b344417f5" }, "responses": { "200": { "body": { - "id": "/subscriptions/1bfbb5d0-917e-4346-9026-1d3b344417f5/resourceGroups/akkeshar/providers/Microsoft.Kubernetes/connectedClusters/connectedCluster1", "name": "connectedCluster1", "type": "Microsoft.Kubernetes/connectedClusters", - "location": "East US", - "tags": {}, - "systemData": { - "createdBy": "sikasire@microsoft.com", - "createdByType": "User", - "createdAt": "2020-12-17T07:06:33.9173186Z", - "lastModifiedBy": "sikasire@microsoft.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2020-12-17T07:06:33.9173186Z" - }, + "id": "/subscriptions/1bfbb5d0-917e-4346-9026-1d3b344417f5/resourceGroups/akkeshar/providers/Microsoft.Kubernetes/connectedClusters/connectedCluster1", "identity": { "type": "SystemAssigned" }, + "location": "East US", "properties": { "agentPublicKeyCertificate": "MIICYzCCAcygAwIBAgIBADANBgkqhkiG9w0BAQUFADAuMQswCQYDVQQGEwJVUzEMMAoGA1UEChMDSUJNMREwDwYDVQQLEwhMb2NhbCBDQTAeFw05OTEyMjIwNTAwMDBaFw0wMDEyMjMwNDU5NTlaMC4xCzAJBgNVBAYTAlVTMQwwCgYDVQQKEwNJQk0xETAPBgNVBAsTCExvY2FsIENBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD2bZEo7xGaX2/0GHkrNFZvlxBou9v1Jmt/PDiTMPve8r9FeJAQ0QdvFST/0JPQYD20rH0bimdDLgNdNynmyRoS2S/IInfpmf69iyc2G0TPyRvmHIiOZbdCd+YBHQi1adkj17NDcWj6S14tVurFX73zx0sNoMS79q3tuXKrDsxeuwIDAQABo4GQMIGNMEsGCVUdDwGG+EIBDQQ+EzxHZW5lcmF0ZWQgYnkgdGhlIFNlY3VyZVdheSBTZWN1cml0eSBTZXJ2ZXIgZm9yIE9TLzM5MCAoUkFDRikwDgYDVR0PAQH/BAQDAgAGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJ3+ocRyCTJw067dLSwr/nalx6YMMA0GCSqGSIb3DQEBBQUAA4GBAMaQzt+zaj1GU77yzlr8iiMBXgdQrwsZZWJo5exnAucJAEYQZmOfyLiM D6oYq+ZnfvM0n8G/Y79q8nhwvuxpYOnRSAXFp6xSkrIOeZtJMY1h00LKp/JX3Ng1svZ2agE126JHsQ0bhzN5TKsYfbwfTwfjdWAGy6Vf1nYi/rO+ryMO", - "kubernetesVersion": "1.17.0", - "totalNodeCount": 2, "agentVersion": "0.1.0", - "privateLinkState": "Enabled", - "privateLinkScopeResourceId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/privateLinkScopeName", - "provisioningState": "Succeeded", "azureHybridBenefit": "NotApplicable", "distribution": "AKS", - "distributionVersion": "1.0" - } + "distributionVersion": "1.0", + "kubernetesVersion": "1.17.0", + "privateLinkScopeResourceId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/privateLinkScopeName", + "privateLinkState": "Enabled", + "provisioningState": "Succeeded", + "totalNodeCount": 2 + }, + "systemData": { + "createdAt": "2020-12-17T07:06:33.9173186Z", + "createdBy": "sikasire@microsoft.com", + "createdByType": "User", + "lastModifiedAt": "2020-12-17T07:06:33.9173186Z", + "lastModifiedBy": "sikasire@microsoft.com", + "lastModifiedByType": "User" + }, + "tags": {} } }, "201": { "body": { - "id": "/subscriptions/1bfbb5d0-917e-4346-9026-1d3b344417f5/resourceGroups/akkeshar/providers/Microsoft.Kubernetes/connectedClusters/connectedCluster1", "name": "connectedCluster1", "type": "Microsoft.Kubernetes/connectedClusters", - "location": "East US", - "tags": {}, - "systemData": { - "createdBy": "sikasire@microsoft.com", - "createdByType": "User", - "createdAt": "2020-12-17T07:06:33.9173186Z", - "lastModifiedBy": "sikasire@microsoft.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2020-12-17T07:06:33.9173186Z" - }, + "id": "/subscriptions/1bfbb5d0-917e-4346-9026-1d3b344417f5/resourceGroups/akkeshar/providers/Microsoft.Kubernetes/connectedClusters/connectedCluster1", "identity": { "type": "SystemAssigned" }, + "location": "East US", "properties": { "agentPublicKeyCertificate": "MIICYzCCAcygAwIBAgIBADANBgkqhkiG9w0BAQUFADAuMQswCQYDVQQGEwJVUzEMMAoGA1UEChMDSUJNMREwDwYDVQQLEwhMb2NhbCBDQTAeFw05OTEyMjIwNTAwMDBaFw0wMDEyMjMwNDU5NTlaMC4xCzAJBgNVBAYTAlVTMQwwCgYDVQQKEwNJQk0xETAPBgNVBAsTCExvY2FsIENBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD2bZEo7xGaX2/0GHkrNFZvlxBou9v1Jmt/PDiTMPve8r9FeJAQ0QdvFST/0JPQYD20rH0bimdDLgNdNynmyRoS2S/IInfpmf69iyc2G0TPyRvmHIiOZbdCd+YBHQi1adkj17NDcWj6S14tVurFX73zx0sNoMS79q3tuXKrDsxeuwIDAQABo4GQMIGNMEsGCVUdDwGG+EIBDQQ+EzxHZW5lcmF0ZWQgYnkgdGhlIFNlY3VyZVdheSBTZWN1cml0eSBTZXJ2ZXIgZm9yIE9TLzM5MCAoUkFDRikwDgYDVR0PAQH/BAQDAgAGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJ3+ocRyCTJw067dLSwr/nalx6YMMA0GCSqGSIb3DQEBBQUAA4GBAMaQzt+zaj1GU77yzlr8iiMBXgdQrwsZZWJo5exnAucJAEYQZmOfyLiM D6oYq+ZnfvM0n8G/Y79q8nhwvuxpYOnRSAXFp6xSkrIOeZtJMY1h00LKp/JX3Ng1svZ2agE126JHsQ0bhzN5TKsYfbwfTwfjdWAGy6Vf1nYi/rO+ryMO", - "kubernetesVersion": "1.17.0", - "totalNodeCount": 2, "agentVersion": "0.1.0", - "privateLinkState": "Enabled", - "privateLinkScopeResourceId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/privateLinkScopeName", - "provisioningState": "Accepted", "azureHybridBenefit": "NotApplicable", "distribution": "AKS", - "distributionVersion": "1.0" - } + "distributionVersion": "1.0", + "kubernetesVersion": "1.17.0", + "privateLinkScopeResourceId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/privateLinkScopeName", + "privateLinkState": "Enabled", + "provisioningState": "Accepted", + "totalNodeCount": 2 + }, + "systemData": { + "createdAt": "2020-12-17T07:06:33.9173186Z", + "createdBy": "sikasire@microsoft.com", + "createdByType": "User", + "lastModifiedAt": "2020-12-17T07:06:33.9173186Z", + "lastModifiedBy": "sikasire@microsoft.com", + "lastModifiedByType": "User" + }, + "tags": {} } } - } -} + }, + "operationId": "ConnectedCluster_CreateOrReplace", + "title": "CreateClusterPrivateLinkExample" +} \ No newline at end of file diff --git a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/CreateCluster_KindExample.json b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/CreateCluster_KindExample.json index 5176430bbbb4..149ab54a9cef 100644 --- a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/CreateCluster_KindExample.json +++ b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/CreateCluster_KindExample.json @@ -1,154 +1,156 @@ { "parameters": { - "subscriptionId": "1bfbb5d0-917e-4346-9026-1d3b344417f5", - "resourceGroupName": "k8sc-rg", - "clusterName": "testCluster", - "api-version": "2024-12-01-preview", "ConnectedCluster": { - "location": "East US", - "tags": {}, "identity": { "type": "SystemAssigned" }, "kind": "ProvisionedCluster", + "location": "East US", "properties": { - "agentPublicKeyCertificate": "", - "azureHybridBenefit": "NotApplicable", - "distribution": "AKS", - "distributionVersion": "1.0", "aadProfile": { - "enableAzureRBAC": true, "adminGroupObjectIDs": [ "56f988bf-86f1-41af-91ab-2d7cd011db47" ], + "enableAzureRBAC": true, "tenantID": "82f988bf-86f1-41af-91ab-2d7cd011db47" }, - "oidcIssuerProfile": { - "enabled": true - }, + "agentPublicKeyCertificate": "", "arcAgentProfile": { - "desiredAgentVersion": "0.1.0", "agentAutoUpgrade": "Enabled", + "desiredAgentVersion": "0.1.0", "systemComponents": [ { "type": "Strato", - "userSpecifiedVersion": "0.1.1", - "majorVersion": 0 + "majorVersion": 0, + "userSpecifiedVersion": "0.1.1" } ] + }, + "azureHybridBenefit": "NotApplicable", + "distribution": "AKS", + "distributionVersion": "1.0", + "oidcIssuerProfile": { + "enabled": true } - } - } + }, + "tags": {} + }, + "api-version": "2024-12-01-preview", + "clusterName": "testCluster", + "resourceGroupName": "k8sc-rg", + "subscriptionId": "1bfbb5d0-917e-4346-9026-1d3b344417f5" }, "responses": { "200": { "body": { - "id": "/subscriptions/1bfbb5d0-917e-4346-9026-1d3b344417f5/resourceGroups/akkeshar/providers/Microsoft.Kubernetes/connectedClusters/connectedCluster1", "name": "connectedCluster1", "type": "Microsoft.Kubernetes/connectedClusters", - "location": "East US", - "tags": {}, - "systemData": { - "createdBy": "sikasire@microsoft.com", - "createdByType": "User", - "createdAt": "2020-12-17T07:06:33.9173186Z", - "lastModifiedBy": "sikasire@microsoft.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2020-12-17T07:06:33.9173186Z" - }, + "id": "/subscriptions/1bfbb5d0-917e-4346-9026-1d3b344417f5/resourceGroups/akkeshar/providers/Microsoft.Kubernetes/connectedClusters/connectedCluster1", "identity": { "type": "SystemAssigned" }, "kind": "ProvisionedCluster", + "location": "East US", "properties": { - "agentPublicKeyCertificate": "", - "kubernetesVersion": "1.17.0", - "totalNodeCount": 2, - "agentVersion": "0.1.0", - "provisioningState": "Succeeded", - "distribution": "AKS", - "distributionVersion": "1.0", - "azureHybridBenefit": "NotApplicable", "aadProfile": { - "enableAzureRBAC": true, "adminGroupObjectIDs": [ "56f988bf-86f1-41af-91ab-2d7cd011db47" ], + "enableAzureRBAC": true, "tenantID": "82f988bf-86f1-41af-91ab-2d7cd011db47" }, - "oidcIssuerProfile": { - "enabled": true, - "issuerUrl": "https://oidcdiscovery-northamerica-endpoint-gbcge4adgqebgxev.z01.azurefd.net/885hc665-0g4a-4a4b-732b-e4950new3bed/" - }, + "agentPublicKeyCertificate": "", + "agentVersion": "0.1.0", "arcAgentProfile": { - "desiredAgentVersion": "0.1.0", "agentAutoUpgrade": "Enabled", "agentState": "Succeeded", + "desiredAgentVersion": "0.1.0", "systemComponents": [ { "type": "Strato", - "userSpecifiedVersion": "0.1.1", "currentVersion": "0.1.0", - "majorVersion": 0 + "majorVersion": 0, + "userSpecifiedVersion": "0.1.1" } ] - } - } + }, + "azureHybridBenefit": "NotApplicable", + "distribution": "AKS", + "distributionVersion": "1.0", + "kubernetesVersion": "1.17.0", + "oidcIssuerProfile": { + "enabled": true, + "issuerUrl": "https://oidcdiscovery-northamerica-endpoint-gbcge4adgqebgxev.z01.azurefd.net/885hc665-0g4a-4a4b-732b-e4950new3bed/" + }, + "provisioningState": "Succeeded", + "totalNodeCount": 2 + }, + "systemData": { + "createdAt": "2020-12-17T07:06:33.9173186Z", + "createdBy": "sikasire@microsoft.com", + "createdByType": "User", + "lastModifiedAt": "2020-12-17T07:06:33.9173186Z", + "lastModifiedBy": "sikasire@microsoft.com", + "lastModifiedByType": "User" + }, + "tags": {} } }, "201": { "body": { - "id": "/subscriptions/1bfbb5d0-917e-4346-9026-1d3b344417f5/resourceGroups/akkeshar/providers/Microsoft.Kubernetes/connectedClusters/connectedCluster1", "name": "connectedCluster1", "type": "Microsoft.Kubernetes/connectedClusters", - "location": "East US", - "tags": {}, - "systemData": { - "createdBy": "sikasire@microsoft.com", - "createdByType": "User", - "createdAt": "2020-12-17T07:06:33.9173186Z", - "lastModifiedBy": "sikasire@microsoft.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2020-12-17T07:06:33.9173186Z" - }, + "id": "/subscriptions/1bfbb5d0-917e-4346-9026-1d3b344417f5/resourceGroups/akkeshar/providers/Microsoft.Kubernetes/connectedClusters/connectedCluster1", "identity": { "type": "SystemAssigned" }, + "location": "East US", "properties": { - "agentPublicKeyCertificate": "", - "kubernetesVersion": "1.17.0", - "totalNodeCount": 2, - "agentVersion": "0.1.0", - "provisioningState": "Accepted", - "distribution": "AKS", - "distributionVersion": "1.0", - "azureHybridBenefit": "NotApplicable", "aadProfile": { - "enableAzureRBAC": true, "adminGroupObjectIDs": [ "56f988bf-86f1-41af-91ab-2d7cd011db47" ], + "enableAzureRBAC": true, "tenantID": "82f988bf-86f1-41af-91ab-2d7cd011db47" }, - "oidcIssuerProfile": { - "enabled": true, - "issuerUrl": "https://oidcdiscovery-northamerica-endpoint-gbcge4adgqebgxev.z01.azurefd.net/885hc665-0g4a-4a4b-732b-e4950new3bed/" - }, + "agentPublicKeyCertificate": "", + "agentVersion": "0.1.0", "arcAgentProfile": { - "desiredAgentVersion": "0.1.0", "agentAutoUpgrade": "Enabled", "agentState": "Succeeded", + "desiredAgentVersion": "0.1.0", "systemComponents": [ { "type": "Strato", - "userSpecifiedVersion": "0.1.1", "currentVersion": "0.1.0", - "majorVersion": 0 + "majorVersion": 0, + "userSpecifiedVersion": "0.1.1" } ] - } - } + }, + "azureHybridBenefit": "NotApplicable", + "distribution": "AKS", + "distributionVersion": "1.0", + "kubernetesVersion": "1.17.0", + "oidcIssuerProfile": { + "enabled": true, + "issuerUrl": "https://oidcdiscovery-northamerica-endpoint-gbcge4adgqebgxev.z01.azurefd.net/885hc665-0g4a-4a4b-732b-e4950new3bed/" + }, + "provisioningState": "Accepted", + "totalNodeCount": 2 + }, + "systemData": { + "createdAt": "2020-12-17T07:06:33.9173186Z", + "createdBy": "sikasire@microsoft.com", + "createdByType": "User", + "lastModifiedAt": "2020-12-17T07:06:33.9173186Z", + "lastModifiedBy": "sikasire@microsoft.com", + "lastModifiedByType": "User" + }, + "tags": {} } } - } -} + }, + "operationId": "ConnectedCluster_CreateOrReplace", + "title": "CreateCluster_KindExample" +} \ No newline at end of file diff --git a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/DeleteClusterExample.json b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/DeleteClusterExample.json index ee8d9c4ed345..a2861dbb4a1c 100644 --- a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/DeleteClusterExample.json +++ b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/DeleteClusterExample.json @@ -1,9 +1,9 @@ { "parameters": { - "subscriptionId": "1bfbb5d0-917e-4346-9026-1d3b344417f5", - "resourceGroupName": "k8sc-rg", + "api-version": "2024-12-01-preview", "clusterName": "testCluster", - "api-version": "2024-12-01-preview" + "resourceGroupName": "k8sc-rg", + "subscriptionId": "1bfbb5d0-917e-4346-9026-1d3b344417f5" }, "responses": { "200": {}, @@ -14,5 +14,7 @@ } }, "204": {} - } -} + }, + "operationId": "ConnectedCluster_Delete", + "title": "DeleteClusterExample" +} \ No newline at end of file diff --git a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/GetClusterExample.json b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/GetClusterExample.json index b1aef1cfacae..8962f2789137 100644 --- a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/GetClusterExample.json +++ b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/GetClusterExample.json @@ -1,76 +1,78 @@ { "parameters": { - "subscriptionId": "1bfbb5d0-917e-4346-9026-1d3b344417f5", - "resourceGroupName": "k8sc-rg", + "api-version": "2024-12-01-preview", "clusterName": "testCluster", - "api-version": "2024-12-01-preview" + "resourceGroupName": "k8sc-rg", + "subscriptionId": "1bfbb5d0-917e-4346-9026-1d3b344417f5" }, "responses": { "200": { "body": { - "id": "/subscriptions/1bfbb5d0-917e-4346-9026-1d3b344417f5/resourceGroups/akkeshar/providers/Microsoft.Kubernetes/connectedClusters/connectedCluster1", "name": "connectedCluster1", "type": "Microsoft.Kubernetes/connectedClusters", - "location": "East US", - "tags": {}, - "systemData": { - "createdBy": "sikasire@microsoft.com", - "createdByType": "User", - "createdAt": "2020-12-17T07:06:33.9173186Z", - "lastModifiedBy": "2d2a754c-cade-4935-83d4-ce413c5a3910", - "lastModifiedByType": "Application", - "lastModifiedAt": "2020-12-17T07:14:58.865041Z" - }, + "id": "/subscriptions/1bfbb5d0-917e-4346-9026-1d3b344417f5/resourceGroups/akkeshar/providers/Microsoft.Kubernetes/connectedClusters/connectedCluster1", "identity": { + "type": "SystemAssigned", "principalId": "d8cd1fd9-154f-4da7-b348-595f283c13a3", - "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", - "type": "SystemAssigned" + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" }, + "location": "East US", "properties": { "agentPublicKeyCertificate": "MIICYzCCAcygAwIBAgIBADANBgkqhkiG9w0BAQUFADAuMQswCQYDVQQGEwJVUzEMMAoGA1UEChMDSUJNMREwDwYDVQQLEwhMb2NhbCBDQTAeFw05OTEyMjIwNTAwMDBaFw0wMDEyMjMwNDU5NTlaMC4xCzAJBgNVBAYTAlVTMQwwCgYDVQQKEwNJQk0xETAPBgNVBAsTCExvY2FsIENBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD2bZEo7xGaX2/0GHkrNFZvlxBou9v1Jmt/PDiTMPve8r9FeJAQ0QdvFST/0JPQYD20rH0bimdDLgNdNynmyRoS2S/IInfpmf69iyc2G0TPyRvmHIiOZbdCd+YBHQi1adkj17NDcWj6S14tVurFX73zx0sNoMS79q3tuXKrDsxeuwIDAQABo4GQMIGNMEsGCVUdDwGG+EIBDQQ+EzxHZW5lcmF0ZWQgYnkgdGhlIFNlY3VyZVdheSBTZWN1cml0eSBTZXJ2ZXIgZm9yIE9TLzM5MCAoUkFDRikwDgYDVR0PAQH/BAQDAgAGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJ3+ocRyCTJw067dLSwr/nalx6YMMA0GCSqGSIb3DQEBBQUAA4GBAMaQzt+zaj1GU77yzlr8iiMBXgdQrwsZZWJo5exnAucJAEYQZmOfyLiM D6oYq+ZnfvM0n8G/Y79q8nhwvuxpYOnRSAXFp6xSkrIOeZtJMY1h00LKp/JX3Ng1svZ2agE126JHsQ0bhzN5TKsYfbwfTwfjdWAGy6Vf1nYi/rO+ryMO", - "kubernetesVersion": "1.17.0", - "totalNodeCount": 2, "agentVersion": "0.1.0", - "privateLinkState": "Disabled", - "provisioningState": "Succeeded", + "arcAgentProfile": { + "agentAutoUpgrade": "Enabled", + "agentErrors": [ + { + "component": "Strato", + "message": "Upgrade failed for agent extension Strato, version not found", + "severity": "Error", + "time": "2020-12-17T07:14:58.865041Z" + } + ], + "agentState": "Failed", + "desiredAgentVersion": "0.1.0", + "systemComponents": [ + { + "type": "Strato", + "currentVersion": "0.1.0", + "userSpecifiedVersion": "0.1.1" + } + ] + }, "azureHybridBenefit": "NotApplicable", "distribution": "AKS", "distributionVersion": "1.0", + "kubernetesVersion": "1.17.0", "miscellaneousProperties": { "createCorrelationId": "8e42616e-74dc-4117-9aaa-71ad5d0180d8", "infrastructureVersion": "1.1" }, + "oidcIssuerProfile": { + "enabled": true, + "issuerUrl": "https://oidcdiscovery-northamerica-endpoint-gbcge4adgqebgxev.z01.azurefd.net/885hc665-0g4a-4a4b-732b-e4950new3bed/" + }, + "privateLinkState": "Disabled", + "provisioningState": "Succeeded", "securityProfile": { "workloadIdentity": { "enabled": true } }, - "oidcIssuerProfile": { - "enabled": true, - "issuerUrl": "https://oidcdiscovery-northamerica-endpoint-gbcge4adgqebgxev.z01.azurefd.net/885hc665-0g4a-4a4b-732b-e4950new3bed/" - }, - "arcAgentProfile": { - "desiredAgentVersion": "0.1.0", - "agentAutoUpgrade": "Enabled", - "agentState": "Failed", - "systemComponents": [ - { - "type": "Strato", - "userSpecifiedVersion": "0.1.1", - "currentVersion": "0.1.0" - } - ], - "agentErrors": [ - { - "message": "Upgrade failed for agent extension Strato, version not found", - "severity": "Error", - "component": "Strato", - "time": "2020-12-17T07:14:58.865041Z" - } - ] - } - } + "totalNodeCount": 2 + }, + "systemData": { + "createdAt": "2020-12-17T07:06:33.9173186Z", + "createdBy": "sikasire@microsoft.com", + "createdByType": "User", + "lastModifiedAt": "2020-12-17T07:14:58.865041Z", + "lastModifiedBy": "2d2a754c-cade-4935-83d4-ce413c5a3910", + "lastModifiedByType": "Application" + }, + "tags": {} } } - } -} + }, + "operationId": "ConnectedCluster_Get", + "title": "GetClusterExample" +} \ No newline at end of file diff --git a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/GetClustersByResourceGroupExample.json b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/GetClustersByResourceGroupExample.json index 93498ad0062b..bf822a7adfb7 100644 --- a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/GetClustersByResourceGroupExample.json +++ b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/GetClustersByResourceGroupExample.json @@ -1,87 +1,89 @@ { "parameters": { - "subscriptionId": "1bfbb5d0-917e-4346-9026-1d3b344417f5", + "api-version": "2024-12-01-preview", "resourceGroupName": "k8sc-rg", - "api-version": "2024-12-01-preview" + "subscriptionId": "1bfbb5d0-917e-4346-9026-1d3b344417f5" }, "responses": { "200": { "body": { + "nextLink": "https://serviceRoot/subscriptions/subId/resourcegroups/resourceGroupName/providers/Microsoft.Kubernetes/connectedClusters?api-version=2019-11-01-preview&$skiptoken=X'12345'", "value": [ { - "id": "/subscriptions/1bfbb5d0-917e-4346-9026-1d3b344417f5/resourceGroups/akkeshar/providers/Microsoft.Kubernetes/connectedClusters/connectedCluster1", "name": "connectedCluster1", "type": "Microsoft.Kubernetes/connectedClusters", - "location": "East US", - "tags": {}, - "systemData": { - "createdBy": "sikasire@microsoft.com", - "createdByType": "User", - "createdAt": "2020-12-17T07:06:33.9173186Z", - "lastModifiedBy": "sikasire@microsoft.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2020-12-17T07:06:33.9173186Z" - }, + "id": "/subscriptions/1bfbb5d0-917e-4346-9026-1d3b344417f5/resourceGroups/akkeshar/providers/Microsoft.Kubernetes/connectedClusters/connectedCluster1", "identity": { + "type": "SystemAssigned", "principalId": "d8cd1fd9-154f-4da7-b348-595f283c13a3", - "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", - "type": "SystemAssigned" + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" }, + "location": "East US", "properties": { "agentPublicKeyCertificate": "MIICYzCCAcygAwIBAgIBADANBgkqhkiG9w0BAQUFADAuMQswCQYDVQQGEwJVUzEMMAoGA1UEChMDSUJNMREwDwYDVQQLEwhMb2NhbCBDQTAeFw05OTEyMjIwNTAwMDBaFw0wMDEyMjMwNDU5NTlaMC4xCzAJBgNVBAYTAlVTMQwwCgYDVQQKEwNJQk0xETAPBgNVBAsTCExvY2FsIENBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD2bZEo7xGaX2/0GHkrNFZvlxBou9v1Jmt/PDiTMPve8r9FeJAQ0QdvFST/0JPQYD20rH0bimdDLgNdNynmyRoS2S/IInfpmf69iyc2G0TPyRvmHIiOZbdCd+YBHQi1adkj17NDcWj6S14tVurFX73zx0sNoMS79q3tuXKrDsxeuwIDAQABo4GQMIGNMEsGCVUdDwGG+EIBDQQ+EzxHZW5lcmF0ZWQgYnkgdGhlIFNlY3VyZVdheSBTZWN1cml0eSBTZXJ2ZXIgZm9yIE9TLzM5MCAoUkFDRikwDgYDVR0PAQH/BAQDAgAGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJ3+ocRyCTJw067dLSwr/nalx6YMMA0GCSqGSIb3DQEBBQUAA4GBAMaQzt+zaj1GU77yzlr8iiMBXgdQrwsZZWJo5exnAucJAEYQZmOfyLiM D6oYq+ZnfvM0n8G/Y79q8nhwvuxpYOnRSAXFp6xSkrIOeZtJMY1h00LKp/JX3Ng1svZ2agE126JHsQ0bhzN5TKsYfbwfTwfjdWAGy6Vf1nYi/rO+ryMO", - "kubernetesVersion": "1.17.0", - "totalNodeCount": 2, "agentVersion": "0.1.0", - "privateLinkState": "Disabled", - "provisioningState": "Succeeded", "azureHybridBenefit": "NotApplicable", "distribution": "AKS", "distributionVersion": "1.0", + "kubernetesVersion": "1.17.0", "miscellaneousProperties": { "createCorrelationId": "8e42616e-74dc-4117-9aaa-71ad5d0180d8", "infrastructureVersion": "1.1" - } - } - }, - { - "id": "/subscriptions/1bfbb5d0-917e-4346-9026-1d3b344417f5/resourceGroups/akkeshar/providers/Microsoft.Kubernetes/connectedClusters/connectedCluster1", - "name": "connectedCluster1", - "type": "Microsoft.Kubernetes/connectedClusters", - "location": "East US", - "tags": {}, + }, + "privateLinkState": "Disabled", + "provisioningState": "Succeeded", + "totalNodeCount": 2 + }, "systemData": { + "createdAt": "2020-12-17T07:06:33.9173186Z", "createdBy": "sikasire@microsoft.com", "createdByType": "User", - "createdAt": "2020-12-17T07:06:33.9173186Z", + "lastModifiedAt": "2020-12-17T07:06:33.9173186Z", "lastModifiedBy": "sikasire@microsoft.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2020-12-17T07:06:33.9173186Z" + "lastModifiedByType": "User" }, + "tags": {} + }, + { + "name": "connectedCluster1", + "type": "Microsoft.Kubernetes/connectedClusters", + "id": "/subscriptions/1bfbb5d0-917e-4346-9026-1d3b344417f5/resourceGroups/akkeshar/providers/Microsoft.Kubernetes/connectedClusters/connectedCluster1", "identity": { + "type": "SystemAssigned", "principalId": "d8cd1fd9-154f-4da7-b348-595f283c13a3", - "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", - "type": "SystemAssigned" + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" }, + "location": "East US", "properties": { "agentPublicKeyCertificate": "XIICYzCCAcygAwIBAgIBADANBgkqhkiG9w0BAQUFADAuMQswCQYDVQQGEwJVUzEMMAoGA1UEChMDSUJNMREwDwYDVQQLEwhMb2NhbCBDQTAeFw05OTEyMjIwNTAwMDBaFw0wMDEyMjMwNDU5NTlaMC4xCzAJBgNVBAYTAlVTMQwwCgYDVQQKEwNJQk0xETAPBgNVBAsTCExvY2FsIENBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD2bZEo7xGaX2/0GHkrNFZvlxBou9v1Jmt/PDiTMPve8r9FeJAQ0QdvFST/0JPQYD20rH0bimdDLgNdNynmyRoS2S/IInfpmf69iyc2G0TPyRvmHIiOZbdCd+YBHQi1adkj17NDcWj6S14tVurFX73zx0sNoMS79q3tuXKrDsxeuwIDAQABo4GQMIGNMEsGCVUdDwGG+EIBDQQ+EzxHZW5lcmF0ZWQgYnkgdGhlIFNlY3VyZVdheSBTZWN1cml0eSBTZXJ2ZXIgZm9yIE9TLzM5MCAoUkFDRikwDgYDVR0PAQH/BAQDAgAGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJ3+ocRyCTJw067dLSwr/nalx6YMMA0GCSqGSIb3DQEBBQUAA4GBAMaQzt+zaj1GU77yzlr8iiMBXgdQrwsZZWJo5exnAucJAEYQZmOfyLiM D6oYq+ZnfvM0n8G/Y79q8nhwvuxpYOnRSAXFp6xSkrIOeZtJMY1h00LKp/JX3Ng1svZ2agE126JHsQ0bhzN5TKsYfbwfTwfjdWAGy6Vf1nYi/rO+ryMO", - "kubernetesVersion": "1.1", - "totalNodeCount": 2, "agentVersion": "0.1.0", - "privateLinkState": "Enabled", - "privateLinkScopeResourceId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/privateLinkScopeName", - "provisioningState": "Succeeded", "azureHybridBenefit": "NotApplicable", "distribution": "AKS", "distributionVersion": "1.0", + "kubernetesVersion": "1.1", "miscellaneousProperties": { "createCorrelationId": "8e42616e-74dc-4117-9aaa-71ad5d0180d8", "infrastructureVersion": "1.1" - } - } + }, + "privateLinkScopeResourceId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/privateLinkScopeName", + "privateLinkState": "Enabled", + "provisioningState": "Succeeded", + "totalNodeCount": 2 + }, + "systemData": { + "createdAt": "2020-12-17T07:06:33.9173186Z", + "createdBy": "sikasire@microsoft.com", + "createdByType": "User", + "lastModifiedAt": "2020-12-17T07:06:33.9173186Z", + "lastModifiedBy": "sikasire@microsoft.com", + "lastModifiedByType": "User" + }, + "tags": {} } - ], - "nextLink": "https://serviceRoot/subscriptions/subId/resourcegroups/resourceGroupName/providers/Microsoft.Kubernetes/connectedClusters?api-version=2019-11-01-preview&$skiptoken=X'12345'" + ] } } - } -} + }, + "operationId": "ConnectedCluster_ListByResourceGroup", + "title": "GetClustersExample" +} \ No newline at end of file diff --git a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/GetClustersBySubscriptionExample.json b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/GetClustersBySubscriptionExample.json index 832a408c3340..d54d3f8d4e66 100644 --- a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/GetClustersBySubscriptionExample.json +++ b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/GetClustersBySubscriptionExample.json @@ -1,86 +1,88 @@ { "parameters": { - "subscriptionId": "1bfbb5d0-917e-4346-9026-1d3b344417f5", - "api-version": "2024-12-01-preview" + "api-version": "2024-12-01-preview", + "subscriptionId": "1bfbb5d0-917e-4346-9026-1d3b344417f5" }, "responses": { "200": { "body": { + "nextLink": "https://serviceRoot/subscriptions/subId/resourcegroups/resourceGroupName/providers/Microsoft.Kubernetes/connectedClusters?api-version=2019-11-01-preview&$skiptoken=X'12345'", "value": [ { - "id": "/subscriptions/1bfbb5d0-917e-4346-9026-1d3b344417f5/resourceGroups/akkeshar/providers/Microsoft.Kubernetes/connectedClusters/connectedCluster1", "name": "connectedCluster1", "type": "Microsoft.Kubernetes/connectedClusters", - "location": "East US", - "tags": {}, - "systemData": { - "createdBy": "sikasire@microsoft.com", - "createdByType": "User", - "createdAt": "2020-12-17T07:06:33.9173186Z", - "lastModifiedBy": "sikasire@microsoft.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2020-12-17T07:06:33.9173186Z" - }, + "id": "/subscriptions/1bfbb5d0-917e-4346-9026-1d3b344417f5/resourceGroups/akkeshar/providers/Microsoft.Kubernetes/connectedClusters/connectedCluster1", "identity": { + "type": "SystemAssigned", "principalId": "d8cd1fd9-154f-4da7-b348-595f283c13a3", - "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", - "type": "SystemAssigned" + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" }, + "location": "East US", "properties": { "agentPublicKeyCertificate": "MIICYzCCAcygAwIBAgIBADANBgkqhkiG9w0BAQUFADAuMQswCQYDVQQGEwJVUzEMMAoGA1UEChMDSUJNMREwDwYDVQQLEwhMb2NhbCBDQTAeFw05OTEyMjIwNTAwMDBaFw0wMDEyMjMwNDU5NTlaMC4xCzAJBgNVBAYTAlVTMQwwCgYDVQQKEwNJQk0xETAPBgNVBAsTCExvY2FsIENBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD2bZEo7xGaX2/0GHkrNFZvlxBou9v1Jmt/PDiTMPve8r9FeJAQ0QdvFST/0JPQYD20rH0bimdDLgNdNynmyRoS2S/IInfpmf69iyc2G0TPyRvmHIiOZbdCd+YBHQi1adkj17NDcWj6S14tVurFX73zx0sNoMS79q3tuXKrDsxeuwIDAQABo4GQMIGNMEsGCVUdDwGG+EIBDQQ+EzxHZW5lcmF0ZWQgYnkgdGhlIFNlY3VyZVdheSBTZWN1cml0eSBTZXJ2ZXIgZm9yIE9TLzM5MCAoUkFDRikwDgYDVR0PAQH/BAQDAgAGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJ3+ocRyCTJw067dLSwr/nalx6YMMA0GCSqGSIb3DQEBBQUAA4GBAMaQzt+zaj1GU77yzlr8iiMBXgdQrwsZZWJo5exnAucJAEYQZmOfyLiM D6oYq+ZnfvM0n8G/Y79q8nhwvuxpYOnRSAXFp6xSkrIOeZtJMY1h00LKp/JX3Ng1svZ2agE126JHsQ0bhzN5TKsYfbwfTwfjdWAGy6Vf1nYi/rO+ryMO", - "kubernetesVersion": "1.17.0", - "totalNodeCount": 2, "agentVersion": "0.1.0", - "privateLinkState": "Disabled", - "provisioningState": "Succeeded", "azureHybridBenefit": "NotApplicable", "distribution": "AKS", "distributionVersion": "1.0", + "kubernetesVersion": "1.17.0", "miscellaneousProperties": { "createCorrelationId": "8e42616e-74dc-4117-9aaa-71ad5d0180d8", "infrastructureVersion": "1.1" - } - } - }, - { - "id": "/subscriptions/1bfbb5d0-917e-4346-9026-1d3b344417f5/resourceGroups/akkeshar/providers/Microsoft.Kubernetes/connectedClusters/connectedCluster2", - "name": "connectedCluster2", - "type": "Microsoft.Kubernetes/connectedClusters", - "location": "East US", - "tags": {}, + }, + "privateLinkState": "Disabled", + "provisioningState": "Succeeded", + "totalNodeCount": 2 + }, "systemData": { + "createdAt": "2020-12-17T07:06:33.9173186Z", "createdBy": "sikasire@microsoft.com", "createdByType": "User", - "createdAt": "2020-12-17T07:06:33.9173186Z", + "lastModifiedAt": "2020-12-17T07:06:33.9173186Z", "lastModifiedBy": "sikasire@microsoft.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2020-12-17T07:06:33.9173186Z" + "lastModifiedByType": "User" }, + "tags": {} + }, + { + "name": "connectedCluster2", + "type": "Microsoft.Kubernetes/connectedClusters", + "id": "/subscriptions/1bfbb5d0-917e-4346-9026-1d3b344417f5/resourceGroups/akkeshar/providers/Microsoft.Kubernetes/connectedClusters/connectedCluster2", "identity": { + "type": "SystemAssigned", "principalId": "d8cd1fd9-154f-4da7-b348-595f283c13a3", - "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", - "type": "SystemAssigned" + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" }, + "location": "East US", "properties": { "agentPublicKeyCertificate": "XIICYzCCAcygAwIBAgIBADANBgkqhkiG9w0BAQUFADAuMQswCQYDVQQGEwJVUzEMMAoGA1UEChMDSUJNMREwDwYDVQQLEwhMb2NhbCBDQTAeFw05OTEyMjIwNTAwMDBaFw0wMDEyMjMwNDU5NTlaMC4xCzAJBgNVBAYTAlVTMQwwCgYDVQQKEwNJQk0xETAPBgNVBAsTCExvY2FsIENBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD2bZEo7xGaX2/0GHkrNFZvlxBou9v1Jmt/PDiTMPve8r9FeJAQ0QdvFST/0JPQYD20rH0bimdDLgNdNynmyRoS2S/IInfpmf69iyc2G0TPyRvmHIiOZbdCd+YBHQi1adkj17NDcWj6S14tVurFX73zx0sNoMS79q3tuXKrDsxeuwIDAQABo4GQMIGNMEsGCVUdDwGG+EIBDQQ+EzxHZW5lcmF0ZWQgYnkgdGhlIFNlY3VyZVdheSBTZWN1cml0eSBTZXJ2ZXIgZm9yIE9TLzM5MCAoUkFDRikwDgYDVR0PAQH/BAQDAgAGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJ3+ocRyCTJw067dLSwr/nalx6YMMA0GCSqGSIb3DQEBBQUAA4GBAMaQzt+zaj1GU77yzlr8iiMBXgdQrwsZZWJo5exnAucJAEYQZmOfyLiM D6oYq+ZnfvM0n8G/Y79q8nhwvuxpYOnRSAXFp6xSkrIOeZtJMY1h00LKp/JX3Ng1svZ2agE126JHsQ0bhzN5TKsYfbwfTwfjdWAGy6Vf1nYi/rO+ryMO", - "kubernetesVersion": "1.16.3", - "totalNodeCount": 4, "agentVersion": "0.1.0", - "privateLinkState": "Enabled", - "privateLinkScopeResourceId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/privateLinkScopeName", - "provisioningState": "Succeeded", "azureHybridBenefit": "NotApplicable", "distribution": "AKS", "distributionVersion": "1.0", + "kubernetesVersion": "1.16.3", "miscellaneousProperties": { "createCorrelationId": "8e42616e-74dc-4117-9aaa-71ad5d0180d8", "infrastructureVersion": "1.1" - } - } + }, + "privateLinkScopeResourceId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/privateLinkScopeName", + "privateLinkState": "Enabled", + "provisioningState": "Succeeded", + "totalNodeCount": 4 + }, + "systemData": { + "createdAt": "2020-12-17T07:06:33.9173186Z", + "createdBy": "sikasire@microsoft.com", + "createdByType": "User", + "lastModifiedAt": "2020-12-17T07:06:33.9173186Z", + "lastModifiedBy": "sikasire@microsoft.com", + "lastModifiedByType": "User" + }, + "tags": {} } - ], - "nextLink": "https://serviceRoot/subscriptions/subId/resourcegroups/resourceGroupName/providers/Microsoft.Kubernetes/connectedClusters?api-version=2019-11-01-preview&$skiptoken=X'12345'" + ] } } - } -} + }, + "operationId": "ConnectedCluster_ListBySubscription", + "title": "GetClustersBySubscriptionExample" +} \ No newline at end of file diff --git a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/GetProvisionedClusterExample.json b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/GetProvisionedClusterExample.json index b3cc509e6441..e405a5918cc0 100644 --- a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/GetProvisionedClusterExample.json +++ b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/GetProvisionedClusterExample.json @@ -1,68 +1,70 @@ { "parameters": { - "subscriptionId": "1bfbb5d0-917e-4346-9026-1d3b344417f5", - "resourceGroupName": "k8sc-rg", + "api-version": "2024-12-01-preview", "clusterName": "testCluster", - "api-version": "2024-12-01-preview" + "resourceGroupName": "k8sc-rg", + "subscriptionId": "1bfbb5d0-917e-4346-9026-1d3b344417f5" }, "responses": { "200": { "body": { - "id": "/subscriptions/1bfbb5d0-917e-4346-9026-1d3b344417f5/resourceGroups/akkeshar/providers/Microsoft.Kubernetes/connectedClusters/connectedCluster1", "name": "connectedCluster1", "type": "Microsoft.Kubernetes/connectedClusters", - "location": "East US", - "tags": {}, - "systemData": { - "createdBy": "sikasire@microsoft.com", - "createdByType": "User", - "createdAt": "2020-12-17T07:06:33.9173186Z", - "lastModifiedBy": "2d2a754c-cade-4935-83d4-ce413c5a3910", - "lastModifiedByType": "Application", - "lastModifiedAt": "2020-12-17T07:14:58.865041Z" - }, + "id": "/subscriptions/1bfbb5d0-917e-4346-9026-1d3b344417f5/resourceGroups/akkeshar/providers/Microsoft.Kubernetes/connectedClusters/connectedCluster1", "identity": { + "type": "SystemAssigned", "principalId": "d8cd1fd9-154f-4da7-b348-595f283c13a3", - "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", - "type": "SystemAssigned" + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" }, "kind": "ProvisionedCluster", + "location": "East US", "properties": { - "agentPublicKeyCertificate": "MIICYzCCAcygAwIBAgIBADANBgkqhkiG9w0BAQUFADAuMQswCQYDVQQGEwJVUzEMMAoGA1UEChMDSUJNMREwDwYDVQQLEwhMb2NhbCBDQTAeFw05OTEyMjIwNTAwMDBaFw0wMDEyMjMwNDU5NTlaMC4xCzAJBgNVBAYTAlVTMQwwCgYDVQQKEwNJQk0xETAPBgNVBAsTCExvY2FsIENBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD2bZEo7xGaX2/0GHkrNFZvlxBou9v1Jmt/PDiTMPve8r9FeJAQ0QdvFST/0JPQYD20rH0bimdDLgNdNynmyRoS2S/IInfpmf69iyc2G0TPyRvmHIiOZbdCd+YBHQi1adkj17NDcWj6S14tVurFX73zx0sNoMS79q3tuXKrDsxeuwIDAQABo4GQMIGNMEsGCVUdDwGG+EIBDQQ+EzxHZW5lcmF0ZWQgYnkgdGhlIFNlY3VyZVdheSBTZWN1cml0eSBTZXJ2ZXIgZm9yIE9TLzM5MCAoUkFDRikwDgYDVR0PAQH/BAQDAgAGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJ3+ocRyCTJw067dLSwr/nalx6YMMA0GCSqGSIb3DQEBBQUAA4GBAMaQzt+zaj1GU77yzlr8iiMBXgdQrwsZZWJo5exnAucJAEYQZmOfyLiM D6oYq+ZnfvM0n8G/Y79q8nhwvuxpYOnRSAXFp6xSkrIOeZtJMY1h00LKp/JX3Ng1svZ2agE126JHsQ0bhzN5TKsYfbwfTwfjdWAGy6Vf1nYi/rO+ryMO", - "kubernetesVersion": "1.17.0", - "totalNodeCount": 2, - "agentVersion": "0.1.0", - "privateLinkState": "Disabled", - "provisioningState": "Succeeded", - "azureHybridBenefit": "NotApplicable", - "distribution": "AKS", - "distributionVersion": "1.0", "aadProfile": { - "enableAzureRBAC": true, "adminGroupObjectIDs": [ "56f988bf-86f1-41af-91ab-2d7cd011db47" ], + "enableAzureRBAC": true, "tenantID": "82f988bf-86f1-41af-91ab-2d7cd011db47" }, + "agentPublicKeyCertificate": "MIICYzCCAcygAwIBAgIBADANBgkqhkiG9w0BAQUFADAuMQswCQYDVQQGEwJVUzEMMAoGA1UEChMDSUJNMREwDwYDVQQLEwhMb2NhbCBDQTAeFw05OTEyMjIwNTAwMDBaFw0wMDEyMjMwNDU5NTlaMC4xCzAJBgNVBAYTAlVTMQwwCgYDVQQKEwNJQk0xETAPBgNVBAsTCExvY2FsIENBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD2bZEo7xGaX2/0GHkrNFZvlxBou9v1Jmt/PDiTMPve8r9FeJAQ0QdvFST/0JPQYD20rH0bimdDLgNdNynmyRoS2S/IInfpmf69iyc2G0TPyRvmHIiOZbdCd+YBHQi1adkj17NDcWj6S14tVurFX73zx0sNoMS79q3tuXKrDsxeuwIDAQABo4GQMIGNMEsGCVUdDwGG+EIBDQQ+EzxHZW5lcmF0ZWQgYnkgdGhlIFNlY3VyZVdheSBTZWN1cml0eSBTZXJ2ZXIgZm9yIE9TLzM5MCAoUkFDRikwDgYDVR0PAQH/BAQDAgAGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJ3+ocRyCTJw067dLSwr/nalx6YMMA0GCSqGSIb3DQEBBQUAA4GBAMaQzt+zaj1GU77yzlr8iiMBXgdQrwsZZWJo5exnAucJAEYQZmOfyLiM D6oYq+ZnfvM0n8G/Y79q8nhwvuxpYOnRSAXFp6xSkrIOeZtJMY1h00LKp/JX3Ng1svZ2agE126JHsQ0bhzN5TKsYfbwfTwfjdWAGy6Vf1nYi/rO+ryMO", + "agentVersion": "0.1.0", "arcAgentProfile": { - "desiredAgentVersion": "0.1.0", "agentAutoUpgrade": "Enabled", "agentState": "Succeeded", + "desiredAgentVersion": "0.1.0", "systemComponents": [ { "type": "Strato", - "userSpecifiedVersion": "0.1.1", "currentVersion": "0.1.0", - "majorVersion": 0 + "majorVersion": 0, + "userSpecifiedVersion": "0.1.1" } ] }, + "azureHybridBenefit": "NotApplicable", + "distribution": "AKS", + "distributionVersion": "1.0", + "kubernetesVersion": "1.17.0", "miscellaneousProperties": { "createCorrelationId": "8e42616e-74dc-4117-9aaa-71ad5d0180d8", "infrastructureVersion": "1.1" - } - } + }, + "privateLinkState": "Disabled", + "provisioningState": "Succeeded", + "totalNodeCount": 2 + }, + "systemData": { + "createdAt": "2020-12-17T07:06:33.9173186Z", + "createdBy": "sikasire@microsoft.com", + "createdByType": "User", + "lastModifiedAt": "2020-12-17T07:14:58.865041Z", + "lastModifiedBy": "2d2a754c-cade-4935-83d4-ce413c5a3910", + "lastModifiedByType": "Application" + }, + "tags": {} } } - } -} + }, + "operationId": "ConnectedCluster_Get", + "title": "GetProvisionedClusterExample" +} \ No newline at end of file diff --git a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/ListConnectedClusterOperationsExample.json b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/ListConnectedClusterOperationsExample.json index cd93fddfcf44..88b431556410 100644 --- a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/ListConnectedClusterOperationsExample.json +++ b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/ListConnectedClusterOperationsExample.json @@ -5,37 +5,39 @@ "responses": { "200": { "body": { + "nextLink": "https://serviceRoot/subscriptions/subId/resourcegroups/resourceGroupName/providers/Microsoft.Kubernetes/connectedClusters?api-version=2019-11-01-preview&$skiptoken=X'12345'", "value": [ { "name": "Microsoft.Kubernetes/connectedClusters/write", "display": { - "provider": "Microsoft.connectedClusters", - "resource": "connectedClusters", + "description": "Create any ConnectedCluster", "operation": "Create ConnectedCluster", - "description": "Create any ConnectedCluster" + "provider": "Microsoft.connectedClusters", + "resource": "connectedClusters" } }, { "name": "Microsoft.Kubernetes/connectedClusters/read", "display": { - "provider": "Microsoft.Kubernetes", - "resource": "connectedClusters", + "description": "Get any ConnectedCluster", "operation": "Get ConnectedCluster", - "description": "Get any ConnectedCluster" + "provider": "Microsoft.Kubernetes", + "resource": "connectedClusters" } }, { "name": "Microsoft.Kubernetes/connectedClusters/delete", "display": { - "provider": "Microsoft.Kubernetes", - "resource": "connectedClusters", + "description": "Delete any ConnectedCluster", "operation": "Delete ConnectedCluster", - "description": "Delete any ConnectedCluster" + "provider": "Microsoft.Kubernetes", + "resource": "connectedClusters" } } - ], - "nextLink": "https://serviceRoot/subscriptions/subId/resourcegroups/resourceGroupName/providers/Microsoft.Kubernetes/connectedClusters?api-version=2019-11-01-preview&$skiptoken=X'12345'" + ] } } - } -} + }, + "operationId": "Operations_List", + "title": "ListConnectedClusterOperationsExample" +} \ No newline at end of file diff --git a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/UpdateClusterByPatchExample.json b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/UpdateClusterByPatchExample.json index e5b483ed05d6..22a9061c76d6 100644 --- a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/UpdateClusterByPatchExample.json +++ b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/UpdateClusterByPatchExample.json @@ -1,55 +1,57 @@ { "parameters": { - "api-version": "2024-12-01-preview", - "subscriptionId": "1bfbb5d0-917e-4346-9026-1d3b344417f5", - "resourceGroupName": "k8sc-rg", - "clusterName": "testCluster", "ConnectedClusterPatch": { - "tags": { - "tag1": "value1", - "tag2": "value2" - }, "properties": { "azureHybridBenefit": "NotApplicable", "distribution": "AKS", "distributionVersion": "1.0" + }, + "tags": { + "tag1": "value1", + "tag2": "value2" } - } + }, + "api-version": "2024-12-01-preview", + "clusterName": "testCluster", + "resourceGroupName": "k8sc-rg", + "subscriptionId": "1bfbb5d0-917e-4346-9026-1d3b344417f5" }, "responses": { "200": { "body": { - "id": "/subscriptions/1bfbb5d0-917e-4346-9026-1d3b344417f5/resourceGroups/akkeshar/providers/Microsoft.Kubernetes/connectedClusters/connectedCluster1", "name": "connectedCluster1", "type": "Microsoft.Kubernetes/connectedClusters", - "location": "East US", - "tags": {}, - "systemData": { - "createdBy": "sikasire@microsoft.com", - "createdByType": "User", - "createdAt": "2020-12-17T07:06:33.9173186Z", - "lastModifiedBy": "2d2a754c-cade-4935-83d4-ce413c5a3910", - "lastModifiedByType": "Application", - "lastModifiedAt": "2020-12-17T07:14:58.865041Z" - }, + "id": "/subscriptions/1bfbb5d0-917e-4346-9026-1d3b344417f5/resourceGroups/akkeshar/providers/Microsoft.Kubernetes/connectedClusters/connectedCluster1", "identity": { "type": "SystemAssigned" }, + "location": "East US", "properties": { "agentPublicKeyCertificate": "MIICYzCCAcygAwIBAgIBADANBgkqhkiG9w0BAQUFADAuMQswCQYDVQQGEwJVUzEMMAoGA1UEChMDSUJNMREwDwYDVQQLEwhMb2NhbCBDQTAeFw05OTEyMjIwNTAwMDBaFw0wMDEyMjMwNDU5NTlaMC4xCzAJBgNVBAYTAlVTMQwwCgYDVQQKEwNJQk0xETAPBgNVBAsTCExvY2FsIENBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD2bZEo7xGaX2/0GHkrNFZvlxBou9v1Jmt/PDiTMPve8r9FeJAQ0QdvFST/0JPQYD20rH0bimdDLgNdNynmyRoS2S/IInfpmf69iyc2G0TPyRvmHIiOZbdCd+YBHQi1adkj17NDcWj6S14tVurFX73zx0sNoMS79q3tuXKrDsxeuwIDAQABo4GQMIGNMEsGCVUdDwGG+EIBDQQ+EzxHZW5lcmF0ZWQgYnkgdGhlIFNlY3VyZVdheSBTZWN1cml0eSBTZXJ2ZXIgZm9yIE9TLzM5MCAoUkFDRikwDgYDVR0PAQH/BAQDAgAGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJ3+ocRyCTJw067dLSwr/nalx6YMMA0GCSqGSIb3DQEBBQUAA4GBAMaQzt+zaj1GU77yzlr8iiMBXgdQrwsZZWJo5exnAucJAEYQZmOfyLiM D6oYq+ZnfvM0n8G/Y79q8nhwvuxpYOnRSAXFp6xSkrIOeZtJMY1h00LKp/JX3Ng1svZ2agE126JHsQ0bhzN5TKsYfbwfTwfjdWAGy6Vf1nYi/rO+ryMO", - "kubernetesVersion": "1.17.0", - "totalNodeCount": 2, "agentVersion": "0.1.0", - "provisioningState": "Succeeded", "azureHybridBenefit": "NotApplicable", "distribution": "AKS", "distributionVersion": "1.0", + "kubernetesVersion": "1.17.0", "miscellaneousProperties": { "createCorrelationId": "8e42616e-74dc-4117-9aaa-71ad5d0180d8", "infrastructureVersion": "1.1" - } - } + }, + "provisioningState": "Succeeded", + "totalNodeCount": 2 + }, + "systemData": { + "createdAt": "2020-12-17T07:06:33.9173186Z", + "createdBy": "sikasire@microsoft.com", + "createdByType": "User", + "lastModifiedAt": "2020-12-17T07:14:58.865041Z", + "lastModifiedBy": "2d2a754c-cade-4935-83d4-ce413c5a3910", + "lastModifiedByType": "Application" + }, + "tags": {} } } - } -} + }, + "operationId": "ConnectedCluster_Update", + "title": "UpdateClusterExample" +} \ No newline at end of file diff --git a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/UpdateClusterByPutExample.json b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/UpdateClusterByPutExample.json index 8d5547fb40f8..e6dcfb5aac3c 100644 --- a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/UpdateClusterByPutExample.json +++ b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/UpdateClusterByPutExample.json @@ -1,15 +1,10 @@ { "parameters": { - "subscriptionId": "1bfbb5d0-917e-4346-9026-1d3b344417f5", - "resourceGroupName": "k8sc-rg", - "clusterName": "testCluster", - "api-version": "2024-12-01-preview", "ConnectedCluster": { - "location": "East US", - "tags": {}, "identity": { "type": "SystemAssigned" }, + "location": "East US", "properties": { "agentPublicKeyCertificate": "MIICYzCCAcygAwIBAgIBADANBgkqhkiG9w0BAQUFADAuMQswCQYDVQQGEwJVUzEMMAoGA1UEChMDSUJNMREwDwYDVQQLEwhMb2NhbCBDQTAeFw05OTEyMjIwNTAwMDBaFw0wMDEyMjMwNDU5NTlaMC4xCzAJBgNVBAYTAlVTMQwwCgYDVQQKEwNJQk0xETAPBgNVBAsTCExvY2FsIENBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD2bZEo7xGaX2/0GHkrNFZvlxBou9v1Jmt/PDiTMPve8r9FeJAQ0QdvFST/0JPQYD20rH0bimdDLgNdNynmyRoS2S/IInfpmf69iyc2G0TPyRvmHIiOZbdCd+YBHQi1adkj17NDcWj6S14tVurFX73zx0sNoMS79q3tuXKrDsxeuwIDAQABo4GQMIGNMEsGCVUdDwGG+EIBDQQ+EzxHZW5lcmF0ZWQgYnkgdGhlIFNlY3VyZVdheSBTZWN1cml0eSBTZXJ2ZXIgZm9yIE9TLzM5MCAoUkFDRikwDgYDVR0PAQH/BAQDAgAGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJ3+ocRyCTJw067dLSwr/nalx6YMMA0GCSqGSIb3DQEBBQUAA4GBAMaQzt+zaj1GU77yzlr8iiMBXgdQrwsZZWJo5exnAucJAEYQZmOfyLiM D6oYq+ZnfvM0n8G/Y79q8nhwvuxpYOnRSAXFp6xSkrIOeZtJMY1h00LKp/JX3Ng1svZ2agE126JHsQ0bhzN5TKsYfbwfTwfjdWAGy6Vf1nYi/rO+ryMO", "azureHybridBenefit": "NotApplicable", @@ -19,77 +14,84 @@ "enabled": true, "resourceId": "/subscriptions/1bfbb5d0-917e-4346-9026-1d3b344417f5/resourceGroups/akkeshar/providers/Microsoft.HybridCompute/gateways/gateway1" } - } - } + }, + "tags": {} + }, + "api-version": "2024-12-01-preview", + "clusterName": "testCluster", + "resourceGroupName": "k8sc-rg", + "subscriptionId": "1bfbb5d0-917e-4346-9026-1d3b344417f5" }, "responses": { "200": { "body": { - "id": "/subscriptions/1bfbb5d0-917e-4346-9026-1d3b344417f5/resourceGroups/akkeshar/providers/Microsoft.Kubernetes/connectedClusters/connectedCluster1", "name": "connectedCluster1", "type": "Microsoft.Kubernetes/connectedClusters", - "location": "East US", - "tags": {}, - "systemData": { - "createdBy": "sikasire@microsoft.com", - "createdByType": "User", - "createdAt": "2020-12-17T07:06:33.9173186Z", - "lastModifiedBy": "sikasire@microsoft.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2020-12-17T07:06:33.9173186Z" - }, + "id": "/subscriptions/1bfbb5d0-917e-4346-9026-1d3b344417f5/resourceGroups/akkeshar/providers/Microsoft.Kubernetes/connectedClusters/connectedCluster1", "identity": { "type": "SystemAssigned" }, + "location": "East US", "properties": { "agentPublicKeyCertificate": "MIICYzCCAcygAwIBAgIBADANBgkqhkiG9w0BAQUFADAuMQswCQYDVQQGEwJVUzEMMAoGA1UEChMDSUJNMREwDwYDVQQLEwhMb2NhbCBDQTAeFw05OTEyMjIwNTAwMDBaFw0wMDEyMjMwNDU5NTlaMC4xCzAJBgNVBAYTAlVTMQwwCgYDVQQKEwNJQk0xETAPBgNVBAsTCExvY2FsIENBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD2bZEo7xGaX2/0GHkrNFZvlxBou9v1Jmt/PDiTMPve8r9FeJAQ0QdvFST/0JPQYD20rH0bimdDLgNdNynmyRoS2S/IInfpmf69iyc2G0TPyRvmHIiOZbdCd+YBHQi1adkj17NDcWj6S14tVurFX73zx0sNoMS79q3tuXKrDsxeuwIDAQABo4GQMIGNMEsGCVUdDwGG+EIBDQQ+EzxHZW5lcmF0ZWQgYnkgdGhlIFNlY3VyZVdheSBTZWN1cml0eSBTZXJ2ZXIgZm9yIE9TLzM5MCAoUkFDRikwDgYDVR0PAQH/BAQDAgAGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJ3+ocRyCTJw067dLSwr/nalx6YMMA0GCSqGSIb3DQEBBQUAA4GBAMaQzt+zaj1GU77yzlr8iiMBXgdQrwsZZWJo5exnAucJAEYQZmOfyLiM D6oYq+ZnfvM0n8G/Y79q8nhwvuxpYOnRSAXFp6xSkrIOeZtJMY1h00LKp/JX3Ng1svZ2agE126JHsQ0bhzN5TKsYfbwfTwfjdWAGy6Vf1nYi/rO+ryMO", - "kubernetesVersion": "1.17.0", - "totalNodeCount": 2, "agentVersion": "0.1.0", - "provisioningState": "Succeeded", + "azureHybridBenefit": "NotApplicable", "distribution": "AKS", "distributionVersion": "1.0", - "azureHybridBenefit": "NotApplicable", "gateway": { "enabled": true, "resourceId": "/subscriptions/1bfbb5d0-917e-4346-9026-1d3b344417f5/resourceGroups/akkeshar/providers/Microsoft.HybridCompute/gateways/gateway1" - } - } + }, + "kubernetesVersion": "1.17.0", + "provisioningState": "Succeeded", + "totalNodeCount": 2 + }, + "systemData": { + "createdAt": "2020-12-17T07:06:33.9173186Z", + "createdBy": "sikasire@microsoft.com", + "createdByType": "User", + "lastModifiedAt": "2020-12-17T07:06:33.9173186Z", + "lastModifiedBy": "sikasire@microsoft.com", + "lastModifiedByType": "User" + }, + "tags": {} } }, "201": { "body": { - "id": "/subscriptions/1bfbb5d0-917e-4346-9026-1d3b344417f5/resourceGroups/akkeshar/providers/Microsoft.Kubernetes/connectedClusters/connectedCluster1", "name": "connectedCluster1", "type": "Microsoft.Kubernetes/connectedClusters", - "location": "East US", - "tags": {}, - "systemData": { - "createdBy": "sikasire@microsoft.com", - "createdByType": "User", - "createdAt": "2020-12-17T07:06:33.9173186Z", - "lastModifiedBy": "sikasire@microsoft.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2020-12-17T07:06:33.9173186Z" - }, + "id": "/subscriptions/1bfbb5d0-917e-4346-9026-1d3b344417f5/resourceGroups/akkeshar/providers/Microsoft.Kubernetes/connectedClusters/connectedCluster1", "identity": { "type": "SystemAssigned" }, + "location": "East US", "properties": { "agentPublicKeyCertificate": "MIICYzCCAcygAwIBAgIBADANBgkqhkiG9w0BAQUFADAuMQswCQYDVQQGEwJVUzEMMAoGA1UEChMDSUJNMREwDwYDVQQLEwhMb2NhbCBDQTAeFw05OTEyMjIwNTAwMDBaFw0wMDEyMjMwNDU5NTlaMC4xCzAJBgNVBAYTAlVTMQwwCgYDVQQKEwNJQk0xETAPBgNVBAsTCExvY2FsIENBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD2bZEo7xGaX2/0GHkrNFZvlxBou9v1Jmt/PDiTMPve8r9FeJAQ0QdvFST/0JPQYD20rH0bimdDLgNdNynmyRoS2S/IInfpmf69iyc2G0TPyRvmHIiOZbdCd+YBHQi1adkj17NDcWj6S14tVurFX73zx0sNoMS79q3tuXKrDsxeuwIDAQABo4GQMIGNMEsGCVUdDwGG+EIBDQQ+EzxHZW5lcmF0ZWQgYnkgdGhlIFNlY3VyZVdheSBTZWN1cml0eSBTZXJ2ZXIgZm9yIE9TLzM5MCAoUkFDRikwDgYDVR0PAQH/BAQDAgAGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJ3+ocRyCTJw067dLSwr/nalx6YMMA0GCSqGSIb3DQEBBQUAA4GBAMaQzt+zaj1GU77yzlr8iiMBXgdQrwsZZWJo5exnAucJAEYQZmOfyLiM D6oYq+ZnfvM0n8G/Y79q8nhwvuxpYOnRSAXFp6xSkrIOeZtJMY1h00LKp/JX3Ng1svZ2agE126JHsQ0bhzN5TKsYfbwfTwfjdWAGy6Vf1nYi/rO+ryMO", - "kubernetesVersion": "1.17.0", - "totalNodeCount": 2, "agentVersion": "0.1.0", - "provisioningState": "Accepted", + "azureHybridBenefit": "NotApplicable", "distribution": "AKS", "distributionVersion": "1.0", - "azureHybridBenefit": "NotApplicable", "gateway": { "enabled": true, "resourceId": "/subscriptions/1bfbb5d0-917e-4346-9026-1d3b344417f5/resourceGroups/akkeshar/providers/Microsoft.HybridCompute/gateways/gateway1" - } - } + }, + "kubernetesVersion": "1.17.0", + "provisioningState": "Accepted", + "totalNodeCount": 2 + }, + "systemData": { + "createdAt": "2020-12-17T07:06:33.9173186Z", + "createdBy": "sikasire@microsoft.com", + "createdByType": "User", + "lastModifiedAt": "2020-12-17T07:06:33.9173186Z", + "lastModifiedBy": "sikasire@microsoft.com", + "lastModifiedByType": "User" + }, + "tags": {} } } - } -} + }, + "operationId": "ConnectedCluster_CreateOrReplace", + "title": "UpdateClusterByPutExample" +} \ No newline at end of file From f7d88926880c06d54c0096ec6dec879e82a68f89 Mon Sep 17 00:00:00 2001 From: melina5656 <140602263+melina5656@users.noreply.github.com> Date: Mon, 21 Apr 2025 16:36:39 +0800 Subject: [PATCH 03/20] fix sdk diff --- .../HybridKubernetes.Management/tspconfig.yaml | 1 - .../preview/2024-12-01-preview/connectedClusters.json | 3 +-- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/tspconfig.yaml b/specification/hybridkubernetes/HybridKubernetes.Management/tspconfig.yaml index 4706137fc91a..57233ba77ce4 100644 --- a/specification/hybridkubernetes/HybridKubernetes.Management/tspconfig.yaml +++ b/specification/hybridkubernetes/HybridKubernetes.Management/tspconfig.yaml @@ -2,7 +2,6 @@ emit: - "@azure-tools/typespec-autorest" options: "@azure-tools/typespec-autorest": - use-read-only-status-schema: true omit-unreachable-types: true emitter-output-dir: "{project-root}/.." azure-resource-provider-folder: "resource-manager" diff --git a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/connectedClusters.json b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/connectedClusters.json index a198f63bdf9c..befb0ffce5e6 100644 --- a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/connectedClusters.json +++ b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/connectedClusters.json @@ -1156,8 +1156,7 @@ "value": "Accepted" } ] - }, - "readOnly": true + } }, "SecurityProfile": { "type": "object", From a646a0cb15c7725a92958ae6027c296d22988fbf Mon Sep 17 00:00:00 2001 From: Pan Shao Date: Fri, 9 May 2025 16:50:26 +0800 Subject: [PATCH 04/20] update --- .../back-compatible.tsp | 2 - .../HybridKubernetes.Management/models.tsp | 10 ++--- .../2024-12-01-preview/connectedClusters.json | 44 ++++++++++++++++--- 3 files changed, 43 insertions(+), 13 deletions(-) diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/back-compatible.tsp b/specification/hybridkubernetes/HybridKubernetes.Management/back-compatible.tsp index f9349d08f53c..7d3286a2a5fd 100644 --- a/specification/hybridkubernetes/HybridKubernetes.Management/back-compatible.tsp +++ b/specification/hybridkubernetes/HybridKubernetes.Management/back-compatible.tsp @@ -3,8 +3,6 @@ import "@azure-tools/typespec-client-generator-core"; using Azure.ClientGenerator.Core; using Microsoft.Kubernetes; -@@clientName(AadProfile.enableAzureRBAC, "enableAzureRbac"); - #suppress "deprecated" "@flattenProperty decorator is not recommended to use." @@flattenProperty(ConnectedClusterPatch.properties); diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/models.tsp b/specification/hybridkubernetes/HybridKubernetes.Management/models.tsp index ac393ebeabb3..d6bd1c912b83 100644 --- a/specification/hybridkubernetes/HybridKubernetes.Management/models.tsp +++ b/specification/hybridkubernetes/HybridKubernetes.Management/models.tsp @@ -243,7 +243,7 @@ model ConnectedClusterProperties { /** * Indicates whether Azure Hybrid Benefit is opted in */ - azureHybridBenefit?: AzureHybridBenefit; + azureHybridBenefit?: AzureHybridBenefit = "NotApplicable"; /** * AAD profile for the connected cluster. @@ -268,12 +268,12 @@ model ConnectedClusterProperties { /** * Details of the gateway used by the Arc router for connectivity. */ - gateway?: Gateway; + gateway?: Gateway | null; /** * Configuration settings for customizing the behavior of the connected cluster. */ - arcAgentryConfigurations?: ArcAgentryConfigurations[]; + arcAgentryConfigurations?: ArcAgentryConfigurations[] | null; /** * More properties related to the Connected Cluster @@ -459,13 +459,13 @@ model ArcAgentryConfigurations { * The configuration settings for the feature that do not contain any sensitive or secret information. */ #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" - settings?: Record; + settings?: Record | null; /** * The configuration settings for the feature that contain any sensitive or secret information. */ #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" - protectedSettings?: Record; + protectedSettings?: Record | null; } /** diff --git a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/connectedClusters.json b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/connectedClusters.json index befb0ffce5e6..782db406be4b 100644 --- a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/connectedClusters.json +++ b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/connectedClusters.json @@ -493,8 +493,7 @@ "properties": { "enableAzureRBAC": { "type": "boolean", - "description": "Whether to enable Azure RBAC for Kubernetes authorization.", - "x-ms-client-name": "enableAzureRbac" + "description": "Whether to enable Azure RBAC for Kubernetes authorization." }, "adminGroupObjectIDs": { "type": "array", @@ -600,6 +599,7 @@ "settings": { "type": "object", "description": "The configuration settings for the feature that do not contain any sensitive or secret information.", + "x-nullable": true, "additionalProperties": { "type": "string" } @@ -607,6 +607,7 @@ "protectedSettings": { "type": "object", "description": "The configuration settings for the feature that contain any sensitive or secret information.", + "x-nullable": true, "additionalProperties": { "type": "string" } @@ -897,8 +898,32 @@ "description": "This is populated only if privateLinkState is enabled. The resource id of the private link scope this connected cluster is assigned to, if any." }, "azureHybridBenefit": { - "$ref": "#/definitions/AzureHybridBenefit", - "description": "Indicates whether Azure Hybrid Benefit is opted in" + "type": "string", + "description": "Indicates whether Azure Hybrid Benefit is opted in", + "default": "NotApplicable", + "enum": [ + "True", + "False", + "NotApplicable" + ], + "x-ms-enum": { + "name": "AzureHybridBenefit", + "modelAsString": true, + "values": [ + { + "name": "True", + "value": "True" + }, + { + "name": "False", + "value": "False" + }, + { + "name": "NotApplicable", + "value": "NotApplicable" + } + ] + } }, "aadProfile": { "$ref": "#/definitions/AadProfile", @@ -917,12 +942,19 @@ "description": "Open ID Connect (OIDC) Issuer Profile for the connected cluster." }, "gateway": { - "$ref": "#/definitions/Gateway", - "description": "Details of the gateway used by the Arc router for connectivity." + "type": "object", + "description": "Details of the gateway used by the Arc router for connectivity.", + "x-nullable": true, + "allOf": [ + { + "$ref": "#/definitions/Gateway" + } + ] }, "arcAgentryConfigurations": { "type": "array", "description": "Configuration settings for customizing the behavior of the connected cluster.", + "x-nullable": true, "items": { "$ref": "#/definitions/ArcAgentryConfigurations" }, From 11bd9d34fb015a8467ade129b51ed5ba649b3b7e Mon Sep 17 00:00:00 2001 From: melina5656 <140602263+melina5656@users.noreply.github.com> Date: Mon, 12 May 2025 10:25:47 +0800 Subject: [PATCH 05/20] run prettier and compile --- ...nnectedClustersListClusterCredentialResultCSPAAD.json | 2 +- ...ectedClustersListClusterCredentialResultCSPToken.json | 2 +- ...onnectedClustersListClusterCredentialResultHPAAD.json | 2 +- ...nectedClustersListClusterCredentialResultHPToken.json | 2 +- .../CreateClusterAgentless_KindAWSExample.json | 2 +- .../2024-12-01-preview/CreateClusterExample.json | 2 +- .../CreateClusterPrivateLinkExample.json | 2 +- .../2024-12-01-preview/CreateCluster_KindExample.json | 2 +- .../2024-12-01-preview/DeleteClusterExample.json | 2 +- .../examples/2024-12-01-preview/GetClusterExample.json | 2 +- .../GetClustersByResourceGroupExample.json | 2 +- .../GetClustersBySubscriptionExample.json | 2 +- .../2024-12-01-preview/GetProvisionedClusterExample.json | 2 +- .../ListConnectedClusterOperationsExample.json | 2 +- .../2024-12-01-preview/UpdateClusterByPatchExample.json | 2 +- .../2024-12-01-preview/UpdateClusterByPutExample.json | 2 +- .../preview/2024-12-01-preview/connectedClusters.json | 9 ++------- ...nnectedClustersListClusterCredentialResultCSPAAD.json | 2 +- ...ectedClustersListClusterCredentialResultCSPToken.json | 2 +- ...onnectedClustersListClusterCredentialResultHPAAD.json | 2 +- ...nectedClustersListClusterCredentialResultHPToken.json | 2 +- .../examples/CreateClusterAgentless_KindAWSExample.json | 2 +- .../examples/CreateClusterExample.json | 2 +- .../examples/CreateClusterPrivateLinkExample.json | 2 +- .../examples/CreateCluster_KindExample.json | 2 +- .../examples/DeleteClusterExample.json | 2 +- .../2024-12-01-preview/examples/GetClusterExample.json | 2 +- .../examples/GetClustersByResourceGroupExample.json | 2 +- .../examples/GetClustersBySubscriptionExample.json | 2 +- .../examples/GetProvisionedClusterExample.json | 2 +- .../examples/ListConnectedClusterOperationsExample.json | 2 +- .../examples/UpdateClusterByPatchExample.json | 2 +- .../examples/UpdateClusterByPutExample.json | 2 +- 33 files changed, 34 insertions(+), 39 deletions(-) diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/ConnectedClustersListClusterCredentialResultCSPAAD.json b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/ConnectedClustersListClusterCredentialResultCSPAAD.json index 892490c808cd..bd5b29722f7a 100644 --- a/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/ConnectedClustersListClusterCredentialResultCSPAAD.json +++ b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/ConnectedClustersListClusterCredentialResultCSPAAD.json @@ -31,4 +31,4 @@ }, "operationId": "ConnectedCluster_ListClusterUserCredential", "title": "ListClusterUserCredentialExample" -} \ No newline at end of file +} diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/ConnectedClustersListClusterCredentialResultCSPToken.json b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/ConnectedClustersListClusterCredentialResultCSPToken.json index e5e86ea402ab..b36726543f26 100644 --- a/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/ConnectedClustersListClusterCredentialResultCSPToken.json +++ b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/ConnectedClustersListClusterCredentialResultCSPToken.json @@ -31,4 +31,4 @@ }, "operationId": "ConnectedCluster_ListClusterUserCredential", "title": "ListClusterUserCredentialNonAadExample" -} \ No newline at end of file +} diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/ConnectedClustersListClusterCredentialResultHPAAD.json b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/ConnectedClustersListClusterCredentialResultHPAAD.json index c125f40bc0a3..5e6f17568a15 100644 --- a/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/ConnectedClustersListClusterCredentialResultHPAAD.json +++ b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/ConnectedClustersListClusterCredentialResultHPAAD.json @@ -23,4 +23,4 @@ }, "operationId": "ConnectedCluster_ListClusterUserCredential", "title": "ListClusterUserCredentialCSPExample" -} \ No newline at end of file +} diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/ConnectedClustersListClusterCredentialResultHPToken.json b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/ConnectedClustersListClusterCredentialResultHPToken.json index 1a7ac17eabf6..71e9bec81952 100644 --- a/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/ConnectedClustersListClusterCredentialResultHPToken.json +++ b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/ConnectedClustersListClusterCredentialResultHPToken.json @@ -23,4 +23,4 @@ }, "operationId": "ConnectedCluster_ListClusterUserCredential", "title": "ListClusterUserCredentialNonAadCSPExample" -} \ No newline at end of file +} diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/CreateClusterAgentless_KindAWSExample.json b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/CreateClusterAgentless_KindAWSExample.json index a27d1bc5f122..3c89e10deac9 100644 --- a/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/CreateClusterAgentless_KindAWSExample.json +++ b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/CreateClusterAgentless_KindAWSExample.json @@ -85,4 +85,4 @@ }, "operationId": "ConnectedCluster_CreateOrReplace", "title": "CreateClusterAgentless_KindAWSExample" -} \ No newline at end of file +} diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/CreateClusterExample.json b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/CreateClusterExample.json index 261f09ca5f62..df7c4f05b243 100644 --- a/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/CreateClusterExample.json +++ b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/CreateClusterExample.json @@ -82,4 +82,4 @@ }, "operationId": "ConnectedCluster_CreateOrReplace", "title": "CreateClusterExample" -} \ No newline at end of file +} diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/CreateClusterPrivateLinkExample.json b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/CreateClusterPrivateLinkExample.json index 27a23f83790a..06e571907fc3 100644 --- a/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/CreateClusterPrivateLinkExample.json +++ b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/CreateClusterPrivateLinkExample.json @@ -88,4 +88,4 @@ }, "operationId": "ConnectedCluster_CreateOrReplace", "title": "CreateClusterPrivateLinkExample" -} \ No newline at end of file +} diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/CreateCluster_KindExample.json b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/CreateCluster_KindExample.json index 149ab54a9cef..03368c02a1ce 100644 --- a/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/CreateCluster_KindExample.json +++ b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/CreateCluster_KindExample.json @@ -153,4 +153,4 @@ }, "operationId": "ConnectedCluster_CreateOrReplace", "title": "CreateCluster_KindExample" -} \ No newline at end of file +} diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/DeleteClusterExample.json b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/DeleteClusterExample.json index a2861dbb4a1c..aa4974a089c8 100644 --- a/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/DeleteClusterExample.json +++ b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/DeleteClusterExample.json @@ -17,4 +17,4 @@ }, "operationId": "ConnectedCluster_Delete", "title": "DeleteClusterExample" -} \ No newline at end of file +} diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/GetClusterExample.json b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/GetClusterExample.json index 8962f2789137..af5c4441eb19 100644 --- a/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/GetClusterExample.json +++ b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/GetClusterExample.json @@ -75,4 +75,4 @@ }, "operationId": "ConnectedCluster_Get", "title": "GetClusterExample" -} \ No newline at end of file +} diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/GetClustersByResourceGroupExample.json b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/GetClustersByResourceGroupExample.json index bf822a7adfb7..1cd1ea60a730 100644 --- a/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/GetClustersByResourceGroupExample.json +++ b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/GetClustersByResourceGroupExample.json @@ -86,4 +86,4 @@ }, "operationId": "ConnectedCluster_ListByResourceGroup", "title": "GetClustersExample" -} \ No newline at end of file +} diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/GetClustersBySubscriptionExample.json b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/GetClustersBySubscriptionExample.json index d54d3f8d4e66..f4d1daaddda8 100644 --- a/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/GetClustersBySubscriptionExample.json +++ b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/GetClustersBySubscriptionExample.json @@ -85,4 +85,4 @@ }, "operationId": "ConnectedCluster_ListBySubscription", "title": "GetClustersBySubscriptionExample" -} \ No newline at end of file +} diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/GetProvisionedClusterExample.json b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/GetProvisionedClusterExample.json index e405a5918cc0..68e6ccfadebb 100644 --- a/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/GetProvisionedClusterExample.json +++ b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/GetProvisionedClusterExample.json @@ -67,4 +67,4 @@ }, "operationId": "ConnectedCluster_Get", "title": "GetProvisionedClusterExample" -} \ No newline at end of file +} diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/ListConnectedClusterOperationsExample.json b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/ListConnectedClusterOperationsExample.json index 88b431556410..89e72939982c 100644 --- a/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/ListConnectedClusterOperationsExample.json +++ b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/ListConnectedClusterOperationsExample.json @@ -40,4 +40,4 @@ }, "operationId": "Operations_List", "title": "ListConnectedClusterOperationsExample" -} \ No newline at end of file +} diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/UpdateClusterByPatchExample.json b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/UpdateClusterByPatchExample.json index 22a9061c76d6..d7870b5cc45c 100644 --- a/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/UpdateClusterByPatchExample.json +++ b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/UpdateClusterByPatchExample.json @@ -54,4 +54,4 @@ }, "operationId": "ConnectedCluster_Update", "title": "UpdateClusterExample" -} \ No newline at end of file +} diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/UpdateClusterByPutExample.json b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/UpdateClusterByPutExample.json index e6dcfb5aac3c..5908d7677dfe 100644 --- a/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/UpdateClusterByPutExample.json +++ b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/UpdateClusterByPutExample.json @@ -94,4 +94,4 @@ }, "operationId": "ConnectedCluster_CreateOrReplace", "title": "UpdateClusterByPutExample" -} \ No newline at end of file +} diff --git a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/connectedClusters.json b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/connectedClusters.json index 782db406be4b..962a067b0471 100644 --- a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/connectedClusters.json +++ b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/connectedClusters.json @@ -942,14 +942,9 @@ "description": "Open ID Connect (OIDC) Issuer Profile for the connected cluster." }, "gateway": { - "type": "object", + "$ref": "#/definitions/Gateway", "description": "Details of the gateway used by the Arc router for connectivity.", - "x-nullable": true, - "allOf": [ - { - "$ref": "#/definitions/Gateway" - } - ] + "x-nullable": true }, "arcAgentryConfigurations": { "type": "array", diff --git a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/ConnectedClustersListClusterCredentialResultCSPAAD.json b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/ConnectedClustersListClusterCredentialResultCSPAAD.json index 892490c808cd..bd5b29722f7a 100644 --- a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/ConnectedClustersListClusterCredentialResultCSPAAD.json +++ b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/ConnectedClustersListClusterCredentialResultCSPAAD.json @@ -31,4 +31,4 @@ }, "operationId": "ConnectedCluster_ListClusterUserCredential", "title": "ListClusterUserCredentialExample" -} \ No newline at end of file +} diff --git a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/ConnectedClustersListClusterCredentialResultCSPToken.json b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/ConnectedClustersListClusterCredentialResultCSPToken.json index e5e86ea402ab..b36726543f26 100644 --- a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/ConnectedClustersListClusterCredentialResultCSPToken.json +++ b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/ConnectedClustersListClusterCredentialResultCSPToken.json @@ -31,4 +31,4 @@ }, "operationId": "ConnectedCluster_ListClusterUserCredential", "title": "ListClusterUserCredentialNonAadExample" -} \ No newline at end of file +} diff --git a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/ConnectedClustersListClusterCredentialResultHPAAD.json b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/ConnectedClustersListClusterCredentialResultHPAAD.json index c125f40bc0a3..5e6f17568a15 100644 --- a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/ConnectedClustersListClusterCredentialResultHPAAD.json +++ b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/ConnectedClustersListClusterCredentialResultHPAAD.json @@ -23,4 +23,4 @@ }, "operationId": "ConnectedCluster_ListClusterUserCredential", "title": "ListClusterUserCredentialCSPExample" -} \ No newline at end of file +} diff --git a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/ConnectedClustersListClusterCredentialResultHPToken.json b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/ConnectedClustersListClusterCredentialResultHPToken.json index 1a7ac17eabf6..71e9bec81952 100644 --- a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/ConnectedClustersListClusterCredentialResultHPToken.json +++ b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/ConnectedClustersListClusterCredentialResultHPToken.json @@ -23,4 +23,4 @@ }, "operationId": "ConnectedCluster_ListClusterUserCredential", "title": "ListClusterUserCredentialNonAadCSPExample" -} \ No newline at end of file +} diff --git a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/CreateClusterAgentless_KindAWSExample.json b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/CreateClusterAgentless_KindAWSExample.json index a27d1bc5f122..3c89e10deac9 100644 --- a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/CreateClusterAgentless_KindAWSExample.json +++ b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/CreateClusterAgentless_KindAWSExample.json @@ -85,4 +85,4 @@ }, "operationId": "ConnectedCluster_CreateOrReplace", "title": "CreateClusterAgentless_KindAWSExample" -} \ No newline at end of file +} diff --git a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/CreateClusterExample.json b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/CreateClusterExample.json index 261f09ca5f62..df7c4f05b243 100644 --- a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/CreateClusterExample.json +++ b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/CreateClusterExample.json @@ -82,4 +82,4 @@ }, "operationId": "ConnectedCluster_CreateOrReplace", "title": "CreateClusterExample" -} \ No newline at end of file +} diff --git a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/CreateClusterPrivateLinkExample.json b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/CreateClusterPrivateLinkExample.json index 27a23f83790a..06e571907fc3 100644 --- a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/CreateClusterPrivateLinkExample.json +++ b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/CreateClusterPrivateLinkExample.json @@ -88,4 +88,4 @@ }, "operationId": "ConnectedCluster_CreateOrReplace", "title": "CreateClusterPrivateLinkExample" -} \ No newline at end of file +} diff --git a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/CreateCluster_KindExample.json b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/CreateCluster_KindExample.json index 149ab54a9cef..03368c02a1ce 100644 --- a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/CreateCluster_KindExample.json +++ b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/CreateCluster_KindExample.json @@ -153,4 +153,4 @@ }, "operationId": "ConnectedCluster_CreateOrReplace", "title": "CreateCluster_KindExample" -} \ No newline at end of file +} diff --git a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/DeleteClusterExample.json b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/DeleteClusterExample.json index a2861dbb4a1c..aa4974a089c8 100644 --- a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/DeleteClusterExample.json +++ b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/DeleteClusterExample.json @@ -17,4 +17,4 @@ }, "operationId": "ConnectedCluster_Delete", "title": "DeleteClusterExample" -} \ No newline at end of file +} diff --git a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/GetClusterExample.json b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/GetClusterExample.json index 8962f2789137..af5c4441eb19 100644 --- a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/GetClusterExample.json +++ b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/GetClusterExample.json @@ -75,4 +75,4 @@ }, "operationId": "ConnectedCluster_Get", "title": "GetClusterExample" -} \ No newline at end of file +} diff --git a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/GetClustersByResourceGroupExample.json b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/GetClustersByResourceGroupExample.json index bf822a7adfb7..1cd1ea60a730 100644 --- a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/GetClustersByResourceGroupExample.json +++ b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/GetClustersByResourceGroupExample.json @@ -86,4 +86,4 @@ }, "operationId": "ConnectedCluster_ListByResourceGroup", "title": "GetClustersExample" -} \ No newline at end of file +} diff --git a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/GetClustersBySubscriptionExample.json b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/GetClustersBySubscriptionExample.json index d54d3f8d4e66..f4d1daaddda8 100644 --- a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/GetClustersBySubscriptionExample.json +++ b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/GetClustersBySubscriptionExample.json @@ -85,4 +85,4 @@ }, "operationId": "ConnectedCluster_ListBySubscription", "title": "GetClustersBySubscriptionExample" -} \ No newline at end of file +} diff --git a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/GetProvisionedClusterExample.json b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/GetProvisionedClusterExample.json index e405a5918cc0..68e6ccfadebb 100644 --- a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/GetProvisionedClusterExample.json +++ b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/GetProvisionedClusterExample.json @@ -67,4 +67,4 @@ }, "operationId": "ConnectedCluster_Get", "title": "GetProvisionedClusterExample" -} \ No newline at end of file +} diff --git a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/ListConnectedClusterOperationsExample.json b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/ListConnectedClusterOperationsExample.json index 88b431556410..89e72939982c 100644 --- a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/ListConnectedClusterOperationsExample.json +++ b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/ListConnectedClusterOperationsExample.json @@ -40,4 +40,4 @@ }, "operationId": "Operations_List", "title": "ListConnectedClusterOperationsExample" -} \ No newline at end of file +} diff --git a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/UpdateClusterByPatchExample.json b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/UpdateClusterByPatchExample.json index 22a9061c76d6..d7870b5cc45c 100644 --- a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/UpdateClusterByPatchExample.json +++ b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/UpdateClusterByPatchExample.json @@ -54,4 +54,4 @@ }, "operationId": "ConnectedCluster_Update", "title": "UpdateClusterExample" -} \ No newline at end of file +} diff --git a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/UpdateClusterByPutExample.json b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/UpdateClusterByPutExample.json index e6dcfb5aac3c..5908d7677dfe 100644 --- a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/UpdateClusterByPutExample.json +++ b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/UpdateClusterByPutExample.json @@ -94,4 +94,4 @@ }, "operationId": "ConnectedCluster_CreateOrReplace", "title": "UpdateClusterByPutExample" -} \ No newline at end of file +} From a3c15154fcc7d3fb186751603ea6fef34f174176 Mon Sep 17 00:00:00 2001 From: melina5656 <140602263+melina5656@users.noreply.github.com> Date: Mon, 12 May 2025 13:54:54 +0800 Subject: [PATCH 06/20] Fix some issues --- .../ConnectedCluster.tsp | 23 +++++++-- ...ListConnectedClusterOperationsExample.json | 2 +- .../HybridKubernetes.Management/main.tsp | 20 +++++++- .../HybridKubernetes.Management/models.tsp | 28 +++++++++++ .../tspconfig.yaml | 39 +++++++++++++++ .../2024-12-01-preview/connectedClusters.json | 50 ++++++++++++++----- ...ListConnectedClusterOperationsExample.json | 2 +- 7 files changed, 144 insertions(+), 20 deletions(-) diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/ConnectedCluster.tsp b/specification/hybridkubernetes/HybridKubernetes.Management/ConnectedCluster.tsp index e62618eb9728..d1bcf8d61fad 100644 --- a/specification/hybridkubernetes/HybridKubernetes.Management/ConnectedCluster.tsp +++ b/specification/hybridkubernetes/HybridKubernetes.Management/ConnectedCluster.tsp @@ -13,9 +13,12 @@ namespace Microsoft.Kubernetes; /** * Represents a connected cluster. */ +#suppress "@azure-tools/typespec-azure-core/no-private-usage" +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" +@Azure.ResourceManager.Private.armResourceInternal(ConnectedClusterProperties) +@TypeSpec.Http.Private.includeInapplicableMetadataInPayload(false) @subscriptionResource -model ConnectedCluster - is Azure.ResourceManager.TrackedResource { +model ConnectedCluster extends Foundations.TrackedResource { ...ResourceNameParameter< Resource = ConnectedCluster, KeyName = "clusterName", @@ -34,6 +37,14 @@ model ConnectedCluster */ #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility" kind?: ConnectedClusterKind; + + /** + * Properties of the connected cluster. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility" + @Azure.ResourceManager.Private.conditionalClientFlatten + @Azure.ResourceManager.Private.armResourcePropertiesOptionality(false) + properties: ConnectedClusterProperties; } @armResourceOperations @@ -89,7 +100,8 @@ interface ConnectedClusters { @operationId("ConnectedCluster_ListByResourceGroup") listByResourceGroup is ArmResourceListByParent< ConnectedCluster, - Azure.ResourceManager.Foundations.ResourceGroupBaseParameters + Azure.ResourceManager.Foundations.ResourceGroupBaseParameters, + Response = ArmResponse >; /** @@ -97,7 +109,10 @@ interface ConnectedClusters { */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" @operationId("ConnectedCluster_ListBySubscription") - listBySubscription is ArmListBySubscription; + listBySubscription is ArmListBySubscription< + ConnectedCluster, + Response = ArmResponse + >; /** * Gets cluster user credentials of the connected cluster with a specified resource group and name. diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/ListConnectedClusterOperationsExample.json b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/ListConnectedClusterOperationsExample.json index 89e72939982c..462fb4c26ba8 100644 --- a/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/ListConnectedClusterOperationsExample.json +++ b/specification/hybridkubernetes/HybridKubernetes.Management/examples/2024-12-01-preview/ListConnectedClusterOperationsExample.json @@ -38,6 +38,6 @@ } } }, - "operationId": "Operations_List", + "operationId": "Operations_Get", "title": "ListConnectedClusterOperationsExample" } diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/main.tsp b/specification/hybridkubernetes/HybridKubernetes.Management/main.tsp index 440aaa3531cd..726658f68a8a 100644 --- a/specification/hybridkubernetes/HybridKubernetes.Management/main.tsp +++ b/specification/hybridkubernetes/HybridKubernetes.Management/main.tsp @@ -21,6 +21,7 @@ using Azure.ResourceManager.Foundations; using Azure.Core; using Azure.ResourceManager; using TypeSpec.Versioning; +using TypeSpec.OpenAPI; /** * Azure Connected Cluster Resource Provider API for onboarding a Kubernetes Cluster to Azure Arc */ @@ -43,4 +44,21 @@ enum Versions { v2024_12_01_preview: "2024-12-01-preview", } -interface Operations extends Azure.ResourceManager.Operations {} +interface Operations { + #suppress "@azure-tools/typespec-azure-core/no-openapi" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" + @tag("Operations") + @autoRoute + @doc("List the operations for the provider") + @operationId("Operations_Get") + @segment("operations") + @get + list( + ...ApiVersionParameter, + + @path + @segment("providers") + @doc("The provider namespace (this parameter will not show up in operations).") + provider: "Microsoft.ThisWillBeReplaced", + ): ArmResponse | ErrorResponse; +} diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/models.tsp b/specification/hybridkubernetes/HybridKubernetes.Management/models.tsp index d6bd1c912b83..aaae498e41fe 100644 --- a/specification/hybridkubernetes/HybridKubernetes.Management/models.tsp +++ b/specification/hybridkubernetes/HybridKubernetes.Management/models.tsp @@ -187,6 +187,7 @@ model ConnectedClusterProperties { /** * Provisioning state of the connected cluster resource. */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" provisioningState?: ProvisioningState; /** @@ -268,11 +269,13 @@ model ConnectedClusterProperties { /** * Details of the gateway used by the Arc router for connectivity. */ + #suppress "@azure-tools/typespec-azure-core/no-nullable" gateway?: Gateway | null; /** * Configuration settings for customizing the behavior of the connected cluster. */ + #suppress "@azure-tools/typespec-azure-core/no-nullable" arcAgentryConfigurations?: ArcAgentryConfigurations[] | null; /** @@ -320,11 +323,13 @@ model ArcAgentProfile { /** * List of system extensions that are installed on the cluster resource. */ + #suppress "@azure-tools/typespec-azure-resource-manager/missing-x-ms-identifiers" systemComponents?: SystemComponent[]; /** * List of arc agentry and system components errors on the cluster resource. */ + #suppress "@azure-tools/typespec-azure-resource-manager/missing-x-ms-identifiers" agentErrors?: AgentError[]; /** @@ -458,12 +463,14 @@ model ArcAgentryConfigurations { /** * The configuration settings for the feature that do not contain any sensitive or secret information. */ + #suppress "@azure-tools/typespec-azure-core/no-nullable" #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" settings?: Record | null; /** * The configuration settings for the feature that contain any sensitive or secret information. */ + #suppress "@azure-tools/typespec-azure-core/no-nullable" #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" protectedSettings?: Record | null; } @@ -494,6 +501,7 @@ model Resource { /** * Object containing updates for patch operations. */ +#suppress "@azure-tools/typespec-azure-resource-manager/patch-envelope" model ConnectedClusterPatch { /** * Resource tags. @@ -622,3 +630,23 @@ model CredentialResult { * The paginated list of connected Clusters */ model ConnectedClusterList is Azure.Core.Page; + +/** + * The list of bot service operation response. + */ +@Azure.Core.pagedResult +model OperationList { + /** + * [Placeholder] Discription for page model + */ + @Azure.Core.items + @visibility(Lifecycle.Read) + @OpenAPI.extension("x-ms-identifiers", #["name"]) + value: Operation[]; + + /** + * [Placeholder] Discription for nextLink property + */ + @nextLink + nextLink?: string; +} diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/tspconfig.yaml b/specification/hybridkubernetes/HybridKubernetes.Management/tspconfig.yaml index 57233ba77ce4..fba945930ef8 100644 --- a/specification/hybridkubernetes/HybridKubernetes.Management/tspconfig.yaml +++ b/specification/hybridkubernetes/HybridKubernetes.Management/tspconfig.yaml @@ -1,3 +1,6 @@ +parameters: + "service-dir": + default: "sdk/hybridkubernetes" emit: - "@azure-tools/typespec-autorest" options: @@ -8,6 +11,42 @@ options: output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/connectedClusters.json" examples-dir: "{project-root}/examples" arm-resource-flattening: true + "@azure-tools/typespec-csharp": + flavor: azure + package-dir: "Azure.ResourceManager.Hybridkubernetes" + clear-output-folder: true + model-namespace: true + namespace: "{package-dir}" + "@azure-tools/typespec-python": + package-dir: "azure-mgmt-hybridkubernetes" + namespace: "azure.mgmt.hybridkubernetes" + generate-test: true + generate-sample: true + flavor: "azure" + "@azure-tools/typespec-java": + package-dir: "azure-resourcemanager-hybridkubernetes" + namespace: "com.azure.resourcemanager.hybridkubernetes" + service-name: "Hybridkubernetes" # human-readable service name, whitespace allowed + flavor: azure + "@azure-tools/typespec-ts": + package-dir: "arm-hybridkubernetes" + is-modular-library: true + flavor: "azure" + experimental-extensible-enums: true + package-details: + name: "@azure/arm-hybridkubernetes" + "@azure-tools/typespec-go": + service-dir: "sdk/resourcemanager/hybridkubernetes" + package-dir: "armhybridkubernetes" + module: "github.com/Azure/azure-sdk-for-go/{service-dir}/{package-dir}" + fix-const-stuttering: true + flavor: "azure" + generate-samples: true + generate-fakes: true + head-as-boolean: true + inject-spans: true linter: extends: - "@azure-tools/typespec-azure-rulesets/resource-manager" + disable: + "@azure-tools/typespec-azure-core/casing-style" : "backwards-compatibility" \ No newline at end of file diff --git a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/connectedClusters.json b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/connectedClusters.json index 962a067b0471..dffcd0b346da 100644 --- a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/connectedClusters.json +++ b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/connectedClusters.json @@ -49,7 +49,7 @@ "paths": { "/providers/Microsoft.Kubernetes/operations": { "get": { - "operationId": "Operations_List", + "operationId": "Operations_Get", "tags": [ "Operations" ], @@ -63,7 +63,7 @@ "200": { "description": "Azure operation completed successfully.", "schema": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/OperationListResult" + "$ref": "#/definitions/OperationList" } }, "default": { @@ -103,7 +103,7 @@ "200": { "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/ConnectedClusterListResult" + "$ref": "#/definitions/ConnectedClusterList" } }, "default": { @@ -146,7 +146,7 @@ "200": { "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/ConnectedClusterListResult" + "$ref": "#/definitions/ConnectedClusterList" } }, "default": { @@ -667,11 +667,6 @@ "type": "object", "description": "Represents a connected cluster.", "properties": { - "properties": { - "$ref": "#/definitions/ConnectedClusterProperties", - "description": "Describes the connected cluster resource properties.", - "x-ms-client-flatten": true - }, "identity": { "$ref": "#/definitions/ConnectedClusterIdentity", "description": "The identity of the connected cluster." @@ -679,11 +674,16 @@ "kind": { "$ref": "#/definitions/ConnectedClusterKind", "description": "The kind of connected cluster." + }, + "properties": { + "$ref": "#/definitions/ConnectedClusterProperties", + "description": "Describes the connected cluster resource properties.", + "x-ms-client-flatten": true } }, "required": [ - "properties", - "identity" + "identity", + "properties" ], "allOf": [ { @@ -745,9 +745,9 @@ ] } }, - "ConnectedClusterListResult": { + "ConnectedClusterList": { "type": "object", - "description": "The response of a ConnectedCluster list operation.", + "description": "The paginated list of connected Clusters", "properties": { "value": { "type": "array", @@ -1138,6 +1138,30 @@ } } }, + "OperationList": { + "type": "object", + "description": "The list of bot service operation response.", + "properties": { + "value": { + "type": "array", + "description": "[Placeholder] Discription for page model", + "items": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/Operation" + }, + "readOnly": true, + "x-ms-identifiers": [ + "name" + ] + }, + "nextLink": { + "type": "string", + "description": "[Placeholder] Discription for nextLink property" + } + }, + "required": [ + "value" + ] + }, "ProvisioningState": { "type": "string", "description": "The current deployment state of connectedClusters.", diff --git a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/ListConnectedClusterOperationsExample.json b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/ListConnectedClusterOperationsExample.json index 89e72939982c..462fb4c26ba8 100644 --- a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/ListConnectedClusterOperationsExample.json +++ b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/examples/ListConnectedClusterOperationsExample.json @@ -38,6 +38,6 @@ } } }, - "operationId": "Operations_List", + "operationId": "Operations_Get", "title": "ListConnectedClusterOperationsExample" } From edd55562df3d11f3f1f8671acec104146892d2fc Mon Sep 17 00:00:00 2001 From: Pan Shao Date: Mon, 12 May 2025 16:09:24 +0800 Subject: [PATCH 07/20] update --- .../HybridKubernetes.Management/back-compatible.tsp | 2 ++ .../hybridkubernetes/HybridKubernetes.Management/tspconfig.yaml | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/back-compatible.tsp b/specification/hybridkubernetes/HybridKubernetes.Management/back-compatible.tsp index 7d3286a2a5fd..694c43bd3ac4 100644 --- a/specification/hybridkubernetes/HybridKubernetes.Management/back-compatible.tsp +++ b/specification/hybridkubernetes/HybridKubernetes.Management/back-compatible.tsp @@ -17,3 +17,5 @@ using Microsoft.Kubernetes; ); #suppress "deprecated" "@flattenProperty decorator is not recommended to use." @@flattenProperty(ConnectedCluster.properties); + +@@scope(Operations, "!csharp"); diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/tspconfig.yaml b/specification/hybridkubernetes/HybridKubernetes.Management/tspconfig.yaml index fba945930ef8..ac0d3c3afd26 100644 --- a/specification/hybridkubernetes/HybridKubernetes.Management/tspconfig.yaml +++ b/specification/hybridkubernetes/HybridKubernetes.Management/tspconfig.yaml @@ -49,4 +49,4 @@ linter: extends: - "@azure-tools/typespec-azure-rulesets/resource-manager" disable: - "@azure-tools/typespec-azure-core/casing-style" : "backwards-compatibility" \ No newline at end of file + "@azure-tools/typespec-azure-core/casing-style": "backwards-compatibility" From 2390aa1fdd6c52edbc957cafd98132090c9c5fe5 Mon Sep 17 00:00:00 2001 From: Pan Shao Date: Mon, 12 May 2025 16:14:08 +0800 Subject: [PATCH 08/20] update --- .../HybridKubernetes.Management/back-compatible.tsp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/back-compatible.tsp b/specification/hybridkubernetes/HybridKubernetes.Management/back-compatible.tsp index 694c43bd3ac4..f0687e34efd0 100644 --- a/specification/hybridkubernetes/HybridKubernetes.Management/back-compatible.tsp +++ b/specification/hybridkubernetes/HybridKubernetes.Management/back-compatible.tsp @@ -18,4 +18,4 @@ using Microsoft.Kubernetes; #suppress "deprecated" "@flattenProperty decorator is not recommended to use." @@flattenProperty(ConnectedCluster.properties); -@@scope(Operations, "!csharp"); +@@scope(Operations.list, "!csharp"); From 68fc963968369ff326614fd3067e9075dbaccb4f Mon Sep 17 00:00:00 2001 From: melina5656 <140602263+melina5656@users.noreply.github.com> Date: Mon, 12 May 2025 16:55:04 +0800 Subject: [PATCH 09/20] update --- .../hybridkubernetes/HybridKubernetes.Management/models.tsp | 6 +++--- .../preview/2024-12-01-preview/connectedClusters.json | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/models.tsp b/specification/hybridkubernetes/HybridKubernetes.Management/models.tsp index aaae498e41fe..02c6d374c8da 100644 --- a/specification/hybridkubernetes/HybridKubernetes.Management/models.tsp +++ b/specification/hybridkubernetes/HybridKubernetes.Management/models.tsp @@ -632,12 +632,12 @@ model CredentialResult { model ConnectedClusterList is Azure.Core.Page; /** - * The list of bot service operation response. + * The paginated list of connected cluster API operations. */ @Azure.Core.pagedResult model OperationList { /** - * [Placeholder] Discription for page model + * The list of connected cluster API operations. */ @Azure.Core.items @visibility(Lifecycle.Read) @@ -645,7 +645,7 @@ model OperationList { value: Operation[]; /** - * [Placeholder] Discription for nextLink property + * The link to fetch the next page of connected cluster API operations. */ @nextLink nextLink?: string; diff --git a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/connectedClusters.json b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/connectedClusters.json index dffcd0b346da..15aed1863a9a 100644 --- a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/connectedClusters.json +++ b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/connectedClusters.json @@ -1140,11 +1140,11 @@ }, "OperationList": { "type": "object", - "description": "The list of bot service operation response.", + "description": "The paginated list of connected cluster API operations.", "properties": { "value": { "type": "array", - "description": "[Placeholder] Discription for page model", + "description": "The list of connected cluster API operations.", "items": { "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/Operation" }, @@ -1155,7 +1155,7 @@ }, "nextLink": { "type": "string", - "description": "[Placeholder] Discription for nextLink property" + "description": "The link to fetch the next page of connected cluster API operations." } }, "required": [ From 88dd673965de03f570f7c4915c95cb40e3c8d090 Mon Sep 17 00:00:00 2001 From: JiaqiZhang-Dev Date: Tue, 13 May 2025 10:02:22 +0800 Subject: [PATCH 10/20] add spell keyword --- specification/hybridkubernetes/cspell.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/specification/hybridkubernetes/cspell.yaml b/specification/hybridkubernetes/cspell.yaml index e8a1148c8443..2ea1a8470b30 100644 --- a/specification/hybridkubernetes/cspell.yaml +++ b/specification/hybridkubernetes/cspell.yaml @@ -11,4 +11,5 @@ words: - hybridkubernetes - occured - oidc + - armhybridkubernetes From 6c3e78fcb9f914b2160ac80532b3bdbce11d48df Mon Sep 17 00:00:00 2001 From: melina5656 <140602263+melina5656@users.noreply.github.com> Date: Fri, 6 Jun 2025 15:59:17 +0800 Subject: [PATCH 11/20] Delete conditionalClientFlatten --- .../HybridKubernetes.Management/ConnectedCluster.tsp | 1 - .../hybridkubernetes/HybridKubernetes.Management/models.tsp | 1 - .../hybridkubernetes/HybridKubernetes.Management/tspconfig.yaml | 1 - 3 files changed, 3 deletions(-) diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/ConnectedCluster.tsp b/specification/hybridkubernetes/HybridKubernetes.Management/ConnectedCluster.tsp index d1bcf8d61fad..378f7db7817c 100644 --- a/specification/hybridkubernetes/HybridKubernetes.Management/ConnectedCluster.tsp +++ b/specification/hybridkubernetes/HybridKubernetes.Management/ConnectedCluster.tsp @@ -42,7 +42,6 @@ model ConnectedCluster extends Foundations.TrackedResource { * Properties of the connected cluster. */ #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility" - @Azure.ResourceManager.Private.conditionalClientFlatten @Azure.ResourceManager.Private.armResourcePropertiesOptionality(false) properties: ConnectedClusterProperties; } diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/models.tsp b/specification/hybridkubernetes/HybridKubernetes.Management/models.tsp index 02c6d374c8da..9ee0b6c56fb8 100644 --- a/specification/hybridkubernetes/HybridKubernetes.Management/models.tsp +++ b/specification/hybridkubernetes/HybridKubernetes.Management/models.tsp @@ -513,7 +513,6 @@ model ConnectedClusterPatch { * Describes the connected cluster resource properties that can be updated during PATCH operation. */ #suppress "@azure-tools/typespec-azure-core/no-private-usage" "For backward compatibility" - @Azure.ResourceManager.Private.conditionalClientFlatten properties?: ConnectedClusterPatchProperties; } diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/tspconfig.yaml b/specification/hybridkubernetes/HybridKubernetes.Management/tspconfig.yaml index ac0d3c3afd26..9300fac3b587 100644 --- a/specification/hybridkubernetes/HybridKubernetes.Management/tspconfig.yaml +++ b/specification/hybridkubernetes/HybridKubernetes.Management/tspconfig.yaml @@ -10,7 +10,6 @@ options: azure-resource-provider-folder: "resource-manager" output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/connectedClusters.json" examples-dir: "{project-root}/examples" - arm-resource-flattening: true "@azure-tools/typespec-csharp": flavor: azure package-dir: "Azure.ResourceManager.Hybridkubernetes" From 2551e2b5441c18055303e0cb2ade935a6499cbbd Mon Sep 17 00:00:00 2001 From: mcgallan <1186003288@qq.com> Date: Fri, 6 Jun 2025 17:48:29 +0800 Subject: [PATCH 12/20] update --- .../ConnectedCluster.tsp | 4 ++-- .../HybridKubernetes.Management/main.tsp | 4 ++-- .../HybridKubernetes.Management/models.tsp | 19 +++++++++++-------- .../tspconfig.yaml | 2 -- 4 files changed, 15 insertions(+), 14 deletions(-) diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/ConnectedCluster.tsp b/specification/hybridkubernetes/HybridKubernetes.Management/ConnectedCluster.tsp index 378f7db7817c..c0f0ccc04417 100644 --- a/specification/hybridkubernetes/HybridKubernetes.Management/ConnectedCluster.tsp +++ b/specification/hybridkubernetes/HybridKubernetes.Management/ConnectedCluster.tsp @@ -13,8 +13,8 @@ namespace Microsoft.Kubernetes; /** * Represents a connected cluster. */ -#suppress "@azure-tools/typespec-azure-core/no-private-usage" -#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" +#suppress "@azure-tools/typespec-azure-core/no-private-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" @Azure.ResourceManager.Private.armResourceInternal(ConnectedClusterProperties) @TypeSpec.Http.Private.includeInapplicableMetadataInPayload(false) @subscriptionResource diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/main.tsp b/specification/hybridkubernetes/HybridKubernetes.Management/main.tsp index 726658f68a8a..b11efb7fda9b 100644 --- a/specification/hybridkubernetes/HybridKubernetes.Management/main.tsp +++ b/specification/hybridkubernetes/HybridKubernetes.Management/main.tsp @@ -45,8 +45,8 @@ enum Versions { } interface Operations { - #suppress "@azure-tools/typespec-azure-core/no-openapi" - #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "For backward compatibility" @tag("Operations") @autoRoute @doc("List the operations for the provider") diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/models.tsp b/specification/hybridkubernetes/HybridKubernetes.Management/models.tsp index 9ee0b6c56fb8..e9936137f91c 100644 --- a/specification/hybridkubernetes/HybridKubernetes.Management/models.tsp +++ b/specification/hybridkubernetes/HybridKubernetes.Management/models.tsp @@ -187,7 +187,7 @@ model ConnectedClusterProperties { /** * Provisioning state of the connected cluster resource. */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "For backward compatibility" provisioningState?: ProvisioningState; /** @@ -269,13 +269,13 @@ model ConnectedClusterProperties { /** * Details of the gateway used by the Arc router for connectivity. */ - #suppress "@azure-tools/typespec-azure-core/no-nullable" + #suppress "@azure-tools/typespec-azure-core/no-nullable" "For backward compatibility" gateway?: Gateway | null; /** * Configuration settings for customizing the behavior of the connected cluster. */ - #suppress "@azure-tools/typespec-azure-core/no-nullable" + #suppress "@azure-tools/typespec-azure-core/no-nullable" "For backward compatibility" arcAgentryConfigurations?: ArcAgentryConfigurations[] | null; /** @@ -293,16 +293,19 @@ model AadProfile { /** * Whether to enable Azure RBAC for Kubernetes authorization. */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" enableAzureRBAC?: boolean; /** * The list of AAD group object IDs that will have admin role of the cluster. */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" adminGroupObjectIDs?: string[]; /** * The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription. */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" tenantID?: string; } @@ -323,13 +326,13 @@ model ArcAgentProfile { /** * List of system extensions that are installed on the cluster resource. */ - #suppress "@azure-tools/typespec-azure-resource-manager/missing-x-ms-identifiers" + #suppress "@azure-tools/typespec-azure-resource-manager/missing-x-ms-identifiers" "For backward compatibility" systemComponents?: SystemComponent[]; /** * List of arc agentry and system components errors on the cluster resource. */ - #suppress "@azure-tools/typespec-azure-resource-manager/missing-x-ms-identifiers" + #suppress "@azure-tools/typespec-azure-resource-manager/missing-x-ms-identifiers" "For backward compatibility" agentErrors?: AgentError[]; /** @@ -463,14 +466,14 @@ model ArcAgentryConfigurations { /** * The configuration settings for the feature that do not contain any sensitive or secret information. */ - #suppress "@azure-tools/typespec-azure-core/no-nullable" + #suppress "@azure-tools/typespec-azure-core/no-nullable" "For backward compatibility" #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" settings?: Record | null; /** * The configuration settings for the feature that contain any sensitive or secret information. */ - #suppress "@azure-tools/typespec-azure-core/no-nullable" + #suppress "@azure-tools/typespec-azure-core/no-nullable" "For backward compatibility" #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" protectedSettings?: Record | null; } @@ -501,7 +504,7 @@ model Resource { /** * Object containing updates for patch operations. */ -#suppress "@azure-tools/typespec-azure-resource-manager/patch-envelope" +#suppress "@azure-tools/typespec-azure-resource-manager/patch-envelope" "For backward compatibility" model ConnectedClusterPatch { /** * Resource tags. diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/tspconfig.yaml b/specification/hybridkubernetes/HybridKubernetes.Management/tspconfig.yaml index 9300fac3b587..6e6bb0ddb798 100644 --- a/specification/hybridkubernetes/HybridKubernetes.Management/tspconfig.yaml +++ b/specification/hybridkubernetes/HybridKubernetes.Management/tspconfig.yaml @@ -47,5 +47,3 @@ options: linter: extends: - "@azure-tools/typespec-azure-rulesets/resource-manager" - disable: - "@azure-tools/typespec-azure-core/casing-style": "backwards-compatibility" From 2d908e619fc2e25713edeba503c194684a55f22a Mon Sep 17 00:00:00 2001 From: mcgallan <1186003288@qq.com> Date: Tue, 10 Jun 2025 14:54:46 +0800 Subject: [PATCH 13/20] update --- .../ConnectedCluster.tsp | 12 +-- .../HybridKubernetes.Management/main.tsp | 2 +- .../HybridKubernetes.Management/models.tsp | 94 +++++++++---------- 3 files changed, 54 insertions(+), 54 deletions(-) diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/ConnectedCluster.tsp b/specification/hybridkubernetes/HybridKubernetes.Management/ConnectedCluster.tsp index c0f0ccc04417..811ab3dfb60c 100644 --- a/specification/hybridkubernetes/HybridKubernetes.Management/ConnectedCluster.tsp +++ b/specification/hybridkubernetes/HybridKubernetes.Management/ConnectedCluster.tsp @@ -13,8 +13,8 @@ namespace Microsoft.Kubernetes; /** * Represents a connected cluster. */ -#suppress "@azure-tools/typespec-azure-core/no-private-usage" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-private-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @Azure.ResourceManager.Private.armResourceInternal(ConnectedClusterProperties) @TypeSpec.Http.Private.includeInapplicableMetadataInPayload(false) @subscriptionResource @@ -29,19 +29,19 @@ model ConnectedCluster extends Foundations.TrackedResource { /** * The identity of the connected cluster. */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" identity: ConnectedClusterIdentity; /** * The kind of connected cluster. */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" kind?: ConnectedClusterKind; /** * Properties of the connected cluster. */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @Azure.ResourceManager.Private.armResourcePropertiesOptionality(false) properties: ConnectedClusterProperties; } @@ -84,7 +84,7 @@ interface ConnectedClusters { * Delete a connected cluster, removing the tracked resource in Azure Resource Manager (ARM). */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" - #suppress "@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @operationId("ConnectedCluster_Delete") delete is ArmResourceDeleteWithoutOkAsync< ConnectedCluster, diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/main.tsp b/specification/hybridkubernetes/HybridKubernetes.Management/main.tsp index b11efb7fda9b..512986fa5d34 100644 --- a/specification/hybridkubernetes/HybridKubernetes.Management/main.tsp +++ b/specification/hybridkubernetes/HybridKubernetes.Management/main.tsp @@ -46,7 +46,7 @@ enum Versions { interface Operations { #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" - #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @tag("Operations") @autoRoute @doc("List the operations for the provider") diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/models.tsp b/specification/hybridkubernetes/HybridKubernetes.Management/models.tsp index e9936137f91c..6942550f6ac6 100644 --- a/specification/hybridkubernetes/HybridKubernetes.Management/models.tsp +++ b/specification/hybridkubernetes/HybridKubernetes.Management/models.tsp @@ -15,9 +15,9 @@ namespace Microsoft.Kubernetes; */ union ConnectedClusterKind { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" ProvisionedCluster: "ProvisionedCluster", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" AWS: "AWS", } @@ -26,19 +26,19 @@ union ConnectedClusterKind { */ union ProvisioningState { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Succeeded: "Succeeded", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Failed: "Failed", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Canceled: "Canceled", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Provisioning: "Provisioning", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Updating: "Updating", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Deleting: "Deleting", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Accepted: "Accepted", } @@ -47,15 +47,15 @@ union ProvisioningState { */ union ConnectivityStatus { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Connecting: "Connecting", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Connected: "Connected", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Offline: "Offline", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Expired: "Expired", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" AgentNotInstalled: "AgentNotInstalled", } @@ -64,9 +64,9 @@ union ConnectivityStatus { */ union PrivateLinkState { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Enabled: "Enabled", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Disabled: "Disabled", } @@ -75,11 +75,11 @@ union PrivateLinkState { */ union AzureHybridBenefit { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" True: "True", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" False: "False", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" NotApplicable: "NotApplicable", } @@ -88,9 +88,9 @@ union AzureHybridBenefit { */ union AutoUpgradeOptions { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Enabled: "Enabled", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Disabled: "Disabled", } @@ -99,13 +99,13 @@ union AutoUpgradeOptions { */ union LastModifiedByType { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" User: "User", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Application: "Application", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" ManagedIdentity: "ManagedIdentity", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Key: "Key", } @@ -114,16 +114,16 @@ union LastModifiedByType { */ union AuthenticationMethod { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Token: "Token", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" AAD: "AAD", } /** * The type of identity used for the connected cluster. The type 'SystemAssigned, includes a system created identity. The type 'None' means no identity is assigned to the connected cluster. */ -#suppress "@azure-tools/typespec-azure-core/no-enum" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-enum" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" enum ResourceIdentityType { None, SystemAssigned, @@ -187,7 +187,7 @@ model ConnectedClusterProperties { /** * Provisioning state of the connected cluster resource. */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" provisioningState?: ProvisioningState; /** @@ -269,19 +269,19 @@ model ConnectedClusterProperties { /** * Details of the gateway used by the Arc router for connectivity. */ - #suppress "@azure-tools/typespec-azure-core/no-nullable" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/no-nullable" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" gateway?: Gateway | null; /** * Configuration settings for customizing the behavior of the connected cluster. */ - #suppress "@azure-tools/typespec-azure-core/no-nullable" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/no-nullable" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" arcAgentryConfigurations?: ArcAgentryConfigurations[] | null; /** * More properties related to the Connected Cluster */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @visibility(Lifecycle.Read) miscellaneousProperties?: Record; } @@ -293,19 +293,19 @@ model AadProfile { /** * Whether to enable Azure RBAC for Kubernetes authorization. */ - #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" enableAzureRBAC?: boolean; /** * The list of AAD group object IDs that will have admin role of the cluster. */ - #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" adminGroupObjectIDs?: string[]; /** * The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription. */ - #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" tenantID?: string; } @@ -326,13 +326,13 @@ model ArcAgentProfile { /** * List of system extensions that are installed on the cluster resource. */ - #suppress "@azure-tools/typespec-azure-resource-manager/missing-x-ms-identifiers" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/missing-x-ms-identifiers" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" systemComponents?: SystemComponent[]; /** * List of arc agentry and system components errors on the cluster resource. */ - #suppress "@azure-tools/typespec-azure-resource-manager/missing-x-ms-identifiers" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/missing-x-ms-identifiers" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" agentErrors?: AgentError[]; /** @@ -439,7 +439,7 @@ model OidcIssuerProfile { selfHostedIssuerUrl?: string; } -#suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model Gateway { /** * Indicates whether the gateway for arc router connectivity is enabled. @@ -456,7 +456,7 @@ model Gateway { ]>; } -#suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model ArcAgentryConfigurations { /** * Specifies the name of the feature for the configuration setting. @@ -466,15 +466,15 @@ model ArcAgentryConfigurations { /** * The configuration settings for the feature that do not contain any sensitive or secret information. */ - #suppress "@azure-tools/typespec-azure-core/no-nullable" "For backward compatibility" - #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/no-nullable" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" settings?: Record | null; /** * The configuration settings for the feature that contain any sensitive or secret information. */ - #suppress "@azure-tools/typespec-azure-core/no-nullable" "For backward compatibility" - #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/no-nullable" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" protectedSettings?: Record | null; } @@ -504,18 +504,18 @@ model Resource { /** * Object containing updates for patch operations. */ -#suppress "@azure-tools/typespec-azure-resource-manager/patch-envelope" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/patch-envelope" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model ConnectedClusterPatch { /** * Resource tags. */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" tags?: Record; /** * Describes the connected cluster resource properties that can be updated during PATCH operation. */ - #suppress "@azure-tools/typespec-azure-core/no-private-usage" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/no-private-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" properties?: ConnectedClusterPatchProperties; } @@ -539,7 +539,7 @@ model ConnectedClusterPatchProperties { azureHybridBenefit?: AzureHybridBenefit; } -#suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model ListClusterUserCredentialProperties { /** * The mode of client authentication. From b27bbd35855e29dda41a0361681cf5d3c1630b1e Mon Sep 17 00:00:00 2001 From: Wenming Liu Date: Tue, 10 Jun 2025 16:16:09 +0800 Subject: [PATCH 14/20] update --- .../ConnectedCluster.tsp | 14 +++++++------- .../back-compatible.tsp | 4 ++-- .../HybridKubernetes.Management/main.tsp | 2 +- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/ConnectedCluster.tsp b/specification/hybridkubernetes/HybridKubernetes.Management/ConnectedCluster.tsp index 811ab3dfb60c..49aba3baf6d9 100644 --- a/specification/hybridkubernetes/HybridKubernetes.Management/ConnectedCluster.tsp +++ b/specification/hybridkubernetes/HybridKubernetes.Management/ConnectedCluster.tsp @@ -51,7 +51,7 @@ interface ConnectedClusters { /** * Returns the properties of the specified connected cluster, including name, identity, properties, and additional cluster details. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @operationId("ConnectedCluster_Get") get is ArmResourceRead< ConnectedCluster, @@ -61,7 +61,7 @@ interface ConnectedClusters { /** * API to register a new Kubernetes cluster and create or replace a connected cluster tracked resource in Azure Resource Manager (ARM). */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @operationId("ConnectedCluster_CreateOrReplace") createOrReplace is ArmResourceCreateOrReplaceAsync< ConnectedCluster, @@ -71,7 +71,7 @@ interface ConnectedClusters { /** * API to update certain properties of the connected cluster resource */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @patch(#{ implicitOptionality: false }) @operationId("ConnectedCluster_Update") update is ArmCustomPatchSync< @@ -83,7 +83,7 @@ interface ConnectedClusters { /** * Delete a connected cluster, removing the tracked resource in Azure Resource Manager (ARM). */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" #suppress "@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @operationId("ConnectedCluster_Delete") delete is ArmResourceDeleteWithoutOkAsync< @@ -95,7 +95,7 @@ interface ConnectedClusters { /** * API to enumerate registered connected K8s clusters under a Resource Group */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @operationId("ConnectedCluster_ListByResourceGroup") listByResourceGroup is ArmResourceListByParent< ConnectedCluster, @@ -106,7 +106,7 @@ interface ConnectedClusters { /** * API to enumerate registered connected K8s clusters under a Subscription */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @operationId("ConnectedCluster_ListBySubscription") listBySubscription is ArmListBySubscription< ConnectedCluster, @@ -116,7 +116,7 @@ interface ConnectedClusters { /** * Gets cluster user credentials of the connected cluster with a specified resource group and name. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @operationId("ConnectedCluster_ListClusterUserCredential") listClusterUserCredential is ArmResourceActionSync< ConnectedCluster, diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/back-compatible.tsp b/specification/hybridkubernetes/HybridKubernetes.Management/back-compatible.tsp index f0687e34efd0..005c56045c23 100644 --- a/specification/hybridkubernetes/HybridKubernetes.Management/back-compatible.tsp +++ b/specification/hybridkubernetes/HybridKubernetes.Management/back-compatible.tsp @@ -3,7 +3,7 @@ import "@azure-tools/typespec-client-generator-core"; using Azure.ClientGenerator.Core; using Microsoft.Kubernetes; -#suppress "deprecated" "@flattenProperty decorator is not recommended to use." +#suppress "deprecated" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@flattenProperty(ConnectedClusterPatch.properties); @@clientName(ConnectedClusters.createOrReplace::parameters.resource, @@ -15,7 +15,7 @@ using Microsoft.Kubernetes; @@clientName(ConnectedClusters.listClusterUserCredential::parameters.body, "Properties" ); -#suppress "deprecated" "@flattenProperty decorator is not recommended to use." +#suppress "deprecated" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@flattenProperty(ConnectedCluster.properties); @@scope(Operations.list, "!csharp"); diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/main.tsp b/specification/hybridkubernetes/HybridKubernetes.Management/main.tsp index 512986fa5d34..479baddf2d10 100644 --- a/specification/hybridkubernetes/HybridKubernetes.Management/main.tsp +++ b/specification/hybridkubernetes/HybridKubernetes.Management/main.tsp @@ -45,7 +45,7 @@ enum Versions { } interface Operations { - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @tag("Operations") @autoRoute From 8457d83ea27299221feeaeb3586cef5cf56f46d4 Mon Sep 17 00:00:00 2001 From: mcgallan <1186003288@qq.com> Date: Thu, 19 Jun 2025 16:48:45 +0800 Subject: [PATCH 15/20] update --- .../HybridKubernetes.Management/back-compatible.tsp | 12 ++++++++++++ .../2024-12-01-preview/connectedClusters.json | 9 +++------ 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/back-compatible.tsp b/specification/hybridkubernetes/HybridKubernetes.Management/back-compatible.tsp index 005c56045c23..588e502cb737 100644 --- a/specification/hybridkubernetes/HybridKubernetes.Management/back-compatible.tsp +++ b/specification/hybridkubernetes/HybridKubernetes.Management/back-compatible.tsp @@ -19,3 +19,15 @@ using Microsoft.Kubernetes; @@flattenProperty(ConnectedCluster.properties); @@scope(Operations.list, "!csharp"); + +// @@clientLocation decorators for operations with @operationId +@@clientLocation(Operations.list, Operations); +@@clientLocation(ConnectedClusters.get, "ConnectedCluster"); +@@clientLocation(ConnectedClusters.createOrReplace, "ConnectedCluster"); +@@clientLocation(ConnectedClusters.update, "ConnectedCluster"); +@@clientLocation(ConnectedClusters.delete, "ConnectedCluster"); +@@clientLocation(ConnectedClusters.listByResourceGroup, "ConnectedCluster"); +@@clientLocation(ConnectedClusters.listBySubscription, "ConnectedCluster"); +@@clientLocation(ConnectedClusters.listClusterUserCredential, + "ConnectedCluster" +); diff --git a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/connectedClusters.json b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/connectedClusters.json index 15aed1863a9a..a55b266e53c6 100644 --- a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/connectedClusters.json +++ b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-12-01-preview/connectedClusters.json @@ -571,16 +571,14 @@ "description": "List of system extensions that are installed on the cluster resource.", "items": { "$ref": "#/definitions/SystemComponent" - }, - "x-ms-identifiers": [] + } }, "agentErrors": { "type": "array", "description": "List of arc agentry and system components errors on the cluster resource.", "items": { "$ref": "#/definitions/AgentError" - }, - "x-ms-identifiers": [] + } }, "agentState": { "type": "string", @@ -952,8 +950,7 @@ "x-nullable": true, "items": { "$ref": "#/definitions/ArcAgentryConfigurations" - }, - "x-ms-identifiers": [] + } }, "miscellaneousProperties": { "type": "object", From f2bf9a5db3a084165d9f7af4f802b51db73ecbbd Mon Sep 17 00:00:00 2001 From: mcgallan <1186003288@qq.com> Date: Mon, 30 Jun 2025 17:39:19 +0800 Subject: [PATCH 16/20] update --- .../HybridKubernetes.Management/ConnectedCluster.tsp | 7 ------- .../HybridKubernetes.Management/back-compatible.tsp | 1 + .../hybridkubernetes/HybridKubernetes.Management/main.tsp | 1 - 3 files changed, 1 insertion(+), 8 deletions(-) diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/ConnectedCluster.tsp b/specification/hybridkubernetes/HybridKubernetes.Management/ConnectedCluster.tsp index 49aba3baf6d9..876a9df565b4 100644 --- a/specification/hybridkubernetes/HybridKubernetes.Management/ConnectedCluster.tsp +++ b/specification/hybridkubernetes/HybridKubernetes.Management/ConnectedCluster.tsp @@ -52,7 +52,6 @@ interface ConnectedClusters { * Returns the properties of the specified connected cluster, including name, identity, properties, and additional cluster details. */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - @operationId("ConnectedCluster_Get") get is ArmResourceRead< ConnectedCluster, BaseParameters = Azure.ResourceManager.Foundations.ResourceGroupBaseParameters @@ -62,7 +61,6 @@ interface ConnectedClusters { * API to register a new Kubernetes cluster and create or replace a connected cluster tracked resource in Azure Resource Manager (ARM). */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - @operationId("ConnectedCluster_CreateOrReplace") createOrReplace is ArmResourceCreateOrReplaceAsync< ConnectedCluster, BaseParameters = Azure.ResourceManager.Foundations.ResourceGroupBaseParameters @@ -73,7 +71,6 @@ interface ConnectedClusters { */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @patch(#{ implicitOptionality: false }) - @operationId("ConnectedCluster_Update") update is ArmCustomPatchSync< ConnectedCluster, PatchModel = ConnectedClusterPatch, @@ -85,7 +82,6 @@ interface ConnectedClusters { */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" #suppress "@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - @operationId("ConnectedCluster_Delete") delete is ArmResourceDeleteWithoutOkAsync< ConnectedCluster, BaseParameters = Azure.ResourceManager.Foundations.ResourceGroupBaseParameters, @@ -96,7 +92,6 @@ interface ConnectedClusters { * API to enumerate registered connected K8s clusters under a Resource Group */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - @operationId("ConnectedCluster_ListByResourceGroup") listByResourceGroup is ArmResourceListByParent< ConnectedCluster, Azure.ResourceManager.Foundations.ResourceGroupBaseParameters, @@ -107,7 +102,6 @@ interface ConnectedClusters { * API to enumerate registered connected K8s clusters under a Subscription */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - @operationId("ConnectedCluster_ListBySubscription") listBySubscription is ArmListBySubscription< ConnectedCluster, Response = ArmResponse @@ -117,7 +111,6 @@ interface ConnectedClusters { * Gets cluster user credentials of the connected cluster with a specified resource group and name. */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - @operationId("ConnectedCluster_ListClusterUserCredential") listClusterUserCredential is ArmResourceActionSync< ConnectedCluster, ListClusterUserCredentialProperties, diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/back-compatible.tsp b/specification/hybridkubernetes/HybridKubernetes.Management/back-compatible.tsp index 588e502cb737..8f7bd5eb9cde 100644 --- a/specification/hybridkubernetes/HybridKubernetes.Management/back-compatible.tsp +++ b/specification/hybridkubernetes/HybridKubernetes.Management/back-compatible.tsp @@ -22,6 +22,7 @@ using Microsoft.Kubernetes; // @@clientLocation decorators for operations with @operationId @@clientLocation(Operations.list, Operations); +@@clientName(Operations.list, "Get"); @@clientLocation(ConnectedClusters.get, "ConnectedCluster"); @@clientLocation(ConnectedClusters.createOrReplace, "ConnectedCluster"); @@clientLocation(ConnectedClusters.update, "ConnectedCluster"); diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/main.tsp b/specification/hybridkubernetes/HybridKubernetes.Management/main.tsp index 479baddf2d10..ca208540fcc9 100644 --- a/specification/hybridkubernetes/HybridKubernetes.Management/main.tsp +++ b/specification/hybridkubernetes/HybridKubernetes.Management/main.tsp @@ -50,7 +50,6 @@ interface Operations { @tag("Operations") @autoRoute @doc("List the operations for the provider") - @operationId("Operations_Get") @segment("operations") @get list( From 9c98890f557047bc9fcb66b26bb2500c54ca34b2 Mon Sep 17 00:00:00 2001 From: Pan Shao Date: Thu, 3 Jul 2025 17:02:08 +0800 Subject: [PATCH 17/20] update --- .../HybridKubernetes.Management/ConnectedCluster.tsp | 7 ------- .../hybridkubernetes/HybridKubernetes.Management/main.tsp | 1 - 2 files changed, 8 deletions(-) diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/ConnectedCluster.tsp b/specification/hybridkubernetes/HybridKubernetes.Management/ConnectedCluster.tsp index 876a9df565b4..6891da73b916 100644 --- a/specification/hybridkubernetes/HybridKubernetes.Management/ConnectedCluster.tsp +++ b/specification/hybridkubernetes/HybridKubernetes.Management/ConnectedCluster.tsp @@ -51,7 +51,6 @@ interface ConnectedClusters { /** * Returns the properties of the specified connected cluster, including name, identity, properties, and additional cluster details. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" get is ArmResourceRead< ConnectedCluster, BaseParameters = Azure.ResourceManager.Foundations.ResourceGroupBaseParameters @@ -60,7 +59,6 @@ interface ConnectedClusters { /** * API to register a new Kubernetes cluster and create or replace a connected cluster tracked resource in Azure Resource Manager (ARM). */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" createOrReplace is ArmResourceCreateOrReplaceAsync< ConnectedCluster, BaseParameters = Azure.ResourceManager.Foundations.ResourceGroupBaseParameters @@ -69,7 +67,6 @@ interface ConnectedClusters { /** * API to update certain properties of the connected cluster resource */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @patch(#{ implicitOptionality: false }) update is ArmCustomPatchSync< ConnectedCluster, @@ -80,7 +77,6 @@ interface ConnectedClusters { /** * Delete a connected cluster, removing the tracked resource in Azure Resource Manager (ARM). */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" #suppress "@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" delete is ArmResourceDeleteWithoutOkAsync< ConnectedCluster, @@ -91,7 +87,6 @@ interface ConnectedClusters { /** * API to enumerate registered connected K8s clusters under a Resource Group */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" listByResourceGroup is ArmResourceListByParent< ConnectedCluster, Azure.ResourceManager.Foundations.ResourceGroupBaseParameters, @@ -101,7 +96,6 @@ interface ConnectedClusters { /** * API to enumerate registered connected K8s clusters under a Subscription */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" listBySubscription is ArmListBySubscription< ConnectedCluster, Response = ArmResponse @@ -110,7 +104,6 @@ interface ConnectedClusters { /** * Gets cluster user credentials of the connected cluster with a specified resource group and name. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" listClusterUserCredential is ArmResourceActionSync< ConnectedCluster, ListClusterUserCredentialProperties, diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/main.tsp b/specification/hybridkubernetes/HybridKubernetes.Management/main.tsp index ca208540fcc9..bcf23a91d34f 100644 --- a/specification/hybridkubernetes/HybridKubernetes.Management/main.tsp +++ b/specification/hybridkubernetes/HybridKubernetes.Management/main.tsp @@ -45,7 +45,6 @@ enum Versions { } interface Operations { - #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @tag("Operations") @autoRoute From 20ff47b04e5208c0f2ff5e359f59ea47dcad0095 Mon Sep 17 00:00:00 2001 From: Arcturus Zhang Date: Fri, 4 Jul 2025 16:13:35 +0800 Subject: [PATCH 18/20] fix namespace issue --- .../hybridkubernetes/HybridKubernetes.Management/tspconfig.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/tspconfig.yaml b/specification/hybridkubernetes/HybridKubernetes.Management/tspconfig.yaml index 6e6bb0ddb798..eca38829eb99 100644 --- a/specification/hybridkubernetes/HybridKubernetes.Management/tspconfig.yaml +++ b/specification/hybridkubernetes/HybridKubernetes.Management/tspconfig.yaml @@ -12,7 +12,7 @@ options: examples-dir: "{project-root}/examples" "@azure-tools/typespec-csharp": flavor: azure - package-dir: "Azure.ResourceManager.Hybridkubernetes" + package-dir: "Azure.ResourceManager.Kubernetes" clear-output-folder: true model-namespace: true namespace: "{package-dir}" From 98fce3a244c9a5b1d9c9af39eec9eb06fbc1f1e1 Mon Sep 17 00:00:00 2001 From: Arcturus Zhang Date: Fri, 4 Jul 2025 16:13:57 +0800 Subject: [PATCH 19/20] fix resource detection --- .../back-compatible.tsp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/back-compatible.tsp b/specification/hybridkubernetes/HybridKubernetes.Management/back-compatible.tsp index 8f7bd5eb9cde..d5280e7039a3 100644 --- a/specification/hybridkubernetes/HybridKubernetes.Management/back-compatible.tsp +++ b/specification/hybridkubernetes/HybridKubernetes.Management/back-compatible.tsp @@ -23,12 +23,12 @@ using Microsoft.Kubernetes; // @@clientLocation decorators for operations with @operationId @@clientLocation(Operations.list, Operations); @@clientName(Operations.list, "Get"); -@@clientLocation(ConnectedClusters.get, "ConnectedCluster"); -@@clientLocation(ConnectedClusters.createOrReplace, "ConnectedCluster"); -@@clientLocation(ConnectedClusters.update, "ConnectedCluster"); -@@clientLocation(ConnectedClusters.delete, "ConnectedCluster"); -@@clientLocation(ConnectedClusters.listByResourceGroup, "ConnectedCluster"); -@@clientLocation(ConnectedClusters.listBySubscription, "ConnectedCluster"); +@@clientLocation(ConnectedClusters.get, "ConnectedCluster", "!csharp"); +@@clientLocation(ConnectedClusters.createOrReplace, "ConnectedCluster", "!csharp"); +@@clientLocation(ConnectedClusters.update, "ConnectedCluster", "!csharp"); +@@clientLocation(ConnectedClusters.delete, "ConnectedCluster", "!csharp"); +@@clientLocation(ConnectedClusters.listByResourceGroup, "ConnectedCluster", "!csharp"); +@@clientLocation(ConnectedClusters.listBySubscription, "ConnectedCluster", "!csharp"); @@clientLocation(ConnectedClusters.listClusterUserCredential, - "ConnectedCluster" + "ConnectedCluster", "!csharp" ); From 59f1103a5d1b076e830ad4bd2f039db2a2118c84 Mon Sep 17 00:00:00 2001 From: Arcturus Zhang Date: Fri, 4 Jul 2025 16:14:51 +0800 Subject: [PATCH 20/20] format --- .../back-compatible.tsp | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/specification/hybridkubernetes/HybridKubernetes.Management/back-compatible.tsp b/specification/hybridkubernetes/HybridKubernetes.Management/back-compatible.tsp index d5280e7039a3..e17cc04b0244 100644 --- a/specification/hybridkubernetes/HybridKubernetes.Management/back-compatible.tsp +++ b/specification/hybridkubernetes/HybridKubernetes.Management/back-compatible.tsp @@ -24,11 +24,21 @@ using Microsoft.Kubernetes; @@clientLocation(Operations.list, Operations); @@clientName(Operations.list, "Get"); @@clientLocation(ConnectedClusters.get, "ConnectedCluster", "!csharp"); -@@clientLocation(ConnectedClusters.createOrReplace, "ConnectedCluster", "!csharp"); +@@clientLocation(ConnectedClusters.createOrReplace, + "ConnectedCluster", + "!csharp" +); @@clientLocation(ConnectedClusters.update, "ConnectedCluster", "!csharp"); @@clientLocation(ConnectedClusters.delete, "ConnectedCluster", "!csharp"); -@@clientLocation(ConnectedClusters.listByResourceGroup, "ConnectedCluster", "!csharp"); -@@clientLocation(ConnectedClusters.listBySubscription, "ConnectedCluster", "!csharp"); +@@clientLocation(ConnectedClusters.listByResourceGroup, + "ConnectedCluster", + "!csharp" +); +@@clientLocation(ConnectedClusters.listBySubscription, + "ConnectedCluster", + "!csharp" +); @@clientLocation(ConnectedClusters.listClusterUserCredential, - "ConnectedCluster", "!csharp" + "ConnectedCluster", + "!csharp" );