From 51bf99aaafdbb7844087f0e1d4eb05dd74b86e77 Mon Sep 17 00:00:00 2001 From: Arthur Ma Date: Wed, 11 Sep 2024 09:56:12 +0800 Subject: [PATCH 1/3] Add client setting for ContainerOrchestratorRuntime --- .../KubernetesRuntime.Management/client.tsp | 8 ++++++++ .../KubernetesRuntime.Management/tspconfig.yaml | 5 +++++ 2 files changed, 13 insertions(+) create mode 100644 specification/kubernetesruntime/KubernetesRuntime.Management/client.tsp diff --git a/specification/kubernetesruntime/KubernetesRuntime.Management/client.tsp b/specification/kubernetesruntime/KubernetesRuntime.Management/client.tsp new file mode 100644 index 000000000000..3df85e508bc5 --- /dev/null +++ b/specification/kubernetesruntime/KubernetesRuntime.Management/client.tsp @@ -0,0 +1,8 @@ +import "./main.tsp"; +import "@azure-tools/typespec-client-generator-core"; + +using Azure.ClientGenerator.Core; +using Azure.ResourceManager.CommonTypes; +using Microsoft.KubernetesRuntime; + +@@access(Operations.list, Access.internal, "csharp"); \ No newline at end of file diff --git a/specification/kubernetesruntime/KubernetesRuntime.Management/tspconfig.yaml b/specification/kubernetesruntime/KubernetesRuntime.Management/tspconfig.yaml index 2b176a8d0be5..041013e6d5ce 100644 --- a/specification/kubernetesruntime/KubernetesRuntime.Management/tspconfig.yaml +++ b/specification/kubernetesruntime/KubernetesRuntime.Management/tspconfig.yaml @@ -13,6 +13,11 @@ options: examples-directory: "{project-root}/examples" output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/kubernetesruntime.json" use-read-only-status-schema: true + "@azure-tools/typespec-csharp": + package-dir: "Azure.ResourceManager.ContainerOrchestratorRuntime" + flavor: azure + clear-output-folder: true + namespace: "{package-dir}" linter: extends: From 4bb7f367521681118a4123c6d80489f2606cab49 Mon Sep 17 00:00:00 2001 From: Arthur Ma Date: Fri, 27 Sep 2024 15:08:40 +0800 Subject: [PATCH 2/3] Update the client.tsp for releasing .Net SDK --- .../KubernetesRuntime.Management/client.tsp | 26 +++++++++++++++++++ .../KubernetesRuntime.Management/common.tsp | 1 + .../KubernetesRuntime.Management/service.tsp | 3 ++- .../tspconfig.yaml | 1 + .../2023-10-01-preview/kubernetesruntime.json | 7 ++++- .../stable/2024-03-01/kubernetesruntime.json | 7 ++++- 6 files changed, 42 insertions(+), 3 deletions(-) diff --git a/specification/kubernetesruntime/KubernetesRuntime.Management/client.tsp b/specification/kubernetesruntime/KubernetesRuntime.Management/client.tsp index b6c78e232e16..03b2ce894b4b 100644 --- a/specification/kubernetesruntime/KubernetesRuntime.Management/client.tsp +++ b/specification/kubernetesruntime/KubernetesRuntime.Management/client.tsp @@ -9,3 +9,29 @@ using Microsoft.KubernetesRuntime; "ContainerOrchestratorRuntimeMgmt", "python" ); + +@@clientName(AccessMode, "StorageClassAccessMode", "csharp"); +@@clientName(AdvertiseMode.ARP, "Arp", "csharp"); +@@clientName(AdvertiseMode.BGP, "Bgp", "csharp"); +@@clientName(BgpPeer, "ConnectedClusterBgpPeer", "csharp"); +@@clientName(BgpPeerProperties, "ConnectedClusterBgpPeerProperties", "csharp"); +@@clientName(LoadBalancer, "ConnectedClusterLoadBalancer", "csharp"); +@@clientName(LoadBalancerProperties, + "ConnectedClusterLoadBalancerProperties", + "csharp" +); +@@clientName(ServiceResource, "ConnectedClusterService", "csharp"); +@@clientName(ServiceProperties, "ConnectedClusterServiceProperties", "csharp"); +@@clientName(StorageClassResource, "ConnectedClusterStorageClass", "csharp"); +@@clientName(StorageClassProperties, + "ConnectedClusterStorageClassProperties", + "csharp" +); +@@clientName(ProvisioningState, + "ContainerOrchestratorProvisioningState", + "csharp" +); +@@clientName(SCType, "StorageClassType", "csharp"); +@@clientName(SCType.RWX, "Rwx", "csharp"); +@@clientName(SCType.NFS, "Nfs", "csharp"); +@@clientName(SCType.SMB, "Smb", "csharp"); diff --git a/specification/kubernetesruntime/KubernetesRuntime.Management/common.tsp b/specification/kubernetesruntime/KubernetesRuntime.Management/common.tsp index 65a0cbfcc851..c98fc6b2ad66 100644 --- a/specification/kubernetesruntime/KubernetesRuntime.Management/common.tsp +++ b/specification/kubernetesruntime/KubernetesRuntime.Management/common.tsp @@ -20,6 +20,7 @@ namespace Microsoft.KubernetesRuntime; @doc("Versions of KubernetesRuntime service") enum Versions { @useDependency(Azure.ResourceManager.Versions.v1_0_Preview_1) + @useDependency(Azure.Core.Versions.v1_0_Preview_2) @doc("2023-10-01-preview") v2023_10_01_preview: "2023-10-01-preview", diff --git a/specification/kubernetesruntime/KubernetesRuntime.Management/service.tsp b/specification/kubernetesruntime/KubernetesRuntime.Management/service.tsp index 79b1700e0f9c..16bf30a3c455 100644 --- a/specification/kubernetesruntime/KubernetesRuntime.Management/service.tsp +++ b/specification/kubernetesruntime/KubernetesRuntime.Management/service.tsp @@ -3,6 +3,7 @@ import "./common.tsp"; using TypeSpec.Http; using TypeSpec.Rest; using TypeSpec.Versioning; +using Azure.Core; using Azure.ResourceManager; namespace Microsoft.KubernetesRuntime; @@ -11,7 +12,7 @@ namespace Microsoft.KubernetesRuntime; model ServiceProperties { @doc("The object id of the service principal of the RP provisioned in the tenant") @visibility("read") - rpObjectId?: string; + rpObjectId?: uuid; @doc("Resource provision state") @visibility("read") diff --git a/specification/kubernetesruntime/KubernetesRuntime.Management/tspconfig.yaml b/specification/kubernetesruntime/KubernetesRuntime.Management/tspconfig.yaml index da888794e28f..1c89a861b83e 100644 --- a/specification/kubernetesruntime/KubernetesRuntime.Management/tspconfig.yaml +++ b/specification/kubernetesruntime/KubernetesRuntime.Management/tspconfig.yaml @@ -18,6 +18,7 @@ options: package-dir: "Azure.ResourceManager.ContainerOrchestratorRuntime" flavor: azure clear-output-folder: true + use-write-core: true namespace: "{package-dir}" "@azure-tools/typespec-python": package-dir: "azure-mgmt-containerorchestratorruntime" diff --git a/specification/kubernetesruntime/resource-manager/Microsoft.KubernetesRuntime/preview/2023-10-01-preview/kubernetesruntime.json b/specification/kubernetesruntime/resource-manager/Microsoft.KubernetesRuntime/preview/2023-10-01-preview/kubernetesruntime.json index 49d50221a434..6f3bdba114ae 100644 --- a/specification/kubernetesruntime/resource-manager/Microsoft.KubernetesRuntime/preview/2023-10-01-preview/kubernetesruntime.json +++ b/specification/kubernetesruntime/resource-manager/Microsoft.KubernetesRuntime/preview/2023-10-01-preview/kubernetesruntime.json @@ -1022,6 +1022,11 @@ ] } }, + "Azure.Core.uuid": { + "type": "string", + "format": "uuid", + "description": "Universally Unique Identifier" + }, "BgpPeer": { "type": "object", "description": "A BgpPeer resource for an Arc connected cluster (Microsoft.Kubernetes/connectedClusters)", @@ -1478,7 +1483,7 @@ "description": "Properties for the service resource", "properties": { "rpObjectId": { - "type": "string", + "$ref": "#/definitions/Azure.Core.uuid", "description": "The object id of the service principal of the RP provisioned in the tenant", "readOnly": true }, diff --git a/specification/kubernetesruntime/resource-manager/Microsoft.KubernetesRuntime/stable/2024-03-01/kubernetesruntime.json b/specification/kubernetesruntime/resource-manager/Microsoft.KubernetesRuntime/stable/2024-03-01/kubernetesruntime.json index a890d90a7748..b101c568c5f8 100644 --- a/specification/kubernetesruntime/resource-manager/Microsoft.KubernetesRuntime/stable/2024-03-01/kubernetesruntime.json +++ b/specification/kubernetesruntime/resource-manager/Microsoft.KubernetesRuntime/stable/2024-03-01/kubernetesruntime.json @@ -992,6 +992,11 @@ ] } }, + "Azure.Core.uuid": { + "type": "string", + "format": "uuid", + "description": "Universally Unique Identifier" + }, "BgpPeer": { "type": "object", "description": "A BgpPeer resource for an Arc connected cluster (Microsoft.Kubernetes/connectedClusters)", @@ -1455,7 +1460,7 @@ "description": "Properties for the service resource", "properties": { "rpObjectId": { - "type": "string", + "$ref": "#/definitions/Azure.Core.uuid", "description": "The object id of the service principal of the RP provisioned in the tenant", "readOnly": true }, From c5d7a23bb299f957dde206b8a5658e3f8d87f968 Mon Sep 17 00:00:00 2001 From: Junda Chen Date: Thu, 10 Oct 2024 10:00:33 +0800 Subject: [PATCH 3/3] add suppression --- specification/kubernetesruntime/resource-manager/readme.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/specification/kubernetesruntime/resource-manager/readme.md b/specification/kubernetesruntime/resource-manager/readme.md index 822f278b2a47..5f34a4ddaac9 100644 --- a/specification/kubernetesruntime/resource-manager/readme.md +++ b/specification/kubernetesruntime/resource-manager/readme.md @@ -33,6 +33,10 @@ suppressions: - code: ConsistentPatchProperties from: kubernetesruntime.json reason: The tooling doens't check properties in derived models of discriminated unions. + - code: GuidUsage + from: kubernetesruntime.json + where: $.definitions["Azure.Core.uuid"].format + reason: The definition is used for AAD object ids, which are UUIDs. ``` ### Tag: package-preview-2023-10-01