From d725641eef818ed8d2ffd563562242dcb8733879 Mon Sep 17 00:00:00 2001 From: cadenmarchese Date: Mon, 22 Jul 2024 09:56:54 -0400 Subject: [PATCH 01/27] api changes --- pkg/api/admin/openshiftcluster.go | 2 ++ pkg/api/openshiftcluster.go | 3 ++- pkg/api/v20240812preview/openshiftcluster.go | 2 ++ .../redhatopenshift/models.go | 8 ++++++ .../v2024_08_12_preview/models/_models.py | 12 +++++++++ .../v2024_08_12_preview/models/_models_py3.py | 14 ++++++++++ .../2024-08-12-preview/redhatopenshift.json | 8 ++++++ .../openshiftclusters/readme.md | 27 +++++++++++++++++++ 8 files changed, 75 insertions(+), 1 deletion(-) diff --git a/pkg/api/admin/openshiftcluster.go b/pkg/api/admin/openshiftcluster.go index 2a209eb4bb5..53ce4460bcd 100644 --- a/pkg/api/admin/openshiftcluster.go +++ b/pkg/api/admin/openshiftcluster.go @@ -446,6 +446,8 @@ type UserAssignedIdentities map[string]ClusterUserAssignedIdentity // Identity stores information about the cluster MSI(s) in a workload identity cluster. type Identity struct { Type string `json:"type,omitempty"` + PrincipalID string `json:"principalId,omitempty" swagger:"readOnly"` + TenantID string `json:"tenantId,omitempty" swagger:"readOnly"` UserAssignedIdentities UserAssignedIdentities `json:"userAssignedIdentities,omitempty"` } diff --git a/pkg/api/openshiftcluster.go b/pkg/api/openshiftcluster.go index 4b47190ff0c..2dc682b7c3f 100644 --- a/pkg/api/openshiftcluster.go +++ b/pkg/api/openshiftcluster.go @@ -850,7 +850,8 @@ type Identity struct { MissingFields Type string `json:"type,omitempty"` + PrincipalID string `json:"principalId,omitempty" swagger:"readOnly"` UserAssignedIdentities UserAssignedIdentities `json:"userAssignedIdentities,omitempty"` IdentityURL string `json:"identityURL,omitempty" mutable:"true"` - TenantID string `json:"tenantId,omitempty" mutable:"true"` + TenantID string `json:"tenantId,omitempty" swagger:"readOnly"` } diff --git a/pkg/api/v20240812preview/openshiftcluster.go b/pkg/api/v20240812preview/openshiftcluster.go index 1a5ba48a6d6..cc16e9fd9b9 100644 --- a/pkg/api/v20240812preview/openshiftcluster.go +++ b/pkg/api/v20240812preview/openshiftcluster.go @@ -322,6 +322,8 @@ type UserAssignedIdentities map[string]ClusterUserAssignedIdentity // Identity stores information about the cluster MSI(s) in a workload identity cluster. type Identity struct { Type string `json:"type,omitempty"` + PrincipalID string `json:"principalId,omitempty" swagger:"readOnly"` + TenantID string `json:"tenantId,omitempty" swagger:"readOnly"` UserAssignedIdentities UserAssignedIdentities `json:"userAssignedIdentities,omitempty"` } diff --git a/pkg/client/services/redhatopenshift/mgmt/2024-08-12-preview/redhatopenshift/models.go b/pkg/client/services/redhatopenshift/mgmt/2024-08-12-preview/redhatopenshift/models.go index bb85b7b6fd8..41e54f898a2 100644 --- a/pkg/client/services/redhatopenshift/mgmt/2024-08-12-preview/redhatopenshift/models.go +++ b/pkg/client/services/redhatopenshift/mgmt/2024-08-12-preview/redhatopenshift/models.go @@ -146,6 +146,8 @@ type EffectiveOutboundIP struct { // Identity identity stores information about the cluster MSI(s) in a workload identity cluster. type Identity struct { Type *string `json:"type,omitempty"` + PrincipalID *string `json:"principalId,omitempty"` + TenantID *string `json:"tenantId,omitempty"` UserAssignedIdentities map[string]*ClusterUserAssignedIdentity `json:"userAssignedIdentities"` } @@ -155,6 +157,12 @@ func (i Identity) MarshalJSON() ([]byte, error) { if i.Type != nil { objectMap["type"] = i.Type } + if i.PrincipalID != nil { + objectMap["principalId"] = i.PrincipalID + } + if i.TenantID != nil { + objectMap["tenantId"] = i.TenantID + } if i.UserAssignedIdentities != nil { objectMap["userAssignedIdentities"] = i.UserAssignedIdentities } diff --git a/python/client/azure/mgmt/redhatopenshift/v2024_08_12_preview/models/_models.py b/python/client/azure/mgmt/redhatopenshift/v2024_08_12_preview/models/_models.py index 2141d61aa06..b0d19f947a3 100644 --- a/python/client/azure/mgmt/redhatopenshift/v2024_08_12_preview/models/_models.py +++ b/python/client/azure/mgmt/redhatopenshift/v2024_08_12_preview/models/_models.py @@ -284,6 +284,10 @@ class Identity(msrest.serialization.Model): :ivar type: :vartype type: str + :ivar principal_id: + :vartype principal_id: str + :ivar tenant_id: + :vartype tenant_id: str :ivar user_assigned_identities: UserAssignedIdentities stores a mapping from resource IDs of managed identities to their client/principal IDs. :vartype user_assigned_identities: dict[str, @@ -292,6 +296,8 @@ class Identity(msrest.serialization.Model): _attribute_map = { 'type': {'key': 'type', 'type': 'str'}, + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '{ClusterUserAssignedIdentity}'}, } @@ -302,6 +308,10 @@ def __init__( """ :keyword type: :paramtype type: str + :keyword principal_id: + :paramtype principal_id: str + :keyword tenant_id: + :paramtype tenant_id: str :keyword user_assigned_identities: UserAssignedIdentities stores a mapping from resource IDs of managed identities to their client/principal IDs. :paramtype user_assigned_identities: dict[str, @@ -309,6 +319,8 @@ def __init__( """ super(Identity, self).__init__(**kwargs) self.type = kwargs.get('type', None) + self.principal_id = kwargs.get('principal_id', None) + self.tenant_id = kwargs.get('tenant_id', None) self.user_assigned_identities = kwargs.get('user_assigned_identities', None) diff --git a/python/client/azure/mgmt/redhatopenshift/v2024_08_12_preview/models/_models_py3.py b/python/client/azure/mgmt/redhatopenshift/v2024_08_12_preview/models/_models_py3.py index c9e8192bc92..29f132173e7 100644 --- a/python/client/azure/mgmt/redhatopenshift/v2024_08_12_preview/models/_models_py3.py +++ b/python/client/azure/mgmt/redhatopenshift/v2024_08_12_preview/models/_models_py3.py @@ -313,6 +313,10 @@ class Identity(msrest.serialization.Model): :ivar type: :vartype type: str + :ivar principal_id: + :vartype principal_id: str + :ivar tenant_id: + :vartype tenant_id: str :ivar user_assigned_identities: UserAssignedIdentities stores a mapping from resource IDs of managed identities to their client/principal IDs. :vartype user_assigned_identities: dict[str, @@ -321,6 +325,8 @@ class Identity(msrest.serialization.Model): _attribute_map = { 'type': {'key': 'type', 'type': 'str'}, + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '{ClusterUserAssignedIdentity}'}, } @@ -328,12 +334,18 @@ def __init__( self, *, type: Optional[str] = None, + principal_id: Optional[str] = None, + tenant_id: Optional[str] = None, user_assigned_identities: Optional[Dict[str, "ClusterUserAssignedIdentity"]] = None, **kwargs ): """ :keyword type: :paramtype type: str + :keyword principal_id: + :paramtype principal_id: str + :keyword tenant_id: + :paramtype tenant_id: str :keyword user_assigned_identities: UserAssignedIdentities stores a mapping from resource IDs of managed identities to their client/principal IDs. :paramtype user_assigned_identities: dict[str, @@ -341,6 +353,8 @@ def __init__( """ super(Identity, self).__init__(**kwargs) self.type = type + self.principal_id = principal_id + self.tenant_id = tenant_id self.user_assigned_identities = user_assigned_identities diff --git a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/redhatopenshift.json b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/redhatopenshift.json index 956e475ccb3..4e967de253c 100644 --- a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/redhatopenshift.json +++ b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/redhatopenshift.json @@ -1906,6 +1906,14 @@ "type": { "type": "string" }, + "principalId": { + "type": "string", + "readOnly": true + }, + "tenantId": { + "type": "string", + "readOnly": true + }, "userAssignedIdentities": { "$ref": "#/definitions/UserAssignedIdentities" } diff --git a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/readme.md b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/readme.md index 257b14bf355..13faec25314 100644 --- a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/readme.md +++ b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/readme.md @@ -82,6 +82,33 @@ These settings apply only when `--tag=package-2023-04-01` is specified on the co input-file: - stable/2023-04-01/redhatopenshift.json ``` + +### Tag: package-2023-09-04 + +These settings apply only when `--tag=package-2023-09-04` is specified on the command line. + +``` yaml $(tag) == 'package-2023-09-04' +input-file: + - stable/2023-09-04/redhatopenshift.json +``` + +### Tag: package-2023-11-22 + +These settings apply only when `--tag=package-2023-11-22` is specified on the command line. + +``` yaml $(tag) == 'package-2023-11-22' +input-file: + - stable/2023-11-22/redhatopenshift.json +``` + +### Tag: package-2024-08-12-preview + +These settings apply only when `--tag=package-2024-08-12-preview` is specified on the command line. + +``` yaml $(tag) == 'package-2024-08-12-preview' +input-file: + - preview/2024-08-12-preview/redhatopenshift.json +``` --- # Code Generation From 0054637f8376e144b1c7d8afd73ba3adc0b5b2c0 Mon Sep 17 00:00:00 2001 From: cadenmarchese Date: Mon, 22 Jul 2024 10:08:15 -0400 Subject: [PATCH 02/27] fix tag package-2023-11 this was wrong in the readme --- .../Microsoft.RedHatOpenShift/openshiftclusters/readme.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/readme.md b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/readme.md index 13faec25314..ed0fa111749 100644 --- a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/readme.md +++ b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/readme.md @@ -92,11 +92,11 @@ input-file: - stable/2023-09-04/redhatopenshift.json ``` -### Tag: package-2023-11-22 +### Tag: package-2023-11 -These settings apply only when `--tag=package-2023-11-22` is specified on the command line. +These settings apply only when `--tag=package-2023-11` is specified on the command line. -``` yaml $(tag) == 'package-2023-11-22' +``` yaml $(tag) == 'package-2023-11' input-file: - stable/2023-11-22/redhatopenshift.json ``` From 522ab817b71c05236ffa578afbbbc0bb57885d44 Mon Sep 17 00:00:00 2001 From: cadenmarchese Date: Tue, 23 Jul 2024 09:22:21 -0400 Subject: [PATCH 03/27] remove UserAssignedIdentities top level fields must not have additionalproperties --- pkg/api/admin/openshiftcluster.go | 11 +++--- pkg/api/openshiftcluster.go | 13 +++---- pkg/api/v20240812preview/openshiftcluster.go | 11 +++--- .../openshiftcluster_validatestatic_test.go | 36 +++++++++---------- .../2024-08-12-preview/redhatopenshift.json | 12 +++---- 5 files changed, 35 insertions(+), 48 deletions(-) diff --git a/pkg/api/admin/openshiftcluster.go b/pkg/api/admin/openshiftcluster.go index 53ce4460bcd..e85323d0d8e 100644 --- a/pkg/api/admin/openshiftcluster.go +++ b/pkg/api/admin/openshiftcluster.go @@ -440,15 +440,12 @@ type ClusterUserAssignedIdentity struct { PrincipalID string `json:"principalId,omitempty"` } -// UserAssignedIdentities stores a mapping from resource IDs of managed identities to their client/principal IDs. -type UserAssignedIdentities map[string]ClusterUserAssignedIdentity - // Identity stores information about the cluster MSI(s) in a workload identity cluster. type Identity struct { - Type string `json:"type,omitempty"` - PrincipalID string `json:"principalId,omitempty" swagger:"readOnly"` - TenantID string `json:"tenantId,omitempty" swagger:"readOnly"` - UserAssignedIdentities UserAssignedIdentities `json:"userAssignedIdentities,omitempty"` + Type string `json:"type,omitempty"` + PrincipalID string `json:"principalId,omitempty" swagger:"readOnly"` + TenantID string `json:"tenantId,omitempty" swagger:"readOnly"` + UserAssignedIdentities map[string]ClusterUserAssignedIdentity `json:"userAssignedIdentities,omitempty"` } // Install represents an install process. diff --git a/pkg/api/openshiftcluster.go b/pkg/api/openshiftcluster.go index 2dc682b7c3f..5437c103f85 100644 --- a/pkg/api/openshiftcluster.go +++ b/pkg/api/openshiftcluster.go @@ -842,16 +842,13 @@ type ClusterUserAssignedIdentity struct { PrincipalID string `json:"principalId,omitempty"` } -// UserAssignedIdentities stores a mapping from resource IDs of managed identities to their client/principal IDs. -type UserAssignedIdentities map[string]ClusterUserAssignedIdentity - // Identity stores information about the cluster MSI(s) in a workload identity cluster. type Identity struct { MissingFields - Type string `json:"type,omitempty"` - PrincipalID string `json:"principalId,omitempty" swagger:"readOnly"` - UserAssignedIdentities UserAssignedIdentities `json:"userAssignedIdentities,omitempty"` - IdentityURL string `json:"identityURL,omitempty" mutable:"true"` - TenantID string `json:"tenantId,omitempty" swagger:"readOnly"` + Type string `json:"type,omitempty"` + PrincipalID string `json:"principalId,omitempty" swagger:"readOnly"` + UserAssignedIdentities map[string]ClusterUserAssignedIdentity `json:"userAssignedIdentities,omitempty"` + IdentityURL string `json:"identityURL,omitempty" mutable:"true"` + TenantID string `json:"tenantId,omitempty" swagger:"readOnly"` } diff --git a/pkg/api/v20240812preview/openshiftcluster.go b/pkg/api/v20240812preview/openshiftcluster.go index cc16e9fd9b9..7e00b9f0705 100644 --- a/pkg/api/v20240812preview/openshiftcluster.go +++ b/pkg/api/v20240812preview/openshiftcluster.go @@ -316,15 +316,12 @@ type ClusterUserAssignedIdentity struct { PrincipalID string `json:"principalId,omitempty"` } -// UserAssignedIdentities stores a mapping from resource IDs of managed identities to their client/principal IDs. -type UserAssignedIdentities map[string]ClusterUserAssignedIdentity - // Identity stores information about the cluster MSI(s) in a workload identity cluster. type Identity struct { - Type string `json:"type,omitempty"` - PrincipalID string `json:"principalId,omitempty" swagger:"readOnly"` - TenantID string `json:"tenantId,omitempty" swagger:"readOnly"` - UserAssignedIdentities UserAssignedIdentities `json:"userAssignedIdentities,omitempty"` + Type string `json:"type,omitempty"` + PrincipalID string `json:"principalId,omitempty" swagger:"readOnly"` + TenantID string `json:"tenantId,omitempty" swagger:"readOnly"` + UserAssignedIdentities map[string]ClusterUserAssignedIdentity `json:"userAssignedIdentities,omitempty"` } // CreatedByType by defines user type, which executed the request diff --git a/pkg/api/v20240812preview/openshiftcluster_validatestatic_test.go b/pkg/api/v20240812preview/openshiftcluster_validatestatic_test.go index 3a0ac36f347..5284957bb4e 100644 --- a/pkg/api/v20240812preview/openshiftcluster_validatestatic_test.go +++ b/pkg/api/v20240812preview/openshiftcluster_validatestatic_test.go @@ -1250,7 +1250,7 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin }, } oc.Identity = &Identity{ - UserAssignedIdentities: UserAssignedIdentities{ + UserAssignedIdentities: map[string]ClusterUserAssignedIdentity{ "first": { ClientID: "11111111-1111-1111-1111-111111111111", PrincipalID: "SOMETHING", @@ -1264,7 +1264,7 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin name: "invalid resourceID", modify: func(oc *OpenShiftCluster) { oc.Identity = &Identity{ - UserAssignedIdentities: UserAssignedIdentities{ + UserAssignedIdentities: map[string]ClusterUserAssignedIdentity{ "first": { ClientID: "11111111-1111-1111-1111-111111111111", PrincipalID: "SOMETHING", @@ -1296,7 +1296,7 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin } oc.Properties.ServicePrincipalProfile = nil oc.Identity = &Identity{ - UserAssignedIdentities: UserAssignedIdentities{ + UserAssignedIdentities: map[string]ClusterUserAssignedIdentity{ "first": clusterIdentity1, }, } @@ -1312,7 +1312,7 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin }, } oc.Identity = &Identity{ - UserAssignedIdentities: UserAssignedIdentities{ + UserAssignedIdentities: map[string]ClusterUserAssignedIdentity{ "first": clusterIdentity1, }, } @@ -1327,7 +1327,7 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin name: "cluster identity missing platform workload identity", modify: func(oc *OpenShiftCluster) { oc.Identity = &Identity{ - UserAssignedIdentities: UserAssignedIdentities{ + UserAssignedIdentities: map[string]ClusterUserAssignedIdentity{ "first": clusterIdentity1, }, } @@ -1367,7 +1367,7 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin name: "operator name missing", modify: func(oc *OpenShiftCluster) { oc.Identity = &Identity{ - UserAssignedIdentities: UserAssignedIdentities{ + UserAssignedIdentities: map[string]ClusterUserAssignedIdentity{ "first": clusterIdentity1, }, } @@ -1395,8 +1395,8 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin name: "valid UpgradeableTo value", modify: func(oc *OpenShiftCluster) { oc.Identity = &Identity{ - UserAssignedIdentities: UserAssignedIdentities{ - "Dummy": ClusterUserAssignedIdentity{}, + UserAssignedIdentities: map[string]ClusterUserAssignedIdentity{ + "Dummy": {}, }, } oc.Properties.ServicePrincipalProfile = nil @@ -1409,8 +1409,8 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin name: "invalid UpgradeableTo value", modify: func(oc *OpenShiftCluster) { oc.Identity = &Identity{ - UserAssignedIdentities: UserAssignedIdentities{ - "Dummy": ClusterUserAssignedIdentity{}, + UserAssignedIdentities: map[string]ClusterUserAssignedIdentity{ + "Dummy": {}, }, } oc.Properties.ServicePrincipalProfile = nil @@ -1433,7 +1433,7 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin }, } oc.Identity = &Identity{ - UserAssignedIdentities: UserAssignedIdentities{ + UserAssignedIdentities: map[string]ClusterUserAssignedIdentity{ "first": clusterIdentity1, }, } @@ -1453,7 +1453,7 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin }, } oc.Identity = &Identity{ - UserAssignedIdentities: UserAssignedIdentities{ + UserAssignedIdentities: map[string]ClusterUserAssignedIdentity{ "first": clusterIdentity1, }, } @@ -1472,7 +1472,7 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin }, } oc.Identity = &Identity{ - UserAssignedIdentities: UserAssignedIdentities{ + UserAssignedIdentities: map[string]ClusterUserAssignedIdentity{ "first": clusterIdentity1, }, } @@ -1492,7 +1492,7 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin }, } oc.Identity = &Identity{ - UserAssignedIdentities: UserAssignedIdentities{ + UserAssignedIdentities: map[string]ClusterUserAssignedIdentity{ "first": clusterIdentity1, }, } @@ -1513,7 +1513,7 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin }, } oc.Identity = &Identity{ - UserAssignedIdentities: UserAssignedIdentities{ + UserAssignedIdentities: map[string]ClusterUserAssignedIdentity{ "first": clusterIdentity1, }, } @@ -1535,7 +1535,7 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin }, } oc.Identity = &Identity{ - UserAssignedIdentities: UserAssignedIdentities{ + UserAssignedIdentities: map[string]ClusterUserAssignedIdentity{ "first": clusterIdentity1, }, } @@ -1557,7 +1557,7 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin }, } oc.Identity = &Identity{ - UserAssignedIdentities: UserAssignedIdentities{ + UserAssignedIdentities: map[string]ClusterUserAssignedIdentity{ "first": clusterIdentity1, }, } @@ -1579,7 +1579,7 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin }, } oc.Identity = &Identity{ - UserAssignedIdentities: UserAssignedIdentities{ + UserAssignedIdentities: map[string]ClusterUserAssignedIdentity{ "first": clusterIdentity1, }, } diff --git a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/redhatopenshift.json b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/redhatopenshift.json index 4e967de253c..cbe803a8a52 100644 --- a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/redhatopenshift.json +++ b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/redhatopenshift.json @@ -1915,7 +1915,10 @@ "readOnly": true }, "userAssignedIdentities": { - "$ref": "#/definitions/UserAssignedIdentities" + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/ClusterUserAssignedIdentity" + } } } }, @@ -2622,13 +2625,6 @@ "description": "UpgradeableTo stores a single OpenShift version a workload identity cluster can be upgraded to", "type": "string" }, - "UserAssignedIdentities": { - "description": "UserAssignedIdentities stores a mapping from resource IDs of managed identities to their client/principal IDs.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/ClusterUserAssignedIdentity" - } - }, "VMSize": { "description": "VM size availability varies by region.\nIf a node contains insufficient compute resources (memory, cpu, etc.), pods might fail to run correctly.\nFor more details on restricted VM sizes, see: https://docs.microsoft.com/en-us/azure/openshift/support-policies-v4#supported-virtual-machine-sizes", "type": "string" From a9d81c9dd7214e51a9f105c754b58332ba524cc5 Mon Sep 17 00:00:00 2001 From: cadenmarchese Date: Tue, 23 Jul 2024 10:05:51 -0400 Subject: [PATCH 04/27] update the default tag to latest --- .../Microsoft.RedHatOpenShift/openshiftclusters/readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/readme.md b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/readme.md index ed0fa111749..6490ced9bc5 100644 --- a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/readme.md +++ b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/readme.md @@ -26,7 +26,7 @@ These are the global settings for the Azure Red Hat OpenShift API. ``` yaml openapi-type: arm -tag: package-2023-04-01 +tag: package-2024-08-12-preview ``` ### Tag: package-2020-04-30 From 1e3ab7fc0a1d76b8bc55e8df0a26521aee1087fd Mon Sep 17 00:00:00 2001 From: cadenmarchese Date: Tue, 23 Jul 2024 12:13:22 -0400 Subject: [PATCH 05/27] define a new IdentityType with x-ms-enum --- pkg/api/admin/openshiftcluster.go | 9 ++++++++- pkg/api/admin/openshiftcluster_convert.go | 4 ++-- pkg/api/openshiftcluster.go | 10 +++++++++- pkg/api/v20240812preview/openshiftcluster.go | 9 ++++++++- .../v20240812preview/openshiftcluster_convert.go | 4 ++-- pkg/swagger/generator.go | 2 +- .../preview/2024-08-12-preview/redhatopenshift.json | 13 ++++++++++++- 7 files changed, 42 insertions(+), 9 deletions(-) diff --git a/pkg/api/admin/openshiftcluster.go b/pkg/api/admin/openshiftcluster.go index e85323d0d8e..6f5e3405ea0 100644 --- a/pkg/api/admin/openshiftcluster.go +++ b/pkg/api/admin/openshiftcluster.go @@ -440,9 +440,16 @@ type ClusterUserAssignedIdentity struct { PrincipalID string `json:"principalId,omitempty"` } +type IdentityType string + +const ( + IdentitySystemAssigned IdentityType = "SystemAssigned" + IdentityUserAssigned IdentityType = "UserAssigned" +) + // Identity stores information about the cluster MSI(s) in a workload identity cluster. type Identity struct { - Type string `json:"type,omitempty"` + Type IdentityType `json:"type,omitempty"` PrincipalID string `json:"principalId,omitempty" swagger:"readOnly"` TenantID string `json:"tenantId,omitempty" swagger:"readOnly"` UserAssignedIdentities map[string]ClusterUserAssignedIdentity `json:"userAssignedIdentities,omitempty"` diff --git a/pkg/api/admin/openshiftcluster_convert.go b/pkg/api/admin/openshiftcluster_convert.go index beabd0400bc..4c81d325efe 100644 --- a/pkg/api/admin/openshiftcluster_convert.go +++ b/pkg/api/admin/openshiftcluster_convert.go @@ -178,7 +178,7 @@ func (c openShiftClusterConverter) ToExternal(oc *api.OpenShiftCluster) interfac } if oc.Identity != nil { - out.Identity.Type = oc.Identity.Type + out.Identity.Type = IdentityType(oc.Identity.Type) out.Identity.UserAssignedIdentities = make(map[string]ClusterUserAssignedIdentity, len(oc.Identity.UserAssignedIdentities)) for k := range oc.Identity.UserAssignedIdentities { var temp ClusterUserAssignedIdentity @@ -254,7 +254,7 @@ func (c openShiftClusterConverter) ToInternal(_oc interface{}, out *api.OpenShif } } if oc.Identity != nil { - out.Identity.Type = oc.Identity.Type + out.Identity.Type = api.IdentityType(oc.Identity.Type) out.Identity.UserAssignedIdentities = make(map[string]api.ClusterUserAssignedIdentity, len(oc.Identity.UserAssignedIdentities)) for k := range oc.Identity.UserAssignedIdentities { var temp api.ClusterUserAssignedIdentity diff --git a/pkg/api/openshiftcluster.go b/pkg/api/openshiftcluster.go index 5437c103f85..983ca9f0a53 100644 --- a/pkg/api/openshiftcluster.go +++ b/pkg/api/openshiftcluster.go @@ -842,11 +842,19 @@ type ClusterUserAssignedIdentity struct { PrincipalID string `json:"principalId,omitempty"` } +type IdentityType string + +// IdentityType constants +const ( + IdentityTypeSystemAssigned IdentityType = "SystemAssigned" + IdentityTypeUserAssigned IdentityType = "UserAssigned" +) + // Identity stores information about the cluster MSI(s) in a workload identity cluster. type Identity struct { MissingFields - Type string `json:"type,omitempty"` + Type IdentityType `json:"type,omitempty"` PrincipalID string `json:"principalId,omitempty" swagger:"readOnly"` UserAssignedIdentities map[string]ClusterUserAssignedIdentity `json:"userAssignedIdentities,omitempty"` IdentityURL string `json:"identityURL,omitempty" mutable:"true"` diff --git a/pkg/api/v20240812preview/openshiftcluster.go b/pkg/api/v20240812preview/openshiftcluster.go index 7e00b9f0705..27365933409 100644 --- a/pkg/api/v20240812preview/openshiftcluster.go +++ b/pkg/api/v20240812preview/openshiftcluster.go @@ -316,9 +316,16 @@ type ClusterUserAssignedIdentity struct { PrincipalID string `json:"principalId,omitempty"` } +type IdentityType string + +const ( + IdentitySystemAssigned IdentityType = "SystemAssigned" + IdentityUserAssigned IdentityType = "UserAssigned" +) + // Identity stores information about the cluster MSI(s) in a workload identity cluster. type Identity struct { - Type string `json:"type,omitempty"` + Type IdentityType `json:"type,omitempty"` PrincipalID string `json:"principalId,omitempty" swagger:"readOnly"` TenantID string `json:"tenantId,omitempty" swagger:"readOnly"` UserAssignedIdentities map[string]ClusterUserAssignedIdentity `json:"userAssignedIdentities,omitempty"` diff --git a/pkg/api/v20240812preview/openshiftcluster_convert.go b/pkg/api/v20240812preview/openshiftcluster_convert.go index c4a269c8c95..ce9bd15b2bf 100644 --- a/pkg/api/v20240812preview/openshiftcluster_convert.go +++ b/pkg/api/v20240812preview/openshiftcluster_convert.go @@ -130,7 +130,7 @@ func (c openShiftClusterConverter) ToExternal(oc *api.OpenShiftCluster) interfac if oc.Identity != nil { out.Identity = &Identity{} - out.Identity.Type = oc.Identity.Type + out.Identity.Type = IdentityType(oc.Identity.Type) out.Identity.UserAssignedIdentities = make(map[string]ClusterUserAssignedIdentity, len(oc.Identity.UserAssignedIdentities)) for k := range oc.Identity.UserAssignedIdentities { var temp ClusterUserAssignedIdentity @@ -210,7 +210,7 @@ func (c openShiftClusterConverter) ToInternal(_oc interface{}, out *api.OpenShif if oc.Identity != nil { out.Identity = &api.Identity{} - out.Identity.Type = oc.Identity.Type + out.Identity.Type = api.IdentityType(oc.Identity.Type) out.Identity.UserAssignedIdentities = make(map[string]api.ClusterUserAssignedIdentity, len(oc.Identity.UserAssignedIdentities)) for k := range oc.Identity.UserAssignedIdentities { var temp api.ClusterUserAssignedIdentity diff --git a/pkg/swagger/generator.go b/pkg/swagger/generator.go index b031ac91eb0..f182d566779 100644 --- a/pkg/swagger/generator.go +++ b/pkg/swagger/generator.go @@ -316,7 +316,7 @@ var apis = map[string]*generator{ exampleOpenShiftVersionListResponse: v20240812preview.ExampleOpenShiftVersionListResponse, exampleOperationListResponse: api.ExampleOperationListResponse, - xmsEnum: []string{"ProvisioningState", "PreconfiguredNSG", "EncryptionAtHost", "FipsValidatedModules", "SoftwareDefinedNetwork", "Visibility", "OutboundType"}, + xmsEnum: []string{"ProvisioningState", "PreconfiguredNSG", "EncryptionAtHost", "FipsValidatedModules", "SoftwareDefinedNetwork", "Visibility", "OutboundType", "IdentityType"}, xmsSecretList: []string{"kubeconfig", "kubeadminPassword", "secretResources"}, xmsIdentifiers: []string{}, commonTypesVersion: "v3", diff --git a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/redhatopenshift.json b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/redhatopenshift.json index cbe803a8a52..9cf75fbbf2b 100644 --- a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/redhatopenshift.json +++ b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/redhatopenshift.json @@ -1904,7 +1904,7 @@ "type": "object", "properties": { "type": { - "type": "string" + "$ref": "#/definitions/IdentityType" }, "principalId": { "type": "string", @@ -1922,6 +1922,17 @@ } } }, + "IdentityType": { + "enum": [ + "SystemAssigned", + "UserAssigned" + ], + "type": "string", + "x-ms-enum": { + "name": "IdentityType", + "modelAsString": true + } + }, "IngressProfile": { "description": "IngressProfile represents an ingress profile.", "type": "object", From def9374ad1c00c988f99d3e7b4e7fde80c19c8dc Mon Sep 17 00:00:00 2001 From: cadenmarchese Date: Fri, 26 Jul 2024 13:15:14 -0400 Subject: [PATCH 06/27] modelAsString on identityType x-ms-enum should be false --- pkg/swagger/typewalker.go | 8 ++++++-- .../preview/2024-08-12-preview/redhatopenshift.json | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/pkg/swagger/typewalker.go b/pkg/swagger/typewalker.go index fbdae37bb31..1b342445673 100644 --- a/pkg/swagger/typewalker.go +++ b/pkg/swagger/typewalker.go @@ -197,8 +197,7 @@ func (tw *typeWalker) _define(definitions Definitions, t *types.Named) { name := c[(len(c) - 1)] for _, xname := range tw.xmsEnumList { if xname == name { - s.XMSEnum = &XMSEnum{ - ModelAsString: true, + s.XMSEnum = &XMSEnum{ ModelAsString: isModelAsString(xname), Name: xname, } } @@ -263,3 +262,8 @@ func getNodeField(nodes []ast.Node) (*ast.Field, bool) { return nil, false } + +func isModelAsString(name string) bool { + // ARM mandates that modelAsString is false for the identity type. + return name != "IdentityType" +} \ No newline at end of file diff --git a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/redhatopenshift.json b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/redhatopenshift.json index 9cf75fbbf2b..f9750430311 100644 --- a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/redhatopenshift.json +++ b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/redhatopenshift.json @@ -1930,7 +1930,7 @@ "type": "string", "x-ms-enum": { "name": "IdentityType", - "modelAsString": true + "modelAsString": false } }, "IngressProfile": { From 16a9c8e1d037eb38975394fd660d337b93cd6988 Mon Sep 17 00:00:00 2001 From: cadenmarchese Date: Fri, 26 Jul 2024 13:42:14 -0400 Subject: [PATCH 07/27] rename IdentityType to ResourceIdentityType to match v3/types.json --- pkg/api/admin/openshiftcluster.go | 10 +++++--- pkg/api/admin/openshiftcluster_convert.go | 4 +-- pkg/api/openshiftcluster.go | 9 ++++--- pkg/api/v20240812preview/openshiftcluster.go | 10 +++++--- .../openshiftcluster_convert.go | 4 +-- pkg/swagger/generator.go | 2 +- pkg/swagger/typewalker.go | 8 +++--- .../2024-08-12-preview/redhatopenshift.json | 25 ++++++++++--------- 8 files changed, 39 insertions(+), 33 deletions(-) diff --git a/pkg/api/admin/openshiftcluster.go b/pkg/api/admin/openshiftcluster.go index 6f5e3405ea0..bd9cce3c4ef 100644 --- a/pkg/api/admin/openshiftcluster.go +++ b/pkg/api/admin/openshiftcluster.go @@ -440,16 +440,18 @@ type ClusterUserAssignedIdentity struct { PrincipalID string `json:"principalId,omitempty"` } -type IdentityType string +// The identity type. +type ResourceIdentityType string +// IdentityType constants const ( - IdentitySystemAssigned IdentityType = "SystemAssigned" - IdentityUserAssigned IdentityType = "UserAssigned" + IdentitySystemAssigned ResourceIdentityType = "SystemAssigned" + IdentityUserAssigned ResourceIdentityType = "UserAssigned" ) // Identity stores information about the cluster MSI(s) in a workload identity cluster. type Identity struct { - Type IdentityType `json:"type,omitempty"` + Type ResourceIdentityType `json:"type,omitempty"` PrincipalID string `json:"principalId,omitempty" swagger:"readOnly"` TenantID string `json:"tenantId,omitempty" swagger:"readOnly"` UserAssignedIdentities map[string]ClusterUserAssignedIdentity `json:"userAssignedIdentities,omitempty"` diff --git a/pkg/api/admin/openshiftcluster_convert.go b/pkg/api/admin/openshiftcluster_convert.go index 4c81d325efe..90511266b81 100644 --- a/pkg/api/admin/openshiftcluster_convert.go +++ b/pkg/api/admin/openshiftcluster_convert.go @@ -178,7 +178,7 @@ func (c openShiftClusterConverter) ToExternal(oc *api.OpenShiftCluster) interfac } if oc.Identity != nil { - out.Identity.Type = IdentityType(oc.Identity.Type) + out.Identity.Type = ResourceIdentityType(oc.Identity.Type) out.Identity.UserAssignedIdentities = make(map[string]ClusterUserAssignedIdentity, len(oc.Identity.UserAssignedIdentities)) for k := range oc.Identity.UserAssignedIdentities { var temp ClusterUserAssignedIdentity @@ -254,7 +254,7 @@ func (c openShiftClusterConverter) ToInternal(_oc interface{}, out *api.OpenShif } } if oc.Identity != nil { - out.Identity.Type = api.IdentityType(oc.Identity.Type) + out.Identity.Type = api.ResourceIdentityType(oc.Identity.Type) out.Identity.UserAssignedIdentities = make(map[string]api.ClusterUserAssignedIdentity, len(oc.Identity.UserAssignedIdentities)) for k := range oc.Identity.UserAssignedIdentities { var temp api.ClusterUserAssignedIdentity diff --git a/pkg/api/openshiftcluster.go b/pkg/api/openshiftcluster.go index 983ca9f0a53..7ce2832b973 100644 --- a/pkg/api/openshiftcluster.go +++ b/pkg/api/openshiftcluster.go @@ -842,19 +842,20 @@ type ClusterUserAssignedIdentity struct { PrincipalID string `json:"principalId,omitempty"` } -type IdentityType string +// The identity type. +type ResourceIdentityType string // IdentityType constants const ( - IdentityTypeSystemAssigned IdentityType = "SystemAssigned" - IdentityTypeUserAssigned IdentityType = "UserAssigned" + IdentityTypeSystemAssigned ResourceIdentityType = "SystemAssigned" + IdentityTypeUserAssigned ResourceIdentityType = "UserAssigned" ) // Identity stores information about the cluster MSI(s) in a workload identity cluster. type Identity struct { MissingFields - Type IdentityType `json:"type,omitempty"` + Type ResourceIdentityType `json:"type,omitempty"` PrincipalID string `json:"principalId,omitempty" swagger:"readOnly"` UserAssignedIdentities map[string]ClusterUserAssignedIdentity `json:"userAssignedIdentities,omitempty"` IdentityURL string `json:"identityURL,omitempty" mutable:"true"` diff --git a/pkg/api/v20240812preview/openshiftcluster.go b/pkg/api/v20240812preview/openshiftcluster.go index 27365933409..f7ac6abfe6d 100644 --- a/pkg/api/v20240812preview/openshiftcluster.go +++ b/pkg/api/v20240812preview/openshiftcluster.go @@ -316,16 +316,18 @@ type ClusterUserAssignedIdentity struct { PrincipalID string `json:"principalId,omitempty"` } -type IdentityType string +// The identity type. +type ResourceIdentityType string +// IdentityType constants const ( - IdentitySystemAssigned IdentityType = "SystemAssigned" - IdentityUserAssigned IdentityType = "UserAssigned" + IdentitySystemAssigned ResourceIdentityType = "SystemAssigned" + IdentityUserAssigned ResourceIdentityType = "UserAssigned" ) // Identity stores information about the cluster MSI(s) in a workload identity cluster. type Identity struct { - Type IdentityType `json:"type,omitempty"` + Type ResourceIdentityType `json:"type,omitempty"` PrincipalID string `json:"principalId,omitempty" swagger:"readOnly"` TenantID string `json:"tenantId,omitempty" swagger:"readOnly"` UserAssignedIdentities map[string]ClusterUserAssignedIdentity `json:"userAssignedIdentities,omitempty"` diff --git a/pkg/api/v20240812preview/openshiftcluster_convert.go b/pkg/api/v20240812preview/openshiftcluster_convert.go index ce9bd15b2bf..247cd38ac0d 100644 --- a/pkg/api/v20240812preview/openshiftcluster_convert.go +++ b/pkg/api/v20240812preview/openshiftcluster_convert.go @@ -130,7 +130,7 @@ func (c openShiftClusterConverter) ToExternal(oc *api.OpenShiftCluster) interfac if oc.Identity != nil { out.Identity = &Identity{} - out.Identity.Type = IdentityType(oc.Identity.Type) + out.Identity.Type = ResourceIdentityType(oc.Identity.Type) out.Identity.UserAssignedIdentities = make(map[string]ClusterUserAssignedIdentity, len(oc.Identity.UserAssignedIdentities)) for k := range oc.Identity.UserAssignedIdentities { var temp ClusterUserAssignedIdentity @@ -210,7 +210,7 @@ func (c openShiftClusterConverter) ToInternal(_oc interface{}, out *api.OpenShif if oc.Identity != nil { out.Identity = &api.Identity{} - out.Identity.Type = api.IdentityType(oc.Identity.Type) + out.Identity.Type = api.ResourceIdentityType(oc.Identity.Type) out.Identity.UserAssignedIdentities = make(map[string]api.ClusterUserAssignedIdentity, len(oc.Identity.UserAssignedIdentities)) for k := range oc.Identity.UserAssignedIdentities { var temp api.ClusterUserAssignedIdentity diff --git a/pkg/swagger/generator.go b/pkg/swagger/generator.go index f182d566779..ca70793490d 100644 --- a/pkg/swagger/generator.go +++ b/pkg/swagger/generator.go @@ -316,7 +316,7 @@ var apis = map[string]*generator{ exampleOpenShiftVersionListResponse: v20240812preview.ExampleOpenShiftVersionListResponse, exampleOperationListResponse: api.ExampleOperationListResponse, - xmsEnum: []string{"ProvisioningState", "PreconfiguredNSG", "EncryptionAtHost", "FipsValidatedModules", "SoftwareDefinedNetwork", "Visibility", "OutboundType", "IdentityType"}, + xmsEnum: []string{"ProvisioningState", "PreconfiguredNSG", "EncryptionAtHost", "FipsValidatedModules", "SoftwareDefinedNetwork", "Visibility", "OutboundType", "ResourceIdentityType"}, xmsSecretList: []string{"kubeconfig", "kubeadminPassword", "secretResources"}, xmsIdentifiers: []string{}, commonTypesVersion: "v3", diff --git a/pkg/swagger/typewalker.go b/pkg/swagger/typewalker.go index 1b342445673..742cfc3f4d1 100644 --- a/pkg/swagger/typewalker.go +++ b/pkg/swagger/typewalker.go @@ -197,8 +197,8 @@ func (tw *typeWalker) _define(definitions Definitions, t *types.Named) { name := c[(len(c) - 1)] for _, xname := range tw.xmsEnumList { if xname == name { - s.XMSEnum = &XMSEnum{ ModelAsString: isModelAsString(xname), - Name: xname, + s.XMSEnum = &XMSEnum{ModelAsString: isModelAsString(xname), + Name: xname, } } } @@ -265,5 +265,5 @@ func getNodeField(nodes []ast.Node) (*ast.Field, bool) { func isModelAsString(name string) bool { // ARM mandates that modelAsString is false for the identity type. - return name != "IdentityType" -} \ No newline at end of file + return name != "ResourceIdentityType" +} diff --git a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/redhatopenshift.json b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/redhatopenshift.json index f9750430311..87201fadbb3 100644 --- a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/redhatopenshift.json +++ b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/redhatopenshift.json @@ -1904,7 +1904,7 @@ "type": "object", "properties": { "type": { - "$ref": "#/definitions/IdentityType" + "$ref": "#/definitions/ResourceIdentityType" }, "principalId": { "type": "string", @@ -1922,17 +1922,6 @@ } } }, - "IdentityType": { - "enum": [ - "SystemAssigned", - "UserAssigned" - ], - "type": "string", - "x-ms-enum": { - "name": "IdentityType", - "modelAsString": false - } - }, "IngressProfile": { "description": "IngressProfile represents an ingress profile.", "type": "object", @@ -2416,6 +2405,18 @@ "modelAsString": true } }, + "ResourceIdentityType": { + "description": "The identity type.", + "enum": [ + "SystemAssigned", + "UserAssigned" + ], + "type": "string", + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": false + } + }, "Secret": { "description": "Secret represents a secret.", "type": "object", From abf3620e11132b874113c8503a03d1bf3019c1fd Mon Sep 17 00:00:00 2001 From: cadenmarchese Date: Fri, 26 Jul 2024 14:16:56 -0400 Subject: [PATCH 08/27] make client --- .../redhatopenshift/enums.go | 15 ++++++++ .../redhatopenshift/models.go | 15 ++++---- .../v2024_08_12_preview/models/__init__.py | 2 ++ .../_azure_red_hat_open_shift_client_enums.py | 7 ++++ .../v2024_08_12_preview/models/_models.py | 31 ++++++++-------- .../v2024_08_12_preview/models/_models_py3.py | 35 ++++++++++--------- 6 files changed, 65 insertions(+), 40 deletions(-) diff --git a/pkg/client/services/redhatopenshift/mgmt/2024-08-12-preview/redhatopenshift/enums.go b/pkg/client/services/redhatopenshift/mgmt/2024-08-12-preview/redhatopenshift/enums.go index 0650354dc1c..1fb8df83296 100644 --- a/pkg/client/services/redhatopenshift/mgmt/2024-08-12-preview/redhatopenshift/enums.go +++ b/pkg/client/services/redhatopenshift/mgmt/2024-08-12-preview/redhatopenshift/enums.go @@ -121,6 +121,21 @@ func PossibleProvisioningStateValues() []ProvisioningState { return []ProvisioningState{AdminUpdating, Canceled, Creating, Deleting, Failed, Succeeded, Updating} } +// ResourceIdentityType enumerates the values for resource identity type. +type ResourceIdentityType string + +const ( + // SystemAssigned ... + SystemAssigned ResourceIdentityType = "SystemAssigned" + // UserAssigned ... + UserAssigned ResourceIdentityType = "UserAssigned" +) + +// PossibleResourceIdentityTypeValues returns an array of possible values for the ResourceIdentityType const type. +func PossibleResourceIdentityTypeValues() []ResourceIdentityType { + return []ResourceIdentityType{SystemAssigned, UserAssigned} +} + // Visibility enumerates the values for visibility. type Visibility string diff --git a/pkg/client/services/redhatopenshift/mgmt/2024-08-12-preview/redhatopenshift/models.go b/pkg/client/services/redhatopenshift/mgmt/2024-08-12-preview/redhatopenshift/models.go index 41e54f898a2..de954824239 100644 --- a/pkg/client/services/redhatopenshift/mgmt/2024-08-12-preview/redhatopenshift/models.go +++ b/pkg/client/services/redhatopenshift/mgmt/2024-08-12-preview/redhatopenshift/models.go @@ -145,8 +145,11 @@ type EffectiveOutboundIP struct { // Identity identity stores information about the cluster MSI(s) in a workload identity cluster. type Identity struct { - Type *string `json:"type,omitempty"` - PrincipalID *string `json:"principalId,omitempty"` + // Type - Possible values include: 'SystemAssigned', 'UserAssigned' + Type ResourceIdentityType `json:"type,omitempty"` + // PrincipalID - READ-ONLY + PrincipalID *string `json:"principalId,omitempty"` + // TenantID - READ-ONLY TenantID *string `json:"tenantId,omitempty"` UserAssignedIdentities map[string]*ClusterUserAssignedIdentity `json:"userAssignedIdentities"` } @@ -154,15 +157,9 @@ type Identity struct { // MarshalJSON is the custom marshaler for Identity. func (i Identity) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) - if i.Type != nil { + if i.Type != "" { objectMap["type"] = i.Type } - if i.PrincipalID != nil { - objectMap["principalId"] = i.PrincipalID - } - if i.TenantID != nil { - objectMap["tenantId"] = i.TenantID - } if i.UserAssignedIdentities != nil { objectMap["userAssignedIdentities"] = i.UserAssignedIdentities } diff --git a/python/client/azure/mgmt/redhatopenshift/v2024_08_12_preview/models/__init__.py b/python/client/azure/mgmt/redhatopenshift/v2024_08_12_preview/models/__init__.py index f701a8ff322..55ee3f1778f 100644 --- a/python/client/azure/mgmt/redhatopenshift/v2024_08_12_preview/models/__init__.py +++ b/python/client/azure/mgmt/redhatopenshift/v2024_08_12_preview/models/__init__.py @@ -108,6 +108,7 @@ OutboundType, PreconfiguredNSG, ProvisioningState, + ResourceIdentityType, Visibility, ) @@ -160,5 +161,6 @@ 'OutboundType', 'PreconfiguredNSG', 'ProvisioningState', + 'ResourceIdentityType', 'Visibility', ] diff --git a/python/client/azure/mgmt/redhatopenshift/v2024_08_12_preview/models/_azure_red_hat_open_shift_client_enums.py b/python/client/azure/mgmt/redhatopenshift/v2024_08_12_preview/models/_azure_red_hat_open_shift_client_enums.py index 12491f0c3bd..a1bd0fc6a9c 100644 --- a/python/client/azure/mgmt/redhatopenshift/v2024_08_12_preview/models/_azure_red_hat_open_shift_client_enums.py +++ b/python/client/azure/mgmt/redhatopenshift/v2024_08_12_preview/models/_azure_red_hat_open_shift_client_enums.py @@ -68,6 +68,13 @@ class ProvisioningState(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): SUCCEEDED = "Succeeded" UPDATING = "Updating" +class ResourceIdentityType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """The identity type. + """ + + SYSTEM_ASSIGNED = "SystemAssigned" + USER_ASSIGNED = "UserAssigned" + class Visibility(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Visibility represents visibility. """ diff --git a/python/client/azure/mgmt/redhatopenshift/v2024_08_12_preview/models/_models.py b/python/client/azure/mgmt/redhatopenshift/v2024_08_12_preview/models/_models.py index b0d19f947a3..696b94fb790 100644 --- a/python/client/azure/mgmt/redhatopenshift/v2024_08_12_preview/models/_models.py +++ b/python/client/azure/mgmt/redhatopenshift/v2024_08_12_preview/models/_models.py @@ -282,18 +282,25 @@ def __init__( class Identity(msrest.serialization.Model): """Identity stores information about the cluster MSI(s) in a workload identity cluster. - :ivar type: - :vartype type: str + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar type: The identity type. Possible values include: "SystemAssigned", "UserAssigned". + :vartype type: str or + ~azure.mgmt.redhatopenshift.v2024_08_12_preview.models.ResourceIdentityType :ivar principal_id: :vartype principal_id: str :ivar tenant_id: :vartype tenant_id: str - :ivar user_assigned_identities: UserAssignedIdentities stores a mapping from resource IDs of - managed identities to their client/principal IDs. + :ivar user_assigned_identities: Dictionary of :code:``. :vartype user_assigned_identities: dict[str, ~azure.mgmt.redhatopenshift.v2024_08_12_preview.models.ClusterUserAssignedIdentity] """ + _validation = { + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + } + _attribute_map = { 'type': {'key': 'type', 'type': 'str'}, 'principal_id': {'key': 'principalId', 'type': 'str'}, @@ -306,21 +313,17 @@ def __init__( **kwargs ): """ - :keyword type: - :paramtype type: str - :keyword principal_id: - :paramtype principal_id: str - :keyword tenant_id: - :paramtype tenant_id: str - :keyword user_assigned_identities: UserAssignedIdentities stores a mapping from resource IDs of - managed identities to their client/principal IDs. + :keyword type: The identity type. Possible values include: "SystemAssigned", "UserAssigned". + :paramtype type: str or + ~azure.mgmt.redhatopenshift.v2024_08_12_preview.models.ResourceIdentityType + :keyword user_assigned_identities: Dictionary of :code:``. :paramtype user_assigned_identities: dict[str, ~azure.mgmt.redhatopenshift.v2024_08_12_preview.models.ClusterUserAssignedIdentity] """ super(Identity, self).__init__(**kwargs) self.type = kwargs.get('type', None) - self.principal_id = kwargs.get('principal_id', None) - self.tenant_id = kwargs.get('tenant_id', None) + self.principal_id = None + self.tenant_id = None self.user_assigned_identities = kwargs.get('user_assigned_identities', None) diff --git a/python/client/azure/mgmt/redhatopenshift/v2024_08_12_preview/models/_models_py3.py b/python/client/azure/mgmt/redhatopenshift/v2024_08_12_preview/models/_models_py3.py index 29f132173e7..fd80f68c8ad 100644 --- a/python/client/azure/mgmt/redhatopenshift/v2024_08_12_preview/models/_models_py3.py +++ b/python/client/azure/mgmt/redhatopenshift/v2024_08_12_preview/models/_models_py3.py @@ -311,18 +311,25 @@ def __init__( class Identity(msrest.serialization.Model): """Identity stores information about the cluster MSI(s) in a workload identity cluster. - :ivar type: - :vartype type: str + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar type: The identity type. Possible values include: "SystemAssigned", "UserAssigned". + :vartype type: str or + ~azure.mgmt.redhatopenshift.v2024_08_12_preview.models.ResourceIdentityType :ivar principal_id: :vartype principal_id: str :ivar tenant_id: :vartype tenant_id: str - :ivar user_assigned_identities: UserAssignedIdentities stores a mapping from resource IDs of - managed identities to their client/principal IDs. + :ivar user_assigned_identities: Dictionary of :code:``. :vartype user_assigned_identities: dict[str, ~azure.mgmt.redhatopenshift.v2024_08_12_preview.models.ClusterUserAssignedIdentity] """ + _validation = { + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + } + _attribute_map = { 'type': {'key': 'type', 'type': 'str'}, 'principal_id': {'key': 'principalId', 'type': 'str'}, @@ -333,28 +340,22 @@ class Identity(msrest.serialization.Model): def __init__( self, *, - type: Optional[str] = None, - principal_id: Optional[str] = None, - tenant_id: Optional[str] = None, + type: Optional[Union[str, "ResourceIdentityType"]] = None, user_assigned_identities: Optional[Dict[str, "ClusterUserAssignedIdentity"]] = None, **kwargs ): """ - :keyword type: - :paramtype type: str - :keyword principal_id: - :paramtype principal_id: str - :keyword tenant_id: - :paramtype tenant_id: str - :keyword user_assigned_identities: UserAssignedIdentities stores a mapping from resource IDs of - managed identities to their client/principal IDs. + :keyword type: The identity type. Possible values include: "SystemAssigned", "UserAssigned". + :paramtype type: str or + ~azure.mgmt.redhatopenshift.v2024_08_12_preview.models.ResourceIdentityType + :keyword user_assigned_identities: Dictionary of :code:``. :paramtype user_assigned_identities: dict[str, ~azure.mgmt.redhatopenshift.v2024_08_12_preview.models.ClusterUserAssignedIdentity] """ super(Identity, self).__init__(**kwargs) self.type = type - self.principal_id = principal_id - self.tenant_id = tenant_id + self.principal_id = None + self.tenant_id = None self.user_assigned_identities = user_assigned_identities From 1b9483be5b4ccbe72eafe6baf1136605b0a88a97 Mon Sep 17 00:00:00 2001 From: cadenmarchese Date: Tue, 30 Jul 2024 16:18:59 -0400 Subject: [PATCH 09/27] remove whitespace --- pkg/api/v20240812preview/openshiftcluster.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/api/v20240812preview/openshiftcluster.go b/pkg/api/v20240812preview/openshiftcluster.go index f7ac6abfe6d..efcfe040c8d 100644 --- a/pkg/api/v20240812preview/openshiftcluster.go +++ b/pkg/api/v20240812preview/openshiftcluster.go @@ -327,7 +327,7 @@ const ( // Identity stores information about the cluster MSI(s) in a workload identity cluster. type Identity struct { - Type ResourceIdentityType `json:"type,omitempty"` + Type ResourceIdentityType `json:"type,omitempty"` PrincipalID string `json:"principalId,omitempty" swagger:"readOnly"` TenantID string `json:"tenantId,omitempty" swagger:"readOnly"` UserAssignedIdentities map[string]ClusterUserAssignedIdentity `json:"userAssignedIdentities,omitempty"` From 74493923ac1e00aee757488c848913f512336e8c Mon Sep 17 00:00:00 2001 From: cadenmarchese Date: Fri, 2 Aug 2024 08:34:38 -0400 Subject: [PATCH 10/27] add descriptions to all new API fields --- pkg/api/admin/openshiftcluster.go | 31 ++++++++++++---- pkg/api/openshiftcluster.go | 35 ++++++++++++++----- pkg/api/v20240812preview/openshiftcluster.go | 31 ++++++++++++---- .../2024-08-12-preview/redhatopenshift.json | 12 ++++++- 4 files changed, 86 insertions(+), 23 deletions(-) diff --git a/pkg/api/admin/openshiftcluster.go b/pkg/api/admin/openshiftcluster.go index bd9cce3c4ef..bd81884a078 100644 --- a/pkg/api/admin/openshiftcluster.go +++ b/pkg/api/admin/openshiftcluster.go @@ -428,15 +428,25 @@ type UpgradeableTo string // PlatformWorkloadIdentity stores information representing a single workload identity. type PlatformWorkloadIdentity struct { + // The name of the operator for which the PlatformWorkloadIdentity is used for OperatorName string `json:"operatorName,omitempty"` - ResourceID string `json:"resourceId,omitempty"` - ClientID string `json:"clientId,omitempty" swagger:"readOnly"` - ObjectID string `json:"objectId,omitempty" swagger:"readOnly"` + + // The resource ID of the PlatformWorkloadIdentity resource + ResourceID string `json:"resourceId,omitempty"` + + // The ClientID of the PlatformWorkloadIdentity resource + ClientID string `json:"clientId,omitempty" swagger:"readOnly"` + + // The ObjectID of the PlatformWorkloadIdentity resource + ObjectID string `json:"objectId,omitempty" swagger:"readOnly"` } // ClusterUserAssignedIdentity stores information about a user-assigned managed identity in a predefined format required by Microsoft's Managed Identity team. type ClusterUserAssignedIdentity struct { - ClientID string `json:"clientId,omitempty"` + // The ClientID of the ClusterUserAssignedIdentity resource + ClientID string `json:"clientId,omitempty"` + + // The PrincipalID of the ClusterUserAssignedIdentity resource PrincipalID string `json:"principalId,omitempty"` } @@ -451,9 +461,16 @@ const ( // Identity stores information about the cluster MSI(s) in a workload identity cluster. type Identity struct { - Type ResourceIdentityType `json:"type,omitempty"` - PrincipalID string `json:"principalId,omitempty" swagger:"readOnly"` - TenantID string `json:"tenantId,omitempty" swagger:"readOnly"` + // The type of the Identity resource. + Type ResourceIdentityType `json:"type,omitempty"` + + // The PrincipalID of the Identity resource. + PrincipalID string `json:"principalId,omitempty" swagger:"readOnly"` + + // The TenantID provided by the MSI RP + TenantID string `json:"tenantId,omitempty" swagger:"readOnly"` + + // A map of ClusterUserAssigned identities attached to the cluster, specified in a type required by Microsoft's Managed Identity team. UserAssignedIdentities map[string]ClusterUserAssignedIdentity `json:"userAssignedIdentities,omitempty"` } diff --git a/pkg/api/openshiftcluster.go b/pkg/api/openshiftcluster.go index 7ce2832b973..e41acdb36f5 100644 --- a/pkg/api/openshiftcluster.go +++ b/pkg/api/openshiftcluster.go @@ -828,17 +828,27 @@ type UpgradeableTo string type PlatformWorkloadIdentity struct { MissingFields + // The name of the operator for which the PlatformWorkloadIdentity is used for OperatorName string `json:"operatorName,omitempty"` - ResourceID string `json:"resourceId,omitempty"` - ClientID string `json:"clientId,omitempty" swagger:"readOnly"` - ObjectID string `json:"objectId,omitempty" swagger:"readOnly"` + + // The resource ID of the PlatformWorkloadIdentity resource + ResourceID string `json:"resourceId,omitempty"` + + // The ClientID of the PlatformWorkloadIdentity resource + ClientID string `json:"clientId,omitempty" swagger:"readOnly"` + + // The ObjectID of the PlatformWorkloadIdentity resource + ObjectID string `json:"objectId,omitempty" swagger:"readOnly"` } // ClusterUserAssignedIdentity stores information about a user-assigned managed identity in a predefined format required by Microsoft's Managed Identity team. type ClusterUserAssignedIdentity struct { MissingFields - ClientID string `json:"clientId,omitempty"` + // The ClientID of the ClusterUserAssignedIdentity resource + ClientID string `json:"clientId,omitempty"` + + // The PrincipalID of the ClusterUserAssignedIdentity resource PrincipalID string `json:"principalId,omitempty"` } @@ -855,9 +865,18 @@ const ( type Identity struct { MissingFields - Type ResourceIdentityType `json:"type,omitempty"` - PrincipalID string `json:"principalId,omitempty" swagger:"readOnly"` + // The type of the Identity resource. + Type ResourceIdentityType `json:"type,omitempty"` + + // The PrincipalID of the Identity resource. + PrincipalID string `json:"principalId,omitempty" swagger:"readOnly"` + + // A map of ClusterUserAssigned identities attached to the cluster, specified in a type required by Microsoft's Managed Identity team. UserAssignedIdentities map[string]ClusterUserAssignedIdentity `json:"userAssignedIdentities,omitempty"` - IdentityURL string `json:"identityURL,omitempty" mutable:"true"` - TenantID string `json:"tenantId,omitempty" swagger:"readOnly"` + + // The IdentityURL provided by the MSI RP + IdentityURL string `json:"identityURL,omitempty" mutable:"true"` + + // The TenantID provided by the MSI RP + TenantID string `json:"tenantId,omitempty" swagger:"readOnly"` } diff --git a/pkg/api/v20240812preview/openshiftcluster.go b/pkg/api/v20240812preview/openshiftcluster.go index efcfe040c8d..d41f8900006 100644 --- a/pkg/api/v20240812preview/openshiftcluster.go +++ b/pkg/api/v20240812preview/openshiftcluster.go @@ -304,15 +304,25 @@ type UpgradeableTo string // PlatformWorkloadIdentity stores information representing a single workload identity. type PlatformWorkloadIdentity struct { + // The name of the operator for which the PlatformWorkloadIdentity is used for OperatorName string `json:"operatorName,omitempty" mutable:"true"` - ResourceID string `json:"resourceId,omitempty" mutable:"true"` - ClientID string `json:"clientId,omitempty" swagger:"readOnly" mutable:"true"` - ObjectID string `json:"objectId,omitempty" swagger:"readOnly" mutable:"true"` + + // The resource ID of the PlatformWorkloadIdentity resource + ResourceID string `json:"resourceId,omitempty" mutable:"true"` + + // The ClientID of the PlatformWorkloadIdentity resource + ClientID string `json:"clientId,omitempty" swagger:"readOnly" mutable:"true"` + + // The ObjectID of the PlatformWorkloadIdentity resource + ObjectID string `json:"objectId,omitempty" swagger:"readOnly" mutable:"true"` } // ClusterUserAssignedIdentity stores information about a user-assigned managed identity in a predefined format required by Microsoft's Managed Identity team. type ClusterUserAssignedIdentity struct { - ClientID string `json:"clientId,omitempty"` + // The ClientID of the ClusterUserAssignedIdentity resource + ClientID string `json:"clientId,omitempty"` + + // The PrincipalID of the ClusterUserAssignedIdentity resource PrincipalID string `json:"principalId,omitempty"` } @@ -327,9 +337,16 @@ const ( // Identity stores information about the cluster MSI(s) in a workload identity cluster. type Identity struct { - Type ResourceIdentityType `json:"type,omitempty"` - PrincipalID string `json:"principalId,omitempty" swagger:"readOnly"` - TenantID string `json:"tenantId,omitempty" swagger:"readOnly"` + // The type of the Identity resource. + Type ResourceIdentityType `json:"type,omitempty"` + + // The PrincipalID of the Identity resource. + PrincipalID string `json:"principalId,omitempty" swagger:"readOnly"` + + // The TenantID provided by the MSI RP + TenantID string `json:"tenantId,omitempty" swagger:"readOnly"` + + // A map of ClusterUserAssigned identities attached to the cluster, specified in a type required by Microsoft's Managed Identity team. UserAssignedIdentities map[string]ClusterUserAssignedIdentity `json:"userAssignedIdentities,omitempty"` } diff --git a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/redhatopenshift.json b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/redhatopenshift.json index 87201fadbb3..bbdc2f31005 100644 --- a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/redhatopenshift.json +++ b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/redhatopenshift.json @@ -1825,9 +1825,11 @@ "type": "object", "properties": { "clientId": { + "description": "The ClientID of the ClusterUserAssignedIdentity resource", "type": "string" }, "principalId": { + "description": "The PrincipalID of the ClusterUserAssignedIdentity resource", "type": "string" } } @@ -1904,17 +1906,21 @@ "type": "object", "properties": { "type": { - "$ref": "#/definitions/ResourceIdentityType" + "$ref": "#/definitions/ResourceIdentityType", + "description": "The type of the Identity resource." }, "principalId": { + "description": "The PrincipalID of the Identity resource.", "type": "string", "readOnly": true }, "tenantId": { + "description": "The TenantID provided by the MSI RP", "type": "string", "readOnly": true }, "userAssignedIdentities": { + "description": "A map of ClusterUserAssigned identities attached to the cluster, specified in a type required by Microsoft's Managed Identity team.", "type": "object", "additionalProperties": { "$ref": "#/definitions/ClusterUserAssignedIdentity" @@ -2345,16 +2351,20 @@ "type": "object", "properties": { "operatorName": { + "description": "The name of the operator for which the PlatformWorkloadIdentity is used for", "type": "string" }, "resourceId": { + "description": "The resource ID of the PlatformWorkloadIdentity resource", "type": "string" }, "clientId": { + "description": "The ClientID of the PlatformWorkloadIdentity resource", "type": "string", "readOnly": true }, "objectId": { + "description": "The ObjectID of the PlatformWorkloadIdentity resource", "type": "string", "readOnly": true } From de7a1ddff92747f56ad022fec7d5711aadb13e16 Mon Sep 17 00:00:00 2001 From: cadenmarchese Date: Wed, 14 Aug 2024 10:41:09 -0400 Subject: [PATCH 11/27] make client --- .../redhatopenshift/models.go | 21 ++++++---- .../v2024_08_12_preview/models/_models.py | 38 +++++++++++-------- .../v2024_08_12_preview/models/_models_py3.py | 38 +++++++++++-------- 3 files changed, 57 insertions(+), 40 deletions(-) diff --git a/pkg/client/services/redhatopenshift/mgmt/2024-08-12-preview/redhatopenshift/models.go b/pkg/client/services/redhatopenshift/mgmt/2024-08-12-preview/redhatopenshift/models.go index de954824239..6e23876ddc8 100644 --- a/pkg/client/services/redhatopenshift/mgmt/2024-08-12-preview/redhatopenshift/models.go +++ b/pkg/client/services/redhatopenshift/mgmt/2024-08-12-preview/redhatopenshift/models.go @@ -108,7 +108,9 @@ type ClusterProfile struct { // ClusterUserAssignedIdentity clusterUserAssignedIdentity stores information about a user-assigned managed // identity in a predefined format required by Microsoft's Managed Identity team. type ClusterUserAssignedIdentity struct { - ClientID *string `json:"clientId,omitempty"` + // ClientID - The ClientID of the ClusterUserAssignedIdentity resource + ClientID *string `json:"clientId,omitempty"` + // PrincipalID - The PrincipalID of the ClusterUserAssignedIdentity resource PrincipalID *string `json:"principalId,omitempty"` } @@ -145,12 +147,13 @@ type EffectiveOutboundIP struct { // Identity identity stores information about the cluster MSI(s) in a workload identity cluster. type Identity struct { - // Type - Possible values include: 'SystemAssigned', 'UserAssigned' + // Type - The type of the Identity resource. Possible values include: 'SystemAssigned', 'UserAssigned' Type ResourceIdentityType `json:"type,omitempty"` - // PrincipalID - READ-ONLY + // PrincipalID - READ-ONLY; The PrincipalID of the Identity resource. PrincipalID *string `json:"principalId,omitempty"` - // TenantID - READ-ONLY - TenantID *string `json:"tenantId,omitempty"` + // TenantID - READ-ONLY; The TenantID provided by the MSI RP + TenantID *string `json:"tenantId,omitempty"` + // UserAssignedIdentities - A map of ClusterUserAssigned identities attached to the cluster, specified in a type required by Microsoft's Managed Identity team. UserAssignedIdentities map[string]*ClusterUserAssignedIdentity `json:"userAssignedIdentities"` } @@ -1521,11 +1524,13 @@ func NewOperationListPage(cur OperationList, getNextPage func(context.Context, O // PlatformWorkloadIdentity platformWorkloadIdentity stores information representing a single workload // identity. type PlatformWorkloadIdentity struct { + // OperatorName - The name of the operator for which the PlatformWorkloadIdentity is used for OperatorName *string `json:"operatorName,omitempty"` - ResourceID *string `json:"resourceId,omitempty"` - // ClientID - READ-ONLY + // ResourceID - The resource ID of the PlatformWorkloadIdentity resource + ResourceID *string `json:"resourceId,omitempty"` + // ClientID - READ-ONLY; The ClientID of the PlatformWorkloadIdentity resource ClientID *string `json:"clientId,omitempty"` - // ObjectID - READ-ONLY + // ObjectID - READ-ONLY; The ObjectID of the PlatformWorkloadIdentity resource ObjectID *string `json:"objectId,omitempty"` } diff --git a/python/client/azure/mgmt/redhatopenshift/v2024_08_12_preview/models/_models.py b/python/client/azure/mgmt/redhatopenshift/v2024_08_12_preview/models/_models.py index 696b94fb790..8417e28fc5c 100644 --- a/python/client/azure/mgmt/redhatopenshift/v2024_08_12_preview/models/_models.py +++ b/python/client/azure/mgmt/redhatopenshift/v2024_08_12_preview/models/_models.py @@ -162,9 +162,9 @@ def __init__( class ClusterUserAssignedIdentity(msrest.serialization.Model): """ClusterUserAssignedIdentity stores information about a user-assigned managed identity in a predefined format required by Microsoft's Managed Identity team. - :ivar client_id: + :ivar client_id: The ClientID of the ClusterUserAssignedIdentity resource. :vartype client_id: str - :ivar principal_id: + :ivar principal_id: The PrincipalID of the ClusterUserAssignedIdentity resource. :vartype principal_id: str """ @@ -178,9 +178,9 @@ def __init__( **kwargs ): """ - :keyword client_id: + :keyword client_id: The ClientID of the ClusterUserAssignedIdentity resource. :paramtype client_id: str - :keyword principal_id: + :keyword principal_id: The PrincipalID of the ClusterUserAssignedIdentity resource. :paramtype principal_id: str """ super(ClusterUserAssignedIdentity, self).__init__(**kwargs) @@ -284,14 +284,16 @@ class Identity(msrest.serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. - :ivar type: The identity type. Possible values include: "SystemAssigned", "UserAssigned". + :ivar type: The type of the Identity resource. Possible values include: "SystemAssigned", + "UserAssigned". :vartype type: str or ~azure.mgmt.redhatopenshift.v2024_08_12_preview.models.ResourceIdentityType - :ivar principal_id: + :ivar principal_id: The PrincipalID of the Identity resource. :vartype principal_id: str - :ivar tenant_id: + :ivar tenant_id: The TenantID provided by the MSI RP. :vartype tenant_id: str - :ivar user_assigned_identities: Dictionary of :code:``. + :ivar user_assigned_identities: A map of ClusterUserAssigned identities attached to the + cluster, specified in a type required by Microsoft's Managed Identity team. :vartype user_assigned_identities: dict[str, ~azure.mgmt.redhatopenshift.v2024_08_12_preview.models.ClusterUserAssignedIdentity] """ @@ -313,10 +315,12 @@ def __init__( **kwargs ): """ - :keyword type: The identity type. Possible values include: "SystemAssigned", "UserAssigned". + :keyword type: The type of the Identity resource. Possible values include: "SystemAssigned", + "UserAssigned". :paramtype type: str or ~azure.mgmt.redhatopenshift.v2024_08_12_preview.models.ResourceIdentityType - :keyword user_assigned_identities: Dictionary of :code:``. + :keyword user_assigned_identities: A map of ClusterUserAssigned identities attached to the + cluster, specified in a type required by Microsoft's Managed Identity team. :paramtype user_assigned_identities: dict[str, ~azure.mgmt.redhatopenshift.v2024_08_12_preview.models.ClusterUserAssignedIdentity] """ @@ -1284,13 +1288,14 @@ class PlatformWorkloadIdentity(msrest.serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. - :ivar operator_name: + :ivar operator_name: The name of the operator for which the PlatformWorkloadIdentity is used + for. :vartype operator_name: str - :ivar resource_id: + :ivar resource_id: The resource ID of the PlatformWorkloadIdentity resource. :vartype resource_id: str - :ivar client_id: + :ivar client_id: The ClientID of the PlatformWorkloadIdentity resource. :vartype client_id: str - :ivar object_id: + :ivar object_id: The ObjectID of the PlatformWorkloadIdentity resource. :vartype object_id: str """ @@ -1311,9 +1316,10 @@ def __init__( **kwargs ): """ - :keyword operator_name: + :keyword operator_name: The name of the operator for which the PlatformWorkloadIdentity is used + for. :paramtype operator_name: str - :keyword resource_id: + :keyword resource_id: The resource ID of the PlatformWorkloadIdentity resource. :paramtype resource_id: str """ super(PlatformWorkloadIdentity, self).__init__(**kwargs) diff --git a/python/client/azure/mgmt/redhatopenshift/v2024_08_12_preview/models/_models_py3.py b/python/client/azure/mgmt/redhatopenshift/v2024_08_12_preview/models/_models_py3.py index fd80f68c8ad..8f4037f39fd 100644 --- a/python/client/azure/mgmt/redhatopenshift/v2024_08_12_preview/models/_models_py3.py +++ b/python/client/azure/mgmt/redhatopenshift/v2024_08_12_preview/models/_models_py3.py @@ -181,9 +181,9 @@ def __init__( class ClusterUserAssignedIdentity(msrest.serialization.Model): """ClusterUserAssignedIdentity stores information about a user-assigned managed identity in a predefined format required by Microsoft's Managed Identity team. - :ivar client_id: + :ivar client_id: The ClientID of the ClusterUserAssignedIdentity resource. :vartype client_id: str - :ivar principal_id: + :ivar principal_id: The PrincipalID of the ClusterUserAssignedIdentity resource. :vartype principal_id: str """ @@ -200,9 +200,9 @@ def __init__( **kwargs ): """ - :keyword client_id: + :keyword client_id: The ClientID of the ClusterUserAssignedIdentity resource. :paramtype client_id: str - :keyword principal_id: + :keyword principal_id: The PrincipalID of the ClusterUserAssignedIdentity resource. :paramtype principal_id: str """ super(ClusterUserAssignedIdentity, self).__init__(**kwargs) @@ -313,14 +313,16 @@ class Identity(msrest.serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. - :ivar type: The identity type. Possible values include: "SystemAssigned", "UserAssigned". + :ivar type: The type of the Identity resource. Possible values include: "SystemAssigned", + "UserAssigned". :vartype type: str or ~azure.mgmt.redhatopenshift.v2024_08_12_preview.models.ResourceIdentityType - :ivar principal_id: + :ivar principal_id: The PrincipalID of the Identity resource. :vartype principal_id: str - :ivar tenant_id: + :ivar tenant_id: The TenantID provided by the MSI RP. :vartype tenant_id: str - :ivar user_assigned_identities: Dictionary of :code:``. + :ivar user_assigned_identities: A map of ClusterUserAssigned identities attached to the + cluster, specified in a type required by Microsoft's Managed Identity team. :vartype user_assigned_identities: dict[str, ~azure.mgmt.redhatopenshift.v2024_08_12_preview.models.ClusterUserAssignedIdentity] """ @@ -345,10 +347,12 @@ def __init__( **kwargs ): """ - :keyword type: The identity type. Possible values include: "SystemAssigned", "UserAssigned". + :keyword type: The type of the Identity resource. Possible values include: "SystemAssigned", + "UserAssigned". :paramtype type: str or ~azure.mgmt.redhatopenshift.v2024_08_12_preview.models.ResourceIdentityType - :keyword user_assigned_identities: Dictionary of :code:``. + :keyword user_assigned_identities: A map of ClusterUserAssigned identities attached to the + cluster, specified in a type required by Microsoft's Managed Identity team. :paramtype user_assigned_identities: dict[str, ~azure.mgmt.redhatopenshift.v2024_08_12_preview.models.ClusterUserAssignedIdentity] """ @@ -1391,13 +1395,14 @@ class PlatformWorkloadIdentity(msrest.serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. - :ivar operator_name: + :ivar operator_name: The name of the operator for which the PlatformWorkloadIdentity is used + for. :vartype operator_name: str - :ivar resource_id: + :ivar resource_id: The resource ID of the PlatformWorkloadIdentity resource. :vartype resource_id: str - :ivar client_id: + :ivar client_id: The ClientID of the PlatformWorkloadIdentity resource. :vartype client_id: str - :ivar object_id: + :ivar object_id: The ObjectID of the PlatformWorkloadIdentity resource. :vartype object_id: str """ @@ -1421,9 +1426,10 @@ def __init__( **kwargs ): """ - :keyword operator_name: + :keyword operator_name: The name of the operator for which the PlatformWorkloadIdentity is used + for. :paramtype operator_name: str - :keyword resource_id: + :keyword resource_id: The resource ID of the PlatformWorkloadIdentity resource. :paramtype resource_id: str """ super(PlatformWorkloadIdentity, self).__init__(**kwargs) From e0451782bb3848db8699ad186bb792252a891eec Mon Sep 17 00:00:00 2001 From: cadenmarchese Date: Wed, 14 Aug 2024 11:14:11 -0400 Subject: [PATCH 12/27] fix unit test that was failing as a result of removing the UserAssignedIdentity type from the API --- pkg/frontend/openshiftcluster_putorpatch_test.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkg/frontend/openshiftcluster_putorpatch_test.go b/pkg/frontend/openshiftcluster_putorpatch_test.go index d7e32ae7d9a..0a4090f60ed 100644 --- a/pkg/frontend/openshiftcluster_putorpatch_test.go +++ b/pkg/frontend/openshiftcluster_putorpatch_test.go @@ -1947,8 +1947,8 @@ func TestPutOrPatchOpenShiftCluster(t *testing.T) { oc.Properties.ClusterProfile.Version = defaultVersion oc.Identity = &v20240812preview.Identity{ Type: "UserAssigned", - UserAssignedIdentities: v20240812preview.UserAssignedIdentities{ - mockMiResourceId: v20240812preview.ClusterUserAssignedIdentity{}, + UserAssignedIdentities: map[string]v20240812preview.ClusterUserAssignedIdentity{ + mockMiResourceId: {}, }, } oc.Properties.PlatformWorkloadIdentityProfile = &v20240812preview.PlatformWorkloadIdentityProfile{ @@ -2018,8 +2018,8 @@ func TestPutOrPatchOpenShiftCluster(t *testing.T) { Type: "Microsoft.RedHatOpenShift/openShiftClusters", Identity: &api.Identity{ Type: "UserAssigned", - UserAssignedIdentities: api.UserAssignedIdentities{ - mockMiResourceId: api.ClusterUserAssignedIdentity{}, + UserAssignedIdentities: map[string]api.ClusterUserAssignedIdentity{ + mockMiResourceId: {}, }, IdentityURL: middleware.MockIdentityURL, TenantID: mockGuid, @@ -2100,8 +2100,8 @@ func TestPutOrPatchOpenShiftCluster(t *testing.T) { SystemData: &v20240812preview.SystemData{}, Identity: &v20240812preview.Identity{ Type: "UserAssigned", - UserAssignedIdentities: v20240812preview.UserAssignedIdentities{ - mockMiResourceId: v20240812preview.ClusterUserAssignedIdentity{}, + UserAssignedIdentities: map[string]v20240812preview.ClusterUserAssignedIdentity{ + mockMiResourceId: {}, }, }, Properties: v20240812preview.OpenShiftClusterProperties{ From 9fdd9004d7109a3727f81403e5267a45695374fc Mon Sep 17 00:00:00 2001 From: cadenmarchese Date: Thu, 15 Aug 2024 13:15:05 -0400 Subject: [PATCH 13/27] Adjust a doc comment according to feedback --- pkg/api/admin/openshiftcluster.go | 2 +- pkg/api/openshiftcluster.go | 2 +- pkg/api/v20240812preview/openshiftcluster.go | 2 +- .../preview/2024-08-12-preview/redhatopenshift.json | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pkg/api/admin/openshiftcluster.go b/pkg/api/admin/openshiftcluster.go index bd81884a078..4ca902a4e16 100644 --- a/pkg/api/admin/openshiftcluster.go +++ b/pkg/api/admin/openshiftcluster.go @@ -428,7 +428,7 @@ type UpgradeableTo string // PlatformWorkloadIdentity stores information representing a single workload identity. type PlatformWorkloadIdentity struct { - // The name of the operator for which the PlatformWorkloadIdentity is used for + // The name of the operator the PlatformWorkloadIdentity is to be used for OperatorName string `json:"operatorName,omitempty"` // The resource ID of the PlatformWorkloadIdentity resource diff --git a/pkg/api/openshiftcluster.go b/pkg/api/openshiftcluster.go index e41acdb36f5..f9ec7b20547 100644 --- a/pkg/api/openshiftcluster.go +++ b/pkg/api/openshiftcluster.go @@ -828,7 +828,7 @@ type UpgradeableTo string type PlatformWorkloadIdentity struct { MissingFields - // The name of the operator for which the PlatformWorkloadIdentity is used for + // The name of the operator the PlatformWorkloadIdentity is to be used for OperatorName string `json:"operatorName,omitempty"` // The resource ID of the PlatformWorkloadIdentity resource diff --git a/pkg/api/v20240812preview/openshiftcluster.go b/pkg/api/v20240812preview/openshiftcluster.go index d41f8900006..56c82137c44 100644 --- a/pkg/api/v20240812preview/openshiftcluster.go +++ b/pkg/api/v20240812preview/openshiftcluster.go @@ -304,7 +304,7 @@ type UpgradeableTo string // PlatformWorkloadIdentity stores information representing a single workload identity. type PlatformWorkloadIdentity struct { - // The name of the operator for which the PlatformWorkloadIdentity is used for + // The name of the operator the PlatformWorkloadIdentity is to be used for OperatorName string `json:"operatorName,omitempty" mutable:"true"` // The resource ID of the PlatformWorkloadIdentity resource diff --git a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/redhatopenshift.json b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/redhatopenshift.json index bbdc2f31005..8075a4c9c7d 100644 --- a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/redhatopenshift.json +++ b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/redhatopenshift.json @@ -2351,7 +2351,7 @@ "type": "object", "properties": { "operatorName": { - "description": "The name of the operator for which the PlatformWorkloadIdentity is used for", + "description": "The name of the operator the PlatformWorkloadIdentity is to be used for", "type": "string" }, "resourceId": { From 99f6f24adc9e74d97bb2e680315ecdcc9dc21a62 Mon Sep 17 00:00:00 2001 From: cadenmarchese Date: Thu, 15 Aug 2024 13:29:56 -0400 Subject: [PATCH 14/27] make client --- .../mgmt/2024-08-12-preview/redhatopenshift/models.go | 2 +- .../redhatopenshift/v2024_08_12_preview/models/_models.py | 5 ++--- .../v2024_08_12_preview/models/_models_py3.py | 5 ++--- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/pkg/client/services/redhatopenshift/mgmt/2024-08-12-preview/redhatopenshift/models.go b/pkg/client/services/redhatopenshift/mgmt/2024-08-12-preview/redhatopenshift/models.go index 6e23876ddc8..9f908e2553f 100644 --- a/pkg/client/services/redhatopenshift/mgmt/2024-08-12-preview/redhatopenshift/models.go +++ b/pkg/client/services/redhatopenshift/mgmt/2024-08-12-preview/redhatopenshift/models.go @@ -1524,7 +1524,7 @@ func NewOperationListPage(cur OperationList, getNextPage func(context.Context, O // PlatformWorkloadIdentity platformWorkloadIdentity stores information representing a single workload // identity. type PlatformWorkloadIdentity struct { - // OperatorName - The name of the operator for which the PlatformWorkloadIdentity is used for + // OperatorName - The name of the operator the PlatformWorkloadIdentity is to be used for OperatorName *string `json:"operatorName,omitempty"` // ResourceID - The resource ID of the PlatformWorkloadIdentity resource ResourceID *string `json:"resourceId,omitempty"` diff --git a/python/client/azure/mgmt/redhatopenshift/v2024_08_12_preview/models/_models.py b/python/client/azure/mgmt/redhatopenshift/v2024_08_12_preview/models/_models.py index 8417e28fc5c..13ef36c40d4 100644 --- a/python/client/azure/mgmt/redhatopenshift/v2024_08_12_preview/models/_models.py +++ b/python/client/azure/mgmt/redhatopenshift/v2024_08_12_preview/models/_models.py @@ -1288,8 +1288,7 @@ class PlatformWorkloadIdentity(msrest.serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. - :ivar operator_name: The name of the operator for which the PlatformWorkloadIdentity is used - for. + :ivar operator_name: The name of the operator the PlatformWorkloadIdentity is to be used for. :vartype operator_name: str :ivar resource_id: The resource ID of the PlatformWorkloadIdentity resource. :vartype resource_id: str @@ -1316,7 +1315,7 @@ def __init__( **kwargs ): """ - :keyword operator_name: The name of the operator for which the PlatformWorkloadIdentity is used + :keyword operator_name: The name of the operator the PlatformWorkloadIdentity is to be used for. :paramtype operator_name: str :keyword resource_id: The resource ID of the PlatformWorkloadIdentity resource. diff --git a/python/client/azure/mgmt/redhatopenshift/v2024_08_12_preview/models/_models_py3.py b/python/client/azure/mgmt/redhatopenshift/v2024_08_12_preview/models/_models_py3.py index 8f4037f39fd..fd15a17eacd 100644 --- a/python/client/azure/mgmt/redhatopenshift/v2024_08_12_preview/models/_models_py3.py +++ b/python/client/azure/mgmt/redhatopenshift/v2024_08_12_preview/models/_models_py3.py @@ -1395,8 +1395,7 @@ class PlatformWorkloadIdentity(msrest.serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. - :ivar operator_name: The name of the operator for which the PlatformWorkloadIdentity is used - for. + :ivar operator_name: The name of the operator the PlatformWorkloadIdentity is to be used for. :vartype operator_name: str :ivar resource_id: The resource ID of the PlatformWorkloadIdentity resource. :vartype resource_id: str @@ -1426,7 +1425,7 @@ def __init__( **kwargs ): """ - :keyword operator_name: The name of the operator for which the PlatformWorkloadIdentity is used + :keyword operator_name: The name of the operator the PlatformWorkloadIdentity is to be used for. :paramtype operator_name: str :keyword resource_id: The resource ID of the PlatformWorkloadIdentity resource. From a4b108b932435ae524ed4c5b035114dd25c839f7 Mon Sep 17 00:00:00 2001 From: cadenmarchese Date: Tue, 10 Sep 2024 14:54:09 -0400 Subject: [PATCH 15/27] add platformworkloadidentityroleset to API definition and examples --- pkg/swagger/examples.go | 2 + pkg/swagger/generator.go | 106 +++++++------- pkg/swagger/swagger.go | 25 ++++ .../PlatformWorkloadIdentityRoleSet_List.json | 28 ++++ .../2024-08-12-preview/redhatopenshift.json | 134 ++++++++++++++++++ 5 files changed, 244 insertions(+), 51 deletions(-) create mode 100644 swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/PlatformWorkloadIdentityRoleSet_List.json diff --git a/pkg/swagger/examples.go b/pkg/swagger/examples.go index 194e7bc469a..cf731e55066 100644 --- a/pkg/swagger/examples.go +++ b/pkg/swagger/examples.go @@ -174,6 +174,8 @@ func (g *generator) generateExamples(outputDir string, s *Swagger) error { body = g.exampleOperationListResponse() case "#/definitions/OpenShiftVersionList": body = g.exampleOpenShiftVersionListResponse() + case "#/definitions/PlatformWorkloadIdentityRoleSetList": + body = g.examplePlatformWorkloadIdentityRoleSetListResponse() } } diff --git a/pkg/swagger/generator.go b/pkg/swagger/generator.go index ca70793490d..cbd9b157fad 100644 --- a/pkg/swagger/generator.go +++ b/pkg/swagger/generator.go @@ -29,38 +29,40 @@ const apiv20231122Path = "github.com/Azure/ARO-RP/pkg/api/v20231122" const apiv20240812previewPath = "github.com/Azure/ARO-RP/pkg/api/v20240812preview" type generator struct { - exampleSyncSetPutParameter func() interface{} - exampleSyncSetPatchParameter func() interface{} - exampleSyncSetResponse func() interface{} - exampleSyncSetListResponse func() interface{} - exampleMachinePoolPutParameter func() interface{} - exampleMachinePoolPatchParameter func() interface{} - exampleMachinePoolResponse func() interface{} - exampleMachinePoolListResponse func() interface{} - exampleSyncIdentityProviderPutParameter func() interface{} - exampleSyncIdentityProviderPatchParameter func() interface{} - exampleSyncIdentityProviderResponse func() interface{} - exampleSyncIdentityProviderListResponse func() interface{} - exampleSecretPutParameter func() interface{} - exampleSecretPatchParameter func() interface{} - exampleSecretResponse func() interface{} - exampleSecretListResponse func() interface{} - exampleOpenShiftClusterPutParameter func() interface{} - exampleOpenShiftClusterPatchParameter func() interface{} - exampleOpenShiftClusterResponse func() interface{} - exampleOpenShiftClusterGetResponse func() interface{} - exampleOpenShiftClusterPutOrPatchResponse func() interface{} - exampleOpenShiftClusterCredentialsResponse func() interface{} - exampleOpenShiftClusterAdminKubeconfigResponse func() interface{} - exampleOpenShiftClusterListResponse func() interface{} - exampleOpenShiftVersionListResponse func() interface{} - exampleOperationListResponse func() interface{} + exampleSyncSetPutParameter func() interface{} + exampleSyncSetPatchParameter func() interface{} + exampleSyncSetResponse func() interface{} + exampleSyncSetListResponse func() interface{} + exampleMachinePoolPutParameter func() interface{} + exampleMachinePoolPatchParameter func() interface{} + exampleMachinePoolResponse func() interface{} + exampleMachinePoolListResponse func() interface{} + exampleSyncIdentityProviderPutParameter func() interface{} + exampleSyncIdentityProviderPatchParameter func() interface{} + exampleSyncIdentityProviderResponse func() interface{} + exampleSyncIdentityProviderListResponse func() interface{} + exampleSecretPutParameter func() interface{} + exampleSecretPatchParameter func() interface{} + exampleSecretResponse func() interface{} + exampleSecretListResponse func() interface{} + exampleOpenShiftClusterPutParameter func() interface{} + exampleOpenShiftClusterPatchParameter func() interface{} + exampleOpenShiftClusterResponse func() interface{} + exampleOpenShiftClusterGetResponse func() interface{} + exampleOpenShiftClusterPutOrPatchResponse func() interface{} + exampleOpenShiftClusterCredentialsResponse func() interface{} + exampleOpenShiftClusterAdminKubeconfigResponse func() interface{} + exampleOpenShiftClusterListResponse func() interface{} + exampleOpenShiftVersionListResponse func() interface{} + examplePlatformWorkloadIdentityRoleSetListResponse func() interface{} + exampleOperationListResponse func() interface{} systemData bool kubeConfig bool installVersionList bool clusterManager bool workerProfilesStatus bool + roleSetList bool xmsEnum []string xmsSecretList []string xmsIdentifiers []string @@ -290,31 +292,32 @@ var apis = map[string]*generator{ workerProfilesStatus: true, }, apiv20240812previewPath: { - exampleSyncSetPutParameter: v20240812preview.ExampleSyncSetPutParameter, - exampleSyncSetPatchParameter: v20240812preview.ExampleSyncSetPatchParameter, - exampleSyncSetResponse: v20240812preview.ExampleSyncSetResponse, - exampleSyncSetListResponse: v20240812preview.ExampleSyncSetListResponse, - exampleMachinePoolPutParameter: v20240812preview.ExampleMachinePoolPutParameter, - exampleMachinePoolPatchParameter: v20240812preview.ExampleMachinePoolPatchParameter, - exampleMachinePoolResponse: v20240812preview.ExampleMachinePoolResponse, - exampleMachinePoolListResponse: v20240812preview.ExampleMachinePoolListResponse, - exampleSyncIdentityProviderPutParameter: v20240812preview.ExampleSyncIdentityProviderPutParameter, - exampleSyncIdentityProviderPatchParameter: v20240812preview.ExampleSyncIdentityProviderPatchParameter, - exampleSyncIdentityProviderResponse: v20240812preview.ExampleSyncIdentityProviderResponse, - exampleSyncIdentityProviderListResponse: v20240812preview.ExampleSyncIdentityProviderListResponse, - exampleSecretPutParameter: v20240812preview.ExampleSecretPutParameter, - exampleSecretPatchParameter: v20240812preview.ExampleSecretPatchParameter, - exampleSecretResponse: v20240812preview.ExampleSecretResponse, - exampleSecretListResponse: v20240812preview.ExampleSecretListResponse, - exampleOpenShiftClusterPutParameter: v20240812preview.ExampleOpenShiftClusterPutParameter, - exampleOpenShiftClusterPatchParameter: v20240812preview.ExampleOpenShiftClusterPatchParameter, - exampleOpenShiftClusterGetResponse: v20240812preview.ExampleOpenShiftClusterGetResponse, - exampleOpenShiftClusterPutOrPatchResponse: v20240812preview.ExampleOpenShiftClusterPutOrPatchResponse, - exampleOpenShiftClusterCredentialsResponse: v20240812preview.ExampleOpenShiftClusterCredentialsResponse, - exampleOpenShiftClusterListResponse: v20240812preview.ExampleOpenShiftClusterListResponse, - exampleOpenShiftClusterAdminKubeconfigResponse: v20240812preview.ExampleOpenShiftClusterAdminKubeconfigResponse, - exampleOpenShiftVersionListResponse: v20240812preview.ExampleOpenShiftVersionListResponse, - exampleOperationListResponse: api.ExampleOperationListResponse, + exampleSyncSetPutParameter: v20240812preview.ExampleSyncSetPutParameter, + exampleSyncSetPatchParameter: v20240812preview.ExampleSyncSetPatchParameter, + exampleSyncSetResponse: v20240812preview.ExampleSyncSetResponse, + exampleSyncSetListResponse: v20240812preview.ExampleSyncSetListResponse, + exampleMachinePoolPutParameter: v20240812preview.ExampleMachinePoolPutParameter, + exampleMachinePoolPatchParameter: v20240812preview.ExampleMachinePoolPatchParameter, + exampleMachinePoolResponse: v20240812preview.ExampleMachinePoolResponse, + exampleMachinePoolListResponse: v20240812preview.ExampleMachinePoolListResponse, + exampleSyncIdentityProviderPutParameter: v20240812preview.ExampleSyncIdentityProviderPutParameter, + exampleSyncIdentityProviderPatchParameter: v20240812preview.ExampleSyncIdentityProviderPatchParameter, + exampleSyncIdentityProviderResponse: v20240812preview.ExampleSyncIdentityProviderResponse, + exampleSyncIdentityProviderListResponse: v20240812preview.ExampleSyncIdentityProviderListResponse, + exampleSecretPutParameter: v20240812preview.ExampleSecretPutParameter, + exampleSecretPatchParameter: v20240812preview.ExampleSecretPatchParameter, + exampleSecretResponse: v20240812preview.ExampleSecretResponse, + exampleSecretListResponse: v20240812preview.ExampleSecretListResponse, + exampleOpenShiftClusterPutParameter: v20240812preview.ExampleOpenShiftClusterPutParameter, + exampleOpenShiftClusterPatchParameter: v20240812preview.ExampleOpenShiftClusterPatchParameter, + exampleOpenShiftClusterGetResponse: v20240812preview.ExampleOpenShiftClusterGetResponse, + exampleOpenShiftClusterPutOrPatchResponse: v20240812preview.ExampleOpenShiftClusterPutOrPatchResponse, + exampleOpenShiftClusterCredentialsResponse: v20240812preview.ExampleOpenShiftClusterCredentialsResponse, + exampleOpenShiftClusterListResponse: v20240812preview.ExampleOpenShiftClusterListResponse, + exampleOpenShiftClusterAdminKubeconfigResponse: v20240812preview.ExampleOpenShiftClusterAdminKubeconfigResponse, + exampleOpenShiftVersionListResponse: v20240812preview.ExampleOpenShiftVersionListResponse, + examplePlatformWorkloadIdentityRoleSetListResponse: v20240812preview.ExamplePlatformWorkloadIdentityRoleSetListResponse, + exampleOperationListResponse: api.ExampleOperationListResponse, xmsEnum: []string{"ProvisioningState", "PreconfiguredNSG", "EncryptionAtHost", "FipsValidatedModules", "SoftwareDefinedNetwork", "Visibility", "OutboundType", "ResourceIdentityType"}, xmsSecretList: []string{"kubeconfig", "kubeadminPassword", "secretResources"}, @@ -325,6 +328,7 @@ var apis = map[string]*generator{ installVersionList: true, kubeConfig: true, workerProfilesStatus: true, + roleSetList: true, }, } diff --git a/pkg/swagger/swagger.go b/pkg/swagger/swagger.go index 70a72a51573..f46d4dc4584 100644 --- a/pkg/swagger/swagger.go +++ b/pkg/swagger/swagger.go @@ -25,6 +25,7 @@ var proxyResources = []string{ "MachinePool", "Secret", "OpenShiftVersion", + "PlatformWorkloadIdentityRoleSet", } // resourceNamePattern is a regex pattern to validate resource names @@ -132,6 +133,22 @@ func Run(api, outputDir string) error { } } + if g.roleSetList { + s.Paths["/subscriptions/{subscriptionId}/providers/Microsoft.RedHatOpenShift/locations/{location}/platformworkloadidentityroleset"] = &PathItem{ + Get: &Operation{ + Tags: []string{"PlatformWorkloadIdentityRoleSet"}, + Summary: "Lists a mapping of OpenShift versions to identity requirements, which include operatorName, roleDefinitionName, roleDefinitionId, and serviceAccounts.", + Description: "This operation returns PlatformWorkloadIdentityRoleSet as a string", + OperationID: "PlatformWorkloadIdentityRoleSet_List", + Parameters: g.populateParameters(6, "PlatformWorkloadIdentityRoleSetList", "Platform Workload Identity Role Set"), + Responses: g.populateResponses("PlatformWorkloadIdentityRoleSetList", false, http.StatusOK), + Pageable: &Pageable{ + NextLinkName: "nextLink", + }, + }, + } + } + if g.clusterManager { g.populateChildResourcePaths(s.Paths, "Microsoft.RedHatOpenShift", "openShiftCluster", "syncSet", "SyncSet") g.populateChildResourcePaths(s.Paths, "Microsoft.RedHatOpenShift", "openShiftCluster", "machinePool", "MachinePool") @@ -150,6 +167,10 @@ func Run(api, outputDir string) error { names = append(names, "OpenShiftVersionList") } + if g.roleSetList { + names = append(names, "PlatformWorkloadIdentityRoleSetList") + } + if g.clusterManager { // This needs to be the top level struct // in most cases, the "list" struct (a collection of resources) @@ -180,6 +201,10 @@ func Run(api, outputDir string) error { azureResources = append(azureResources, "OpenShiftVersion") } + if g.roleSetList { + azureResources = append(azureResources, "PlatformWorkloadIdentityRoleSet") + } + for _, azureResource := range azureResources { def, err := deepCopy(s.Definitions[azureResource]) if err != nil { diff --git a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/PlatformWorkloadIdentityRoleSet_List.json b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/PlatformWorkloadIdentityRoleSet_List.json new file mode 100644 index 00000000000..cf765320808 --- /dev/null +++ b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/PlatformWorkloadIdentityRoleSet_List.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2024-08-12-preview", + "subscriptionId": "subscriptionId", + "location": "location" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "00000000-0000-0000-0000-000000000000", + "properties": { + "openShiftVersion": "4.14", + "platformWorkloadIdentityRoles": [ + { + "operatorName": "ServiceOperator", + "roleDefinitionName": "AzureRedHatOpenShiftServiceOperator", + "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/00000000-0000-0000-0000-000000000000" + } + ] + } + } + ] + } + } + } +} diff --git a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/redhatopenshift.json b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/redhatopenshift.json index 8075a4c9c7d..16937b79668 100644 --- a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/redhatopenshift.json +++ b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/redhatopenshift.json @@ -96,6 +96,49 @@ } } }, + "/subscriptions/{subscriptionId}/providers/Microsoft.RedHatOpenShift/locations/{location}/platformworkloadidentityroleset": { + "get": { + "tags": [ + "PlatformWorkloadIdentityRoleSet" + ], + "summary": "Lists a mapping of OpenShift versions to identity requirements, which include operatorName, roleDefinitionName, roleDefinitionId, and serviceAccounts.", + "description": "This operation returns PlatformWorkloadIdentityRoleSet as a string", + "operationId": "PlatformWorkloadIdentityRoleSet_List", + "parameters": [ + { + "$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/v3/types.json#/parameters/LocationParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PlatformWorkloadIdentityRoleSetList" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource doesn't exist, 404 (Not Found) is returned. If any of the input parameters is wrong, 400 (Bad Request) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Lists a mapping of OpenShift versions to identity requirements, which include operatorName, roleDefinitionName, roleDefinitionId, and serviceAccounts.": { + "$ref": "./examples/PlatformWorkloadIdentityRoleSet_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, "/subscriptions/{subscriptionId}/providers/Microsoft.RedHatOpenShift/openShiftClusters": { "get": { "tags": [ @@ -2386,6 +2429,97 @@ } } }, + "PlatformWorkloadIdentityRole": { + "description": "PlatformWorkloadIdentityRole represents a mapping from a particular OCP operator to the built-in role that should be assigned to that operator's corresponding managed identity.", + "type": "object", + "properties": { + "operatorName": { + "description": "OperatorName represents the name of the operator that this role is for.", + "type": "string" + }, + "roleDefinitionName": { + "description": "RoleDefinitionName represents the name of the role.", + "type": "string" + }, + "roleDefinitionId": { + "description": "RoleDefinitionID represents the resource ID of the role definition.", + "type": "string" + } + } + }, + "PlatformWorkloadIdentityRoleSet": { + "description": "PlatformWorkloadIdentityRoleSet represents a mapping from the names of OCP operators to the built-in roles that should be assigned to those operator's corresponding managed identities for a particular OCP version.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PlatformWorkloadIdentityRoleSetProperties", + "description": "The properties for the PlatformWorkloadIdentityRoleSet resource.", + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "description": "The system meta data relating to this resource.", + "readOnly": true + } + } + }, + "PlatformWorkloadIdentityRoleSetList": { + "description": "PlatformWorkloadIdentityRoleSetList represents a List of role sets.", + "type": "object", + "properties": { + "value": { + "description": "The list of role sets.", + "type": "array", + "items": { + "$ref": "#/definitions/PlatformWorkloadIdentityRoleSet" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "description": "Next Link to next operation.", + "type": "string" + } + } + }, + "PlatformWorkloadIdentityRoleSetProperties": { + "description": "PlatformWorkloadIdentityRoleSetProperties represents the properties of a PlatformWorkloadIdentityRoleSet resource.", + "type": "object", + "properties": { + "openShiftVersion": { + "description": "OpenShiftVersion represents the version associated with this set of roles.", + "type": "string" + }, + "platformWorkloadIdentityRoles": { + "description": "PlatformWorkloadIdentityRoles represents the set of roles associated with this version.", + "type": "array", + "items": { + "$ref": "#/definitions/PlatformWorkloadIdentityRole" + }, + "x-ms-identifiers": [] + } + } + }, + "PlatformWorkloadIdentityRoleSetUpdate": { + "description": "PlatformWorkloadIdentityRoleSet represents a mapping from the names of OCP operators to the built-in roles that should be assigned to those operator's corresponding managed identities for a particular OCP version.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/PlatformWorkloadIdentityRoleSetProperties", + "description": "The properties for the PlatformWorkloadIdentityRoleSet resource.", + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "description": "The system meta data relating to this resource.", + "readOnly": true + } + } + }, "PreconfiguredNSG": { "description": "PreconfiguredNSG represents whether customers want to use their own NSG attached to the subnets", "enum": [ From 361e8836fbeeb2599d9167f0f76033bd821f2ddc Mon Sep 17 00:00:00 2001 From: Tanmay Satam Date: Thu, 12 Sep 2024 15:03:34 -0400 Subject: [PATCH 16/27] Update client generation to account for swagger subfolder --- hack/build-client.sh | 2 +- .../common-types/resource-management/v1/types.json | 0 .../common-types/resource-management/v2/types.json | 0 .../common-types/resource-management/v3/types.json | 0 4 files changed, 1 insertion(+), 1 deletion(-) rename swagger/{ => redhatopenshift}/common-types/resource-management/v1/types.json (100%) rename swagger/{ => redhatopenshift}/common-types/resource-management/v2/types.json (100%) rename swagger/{ => redhatopenshift}/common-types/resource-management/v3/types.json (100%) diff --git a/hack/build-client.sh b/hack/build-client.sh index e820326d3c5..647f6aac558 100755 --- a/hack/build-client.sh +++ b/hack/build-client.sh @@ -15,7 +15,7 @@ function checksum() { local API_VERSION=$1 local FOLDER=$2 - sha256sum swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/"$FOLDER"/"$API_VERSION"/redhatopenshift.json >>.sha256sum + sha256sum swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/"$FOLDER"/"$API_VERSION"/redhatopenshift.json >>.sha256sum } function generate_golang() { diff --git a/swagger/common-types/resource-management/v1/types.json b/swagger/redhatopenshift/common-types/resource-management/v1/types.json similarity index 100% rename from swagger/common-types/resource-management/v1/types.json rename to swagger/redhatopenshift/common-types/resource-management/v1/types.json diff --git a/swagger/common-types/resource-management/v2/types.json b/swagger/redhatopenshift/common-types/resource-management/v2/types.json similarity index 100% rename from swagger/common-types/resource-management/v2/types.json rename to swagger/redhatopenshift/common-types/resource-management/v2/types.json diff --git a/swagger/common-types/resource-management/v3/types.json b/swagger/redhatopenshift/common-types/resource-management/v3/types.json similarity index 100% rename from swagger/common-types/resource-management/v3/types.json rename to swagger/redhatopenshift/common-types/resource-management/v3/types.json From 4fa7251e8ae79f4d810ce2b2cc9327b19c6e032c Mon Sep 17 00:00:00 2001 From: Tanmay Satam Date: Thu, 12 Sep 2024 15:03:58 -0400 Subject: [PATCH 17/27] make client --- .sha256sum | 2 +- .../redhatopenshift/models.go | 317 ++++++++++++++++++ .../platformworkloadidentityroleset.go | 169 ++++++++++ .../redhatopenshiftapi/interfaces.go | 8 + .../_azure_red_hat_open_shift_client.py | 6 +- .../v2024_08_12_preview/models/__init__.py | 12 + .../v2024_08_12_preview/models/_models.py | 171 ++++++++++ .../v2024_08_12_preview/models/_models_py3.py | 184 ++++++++++ .../operations/__init__.py | 2 + ...m_workload_identity_role_set_operations.py | 179 ++++++++++ 10 files changed, 1048 insertions(+), 2 deletions(-) create mode 100644 pkg/client/services/redhatopenshift/mgmt/2024-08-12-preview/redhatopenshift/platformworkloadidentityroleset.go create mode 100644 python/client/azure/mgmt/redhatopenshift/v2024_08_12_preview/operations/_platform_workload_identity_role_set_operations.py diff --git a/.sha256sum b/.sha256sum index c734575ed0b..026e612d305 100644 --- a/.sha256sum +++ b/.sha256sum @@ -6,4 +6,4 @@ b1f1de0fe40d05de90742b17928968923b936adc294000f58974f50a297581dd swagger/redhat c023515341196746454c0ae7af077d40d3ec13f6b88b33cb558f0a7ab17a5a24 swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2023-07-01-preview/redhatopenshift.json 440748951dd1c3b34b5ccbdcb7cd966e3b89490887a1f1d64429561fad789515 swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/stable/2023-09-04/redhatopenshift.json 74a46fdde6ceb0121fe1515c7e11e902dd921b54cffe693307fb02b3dc88f26e swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/stable/2023-11-22/redhatopenshift.json -5849bcb518f6c7a6942a7eafb1d2edd107a18ad489c823e0262aad4bc509da9f swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/redhatopenshift.json +f0fe964f4ea830ecadfac27e75c7753a1117daef5189ef499d766cb3974bed67 swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/redhatopenshift.json diff --git a/pkg/client/services/redhatopenshift/mgmt/2024-08-12-preview/redhatopenshift/models.go b/pkg/client/services/redhatopenshift/mgmt/2024-08-12-preview/redhatopenshift/models.go index 9f908e2553f..45cc127d8fa 100644 --- a/pkg/client/services/redhatopenshift/mgmt/2024-08-12-preview/redhatopenshift/models.go +++ b/pkg/client/services/redhatopenshift/mgmt/2024-08-12-preview/redhatopenshift/models.go @@ -1553,6 +1553,323 @@ type PlatformWorkloadIdentityProfile struct { PlatformWorkloadIdentities *[]PlatformWorkloadIdentity `json:"platformWorkloadIdentities,omitempty"` } +// PlatformWorkloadIdentityRole platformWorkloadIdentityRole represents a mapping from a particular OCP +// operator to the built-in role that should be assigned to that operator's corresponding managed identity. +type PlatformWorkloadIdentityRole struct { + // OperatorName - OperatorName represents the name of the operator that this role is for. + OperatorName *string `json:"operatorName,omitempty"` + // RoleDefinitionName - RoleDefinitionName represents the name of the role. + RoleDefinitionName *string `json:"roleDefinitionName,omitempty"` + // RoleDefinitionID - RoleDefinitionID represents the resource ID of the role definition. + RoleDefinitionID *string `json:"roleDefinitionId,omitempty"` +} + +// PlatformWorkloadIdentityRoleSet platformWorkloadIdentityRoleSet represents a mapping from the names of +// OCP operators to the built-in roles that should be assigned to those operator's corresponding managed +// identities for a particular OCP version. +type PlatformWorkloadIdentityRoleSet struct { + // PlatformWorkloadIdentityRoleSetProperties - The properties for the PlatformWorkloadIdentityRoleSet resource. + *PlatformWorkloadIdentityRoleSetProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The name of the resource + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + Type *string `json:"type,omitempty"` + // SystemData - READ-ONLY; Azure Resource Manager metadata containing createdBy and modifiedBy information. + SystemData *SystemData `json:"systemData,omitempty"` +} + +// MarshalJSON is the custom marshaler for PlatformWorkloadIdentityRoleSet. +func (pwirs PlatformWorkloadIdentityRoleSet) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if pwirs.PlatformWorkloadIdentityRoleSetProperties != nil { + objectMap["properties"] = pwirs.PlatformWorkloadIdentityRoleSetProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for PlatformWorkloadIdentityRoleSet struct. +func (pwirs *PlatformWorkloadIdentityRoleSet) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var platformWorkloadIdentityRoleSetProperties PlatformWorkloadIdentityRoleSetProperties + err = json.Unmarshal(*v, &platformWorkloadIdentityRoleSetProperties) + if err != nil { + return err + } + pwirs.PlatformWorkloadIdentityRoleSetProperties = &platformWorkloadIdentityRoleSetProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + pwirs.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + pwirs.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + pwirs.Type = &typeVar + } + case "systemData": + if v != nil { + var systemData SystemData + err = json.Unmarshal(*v, &systemData) + if err != nil { + return err + } + pwirs.SystemData = &systemData + } + } + } + + return nil +} + +// PlatformWorkloadIdentityRoleSetList platformWorkloadIdentityRoleSetList represents a List of role sets. +type PlatformWorkloadIdentityRoleSetList struct { + autorest.Response `json:"-"` + // Value - The list of role sets. + Value *[]PlatformWorkloadIdentityRoleSet `json:"value,omitempty"` + // NextLink - Next Link to next operation. + NextLink *string `json:"nextLink,omitempty"` +} + +// PlatformWorkloadIdentityRoleSetListIterator provides access to a complete listing of +// PlatformWorkloadIdentityRoleSet values. +type PlatformWorkloadIdentityRoleSetListIterator struct { + i int + page PlatformWorkloadIdentityRoleSetListPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *PlatformWorkloadIdentityRoleSetListIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PlatformWorkloadIdentityRoleSetListIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *PlatformWorkloadIdentityRoleSetListIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter PlatformWorkloadIdentityRoleSetListIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter PlatformWorkloadIdentityRoleSetListIterator) Response() PlatformWorkloadIdentityRoleSetList { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter PlatformWorkloadIdentityRoleSetListIterator) Value() PlatformWorkloadIdentityRoleSet { + if !iter.page.NotDone() { + return PlatformWorkloadIdentityRoleSet{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the PlatformWorkloadIdentityRoleSetListIterator type. +func NewPlatformWorkloadIdentityRoleSetListIterator(page PlatformWorkloadIdentityRoleSetListPage) PlatformWorkloadIdentityRoleSetListIterator { + return PlatformWorkloadIdentityRoleSetListIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (pwirsl PlatformWorkloadIdentityRoleSetList) IsEmpty() bool { + return pwirsl.Value == nil || len(*pwirsl.Value) == 0 +} + +// hasNextLink returns true if the NextLink is not empty. +func (pwirsl PlatformWorkloadIdentityRoleSetList) hasNextLink() bool { + return pwirsl.NextLink != nil && len(*pwirsl.NextLink) != 0 +} + +// platformWorkloadIdentityRoleSetListPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (pwirsl PlatformWorkloadIdentityRoleSetList) platformWorkloadIdentityRoleSetListPreparer(ctx context.Context) (*http.Request, error) { + if !pwirsl.hasNextLink() { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(pwirsl.NextLink))) +} + +// PlatformWorkloadIdentityRoleSetListPage contains a page of PlatformWorkloadIdentityRoleSet values. +type PlatformWorkloadIdentityRoleSetListPage struct { + fn func(context.Context, PlatformWorkloadIdentityRoleSetList) (PlatformWorkloadIdentityRoleSetList, error) + pwirsl PlatformWorkloadIdentityRoleSetList +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *PlatformWorkloadIdentityRoleSetListPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PlatformWorkloadIdentityRoleSetListPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + for { + next, err := page.fn(ctx, page.pwirsl) + if err != nil { + return err + } + page.pwirsl = next + if !next.hasNextLink() || !next.IsEmpty() { + break + } + } + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *PlatformWorkloadIdentityRoleSetListPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page PlatformWorkloadIdentityRoleSetListPage) NotDone() bool { + return !page.pwirsl.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page PlatformWorkloadIdentityRoleSetListPage) Response() PlatformWorkloadIdentityRoleSetList { + return page.pwirsl +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page PlatformWorkloadIdentityRoleSetListPage) Values() []PlatformWorkloadIdentityRoleSet { + if page.pwirsl.IsEmpty() { + return nil + } + return *page.pwirsl.Value +} + +// Creates a new instance of the PlatformWorkloadIdentityRoleSetListPage type. +func NewPlatformWorkloadIdentityRoleSetListPage(cur PlatformWorkloadIdentityRoleSetList, getNextPage func(context.Context, PlatformWorkloadIdentityRoleSetList) (PlatformWorkloadIdentityRoleSetList, error)) PlatformWorkloadIdentityRoleSetListPage { + return PlatformWorkloadIdentityRoleSetListPage{ + fn: getNextPage, + pwirsl: cur, + } +} + +// PlatformWorkloadIdentityRoleSetProperties platformWorkloadIdentityRoleSetProperties represents the +// properties of a PlatformWorkloadIdentityRoleSet resource. +type PlatformWorkloadIdentityRoleSetProperties struct { + // OpenShiftVersion - OpenShiftVersion represents the version associated with this set of roles. + OpenShiftVersion *string `json:"openShiftVersion,omitempty"` + // PlatformWorkloadIdentityRoles - PlatformWorkloadIdentityRoles represents the set of roles associated with this version. + PlatformWorkloadIdentityRoles *[]PlatformWorkloadIdentityRole `json:"platformWorkloadIdentityRoles,omitempty"` +} + +// PlatformWorkloadIdentityRoleSetUpdate platformWorkloadIdentityRoleSet represents a mapping from the +// names of OCP operators to the built-in roles that should be assigned to those operator's corresponding +// managed identities for a particular OCP version. +type PlatformWorkloadIdentityRoleSetUpdate struct { + // PlatformWorkloadIdentityRoleSetProperties - The properties for the PlatformWorkloadIdentityRoleSet resource. + *PlatformWorkloadIdentityRoleSetProperties `json:"properties,omitempty"` + // SystemData - READ-ONLY; The system meta data relating to this resource. + SystemData *SystemData `json:"systemData,omitempty"` +} + +// MarshalJSON is the custom marshaler for PlatformWorkloadIdentityRoleSetUpdate. +func (pwirsu PlatformWorkloadIdentityRoleSetUpdate) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if pwirsu.PlatformWorkloadIdentityRoleSetProperties != nil { + objectMap["properties"] = pwirsu.PlatformWorkloadIdentityRoleSetProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for PlatformWorkloadIdentityRoleSetUpdate struct. +func (pwirsu *PlatformWorkloadIdentityRoleSetUpdate) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var platformWorkloadIdentityRoleSetProperties PlatformWorkloadIdentityRoleSetProperties + err = json.Unmarshal(*v, &platformWorkloadIdentityRoleSetProperties) + if err != nil { + return err + } + pwirsu.PlatformWorkloadIdentityRoleSetProperties = &platformWorkloadIdentityRoleSetProperties + } + case "systemData": + if v != nil { + var systemData SystemData + err = json.Unmarshal(*v, &systemData) + if err != nil { + return err + } + pwirsu.SystemData = &systemData + } + } + } + + return nil +} + // ProxyResource the resource model definition for a Azure Resource Manager proxy resource. It will not // have tags and a location type ProxyResource struct { diff --git a/pkg/client/services/redhatopenshift/mgmt/2024-08-12-preview/redhatopenshift/platformworkloadidentityroleset.go b/pkg/client/services/redhatopenshift/mgmt/2024-08-12-preview/redhatopenshift/platformworkloadidentityroleset.go new file mode 100644 index 00000000000..96066647f7b --- /dev/null +++ b/pkg/client/services/redhatopenshift/mgmt/2024-08-12-preview/redhatopenshift/platformworkloadidentityroleset.go @@ -0,0 +1,169 @@ +package redhatopenshift + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "net/http" + + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" +) + +// PlatformWorkloadIdentityRoleSetClient is the rest API for Azure Red Hat OpenShift 4 +type PlatformWorkloadIdentityRoleSetClient struct { + BaseClient +} + +// NewPlatformWorkloadIdentityRoleSetClient creates an instance of the PlatformWorkloadIdentityRoleSetClient client. +func NewPlatformWorkloadIdentityRoleSetClient(subscriptionID string) PlatformWorkloadIdentityRoleSetClient { + return NewPlatformWorkloadIdentityRoleSetClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewPlatformWorkloadIdentityRoleSetClientWithBaseURI creates an instance of the PlatformWorkloadIdentityRoleSetClient +// client using a custom endpoint. Use this when interacting with an Azure cloud that uses a non-standard base URI +// (sovereign clouds, Azure stack). +func NewPlatformWorkloadIdentityRoleSetClientWithBaseURI(baseURI string, subscriptionID string) PlatformWorkloadIdentityRoleSetClient { + return PlatformWorkloadIdentityRoleSetClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List this operation returns PlatformWorkloadIdentityRoleSet as a string +// Parameters: +// location - the name of Azure region. +func (client PlatformWorkloadIdentityRoleSetClient) List(ctx context.Context, location string) (result PlatformWorkloadIdentityRoleSetListPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PlatformWorkloadIdentityRoleSetClient.List") + defer func() { + sc := -1 + if result.pwirsl.Response.Response != nil { + sc = result.pwirsl.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: client.SubscriptionID, + Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + {TargetValue: location, + Constraints: []validation.Constraint{{Target: "location", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + return result, validation.NewError("redhatopenshift.PlatformWorkloadIdentityRoleSetClient", "List", err.Error()) + } + + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, location) + if err != nil { + err = autorest.NewErrorWithError(err, "redhatopenshift.PlatformWorkloadIdentityRoleSetClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.pwirsl.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "redhatopenshift.PlatformWorkloadIdentityRoleSetClient", "List", resp, "Failure sending request") + return + } + + result.pwirsl, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "redhatopenshift.PlatformWorkloadIdentityRoleSetClient", "List", resp, "Failure responding to request") + return + } + if result.pwirsl.hasNextLink() && result.pwirsl.IsEmpty() { + err = result.NextWithContext(ctx) + return + } + + return +} + +// ListPreparer prepares the List request. +func (client PlatformWorkloadIdentityRoleSetClient) ListPreparer(ctx context.Context, location string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "location": autorest.Encode("path", location), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2024-08-12-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.RedHatOpenShift/locations/{location}/platformworkloadidentityroleset", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client PlatformWorkloadIdentityRoleSetClient) ListSender(req *http.Request) (*http.Response, error) { + return client.Send(req, azure.DoRetryWithRegistration(client.Client)) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client PlatformWorkloadIdentityRoleSetClient) ListResponder(resp *http.Response) (result PlatformWorkloadIdentityRoleSetList, err error) { + err = autorest.Respond( + resp, + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client PlatformWorkloadIdentityRoleSetClient) listNextResults(ctx context.Context, lastResults PlatformWorkloadIdentityRoleSetList) (result PlatformWorkloadIdentityRoleSetList, err error) { + req, err := lastResults.platformWorkloadIdentityRoleSetListPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "redhatopenshift.PlatformWorkloadIdentityRoleSetClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "redhatopenshift.PlatformWorkloadIdentityRoleSetClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "redhatopenshift.PlatformWorkloadIdentityRoleSetClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client PlatformWorkloadIdentityRoleSetClient) ListComplete(ctx context.Context, location string) (result PlatformWorkloadIdentityRoleSetListIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PlatformWorkloadIdentityRoleSetClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, location) + return +} diff --git a/pkg/client/services/redhatopenshift/mgmt/2024-08-12-preview/redhatopenshift/redhatopenshiftapi/interfaces.go b/pkg/client/services/redhatopenshift/mgmt/2024-08-12-preview/redhatopenshift/redhatopenshiftapi/interfaces.go index a0d7d92fc9e..7957c7be574 100644 --- a/pkg/client/services/redhatopenshift/mgmt/2024-08-12-preview/redhatopenshift/redhatopenshiftapi/interfaces.go +++ b/pkg/client/services/redhatopenshift/mgmt/2024-08-12-preview/redhatopenshift/redhatopenshiftapi/interfaces.go @@ -41,6 +41,14 @@ type OpenShiftVersionsClientAPI interface { var _ OpenShiftVersionsClientAPI = (*redhatopenshift.OpenShiftVersionsClient)(nil) +// PlatformWorkloadIdentityRoleSetClientAPI contains the set of methods on the PlatformWorkloadIdentityRoleSetClient type. +type PlatformWorkloadIdentityRoleSetClientAPI interface { + List(ctx context.Context, location string) (result redhatopenshift.PlatformWorkloadIdentityRoleSetListPage, err error) + ListComplete(ctx context.Context, location string) (result redhatopenshift.PlatformWorkloadIdentityRoleSetListIterator, err error) +} + +var _ PlatformWorkloadIdentityRoleSetClientAPI = (*redhatopenshift.PlatformWorkloadIdentityRoleSetClient)(nil) + // OpenShiftClustersClientAPI contains the set of methods on the OpenShiftClustersClient type. type OpenShiftClustersClientAPI interface { CreateOrUpdate(ctx context.Context, resourceGroupName string, resourceName string, parameters redhatopenshift.OpenShiftCluster) (result redhatopenshift.OpenShiftClustersCreateOrUpdateFuture, err error) diff --git a/python/client/azure/mgmt/redhatopenshift/v2024_08_12_preview/_azure_red_hat_open_shift_client.py b/python/client/azure/mgmt/redhatopenshift/v2024_08_12_preview/_azure_red_hat_open_shift_client.py index 28f431ddd2a..36e47d7c40c 100644 --- a/python/client/azure/mgmt/redhatopenshift/v2024_08_12_preview/_azure_red_hat_open_shift_client.py +++ b/python/client/azure/mgmt/redhatopenshift/v2024_08_12_preview/_azure_red_hat_open_shift_client.py @@ -23,7 +23,7 @@ from . import models from ._configuration import AzureRedHatOpenShiftClientConfiguration -from .operations import MachinePoolsOperations, OpenShiftClustersOperations, OpenShiftVersionsOperations, Operations, SecretsOperations, SyncIdentityProvidersOperations, SyncSetsOperations +from .operations import MachinePoolsOperations, OpenShiftClustersOperations, OpenShiftVersionsOperations, Operations, PlatformWorkloadIdentityRoleSetOperations, SecretsOperations, SyncIdentityProvidersOperations, SyncSetsOperations if TYPE_CHECKING: # pylint: disable=unused-import,ungrouped-imports @@ -40,6 +40,9 @@ class AzureRedHatOpenShiftClient(object): # pylint: disable=too-many-instance :ivar open_shift_versions: OpenShiftVersionsOperations operations :vartype open_shift_versions: azure.mgmt.redhatopenshift.v2024_08_12_preview.operations.OpenShiftVersionsOperations + :ivar platform_workload_identity_role_set: PlatformWorkloadIdentityRoleSetOperations operations + :vartype platform_workload_identity_role_set: + azure.mgmt.redhatopenshift.v2024_08_12_preview.operations.PlatformWorkloadIdentityRoleSetOperations :ivar open_shift_clusters: OpenShiftClustersOperations operations :vartype open_shift_clusters: azure.mgmt.redhatopenshift.v2024_08_12_preview.operations.OpenShiftClustersOperations @@ -84,6 +87,7 @@ def __init__( self._serialize.client_side_validation = False self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) self.open_shift_versions = OpenShiftVersionsOperations(self._client, self._config, self._serialize, self._deserialize) + self.platform_workload_identity_role_set = PlatformWorkloadIdentityRoleSetOperations(self._client, self._config, self._serialize, self._deserialize) self.open_shift_clusters = OpenShiftClustersOperations(self._client, self._config, self._serialize, self._deserialize) self.machine_pools = MachinePoolsOperations(self._client, self._config, self._serialize, self._deserialize) self.secrets = SecretsOperations(self._client, self._config, self._serialize, self._deserialize) diff --git a/python/client/azure/mgmt/redhatopenshift/v2024_08_12_preview/models/__init__.py b/python/client/azure/mgmt/redhatopenshift/v2024_08_12_preview/models/__init__.py index 55ee3f1778f..7efdfda5e90 100644 --- a/python/client/azure/mgmt/redhatopenshift/v2024_08_12_preview/models/__init__.py +++ b/python/client/azure/mgmt/redhatopenshift/v2024_08_12_preview/models/__init__.py @@ -42,6 +42,10 @@ from ._models_py3 import OperationList from ._models_py3 import PlatformWorkloadIdentity from ._models_py3 import PlatformWorkloadIdentityProfile + from ._models_py3 import PlatformWorkloadIdentityRole + from ._models_py3 import PlatformWorkloadIdentityRoleSet + from ._models_py3 import PlatformWorkloadIdentityRoleSetList + from ._models_py3 import PlatformWorkloadIdentityRoleSetUpdate from ._models_py3 import ProxyResource from ._models_py3 import Resource from ._models_py3 import Secret @@ -85,6 +89,10 @@ from ._models import OperationList # type: ignore from ._models import PlatformWorkloadIdentity # type: ignore from ._models import PlatformWorkloadIdentityProfile # type: ignore + from ._models import PlatformWorkloadIdentityRole # type: ignore + from ._models import PlatformWorkloadIdentityRoleSet # type: ignore + from ._models import PlatformWorkloadIdentityRoleSetList # type: ignore + from ._models import PlatformWorkloadIdentityRoleSetUpdate # type: ignore from ._models import ProxyResource # type: ignore from ._models import Resource # type: ignore from ._models import Secret # type: ignore @@ -140,6 +148,10 @@ 'OperationList', 'PlatformWorkloadIdentity', 'PlatformWorkloadIdentityProfile', + 'PlatformWorkloadIdentityRole', + 'PlatformWorkloadIdentityRoleSet', + 'PlatformWorkloadIdentityRoleSetList', + 'PlatformWorkloadIdentityRoleSetUpdate', 'ProxyResource', 'Resource', 'Secret', diff --git a/python/client/azure/mgmt/redhatopenshift/v2024_08_12_preview/models/_models.py b/python/client/azure/mgmt/redhatopenshift/v2024_08_12_preview/models/_models.py index 13ef36c40d4..4ed5fcc313a 100644 --- a/python/client/azure/mgmt/redhatopenshift/v2024_08_12_preview/models/_models.py +++ b/python/client/azure/mgmt/redhatopenshift/v2024_08_12_preview/models/_models.py @@ -1361,6 +1361,177 @@ def __init__( self.platform_workload_identities = kwargs.get('platform_workload_identities', None) +class PlatformWorkloadIdentityRole(msrest.serialization.Model): + """PlatformWorkloadIdentityRole represents a mapping from a particular OCP operator to the built-in role that should be assigned to that operator's corresponding managed identity. + + :ivar operator_name: OperatorName represents the name of the operator that this role is for. + :vartype operator_name: str + :ivar role_definition_name: RoleDefinitionName represents the name of the role. + :vartype role_definition_name: str + :ivar role_definition_id: RoleDefinitionID represents the resource ID of the role definition. + :vartype role_definition_id: str + """ + + _attribute_map = { + 'operator_name': {'key': 'operatorName', 'type': 'str'}, + 'role_definition_name': {'key': 'roleDefinitionName', 'type': 'str'}, + 'role_definition_id': {'key': 'roleDefinitionId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + :keyword operator_name: OperatorName represents the name of the operator that this role is for. + :paramtype operator_name: str + :keyword role_definition_name: RoleDefinitionName represents the name of the role. + :paramtype role_definition_name: str + :keyword role_definition_id: RoleDefinitionID represents the resource ID of the role + definition. + :paramtype role_definition_id: str + """ + super(PlatformWorkloadIdentityRole, self).__init__(**kwargs) + self.operator_name = kwargs.get('operator_name', None) + self.role_definition_name = kwargs.get('role_definition_name', None) + self.role_definition_id = kwargs.get('role_definition_id', None) + + +class PlatformWorkloadIdentityRoleSet(ProxyResource): + """PlatformWorkloadIdentityRoleSet represents a mapping from the names of OCP operators to the built-in roles that should be assigned to those operator's corresponding managed identities for a particular OCP version. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy + information. + :vartype system_data: ~azure.mgmt.redhatopenshift.v2024_08_12_preview.models.SystemData + :ivar open_shift_version: OpenShiftVersion represents the version associated with this set of + roles. + :vartype open_shift_version: str + :ivar platform_workload_identity_roles: PlatformWorkloadIdentityRoles represents the set of + roles associated with this version. + :vartype platform_workload_identity_roles: + list[~azure.mgmt.redhatopenshift.v2024_08_12_preview.models.PlatformWorkloadIdentityRole] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'open_shift_version': {'key': 'properties.openShiftVersion', 'type': 'str'}, + 'platform_workload_identity_roles': {'key': 'properties.platformWorkloadIdentityRoles', 'type': '[PlatformWorkloadIdentityRole]'}, + } + + def __init__( + self, + **kwargs + ): + """ + :keyword open_shift_version: OpenShiftVersion represents the version associated with this set + of roles. + :paramtype open_shift_version: str + :keyword platform_workload_identity_roles: PlatformWorkloadIdentityRoles represents the set of + roles associated with this version. + :paramtype platform_workload_identity_roles: + list[~azure.mgmt.redhatopenshift.v2024_08_12_preview.models.PlatformWorkloadIdentityRole] + """ + super(PlatformWorkloadIdentityRoleSet, self).__init__(**kwargs) + self.open_shift_version = kwargs.get('open_shift_version', None) + self.platform_workload_identity_roles = kwargs.get('platform_workload_identity_roles', None) + + +class PlatformWorkloadIdentityRoleSetList(msrest.serialization.Model): + """PlatformWorkloadIdentityRoleSetList represents a List of role sets. + + :ivar value: The list of role sets. + :vartype value: + list[~azure.mgmt.redhatopenshift.v2024_08_12_preview.models.PlatformWorkloadIdentityRoleSet] + :ivar next_link: Next Link to next operation. + :vartype next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[PlatformWorkloadIdentityRoleSet]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + :keyword value: The list of role sets. + :paramtype value: + list[~azure.mgmt.redhatopenshift.v2024_08_12_preview.models.PlatformWorkloadIdentityRoleSet] + :keyword next_link: Next Link to next operation. + :paramtype next_link: str + """ + super(PlatformWorkloadIdentityRoleSetList, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class PlatformWorkloadIdentityRoleSetUpdate(msrest.serialization.Model): + """PlatformWorkloadIdentityRoleSet represents a mapping from the names of OCP operators to the built-in roles that should be assigned to those operator's corresponding managed identities for a particular OCP version. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar system_data: The system meta data relating to this resource. + :vartype system_data: ~azure.mgmt.redhatopenshift.v2024_08_12_preview.models.SystemData + :ivar open_shift_version: OpenShiftVersion represents the version associated with this set of + roles. + :vartype open_shift_version: str + :ivar platform_workload_identity_roles: PlatformWorkloadIdentityRoles represents the set of + roles associated with this version. + :vartype platform_workload_identity_roles: + list[~azure.mgmt.redhatopenshift.v2024_08_12_preview.models.PlatformWorkloadIdentityRole] + """ + + _validation = { + 'system_data': {'readonly': True}, + } + + _attribute_map = { + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'open_shift_version': {'key': 'properties.openShiftVersion', 'type': 'str'}, + 'platform_workload_identity_roles': {'key': 'properties.platformWorkloadIdentityRoles', 'type': '[PlatformWorkloadIdentityRole]'}, + } + + def __init__( + self, + **kwargs + ): + """ + :keyword open_shift_version: OpenShiftVersion represents the version associated with this set + of roles. + :paramtype open_shift_version: str + :keyword platform_workload_identity_roles: PlatformWorkloadIdentityRoles represents the set of + roles associated with this version. + :paramtype platform_workload_identity_roles: + list[~azure.mgmt.redhatopenshift.v2024_08_12_preview.models.PlatformWorkloadIdentityRole] + """ + super(PlatformWorkloadIdentityRoleSetUpdate, self).__init__(**kwargs) + self.system_data = None + self.open_shift_version = kwargs.get('open_shift_version', None) + self.platform_workload_identity_roles = kwargs.get('platform_workload_identity_roles', None) + + class Secret(ProxyResource): """Secret represents a secret. diff --git a/python/client/azure/mgmt/redhatopenshift/v2024_08_12_preview/models/_models_py3.py b/python/client/azure/mgmt/redhatopenshift/v2024_08_12_preview/models/_models_py3.py index fd15a17eacd..9cb8ffe5848 100644 --- a/python/client/azure/mgmt/redhatopenshift/v2024_08_12_preview/models/_models_py3.py +++ b/python/client/azure/mgmt/redhatopenshift/v2024_08_12_preview/models/_models_py3.py @@ -1474,6 +1474,190 @@ def __init__( self.platform_workload_identities = platform_workload_identities +class PlatformWorkloadIdentityRole(msrest.serialization.Model): + """PlatformWorkloadIdentityRole represents a mapping from a particular OCP operator to the built-in role that should be assigned to that operator's corresponding managed identity. + + :ivar operator_name: OperatorName represents the name of the operator that this role is for. + :vartype operator_name: str + :ivar role_definition_name: RoleDefinitionName represents the name of the role. + :vartype role_definition_name: str + :ivar role_definition_id: RoleDefinitionID represents the resource ID of the role definition. + :vartype role_definition_id: str + """ + + _attribute_map = { + 'operator_name': {'key': 'operatorName', 'type': 'str'}, + 'role_definition_name': {'key': 'roleDefinitionName', 'type': 'str'}, + 'role_definition_id': {'key': 'roleDefinitionId', 'type': 'str'}, + } + + def __init__( + self, + *, + operator_name: Optional[str] = None, + role_definition_name: Optional[str] = None, + role_definition_id: Optional[str] = None, + **kwargs + ): + """ + :keyword operator_name: OperatorName represents the name of the operator that this role is for. + :paramtype operator_name: str + :keyword role_definition_name: RoleDefinitionName represents the name of the role. + :paramtype role_definition_name: str + :keyword role_definition_id: RoleDefinitionID represents the resource ID of the role + definition. + :paramtype role_definition_id: str + """ + super(PlatformWorkloadIdentityRole, self).__init__(**kwargs) + self.operator_name = operator_name + self.role_definition_name = role_definition_name + self.role_definition_id = role_definition_id + + +class PlatformWorkloadIdentityRoleSet(ProxyResource): + """PlatformWorkloadIdentityRoleSet represents a mapping from the names of OCP operators to the built-in roles that should be assigned to those operator's corresponding managed identities for a particular OCP version. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy + information. + :vartype system_data: ~azure.mgmt.redhatopenshift.v2024_08_12_preview.models.SystemData + :ivar open_shift_version: OpenShiftVersion represents the version associated with this set of + roles. + :vartype open_shift_version: str + :ivar platform_workload_identity_roles: PlatformWorkloadIdentityRoles represents the set of + roles associated with this version. + :vartype platform_workload_identity_roles: + list[~azure.mgmt.redhatopenshift.v2024_08_12_preview.models.PlatformWorkloadIdentityRole] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'open_shift_version': {'key': 'properties.openShiftVersion', 'type': 'str'}, + 'platform_workload_identity_roles': {'key': 'properties.platformWorkloadIdentityRoles', 'type': '[PlatformWorkloadIdentityRole]'}, + } + + def __init__( + self, + *, + open_shift_version: Optional[str] = None, + platform_workload_identity_roles: Optional[List["PlatformWorkloadIdentityRole"]] = None, + **kwargs + ): + """ + :keyword open_shift_version: OpenShiftVersion represents the version associated with this set + of roles. + :paramtype open_shift_version: str + :keyword platform_workload_identity_roles: PlatformWorkloadIdentityRoles represents the set of + roles associated with this version. + :paramtype platform_workload_identity_roles: + list[~azure.mgmt.redhatopenshift.v2024_08_12_preview.models.PlatformWorkloadIdentityRole] + """ + super(PlatformWorkloadIdentityRoleSet, self).__init__(**kwargs) + self.open_shift_version = open_shift_version + self.platform_workload_identity_roles = platform_workload_identity_roles + + +class PlatformWorkloadIdentityRoleSetList(msrest.serialization.Model): + """PlatformWorkloadIdentityRoleSetList represents a List of role sets. + + :ivar value: The list of role sets. + :vartype value: + list[~azure.mgmt.redhatopenshift.v2024_08_12_preview.models.PlatformWorkloadIdentityRoleSet] + :ivar next_link: Next Link to next operation. + :vartype next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[PlatformWorkloadIdentityRoleSet]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["PlatformWorkloadIdentityRoleSet"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + """ + :keyword value: The list of role sets. + :paramtype value: + list[~azure.mgmt.redhatopenshift.v2024_08_12_preview.models.PlatformWorkloadIdentityRoleSet] + :keyword next_link: Next Link to next operation. + :paramtype next_link: str + """ + super(PlatformWorkloadIdentityRoleSetList, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class PlatformWorkloadIdentityRoleSetUpdate(msrest.serialization.Model): + """PlatformWorkloadIdentityRoleSet represents a mapping from the names of OCP operators to the built-in roles that should be assigned to those operator's corresponding managed identities for a particular OCP version. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar system_data: The system meta data relating to this resource. + :vartype system_data: ~azure.mgmt.redhatopenshift.v2024_08_12_preview.models.SystemData + :ivar open_shift_version: OpenShiftVersion represents the version associated with this set of + roles. + :vartype open_shift_version: str + :ivar platform_workload_identity_roles: PlatformWorkloadIdentityRoles represents the set of + roles associated with this version. + :vartype platform_workload_identity_roles: + list[~azure.mgmt.redhatopenshift.v2024_08_12_preview.models.PlatformWorkloadIdentityRole] + """ + + _validation = { + 'system_data': {'readonly': True}, + } + + _attribute_map = { + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'open_shift_version': {'key': 'properties.openShiftVersion', 'type': 'str'}, + 'platform_workload_identity_roles': {'key': 'properties.platformWorkloadIdentityRoles', 'type': '[PlatformWorkloadIdentityRole]'}, + } + + def __init__( + self, + *, + open_shift_version: Optional[str] = None, + platform_workload_identity_roles: Optional[List["PlatformWorkloadIdentityRole"]] = None, + **kwargs + ): + """ + :keyword open_shift_version: OpenShiftVersion represents the version associated with this set + of roles. + :paramtype open_shift_version: str + :keyword platform_workload_identity_roles: PlatformWorkloadIdentityRoles represents the set of + roles associated with this version. + :paramtype platform_workload_identity_roles: + list[~azure.mgmt.redhatopenshift.v2024_08_12_preview.models.PlatformWorkloadIdentityRole] + """ + super(PlatformWorkloadIdentityRoleSetUpdate, self).__init__(**kwargs) + self.system_data = None + self.open_shift_version = open_shift_version + self.platform_workload_identity_roles = platform_workload_identity_roles + + class Secret(ProxyResource): """Secret represents a secret. diff --git a/python/client/azure/mgmt/redhatopenshift/v2024_08_12_preview/operations/__init__.py b/python/client/azure/mgmt/redhatopenshift/v2024_08_12_preview/operations/__init__.py index 3227f81cb2c..4cdddb32621 100644 --- a/python/client/azure/mgmt/redhatopenshift/v2024_08_12_preview/operations/__init__.py +++ b/python/client/azure/mgmt/redhatopenshift/v2024_08_12_preview/operations/__init__.py @@ -16,6 +16,7 @@ from ._operations import Operations from ._open_shift_versions_operations import OpenShiftVersionsOperations +from ._platform_workload_identity_role_set_operations import PlatformWorkloadIdentityRoleSetOperations from ._open_shift_clusters_operations import OpenShiftClustersOperations from ._machine_pools_operations import MachinePoolsOperations from ._secrets_operations import SecretsOperations @@ -25,6 +26,7 @@ __all__ = [ 'Operations', 'OpenShiftVersionsOperations', + 'PlatformWorkloadIdentityRoleSetOperations', 'OpenShiftClustersOperations', 'MachinePoolsOperations', 'SecretsOperations', diff --git a/python/client/azure/mgmt/redhatopenshift/v2024_08_12_preview/operations/_platform_workload_identity_role_set_operations.py b/python/client/azure/mgmt/redhatopenshift/v2024_08_12_preview/operations/_platform_workload_identity_role_set_operations.py new file mode 100644 index 00000000000..edd591508db --- /dev/null +++ b/python/client/azure/mgmt/redhatopenshift/v2024_08_12_preview/operations/_platform_workload_identity_role_set_operations.py @@ -0,0 +1,179 @@ +# pylint: disable=too-many-lines +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING + +from msrest import Serializer + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Iterable, Optional, TypeVar + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False +# fmt: off + +def build_list_request( + subscription_id, # type: str + location, # type: str + **kwargs # type: Any +): + # type: (...) -> HttpRequest + api_version = kwargs.pop('api_version', "2024-08-12-preview") # type: str + + accept = "application/json" + # Construct URL + _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/providers/Microsoft.RedHatOpenShift/locations/{location}/platformworkloadidentityroleset") # pylint: disable=line-too-long + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "location": _SERIALIZER.url("location", location, 'str', min_length=1), + } + + _url = _format_url_section(_url, **path_format_arguments) + + # Construct parameters + _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=_url, + params=_query_parameters, + headers=_header_parameters, + **kwargs + ) + +# fmt: on +class PlatformWorkloadIdentityRoleSetOperations(object): + """PlatformWorkloadIdentityRoleSetOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.redhatopenshift.v2024_08_12_preview.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + location, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.PlatformWorkloadIdentityRoleSetList"] + """Lists a mapping of OpenShift versions to identity requirements, which include operatorName, + roleDefinitionName, roleDefinitionId, and serviceAccounts. + + This operation returns PlatformWorkloadIdentityRoleSet as a string. + + :param location: The name of Azure region. + :type location: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either PlatformWorkloadIdentityRoleSetList or the result + of cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.redhatopenshift.v2024_08_12_preview.models.PlatformWorkloadIdentityRoleSetList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + api_version = kwargs.pop('api_version', "2024-08-12-preview") # type: str + + cls = kwargs.pop('cls', None) # type: ClsType["_models.PlatformWorkloadIdentityRoleSetList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + api_version=api_version, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + api_version=api_version, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("PlatformWorkloadIdentityRoleSetList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access + request, + stream=False, + **kwargs + ) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': "/subscriptions/{subscriptionId}/providers/Microsoft.RedHatOpenShift/locations/{location}/platformworkloadidentityroleset"} # type: ignore From 8436ad353dadcd0d3a076e4ad613ab56e6b45166 Mon Sep 17 00:00:00 2001 From: cadenmarchese Date: Fri, 13 Sep 2024 10:49:11 -0400 Subject: [PATCH 18/27] fix pwip and validatestatic unit tests --- .../dynamic/platformworkloadidentityprofile_test.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkg/validate/dynamic/platformworkloadidentityprofile_test.go b/pkg/validate/dynamic/platformworkloadidentityprofile_test.go index 6534221fd2a..92d5dd9e358 100644 --- a/pkg/validate/dynamic/platformworkloadidentityprofile_test.go +++ b/pkg/validate/dynamic/platformworkloadidentityprofile_test.go @@ -156,8 +156,8 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { OperatorName: "Dummy1", }, } - clusterMSI := api.UserAssignedIdentities{ - msiResourceID: api.ClusterUserAssignedIdentity{ + clusterMSI := map[string]api.ClusterUserAssignedIdentity{ + msiResourceID: { ClientID: dummyClientId, PrincipalID: dummyObjectId, }, @@ -407,7 +407,7 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { }, }, Identity: &api.Identity{ - UserAssignedIdentities: api.UserAssignedIdentities{ + UserAssignedIdentities: map[string]api.ClusterUserAssignedIdentity{ "invalidUUID": {}, }, }, From 307f5e0ded850f0cd6743a4b3a3ea097353709b3 Mon Sep 17 00:00:00 2001 From: cadenmarchese Date: Wed, 18 Sep 2024 08:26:39 -0400 Subject: [PATCH 19/27] fix relative path to common-types --- pkg/swagger/examples.go | 8 +- pkg/swagger/paths.go | 8 +- pkg/swagger/swagger.go | 4 +- pkg/swagger/typewalker.go | 2 +- .../resource-management/v1/types.json | 0 .../resource-management/v2/types.json | 0 .../resource-management/v3/types.json | 0 .../2021-09-01-preview/redhatopenshift.json | 54 ++--- .../2023-07-01-preview/redhatopenshift.json | 208 ++++++++--------- .../2024-08-12-preview/redhatopenshift.json | 220 +++++++++--------- .../stable/2020-04-30/redhatopenshift.json | 44 ++-- .../stable/2022-04-01/redhatopenshift.json | 54 ++--- .../stable/2022-09-04/redhatopenshift.json | 208 ++++++++--------- .../stable/2023-04-01/redhatopenshift.json | 208 ++++++++--------- .../stable/2023-09-04/redhatopenshift.json | 208 ++++++++--------- .../stable/2023-11-22/redhatopenshift.json | 208 ++++++++--------- 16 files changed, 717 insertions(+), 717 deletions(-) rename swagger/{redhatopenshift => }/common-types/resource-management/v1/types.json (100%) rename swagger/{redhatopenshift => }/common-types/resource-management/v2/types.json (100%) rename swagger/{redhatopenshift => }/common-types/resource-management/v3/types.json (100%) diff --git a/pkg/swagger/examples.go b/pkg/swagger/examples.go index cf731e55066..bb6a6bbde80 100644 --- a/pkg/swagger/examples.go +++ b/pkg/swagger/examples.go @@ -37,22 +37,22 @@ func (g *generator) generateExamples(outputDir string, s *Swagger) error { switch param := param.(type) { case Reference: switch param.Ref { - case "../../../../../common-types/resource-management/" + g.commonTypesVersion + "/types.json#/parameters/ApiVersionParameter": + case "../../../../../../common-types/resource-management/" + g.commonTypesVersion + "/types.json#/parameters/ApiVersionParameter": example.Parameters = append(example.Parameters, NameParameter{ Name: "api-version", Parameter: stringutils.LastTokenByte(outputDir, '/'), }) - case "../../../../../common-types/resource-management/" + g.commonTypesVersion + "/types.json#/parameters/SubscriptionIdParameter": + case "../../../../../../common-types/resource-management/" + g.commonTypesVersion + "/types.json#/parameters/SubscriptionIdParameter": example.Parameters = append(example.Parameters, NameParameter{ Name: "subscriptionId", Parameter: "subscriptionId", }) - case "../../../../../common-types/resource-management/" + g.commonTypesVersion + "/types.json#/parameters/ResourceGroupNameParameter": + case "../../../../../../common-types/resource-management/" + g.commonTypesVersion + "/types.json#/parameters/ResourceGroupNameParameter": example.Parameters = append(example.Parameters, NameParameter{ Name: "resourceGroupName", Parameter: "resourceGroup", }) - case "../../../../../common-types/resource-management/" + g.commonTypesVersion + "/types.json#/parameters/LocationParameter": + case "../../../../../../common-types/resource-management/" + g.commonTypesVersion + "/types.json#/parameters/LocationParameter": example.Parameters = append(example.Parameters, NameParameter{ Name: "location", Parameter: "location", diff --git a/pkg/swagger/paths.go b/pkg/swagger/paths.go index 43b188d4af2..70103ab49c4 100644 --- a/pkg/swagger/paths.go +++ b/pkg/swagger/paths.go @@ -29,25 +29,25 @@ import ( func (g *generator) populateParameters(n int, typ, friendlyName string) (s []interface{}) { s = []interface{}{ Reference{ - Ref: "../../../../../common-types/resource-management/" + g.commonTypesVersion + "/types.json#/parameters/ApiVersionParameter", + Ref: "../../../../../../common-types/resource-management/" + g.commonTypesVersion + "/types.json#/parameters/ApiVersionParameter", }, } if n > 0 { s = append(s, Reference{ - Ref: "../../../../../common-types/resource-management/" + g.commonTypesVersion + "/types.json#/parameters/SubscriptionIdParameter", + Ref: "../../../../../../common-types/resource-management/" + g.commonTypesVersion + "/types.json#/parameters/SubscriptionIdParameter", }) } if n == 6 { s = append(s, Reference{ - Ref: "../../../../../common-types/resource-management/" + g.commonTypesVersion + "/types.json#/parameters/LocationParameter", + Ref: "../../../../../../common-types/resource-management/" + g.commonTypesVersion + "/types.json#/parameters/LocationParameter", }) return } if n > 1 { s = append(s, Reference{ - Ref: "../../../../../common-types/resource-management/" + g.commonTypesVersion + "/types.json#/parameters/ResourceGroupNameParameter", + Ref: "../../../../../../common-types/resource-management/" + g.commonTypesVersion + "/types.json#/parameters/ResourceGroupNameParameter", }) } diff --git a/pkg/swagger/swagger.go b/pkg/swagger/swagger.go index f46d4dc4584..a0fcbba1683 100644 --- a/pkg/swagger/swagger.go +++ b/pkg/swagger/swagger.go @@ -232,7 +232,7 @@ func Run(api, outputDir string) error { if !slices.Contains(proxyResources, azureResource) { s.Definitions[azureResource].AllOf = []Schema{ { - Ref: "../../../../../common-types/resource-management/" + g.commonTypesVersion + "/types.json#/definitions/TrackedResource", + Ref: "../../../../../../common-types/resource-management/" + g.commonTypesVersion + "/types.json#/definitions/TrackedResource", }, } } else { @@ -309,7 +309,7 @@ func (s *Swagger) defineSystemData(resources []string, commonVersion string) { Schema: &Schema{ ReadOnly: true, Description: "The system meta data relating to this resource.", - Ref: "../../../../../common-types/resource-management/" + commonVersion + "/types.json#/definitions/systemData", + Ref: "../../../../../../common-types/resource-management/" + commonVersion + "/types.json#/definitions/systemData", }, }) } diff --git a/pkg/swagger/typewalker.go b/pkg/swagger/typewalker.go index 742cfc3f4d1..9b12ad5de2d 100644 --- a/pkg/swagger/typewalker.go +++ b/pkg/swagger/typewalker.go @@ -170,7 +170,7 @@ func (tw *typeWalker) schemaFromType(t types.Type, deps map[*types.Named]struct{ if field.Name() == "proxyResource" { s.AllOf = []Schema{ { - Ref: "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource", + Ref: "../../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource", }, } } diff --git a/swagger/redhatopenshift/common-types/resource-management/v1/types.json b/swagger/common-types/resource-management/v1/types.json similarity index 100% rename from swagger/redhatopenshift/common-types/resource-management/v1/types.json rename to swagger/common-types/resource-management/v1/types.json diff --git a/swagger/redhatopenshift/common-types/resource-management/v2/types.json b/swagger/common-types/resource-management/v2/types.json similarity index 100% rename from swagger/redhatopenshift/common-types/resource-management/v2/types.json rename to swagger/common-types/resource-management/v2/types.json diff --git a/swagger/redhatopenshift/common-types/resource-management/v3/types.json b/swagger/common-types/resource-management/v3/types.json similarity index 100% rename from swagger/redhatopenshift/common-types/resource-management/v3/types.json rename to swagger/common-types/resource-management/v3/types.json diff --git a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2021-09-01-preview/redhatopenshift.json b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2021-09-01-preview/redhatopenshift.json index bf4c6efa44c..e3c4da68eb6 100644 --- a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2021-09-01-preview/redhatopenshift.json +++ b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2021-09-01-preview/redhatopenshift.json @@ -26,7 +26,7 @@ "operationId": "Operations_List", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" } ], "responses": { @@ -63,10 +63,10 @@ "operationId": "OpenShiftClusters_List", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + "$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/SubscriptionIdParameter" } ], "responses": { @@ -103,13 +103,13 @@ "operationId": "OpenShiftClusters_ListByResourceGroup", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + "$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/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" } ], "responses": { @@ -146,13 +146,13 @@ "operationId": "OpenShiftClusters_Get", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + "$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/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -191,13 +191,13 @@ "operationId": "OpenShiftClusters_CreateOrUpdate", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + "$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/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -252,13 +252,13 @@ "operationId": "OpenShiftClusters_Delete", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + "$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/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -298,13 +298,13 @@ "operationId": "OpenShiftClusters_Update", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + "$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/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -361,13 +361,13 @@ "operationId": "OpenShiftClusters_ListAdminCredentials", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + "$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/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -408,13 +408,13 @@ "operationId": "OpenShiftClusters_ListCredentials", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + "$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/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -629,7 +629,7 @@ "type": "object", "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource" + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource" } ], "properties": { @@ -639,7 +639,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -750,7 +750,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } diff --git a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2023-07-01-preview/redhatopenshift.json b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2023-07-01-preview/redhatopenshift.json index 23f3f00b44a..6e84feece96 100644 --- a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2023-07-01-preview/redhatopenshift.json +++ b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2023-07-01-preview/redhatopenshift.json @@ -26,7 +26,7 @@ "operationId": "Operations_List", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" } ], "responses": { @@ -63,13 +63,13 @@ "operationId": "OpenShiftVersions_List", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/LocationParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/LocationParameter" } ], "responses": { @@ -106,10 +106,10 @@ "operationId": "OpenShiftClusters_List", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -146,13 +146,13 @@ "operationId": "MachinePools_List", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -199,13 +199,13 @@ "operationId": "Secrets_List", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -252,13 +252,13 @@ "operationId": "SyncIdentityProviders_List", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -305,13 +305,13 @@ "operationId": "SyncSets_List", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -358,13 +358,13 @@ "operationId": "OpenShiftClusters_ListByResourceGroup", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" } ], "responses": { @@ -401,13 +401,13 @@ "operationId": "OpenShiftClusters_Get", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -446,13 +446,13 @@ "operationId": "OpenShiftClusters_CreateOrUpdate", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -507,13 +507,13 @@ "operationId": "OpenShiftClusters_Delete", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -553,13 +553,13 @@ "operationId": "OpenShiftClusters_Update", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -616,13 +616,13 @@ "operationId": "OpenShiftClusters_ListAdminCredentials", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -663,13 +663,13 @@ "operationId": "OpenShiftClusters_ListCredentials", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -710,13 +710,13 @@ "operationId": "MachinePools_Get", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -768,13 +768,13 @@ "operationId": "MachinePools_CreateOrUpdate", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -841,13 +841,13 @@ "operationId": "MachinePools_Delete", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -899,13 +899,13 @@ "operationId": "MachinePools_Update", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -968,13 +968,13 @@ "operationId": "Secrets_Get", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1026,13 +1026,13 @@ "operationId": "Secrets_CreateOrUpdate", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1099,13 +1099,13 @@ "operationId": "Secrets_Delete", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1157,13 +1157,13 @@ "operationId": "Secrets_Update", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1226,13 +1226,13 @@ "operationId": "SyncIdentityProviders_Get", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1284,13 +1284,13 @@ "operationId": "SyncIdentityProviders_CreateOrUpdate", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1357,13 +1357,13 @@ "operationId": "SyncIdentityProviders_Delete", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1415,13 +1415,13 @@ "operationId": "SyncIdentityProviders_Update", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1484,13 +1484,13 @@ "operationId": "SyncSets_Get", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1542,13 +1542,13 @@ "operationId": "SyncSets_CreateOrUpdate", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1615,13 +1615,13 @@ "operationId": "SyncSets_Delete", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1673,13 +1673,13 @@ "operationId": "SyncSets_Update", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1943,7 +1943,7 @@ "type": "object", "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" } ], "properties": { @@ -1953,7 +1953,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -1996,7 +1996,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2062,7 +2062,7 @@ "type": "object", "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" } ], "properties": { @@ -2072,7 +2072,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2186,7 +2186,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2197,7 +2197,7 @@ "type": "object", "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" } ], "properties": { @@ -2207,7 +2207,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2327,7 +2327,7 @@ "type": "object", "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" } ], "properties": { @@ -2337,7 +2337,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2382,7 +2382,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2407,7 +2407,7 @@ "type": "object", "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" } ], "properties": { @@ -2417,7 +2417,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2460,7 +2460,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2471,7 +2471,7 @@ "type": "object", "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" } ], "properties": { @@ -2481,7 +2481,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2525,7 +2525,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } diff --git a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/redhatopenshift.json b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/redhatopenshift.json index 16937b79668..03386eb5a90 100644 --- a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/redhatopenshift.json +++ b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/redhatopenshift.json @@ -26,7 +26,7 @@ "operationId": "Operations_List", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" } ], "responses": { @@ -63,13 +63,13 @@ "operationId": "OpenShiftVersions_List", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/LocationParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/LocationParameter" } ], "responses": { @@ -106,13 +106,13 @@ "operationId": "PlatformWorkloadIdentityRoleSet_List", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/LocationParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/LocationParameter" } ], "responses": { @@ -149,10 +149,10 @@ "operationId": "OpenShiftClusters_List", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -189,13 +189,13 @@ "operationId": "MachinePools_List", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -242,13 +242,13 @@ "operationId": "Secrets_List", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -295,13 +295,13 @@ "operationId": "SyncIdentityProviders_List", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -348,13 +348,13 @@ "operationId": "SyncSets_List", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -401,13 +401,13 @@ "operationId": "OpenShiftClusters_ListByResourceGroup", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" } ], "responses": { @@ -444,13 +444,13 @@ "operationId": "OpenShiftClusters_Get", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -489,13 +489,13 @@ "operationId": "OpenShiftClusters_CreateOrUpdate", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -550,13 +550,13 @@ "operationId": "OpenShiftClusters_Delete", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -596,13 +596,13 @@ "operationId": "OpenShiftClusters_Update", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -659,13 +659,13 @@ "operationId": "OpenShiftClusters_ListAdminCredentials", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -706,13 +706,13 @@ "operationId": "OpenShiftClusters_ListCredentials", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -753,13 +753,13 @@ "operationId": "MachinePools_Get", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -811,13 +811,13 @@ "operationId": "MachinePools_CreateOrUpdate", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -884,13 +884,13 @@ "operationId": "MachinePools_Delete", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -942,13 +942,13 @@ "operationId": "MachinePools_Update", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1011,13 +1011,13 @@ "operationId": "Secrets_Get", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1069,13 +1069,13 @@ "operationId": "Secrets_CreateOrUpdate", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1142,13 +1142,13 @@ "operationId": "Secrets_Delete", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1200,13 +1200,13 @@ "operationId": "Secrets_Update", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1269,13 +1269,13 @@ "operationId": "SyncIdentityProviders_Get", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1327,13 +1327,13 @@ "operationId": "SyncIdentityProviders_CreateOrUpdate", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1400,13 +1400,13 @@ "operationId": "SyncIdentityProviders_Delete", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1458,13 +1458,13 @@ "operationId": "SyncIdentityProviders_Update", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1527,13 +1527,13 @@ "operationId": "SyncSets_Get", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1585,13 +1585,13 @@ "operationId": "SyncSets_CreateOrUpdate", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1658,13 +1658,13 @@ "operationId": "SyncSets_Delete", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1716,13 +1716,13 @@ "operationId": "SyncSets_Update", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -2014,7 +2014,7 @@ "type": "object", "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" } ], "properties": { @@ -2024,7 +2024,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2067,7 +2067,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2141,7 +2141,7 @@ "type": "object", "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" } ], "properties": { @@ -2155,7 +2155,7 @@ "description": "Identity stores information about the cluster MSI(s) in a workload identity cluster." }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2286,7 +2286,7 @@ "description": "Identity stores information about the cluster MSI(s) in a workload identity cluster." }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2297,7 +2297,7 @@ "type": "object", "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" } ], "properties": { @@ -2307,7 +2307,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2452,7 +2452,7 @@ "type": "object", "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" } ], "properties": { @@ -2462,7 +2462,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2514,7 +2514,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2566,7 +2566,7 @@ "type": "object", "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" } ], "properties": { @@ -2576,7 +2576,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2621,7 +2621,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2646,7 +2646,7 @@ "type": "object", "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" } ], "properties": { @@ -2656,7 +2656,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2699,7 +2699,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2710,7 +2710,7 @@ "type": "object", "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" } ], "properties": { @@ -2720,7 +2720,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2764,7 +2764,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } diff --git a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/stable/2020-04-30/redhatopenshift.json b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/stable/2020-04-30/redhatopenshift.json index 19e884b7d95..d7c94b057e4 100644 --- a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/stable/2020-04-30/redhatopenshift.json +++ b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/stable/2020-04-30/redhatopenshift.json @@ -26,7 +26,7 @@ "operationId": "Operations_List", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" } ], "responses": { @@ -63,10 +63,10 @@ "operationId": "OpenShiftClusters_List", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -103,13 +103,13 @@ "operationId": "OpenShiftClusters_ListByResourceGroup", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" } ], "responses": { @@ -146,13 +146,13 @@ "operationId": "OpenShiftClusters_Get", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -191,13 +191,13 @@ "operationId": "OpenShiftClusters_CreateOrUpdate", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -252,13 +252,13 @@ "operationId": "OpenShiftClusters_Delete", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -298,13 +298,13 @@ "operationId": "OpenShiftClusters_Update", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -361,13 +361,13 @@ "operationId": "OpenShiftClusters_ListCredentials", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -558,7 +558,7 @@ "type": "object", "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" + "$ref": "../../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" } ], "properties": { diff --git a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/stable/2022-04-01/redhatopenshift.json b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/stable/2022-04-01/redhatopenshift.json index cb237cab822..ec8a60e8387 100644 --- a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/stable/2022-04-01/redhatopenshift.json +++ b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/stable/2022-04-01/redhatopenshift.json @@ -26,7 +26,7 @@ "operationId": "Operations_List", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" } ], "responses": { @@ -63,10 +63,10 @@ "operationId": "OpenShiftClusters_List", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + "$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/SubscriptionIdParameter" } ], "responses": { @@ -103,13 +103,13 @@ "operationId": "OpenShiftClusters_ListByResourceGroup", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + "$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/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" } ], "responses": { @@ -146,13 +146,13 @@ "operationId": "OpenShiftClusters_Get", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + "$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/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -191,13 +191,13 @@ "operationId": "OpenShiftClusters_CreateOrUpdate", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + "$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/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -252,13 +252,13 @@ "operationId": "OpenShiftClusters_Delete", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + "$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/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -298,13 +298,13 @@ "operationId": "OpenShiftClusters_Update", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + "$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/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -361,13 +361,13 @@ "operationId": "OpenShiftClusters_ListAdminCredentials", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + "$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/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -408,13 +408,13 @@ "operationId": "OpenShiftClusters_ListCredentials", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + "$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/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -642,7 +642,7 @@ "type": "object", "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource" + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource" } ], "properties": { @@ -652,7 +652,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -766,7 +766,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } diff --git a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/stable/2022-09-04/redhatopenshift.json b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/stable/2022-09-04/redhatopenshift.json index 0853ddf5a20..ea7a582d49e 100644 --- a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/stable/2022-09-04/redhatopenshift.json +++ b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/stable/2022-09-04/redhatopenshift.json @@ -26,7 +26,7 @@ "operationId": "Operations_List", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" } ], "responses": { @@ -63,13 +63,13 @@ "operationId": "OpenShiftVersions_List", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/LocationParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/LocationParameter" } ], "responses": { @@ -106,10 +106,10 @@ "operationId": "OpenShiftClusters_List", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -146,13 +146,13 @@ "operationId": "MachinePools_List", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -199,13 +199,13 @@ "operationId": "Secrets_List", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -252,13 +252,13 @@ "operationId": "SyncIdentityProviders_List", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -305,13 +305,13 @@ "operationId": "SyncSets_List", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -358,13 +358,13 @@ "operationId": "OpenShiftClusters_ListByResourceGroup", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" } ], "responses": { @@ -401,13 +401,13 @@ "operationId": "OpenShiftClusters_Get", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -446,13 +446,13 @@ "operationId": "OpenShiftClusters_CreateOrUpdate", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -507,13 +507,13 @@ "operationId": "OpenShiftClusters_Delete", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -553,13 +553,13 @@ "operationId": "OpenShiftClusters_Update", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -616,13 +616,13 @@ "operationId": "OpenShiftClusters_ListAdminCredentials", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -663,13 +663,13 @@ "operationId": "OpenShiftClusters_ListCredentials", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -710,13 +710,13 @@ "operationId": "MachinePools_Get", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -768,13 +768,13 @@ "operationId": "MachinePools_CreateOrUpdate", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -841,13 +841,13 @@ "operationId": "MachinePools_Delete", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -899,13 +899,13 @@ "operationId": "MachinePools_Update", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -968,13 +968,13 @@ "operationId": "Secrets_Get", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1026,13 +1026,13 @@ "operationId": "Secrets_CreateOrUpdate", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1099,13 +1099,13 @@ "operationId": "Secrets_Delete", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1157,13 +1157,13 @@ "operationId": "Secrets_Update", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1226,13 +1226,13 @@ "operationId": "SyncIdentityProviders_Get", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1284,13 +1284,13 @@ "operationId": "SyncIdentityProviders_CreateOrUpdate", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1357,13 +1357,13 @@ "operationId": "SyncIdentityProviders_Delete", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1415,13 +1415,13 @@ "operationId": "SyncIdentityProviders_Update", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1484,13 +1484,13 @@ "operationId": "SyncSets_Get", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1542,13 +1542,13 @@ "operationId": "SyncSets_CreateOrUpdate", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1615,13 +1615,13 @@ "operationId": "SyncSets_Delete", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1673,13 +1673,13 @@ "operationId": "SyncSets_Update", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1893,7 +1893,7 @@ "type": "object", "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" } ], "properties": { @@ -1903,7 +1903,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -1946,7 +1946,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -1993,7 +1993,7 @@ "type": "object", "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" } ], "properties": { @@ -2003,7 +2003,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2117,7 +2117,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2128,7 +2128,7 @@ "type": "object", "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" } ], "properties": { @@ -2138,7 +2138,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2225,7 +2225,7 @@ "type": "object", "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" } ], "properties": { @@ -2235,7 +2235,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2280,7 +2280,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2305,7 +2305,7 @@ "type": "object", "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" } ], "properties": { @@ -2315,7 +2315,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2358,7 +2358,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2369,7 +2369,7 @@ "type": "object", "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" } ], "properties": { @@ -2379,7 +2379,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2423,7 +2423,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } diff --git a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/stable/2023-04-01/redhatopenshift.json b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/stable/2023-04-01/redhatopenshift.json index a9b03e4d7b2..828b915d1de 100644 --- a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/stable/2023-04-01/redhatopenshift.json +++ b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/stable/2023-04-01/redhatopenshift.json @@ -26,7 +26,7 @@ "operationId": "Operations_List", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" } ], "responses": { @@ -63,13 +63,13 @@ "operationId": "OpenShiftVersions_List", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/LocationParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/LocationParameter" } ], "responses": { @@ -106,10 +106,10 @@ "operationId": "OpenShiftClusters_List", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -146,13 +146,13 @@ "operationId": "MachinePools_List", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -199,13 +199,13 @@ "operationId": "Secrets_List", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -252,13 +252,13 @@ "operationId": "SyncIdentityProviders_List", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -305,13 +305,13 @@ "operationId": "SyncSets_List", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -358,13 +358,13 @@ "operationId": "OpenShiftClusters_ListByResourceGroup", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" } ], "responses": { @@ -401,13 +401,13 @@ "operationId": "OpenShiftClusters_Get", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -446,13 +446,13 @@ "operationId": "OpenShiftClusters_CreateOrUpdate", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -507,13 +507,13 @@ "operationId": "OpenShiftClusters_Delete", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -553,13 +553,13 @@ "operationId": "OpenShiftClusters_Update", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -616,13 +616,13 @@ "operationId": "OpenShiftClusters_ListAdminCredentials", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -663,13 +663,13 @@ "operationId": "OpenShiftClusters_ListCredentials", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -710,13 +710,13 @@ "operationId": "MachinePools_Get", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -768,13 +768,13 @@ "operationId": "MachinePools_CreateOrUpdate", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -841,13 +841,13 @@ "operationId": "MachinePools_Delete", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -899,13 +899,13 @@ "operationId": "MachinePools_Update", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -968,13 +968,13 @@ "operationId": "Secrets_Get", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1026,13 +1026,13 @@ "operationId": "Secrets_CreateOrUpdate", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1099,13 +1099,13 @@ "operationId": "Secrets_Delete", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1157,13 +1157,13 @@ "operationId": "Secrets_Update", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1226,13 +1226,13 @@ "operationId": "SyncIdentityProviders_Get", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1284,13 +1284,13 @@ "operationId": "SyncIdentityProviders_CreateOrUpdate", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1357,13 +1357,13 @@ "operationId": "SyncIdentityProviders_Delete", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1415,13 +1415,13 @@ "operationId": "SyncIdentityProviders_Update", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1484,13 +1484,13 @@ "operationId": "SyncSets_Get", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1542,13 +1542,13 @@ "operationId": "SyncSets_CreateOrUpdate", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1615,13 +1615,13 @@ "operationId": "SyncSets_Delete", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1673,13 +1673,13 @@ "operationId": "SyncSets_Update", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1893,7 +1893,7 @@ "type": "object", "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" } ], "properties": { @@ -1903,7 +1903,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -1946,7 +1946,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -1997,7 +1997,7 @@ "type": "object", "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" } ], "properties": { @@ -2007,7 +2007,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2121,7 +2121,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2132,7 +2132,7 @@ "type": "object", "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" } ], "properties": { @@ -2142,7 +2142,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2241,7 +2241,7 @@ "type": "object", "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" } ], "properties": { @@ -2251,7 +2251,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2296,7 +2296,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2321,7 +2321,7 @@ "type": "object", "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" } ], "properties": { @@ -2331,7 +2331,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2374,7 +2374,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2385,7 +2385,7 @@ "type": "object", "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" } ], "properties": { @@ -2395,7 +2395,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2439,7 +2439,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } diff --git a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/stable/2023-09-04/redhatopenshift.json b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/stable/2023-09-04/redhatopenshift.json index 81c60d8f860..65e0565b7a8 100644 --- a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/stable/2023-09-04/redhatopenshift.json +++ b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/stable/2023-09-04/redhatopenshift.json @@ -26,7 +26,7 @@ "operationId": "Operations_List", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" } ], "responses": { @@ -63,13 +63,13 @@ "operationId": "OpenShiftVersions_List", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/LocationParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/LocationParameter" } ], "responses": { @@ -106,10 +106,10 @@ "operationId": "OpenShiftClusters_List", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -146,13 +146,13 @@ "operationId": "MachinePools_List", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -199,13 +199,13 @@ "operationId": "Secrets_List", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -252,13 +252,13 @@ "operationId": "SyncIdentityProviders_List", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -305,13 +305,13 @@ "operationId": "SyncSets_List", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -358,13 +358,13 @@ "operationId": "OpenShiftClusters_ListByResourceGroup", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" } ], "responses": { @@ -401,13 +401,13 @@ "operationId": "OpenShiftClusters_Get", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -446,13 +446,13 @@ "operationId": "OpenShiftClusters_CreateOrUpdate", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -507,13 +507,13 @@ "operationId": "OpenShiftClusters_Delete", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -553,13 +553,13 @@ "operationId": "OpenShiftClusters_Update", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -616,13 +616,13 @@ "operationId": "OpenShiftClusters_ListAdminCredentials", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -663,13 +663,13 @@ "operationId": "OpenShiftClusters_ListCredentials", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -710,13 +710,13 @@ "operationId": "MachinePools_Get", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -768,13 +768,13 @@ "operationId": "MachinePools_CreateOrUpdate", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -841,13 +841,13 @@ "operationId": "MachinePools_Delete", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -899,13 +899,13 @@ "operationId": "MachinePools_Update", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -968,13 +968,13 @@ "operationId": "Secrets_Get", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1026,13 +1026,13 @@ "operationId": "Secrets_CreateOrUpdate", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1099,13 +1099,13 @@ "operationId": "Secrets_Delete", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1157,13 +1157,13 @@ "operationId": "Secrets_Update", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1226,13 +1226,13 @@ "operationId": "SyncIdentityProviders_Get", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1284,13 +1284,13 @@ "operationId": "SyncIdentityProviders_CreateOrUpdate", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1357,13 +1357,13 @@ "operationId": "SyncIdentityProviders_Delete", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1415,13 +1415,13 @@ "operationId": "SyncIdentityProviders_Update", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1484,13 +1484,13 @@ "operationId": "SyncSets_Get", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1542,13 +1542,13 @@ "operationId": "SyncSets_CreateOrUpdate", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1615,13 +1615,13 @@ "operationId": "SyncSets_Delete", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1673,13 +1673,13 @@ "operationId": "SyncSets_Update", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1893,7 +1893,7 @@ "type": "object", "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" } ], "properties": { @@ -1903,7 +1903,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -1946,7 +1946,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2001,7 +2001,7 @@ "type": "object", "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" } ], "properties": { @@ -2011,7 +2011,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2134,7 +2134,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2145,7 +2145,7 @@ "type": "object", "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" } ], "properties": { @@ -2155,7 +2155,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2262,7 +2262,7 @@ "type": "object", "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" } ], "properties": { @@ -2272,7 +2272,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2317,7 +2317,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2342,7 +2342,7 @@ "type": "object", "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" } ], "properties": { @@ -2352,7 +2352,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2395,7 +2395,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2406,7 +2406,7 @@ "type": "object", "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" } ], "properties": { @@ -2416,7 +2416,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2460,7 +2460,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } diff --git a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/stable/2023-11-22/redhatopenshift.json b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/stable/2023-11-22/redhatopenshift.json index f42f8420608..d76795be04d 100644 --- a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/stable/2023-11-22/redhatopenshift.json +++ b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/stable/2023-11-22/redhatopenshift.json @@ -26,7 +26,7 @@ "operationId": "Operations_List", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" } ], "responses": { @@ -63,13 +63,13 @@ "operationId": "OpenShiftVersions_List", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/LocationParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/LocationParameter" } ], "responses": { @@ -106,10 +106,10 @@ "operationId": "OpenShiftClusters_List", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -146,13 +146,13 @@ "operationId": "MachinePools_List", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -199,13 +199,13 @@ "operationId": "Secrets_List", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -252,13 +252,13 @@ "operationId": "SyncIdentityProviders_List", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -305,13 +305,13 @@ "operationId": "SyncSets_List", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -358,13 +358,13 @@ "operationId": "OpenShiftClusters_ListByResourceGroup", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" } ], "responses": { @@ -401,13 +401,13 @@ "operationId": "OpenShiftClusters_Get", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -446,13 +446,13 @@ "operationId": "OpenShiftClusters_CreateOrUpdate", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -507,13 +507,13 @@ "operationId": "OpenShiftClusters_Delete", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -553,13 +553,13 @@ "operationId": "OpenShiftClusters_Update", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -616,13 +616,13 @@ "operationId": "OpenShiftClusters_ListAdminCredentials", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -663,13 +663,13 @@ "operationId": "OpenShiftClusters_ListCredentials", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -710,13 +710,13 @@ "operationId": "MachinePools_Get", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -768,13 +768,13 @@ "operationId": "MachinePools_CreateOrUpdate", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -841,13 +841,13 @@ "operationId": "MachinePools_Delete", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -899,13 +899,13 @@ "operationId": "MachinePools_Update", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -968,13 +968,13 @@ "operationId": "Secrets_Get", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1026,13 +1026,13 @@ "operationId": "Secrets_CreateOrUpdate", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1099,13 +1099,13 @@ "operationId": "Secrets_Delete", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1157,13 +1157,13 @@ "operationId": "Secrets_Update", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1226,13 +1226,13 @@ "operationId": "SyncIdentityProviders_Get", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1284,13 +1284,13 @@ "operationId": "SyncIdentityProviders_CreateOrUpdate", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1357,13 +1357,13 @@ "operationId": "SyncIdentityProviders_Delete", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1415,13 +1415,13 @@ "operationId": "SyncIdentityProviders_Update", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1484,13 +1484,13 @@ "operationId": "SyncSets_Get", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1542,13 +1542,13 @@ "operationId": "SyncSets_CreateOrUpdate", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1615,13 +1615,13 @@ "operationId": "SyncSets_Delete", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1673,13 +1673,13 @@ "operationId": "SyncSets_Update", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/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/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1926,7 +1926,7 @@ "type": "object", "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" } ], "properties": { @@ -1936,7 +1936,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -1979,7 +1979,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2049,7 +2049,7 @@ "type": "object", "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" } ], "properties": { @@ -2059,7 +2059,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2182,7 +2182,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2193,7 +2193,7 @@ "type": "object", "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" } ], "properties": { @@ -2203,7 +2203,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2319,7 +2319,7 @@ "type": "object", "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" } ], "properties": { @@ -2329,7 +2329,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2374,7 +2374,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2399,7 +2399,7 @@ "type": "object", "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" } ], "properties": { @@ -2409,7 +2409,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2452,7 +2452,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2463,7 +2463,7 @@ "type": "object", "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" } ], "properties": { @@ -2473,7 +2473,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2517,7 +2517,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } From 5798befbb85b38cf03b177cb966c7c54f160d105 Mon Sep 17 00:00:00 2001 From: cadenmarchese Date: Thu, 19 Sep 2024 08:37:50 -0400 Subject: [PATCH 20/27] migrate from common-types/v3 to common-types/v6 it was requested that we use the latest version of common types. This involves some changes to our examples to match the UUID expected. --- pkg/swagger/examples.go | 7 + pkg/swagger/generator.go | 2 +- .../v6/managedidentity.json | 110 +++ .../resource-management/v6/privatelinks.json | 202 ++++++ .../resource-management/v6/types.json | 681 ++++++++++++++++++ .../examples/MachinePools_CreateOrUpdate.json | 2 +- .../examples/MachinePools_Delete.json | 2 +- .../examples/MachinePools_Get.json | 2 +- .../examples/MachinePools_List.json | 2 +- .../examples/MachinePools_Update.json | 2 +- .../OpenShiftClusters_CreateOrUpdate.json | 2 +- .../examples/OpenShiftClusters_Delete.json | 2 +- .../examples/OpenShiftClusters_Get.json | 2 +- .../examples/OpenShiftClusters_List.json | 2 +- ...penShiftClusters_ListAdminCredentials.json | 2 +- ...OpenShiftClusters_ListByResourceGroup.json | 2 +- .../OpenShiftClusters_ListCredentials.json | 2 +- .../examples/OpenShiftClusters_Update.json | 2 +- .../examples/OpenShiftVersions_List.json | 2 +- .../PlatformWorkloadIdentityRoleSet_List.json | 2 +- .../examples/Secrets_CreateOrUpdate.json | 2 +- .../examples/Secrets_Delete.json | 2 +- .../examples/Secrets_Get.json | 2 +- .../examples/Secrets_List.json | 2 +- .../examples/Secrets_Update.json | 2 +- .../SyncIdentityProviders_CreateOrUpdate.json | 2 +- .../SyncIdentityProviders_Delete.json | 2 +- .../examples/SyncIdentityProviders_Get.json | 2 +- .../examples/SyncIdentityProviders_List.json | 2 +- .../SyncIdentityProviders_Update.json | 2 +- .../examples/SyncSets_CreateOrUpdate.json | 2 +- .../examples/SyncSets_Delete.json | 2 +- .../examples/SyncSets_Get.json | 2 +- .../examples/SyncSets_List.json | 2 +- .../examples/SyncSets_Update.json | 2 +- .../2024-08-12-preview/redhatopenshift.json | 208 +++--- 36 files changed, 1135 insertions(+), 135 deletions(-) create mode 100644 swagger/common-types/resource-management/v6/managedidentity.json create mode 100644 swagger/common-types/resource-management/v6/privatelinks.json create mode 100644 swagger/common-types/resource-management/v6/types.json diff --git a/pkg/swagger/examples.go b/pkg/swagger/examples.go index bb6a6bbde80..df0e4e78009 100644 --- a/pkg/swagger/examples.go +++ b/pkg/swagger/examples.go @@ -10,6 +10,8 @@ import ( "github.com/Azure/ARO-RP/pkg/util/stringutils" ) +const commonTypesVersion6 string = "v6" + func (g *generator) generateExamples(outputDir string, s *Swagger) error { err := os.RemoveAll(outputDir + "/examples") if err != nil { @@ -42,6 +44,11 @@ func (g *generator) generateExamples(outputDir string, s *Swagger) error { Name: "api-version", Parameter: stringutils.LastTokenByte(outputDir, '/'), }) + case "../../../../../../common-types/resource-management/" + commonTypesVersion6 + "/types.json#/parameters/SubscriptionIdParameter": + example.Parameters = append(example.Parameters, NameParameter{ + Name: "subscriptionId", + Parameter: "00000000-0000-0000-0000-000000000000", + }) case "../../../../../../common-types/resource-management/" + g.commonTypesVersion + "/types.json#/parameters/SubscriptionIdParameter": example.Parameters = append(example.Parameters, NameParameter{ Name: "subscriptionId", diff --git a/pkg/swagger/generator.go b/pkg/swagger/generator.go index cbd9b157fad..d4b9c94ebb0 100644 --- a/pkg/swagger/generator.go +++ b/pkg/swagger/generator.go @@ -322,7 +322,7 @@ var apis = map[string]*generator{ xmsEnum: []string{"ProvisioningState", "PreconfiguredNSG", "EncryptionAtHost", "FipsValidatedModules", "SoftwareDefinedNetwork", "Visibility", "OutboundType", "ResourceIdentityType"}, xmsSecretList: []string{"kubeconfig", "kubeadminPassword", "secretResources"}, xmsIdentifiers: []string{}, - commonTypesVersion: "v3", + commonTypesVersion: "v6", systemData: true, clusterManager: true, installVersionList: true, diff --git a/swagger/common-types/resource-management/v6/managedidentity.json b/swagger/common-types/resource-management/v6/managedidentity.json new file mode 100644 index 00000000000..f7c187e1147 --- /dev/null +++ b/swagger/common-types/resource-management/v6/managedidentity.json @@ -0,0 +1,110 @@ +{ + "swagger": "2.0", + "info": { + "version": "6.0", + "title": "Common types" + }, + "paths": {}, + "definitions": { + "UserAssignedIdentity": { + "type": "object", + "description": "User assigned identity properties", + "properties": { + "principalId": { + "description": "The principal ID of the assigned identity.", + "format": "uuid", + "type": "string", + "readOnly": true + }, + "clientId": { + "description": "The client ID of the assigned identity.", + "format": "uuid", + "type": "string", + "readOnly": true + } + } + }, + "ManagedServiceIdentityType": { + "description": "Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).", + "enum": [ + "None", + "SystemAssigned", + "UserAssigned", + "SystemAssigned,UserAssigned" + ], + "type": "string", + "x-ms-enum": { + "name": "ManagedServiceIdentityType", + "modelAsString": true + } + }, + "ManagedServiceIdentity": { + "description": "Managed service identity (system assigned and/or user assigned identities)", + "type": "object", + "properties": { + "principalId": { + "readOnly": true, + "format": "uuid", + "type": "string", + "description": "The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity." + }, + "tenantId": { + "readOnly": true, + "format": "uuid", + "type": "string", + "description": "The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity." + }, + "type": { + "$ref": "#/definitions/ManagedServiceIdentityType" + }, + "userAssignedIdentities": { + "description": "The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentity", + "x-nullable": true + } + } + }, + "required": [ + "type" + ] + }, + "SystemAssignedServiceIdentityType": { + "description": "Type of managed service identity (either system assigned, or none).", + "enum": [ + "None", + "SystemAssigned" + ], + "type": "string", + "x-ms-enum": { + "name": "SystemAssignedServiceIdentityType", + "modelAsString": true + } + }, + "SystemAssignedServiceIdentity": { + "description": "Managed service identity (either system assigned, or none)", + "type": "object", + "properties": { + "principalId": { + "readOnly": true, + "format": "uuid", + "type": "string", + "description": "The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity." + }, + "tenantId": { + "readOnly": true, + "format": "uuid", + "type": "string", + "description": "The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity." + }, + "type": { + "$ref": "#/definitions/SystemAssignedServiceIdentityType" + } + }, + "required": [ + "type" + ] + } + } +} diff --git a/swagger/common-types/resource-management/v6/privatelinks.json b/swagger/common-types/resource-management/v6/privatelinks.json new file mode 100644 index 00000000000..7b2346c1033 --- /dev/null +++ b/swagger/common-types/resource-management/v6/privatelinks.json @@ -0,0 +1,202 @@ +{ + "swagger": "2.0", + "info": { + "version": "6.0", + "title": "Common types" + }, + "paths": {}, + "definitions": { + "PrivateEndpoint": { + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The ARM identifier for private endpoint." + } + }, + "description": "The private endpoint resource." + }, + "PrivateEndpointConnection": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "x-ms-client-flatten": true, + "description": "Resource properties." + } + }, + "allOf": [ + { + "$ref": "../v5/types.json#/definitions/Resource" + } + ], + "description": "The private endpoint connection resource." + }, + "PrivateEndpointConnectionProperties": { + "type": "object", + "properties": { + "groupIds": { + "description": "The group ids for the private endpoint resource.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint", + "description": "The private endpoint resource." + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionState", + "description": "A collection of information about the state of the connection between service consumer and provider." + }, + "provisioningState": { + "$ref": "#/definitions/PrivateEndpointConnectionProvisioningState", + "description": "The provisioning state of the private endpoint connection resource." + } + }, + "required": [ + "privateLinkServiceConnectionState" + ], + "description": "Properties of the private endpoint connection." + }, + "PrivateLinkServiceConnectionState": { + "type": "object", + "properties": { + "status": { + "$ref": "#/definitions/PrivateEndpointServiceConnectionStatus", + "description": "Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service." + }, + "description": { + "type": "string", + "description": "The reason for approval/rejection of the connection." + }, + "actionsRequired": { + "type": "string", + "description": "A message indicating if changes on the service provider require any updates on the consumer." + } + }, + "description": "A collection of information about the state of the connection between service consumer and provider." + }, + "PrivateEndpointServiceConnectionStatus": { + "type": "string", + "description": "The private endpoint connection status.", + "enum": [ + "Pending", + "Approved", + "Rejected" + ], + "x-ms-enum": { + "name": "PrivateEndpointServiceConnectionStatus", + "modelAsString": true + } + }, + "PrivateEndpointConnectionProvisioningState": { + "type": "string", + "readOnly": true, + "description": "The current provisioning state.", + "enum": [ + "Succeeded", + "Creating", + "Deleting", + "Failed" + ], + "x-ms-enum": { + "name": "PrivateEndpointConnectionProvisioningState", + "modelAsString": true + } + }, + "PrivateLinkResource": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/PrivateLinkResourceProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../v5/types.json#/definitions/Resource" + } + ], + "description": "A private link resource." + }, + "PrivateLinkResourceProperties": { + "type": "object", + "properties": { + "groupId": { + "description": "The private link resource group id.", + "type": "string", + "readOnly": true + }, + "requiredMembers": { + "description": "The private link resource required member names.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "requiredZoneNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The private link resource private link DNS zone name." + } + }, + "description": "Properties of a private link resource." + }, + "PrivateEndpointConnectionListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "Array of private endpoint connections.", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "URL to get the next set of operation list results (if there are any).", + "readOnly": true + } + }, + "description": "List of private endpoint connections associated with the specified resource." + }, + "PrivateLinkResourceListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "Array of private link resources", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "URL to get the next set of operation list results (if there are any).", + "readOnly": true + } + }, + "description": "A list of private link resources." + } + }, + "parameters": { + "PrivateEndpointConnectionName": { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint connection associated with the Azure resource.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/swagger/common-types/resource-management/v6/types.json b/swagger/common-types/resource-management/v6/types.json new file mode 100644 index 00000000000..94cb1a2d63c --- /dev/null +++ b/swagger/common-types/resource-management/v6/types.json @@ -0,0 +1,681 @@ +{ + "swagger": "2.0", + "info": { + "version": "6.0", + "title": "Common types" + }, + "paths": {}, + "definitions": { + "Resource": { + "title": "Resource", + "description": "Common fields that are returned in the response for all Azure Resource Manager resources", + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "format": "arm-id", + "description": "Fully qualified resource ID for the resource. E.g. \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}\"" + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the resource" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\"" + }, + "systemData": { + "readOnly": true, + "description": "Azure Resource Manager metadata containing createdBy and modifiedBy information.", + "$ref": "#/definitions/systemData" + } + }, + "x-ms-azure-resource": true + }, + "AzureEntityResource": { + "x-ms-client-name": "AzureEntityResource", + "title": "Entity Resource", + "description": "The resource model definition for an Azure Resource Manager resource with an etag.", + "type": "object", + "properties": { + "etag": { + "type": "string", + "readOnly": true, + "description": "Resource Etag." + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ] + }, + "TrackedResource": { + "title": "Tracked Resource", + "description": "The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location'", + "type": "object", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Resource tags." + }, + "location": { + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ], + "description": "The geo-location where the resource lives" + } + }, + "required": [ + "location" + ], + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ] + }, + "ProxyResource": { + "title": "Proxy Resource", + "description": "The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ] + }, + "ResourceModelWithAllowedPropertySet": { + "description": "The resource model definition containing the full set of allowed properties for a resource. Except properties bag, there cannot be a top level property outside of this set.", + "type": "object", + "properties": { + "managedBy": { + "type": "string", + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource." + }, + "kind": { + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ], + "description": "Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type. E.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value.", + "pattern": "^[-\\w\\._,\\(\\)]+$" + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "The etag field is *not* required. If it is provided in the response body, it must also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields. " + }, + "identity": { + "$ref": "./managedidentity.json#/definitions/ManagedServiceIdentity" + }, + "sku": { + "$ref": "#/definitions/Sku" + }, + "plan": { + "$ref": "#/definitions/Plan" + } + }, + "allOf": [ + { + "$ref": "#/definitions/TrackedResource" + } + ], + "x-ms-azure-resource": true + }, + "SkuTier": { + "type": "string", + "enum": [ + "Free", + "Basic", + "Standard", + "Premium" + ], + "x-ms-enum": { + "name": "SkuTier", + "modelAsString": false + }, + "description": "This field is required to be implemented by the Resource Provider if the service has more than one tier, but is not required on a PUT." + }, + "Sku": { + "description": "The resource model definition representing SKU", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the SKU. E.g. P3. It is typically a letter+number code" + }, + "tier": { + "$ref": "#/definitions/SkuTier" + }, + "size": { + "type": "string", + "description": "The SKU size. When the name field is the combination of tier and some other value, this would be the standalone code. " + }, + "family": { + "type": "string", + "description": "If the service has different generations of hardware, for the same SKU, then that can be captured here." + }, + "capacity": { + "type": "integer", + "format": "int32", + "description": "If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible for the resource this may be omitted." + } + }, + "required": [ + "name" + ] + }, + "Plan": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "A user defined name of the 3rd Party Artifact that is being procured." + }, + "publisher": { + "type": "string", + "description": "The publisher of the 3rd Party Artifact that is being bought. E.g. NewRelic" + }, + "product": { + "type": "string", + "description": "The 3rd Party artifact that is being procured. E.g. NewRelic. Product maps to the OfferID specified for the artifact at the time of Data Market onboarding. " + }, + "promotionCode": { + "type": "string", + "description": "A publisher provided promotion code as provisioned in Data Market for the said product/artifact." + }, + "version": { + "type": "string", + "description": "The version of the desired product/artifact." + } + }, + "description": "Plan for the resource.", + "required": [ + "name", + "publisher", + "product" + ] + }, + "ErrorDetail": { + "description": "The error detail.", + "type": "object", + "properties": { + "code": { + "readOnly": true, + "type": "string", + "description": "The error code." + }, + "message": { + "readOnly": true, + "type": "string", + "description": "The error message." + }, + "target": { + "readOnly": true, + "type": "string", + "description": "The error target." + }, + "details": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ErrorDetail" + }, + "x-ms-identifiers": [ + "message", + "target" + ], + "description": "The error details." + }, + "additionalInfo": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ErrorAdditionalInfo" + }, + "x-ms-identifiers": [], + "description": "The error additional info." + } + } + }, + "ErrorResponse": { + "title": "Error response", + "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.).", + "type": "object", + "properties": { + "error": { + "description": "The error object.", + "$ref": "#/definitions/ErrorDetail" + } + } + }, + "ErrorAdditionalInfo": { + "type": "object", + "properties": { + "type": { + "readOnly": true, + "type": "string", + "description": "The additional info type." + }, + "info": { + "readOnly": true, + "type": "object", + "description": "The additional info." + } + }, + "description": "The resource management error additional info." + }, + "Operation": { + "title": "REST API Operation", + "description": "Details of a REST API operation, returned from the Resource Provider Operations API", + "type": "object", + "properties": { + "name": { + "description": "The name of the operation, as per Resource-Based Access Control (RBAC). Examples: \"Microsoft.Compute/virtualMachines/write\", \"Microsoft.Compute/virtualMachines/capture/action\"", + "type": "string", + "readOnly": true + }, + "isDataAction": { + "description": "Whether the operation applies to data-plane. This is \"true\" for data-plane operations and \"false\" for ARM/control-plane operations.", + "type": "boolean", + "readOnly": true + }, + "display": { + "description": "Localized display information for this particular operation.", + "type": "object", + "properties": { + "provider": { + "description": "The localized friendly form of the resource provider name, e.g. \"Microsoft Monitoring Insights\" or \"Microsoft Compute\".", + "type": "string", + "readOnly": true + }, + "resource": { + "description": "The localized friendly name of the resource type related to this operation. E.g. \"Virtual Machines\" or \"Job Schedule Collections\".", + "type": "string", + "readOnly": true + }, + "operation": { + "description": "The concise, localized friendly name for the operation; suitable for dropdowns. E.g. \"Create or Update Virtual Machine\", \"Restart Virtual Machine\".", + "type": "string", + "readOnly": true + }, + "description": { + "description": "The short, localized friendly description of the operation; suitable for tool tips and detailed views.", + "type": "string", + "readOnly": true + } + } + }, + "origin": { + "description": "The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX. Default value is \"user,system\"", + "type": "string", + "readOnly": true, + "enum": [ + "user", + "system", + "user,system" + ], + "x-ms-enum": { + "name": "Origin", + "modelAsString": true + } + }, + "actionType": { + "description": "Enum. Indicates the action type. \"Internal\" refers to actions that are for internal only APIs.", + "type": "string", + "readOnly": true, + "enum": [ + "Internal" + ], + "x-ms-enum": { + "name": "ActionType", + "modelAsString": true + } + } + } + }, + "OperationListResult": { + "description": "A list of REST API operations supported by an Azure Resource Provider. It contains an URL link to get the next set of results.", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "x-ms-identifiers": [ + "name" + ], + "description": "List of operations supported by the resource provider", + "readOnly": true + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "URL to get the next set of operation list results (if there are any).", + "readOnly": true + } + } + }, + "OperationStatusResult": { + "description": "The current status of an async operation.", + "type": "object", + "required": [ + "status" + ], + "properties": { + "id": { + "description": "Fully qualified ID for the async operation.", + "type": "string", + "format": "arm-id" + }, + "resourceId": { + "description": "Fully qualified ID of the resource against which the original async operation was started.", + "type": "string", + "format": "arm-id", + "readOnly": true + }, + "name": { + "description": "Name of the async operation.", + "type": "string" + }, + "status": { + "description": "Operation status.", + "type": "string" + }, + "percentComplete": { + "description": "Percent of the operation that is complete.", + "type": "number", + "minimum": 0, + "maximum": 100 + }, + "startTime": { + "description": "The start time of the operation.", + "type": "string", + "format": "date-time" + }, + "endTime": { + "description": "The end time of the operation.", + "type": "string", + "format": "date-time" + }, + "operations": { + "description": "The operations list.", + "type": "array", + "items": { + "$ref": "#/definitions/OperationStatusResult" + } + }, + "error": { + "description": "If present, details of the operation error.", + "$ref": "#/definitions/ErrorDetail" + } + } + }, + "locationData": { + "description": "Metadata pertaining to the geographic location of the resource.", + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 256, + "description": "A canonical name for the geographic or physical location." + }, + "city": { + "type": "string", + "description": "The city or locality where the resource is located." + }, + "district": { + "type": "string", + "description": "The district, state, or province where the resource is located." + }, + "countryOrRegion": { + "type": "string", + "description": "The country or region where the resource is located" + } + }, + "required": [ + "name" + ] + }, + "systemData": { + "description": "Metadata pertaining to creation and last modification of the resource.", + "type": "object", + "readOnly": true, + "properties": { + "createdBy": { + "type": "string", + "description": "The identity that created the resource." + }, + "createdByType": { + "type": "string", + "description": "The type of identity that created the resource.", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ], + "x-ms-enum": { + "name": "createdByType", + "modelAsString": true + } + }, + "createdAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of resource creation (UTC)." + }, + "lastModifiedBy": { + "type": "string", + "description": "The identity that last modified the resource." + }, + "lastModifiedByType": { + "type": "string", + "description": "The type of identity that last modified the resource.", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ], + "x-ms-enum": { + "name": "createdByType", + "modelAsString": true + } + }, + "lastModifiedAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of resource last modification (UTC)" + } + } + }, + "encryptionProperties": { + "description": "Configuration of key for data encryption", + "type": "object", + "properties": { + "status": { + "description": "Indicates whether or not the encryption is enabled for container registry.", + "enum": [ + "enabled", + "disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "EncryptionStatus", + "modelAsString": true + } + }, + "keyVaultProperties": { + "$ref": "#/definitions/KeyVaultProperties", + "description": "Key vault properties." + } + } + }, + "KeyVaultProperties": { + "type": "object", + "properties": { + "keyIdentifier": { + "description": "Key vault uri to access the encryption key.", + "type": "string" + }, + "identity": { + "description": "The client ID of the identity which will be used to access key vault.", + "type": "string" + } + } + }, + "CheckNameAvailabilityRequest": { + "description": "The check availability request body.", + "type": "object", + "properties": { + "name": { + "description": "The name of the resource for which availability needs to be checked.", + "type": "string" + }, + "type": { + "description": "The resource type.", + "type": "string" + } + } + }, + "CheckNameAvailabilityResponse": { + "description": "The check availability result.", + "type": "object", + "properties": { + "nameAvailable": { + "description": "Indicates if the resource name is available.", + "type": "boolean" + }, + "reason": { + "description": "The reason why the given name is not available.", + "type": "string", + "enum": [ + "Invalid", + "AlreadyExists" + ], + "x-ms-enum": { + "name": "CheckNameAvailabilityReason", + "modelAsString": true + } + }, + "message": { + "description": "Detailed reason why the given name is available.", + "type": "string" + } + } + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "format": "uuid", + "description": "The ID of the target subscription. The value must be an UUID." + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to use for this operation.", + "minLength": 1 + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group. The name is case insensitive.", + "minLength": 1, + "maxLength": 90, + "x-ms-parameter-location": "method" + }, + "ManagementGroupNameParameter": { + "name": "managementGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the management group. The name is case insensitive.", + "minLength": 1, + "maxLength": 90, + "x-ms-parameter-location": "method" + }, + "ScopeParameter": { + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "The scope at which the operation is performed.", + "minLength": 1, + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true + }, + "TenantIdParameter": { + "name": "tenantId", + "in": "path", + "description": "The Azure tenant ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000)", + "required": true, + "type": "string", + "format": "uuid", + "x-ms-parameter-location": "method" + }, + "OperationIdParameter": { + "name": "operationId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of an ongoing async operation.", + "minLength": 1, + "x-ms-parameter-location": "method" + }, + "LocationParameter": { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Azure region.", + "minLength": 1, + "x-ms-parameter-location": "method" + }, + "If-Match": { + "name": "ifMatch", + "in": "header", + "required": true, + "type": "string", + "description": "The If-Match header that makes a request conditional.", + "x-ms-parameter-location": "method" + }, + "If-None-Match": { + "name": "ifNoneMatch", + "in": "header", + "required": true, + "type": "string", + "description": "The If-None-Match header that makes a request conditional.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/MachinePools_CreateOrUpdate.json b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/MachinePools_CreateOrUpdate.json index 3d18f4d9498..93f764e0494 100644 --- a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/MachinePools_CreateOrUpdate.json +++ b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/MachinePools_CreateOrUpdate.json @@ -1,7 +1,7 @@ { "parameters": { "api-version": "2024-08-12-preview", - "subscriptionId": "subscriptionId", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "resourceGroup", "resourceName": "resourceName", "childResourceName": "childResourceName", diff --git a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/MachinePools_Delete.json b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/MachinePools_Delete.json index d2e3810f9ca..e6e0d8ddbd3 100644 --- a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/MachinePools_Delete.json +++ b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/MachinePools_Delete.json @@ -1,7 +1,7 @@ { "parameters": { "api-version": "2024-08-12-preview", - "subscriptionId": "subscriptionId", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "resourceGroup", "resourceName": "resourceName", "childResourceName": "childResourceName" diff --git a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/MachinePools_Get.json b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/MachinePools_Get.json index 141230243c6..f14246e71cf 100644 --- a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/MachinePools_Get.json +++ b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/MachinePools_Get.json @@ -1,7 +1,7 @@ { "parameters": { "api-version": "2024-08-12-preview", - "subscriptionId": "subscriptionId", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "resourceGroup", "resourceName": "resourceName", "childResourceName": "childResourceName" diff --git a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/MachinePools_List.json b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/MachinePools_List.json index 15c0d881a8b..2f8641b8507 100644 --- a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/MachinePools_List.json +++ b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/MachinePools_List.json @@ -1,7 +1,7 @@ { "parameters": { "api-version": "2024-08-12-preview", - "subscriptionId": "subscriptionId", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "resourceGroup", "resourceName": "resourceName" }, diff --git a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/MachinePools_Update.json b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/MachinePools_Update.json index 54430b8f64a..86f6b47a4f4 100644 --- a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/MachinePools_Update.json +++ b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/MachinePools_Update.json @@ -1,7 +1,7 @@ { "parameters": { "api-version": "2024-08-12-preview", - "subscriptionId": "subscriptionId", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "resourceGroup", "resourceName": "resourceName", "childResourceName": "childResourceName", diff --git a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/OpenShiftClusters_CreateOrUpdate.json b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/OpenShiftClusters_CreateOrUpdate.json index 5f902138fe0..e7f528b8d2b 100644 --- a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/OpenShiftClusters_CreateOrUpdate.json +++ b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/OpenShiftClusters_CreateOrUpdate.json @@ -1,7 +1,7 @@ { "parameters": { "api-version": "2024-08-12-preview", - "subscriptionId": "subscriptionId", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "resourceGroup", "resourceName": "resourceName", "parameters": { diff --git a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/OpenShiftClusters_Delete.json b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/OpenShiftClusters_Delete.json index ad275d230b8..3247ea3ef4c 100644 --- a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/OpenShiftClusters_Delete.json +++ b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/OpenShiftClusters_Delete.json @@ -1,7 +1,7 @@ { "parameters": { "api-version": "2024-08-12-preview", - "subscriptionId": "subscriptionId", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "resourceGroup", "resourceName": "resourceName" }, diff --git a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/OpenShiftClusters_Get.json b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/OpenShiftClusters_Get.json index 889710dbf01..c55795a01da 100644 --- a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/OpenShiftClusters_Get.json +++ b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/OpenShiftClusters_Get.json @@ -1,7 +1,7 @@ { "parameters": { "api-version": "2024-08-12-preview", - "subscriptionId": "subscriptionId", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "resourceGroup", "resourceName": "resourceName" }, diff --git a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/OpenShiftClusters_List.json b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/OpenShiftClusters_List.json index 2c8ad20f1a5..f6ce3a73058 100644 --- a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/OpenShiftClusters_List.json +++ b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/OpenShiftClusters_List.json @@ -1,7 +1,7 @@ { "parameters": { "api-version": "2024-08-12-preview", - "subscriptionId": "subscriptionId" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { diff --git a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/OpenShiftClusters_ListAdminCredentials.json b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/OpenShiftClusters_ListAdminCredentials.json index 171354f4d2a..32306bed806 100644 --- a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/OpenShiftClusters_ListAdminCredentials.json +++ b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/OpenShiftClusters_ListAdminCredentials.json @@ -1,7 +1,7 @@ { "parameters": { "api-version": "2024-08-12-preview", - "subscriptionId": "subscriptionId", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "resourceGroup", "resourceName": "resourceName" }, diff --git a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/OpenShiftClusters_ListByResourceGroup.json b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/OpenShiftClusters_ListByResourceGroup.json index 284cd6c54a4..e3f06accd98 100644 --- a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/OpenShiftClusters_ListByResourceGroup.json +++ b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/OpenShiftClusters_ListByResourceGroup.json @@ -1,7 +1,7 @@ { "parameters": { "api-version": "2024-08-12-preview", - "subscriptionId": "subscriptionId", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "resourceGroup" }, "responses": { diff --git a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/OpenShiftClusters_ListCredentials.json b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/OpenShiftClusters_ListCredentials.json index f04cc7a9fe8..a2ef1dac2da 100644 --- a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/OpenShiftClusters_ListCredentials.json +++ b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/OpenShiftClusters_ListCredentials.json @@ -1,7 +1,7 @@ { "parameters": { "api-version": "2024-08-12-preview", - "subscriptionId": "subscriptionId", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "resourceGroup", "resourceName": "resourceName" }, diff --git a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/OpenShiftClusters_Update.json b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/OpenShiftClusters_Update.json index 5eb24d8a308..597965561a4 100644 --- a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/OpenShiftClusters_Update.json +++ b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/OpenShiftClusters_Update.json @@ -1,7 +1,7 @@ { "parameters": { "api-version": "2024-08-12-preview", - "subscriptionId": "subscriptionId", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "resourceGroup", "resourceName": "resourceName", "parameters": { diff --git a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/OpenShiftVersions_List.json b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/OpenShiftVersions_List.json index be35e95408c..73378c399ec 100644 --- a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/OpenShiftVersions_List.json +++ b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/OpenShiftVersions_List.json @@ -1,7 +1,7 @@ { "parameters": { "api-version": "2024-08-12-preview", - "subscriptionId": "subscriptionId", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "location": "location" }, "responses": { diff --git a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/PlatformWorkloadIdentityRoleSet_List.json b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/PlatformWorkloadIdentityRoleSet_List.json index cf765320808..4d4a4b55585 100644 --- a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/PlatformWorkloadIdentityRoleSet_List.json +++ b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/PlatformWorkloadIdentityRoleSet_List.json @@ -1,7 +1,7 @@ { "parameters": { "api-version": "2024-08-12-preview", - "subscriptionId": "subscriptionId", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "location": "location" }, "responses": { diff --git a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/Secrets_CreateOrUpdate.json b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/Secrets_CreateOrUpdate.json index 847d13fa1fb..08b9d2e9690 100644 --- a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/Secrets_CreateOrUpdate.json +++ b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/Secrets_CreateOrUpdate.json @@ -1,7 +1,7 @@ { "parameters": { "api-version": "2024-08-12-preview", - "subscriptionId": "subscriptionId", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "resourceGroup", "resourceName": "resourceName", "childResourceName": "childResourceName", diff --git a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/Secrets_Delete.json b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/Secrets_Delete.json index d2e3810f9ca..e6e0d8ddbd3 100644 --- a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/Secrets_Delete.json +++ b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/Secrets_Delete.json @@ -1,7 +1,7 @@ { "parameters": { "api-version": "2024-08-12-preview", - "subscriptionId": "subscriptionId", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "resourceGroup", "resourceName": "resourceName", "childResourceName": "childResourceName" diff --git a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/Secrets_Get.json b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/Secrets_Get.json index ec25778d402..d5c78de319e 100644 --- a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/Secrets_Get.json +++ b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/Secrets_Get.json @@ -1,7 +1,7 @@ { "parameters": { "api-version": "2024-08-12-preview", - "subscriptionId": "subscriptionId", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "resourceGroup", "resourceName": "resourceName", "childResourceName": "childResourceName" diff --git a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/Secrets_List.json b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/Secrets_List.json index 13fd63cc1e7..67395fcb864 100644 --- a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/Secrets_List.json +++ b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/Secrets_List.json @@ -1,7 +1,7 @@ { "parameters": { "api-version": "2024-08-12-preview", - "subscriptionId": "subscriptionId", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "resourceGroup", "resourceName": "resourceName" }, diff --git a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/Secrets_Update.json b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/Secrets_Update.json index 376440fe614..ac5e81ff967 100644 --- a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/Secrets_Update.json +++ b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/Secrets_Update.json @@ -1,7 +1,7 @@ { "parameters": { "api-version": "2024-08-12-preview", - "subscriptionId": "subscriptionId", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "resourceGroup", "resourceName": "resourceName", "childResourceName": "childResourceName", diff --git a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/SyncIdentityProviders_CreateOrUpdate.json b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/SyncIdentityProviders_CreateOrUpdate.json index 5878ade4501..f666a66ba92 100644 --- a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/SyncIdentityProviders_CreateOrUpdate.json +++ b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/SyncIdentityProviders_CreateOrUpdate.json @@ -1,7 +1,7 @@ { "parameters": { "api-version": "2024-08-12-preview", - "subscriptionId": "subscriptionId", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "resourceGroup", "resourceName": "resourceName", "childResourceName": "childResourceName", diff --git a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/SyncIdentityProviders_Delete.json b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/SyncIdentityProviders_Delete.json index d2e3810f9ca..e6e0d8ddbd3 100644 --- a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/SyncIdentityProviders_Delete.json +++ b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/SyncIdentityProviders_Delete.json @@ -1,7 +1,7 @@ { "parameters": { "api-version": "2024-08-12-preview", - "subscriptionId": "subscriptionId", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "resourceGroup", "resourceName": "resourceName", "childResourceName": "childResourceName" diff --git a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/SyncIdentityProviders_Get.json b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/SyncIdentityProviders_Get.json index 7ee0d21295a..e1a4177113c 100644 --- a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/SyncIdentityProviders_Get.json +++ b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/SyncIdentityProviders_Get.json @@ -1,7 +1,7 @@ { "parameters": { "api-version": "2024-08-12-preview", - "subscriptionId": "subscriptionId", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "resourceGroup", "resourceName": "resourceName", "childResourceName": "childResourceName" diff --git a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/SyncIdentityProviders_List.json b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/SyncIdentityProviders_List.json index 51fae1f44de..2b6cbb0d359 100644 --- a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/SyncIdentityProviders_List.json +++ b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/SyncIdentityProviders_List.json @@ -1,7 +1,7 @@ { "parameters": { "api-version": "2024-08-12-preview", - "subscriptionId": "subscriptionId", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "resourceGroup", "resourceName": "resourceName" }, diff --git a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/SyncIdentityProviders_Update.json b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/SyncIdentityProviders_Update.json index c4b6c993a80..2d3f099e9f4 100644 --- a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/SyncIdentityProviders_Update.json +++ b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/SyncIdentityProviders_Update.json @@ -1,7 +1,7 @@ { "parameters": { "api-version": "2024-08-12-preview", - "subscriptionId": "subscriptionId", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "resourceGroup", "resourceName": "resourceName", "childResourceName": "childResourceName", diff --git a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/SyncSets_CreateOrUpdate.json b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/SyncSets_CreateOrUpdate.json index 31cae09a1a5..2fee5e7c284 100644 --- a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/SyncSets_CreateOrUpdate.json +++ b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/SyncSets_CreateOrUpdate.json @@ -1,7 +1,7 @@ { "parameters": { "api-version": "2024-08-12-preview", - "subscriptionId": "subscriptionId", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "resourceGroup", "resourceName": "resourceName", "childResourceName": "childResourceName", diff --git a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/SyncSets_Delete.json b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/SyncSets_Delete.json index d2e3810f9ca..e6e0d8ddbd3 100644 --- a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/SyncSets_Delete.json +++ b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/SyncSets_Delete.json @@ -1,7 +1,7 @@ { "parameters": { "api-version": "2024-08-12-preview", - "subscriptionId": "subscriptionId", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "resourceGroup", "resourceName": "resourceName", "childResourceName": "childResourceName" diff --git a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/SyncSets_Get.json b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/SyncSets_Get.json index 2aff96c64a4..c0459742efe 100644 --- a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/SyncSets_Get.json +++ b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/SyncSets_Get.json @@ -1,7 +1,7 @@ { "parameters": { "api-version": "2024-08-12-preview", - "subscriptionId": "subscriptionId", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "resourceGroup", "resourceName": "resourceName", "childResourceName": "childResourceName" diff --git a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/SyncSets_List.json b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/SyncSets_List.json index e2fcb4979bd..c60d9162d4e 100644 --- a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/SyncSets_List.json +++ b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/SyncSets_List.json @@ -1,7 +1,7 @@ { "parameters": { "api-version": "2024-08-12-preview", - "subscriptionId": "subscriptionId", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "resourceGroup", "resourceName": "resourceName" }, diff --git a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/SyncSets_Update.json b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/SyncSets_Update.json index 61b9445e786..dc538724986 100644 --- a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/SyncSets_Update.json +++ b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/SyncSets_Update.json @@ -1,7 +1,7 @@ { "parameters": { "api-version": "2024-08-12-preview", - "subscriptionId": "subscriptionId", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "resourceGroup", "resourceName": "resourceName", "childResourceName": "childResourceName", diff --git a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/redhatopenshift.json b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/redhatopenshift.json index 03386eb5a90..9f69dce5b57 100644 --- a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/redhatopenshift.json +++ b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/redhatopenshift.json @@ -26,7 +26,7 @@ "operationId": "Operations_List", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" } ], "responses": { @@ -63,13 +63,13 @@ "operationId": "OpenShiftVersions_List", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/LocationParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/LocationParameter" } ], "responses": { @@ -106,13 +106,13 @@ "operationId": "PlatformWorkloadIdentityRoleSet_List", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/LocationParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/LocationParameter" } ], "responses": { @@ -149,10 +149,10 @@ "operationId": "OpenShiftClusters_List", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -189,13 +189,13 @@ "operationId": "MachinePools_List", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -242,13 +242,13 @@ "operationId": "Secrets_List", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -295,13 +295,13 @@ "operationId": "SyncIdentityProviders_List", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -348,13 +348,13 @@ "operationId": "SyncSets_List", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -401,13 +401,13 @@ "operationId": "OpenShiftClusters_ListByResourceGroup", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" } ], "responses": { @@ -444,13 +444,13 @@ "operationId": "OpenShiftClusters_Get", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -489,13 +489,13 @@ "operationId": "OpenShiftClusters_CreateOrUpdate", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -550,13 +550,13 @@ "operationId": "OpenShiftClusters_Delete", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -596,13 +596,13 @@ "operationId": "OpenShiftClusters_Update", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -659,13 +659,13 @@ "operationId": "OpenShiftClusters_ListAdminCredentials", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -706,13 +706,13 @@ "operationId": "OpenShiftClusters_ListCredentials", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -753,13 +753,13 @@ "operationId": "MachinePools_Get", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -811,13 +811,13 @@ "operationId": "MachinePools_CreateOrUpdate", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -884,13 +884,13 @@ "operationId": "MachinePools_Delete", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -942,13 +942,13 @@ "operationId": "MachinePools_Update", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1011,13 +1011,13 @@ "operationId": "Secrets_Get", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1069,13 +1069,13 @@ "operationId": "Secrets_CreateOrUpdate", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1142,13 +1142,13 @@ "operationId": "Secrets_Delete", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1200,13 +1200,13 @@ "operationId": "Secrets_Update", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1269,13 +1269,13 @@ "operationId": "SyncIdentityProviders_Get", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1327,13 +1327,13 @@ "operationId": "SyncIdentityProviders_CreateOrUpdate", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1400,13 +1400,13 @@ "operationId": "SyncIdentityProviders_Delete", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1458,13 +1458,13 @@ "operationId": "SyncIdentityProviders_Update", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1527,13 +1527,13 @@ "operationId": "SyncSets_Get", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1585,13 +1585,13 @@ "operationId": "SyncSets_CreateOrUpdate", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1658,13 +1658,13 @@ "operationId": "SyncSets_Delete", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -1716,13 +1716,13 @@ "operationId": "SyncSets_Update", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "resourceName", @@ -2024,7 +2024,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2067,7 +2067,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2141,7 +2141,7 @@ "type": "object", "allOf": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/TrackedResource" } ], "properties": { @@ -2155,7 +2155,7 @@ "description": "Identity stores information about the cluster MSI(s) in a workload identity cluster." }, "systemData": { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2286,7 +2286,7 @@ "description": "Identity stores information about the cluster MSI(s) in a workload identity cluster." }, "systemData": { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2307,7 +2307,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2462,7 +2462,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2514,7 +2514,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2576,7 +2576,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2621,7 +2621,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2656,7 +2656,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2699,7 +2699,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2720,7 +2720,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } @@ -2764,7 +2764,7 @@ "x-ms-client-flatten": true }, "systemData": { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", "readOnly": true } From 079b07544d65dd79866ca42c2d3b4446f5d52506 Mon Sep 17 00:00:00 2001 From: cadenmarchese Date: Thu, 19 Sep 2024 16:15:16 -0400 Subject: [PATCH 21/27] move from Identity to ManagedServiceIdentity type defined in common-types/v6 --- pkg/api/admin/openshiftcluster.go | 30 ++--- pkg/api/admin/openshiftcluster_convert.go | 12 +- pkg/api/openshiftcluster.go | 38 +++--- pkg/api/v20240812preview/openshiftcluster.go | 38 +++--- .../openshiftcluster_convert.go | 26 ++-- .../openshiftcluster_example.go | 4 +- .../openshiftcluster_validatestatic.go | 4 +- .../openshiftcluster_validatestatic_test.go | 68 +++++------ .../openshiftcluster_putorpatch_test.go | 20 +-- pkg/swagger/generator.go | 2 +- pkg/swagger/typewalker.go | 10 +- .../platformworkloadidentityprofile_test.go | 32 ++--- .../2024-08-12-preview/redhatopenshift.json | 114 +++++++++--------- 13 files changed, 202 insertions(+), 196 deletions(-) diff --git a/pkg/api/admin/openshiftcluster.go b/pkg/api/admin/openshiftcluster.go index 4ca902a4e16..64bec8bb8b4 100644 --- a/pkg/api/admin/openshiftcluster.go +++ b/pkg/api/admin/openshiftcluster.go @@ -24,7 +24,7 @@ type OpenShiftCluster struct { Location string `json:"location,omitempty"` Tags map[string]string `json:"tags,omitempty"` Properties OpenShiftClusterProperties `json:"properties,omitempty"` - Identity *Identity `json:"identity,omitempty"` + Identity *ManagedServiceIdentity `json:"identity,omitempty"` } // OpenShiftClusterProperties represents an OpenShift cluster's properties. @@ -441,8 +441,8 @@ type PlatformWorkloadIdentity struct { ObjectID string `json:"objectId,omitempty" swagger:"readOnly"` } -// ClusterUserAssignedIdentity stores information about a user-assigned managed identity in a predefined format required by Microsoft's Managed Identity team. -type ClusterUserAssignedIdentity struct { +// UserAssignedIdentity stores information about a user-assigned managed identity in a predefined format required by Microsoft's Managed Identity team. +type UserAssignedIdentity struct { // The ClientID of the ClusterUserAssignedIdentity resource ClientID string `json:"clientId,omitempty"` @@ -450,19 +450,21 @@ type ClusterUserAssignedIdentity struct { PrincipalID string `json:"principalId,omitempty"` } -// The identity type. -type ResourceIdentityType string +// The ManagedServiceIdentity type. +type ManagedServiceIdentityType string -// IdentityType constants +// ManagedServiceIdentityType constants const ( - IdentitySystemAssigned ResourceIdentityType = "SystemAssigned" - IdentityUserAssigned ResourceIdentityType = "UserAssigned" + ManagedServiceIdentityNone ManagedServiceIdentityType = "None" + ManagedServiceIdentitySystemAssigned ManagedServiceIdentityType = "SystemAssigned" + ManagedServiceIdentityUserAssigned ManagedServiceIdentityType = "UserAssigned" + ManagedServiceIdentitySystemAssignedUserAssigned ManagedServiceIdentityType = "SystemAssigned,UserAssigned" ) -// Identity stores information about the cluster MSI(s) in a workload identity cluster. -type Identity struct { - // The type of the Identity resource. - Type ResourceIdentityType `json:"type,omitempty"` +// ManagedServiceIdentity stores information about the cluster MSI(s) in a workload identity cluster. +type ManagedServiceIdentity struct { + // The type of the ManagedServiceIdentity resource. + Type ManagedServiceIdentityType `json:"type,omitempty"` // The PrincipalID of the Identity resource. PrincipalID string `json:"principalId,omitempty" swagger:"readOnly"` @@ -470,8 +472,8 @@ type Identity struct { // The TenantID provided by the MSI RP TenantID string `json:"tenantId,omitempty" swagger:"readOnly"` - // A map of ClusterUserAssigned identities attached to the cluster, specified in a type required by Microsoft's Managed Identity team. - UserAssignedIdentities map[string]ClusterUserAssignedIdentity `json:"userAssignedIdentities,omitempty"` + // A map of user assigned identities attached to the cluster, specified in a type required by Microsoft's Managed Identity team. + UserAssignedIdentities map[string]UserAssignedIdentity `json:"userAssignedIdentities,omitempty"` } // Install represents an install process. diff --git a/pkg/api/admin/openshiftcluster_convert.go b/pkg/api/admin/openshiftcluster_convert.go index 90511266b81..b1d2fb20c6b 100644 --- a/pkg/api/admin/openshiftcluster_convert.go +++ b/pkg/api/admin/openshiftcluster_convert.go @@ -178,10 +178,10 @@ func (c openShiftClusterConverter) ToExternal(oc *api.OpenShiftCluster) interfac } if oc.Identity != nil { - out.Identity.Type = ResourceIdentityType(oc.Identity.Type) - out.Identity.UserAssignedIdentities = make(map[string]ClusterUserAssignedIdentity, len(oc.Identity.UserAssignedIdentities)) + out.Identity.Type = ManagedServiceIdentityType(oc.Identity.Type) + out.Identity.UserAssignedIdentities = make(map[string]UserAssignedIdentity, len(oc.Identity.UserAssignedIdentities)) for k := range oc.Identity.UserAssignedIdentities { - var temp ClusterUserAssignedIdentity + var temp UserAssignedIdentity temp.ClientID = oc.Identity.UserAssignedIdentities[k].ClientID temp.PrincipalID = oc.Identity.UserAssignedIdentities[k].PrincipalID out.Identity.UserAssignedIdentities[k] = temp @@ -254,10 +254,10 @@ func (c openShiftClusterConverter) ToInternal(_oc interface{}, out *api.OpenShif } } if oc.Identity != nil { - out.Identity.Type = api.ResourceIdentityType(oc.Identity.Type) - out.Identity.UserAssignedIdentities = make(map[string]api.ClusterUserAssignedIdentity, len(oc.Identity.UserAssignedIdentities)) + out.Identity.Type = api.ManagedServiceIdentityType(oc.Identity.Type) + out.Identity.UserAssignedIdentities = make(map[string]api.UserAssignedIdentity, len(oc.Identity.UserAssignedIdentities)) for k := range oc.Identity.UserAssignedIdentities { - var temp api.ClusterUserAssignedIdentity + var temp api.UserAssignedIdentity temp.ClientID = oc.Identity.UserAssignedIdentities[k].ClientID temp.PrincipalID = oc.Identity.UserAssignedIdentities[k].PrincipalID out.Identity.UserAssignedIdentities[k] = temp diff --git a/pkg/api/openshiftcluster.go b/pkg/api/openshiftcluster.go index f9ec7b20547..4db6aab2e48 100644 --- a/pkg/api/openshiftcluster.go +++ b/pkg/api/openshiftcluster.go @@ -24,7 +24,7 @@ type OpenShiftCluster struct { SystemData SystemData `json:"systemData,omitempty"` Tags map[string]string `json:"tags,omitempty"` Properties OpenShiftClusterProperties `json:"properties,omitempty"` - Identity *Identity `json:"identity,omitempty"` + Identity *ManagedServiceIdentity `json:"identity,omitempty"` //this property is used in the enrichers. Should not be marshalled Lock sync.Mutex `json:"-"` @@ -841,38 +841,40 @@ type PlatformWorkloadIdentity struct { ObjectID string `json:"objectId,omitempty" swagger:"readOnly"` } -// ClusterUserAssignedIdentity stores information about a user-assigned managed identity in a predefined format required by Microsoft's Managed Identity team. -type ClusterUserAssignedIdentity struct { +// UserAssignedIdentity stores information about a user-assigned managed identity in a predefined format required by Microsoft's Managed Identity team. +type UserAssignedIdentity struct { MissingFields - // The ClientID of the ClusterUserAssignedIdentity resource - ClientID string `json:"clientId,omitempty"` + // The ClientID of the UserAssignedIdentity resource + ClientID string `json:"clientId,omitempty" swagger:"readOnly"` - // The PrincipalID of the ClusterUserAssignedIdentity resource - PrincipalID string `json:"principalId,omitempty"` + // The PrincipalID of the UserAssignedIdentity resource + PrincipalID string `json:"principalId,omitempty" swagger:"readOnly"` } -// The identity type. -type ResourceIdentityType string +// The ManagedServiceIdentity type. +type ManagedServiceIdentityType string -// IdentityType constants +// ManagedServiceIdentityType constants const ( - IdentityTypeSystemAssigned ResourceIdentityType = "SystemAssigned" - IdentityTypeUserAssigned ResourceIdentityType = "UserAssigned" + ManagedServiceIdentityNone ManagedServiceIdentityType = "None" + ManagedServiceIdentitySystemAssigned ManagedServiceIdentityType = "SystemAssigned" + ManagedServiceIdentityUserAssigned ManagedServiceIdentityType = "UserAssigned" + ManagedServiceIdentitySystemAssignedUserAssigned ManagedServiceIdentityType = "SystemAssigned,UserAssigned" ) -// Identity stores information about the cluster MSI(s) in a workload identity cluster. -type Identity struct { +// ManagedServiceIdentity stores information about the cluster MSI(s) in a workload identity cluster. +type ManagedServiceIdentity struct { MissingFields - // The type of the Identity resource. - Type ResourceIdentityType `json:"type,omitempty"` + // The type of the ManagedServiceIdentity resource. + Type ManagedServiceIdentityType `json:"type,omitempty"` // The PrincipalID of the Identity resource. PrincipalID string `json:"principalId,omitempty" swagger:"readOnly"` - // A map of ClusterUserAssigned identities attached to the cluster, specified in a type required by Microsoft's Managed Identity team. - UserAssignedIdentities map[string]ClusterUserAssignedIdentity `json:"userAssignedIdentities,omitempty"` + // A map of user assigned identities attached to the cluster, specified in a type required by Microsoft's Managed Identity team. + UserAssignedIdentities map[string]UserAssignedIdentity `json:"userAssignedIdentities,omitempty"` // The IdentityURL provided by the MSI RP IdentityURL string `json:"identityURL,omitempty" mutable:"true"` diff --git a/pkg/api/v20240812preview/openshiftcluster.go b/pkg/api/v20240812preview/openshiftcluster.go index 56c82137c44..ee4dab4c024 100644 --- a/pkg/api/v20240812preview/openshiftcluster.go +++ b/pkg/api/v20240812preview/openshiftcluster.go @@ -38,7 +38,7 @@ type OpenShiftCluster struct { Properties OpenShiftClusterProperties `json:"properties,omitempty"` // Identity stores information about the cluster MSI(s) in a workload identity cluster. - Identity *Identity `json:"identity,omitempty"` + ManagedServiceIdentity *ManagedServiceIdentity `json:"identity,omitempty"` } // UsesWorkloadIdentity checks whether a cluster is a Workload Identity cluster or a Service Principal cluster @@ -317,28 +317,30 @@ type PlatformWorkloadIdentity struct { ObjectID string `json:"objectId,omitempty" swagger:"readOnly" mutable:"true"` } -// ClusterUserAssignedIdentity stores information about a user-assigned managed identity in a predefined format required by Microsoft's Managed Identity team. -type ClusterUserAssignedIdentity struct { - // The ClientID of the ClusterUserAssignedIdentity resource - ClientID string `json:"clientId,omitempty"` +// UserAssignedIdentity stores information about a user-assigned managed identity in a predefined format required by Microsoft's Managed Identity team. +type UserAssignedIdentity struct { + // The ClientID of the UserAssignedIdentity resource + ClientID string `json:"clientId,omitempty" swagger:"readOnly"` - // The PrincipalID of the ClusterUserAssignedIdentity resource - PrincipalID string `json:"principalId,omitempty"` + // The PrincipalID of the UserAssignedIdentity resource + PrincipalID string `json:"principalId,omitempty" swagger:"readOnly"` } -// The identity type. -type ResourceIdentityType string +// The ManagedServiceIdentity type. +type ManagedServiceIdentityType string -// IdentityType constants +// ManagedServiceIdentityType constants const ( - IdentitySystemAssigned ResourceIdentityType = "SystemAssigned" - IdentityUserAssigned ResourceIdentityType = "UserAssigned" + ManagedServiceIdentityNone ManagedServiceIdentityType = "None" + ManagedServiceIdentitySystemAssigned ManagedServiceIdentityType = "SystemAssigned" + ManagedServiceIdentityUserAssigned ManagedServiceIdentityType = "UserAssigned" + ManagedServiceIdentitySystemAssignedUserAssigned ManagedServiceIdentityType = "SystemAssigned,UserAssigned" ) -// Identity stores information about the cluster MSI(s) in a workload identity cluster. -type Identity struct { - // The type of the Identity resource. - Type ResourceIdentityType `json:"type,omitempty"` +// ManagedServiceIdentity stores information about the cluster MSI(s) in a workload identity cluster. +type ManagedServiceIdentity struct { + // The type of the ManagedServiceIdentity resource. + Type ManagedServiceIdentityType `json:"type,omitempty"` // The PrincipalID of the Identity resource. PrincipalID string `json:"principalId,omitempty" swagger:"readOnly"` @@ -346,8 +348,8 @@ type Identity struct { // The TenantID provided by the MSI RP TenantID string `json:"tenantId,omitempty" swagger:"readOnly"` - // A map of ClusterUserAssigned identities attached to the cluster, specified in a type required by Microsoft's Managed Identity team. - UserAssignedIdentities map[string]ClusterUserAssignedIdentity `json:"userAssignedIdentities,omitempty"` + // A map of user assigned identities attached to the cluster, specified in a type required by Microsoft's Managed Identity team. + UserAssignedIdentities map[string]UserAssignedIdentity `json:"userAssignedIdentities,omitempty"` } // CreatedByType by defines user type, which executed the request diff --git a/pkg/api/v20240812preview/openshiftcluster_convert.go b/pkg/api/v20240812preview/openshiftcluster_convert.go index 247cd38ac0d..999db482b2f 100644 --- a/pkg/api/v20240812preview/openshiftcluster_convert.go +++ b/pkg/api/v20240812preview/openshiftcluster_convert.go @@ -129,14 +129,14 @@ func (c openShiftClusterConverter) ToExternal(oc *api.OpenShiftCluster) interfac } if oc.Identity != nil { - out.Identity = &Identity{} - out.Identity.Type = ResourceIdentityType(oc.Identity.Type) - out.Identity.UserAssignedIdentities = make(map[string]ClusterUserAssignedIdentity, len(oc.Identity.UserAssignedIdentities)) + out.ManagedServiceIdentity = &ManagedServiceIdentity{} + out.ManagedServiceIdentity.Type = ManagedServiceIdentityType(oc.Identity.Type) + out.ManagedServiceIdentity.UserAssignedIdentities = make(map[string]UserAssignedIdentity, len(oc.Identity.UserAssignedIdentities)) for k := range oc.Identity.UserAssignedIdentities { - var temp ClusterUserAssignedIdentity + var temp UserAssignedIdentity temp.ClientID = oc.Identity.UserAssignedIdentities[k].ClientID temp.PrincipalID = oc.Identity.UserAssignedIdentities[k].PrincipalID - out.Identity.UserAssignedIdentities[k] = temp + out.ManagedServiceIdentity.UserAssignedIdentities[k] = temp } } @@ -208,14 +208,14 @@ func (c openShiftClusterConverter) ToInternal(_oc interface{}, out *api.OpenShif } } - if oc.Identity != nil { - out.Identity = &api.Identity{} - out.Identity.Type = api.ResourceIdentityType(oc.Identity.Type) - out.Identity.UserAssignedIdentities = make(map[string]api.ClusterUserAssignedIdentity, len(oc.Identity.UserAssignedIdentities)) - for k := range oc.Identity.UserAssignedIdentities { - var temp api.ClusterUserAssignedIdentity - temp.ClientID = oc.Identity.UserAssignedIdentities[k].ClientID - temp.PrincipalID = oc.Identity.UserAssignedIdentities[k].PrincipalID + if oc.ManagedServiceIdentity != nil { + out.Identity = &api.ManagedServiceIdentity{} + out.Identity.Type = api.ManagedServiceIdentityType(oc.ManagedServiceIdentity.Type) + out.Identity.UserAssignedIdentities = make(map[string]api.UserAssignedIdentity, len(oc.ManagedServiceIdentity.UserAssignedIdentities)) + for k := range oc.ManagedServiceIdentity.UserAssignedIdentities { + var temp api.UserAssignedIdentity + temp.ClientID = oc.ManagedServiceIdentity.UserAssignedIdentities[k].ClientID + temp.PrincipalID = oc.ManagedServiceIdentity.UserAssignedIdentities[k].PrincipalID out.Identity.UserAssignedIdentities[k] = temp } } diff --git a/pkg/api/v20240812preview/openshiftcluster_example.go b/pkg/api/v20240812preview/openshiftcluster_example.go index 3d12679deee..1ce8f67db40 100644 --- a/pkg/api/v20240812preview/openshiftcluster_example.go +++ b/pkg/api/v20240812preview/openshiftcluster_example.go @@ -40,9 +40,9 @@ func ExampleOpenShiftClusterPutParameter() interface{} { oc.ID = "" oc.Name = "" oc.Type = "" - oc.Identity = &Identity{ + oc.ManagedServiceIdentity = &ManagedServiceIdentity{ Type: "", - UserAssignedIdentities: map[string]ClusterUserAssignedIdentity{}, + UserAssignedIdentities: map[string]UserAssignedIdentity{}, } oc.Properties.ProvisioningState = "" oc.Properties.ClusterProfile.Version = "" diff --git a/pkg/api/v20240812preview/openshiftcluster_validatestatic.go b/pkg/api/v20240812preview/openshiftcluster_validatestatic.go index 31816bb18ee..df19741c36b 100644 --- a/pkg/api/v20240812preview/openshiftcluster_validatestatic.go +++ b/pkg/api/v20240812preview/openshiftcluster_validatestatic.go @@ -524,14 +524,14 @@ func (sv openShiftClusterStaticValidator) validatePlatformIdentities(oc *OpenShi return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, "properties.servicePrincipalProfile", "Cannot use identities and service principal credentials at the same time.") } - clusterIdentityPresent := oc.Identity != nil + clusterIdentityPresent := oc.ManagedServiceIdentity != nil operatorRolePresent := pwip != nil if clusterIdentityPresent != operatorRolePresent { return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, "identity", "Cluster identity and platform workload identities require each other.") } - if operatorRolePresent && len(oc.Identity.UserAssignedIdentities) != 1 { + if operatorRolePresent && len(oc.ManagedServiceIdentity.UserAssignedIdentities) != 1 { return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, "identity", "The provided cluster identity is invalid; there should be exactly one.") } diff --git a/pkg/api/v20240812preview/openshiftcluster_validatestatic_test.go b/pkg/api/v20240812preview/openshiftcluster_validatestatic_test.go index 5284957bb4e..5d951214a01 100644 --- a/pkg/api/v20240812preview/openshiftcluster_validatestatic_test.go +++ b/pkg/api/v20240812preview/openshiftcluster_validatestatic_test.go @@ -52,7 +52,7 @@ var ( OperatorName: "ANOTHER-FAKE-OPERATOR", ResourceID: "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/a-fake-group/providers/Microsoft.RedHatOpenShift/userAssignedIdentities/fake-cluster-name-two", } - clusterIdentity1 = ClusterUserAssignedIdentity{ + clusterIdentity1 = UserAssignedIdentity{ ClientID: "11111111-1111-1111-1111-111111111111", PrincipalID: "SOMETHING", } @@ -1249,8 +1249,8 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin platformIdentity1, }, } - oc.Identity = &Identity{ - UserAssignedIdentities: map[string]ClusterUserAssignedIdentity{ + oc.ManagedServiceIdentity = &ManagedServiceIdentity{ + UserAssignedIdentities: map[string]UserAssignedIdentity{ "first": { ClientID: "11111111-1111-1111-1111-111111111111", PrincipalID: "SOMETHING", @@ -1263,8 +1263,8 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin { name: "invalid resourceID", modify: func(oc *OpenShiftCluster) { - oc.Identity = &Identity{ - UserAssignedIdentities: map[string]ClusterUserAssignedIdentity{ + oc.ManagedServiceIdentity = &ManagedServiceIdentity{ + UserAssignedIdentities: map[string]UserAssignedIdentity{ "first": { ClientID: "11111111-1111-1111-1111-111111111111", PrincipalID: "SOMETHING", @@ -1295,8 +1295,8 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin }, } oc.Properties.ServicePrincipalProfile = nil - oc.Identity = &Identity{ - UserAssignedIdentities: map[string]ClusterUserAssignedIdentity{ + oc.ManagedServiceIdentity = &ManagedServiceIdentity{ + UserAssignedIdentities: map[string]UserAssignedIdentity{ "first": clusterIdentity1, }, } @@ -1311,8 +1311,8 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin platformIdentity1, }, } - oc.Identity = &Identity{ - UserAssignedIdentities: map[string]ClusterUserAssignedIdentity{ + oc.ManagedServiceIdentity = &ManagedServiceIdentity{ + UserAssignedIdentities: map[string]UserAssignedIdentity{ "first": clusterIdentity1, }, } @@ -1326,8 +1326,8 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin { name: "cluster identity missing platform workload identity", modify: func(oc *OpenShiftCluster) { - oc.Identity = &Identity{ - UserAssignedIdentities: map[string]ClusterUserAssignedIdentity{ + oc.ManagedServiceIdentity = &ManagedServiceIdentity{ + UserAssignedIdentities: map[string]UserAssignedIdentity{ "first": clusterIdentity1, }, } @@ -1359,15 +1359,15 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin }, } oc.Properties.ServicePrincipalProfile = nil - oc.Identity = &Identity{} + oc.ManagedServiceIdentity = &ManagedServiceIdentity{} }, wantErr: "400: InvalidParameter: identity: The provided cluster identity is invalid; there should be exactly one.", }, { name: "operator name missing", modify: func(oc *OpenShiftCluster) { - oc.Identity = &Identity{ - UserAssignedIdentities: map[string]ClusterUserAssignedIdentity{ + oc.ManagedServiceIdentity = &ManagedServiceIdentity{ + UserAssignedIdentities: map[string]UserAssignedIdentity{ "first": clusterIdentity1, }, } @@ -1394,8 +1394,8 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin { name: "valid UpgradeableTo value", modify: func(oc *OpenShiftCluster) { - oc.Identity = &Identity{ - UserAssignedIdentities: map[string]ClusterUserAssignedIdentity{ + oc.ManagedServiceIdentity = &ManagedServiceIdentity{ + UserAssignedIdentities: map[string]UserAssignedIdentity{ "Dummy": {}, }, } @@ -1408,8 +1408,8 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin { name: "invalid UpgradeableTo value", modify: func(oc *OpenShiftCluster) { - oc.Identity = &Identity{ - UserAssignedIdentities: map[string]ClusterUserAssignedIdentity{ + oc.ManagedServiceIdentity = &ManagedServiceIdentity{ + UserAssignedIdentities: map[string]UserAssignedIdentity{ "Dummy": {}, }, } @@ -1432,8 +1432,8 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin }, }, } - oc.Identity = &Identity{ - UserAssignedIdentities: map[string]ClusterUserAssignedIdentity{ + oc.ManagedServiceIdentity = &ManagedServiceIdentity{ + UserAssignedIdentities: map[string]UserAssignedIdentity{ "first": clusterIdentity1, }, } @@ -1452,8 +1452,8 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin platformIdentity1, }, } - oc.Identity = &Identity{ - UserAssignedIdentities: map[string]ClusterUserAssignedIdentity{ + oc.ManagedServiceIdentity = &ManagedServiceIdentity{ + UserAssignedIdentities: map[string]UserAssignedIdentity{ "first": clusterIdentity1, }, } @@ -1471,8 +1471,8 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin platformIdentity1, }, } - oc.Identity = &Identity{ - UserAssignedIdentities: map[string]ClusterUserAssignedIdentity{ + oc.ManagedServiceIdentity = &ManagedServiceIdentity{ + UserAssignedIdentities: map[string]UserAssignedIdentity{ "first": clusterIdentity1, }, } @@ -1491,8 +1491,8 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin platformIdentity1, }, } - oc.Identity = &Identity{ - UserAssignedIdentities: map[string]ClusterUserAssignedIdentity{ + oc.ManagedServiceIdentity = &ManagedServiceIdentity{ + UserAssignedIdentities: map[string]UserAssignedIdentity{ "first": clusterIdentity1, }, } @@ -1512,8 +1512,8 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin platformIdentity2, }, } - oc.Identity = &Identity{ - UserAssignedIdentities: map[string]ClusterUserAssignedIdentity{ + oc.ManagedServiceIdentity = &ManagedServiceIdentity{ + UserAssignedIdentities: map[string]UserAssignedIdentity{ "first": clusterIdentity1, }, } @@ -1534,8 +1534,8 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin platformIdentity1, }, } - oc.Identity = &Identity{ - UserAssignedIdentities: map[string]ClusterUserAssignedIdentity{ + oc.ManagedServiceIdentity = &ManagedServiceIdentity{ + UserAssignedIdentities: map[string]UserAssignedIdentity{ "first": clusterIdentity1, }, } @@ -1556,8 +1556,8 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin platformIdentity2, }, } - oc.Identity = &Identity{ - UserAssignedIdentities: map[string]ClusterUserAssignedIdentity{ + oc.ManagedServiceIdentity = &ManagedServiceIdentity{ + UserAssignedIdentities: map[string]UserAssignedIdentity{ "first": clusterIdentity1, }, } @@ -1578,8 +1578,8 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin platformIdentity1, }, } - oc.Identity = &Identity{ - UserAssignedIdentities: map[string]ClusterUserAssignedIdentity{ + oc.ManagedServiceIdentity = &ManagedServiceIdentity{ + UserAssignedIdentities: map[string]UserAssignedIdentity{ "first": clusterIdentity1, }, } diff --git a/pkg/frontend/openshiftcluster_putorpatch_test.go b/pkg/frontend/openshiftcluster_putorpatch_test.go index 0a4090f60ed..596bce2dcc7 100644 --- a/pkg/frontend/openshiftcluster_putorpatch_test.go +++ b/pkg/frontend/openshiftcluster_putorpatch_test.go @@ -1945,9 +1945,9 @@ func TestPutOrPatchOpenShiftCluster(t *testing.T) { name: "create a new workload identity cluster", request: func(oc *v20240812preview.OpenShiftCluster) { oc.Properties.ClusterProfile.Version = defaultVersion - oc.Identity = &v20240812preview.Identity{ + oc.ManagedServiceIdentity = &v20240812preview.ManagedServiceIdentity{ Type: "UserAssigned", - UserAssignedIdentities: map[string]v20240812preview.ClusterUserAssignedIdentity{ + UserAssignedIdentities: map[string]v20240812preview.UserAssignedIdentity{ mockMiResourceId: {}, }, } @@ -2016,9 +2016,9 @@ func TestPutOrPatchOpenShiftCluster(t *testing.T) { ID: testdatabase.GetResourcePath(mockGuid, "resourceName"), Name: "resourceName", Type: "Microsoft.RedHatOpenShift/openShiftClusters", - Identity: &api.Identity{ + Identity: &api.ManagedServiceIdentity{ Type: "UserAssigned", - UserAssignedIdentities: map[string]api.ClusterUserAssignedIdentity{ + UserAssignedIdentities: map[string]api.UserAssignedIdentity{ mockMiResourceId: {}, }, IdentityURL: middleware.MockIdentityURL, @@ -2098,9 +2098,9 @@ func TestPutOrPatchOpenShiftCluster(t *testing.T) { Name: "resourceName", Type: "Microsoft.RedHatOpenShift/openShiftClusters", SystemData: &v20240812preview.SystemData{}, - Identity: &v20240812preview.Identity{ + ManagedServiceIdentity: &v20240812preview.ManagedServiceIdentity{ Type: "UserAssigned", - UserAssignedIdentities: map[string]v20240812preview.ClusterUserAssignedIdentity{ + UserAssignedIdentities: map[string]v20240812preview.UserAssignedIdentity{ mockMiResourceId: {}, }, }, @@ -3647,11 +3647,11 @@ func TestValidateIdentityUrl(t *testing.T) { { name: "pass - identity URL passed", cluster: &api.OpenShiftCluster{ - Identity: &api.Identity{}, + Identity: &api.ManagedServiceIdentity{}, }, identityURL: "http://foo.bar", expected: &api.OpenShiftCluster{ - Identity: &api.Identity{ + Identity: &api.ManagedServiceIdentity{ IdentityURL: "http://foo.bar", }, }, @@ -3688,11 +3688,11 @@ func TestValidateIdentityTenantID(t *testing.T) { { name: "pass - tenantID passed", cluster: &api.OpenShiftCluster{ - Identity: &api.Identity{}, + Identity: &api.ManagedServiceIdentity{}, }, tenantID: "bogus", expected: &api.OpenShiftCluster{ - Identity: &api.Identity{ + Identity: &api.ManagedServiceIdentity{ TenantID: "bogus", }, }, diff --git a/pkg/swagger/generator.go b/pkg/swagger/generator.go index d4b9c94ebb0..cdbbf31c97d 100644 --- a/pkg/swagger/generator.go +++ b/pkg/swagger/generator.go @@ -319,7 +319,7 @@ var apis = map[string]*generator{ examplePlatformWorkloadIdentityRoleSetListResponse: v20240812preview.ExamplePlatformWorkloadIdentityRoleSetListResponse, exampleOperationListResponse: api.ExampleOperationListResponse, - xmsEnum: []string{"ProvisioningState", "PreconfiguredNSG", "EncryptionAtHost", "FipsValidatedModules", "SoftwareDefinedNetwork", "Visibility", "OutboundType", "ResourceIdentityType"}, + xmsEnum: []string{"ProvisioningState", "PreconfiguredNSG", "EncryptionAtHost", "FipsValidatedModules", "SoftwareDefinedNetwork", "Visibility", "OutboundType", "ManagedServiceIdentityType"}, xmsSecretList: []string{"kubeconfig", "kubeadminPassword", "secretResources"}, xmsIdentifiers: []string{}, commonTypesVersion: "v6", diff --git a/pkg/swagger/typewalker.go b/pkg/swagger/typewalker.go index 9b12ad5de2d..9f0476dcecd 100644 --- a/pkg/swagger/typewalker.go +++ b/pkg/swagger/typewalker.go @@ -197,8 +197,9 @@ func (tw *typeWalker) _define(definitions Definitions, t *types.Named) { name := c[(len(c) - 1)] for _, xname := range tw.xmsEnumList { if xname == name { - s.XMSEnum = &XMSEnum{ModelAsString: isModelAsString(xname), - Name: xname, + s.XMSEnum = &XMSEnum{ + ModelAsString: true, + Name: xname, } } } @@ -262,8 +263,3 @@ func getNodeField(nodes []ast.Node) (*ast.Field, bool) { return nil, false } - -func isModelAsString(name string) bool { - // ARM mandates that modelAsString is false for the identity type. - return name != "ResourceIdentityType" -} diff --git a/pkg/validate/dynamic/platformworkloadidentityprofile_test.go b/pkg/validate/dynamic/platformworkloadidentityprofile_test.go index 92d5dd9e358..8a6eb70ec9a 100644 --- a/pkg/validate/dynamic/platformworkloadidentityprofile_test.go +++ b/pkg/validate/dynamic/platformworkloadidentityprofile_test.go @@ -156,7 +156,7 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { OperatorName: "Dummy1", }, } - clusterMSI := map[string]api.ClusterUserAssignedIdentity{ + clusterMSI := map[string]api.UserAssignedIdentity{ msiResourceID: { ClientID: dummyClientId, PrincipalID: dummyObjectId, @@ -196,7 +196,7 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { Version: openShiftVersion, }, }, - Identity: &api.Identity{ + Identity: &api.ManagedServiceIdentity{ UserAssignedIdentities: clusterMSI, }, }, @@ -227,7 +227,7 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { Version: openShiftVersion, }, }, - Identity: &api.Identity{ + Identity: &api.ManagedServiceIdentity{ UserAssignedIdentities: clusterMSI, }, }, @@ -262,7 +262,7 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { Version: openShiftVersion, }, }, - Identity: &api.Identity{ + Identity: &api.ManagedServiceIdentity{ UserAssignedIdentities: clusterMSI, }, }, @@ -297,7 +297,7 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { Version: openShiftVersion, }, }, - Identity: &api.Identity{ + Identity: &api.ManagedServiceIdentity{ UserAssignedIdentities: clusterMSI, }, }, @@ -320,7 +320,7 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { Version: openShiftVersion, }, }, - Identity: &api.Identity{ + Identity: &api.ManagedServiceIdentity{ UserAssignedIdentities: clusterMSI, }, }, @@ -343,7 +343,7 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { Version: openShiftVersion, }, }, - Identity: &api.Identity{ + Identity: &api.ManagedServiceIdentity{ UserAssignedIdentities: clusterMSI, }, }, @@ -361,7 +361,7 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { Version: openShiftVersion, }, }, - Identity: &api.Identity{ + Identity: &api.ManagedServiceIdentity{ UserAssignedIdentities: clusterMSI, }, }, @@ -388,7 +388,7 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { Version: openShiftVersion, }, }, - Identity: &api.Identity{ + Identity: &api.ManagedServiceIdentity{ UserAssignedIdentities: clusterMSI, }, }, @@ -406,8 +406,8 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { Version: openShiftVersion, }, }, - Identity: &api.Identity{ - UserAssignedIdentities: map[string]api.ClusterUserAssignedIdentity{ + Identity: &api.ManagedServiceIdentity{ + UserAssignedIdentities: map[string]api.UserAssignedIdentity{ "invalidUUID": {}, }, }, @@ -426,7 +426,7 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { Version: openShiftVersion, }, }, - Identity: &api.Identity{ + Identity: &api.ManagedServiceIdentity{ UserAssignedIdentities: clusterMSI, }, }, @@ -453,7 +453,7 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { }, }, }, - Identity: &api.Identity{ + Identity: &api.ManagedServiceIdentity{ UserAssignedIdentities: clusterMSI, }, }, @@ -474,7 +474,7 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { Version: openShiftVersion, }, }, - Identity: &api.Identity{ + Identity: &api.ManagedServiceIdentity{ UserAssignedIdentities: clusterMSI, }, }, @@ -503,7 +503,7 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { Version: openShiftVersion, }, }, - Identity: &api.Identity{ + Identity: &api.ManagedServiceIdentity{ UserAssignedIdentities: clusterMSI, }, }, @@ -532,7 +532,7 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { Version: openShiftVersion, }, }, - Identity: &api.Identity{ + Identity: &api.ManagedServiceIdentity{ UserAssignedIdentities: clusterMSI, }, }, diff --git a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/redhatopenshift.json b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/redhatopenshift.json index 9f69dce5b57..00bf2523fb1 100644 --- a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/redhatopenshift.json +++ b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/redhatopenshift.json @@ -1863,20 +1863,6 @@ } } }, - "ClusterUserAssignedIdentity": { - "description": "ClusterUserAssignedIdentity stores information about a user-assigned managed identity in a predefined format required by Microsoft's Managed Identity team.", - "type": "object", - "properties": { - "clientId": { - "description": "The ClientID of the ClusterUserAssignedIdentity resource", - "type": "string" - }, - "principalId": { - "description": "The PrincipalID of the ClusterUserAssignedIdentity resource", - "type": "string" - } - } - }, "ConsoleProfile": { "description": "ConsoleProfile represents a console profile.", "type": "object", @@ -1944,33 +1930,6 @@ "modelAsString": true } }, - "Identity": { - "description": "Identity stores information about the cluster MSI(s) in a workload identity cluster.", - "type": "object", - "properties": { - "type": { - "$ref": "#/definitions/ResourceIdentityType", - "description": "The type of the Identity resource." - }, - "principalId": { - "description": "The PrincipalID of the Identity resource.", - "type": "string", - "readOnly": true - }, - "tenantId": { - "description": "The TenantID provided by the MSI RP", - "type": "string", - "readOnly": true - }, - "userAssignedIdentities": { - "description": "A map of ClusterUserAssigned identities attached to the cluster, specified in a type required by Microsoft's Managed Identity team.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/ClusterUserAssignedIdentity" - } - } - } - }, "IngressProfile": { "description": "IngressProfile represents an ingress profile.", "type": "object", @@ -2084,6 +2043,47 @@ } } }, + "ManagedServiceIdentity": { + "description": "ManagedServiceIdentity stores information about the cluster MSI(s) in a workload identity cluster.", + "type": "object", + "properties": { + "type": { + "$ref": "#/definitions/ManagedServiceIdentityType", + "description": "The type of the ManagedServiceIdentity resource." + }, + "principalId": { + "description": "The PrincipalID of the Identity resource.", + "type": "string", + "readOnly": true + }, + "tenantId": { + "description": "The TenantID provided by the MSI RP", + "type": "string", + "readOnly": true + }, + "userAssignedIdentities": { + "description": "A map of user assigned identities attached to the cluster, specified in a type required by Microsoft's Managed Identity team.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentity" + } + } + } + }, + "ManagedServiceIdentityType": { + "description": "The ManagedServiceIdentity type.", + "enum": [ + "None", + "SystemAssigned", + "SystemAssigned,UserAssigned", + "UserAssigned" + ], + "type": "string", + "x-ms-enum": { + "name": "ManagedServiceIdentityType", + "modelAsString": true + } + }, "MasterProfile": { "description": "MasterProfile represents a master profile.", "type": "object", @@ -2151,7 +2151,7 @@ "x-ms-client-flatten": true }, "identity": { - "$ref": "#/definitions/Identity", + "$ref": "#/definitions/ManagedServiceIdentity", "description": "Identity stores information about the cluster MSI(s) in a workload identity cluster." }, "systemData": { @@ -2282,7 +2282,7 @@ "x-ms-client-flatten": true }, "identity": { - "$ref": "#/definitions/Identity", + "$ref": "#/definitions/ManagedServiceIdentity", "description": "Identity stores information about the cluster MSI(s) in a workload identity cluster." }, "systemData": { @@ -2549,18 +2549,6 @@ "modelAsString": true } }, - "ResourceIdentityType": { - "description": "The identity type.", - "enum": [ - "SystemAssigned", - "UserAssigned" - ], - "type": "string", - "x-ms-enum": { - "name": "ResourceIdentityType", - "modelAsString": false - } - }, "Secret": { "description": "Secret represents a secret.", "type": "object", @@ -2781,6 +2769,22 @@ "description": "UpgradeableTo stores a single OpenShift version a workload identity cluster can be upgraded to", "type": "string" }, + "UserAssignedIdentity": { + "description": "UserAssignedIdentity stores information about a user-assigned managed identity in a predefined format required by Microsoft's Managed Identity team.", + "type": "object", + "properties": { + "clientId": { + "description": "The ClientID of the UserAssignedIdentity resource", + "type": "string", + "readOnly": true + }, + "principalId": { + "description": "The PrincipalID of the UserAssignedIdentity resource", + "type": "string", + "readOnly": true + } + } + }, "VMSize": { "description": "VM size availability varies by region.\nIf a node contains insufficient compute resources (memory, cpu, etc.), pods might fail to run correctly.\nFor more details on restricted VM sizes, see: https://docs.microsoft.com/en-us/azure/openshift/support-policies-v4#supported-virtual-machine-sizes", "type": "string" From 097539edc31587c49c934a82a6f7e00b577614ec Mon Sep 17 00:00:00 2001 From: cadenmarchese Date: Tue, 24 Sep 2024 09:51:09 -0400 Subject: [PATCH 22/27] use modelerfour.lenient-model-deduplication=true avoids python client generation issues --- hack/build-client.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/hack/build-client.sh b/hack/build-client.sh index 647f6aac558..1045ec75e73 100755 --- a/hack/build-client.sh +++ b/hack/build-client.sh @@ -68,6 +68,7 @@ function generate_python() { "${AUTOREST_IMAGE}" \ --use=@autorest/python@~5.12.0 \ --use=@autorest/modelerfour@~4.20.0 \ + --modelerfour.lenient-model-deduplication=true \ --version=~3.6.2 \ --python \ --azure-arm \ From afad85c457c23f628213e27c500149ef84eb82f4 Mon Sep 17 00:00:00 2001 From: cadenmarchese Date: Thu, 26 Sep 2024 08:30:55 -0400 Subject: [PATCH 23/27] convert PlatformWorkloadIdentity to map --- pkg/api/admin/openshiftcluster.go | 5 +- pkg/api/admin/openshiftcluster_convert.go | 30 +++-- pkg/api/openshiftcluster.go | 7 +- pkg/api/v20240812preview/openshiftcluster.go | 5 +- .../openshiftcluster_convert.go | 37 +++-- .../openshiftcluster_example.go | 21 ++- .../openshiftcluster_validatestatic.go | 22 +-- .../openshiftcluster_validatestatic_test.go | 121 ++++++++--------- pkg/cluster/denyassignment.go | 2 +- pkg/cluster/denyassignment_test.go | 20 ++- .../deploybaseresources_additional_test.go | 5 +- pkg/cluster/workloadidentityresources.go | 4 +- pkg/cluster/workloadidentityresources_test.go | 38 +++--- .../openshiftcluster_putorpatch_test.go | 126 +++++++----------- pkg/operator/deploy/deploy.go | 4 +- pkg/operator/deploy/deploy_test.go | 5 +- .../dynamic/diskencryptionset_test.go | 2 +- pkg/validate/dynamic/dynamic.go | 8 +- pkg/validate/dynamic/dynamic_test.go | 13 +- .../platformworkloadidentityprofile.go | 16 +-- .../platformworkloadidentityprofile_test.go | 43 +++--- .../OpenShiftClusters_CreateOrUpdate.json | 6 +- .../examples/OpenShiftClusters_Get.json | 6 +- .../examples/OpenShiftClusters_List.json | 6 +- ...OpenShiftClusters_ListByResourceGroup.json | 6 +- .../examples/OpenShiftClusters_Update.json | 6 +- .../2024-08-12-preview/redhatopenshift.json | 11 +- 27 files changed, 258 insertions(+), 317 deletions(-) diff --git a/pkg/api/admin/openshiftcluster.go b/pkg/api/admin/openshiftcluster.go index 64bec8bb8b4..a51c4ca7364 100644 --- a/pkg/api/admin/openshiftcluster.go +++ b/pkg/api/admin/openshiftcluster.go @@ -420,7 +420,7 @@ type IngressProfile struct { // PlatformWorkloadIdentityProfile encapsulates all information that is specific to workload identity clusters. type PlatformWorkloadIdentityProfile struct { UpgradeableTo *UpgradeableTo `json:"upgradeableTo,omitempty"` - PlatformWorkloadIdentities []PlatformWorkloadIdentity `json:"platformWorkloadIdentities,omitempty"` + PlatformWorkloadIdentities map[string]PlatformWorkloadIdentity `json:"platformWorkloadIdentities,omitempty"` } // UpgradeableTo stores a single OpenShift version a workload identity cluster can be upgraded to @@ -428,9 +428,6 @@ type UpgradeableTo string // PlatformWorkloadIdentity stores information representing a single workload identity. type PlatformWorkloadIdentity struct { - // The name of the operator the PlatformWorkloadIdentity is to be used for - OperatorName string `json:"operatorName,omitempty"` - // The resource ID of the PlatformWorkloadIdentity resource ResourceID string `json:"resourceId,omitempty"` diff --git a/pkg/api/admin/openshiftcluster_convert.go b/pkg/api/admin/openshiftcluster_convert.go index b1d2fb20c6b..8d3f5df05e3 100644 --- a/pkg/api/admin/openshiftcluster_convert.go +++ b/pkg/api/admin/openshiftcluster_convert.go @@ -190,13 +190,16 @@ func (c openShiftClusterConverter) ToExternal(oc *api.OpenShiftCluster) interfac if oc.Properties.PlatformWorkloadIdentityProfile != nil && oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities != nil { out.Properties.PlatformWorkloadIdentityProfile = &PlatformWorkloadIdentityProfile{} - out.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities = make([]PlatformWorkloadIdentity, len(oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities)) + out.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities = make(map[string]PlatformWorkloadIdentity, len(oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities)) - for i := range oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities { - out.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[i].OperatorName = oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[i].OperatorName - out.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[i].ResourceID = oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[i].ResourceID - out.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[i].ClientID = oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[i].ClientID - out.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[i].ObjectID = oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[i].ObjectID + for k := range oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities { + if entry, ok := out.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[k]; ok { + entry.ClientID = oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[k].ClientID + entry.ObjectID = oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[k].ObjectID + entry.ResourceID = oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[k].ResourceID + + out.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[k] = entry + } } } @@ -292,13 +295,16 @@ func (c openShiftClusterConverter) ToInternal(_oc interface{}, out *api.OpenShif } if oc.Properties.PlatformWorkloadIdentityProfile != nil && oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities != nil { out.Properties.PlatformWorkloadIdentityProfile = &api.PlatformWorkloadIdentityProfile{} - out.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities = make([]api.PlatformWorkloadIdentity, len(oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities)) + out.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities = make(map[string]api.PlatformWorkloadIdentity, len(oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities)) - for i := range oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities { - out.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[i].OperatorName = oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[i].OperatorName - out.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[i].ResourceID = oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[i].ResourceID - out.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[i].ClientID = oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[i].ClientID - out.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[i].ObjectID = oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[i].ObjectID + for k := range oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities { + if entry, ok := out.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[k]; ok { + entry.ClientID = oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[k].ClientID + entry.ObjectID = oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[k].ObjectID + entry.ResourceID = oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[k].ResourceID + + out.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[k] = entry + } } } out.Properties.NetworkProfile.PodCIDR = oc.Properties.NetworkProfile.PodCIDR diff --git a/pkg/api/openshiftcluster.go b/pkg/api/openshiftcluster.go index 4db6aab2e48..84e36657d7c 100644 --- a/pkg/api/openshiftcluster.go +++ b/pkg/api/openshiftcluster.go @@ -817,8 +817,8 @@ type HiveProfile struct { type PlatformWorkloadIdentityProfile struct { MissingFields - UpgradeableTo *UpgradeableTo `json:"upgradeableTo,omitempty"` - PlatformWorkloadIdentities []PlatformWorkloadIdentity `json:"platformWorkloadIdentities,omitempty"` + UpgradeableTo *UpgradeableTo `json:"upgradeableTo,omitempty"` + PlatformWorkloadIdentities map[string]PlatformWorkloadIdentity `json:"platformWorkloadIdentities,omitempty"` } // UpgradeableTo stores a single OpenShift version a workload identity cluster can be upgraded to @@ -828,9 +828,6 @@ type UpgradeableTo string type PlatformWorkloadIdentity struct { MissingFields - // The name of the operator the PlatformWorkloadIdentity is to be used for - OperatorName string `json:"operatorName,omitempty"` - // The resource ID of the PlatformWorkloadIdentity resource ResourceID string `json:"resourceId,omitempty"` diff --git a/pkg/api/v20240812preview/openshiftcluster.go b/pkg/api/v20240812preview/openshiftcluster.go index ee4dab4c024..d341baea033 100644 --- a/pkg/api/v20240812preview/openshiftcluster.go +++ b/pkg/api/v20240812preview/openshiftcluster.go @@ -296,7 +296,7 @@ type IngressProfile struct { // PlatformWorkloadIdentityProfile encapsulates all information that is specific to workload identity clusters. type PlatformWorkloadIdentityProfile struct { UpgradeableTo *UpgradeableTo `json:"upgradeableTo,omitempty" mutable:"true"` - PlatformWorkloadIdentities []PlatformWorkloadIdentity `json:"platformWorkloadIdentities,omitempty" mutable:"true"` + PlatformWorkloadIdentities map[string]PlatformWorkloadIdentity `json:"platformWorkloadIdentities,omitempty" mutable:"true"` } // UpgradeableTo stores a single OpenShift version a workload identity cluster can be upgraded to @@ -304,9 +304,6 @@ type UpgradeableTo string // PlatformWorkloadIdentity stores information representing a single workload identity. type PlatformWorkloadIdentity struct { - // The name of the operator the PlatformWorkloadIdentity is to be used for - OperatorName string `json:"operatorName,omitempty" mutable:"true"` - // The resource ID of the PlatformWorkloadIdentity resource ResourceID string `json:"resourceId,omitempty" mutable:"true"` diff --git a/pkg/api/v20240812preview/openshiftcluster_convert.go b/pkg/api/v20240812preview/openshiftcluster_convert.go index 999db482b2f..2a8791cce89 100644 --- a/pkg/api/v20240812preview/openshiftcluster_convert.go +++ b/pkg/api/v20240812preview/openshiftcluster_convert.go @@ -148,13 +148,16 @@ func (c openShiftClusterConverter) ToExternal(oc *api.OpenShiftCluster) interfac out.Properties.PlatformWorkloadIdentityProfile.UpgradeableTo = &temp } - out.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities = make([]PlatformWorkloadIdentity, len(oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities)) + out.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities = make(map[string]PlatformWorkloadIdentity, len(oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities)) - for i := range oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities { - out.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[i].OperatorName = oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[i].OperatorName - out.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[i].ResourceID = oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[i].ResourceID - out.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[i].ClientID = oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[i].ClientID - out.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[i].ObjectID = oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[i].ObjectID + for k := range oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities { + if entry, ok := out.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[k]; ok { + entry.ClientID = oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[k].ClientID + entry.ObjectID = oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[k].ObjectID + entry.ResourceID = oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[k].ResourceID + + out.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[k] = entry + } } } @@ -243,13 +246,16 @@ func (c openShiftClusterConverter) ToInternal(_oc interface{}, out *api.OpenShif out.Properties.PlatformWorkloadIdentityProfile.UpgradeableTo = &temp } - out.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities = make([]api.PlatformWorkloadIdentity, len(oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities)) + out.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities = make(map[string]api.PlatformWorkloadIdentity, len(oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities)) - for i := range oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities { - out.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[i].OperatorName = oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[i].OperatorName - out.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[i].ResourceID = oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[i].ResourceID - out.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[i].ClientID = oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[i].ClientID - out.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[i].ObjectID = oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[i].ObjectID + for k := range oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities { + if entry, ok := out.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[k]; ok { + entry.ClientID = oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[k].ClientID + entry.ObjectID = oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[k].ObjectID + entry.ResourceID = oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[k].ResourceID + + out.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[k] = entry + } } } @@ -360,8 +366,11 @@ func (c openShiftClusterConverter) ExternalNoReadOnly(_oc interface{}) { } if oc.Properties.PlatformWorkloadIdentityProfile != nil { for i := range oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities { - oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[i].ClientID = "" - oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[i].ObjectID = "" + if entry, ok := oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[i]; ok { + entry.ClientID = "" + entry.ObjectID = "" + oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[i] = entry + } } } } diff --git a/pkg/api/v20240812preview/openshiftcluster_example.go b/pkg/api/v20240812preview/openshiftcluster_example.go index 1ce8f67db40..afc7d727fb8 100644 --- a/pkg/api/v20240812preview/openshiftcluster_example.go +++ b/pkg/api/v20240812preview/openshiftcluster_example.go @@ -20,12 +20,11 @@ func ExampleOpenShiftClusterPatchParameter() interface{} { oc.SystemData = nil oc.Properties.WorkerProfilesStatus = nil oc.Properties.PlatformWorkloadIdentityProfile = &PlatformWorkloadIdentityProfile{ - PlatformWorkloadIdentities: []PlatformWorkloadIdentity{ - { - OperatorName: "", - ResourceID: "", - ClientID: "", - ObjectID: "", + PlatformWorkloadIdentities: map[string]PlatformWorkloadIdentity{ + "": { + ResourceID: "", + ClientID: "", + ObjectID: "", }, }, } @@ -59,9 +58,8 @@ func ExampleOpenShiftClusterPutParameter() interface{} { }, } oc.Properties.PlatformWorkloadIdentityProfile = &PlatformWorkloadIdentityProfile{ - PlatformWorkloadIdentities: []PlatformWorkloadIdentity{ - { - OperatorName: "", + PlatformWorkloadIdentities: map[string]PlatformWorkloadIdentity{ + "": { ResourceID: "", ClientID: "", ObjectID: "", @@ -91,9 +89,8 @@ func ExampleOpenShiftClusterGetResponse() interface{} { }, } oc.Properties.PlatformWorkloadIdentityProfile = &PlatformWorkloadIdentityProfile{ - PlatformWorkloadIdentities: []PlatformWorkloadIdentity{ - { - OperatorName: "", + PlatformWorkloadIdentities: map[string]PlatformWorkloadIdentity{ + "": { ResourceID: "", ClientID: "", ObjectID: "", diff --git a/pkg/api/v20240812preview/openshiftcluster_validatestatic.go b/pkg/api/v20240812preview/openshiftcluster_validatestatic.go index df19741c36b..1bb8ce5f22e 100644 --- a/pkg/api/v20240812preview/openshiftcluster_validatestatic.go +++ b/pkg/api/v20240812preview/openshiftcluster_validatestatic.go @@ -448,13 +448,13 @@ func (sv openShiftClusterStaticValidator) validateDelta(oc, current *OpenShiftCl if current.UsesWorkloadIdentity() { currentIdentities := map[string]PlatformWorkloadIdentity{} - for _, i := range current.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities { - currentIdentities[i.OperatorName] = i + for k, i := range current.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities { + currentIdentities[k] = i } updateIdentities := map[string]PlatformWorkloadIdentity{} - for _, i := range oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities { - updateIdentities[i.OperatorName] = i + for k, i := range oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities { + updateIdentities[k] = i } for name, currentIdentity := range currentIdentities { @@ -482,23 +482,23 @@ func (sv openShiftClusterStaticValidator) validatePlatformWorkloadIdentityProfil operators := map[string]struct{}{} // Validate the PlatformWorkloadIdentities - for n, p := range pwip.PlatformWorkloadIdentities { + for name, p := range pwip.PlatformWorkloadIdentities { resource, err := azcorearm.ParseResourceID(p.ResourceID) if err != nil { - return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, fmt.Sprintf("%s.PlatformWorkloadIdentities[%d].resourceID", path, n), "ResourceID %s formatted incorrectly.", p.ResourceID) + return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, fmt.Sprintf("%s.PlatformWorkloadIdentities[%s].resourceID", path, name), "ResourceID %s formatted incorrectly.", p.ResourceID) } - if p.OperatorName == "" { - return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, fmt.Sprintf("%s.PlatformWorkloadIdentities[%d].resourceID", path, n), "Operator name is empty.") + if name == "" { + return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, fmt.Sprintf("%s.PlatformWorkloadIdentities[%s].resourceID", path, name), "Operator name is empty.") } - if _, found := operators[p.OperatorName]; found { + if _, found := operators[name]; found { return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, fmt.Sprintf("%s.platformWorkloadIdentities", path), "Operator identities cannot have duplicate names.") } - operators[p.OperatorName] = struct{}{} + operators[name] = struct{}{} if resource.ResourceType.Type != "userAssignedIdentities" { - return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, fmt.Sprintf("%s.PlatformWorkloadIdentities[%d].resourceID", path, n), "Resource must be a user assigned identity.") + return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, fmt.Sprintf("%s.PlatformWorkloadIdentities[%s].resourceID", path, name), "Resource must be a user assigned identity.") } } diff --git a/pkg/api/v20240812preview/openshiftcluster_validatestatic_test.go b/pkg/api/v20240812preview/openshiftcluster_validatestatic_test.go index 5d951214a01..d767dcbd2a7 100644 --- a/pkg/api/v20240812preview/openshiftcluster_validatestatic_test.go +++ b/pkg/api/v20240812preview/openshiftcluster_validatestatic_test.go @@ -45,17 +45,16 @@ const ( var ( subscriptionID = "00000000-0000-0000-0000-000000000000" platformIdentity1 = PlatformWorkloadIdentity{ - OperatorName: "FAKE-OPERATOR", - ResourceID: "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/a-fake-group/providers/Microsoft.RedHatOpenShift/userAssignedIdentities/fake-cluster-name", + ResourceID: "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/a-fake-group/providers/Microsoft.RedHatOpenShift/userAssignedIdentities/fake-cluster-name", } platformIdentity2 = PlatformWorkloadIdentity{ - OperatorName: "ANOTHER-FAKE-OPERATOR", - ResourceID: "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/a-fake-group/providers/Microsoft.RedHatOpenShift/userAssignedIdentities/fake-cluster-name-two", + ResourceID: "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/a-fake-group/providers/Microsoft.RedHatOpenShift/userAssignedIdentities/fake-cluster-name-two", } clusterIdentity1 = UserAssignedIdentity{ ClientID: "11111111-1111-1111-1111-111111111111", PrincipalID: "SOMETHING", } + duplicateOperatorName = "duplicate" ) func getResourceID(clusterName string) string { @@ -1245,8 +1244,8 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin name: "valid workloadIdentityProfile", modify: func(oc *OpenShiftCluster) { oc.Properties.PlatformWorkloadIdentityProfile = &PlatformWorkloadIdentityProfile{ - PlatformWorkloadIdentities: []PlatformWorkloadIdentity{ - platformIdentity1, + PlatformWorkloadIdentities: map[string]PlatformWorkloadIdentity{ + "name": platformIdentity1, }, } oc.ManagedServiceIdentity = &ManagedServiceIdentity{ @@ -1272,25 +1271,23 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin }, } oc.Properties.PlatformWorkloadIdentityProfile = &PlatformWorkloadIdentityProfile{ - PlatformWorkloadIdentities: []PlatformWorkloadIdentity{ - { - OperatorName: "FAKE-OPERATOR", - ResourceID: "BAD", + PlatformWorkloadIdentities: map[string]PlatformWorkloadIdentity{ + "FAKE-OPERATOR": { + ResourceID: "BAD", }, }, } oc.Properties.ServicePrincipalProfile = nil }, - wantErr: "400: InvalidParameter: properties.platformWorkloadIdentityProfile.PlatformWorkloadIdentities[0].resourceID: ResourceID BAD formatted incorrectly.", + wantErr: "400: InvalidParameter: properties.platformWorkloadIdentityProfile.PlatformWorkloadIdentities[FAKE-OPERATOR].resourceID: ResourceID BAD formatted incorrectly.", }, { name: "wrong resource type", modify: func(oc *OpenShiftCluster) { oc.Properties.PlatformWorkloadIdentityProfile = &PlatformWorkloadIdentityProfile{ - PlatformWorkloadIdentities: []PlatformWorkloadIdentity{ - { - OperatorName: "FAKE-OPERATOR", - ResourceID: "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/a-fake-group/providers/Microsoft.RedHatOpenShift/otherThing/fake-cluster-name", + PlatformWorkloadIdentities: map[string]PlatformWorkloadIdentity{ + "FAKE-OPERATOR": { + ResourceID: "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/a-fake-group/providers/Microsoft.RedHatOpenShift/otherThing/fake-cluster-name", }, }, } @@ -1301,14 +1298,14 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin }, } }, - wantErr: "400: InvalidParameter: properties.platformWorkloadIdentityProfile.PlatformWorkloadIdentities[0].resourceID: Resource must be a user assigned identity.", + wantErr: "400: InvalidParameter: properties.platformWorkloadIdentityProfile.PlatformWorkloadIdentities[FAKE-OPERATOR].resourceID: Resource must be a user assigned identity.", }, { name: "no credentials with identities", modify: func(oc *OpenShiftCluster) { oc.Properties.PlatformWorkloadIdentityProfile = &PlatformWorkloadIdentityProfile{ - PlatformWorkloadIdentities: []PlatformWorkloadIdentity{ - platformIdentity1, + PlatformWorkloadIdentities: map[string]PlatformWorkloadIdentity{ + "name": platformIdentity1, }, } oc.ManagedServiceIdentity = &ManagedServiceIdentity{ @@ -1338,10 +1335,8 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin name: "platform workload identity missing cluster identity", modify: func(oc *OpenShiftCluster) { oc.Properties.PlatformWorkloadIdentityProfile = &PlatformWorkloadIdentityProfile{ - PlatformWorkloadIdentities: []PlatformWorkloadIdentity{ - { - OperatorName: "operator_name", - }, + PlatformWorkloadIdentities: map[string]PlatformWorkloadIdentity{ + "operator_name": {}, }, } oc.Properties.ServicePrincipalProfile = nil @@ -1352,10 +1347,8 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin name: "platform workload identity - cluster identity map is empty", modify: func(oc *OpenShiftCluster) { oc.Properties.PlatformWorkloadIdentityProfile = &PlatformWorkloadIdentityProfile{ - PlatformWorkloadIdentities: []PlatformWorkloadIdentity{ - { - OperatorName: "operator_name", - }, + PlatformWorkloadIdentities: map[string]PlatformWorkloadIdentity{ + "operator_name": {}, }, } oc.Properties.ServicePrincipalProfile = nil @@ -1372,16 +1365,15 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin }, } oc.Properties.PlatformWorkloadIdentityProfile = &PlatformWorkloadIdentityProfile{ - PlatformWorkloadIdentities: []PlatformWorkloadIdentity{ - { - ResourceID: "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/a-fake-group/providers/Microsoft.RedHatOpenShift/userAssignedIdentities/fake-cluster-name", - OperatorName: "", + PlatformWorkloadIdentities: map[string]PlatformWorkloadIdentity{ + "": { + ResourceID: "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/a-fake-group/providers/Microsoft.RedHatOpenShift/userAssignedIdentities/fake-cluster-name", }, }, } oc.Properties.ServicePrincipalProfile = nil }, - wantErr: "400: InvalidParameter: properties.platformWorkloadIdentityProfile.PlatformWorkloadIdentities[0].resourceID: Operator name is empty.", + wantErr: "400: InvalidParameter: properties.platformWorkloadIdentityProfile.PlatformWorkloadIdentities[].resourceID: Operator name is empty.", }, { name: "identity and service principal missing", @@ -1424,12 +1416,9 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin name: "invalid duplicate identity", current: func(oc *OpenShiftCluster) { oc.Properties.PlatformWorkloadIdentityProfile = &PlatformWorkloadIdentityProfile{ - PlatformWorkloadIdentities: []PlatformWorkloadIdentity{ - platformIdentity1, - { - OperatorName: platformIdentity1.OperatorName, - ResourceID: "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/a-fake-group/providers/Microsoft.RedHatOpenShift/userAssignedIdentities/fake-cluster-name-three", - }, + PlatformWorkloadIdentities: map[string]PlatformWorkloadIdentity{ + duplicateOperatorName: platformIdentity1, + duplicateOperatorName: platformIdentity2, }, } oc.ManagedServiceIdentity = &ManagedServiceIdentity{ @@ -1448,8 +1437,8 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin name: "addition of operator identity", current: func(oc *OpenShiftCluster) { oc.Properties.PlatformWorkloadIdentityProfile = &PlatformWorkloadIdentityProfile{ - PlatformWorkloadIdentities: []PlatformWorkloadIdentity{ - platformIdentity1, + PlatformWorkloadIdentities: map[string]PlatformWorkloadIdentity{ + "FAKE-OPERATOR": platformIdentity1, }, } oc.ManagedServiceIdentity = &ManagedServiceIdentity{ @@ -1460,15 +1449,15 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin oc.Properties.ServicePrincipalProfile = nil }, modify: func(oc *OpenShiftCluster) { - oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities = append(oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities, platformIdentity2) + oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities["ANOTHER-FAKE-OPERATOR"] = platformIdentity2 }, }, { name: "invalid change of operator identity name", current: func(oc *OpenShiftCluster) { oc.Properties.PlatformWorkloadIdentityProfile = &PlatformWorkloadIdentityProfile{ - PlatformWorkloadIdentities: []PlatformWorkloadIdentity{ - platformIdentity1, + PlatformWorkloadIdentities: map[string]PlatformWorkloadIdentity{ + "FAKE-OPERATOR": platformIdentity1, }, } oc.ManagedServiceIdentity = &ManagedServiceIdentity{ @@ -1479,7 +1468,7 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin oc.Properties.ServicePrincipalProfile = nil }, modify: func(oc *OpenShiftCluster) { - oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[0].OperatorName = "FAKE-OPERATOR-OTHER" + oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities["FAKE-OPERATOR-OTHER"] = platformIdentity2 }, wantErr: "400: PropertyChangeNotAllowed: properties.platformWorkloadIdentityProfile.platformWorkloadIdentities: Operator identity cannot be removed or have its name changed.", }, @@ -1487,8 +1476,8 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin name: "invalid change of operator identity resource ID", current: func(oc *OpenShiftCluster) { oc.Properties.PlatformWorkloadIdentityProfile = &PlatformWorkloadIdentityProfile{ - PlatformWorkloadIdentities: []PlatformWorkloadIdentity{ - platformIdentity1, + PlatformWorkloadIdentities: map[string]PlatformWorkloadIdentity{ + "FAKE-OPERATOR": platformIdentity1, }, } oc.ManagedServiceIdentity = &ManagedServiceIdentity{ @@ -1499,7 +1488,7 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin oc.Properties.ServicePrincipalProfile = nil }, modify: func(oc *OpenShiftCluster) { - oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[0].ResourceID = platformIdentity2.ResourceID + oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities["ANOTHER-FAKE-OPERATOR"] = platformIdentity2 }, wantErr: "400: PropertyChangeNotAllowed: properties.platformWorkloadIdentityProfile.platformWorkloadIdentities: Operator identity resource ID cannot be changed.", }, @@ -1507,9 +1496,9 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin name: "change of operator identity order", current: func(oc *OpenShiftCluster) { oc.Properties.PlatformWorkloadIdentityProfile = &PlatformWorkloadIdentityProfile{ - PlatformWorkloadIdentities: []PlatformWorkloadIdentity{ - platformIdentity1, - platformIdentity2, + PlatformWorkloadIdentities: map[string]PlatformWorkloadIdentity{ + "OPERATOR-1": platformIdentity1, + "OPERATOR-2": platformIdentity2, }, } oc.ManagedServiceIdentity = &ManagedServiceIdentity{ @@ -1520,9 +1509,9 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin oc.Properties.ServicePrincipalProfile = nil }, modify: func(oc *OpenShiftCluster) { - oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities = []PlatformWorkloadIdentity{ - platformIdentity2, - platformIdentity1, + oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities = map[string]PlatformWorkloadIdentity{ + "OPERATOR-1": platformIdentity1, + "OPERATOR-2": platformIdentity2, } }, }, @@ -1530,8 +1519,8 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin name: "invalid change of operator identity name and resource ID", current: func(oc *OpenShiftCluster) { oc.Properties.PlatformWorkloadIdentityProfile = &PlatformWorkloadIdentityProfile{ - PlatformWorkloadIdentities: []PlatformWorkloadIdentity{ - platformIdentity1, + PlatformWorkloadIdentities: map[string]PlatformWorkloadIdentity{ + "FAKE-OPERATOR": platformIdentity1, }, } oc.ManagedServiceIdentity = &ManagedServiceIdentity{ @@ -1542,8 +1531,7 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin oc.Properties.ServicePrincipalProfile = nil }, modify: func(oc *OpenShiftCluster) { - oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[0].OperatorName = platformIdentity2.OperatorName - oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[0].ResourceID = platformIdentity2.ResourceID + oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities["FAKE-OPERATOR"] = platformIdentity2 }, wantErr: "400: PropertyChangeNotAllowed: properties.platformWorkloadIdentityProfile.platformWorkloadIdentities: Operator identity cannot be removed or have its name changed.", }, @@ -1551,9 +1539,9 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin name: "invalid removal of identity", current: func(oc *OpenShiftCluster) { oc.Properties.PlatformWorkloadIdentityProfile = &PlatformWorkloadIdentityProfile{ - PlatformWorkloadIdentities: []PlatformWorkloadIdentity{ - platformIdentity1, - platformIdentity2, + PlatformWorkloadIdentities: map[string]PlatformWorkloadIdentity{ + "operator1": platformIdentity1, + "operator2": platformIdentity2, }, } oc.ManagedServiceIdentity = &ManagedServiceIdentity{ @@ -1564,8 +1552,8 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin oc.Properties.ServicePrincipalProfile = nil }, modify: func(oc *OpenShiftCluster) { - oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities = []PlatformWorkloadIdentity{ - platformIdentity1, + oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities = map[string]PlatformWorkloadIdentity{ + "operator1": platformIdentity1, } }, wantErr: "400: PropertyChangeNotAllowed: properties.platformWorkloadIdentityProfile.platformWorkloadIdentities: Operator identity cannot be removed or have its name changed.", @@ -1574,8 +1562,8 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin name: "invalid duplicate identity", current: func(oc *OpenShiftCluster) { oc.Properties.PlatformWorkloadIdentityProfile = &PlatformWorkloadIdentityProfile{ - PlatformWorkloadIdentities: []PlatformWorkloadIdentity{ - platformIdentity1, + PlatformWorkloadIdentities: map[string]PlatformWorkloadIdentity{ + "operator": platformIdentity1, }, } oc.ManagedServiceIdentity = &ManagedServiceIdentity{ @@ -1586,11 +1574,10 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin oc.Properties.ServicePrincipalProfile = nil }, modify: func(oc *OpenShiftCluster) { - oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities = append(oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities, + oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities["operator"] = PlatformWorkloadIdentity{ - OperatorName: platformIdentity1.OperatorName, - ResourceID: "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/a-fake-group/providers/Microsoft.RedHatOpenShift/userAssignedIdentities/fake-cluster-name-three", - }) + ResourceID: "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/a-fake-group/providers/Microsoft.RedHatOpenShift/userAssignedIdentities/fake-cluster-name-three", + } }, wantErr: "400: InvalidParameter: properties.platformWorkloadIdentityProfile.platformWorkloadIdentities: Operator identities cannot have duplicate names.", }, diff --git a/pkg/cluster/denyassignment.go b/pkg/cluster/denyassignment.go index 55d2ef304fc..1fc67cc9ddd 100644 --- a/pkg/cluster/denyassignment.go +++ b/pkg/cluster/denyassignment.go @@ -21,7 +21,7 @@ func (m *manager) createOrUpdateDenyAssignment(ctx context.Context) error { if m.doc.OpenShiftCluster.UsesWorkloadIdentity() { for _, i := range m.doc.OpenShiftCluster.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities { if i.ObjectID == "" { - m.log.Print(fmt.Sprintf("skipping createOrUpdateDenyAssignment: ObjectID for identity %s is empty", i.OperatorName)) + m.log.Print(fmt.Sprintf("skipping createOrUpdateDenyAssignment: ObjectID for identity %s is empty", i)) return nil } } diff --git a/pkg/cluster/denyassignment_test.go b/pkg/cluster/denyassignment_test.go index 08c57ccbd22..a8ce493f3c6 100644 --- a/pkg/cluster/denyassignment_test.go +++ b/pkg/cluster/denyassignment_test.go @@ -98,12 +98,11 @@ func TestCreateOrUpdateDenyAssignment(t *testing.T) { ResourceGroupID: fmt.Sprintf("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/%s", clusterRGName), }, PlatformWorkloadIdentityProfile: &api.PlatformWorkloadIdentityProfile{ - PlatformWorkloadIdentities: []api.PlatformWorkloadIdentity{ - { - OperatorName: "anything", - ObjectID: "00000000-0000-0000-0000-000000000000", - ClientID: "11111111-1111-1111-1111-111111111111", - ResourceID: "/subscriptions/22222222-2222-2222-2222-222222222222/resourceGroups/something/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity-name", + PlatformWorkloadIdentities: map[string]api.PlatformWorkloadIdentity{ + "anything": { + ObjectID: "00000000-0000-0000-0000-000000000000", + ClientID: "11111111-1111-1111-1111-111111111111", + ResourceID: "/subscriptions/22222222-2222-2222-2222-222222222222/resourceGroups/something/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity-name", }, }, }, @@ -136,11 +135,10 @@ func TestCreateOrUpdateDenyAssignment(t *testing.T) { ResourceGroupID: fmt.Sprintf("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/%s", clusterRGName), }, PlatformWorkloadIdentityProfile: &api.PlatformWorkloadIdentityProfile{ - PlatformWorkloadIdentities: []api.PlatformWorkloadIdentity{ - { - OperatorName: "anything", - ClientID: "11111111-1111-1111-1111-111111111111", - ResourceID: "/subscriptions/22222222-2222-2222-2222-222222222222/resourceGroups/something/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity-name", + PlatformWorkloadIdentities: map[string]api.PlatformWorkloadIdentity{ + "anything": { + ClientID: "11111111-1111-1111-1111-111111111111", + ResourceID: "/subscriptions/22222222-2222-2222-2222-222222222222/resourceGroups/something/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity-name", }, }, }, diff --git a/pkg/cluster/deploybaseresources_additional_test.go b/pkg/cluster/deploybaseresources_additional_test.go index 6a15647e530..37d06367d69 100644 --- a/pkg/cluster/deploybaseresources_additional_test.go +++ b/pkg/cluster/deploybaseresources_additional_test.go @@ -54,9 +54,8 @@ func TestDenyAssignment(t *testing.T) { ResourceGroupID: "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-cluster", }, PlatformWorkloadIdentityProfile: &api.PlatformWorkloadIdentityProfile{ - PlatformWorkloadIdentities: []api.PlatformWorkloadIdentity{ - { - OperatorName: "anything", + PlatformWorkloadIdentities: map[string]api.PlatformWorkloadIdentity{ + "anything": { ObjectID: "00000000-0000-0000-0000-000000000000", ClientID: "11111111-1111-1111-1111-111111111111", ResourceID: "/subscriptions/22222222-2222-2222-2222-222222222222/resourceGroups/something/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity-name", diff --git a/pkg/cluster/workloadidentityresources.go b/pkg/cluster/workloadidentityresources.go index f9cbccdc41f..513244635c5 100644 --- a/pkg/cluster/workloadidentityresources.go +++ b/pkg/cluster/workloadidentityresources.go @@ -60,8 +60,8 @@ func (m *manager) generatePlatformWorkloadIdentitySecrets() ([]*corev1.Secret, e roles := m.platformWorkloadIdentityRolesByVersion.GetPlatformWorkloadIdentityRolesByRoleName() secrets := []*corev1.Secret{} - for _, identity := range m.doc.OpenShiftCluster.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities { - if role, ok := roles[identity.OperatorName]; ok { + for name, identity := range m.doc.OpenShiftCluster.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities { + if role, ok := roles[name]; ok { secrets = append(secrets, &corev1.Secret{ TypeMeta: metav1.TypeMeta{ APIVersion: corev1.SchemeGroupVersion.Identifier(), diff --git a/pkg/cluster/workloadidentityresources_test.go b/pkg/cluster/workloadidentityresources_test.go index bbfad4a42df..4b23a0683c7 100644 --- a/pkg/cluster/workloadidentityresources_test.go +++ b/pkg/cluster/workloadidentityresources_test.go @@ -27,7 +27,7 @@ func TestGenerateWorkloadIdentityResources(t *testing.T) { for _, tt := range []struct { name string usesWorkloadIdentity bool - identities []api.PlatformWorkloadIdentity + identities map[string]api.PlatformWorkloadIdentity roles []api.PlatformWorkloadIdentityRole want map[string]kruntime.Object wantErr string @@ -39,14 +39,12 @@ func TestGenerateWorkloadIdentityResources(t *testing.T) { { name: "generates all expected resources", usesWorkloadIdentity: true, - identities: []api.PlatformWorkloadIdentity{ - { - OperatorName: "foo", - ClientID: "00f00f00-0f00-0f00-0f00-f00f00f00f00", + identities: map[string]api.PlatformWorkloadIdentity{ + "foo": { + ClientID: "00f00f00-0f00-0f00-0f00-f00f00f00f00", }, - { - OperatorName: "bar", - ClientID: "00ba4ba4-0ba4-0ba4-0ba4-ba4ba4ba4ba4", + "bar": { + ClientID: "00ba4ba4-0ba4-0ba4-0ba4-ba4ba4ba4ba4", }, }, roles: []api.PlatformWorkloadIdentityRole{ @@ -187,26 +185,24 @@ func TestGeneratePlatformWorkloadIdentitySecrets(t *testing.T) { for _, tt := range []struct { name string - identities []api.PlatformWorkloadIdentity + identities map[string]api.PlatformWorkloadIdentity roles []api.PlatformWorkloadIdentityRole want []*corev1.Secret }{ { name: "no identities, no secrets", - identities: []api.PlatformWorkloadIdentity{}, + identities: map[string]api.PlatformWorkloadIdentity{}, roles: []api.PlatformWorkloadIdentityRole{}, want: []*corev1.Secret{}, }, { name: "converts cluster PWIs if a role definition is present", - identities: []api.PlatformWorkloadIdentity{ - { - OperatorName: "foo", - ClientID: "00f00f00-0f00-0f00-0f00-f00f00f00f00", + identities: map[string]api.PlatformWorkloadIdentity{ + "foo": { + ClientID: "00f00f00-0f00-0f00-0f00-f00f00f00f00", }, - { - OperatorName: "bar", - ClientID: "00ba4ba4-0ba4-0ba4-0ba4-ba4ba4ba4ba4", + "bar": { + ClientID: "00ba4ba4-0ba4-0ba4-0ba4-ba4ba4ba4ba4", }, }, roles: []api.PlatformWorkloadIdentityRole{ @@ -266,13 +262,11 @@ func TestGeneratePlatformWorkloadIdentitySecrets(t *testing.T) { }, { name: "ignores identities with no role present", - identities: []api.PlatformWorkloadIdentity{ - { - OperatorName: "foo", + identities: map[string]api.PlatformWorkloadIdentity{ + "foo": { ClientID: "00f00f00-0f00-0f00-0f00-f00f00f00f00", }, - { - OperatorName: "bar", + "bar": { ClientID: "00ba4ba4-0ba4-0ba4-0ba4-ba4ba4ba4ba4", }, }, diff --git a/pkg/frontend/openshiftcluster_putorpatch_test.go b/pkg/frontend/openshiftcluster_putorpatch_test.go index 596bce2dcc7..ebe0a8abb0c 100644 --- a/pkg/frontend/openshiftcluster_putorpatch_test.go +++ b/pkg/frontend/openshiftcluster_putorpatch_test.go @@ -1952,38 +1952,30 @@ func TestPutOrPatchOpenShiftCluster(t *testing.T) { }, } oc.Properties.PlatformWorkloadIdentityProfile = &v20240812preview.PlatformWorkloadIdentityProfile{ - PlatformWorkloadIdentities: []v20240812preview.PlatformWorkloadIdentity{ - { - OperatorName: "AzureFilesStorageOperator", - ResourceID: mockMiResourceId, + PlatformWorkloadIdentities: map[string]v20240812preview.PlatformWorkloadIdentity{ + "AzureFilesStorageOperator": { + ResourceID: mockMiResourceId, }, - { - OperatorName: "CloudControllerManager", - ResourceID: mockMiResourceId, + "CloudControllerManager": { + ResourceID: mockMiResourceId, }, - { - OperatorName: "ClusterIngressOperator", - ResourceID: mockMiResourceId, + "ClusterIngressOperator": { + ResourceID: mockMiResourceId, }, - { - OperatorName: "ImageRegistryOperator", - ResourceID: mockMiResourceId, + "ImageRegistryOperator": { + ResourceID: mockMiResourceId, }, - { - OperatorName: "MachineApiOperator", - ResourceID: mockMiResourceId, + "MachineApiOperator": { + ResourceID: mockMiResourceId, }, - { - OperatorName: "NetworkOperator", - ResourceID: mockMiResourceId, + "NetworkOperator": { + ResourceID: mockMiResourceId, }, - { - OperatorName: "ServiceOperator", - ResourceID: mockMiResourceId, + "ServiceOperator": { + ResourceID: mockMiResourceId, }, - { - OperatorName: "StorageOperator", - ResourceID: mockMiResourceId, + "StorageOperator": { + ResourceID: mockMiResourceId, }, }, } @@ -2051,38 +2043,30 @@ func TestPutOrPatchOpenShiftCluster(t *testing.T) { }, OperatorFlags: operator.DefaultOperatorFlags(), PlatformWorkloadIdentityProfile: &api.PlatformWorkloadIdentityProfile{ - PlatformWorkloadIdentities: []api.PlatformWorkloadIdentity{ - { - OperatorName: "AzureFilesStorageOperator", - ResourceID: mockMiResourceId, + PlatformWorkloadIdentities: map[string]api.PlatformWorkloadIdentity{ + "AzureFilesStorageOperator": { + ResourceID: mockMiResourceId, }, - { - OperatorName: "CloudControllerManager", - ResourceID: mockMiResourceId, + "CloudControllerManager": { + ResourceID: mockMiResourceId, }, - { - OperatorName: "ClusterIngressOperator", - ResourceID: mockMiResourceId, + "ClusterIngressOperator": { + ResourceID: mockMiResourceId, }, - { - OperatorName: "ImageRegistryOperator", - ResourceID: mockMiResourceId, + "ImageRegistryOperator": { + ResourceID: mockMiResourceId, }, - { - OperatorName: "MachineApiOperator", - ResourceID: mockMiResourceId, + "MachineApiOperator": { + ResourceID: mockMiResourceId, }, - { - OperatorName: "NetworkOperator", - ResourceID: mockMiResourceId, + "NetworkOperator": { + ResourceID: mockMiResourceId, }, - { - OperatorName: "ServiceOperator", - ResourceID: mockMiResourceId, + "ServiceOperator": { + ResourceID: mockMiResourceId, }, - { - OperatorName: "StorageOperator", - ResourceID: mockMiResourceId, + "StorageOperator": { + ResourceID: mockMiResourceId, }, }, }, @@ -2123,38 +2107,30 @@ func TestPutOrPatchOpenShiftCluster(t *testing.T) { }, }, PlatformWorkloadIdentityProfile: &v20240812preview.PlatformWorkloadIdentityProfile{ - PlatformWorkloadIdentities: []v20240812preview.PlatformWorkloadIdentity{ - { - OperatorName: "AzureFilesStorageOperator", - ResourceID: mockMiResourceId, + PlatformWorkloadIdentities: map[string]v20240812preview.PlatformWorkloadIdentity{ + "AzureFilesStorageOperator": { + ResourceID: mockMiResourceId, }, - { - OperatorName: "CloudControllerManager", - ResourceID: mockMiResourceId, + "CloudControllerManager": { + ResourceID: mockMiResourceId, }, - { - OperatorName: "ClusterIngressOperator", - ResourceID: mockMiResourceId, + "ClusterIngressOperator": { + ResourceID: mockMiResourceId, }, - { - OperatorName: "ImageRegistryOperator", - ResourceID: mockMiResourceId, + "ImageRegistryOperator": { + ResourceID: mockMiResourceId, }, - { - OperatorName: "MachineApiOperator", - ResourceID: mockMiResourceId, + "MachineApiOperator": { + ResourceID: mockMiResourceId, }, - { - OperatorName: "NetworkOperator", - ResourceID: mockMiResourceId, + "NetworkOperator": { + ResourceID: mockMiResourceId, }, - { - OperatorName: "ServiceOperator", - ResourceID: mockMiResourceId, + "ServiceOperator": { + ResourceID: mockMiResourceId, }, - { - OperatorName: "StorageOperator", - ResourceID: mockMiResourceId, + "StorageOperator": { + ResourceID: mockMiResourceId, }, }, }, diff --git a/pkg/operator/deploy/deploy.go b/pkg/operator/deploy/deploy.go index 72cfa350cea..197d8b430b9 100644 --- a/pkg/operator/deploy/deploy.go +++ b/pkg/operator/deploy/deploy.go @@ -269,8 +269,8 @@ func (o *operator) resources(ctx context.Context) ([]kruntime.Object, error) { func (o *operator) generateOperatorIdentitySecret() (*corev1.Secret, error) { var operatorIdentity *api.PlatformWorkloadIdentity // use a pointer to make it easy to check if we found an identity below - for _, i := range o.oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities { - if i.OperatorName == pkgoperator.OperatorIdentityName { + for k, i := range o.oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities { + if k == pkgoperator.OperatorIdentityName { operatorIdentity = &i break } diff --git a/pkg/operator/deploy/deploy_test.go b/pkg/operator/deploy/deploy_test.go index 93b6c07c214..54460add6bc 100644 --- a/pkg/operator/deploy/deploy_test.go +++ b/pkg/operator/deploy/deploy_test.go @@ -635,9 +635,8 @@ func TestGenerateOperatorIdentitySecret(t *testing.T) { Location: "eastus1", Properties: api.OpenShiftClusterProperties{ PlatformWorkloadIdentityProfile: &api.PlatformWorkloadIdentityProfile{ - PlatformWorkloadIdentities: []api.PlatformWorkloadIdentity{ - { - OperatorName: pkgoperator.OperatorIdentityName, + PlatformWorkloadIdentities: map[string]api.PlatformWorkloadIdentity{ + pkgoperator.OperatorIdentityName: { ClientID: "11111111-1111-1111-1111-111111111111", }, }, diff --git a/pkg/validate/dynamic/diskencryptionset_test.go b/pkg/validate/dynamic/diskencryptionset_test.go index 13f38abe0f3..c6328fca931 100644 --- a/pkg/validate/dynamic/diskencryptionset_test.go +++ b/pkg/validate/dynamic/diskencryptionset_test.go @@ -49,7 +49,7 @@ func TestValidateDiskEncryptionSets(t *testing.T) { name string oc *api.OpenShiftCluster actionInfos []remotepdp.ActionInfo - platformIdentities []api.PlatformWorkloadIdentity + platformIdentities map[string]api.PlatformWorkloadIdentity platformIdentityMap map[string][]string mocks func(*mock_compute.MockDiskEncryptionSetsClient, *mock_remotepdp.MockRemotePDPClient, *mock_azcore.MockTokenCredential, context.CancelFunc) wantErr string diff --git a/pkg/validate/dynamic/dynamic.go b/pkg/validate/dynamic/dynamic.go index fb5f2069cdb..d044c61fde3 100644 --- a/pkg/validate/dynamic/dynamic.go +++ b/pkg/validate/dynamic/dynamic.go @@ -90,7 +90,7 @@ type dynamic struct { checkAccessSubjectInfoCred azcore.TokenCredential env env.Interface azEnv *azureclient.AROEnvironment - platformIdentities []api.PlatformWorkloadIdentity + platformIdentities map[string]api.PlatformWorkloadIdentity platformIdentitiesActionsMap map[string][]string virtualNetworks virtualNetworksGetClient @@ -828,11 +828,11 @@ func (dv *dynamic) ValidatePreConfiguredNSGs(ctx context.Context, oc *api.OpenSh // validateActions calls validateActionsByOID with object ID in case of MIWI cluster otherwise without object ID func (dv *dynamic) validateActions(ctx context.Context, r *azure.Resource, actions []string) (*string, error) { if dv.platformIdentities != nil { - for _, platformIdentity := range dv.platformIdentities { - actionsToValidate := stringutils.GroupsIntersect(actions, dv.platformIdentitiesActionsMap[platformIdentity.OperatorName]) + for name, platformIdentity := range dv.platformIdentities { + actionsToValidate := stringutils.GroupsIntersect(actions, dv.platformIdentitiesActionsMap[name]) if len(actionsToValidate) > 0 { if err := dv.validateActionsByOID(ctx, r, actionsToValidate, &platformIdentity.ObjectID); err != nil { - return &platformIdentity.OperatorName, err + return &name, err } } } diff --git a/pkg/validate/dynamic/dynamic_test.go b/pkg/validate/dynamic/dynamic_test.go index 0efcf266211..969fc268578 100644 --- a/pkg/validate/dynamic/dynamic_test.go +++ b/pkg/validate/dynamic/dynamic_test.go @@ -615,9 +615,8 @@ var ( platformIdentity1SubnetActionsNoIntersect = []string{ "Microsoft.Network/virtualNetworks/nointersect/nointersect", } - platformIdentities = []api.PlatformWorkloadIdentity{ - { - OperatorName: "Dummy", + platformIdentities = map[string]api.PlatformWorkloadIdentity{ + "foo": { ResourceID: platformIdentity1, ClientID: dummyClientId, ObjectID: dummyObjectId, @@ -720,7 +719,7 @@ func TestValidateVnetPermissions(t *testing.T) { for _, tt := range []struct { name string - platformIdentities []api.PlatformWorkloadIdentity + platformIdentities map[string]api.PlatformWorkloadIdentity platformIdentityMap map[string][]string mocks func(*mock_azcore.MockTokenCredential, *mock_remotepdp.MockRemotePDPClient, context.CancelFunc) wantErr string @@ -927,7 +926,7 @@ func TestValidateRouteTablesPermissions(t *testing.T) { for _, tt := range []struct { name string subnet Subnet - platformIdentities []api.PlatformWorkloadIdentity + platformIdentities map[string]api.PlatformWorkloadIdentity platformIdentityMap map[string][]string pdpClientMocks func(*mock_azcore.MockTokenCredential, *mock_remotepdp.MockRemotePDPClient, context.CancelFunc) vnetMocks func(*mock_network.MockVirtualNetworksClient, mgmtnetwork.VirtualNetwork) @@ -1209,7 +1208,7 @@ func TestValidateNatGatewaysPermissions(t *testing.T) { for _, tt := range []struct { name string subnet Subnet - platformIdentities []api.PlatformWorkloadIdentity + platformIdentities map[string]api.PlatformWorkloadIdentity platformIdentityMap map[string][]string pdpClientMocks func(*mock_azcore.MockTokenCredential, *mock_remotepdp.MockRemotePDPClient, context.CancelFunc) vnetMocks func(*mock_network.MockVirtualNetworksClient, mgmtnetwork.VirtualNetwork) @@ -1515,7 +1514,7 @@ func TestValidatePreconfiguredNSGPermissions(t *testing.T) { for _, tt := range []struct { name string modifyOC func(*api.OpenShiftCluster) - platformIdentities []api.PlatformWorkloadIdentity + platformIdentities map[string]api.PlatformWorkloadIdentity platformIdentityMap map[string][]string checkAccessMocks func(context.CancelFunc, *mock_remotepdp.MockRemotePDPClient, *mock_azcore.MockTokenCredential) vnetMocks func(*mock_network.MockVirtualNetworksClient, mgmtnetwork.VirtualNetwork) diff --git a/pkg/validate/dynamic/platformworkloadidentityprofile.go b/pkg/validate/dynamic/platformworkloadidentityprofile.go index c1674e6b3ac..9970db6ad40 100644 --- a/pkg/validate/dynamic/platformworkloadidentityprofile.go +++ b/pkg/validate/dynamic/platformworkloadidentityprofile.go @@ -21,13 +21,13 @@ func (dv *dynamic) ValidatePlatformWorkloadIdentityProfile(ctx context.Context, dv.log.Print("ValidatePlatformWorkloadIdentityProfile") dv.platformIdentitiesActionsMap = map[string][]string{} - dv.platformIdentities = []api.PlatformWorkloadIdentity{} + dv.platformIdentities = map[string]api.PlatformWorkloadIdentity{} - for _, pwi := range oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities { - _, ok := platformWorkloadIdentityRolesByRoleName[pwi.OperatorName] + for k, pwi := range oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities { + _, ok := platformWorkloadIdentityRolesByRoleName[k] if ok { - dv.platformIdentitiesActionsMap[pwi.OperatorName] = nil - dv.platformIdentities = append(dv.platformIdentities, pwi) + dv.platformIdentitiesActionsMap[k] = nil + dv.platformIdentities[k] = pwi } } @@ -88,14 +88,14 @@ func (dv *dynamic) validateClusterMSI(ctx context.Context, oc *api.OpenShiftClus } // Validate that the cluster MSI has all permissions specified in AzureRedHatOpenShiftFederatedCredentialRole over each platform managed identity -func (dv *dynamic) validateClusterMSIPermissions(ctx context.Context, oid string, platformIdentities []api.PlatformWorkloadIdentity, roleDefinitions armauthorization.RoleDefinitionsClient) error { +func (dv *dynamic) validateClusterMSIPermissions(ctx context.Context, oid string, platformIdentities map[string]api.PlatformWorkloadIdentity, roleDefinitions armauthorization.RoleDefinitionsClient) error { actions, err := getActionsForRoleDefinition(ctx, rbac.RoleAzureRedHatOpenShiftFederatedCredentialRole, roleDefinitions) if err != nil { return err } - for _, platformIdentity := range platformIdentities { - dv.log.Printf("validateClusterMSIPermissions for %s", platformIdentity.OperatorName) + for name, platformIdentity := range platformIdentities { + dv.log.Printf("validateClusterMSIPermissions for %s", name) pid, err := azure.ParseResourceID(platformIdentity.ResourceID) if err != nil { return err diff --git a/pkg/validate/dynamic/platformworkloadidentityprofile_test.go b/pkg/validate/dynamic/platformworkloadidentityprofile_test.go index 8a6eb70ec9a..ecb16e7016e 100644 --- a/pkg/validate/dynamic/platformworkloadidentityprofile_test.go +++ b/pkg/validate/dynamic/platformworkloadidentityprofile_test.go @@ -135,19 +135,16 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { msiResourceID := resourceGroupID + "/providers/Microsoft.ManagedIdentity/userAssignedIdentities/miwi-msi-resource" dummyClientId := uuid.DefaultGenerator.Generate() dummyObjectId := uuid.DefaultGenerator.Generate() - platformWorkloadIdentities := []api.PlatformWorkloadIdentity{ - { - OperatorName: "Dummy2", + platformWorkloadIdentities := map[string]api.PlatformWorkloadIdentity{ + "Dummy2": { ResourceID: platformIdentity1, }, - { - OperatorName: "Dummy1", + "Dummy1": { ResourceID: platformIdentity1, }, } - desiredPlatformWorkloadIdentities := []api.PlatformWorkloadIdentity{ - { - OperatorName: "Dummy1", + desiredPlatformWorkloadIdentities := map[string]api.PlatformWorkloadIdentity{ + "Dummy1": { ResourceID: platformIdentity1, }, } @@ -174,7 +171,7 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { platformIdentityRoles map[string]api.PlatformWorkloadIdentityRole oc *api.OpenShiftCluster mocks func(*mock_armauthorization.MockRoleDefinitionsClient) - wantPlatformIdentities []api.PlatformWorkloadIdentity + wantPlatformIdentities map[string]api.PlatformWorkloadIdentity wantPlatformIdentitiesActionsMap map[string][]string checkAccessMocks func(context.CancelFunc, *mock_remotepdp.MockRemotePDPClient, *mock_azcore.MockTokenCredential) wantErr string @@ -185,9 +182,8 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { oc: &api.OpenShiftCluster{ Properties: api.OpenShiftClusterProperties{ PlatformWorkloadIdentityProfile: &api.PlatformWorkloadIdentityProfile{ - PlatformWorkloadIdentities: []api.PlatformWorkloadIdentity{ - { - OperatorName: "Dummy1", + PlatformWorkloadIdentities: map[string]api.PlatformWorkloadIdentity{ + "Dummy1": { ResourceID: platformIdentity1, }, }, @@ -240,9 +236,8 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { msiAuthReq := createAuthorizationRequest(dummyObjectId, platformIdentity1, msiRequiredPermissionsList...) pdpClient.EXPECT().CheckAccess(gomock.Any(), msiAuthReq).Return(&msiAllowedActions, nil).AnyTimes() }, - wantPlatformIdentities: []api.PlatformWorkloadIdentity{ - { - OperatorName: "Dummy1", + wantPlatformIdentities: map[string]api.PlatformWorkloadIdentity{ + "Dummy1": { ResourceID: platformIdentity1, }, }, @@ -355,7 +350,7 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { oc: &api.OpenShiftCluster{ Properties: api.OpenShiftClusterProperties{ PlatformWorkloadIdentityProfile: &api.PlatformWorkloadIdentityProfile{ - PlatformWorkloadIdentities: []api.PlatformWorkloadIdentity{}, + PlatformWorkloadIdentities: map[string]api.PlatformWorkloadIdentity{}, }, ClusterProfile: api.ClusterProfile{ Version: openShiftVersion, @@ -373,13 +368,11 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { oc: &api.OpenShiftCluster{ Properties: api.OpenShiftClusterProperties{ PlatformWorkloadIdentityProfile: &api.PlatformWorkloadIdentityProfile{ - PlatformWorkloadIdentities: []api.PlatformWorkloadIdentity{ - { - OperatorName: "Dummy2", + PlatformWorkloadIdentities: map[string]api.PlatformWorkloadIdentity{ + "Dummy2": { ResourceID: platformIdentity1, }, - { - OperatorName: "Dummy3", + "Dummy3": { ResourceID: platformIdentity1, }, }, @@ -441,13 +434,11 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { oc: &api.OpenShiftCluster{ Properties: api.OpenShiftClusterProperties{ PlatformWorkloadIdentityProfile: &api.PlatformWorkloadIdentityProfile{ - PlatformWorkloadIdentities: []api.PlatformWorkloadIdentity{ - { - OperatorName: "Dummy2", + PlatformWorkloadIdentities: map[string]api.PlatformWorkloadIdentity{ + "Dummy2": { ResourceID: "Invalid UUID", }, - { - OperatorName: "Dummy1", + "Dummy1": { ResourceID: "Invalid UUID", }, }, diff --git a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/OpenShiftClusters_CreateOrUpdate.json b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/OpenShiftClusters_CreateOrUpdate.json index e7f528b8d2b..d737d009981 100644 --- a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/OpenShiftClusters_CreateOrUpdate.json +++ b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/OpenShiftClusters_CreateOrUpdate.json @@ -22,9 +22,9 @@ "clientSecret": "clientSecret" }, "platformWorkloadIdentityProfile": { - "platformWorkloadIdentities": [ - {} - ] + "platformWorkloadIdentities": { + "": {} + } }, "networkProfile": { "podCidr": "10.128.0.0/14", diff --git a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/OpenShiftClusters_Get.json b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/OpenShiftClusters_Get.json index c55795a01da..b0379fc3d7f 100644 --- a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/OpenShiftClusters_Get.json +++ b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/OpenShiftClusters_Get.json @@ -37,9 +37,9 @@ "clientId": "clientId" }, "platformWorkloadIdentityProfile": { - "platformWorkloadIdentities": [ - {} - ] + "platformWorkloadIdentities": { + "": {} + } }, "networkProfile": { "podCidr": "10.128.0.0/14", diff --git a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/OpenShiftClusters_List.json b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/OpenShiftClusters_List.json index f6ce3a73058..69cc65404d7 100644 --- a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/OpenShiftClusters_List.json +++ b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/OpenShiftClusters_List.json @@ -37,9 +37,9 @@ "clientId": "clientId" }, "platformWorkloadIdentityProfile": { - "platformWorkloadIdentities": [ - {} - ] + "platformWorkloadIdentities": { + "": {} + } }, "networkProfile": { "podCidr": "10.128.0.0/14", diff --git a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/OpenShiftClusters_ListByResourceGroup.json b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/OpenShiftClusters_ListByResourceGroup.json index e3f06accd98..fe013a4dfaf 100644 --- a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/OpenShiftClusters_ListByResourceGroup.json +++ b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/OpenShiftClusters_ListByResourceGroup.json @@ -38,9 +38,9 @@ "clientId": "clientId" }, "platformWorkloadIdentityProfile": { - "platformWorkloadIdentities": [ - {} - ] + "platformWorkloadIdentities": { + "": {} + } }, "networkProfile": { "podCidr": "10.128.0.0/14", diff --git a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/OpenShiftClusters_Update.json b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/OpenShiftClusters_Update.json index 597965561a4..a0a3744244e 100644 --- a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/OpenShiftClusters_Update.json +++ b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/OpenShiftClusters_Update.json @@ -21,9 +21,9 @@ "clientSecret": "clientSecret" }, "platformWorkloadIdentityProfile": { - "platformWorkloadIdentities": [ - {} - ] + "platformWorkloadIdentities": { + "": {} + } }, "networkProfile": { "podCidr": "10.128.0.0/14", diff --git a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/redhatopenshift.json b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/redhatopenshift.json index 00bf2523fb1..0dd12f9b838 100644 --- a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/redhatopenshift.json +++ b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/redhatopenshift.json @@ -2393,10 +2393,6 @@ "description": "PlatformWorkloadIdentity stores information representing a single workload identity.", "type": "object", "properties": { - "operatorName": { - "description": "The name of the operator the PlatformWorkloadIdentity is to be used for", - "type": "string" - }, "resourceId": { "description": "The resource ID of the PlatformWorkloadIdentity resource", "type": "string" @@ -2421,11 +2417,10 @@ "$ref": "#/definitions/UpgradeableTo" }, "platformWorkloadIdentities": { - "type": "array", - "items": { + "type": "object", + "additionalProperties": { "$ref": "#/definitions/PlatformWorkloadIdentity" - }, - "x-ms-identifiers": [] + } } } }, From d487580b8d5dc0428ab9ec60097872d2af2654bd Mon Sep 17 00:00:00 2001 From: Rajdeep Singh Chauhan Date: Fri, 27 Sep 2024 12:50:07 -0400 Subject: [PATCH 24/27] ARO-4382 fix unit test cases --- pkg/api/admin/openshiftcluster.go | 16 ++--- pkg/api/admin/openshiftcluster_convert.go | 46 +++++++++----- pkg/api/openshiftcluster.go | 16 ++--- pkg/api/v20240812preview/openshiftcluster.go | 4 +- .../openshiftcluster_convert.go | 53 +++++++++------- .../openshiftcluster_example.go | 12 ++-- .../openshiftcluster_validatestatic.go | 22 +------ .../openshiftcluster_validatestatic_test.go | 61 ++++--------------- .../deploybaseresources_additional_test.go | 6 +- pkg/cluster/workloadidentityresources_test.go | 4 +- pkg/frontend/openshiftcluster_putorpatch.go | 4 +- .../openshiftcluster_putorpatch_test.go | 10 +-- pkg/operator/deploy/deploy_test.go | 2 +- pkg/validate/dynamic/dynamic_test.go | 8 +-- .../platformworkloadidentityprofile.go | 2 +- .../platformworkloadidentityprofile_test.go | 46 +++++++------- 16 files changed, 141 insertions(+), 171 deletions(-) diff --git a/pkg/api/admin/openshiftcluster.go b/pkg/api/admin/openshiftcluster.go index a51c4ca7364..ea3f2dfe55e 100644 --- a/pkg/api/admin/openshiftcluster.go +++ b/pkg/api/admin/openshiftcluster.go @@ -18,13 +18,13 @@ type OpenShiftClusterList struct { // OpenShiftCluster represents an Azure Red Hat OpenShift cluster. type OpenShiftCluster struct { - ID string `json:"id,omitempty" mutable:"case"` - Name string `json:"name,omitempty" mutable:"case"` - Type string `json:"type,omitempty" mutable:"case"` - Location string `json:"location,omitempty"` - Tags map[string]string `json:"tags,omitempty"` - Properties OpenShiftClusterProperties `json:"properties,omitempty"` - Identity *ManagedServiceIdentity `json:"identity,omitempty"` + ID string `json:"id,omitempty" mutable:"case"` + Name string `json:"name,omitempty" mutable:"case"` + Type string `json:"type,omitempty" mutable:"case"` + Location string `json:"location,omitempty"` + Tags map[string]string `json:"tags,omitempty"` + Properties OpenShiftClusterProperties `json:"properties,omitempty"` + ManagedServiceIdentity *ManagedServiceIdentity `json:"managedServiceIdentity,omitempty"` } // OpenShiftClusterProperties represents an OpenShift cluster's properties. @@ -419,7 +419,7 @@ type IngressProfile struct { // PlatformWorkloadIdentityProfile encapsulates all information that is specific to workload identity clusters. type PlatformWorkloadIdentityProfile struct { - UpgradeableTo *UpgradeableTo `json:"upgradeableTo,omitempty"` + UpgradeableTo *UpgradeableTo `json:"upgradeableTo,omitempty"` PlatformWorkloadIdentities map[string]PlatformWorkloadIdentity `json:"platformWorkloadIdentities,omitempty"` } diff --git a/pkg/api/admin/openshiftcluster_convert.go b/pkg/api/admin/openshiftcluster_convert.go index 8d3f5df05e3..874f2cfdf7b 100644 --- a/pkg/api/admin/openshiftcluster_convert.go +++ b/pkg/api/admin/openshiftcluster_convert.go @@ -177,14 +177,14 @@ func (c openShiftClusterConverter) ToExternal(oc *api.OpenShiftCluster) interfac } } - if oc.Identity != nil { - out.Identity.Type = ManagedServiceIdentityType(oc.Identity.Type) - out.Identity.UserAssignedIdentities = make(map[string]UserAssignedIdentity, len(oc.Identity.UserAssignedIdentities)) - for k := range oc.Identity.UserAssignedIdentities { + if oc.ManagedServiceIdentity != nil { + out.ManagedServiceIdentity.Type = ManagedServiceIdentityType(oc.ManagedServiceIdentity.Type) + out.ManagedServiceIdentity.UserAssignedIdentities = make(map[string]UserAssignedIdentity, len(oc.ManagedServiceIdentity.UserAssignedIdentities)) + for k := range oc.ManagedServiceIdentity.UserAssignedIdentities { var temp UserAssignedIdentity - temp.ClientID = oc.Identity.UserAssignedIdentities[k].ClientID - temp.PrincipalID = oc.Identity.UserAssignedIdentities[k].PrincipalID - out.Identity.UserAssignedIdentities[k] = temp + temp.ClientID = oc.ManagedServiceIdentity.UserAssignedIdentities[k].ClientID + temp.PrincipalID = oc.ManagedServiceIdentity.UserAssignedIdentities[k].PrincipalID + out.ManagedServiceIdentity.UserAssignedIdentities[k] = temp } } @@ -256,14 +256,14 @@ func (c openShiftClusterConverter) ToInternal(_oc interface{}, out *api.OpenShif out.Tags[k] = v } } - if oc.Identity != nil { - out.Identity.Type = api.ManagedServiceIdentityType(oc.Identity.Type) - out.Identity.UserAssignedIdentities = make(map[string]api.UserAssignedIdentity, len(oc.Identity.UserAssignedIdentities)) - for k := range oc.Identity.UserAssignedIdentities { + if oc.ManagedServiceIdentity != nil { + out.ManagedServiceIdentity.Type = api.ManagedServiceIdentityType(oc.ManagedServiceIdentity.Type) + out.ManagedServiceIdentity.UserAssignedIdentities = make(map[string]api.UserAssignedIdentity, len(oc.ManagedServiceIdentity.UserAssignedIdentities)) + for k := range oc.ManagedServiceIdentity.UserAssignedIdentities { var temp api.UserAssignedIdentity - temp.ClientID = oc.Identity.UserAssignedIdentities[k].ClientID - temp.PrincipalID = oc.Identity.UserAssignedIdentities[k].PrincipalID - out.Identity.UserAssignedIdentities[k] = temp + temp.ClientID = oc.ManagedServiceIdentity.UserAssignedIdentities[k].ClientID + temp.PrincipalID = oc.ManagedServiceIdentity.UserAssignedIdentities[k].PrincipalID + out.ManagedServiceIdentity.UserAssignedIdentities[k] = temp } } out.Properties.ArchitectureVersion = api.ArchitectureVersion(oc.Properties.ArchitectureVersion) @@ -424,4 +424,22 @@ func (c openShiftClusterConverter) ExternalNoReadOnly(_oc interface{}) { if oc.Properties.NetworkProfile.LoadBalancerProfile != nil { oc.Properties.NetworkProfile.LoadBalancerProfile.EffectiveOutboundIPs = nil } + if oc.Properties.PlatformWorkloadIdentityProfile != nil { + for i := range oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities { + if entry, ok := oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[i]; ok { + entry.ClientID = "" + entry.ObjectID = "" + oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[i] = entry + } + } + } + if oc.ManagedServiceIdentity != nil { + for i := range oc.ManagedServiceIdentity.UserAssignedIdentities { + if entry, ok := oc.ManagedServiceIdentity.UserAssignedIdentities[i]; ok { + entry.ClientID = "" + entry.PrincipalID = "" + oc.ManagedServiceIdentity.UserAssignedIdentities[i] = entry + } + } + } } diff --git a/pkg/api/openshiftcluster.go b/pkg/api/openshiftcluster.go index 84e36657d7c..75d1c600809 100644 --- a/pkg/api/openshiftcluster.go +++ b/pkg/api/openshiftcluster.go @@ -17,14 +17,14 @@ type OpenShiftCluster struct { // ID, Name and Type are cased as the user provided them at create time. // ID, Name, Type and Location are immutable. - ID string `json:"id,omitempty"` - Name string `json:"name,omitempty"` - Type string `json:"type,omitempty"` - Location string `json:"location,omitempty"` - SystemData SystemData `json:"systemData,omitempty"` - Tags map[string]string `json:"tags,omitempty"` - Properties OpenShiftClusterProperties `json:"properties,omitempty"` - Identity *ManagedServiceIdentity `json:"identity,omitempty"` + ID string `json:"id,omitempty"` + Name string `json:"name,omitempty"` + Type string `json:"type,omitempty"` + Location string `json:"location,omitempty"` + SystemData SystemData `json:"systemData,omitempty"` + Tags map[string]string `json:"tags,omitempty"` + Properties OpenShiftClusterProperties `json:"properties,omitempty"` + ManagedServiceIdentity *ManagedServiceIdentity `json:"managedServiceIdentity,omitempty"` //this property is used in the enrichers. Should not be marshalled Lock sync.Mutex `json:"-"` diff --git a/pkg/api/v20240812preview/openshiftcluster.go b/pkg/api/v20240812preview/openshiftcluster.go index d341baea033..60c88281937 100644 --- a/pkg/api/v20240812preview/openshiftcluster.go +++ b/pkg/api/v20240812preview/openshiftcluster.go @@ -38,7 +38,7 @@ type OpenShiftCluster struct { Properties OpenShiftClusterProperties `json:"properties,omitempty"` // Identity stores information about the cluster MSI(s) in a workload identity cluster. - ManagedServiceIdentity *ManagedServiceIdentity `json:"identity,omitempty"` + ManagedServiceIdentity *ManagedServiceIdentity `json:"managedServiceIdentity,omitempty"` } // UsesWorkloadIdentity checks whether a cluster is a Workload Identity cluster or a Service Principal cluster @@ -295,7 +295,7 @@ type IngressProfile struct { // PlatformWorkloadIdentityProfile encapsulates all information that is specific to workload identity clusters. type PlatformWorkloadIdentityProfile struct { - UpgradeableTo *UpgradeableTo `json:"upgradeableTo,omitempty" mutable:"true"` + UpgradeableTo *UpgradeableTo `json:"upgradeableTo,omitempty" mutable:"true"` PlatformWorkloadIdentities map[string]PlatformWorkloadIdentity `json:"platformWorkloadIdentities,omitempty" mutable:"true"` } diff --git a/pkg/api/v20240812preview/openshiftcluster_convert.go b/pkg/api/v20240812preview/openshiftcluster_convert.go index 2a8791cce89..1144a3c1e10 100644 --- a/pkg/api/v20240812preview/openshiftcluster_convert.go +++ b/pkg/api/v20240812preview/openshiftcluster_convert.go @@ -128,14 +128,14 @@ func (c openShiftClusterConverter) ToExternal(oc *api.OpenShiftCluster) interfac } } - if oc.Identity != nil { + if oc.ManagedServiceIdentity != nil { out.ManagedServiceIdentity = &ManagedServiceIdentity{} - out.ManagedServiceIdentity.Type = ManagedServiceIdentityType(oc.Identity.Type) - out.ManagedServiceIdentity.UserAssignedIdentities = make(map[string]UserAssignedIdentity, len(oc.Identity.UserAssignedIdentities)) - for k := range oc.Identity.UserAssignedIdentities { + out.ManagedServiceIdentity.Type = ManagedServiceIdentityType(oc.ManagedServiceIdentity.Type) + out.ManagedServiceIdentity.UserAssignedIdentities = make(map[string]UserAssignedIdentity, len(oc.ManagedServiceIdentity.UserAssignedIdentities)) + for k := range oc.ManagedServiceIdentity.UserAssignedIdentities { var temp UserAssignedIdentity - temp.ClientID = oc.Identity.UserAssignedIdentities[k].ClientID - temp.PrincipalID = oc.Identity.UserAssignedIdentities[k].PrincipalID + temp.ClientID = oc.ManagedServiceIdentity.UserAssignedIdentities[k].ClientID + temp.PrincipalID = oc.ManagedServiceIdentity.UserAssignedIdentities[k].PrincipalID out.ManagedServiceIdentity.UserAssignedIdentities[k] = temp } } @@ -151,13 +151,13 @@ func (c openShiftClusterConverter) ToExternal(oc *api.OpenShiftCluster) interfac out.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities = make(map[string]PlatformWorkloadIdentity, len(oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities)) for k := range oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities { - if entry, ok := out.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[k]; ok { - entry.ClientID = oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[k].ClientID - entry.ObjectID = oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[k].ObjectID - entry.ResourceID = oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[k].ResourceID - - out.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[k] = entry + pwi := PlatformWorkloadIdentity{ + ClientID: oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[k].ClientID, + ObjectID: oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[k].ObjectID, + ResourceID: oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[k].ResourceID, } + + out.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[k] = pwi } } @@ -212,14 +212,14 @@ func (c openShiftClusterConverter) ToInternal(_oc interface{}, out *api.OpenShif } if oc.ManagedServiceIdentity != nil { - out.Identity = &api.ManagedServiceIdentity{} - out.Identity.Type = api.ManagedServiceIdentityType(oc.ManagedServiceIdentity.Type) - out.Identity.UserAssignedIdentities = make(map[string]api.UserAssignedIdentity, len(oc.ManagedServiceIdentity.UserAssignedIdentities)) + out.ManagedServiceIdentity = &api.ManagedServiceIdentity{} + out.ManagedServiceIdentity.Type = api.ManagedServiceIdentityType(oc.ManagedServiceIdentity.Type) + out.ManagedServiceIdentity.UserAssignedIdentities = make(map[string]api.UserAssignedIdentity, len(oc.ManagedServiceIdentity.UserAssignedIdentities)) for k := range oc.ManagedServiceIdentity.UserAssignedIdentities { var temp api.UserAssignedIdentity temp.ClientID = oc.ManagedServiceIdentity.UserAssignedIdentities[k].ClientID temp.PrincipalID = oc.ManagedServiceIdentity.UserAssignedIdentities[k].PrincipalID - out.Identity.UserAssignedIdentities[k] = temp + out.ManagedServiceIdentity.UserAssignedIdentities[k] = temp } } @@ -249,13 +249,13 @@ func (c openShiftClusterConverter) ToInternal(_oc interface{}, out *api.OpenShif out.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities = make(map[string]api.PlatformWorkloadIdentity, len(oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities)) for k := range oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities { - if entry, ok := out.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[k]; ok { - entry.ClientID = oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[k].ClientID - entry.ObjectID = oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[k].ObjectID - entry.ResourceID = oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[k].ResourceID - - out.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[k] = entry + pwi := api.PlatformWorkloadIdentity{ + ClientID: oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[k].ClientID, + ObjectID: oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[k].ObjectID, + ResourceID: oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[k].ResourceID, } + + out.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[k] = pwi } } @@ -373,4 +373,13 @@ func (c openShiftClusterConverter) ExternalNoReadOnly(_oc interface{}) { } } } + if oc.ManagedServiceIdentity != nil { + for i := range oc.ManagedServiceIdentity.UserAssignedIdentities { + if entry, ok := oc.ManagedServiceIdentity.UserAssignedIdentities[i]; ok { + entry.ClientID = "" + entry.PrincipalID = "" + oc.ManagedServiceIdentity.UserAssignedIdentities[i] = entry + } + } + } } diff --git a/pkg/api/v20240812preview/openshiftcluster_example.go b/pkg/api/v20240812preview/openshiftcluster_example.go index afc7d727fb8..737f42d6138 100644 --- a/pkg/api/v20240812preview/openshiftcluster_example.go +++ b/pkg/api/v20240812preview/openshiftcluster_example.go @@ -60,9 +60,9 @@ func ExampleOpenShiftClusterPutParameter() interface{} { oc.Properties.PlatformWorkloadIdentityProfile = &PlatformWorkloadIdentityProfile{ PlatformWorkloadIdentities: map[string]PlatformWorkloadIdentity{ "": { - ResourceID: "", - ClientID: "", - ObjectID: "", + ResourceID: "", + ClientID: "", + ObjectID: "", }, }, } @@ -91,9 +91,9 @@ func ExampleOpenShiftClusterGetResponse() interface{} { oc.Properties.PlatformWorkloadIdentityProfile = &PlatformWorkloadIdentityProfile{ PlatformWorkloadIdentities: map[string]PlatformWorkloadIdentity{ "": { - ResourceID: "", - ClientID: "", - ObjectID: "", + ResourceID: "", + ClientID: "", + ObjectID: "", }, }, } diff --git a/pkg/api/v20240812preview/openshiftcluster_validatestatic.go b/pkg/api/v20240812preview/openshiftcluster_validatestatic.go index 1bb8ce5f22e..371ae3fabd6 100644 --- a/pkg/api/v20240812preview/openshiftcluster_validatestatic.go +++ b/pkg/api/v20240812preview/openshiftcluster_validatestatic.go @@ -447,18 +447,8 @@ func (sv openShiftClusterStaticValidator) validateDelta(oc, current *OpenShiftCl } if current.UsesWorkloadIdentity() { - currentIdentities := map[string]PlatformWorkloadIdentity{} - for k, i := range current.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities { - currentIdentities[k] = i - } - - updateIdentities := map[string]PlatformWorkloadIdentity{} - for k, i := range oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities { - updateIdentities[k] = i - } - - for name, currentIdentity := range currentIdentities { - updateIdentity, present := updateIdentities[name] + for name, currentIdentity := range current.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities { + updateIdentity, present := oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[name] // this also validates that existing identities' names haven't changed if !present { return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodePropertyChangeNotAllowed, "properties.platformWorkloadIdentityProfile.platformWorkloadIdentities", "Operator identity cannot be removed or have its name changed.") @@ -478,9 +468,6 @@ func (sv openShiftClusterStaticValidator) validatePlatformWorkloadIdentityProfil return nil } - // collect operator names to check for duplicates - operators := map[string]struct{}{} - // Validate the PlatformWorkloadIdentities for name, p := range pwip.PlatformWorkloadIdentities { resource, err := azcorearm.ParseResourceID(p.ResourceID) @@ -492,11 +479,6 @@ func (sv openShiftClusterStaticValidator) validatePlatformWorkloadIdentityProfil return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, fmt.Sprintf("%s.PlatformWorkloadIdentities[%s].resourceID", path, name), "Operator name is empty.") } - if _, found := operators[name]; found { - return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, fmt.Sprintf("%s.platformWorkloadIdentities", path), "Operator identities cannot have duplicate names.") - } - operators[name] = struct{}{} - if resource.ResourceType.Type != "userAssignedIdentities" { return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, fmt.Sprintf("%s.PlatformWorkloadIdentities[%s].resourceID", path, name), "Resource must be a user assigned identity.") } diff --git a/pkg/api/v20240812preview/openshiftcluster_validatestatic_test.go b/pkg/api/v20240812preview/openshiftcluster_validatestatic_test.go index d767dcbd2a7..b866bb91f6f 100644 --- a/pkg/api/v20240812preview/openshiftcluster_validatestatic_test.go +++ b/pkg/api/v20240812preview/openshiftcluster_validatestatic_test.go @@ -50,11 +50,7 @@ var ( platformIdentity2 = PlatformWorkloadIdentity{ ResourceID: "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/a-fake-group/providers/Microsoft.RedHatOpenShift/userAssignedIdentities/fake-cluster-name-two", } - clusterIdentity1 = UserAssignedIdentity{ - ClientID: "11111111-1111-1111-1111-111111111111", - PrincipalID: "SOMETHING", - } - duplicateOperatorName = "duplicate" + clusterIdentity1 = UserAssignedIdentity{} ) func getResourceID(clusterName string) string { @@ -207,7 +203,7 @@ func runTests(t *testing.T, mode testMode, tests []*validateTest) { err := v.Static(oc, current, v.location, v.domain, tt.requireD2sV3Workers, v.resourceID) if err == nil { if tt.wantErr != "" { - t.Error(err) + t.Errorf("Expected error %s, got nil", tt.wantErr) } } else { if err.Error() != tt.wantErr { @@ -1412,24 +1408,6 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin }, wantErr: `400: InvalidParameter: properties.platformWorkloadIdentityProfile.UpgradeableTo[16.107.invalid]: UpgradeableTo must be a valid OpenShift version in the format 'x.y.z'.`, }, - { - name: "invalid duplicate identity", - current: func(oc *OpenShiftCluster) { - oc.Properties.PlatformWorkloadIdentityProfile = &PlatformWorkloadIdentityProfile{ - PlatformWorkloadIdentities: map[string]PlatformWorkloadIdentity{ - duplicateOperatorName: platformIdentity1, - duplicateOperatorName: platformIdentity2, - }, - } - oc.ManagedServiceIdentity = &ManagedServiceIdentity{ - UserAssignedIdentities: map[string]UserAssignedIdentity{ - "first": clusterIdentity1, - }, - } - oc.Properties.ServicePrincipalProfile = nil - }, - wantErr: "400: InvalidParameter: properties.platformWorkloadIdentityProfile.platformWorkloadIdentities: Operator identities cannot have duplicate names.", - }, } updateTests := []*validateTest{ @@ -1468,7 +1446,10 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin oc.Properties.ServicePrincipalProfile = nil }, modify: func(oc *OpenShiftCluster) { - oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities["FAKE-OPERATOR-OTHER"] = platformIdentity2 + pwi := map[string]PlatformWorkloadIdentity{ + "FAKE-OPERATOR-OTHER": platformIdentity1, + } + oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities = pwi }, wantErr: "400: PropertyChangeNotAllowed: properties.platformWorkloadIdentityProfile.platformWorkloadIdentities: Operator identity cannot be removed or have its name changed.", }, @@ -1488,7 +1469,7 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin oc.Properties.ServicePrincipalProfile = nil }, modify: func(oc *OpenShiftCluster) { - oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities["ANOTHER-FAKE-OPERATOR"] = platformIdentity2 + oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities["FAKE-OPERATOR"] = platformIdentity2 }, wantErr: "400: PropertyChangeNotAllowed: properties.platformWorkloadIdentityProfile.platformWorkloadIdentities: Operator identity resource ID cannot be changed.", }, @@ -1531,7 +1512,10 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin oc.Properties.ServicePrincipalProfile = nil }, modify: func(oc *OpenShiftCluster) { - oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities["FAKE-OPERATOR"] = platformIdentity2 + pwi := map[string]PlatformWorkloadIdentity{ + "FAKE-OPERATOR-OTHER": platformIdentity2, + } + oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities = pwi }, wantErr: "400: PropertyChangeNotAllowed: properties.platformWorkloadIdentityProfile.platformWorkloadIdentities: Operator identity cannot be removed or have its name changed.", }, @@ -1558,29 +1542,6 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin }, wantErr: "400: PropertyChangeNotAllowed: properties.platformWorkloadIdentityProfile.platformWorkloadIdentities: Operator identity cannot be removed or have its name changed.", }, - { - name: "invalid duplicate identity", - current: func(oc *OpenShiftCluster) { - oc.Properties.PlatformWorkloadIdentityProfile = &PlatformWorkloadIdentityProfile{ - PlatformWorkloadIdentities: map[string]PlatformWorkloadIdentity{ - "operator": platformIdentity1, - }, - } - oc.ManagedServiceIdentity = &ManagedServiceIdentity{ - UserAssignedIdentities: map[string]UserAssignedIdentity{ - "first": clusterIdentity1, - }, - } - oc.Properties.ServicePrincipalProfile = nil - }, - modify: func(oc *OpenShiftCluster) { - oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities["operator"] = - PlatformWorkloadIdentity{ - ResourceID: "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/a-fake-group/providers/Microsoft.RedHatOpenShift/userAssignedIdentities/fake-cluster-name-three", - } - }, - wantErr: "400: InvalidParameter: properties.platformWorkloadIdentityProfile.platformWorkloadIdentities: Operator identities cannot have duplicate names.", - }, } runTests(t, testModeCreate, createTests) diff --git a/pkg/cluster/deploybaseresources_additional_test.go b/pkg/cluster/deploybaseresources_additional_test.go index 37d06367d69..6aac7e64027 100644 --- a/pkg/cluster/deploybaseresources_additional_test.go +++ b/pkg/cluster/deploybaseresources_additional_test.go @@ -56,9 +56,9 @@ func TestDenyAssignment(t *testing.T) { PlatformWorkloadIdentityProfile: &api.PlatformWorkloadIdentityProfile{ PlatformWorkloadIdentities: map[string]api.PlatformWorkloadIdentity{ "anything": { - ObjectID: "00000000-0000-0000-0000-000000000000", - ClientID: "11111111-1111-1111-1111-111111111111", - ResourceID: "/subscriptions/22222222-2222-2222-2222-222222222222/resourceGroups/something/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity-name", + ObjectID: "00000000-0000-0000-0000-000000000000", + ClientID: "11111111-1111-1111-1111-111111111111", + ResourceID: "/subscriptions/22222222-2222-2222-2222-222222222222/resourceGroups/something/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity-name", }, }, }, diff --git a/pkg/cluster/workloadidentityresources_test.go b/pkg/cluster/workloadidentityresources_test.go index 4b23a0683c7..8c93fdfde51 100644 --- a/pkg/cluster/workloadidentityresources_test.go +++ b/pkg/cluster/workloadidentityresources_test.go @@ -264,10 +264,10 @@ func TestGeneratePlatformWorkloadIdentitySecrets(t *testing.T) { name: "ignores identities with no role present", identities: map[string]api.PlatformWorkloadIdentity{ "foo": { - ClientID: "00f00f00-0f00-0f00-0f00-f00f00f00f00", + ClientID: "00f00f00-0f00-0f00-0f00-f00f00f00f00", }, "bar": { - ClientID: "00ba4ba4-0ba4-0ba4-0ba4-ba4ba4ba4ba4", + ClientID: "00ba4ba4-0ba4-0ba4-0ba4-ba4ba4ba4ba4", }, }, roles: []api.PlatformWorkloadIdentityRole{}, diff --git a/pkg/frontend/openshiftcluster_putorpatch.go b/pkg/frontend/openshiftcluster_putorpatch.go index e802b5f3518..aed7d9b6396 100644 --- a/pkg/frontend/openshiftcluster_putorpatch.go +++ b/pkg/frontend/openshiftcluster_putorpatch.go @@ -351,7 +351,7 @@ func validateIdentityUrl(cluster *api.OpenShiftCluster, identityURL string) erro return fmt.Errorf("%w: %s", errMissingIdentityParameter, "identity URL") } - cluster.Identity.IdentityURL = identityURL + cluster.ManagedServiceIdentity.IdentityURL = identityURL return nil } @@ -361,7 +361,7 @@ func validateIdentityTenantID(cluster *api.OpenShiftCluster, identityTenantID st return fmt.Errorf("%w: %s", errMissingIdentityParameter, "identity tenant ID") } - cluster.Identity.TenantID = identityTenantID + cluster.ManagedServiceIdentity.TenantID = identityTenantID return nil } diff --git a/pkg/frontend/openshiftcluster_putorpatch_test.go b/pkg/frontend/openshiftcluster_putorpatch_test.go index ebe0a8abb0c..b5325cf8fc7 100644 --- a/pkg/frontend/openshiftcluster_putorpatch_test.go +++ b/pkg/frontend/openshiftcluster_putorpatch_test.go @@ -2008,7 +2008,7 @@ func TestPutOrPatchOpenShiftCluster(t *testing.T) { ID: testdatabase.GetResourcePath(mockGuid, "resourceName"), Name: "resourceName", Type: "Microsoft.RedHatOpenShift/openShiftClusters", - Identity: &api.ManagedServiceIdentity{ + ManagedServiceIdentity: &api.ManagedServiceIdentity{ Type: "UserAssigned", UserAssignedIdentities: map[string]api.UserAssignedIdentity{ mockMiResourceId: {}, @@ -3623,11 +3623,11 @@ func TestValidateIdentityUrl(t *testing.T) { { name: "pass - identity URL passed", cluster: &api.OpenShiftCluster{ - Identity: &api.ManagedServiceIdentity{}, + ManagedServiceIdentity: &api.ManagedServiceIdentity{}, }, identityURL: "http://foo.bar", expected: &api.OpenShiftCluster{ - Identity: &api.ManagedServiceIdentity{ + ManagedServiceIdentity: &api.ManagedServiceIdentity{ IdentityURL: "http://foo.bar", }, }, @@ -3664,11 +3664,11 @@ func TestValidateIdentityTenantID(t *testing.T) { { name: "pass - tenantID passed", cluster: &api.OpenShiftCluster{ - Identity: &api.ManagedServiceIdentity{}, + ManagedServiceIdentity: &api.ManagedServiceIdentity{}, }, tenantID: "bogus", expected: &api.OpenShiftCluster{ - Identity: &api.ManagedServiceIdentity{ + ManagedServiceIdentity: &api.ManagedServiceIdentity{ TenantID: "bogus", }, }, diff --git a/pkg/operator/deploy/deploy_test.go b/pkg/operator/deploy/deploy_test.go index 54460add6bc..0952234b985 100644 --- a/pkg/operator/deploy/deploy_test.go +++ b/pkg/operator/deploy/deploy_test.go @@ -637,7 +637,7 @@ func TestGenerateOperatorIdentitySecret(t *testing.T) { PlatformWorkloadIdentityProfile: &api.PlatformWorkloadIdentityProfile{ PlatformWorkloadIdentities: map[string]api.PlatformWorkloadIdentity{ pkgoperator.OperatorIdentityName: { - ClientID: "11111111-1111-1111-1111-111111111111", + ClientID: "11111111-1111-1111-1111-111111111111", }, }, }, diff --git a/pkg/validate/dynamic/dynamic_test.go b/pkg/validate/dynamic/dynamic_test.go index 969fc268578..9cd9d5b9399 100644 --- a/pkg/validate/dynamic/dynamic_test.go +++ b/pkg/validate/dynamic/dynamic_test.go @@ -616,10 +616,10 @@ var ( "Microsoft.Network/virtualNetworks/nointersect/nointersect", } platformIdentities = map[string]api.PlatformWorkloadIdentity{ - "foo": { - ResourceID: platformIdentity1, - ClientID: dummyClientId, - ObjectID: dummyObjectId, + "Dummy": { + ResourceID: platformIdentity1, + ClientID: dummyClientId, + ObjectID: dummyObjectId, }, } validSubnetsAuthorizationDecisions = remotepdp.AuthorizationDecisionResponse{ diff --git a/pkg/validate/dynamic/platformworkloadidentityprofile.go b/pkg/validate/dynamic/platformworkloadidentityprofile.go index 9970db6ad40..ff1ad6ed30c 100644 --- a/pkg/validate/dynamic/platformworkloadidentityprofile.go +++ b/pkg/validate/dynamic/platformworkloadidentityprofile.go @@ -75,7 +75,7 @@ func (dv *dynamic) ValidatePlatformWorkloadIdentityProfile(ctx context.Context, } func (dv *dynamic) validateClusterMSI(ctx context.Context, oc *api.OpenShiftCluster, roleDefinitions armauthorization.RoleDefinitionsClient) error { - for resourceID, identity := range oc.Identity.UserAssignedIdentities { + for resourceID, identity := range oc.ManagedServiceIdentity.UserAssignedIdentities { _, err := azure.ParseResourceID(resourceID) if err != nil { return err diff --git a/pkg/validate/dynamic/platformworkloadidentityprofile_test.go b/pkg/validate/dynamic/platformworkloadidentityprofile_test.go index ecb16e7016e..8e6dde7779a 100644 --- a/pkg/validate/dynamic/platformworkloadidentityprofile_test.go +++ b/pkg/validate/dynamic/platformworkloadidentityprofile_test.go @@ -137,15 +137,15 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { dummyObjectId := uuid.DefaultGenerator.Generate() platformWorkloadIdentities := map[string]api.PlatformWorkloadIdentity{ "Dummy2": { - ResourceID: platformIdentity1, + ResourceID: platformIdentity1, }, "Dummy1": { - ResourceID: platformIdentity1, + ResourceID: platformIdentity1, }, } desiredPlatformWorkloadIdentities := map[string]api.PlatformWorkloadIdentity{ "Dummy1": { - ResourceID: platformIdentity1, + ResourceID: platformIdentity1, }, } desiredPlatformWorkloadIdentitiesMap := map[string]api.PlatformWorkloadIdentityRole{ @@ -184,7 +184,7 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { PlatformWorkloadIdentityProfile: &api.PlatformWorkloadIdentityProfile{ PlatformWorkloadIdentities: map[string]api.PlatformWorkloadIdentity{ "Dummy1": { - ResourceID: platformIdentity1, + ResourceID: platformIdentity1, }, }, }, @@ -192,7 +192,7 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { Version: openShiftVersion, }, }, - Identity: &api.ManagedServiceIdentity{ + ManagedServiceIdentity: &api.ManagedServiceIdentity{ UserAssignedIdentities: clusterMSI, }, }, @@ -223,7 +223,7 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { Version: openShiftVersion, }, }, - Identity: &api.ManagedServiceIdentity{ + ManagedServiceIdentity: &api.ManagedServiceIdentity{ UserAssignedIdentities: clusterMSI, }, }, @@ -238,7 +238,7 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { }, wantPlatformIdentities: map[string]api.PlatformWorkloadIdentity{ "Dummy1": { - ResourceID: platformIdentity1, + ResourceID: platformIdentity1, }, }, wantPlatformIdentitiesActionsMap: map[string][]string{ @@ -257,7 +257,7 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { Version: openShiftVersion, }, }, - Identity: &api.ManagedServiceIdentity{ + ManagedServiceIdentity: &api.ManagedServiceIdentity{ UserAssignedIdentities: clusterMSI, }, }, @@ -292,7 +292,7 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { Version: openShiftVersion, }, }, - Identity: &api.ManagedServiceIdentity{ + ManagedServiceIdentity: &api.ManagedServiceIdentity{ UserAssignedIdentities: clusterMSI, }, }, @@ -315,7 +315,7 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { Version: openShiftVersion, }, }, - Identity: &api.ManagedServiceIdentity{ + ManagedServiceIdentity: &api.ManagedServiceIdentity{ UserAssignedIdentities: clusterMSI, }, }, @@ -338,7 +338,7 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { Version: openShiftVersion, }, }, - Identity: &api.ManagedServiceIdentity{ + ManagedServiceIdentity: &api.ManagedServiceIdentity{ UserAssignedIdentities: clusterMSI, }, }, @@ -356,7 +356,7 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { Version: openShiftVersion, }, }, - Identity: &api.ManagedServiceIdentity{ + ManagedServiceIdentity: &api.ManagedServiceIdentity{ UserAssignedIdentities: clusterMSI, }, }, @@ -370,10 +370,10 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { PlatformWorkloadIdentityProfile: &api.PlatformWorkloadIdentityProfile{ PlatformWorkloadIdentities: map[string]api.PlatformWorkloadIdentity{ "Dummy2": { - ResourceID: platformIdentity1, + ResourceID: platformIdentity1, }, "Dummy3": { - ResourceID: platformIdentity1, + ResourceID: platformIdentity1, }, }, }, @@ -381,7 +381,7 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { Version: openShiftVersion, }, }, - Identity: &api.ManagedServiceIdentity{ + ManagedServiceIdentity: &api.ManagedServiceIdentity{ UserAssignedIdentities: clusterMSI, }, }, @@ -399,7 +399,7 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { Version: openShiftVersion, }, }, - Identity: &api.ManagedServiceIdentity{ + ManagedServiceIdentity: &api.ManagedServiceIdentity{ UserAssignedIdentities: map[string]api.UserAssignedIdentity{ "invalidUUID": {}, }, @@ -419,7 +419,7 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { Version: openShiftVersion, }, }, - Identity: &api.ManagedServiceIdentity{ + ManagedServiceIdentity: &api.ManagedServiceIdentity{ UserAssignedIdentities: clusterMSI, }, }, @@ -436,15 +436,15 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { PlatformWorkloadIdentityProfile: &api.PlatformWorkloadIdentityProfile{ PlatformWorkloadIdentities: map[string]api.PlatformWorkloadIdentity{ "Dummy2": { - ResourceID: "Invalid UUID", + ResourceID: "Invalid UUID", }, "Dummy1": { - ResourceID: "Invalid UUID", + ResourceID: "Invalid UUID", }, }, }, }, - Identity: &api.ManagedServiceIdentity{ + ManagedServiceIdentity: &api.ManagedServiceIdentity{ UserAssignedIdentities: clusterMSI, }, }, @@ -465,7 +465,7 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { Version: openShiftVersion, }, }, - Identity: &api.ManagedServiceIdentity{ + ManagedServiceIdentity: &api.ManagedServiceIdentity{ UserAssignedIdentities: clusterMSI, }, }, @@ -494,7 +494,7 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { Version: openShiftVersion, }, }, - Identity: &api.ManagedServiceIdentity{ + ManagedServiceIdentity: &api.ManagedServiceIdentity{ UserAssignedIdentities: clusterMSI, }, }, @@ -523,7 +523,7 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { Version: openShiftVersion, }, }, - Identity: &api.ManagedServiceIdentity{ + ManagedServiceIdentity: &api.ManagedServiceIdentity{ UserAssignedIdentities: clusterMSI, }, }, From ab0b59f3c79e9292f754d86d45685c48f68cf2e7 Mon Sep 17 00:00:00 2001 From: cadenmarchese Date: Fri, 27 Sep 2024 13:11:30 -0400 Subject: [PATCH 25/27] make generate swagger --- .../examples/OpenShiftClusters_CreateOrUpdate.json | 2 +- .../examples/OpenShiftClusters_Update.json | 2 +- .../preview/2024-08-12-preview/redhatopenshift.json | 6 +----- 3 files changed, 3 insertions(+), 7 deletions(-) diff --git a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/OpenShiftClusters_CreateOrUpdate.json b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/OpenShiftClusters_CreateOrUpdate.json index d737d009981..05946d054a2 100644 --- a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/OpenShiftClusters_CreateOrUpdate.json +++ b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/OpenShiftClusters_CreateOrUpdate.json @@ -60,7 +60,7 @@ } ] }, - "identity": {} + "managedServiceIdentity": {} } }, "responses": { diff --git a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/OpenShiftClusters_Update.json b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/OpenShiftClusters_Update.json index a0a3744244e..cf89075b2d7 100644 --- a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/OpenShiftClusters_Update.json +++ b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/examples/OpenShiftClusters_Update.json @@ -59,7 +59,7 @@ } ] }, - "identity": {} + "managedServiceIdentity": {} } }, "responses": { diff --git a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/redhatopenshift.json b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/redhatopenshift.json index 0dd12f9b838..e9ca7231504 100644 --- a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/redhatopenshift.json +++ b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/preview/2024-08-12-preview/redhatopenshift.json @@ -2150,10 +2150,6 @@ "description": "The cluster properties.", "x-ms-client-flatten": true }, - "identity": { - "$ref": "#/definitions/ManagedServiceIdentity", - "description": "Identity stores information about the cluster MSI(s) in a workload identity cluster." - }, "systemData": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/systemData", "description": "The system meta data relating to this resource.", @@ -2281,7 +2277,7 @@ "description": "The cluster properties.", "x-ms-client-flatten": true }, - "identity": { + "managedServiceIdentity": { "$ref": "#/definitions/ManagedServiceIdentity", "description": "Identity stores information about the cluster MSI(s) in a workload identity cluster." }, From e7e466f0bb813544a2b5e597a19acbb664651a10 Mon Sep 17 00:00:00 2001 From: cadenmarchese Date: Fri, 27 Sep 2024 14:02:46 -0400 Subject: [PATCH 26/27] fix unit tests --- pkg/api/openshiftcluster.go | 6 ++-- pkg/api/openshiftcluster_test.go | 58 +++++++++++++++----------------- pkg/cluster/clustermsi.go | 4 +-- pkg/cluster/clustermsi_test.go | 42 +++++++++++------------ pkg/cluster/delete_test.go | 24 ++++++------- 5 files changed, 66 insertions(+), 68 deletions(-) diff --git a/pkg/api/openshiftcluster.go b/pkg/api/openshiftcluster.go index 75d1c600809..ab495c457ca 100644 --- a/pkg/api/openshiftcluster.go +++ b/pkg/api/openshiftcluster.go @@ -42,12 +42,12 @@ func (oc *OpenShiftCluster) UsesWorkloadIdentity() bool { func (oc *OpenShiftCluster) ClusterMsiResourceId() (*arm.ResourceID, error) { if !oc.HasUserAssignedIdentities() { return nil, errors.New("could not find cluster MSI in cluster doc") - } else if len(oc.Identity.UserAssignedIdentities) > 1 { + } else if len(oc.ManagedServiceIdentity.UserAssignedIdentities) > 1 { return nil, errors.New("unexpectedly found more than one cluster MSI in cluster doc") } var msiResourceId string - for resourceId := range oc.Identity.UserAssignedIdentities { + for resourceId := range oc.ManagedServiceIdentity.UserAssignedIdentities { msiResourceId = resourceId } @@ -57,7 +57,7 @@ func (oc *OpenShiftCluster) ClusterMsiResourceId() (*arm.ResourceID, error) { // HasUserAssignedIdentities returns true if and only if the cluster doc's // Identity.UserAssignedIdentities is non-nil and non-empty. func (oc *OpenShiftCluster) HasUserAssignedIdentities() bool { - return oc.Identity != nil && oc.Identity.UserAssignedIdentities != nil && len(oc.Identity.UserAssignedIdentities) > 0 + return oc.ManagedServiceIdentity != nil && oc.ManagedServiceIdentity.UserAssignedIdentities != nil && len(oc.ManagedServiceIdentity.UserAssignedIdentities) > 0 } // CreatedByType by defines user type, which executed the request diff --git a/pkg/api/openshiftcluster_test.go b/pkg/api/openshiftcluster_test.go index a7a6e7f5134..4fc15a84539 100644 --- a/pkg/api/openshiftcluster_test.go +++ b/pkg/api/openshiftcluster_test.go @@ -127,22 +127,22 @@ func TestClusterMsiResourceId(t *testing.T) { wantErr string }{ { - name: "error - cluster doc has nil Identity", + name: "error - cluster doc has nil ManagedServiceIdentity", oc: &OpenShiftCluster{}, wantErr: "could not find cluster MSI in cluster doc", }, { - name: "error - cluster doc has non-nil Identity but nil Identity.UserAssignedIdentities", + name: "error - cluster doc has non-nil ManagedServiceIdentity but nil ManagedServiceIdentity.UserAssignedIdentities", oc: &OpenShiftCluster{ - Identity: &Identity{}, + ManagedServiceIdentity: &ManagedServiceIdentity{}, }, wantErr: "could not find cluster MSI in cluster doc", }, { - name: "error - cluster doc has non-nil Identity but empty Identity.UserAssignedIdentities", + name: "error - cluster doc has non-nil ManagedServiceIdentity but empty ManagedServiceIdentity.UserAssignedIdentities", oc: &OpenShiftCluster{ - Identity: &Identity{ - UserAssignedIdentities: UserAssignedIdentities{}, + ManagedServiceIdentity: &ManagedServiceIdentity{ + UserAssignedIdentities: map[string]UserAssignedIdentity{}, }, }, wantErr: "could not find cluster MSI in cluster doc", @@ -150,32 +150,30 @@ func TestClusterMsiResourceId(t *testing.T) { { name: "error - cluster doc has non-nil Identity but two MSIs in Identity.UserAssignedIdentities", oc: &OpenShiftCluster{ - Identity: &Identity{ - UserAssignedIdentities: UserAssignedIdentities{ - miResourceId: ClusterUserAssignedIdentity{}, - "secondEntry": ClusterUserAssignedIdentity{}, + ManagedServiceIdentity: &ManagedServiceIdentity{ + UserAssignedIdentities: map[string]UserAssignedIdentity{ + miResourceId: { + ClientID: "", + PrincipalID: "", + }, + "secondEntry": { + ClientID: "", + PrincipalID: "", + }, }, }, }, wantErr: "unexpectedly found more than one cluster MSI in cluster doc", }, - { - name: "error - invalid resource ID (theoretically not possible, but still)", - oc: &OpenShiftCluster{ - Identity: &Identity{ - UserAssignedIdentities: UserAssignedIdentities{ - "Hi hello I'm not a valid resource ID": ClusterUserAssignedIdentity{}, - }, - }, - }, - wantErr: "invalid resource ID: resource id 'Hi hello I'm not a valid resource ID' must start with '/'", - }, { name: "success", oc: &OpenShiftCluster{ - Identity: &Identity{ - UserAssignedIdentities: UserAssignedIdentities{ - miResourceId: ClusterUserAssignedIdentity{}, + ManagedServiceIdentity: &ManagedServiceIdentity{ + UserAssignedIdentities: map[string]UserAssignedIdentity{ + miResourceId: { + ClientID: "", + PrincipalID: "", + }, }, }, }, @@ -212,15 +210,15 @@ func TestHasUserAssignedIdentities(t *testing.T) { { name: "false - cluster doc has non-nil Identity but nil Identity.UserAssignedIdentities", oc: &OpenShiftCluster{ - Identity: &Identity{}, + ManagedServiceIdentity: &ManagedServiceIdentity{}, }, wantResult: false, }, { name: "false - cluster doc has non-nil Identity but empty Identity.UserAssignedIdentities", oc: &OpenShiftCluster{ - Identity: &Identity{ - UserAssignedIdentities: UserAssignedIdentities{}, + ManagedServiceIdentity: &ManagedServiceIdentity{ + UserAssignedIdentities: map[string]UserAssignedIdentity{}, }, }, wantResult: false, @@ -228,9 +226,9 @@ func TestHasUserAssignedIdentities(t *testing.T) { { name: "true", oc: &OpenShiftCluster{ - Identity: &Identity{ - UserAssignedIdentities: UserAssignedIdentities{ - miResourceId: ClusterUserAssignedIdentity{}, + ManagedServiceIdentity: &ManagedServiceIdentity{ + UserAssignedIdentities: map[string]UserAssignedIdentity{ + miResourceId: {}, }, }, }, diff --git a/pkg/cluster/clustermsi.go b/pkg/cluster/clustermsi.go index 3e2e3bf1bea..a9f1e01b22f 100644 --- a/pkg/cluster/clustermsi.go +++ b/pkg/cluster/clustermsi.go @@ -45,9 +45,9 @@ func (m *manager) ensureClusterMsiCertificate(ctx context.Context) error { } uaMsiRequest := dataplane.UserAssignedMSIRequest{ - IdentityURL: m.doc.OpenShiftCluster.Identity.IdentityURL, + IdentityURL: m.doc.OpenShiftCluster.ManagedServiceIdentity.IdentityURL, ResourceIDs: []string{clusterMsiResourceId.String()}, - TenantID: m.doc.OpenShiftCluster.Identity.TenantID, + TenantID: m.doc.OpenShiftCluster.ManagedServiceIdentity.TenantID, } msiCredObj, err := m.msiDataplane.GetUserAssignedIdentities(ctx, uaMsiRequest) diff --git a/pkg/cluster/clustermsi_test.go b/pkg/cluster/clustermsi_test.go index ed1956ffcd1..d77e5e7570c 100644 --- a/pkg/cluster/clustermsi_test.go +++ b/pkg/cluster/clustermsi_test.go @@ -82,9 +82,9 @@ Response contained no body name: "error - invalid resource ID (theoretically not possible, but still)", doc: &api.OpenShiftClusterDocument{ OpenShiftCluster: &api.OpenShiftCluster{ - Identity: &api.Identity{ - UserAssignedIdentities: api.UserAssignedIdentities{ - "Hi hello I'm not a valid resource ID": api.ClusterUserAssignedIdentity{}, + ManagedServiceIdentity: &api.ManagedServiceIdentity{ + UserAssignedIdentities: map[string]api.UserAssignedIdentity{ + "Hi hello I'm not a valid resource ID": {}, }, }, }, @@ -96,11 +96,11 @@ Response contained no body doc: &api.OpenShiftClusterDocument{ ID: mockGuid, OpenShiftCluster: &api.OpenShiftCluster{ - Identity: &api.Identity{ + ManagedServiceIdentity: &api.ManagedServiceIdentity{ IdentityURL: middleware.MockIdentityURL, TenantID: mockGuid, - UserAssignedIdentities: api.UserAssignedIdentities{ - miResourceId: api.ClusterUserAssignedIdentity{ + UserAssignedIdentities: map[string]api.UserAssignedIdentity{ + miResourceId: { ClientID: mockGuid, PrincipalID: mockGuid, }, @@ -118,11 +118,11 @@ Response contained no body doc: &api.OpenShiftClusterDocument{ ID: mockGuid, OpenShiftCluster: &api.OpenShiftCluster{ - Identity: &api.Identity{ + ManagedServiceIdentity: &api.ManagedServiceIdentity{ IdentityURL: middleware.MockIdentityURL, TenantID: mockGuid, - UserAssignedIdentities: api.UserAssignedIdentities{ - miResourceId: api.ClusterUserAssignedIdentity{ + UserAssignedIdentities: map[string]api.UserAssignedIdentity{ + miResourceId: { ClientID: mockGuid, PrincipalID: mockGuid, }, @@ -147,11 +147,11 @@ Response contained no body doc: &api.OpenShiftClusterDocument{ ID: mockGuid, OpenShiftCluster: &api.OpenShiftCluster{ - Identity: &api.Identity{ + ManagedServiceIdentity: &api.ManagedServiceIdentity{ IdentityURL: middleware.MockIdentityURL, TenantID: mockGuid, - UserAssignedIdentities: api.UserAssignedIdentities{ - miResourceId: api.ClusterUserAssignedIdentity{ + UserAssignedIdentities: map[string]api.UserAssignedIdentity{ + miResourceId: { ClientID: mockGuid, PrincipalID: mockGuid, }, @@ -179,11 +179,11 @@ Response contained no body doc: &api.OpenShiftClusterDocument{ ID: mockGuid, OpenShiftCluster: &api.OpenShiftCluster{ - Identity: &api.Identity{ + ManagedServiceIdentity: &api.ManagedServiceIdentity{ IdentityURL: middleware.MockIdentityURL, TenantID: mockGuid, - UserAssignedIdentities: api.UserAssignedIdentities{ - miResourceId: api.ClusterUserAssignedIdentity{ + UserAssignedIdentities: map[string]api.UserAssignedIdentity{ + miResourceId: { ClientID: mockGuid, PrincipalID: mockGuid, }, @@ -260,9 +260,9 @@ func TestClusterMsiSecretName(t *testing.T) { name: "error - invalid resource ID (theoretically not possible, but still)", doc: &api.OpenShiftClusterDocument{ OpenShiftCluster: &api.OpenShiftCluster{ - Identity: &api.Identity{ - UserAssignedIdentities: api.UserAssignedIdentities{ - "Hi hello I'm not a valid resource ID": api.ClusterUserAssignedIdentity{}, + ManagedServiceIdentity: &api.ManagedServiceIdentity{ + UserAssignedIdentities: map[string]api.UserAssignedIdentity{ + "Hi hello I'm not a valid resource ID": {}, }, }, }, @@ -274,9 +274,9 @@ func TestClusterMsiSecretName(t *testing.T) { doc: &api.OpenShiftClusterDocument{ ID: mockGuid, OpenShiftCluster: &api.OpenShiftCluster{ - Identity: &api.Identity{ - UserAssignedIdentities: api.UserAssignedIdentities{ - miResourceId: api.ClusterUserAssignedIdentity{}, + ManagedServiceIdentity: &api.ManagedServiceIdentity{ + UserAssignedIdentities: map[string]api.UserAssignedIdentity{ + miResourceId: {}, }, }, }, diff --git a/pkg/cluster/delete_test.go b/pkg/cluster/delete_test.go index a522216ba87..ca8126786bf 100644 --- a/pkg/cluster/delete_test.go +++ b/pkg/cluster/delete_test.go @@ -391,7 +391,7 @@ func TestDeleteClusterMsiCertificate(t *testing.T) { doc: &api.OpenShiftClusterDocument{ ID: mockGuid, OpenShiftCluster: &api.OpenShiftCluster{ - Identity: &api.Identity{}, + ManagedServiceIdentity: &api.ManagedServiceIdentity{}, }, }, }, @@ -400,8 +400,8 @@ func TestDeleteClusterMsiCertificate(t *testing.T) { doc: &api.OpenShiftClusterDocument{ ID: mockGuid, OpenShiftCluster: &api.OpenShiftCluster{ - Identity: &api.Identity{ - UserAssignedIdentities: api.UserAssignedIdentities{}, + ManagedServiceIdentity: &api.ManagedServiceIdentity{ + UserAssignedIdentities: map[string]api.UserAssignedIdentity{}, }, }, }, @@ -411,9 +411,9 @@ func TestDeleteClusterMsiCertificate(t *testing.T) { doc: &api.OpenShiftClusterDocument{ ID: mockGuid, OpenShiftCluster: &api.OpenShiftCluster{ - Identity: &api.Identity{ - UserAssignedIdentities: api.UserAssignedIdentities{ - "not a valid MI resource ID": api.ClusterUserAssignedIdentity{ + ManagedServiceIdentity: &api.ManagedServiceIdentity{ + UserAssignedIdentities: map[string]api.UserAssignedIdentity{ + "not a valid MI resource ID": { ClientID: mockGuid, PrincipalID: mockGuid, }, @@ -428,9 +428,9 @@ func TestDeleteClusterMsiCertificate(t *testing.T) { doc: &api.OpenShiftClusterDocument{ ID: mockGuid, OpenShiftCluster: &api.OpenShiftCluster{ - Identity: &api.Identity{ - UserAssignedIdentities: api.UserAssignedIdentities{ - miResourceId: api.ClusterUserAssignedIdentity{ + ManagedServiceIdentity: &api.ManagedServiceIdentity{ + UserAssignedIdentities: map[string]api.UserAssignedIdentity{ + miResourceId: { ClientID: mockGuid, PrincipalID: mockGuid, }, @@ -448,9 +448,9 @@ func TestDeleteClusterMsiCertificate(t *testing.T) { doc: &api.OpenShiftClusterDocument{ ID: mockGuid, OpenShiftCluster: &api.OpenShiftCluster{ - Identity: &api.Identity{ - UserAssignedIdentities: api.UserAssignedIdentities{ - miResourceId: api.ClusterUserAssignedIdentity{ + ManagedServiceIdentity: &api.ManagedServiceIdentity{ + UserAssignedIdentities: map[string]api.UserAssignedIdentity{ + miResourceId: { ClientID: mockGuid, PrincipalID: mockGuid, }, From c0ca919558ef3d9f5ea4727f1b945b38c39e4e3f Mon Sep 17 00:00:00 2001 From: cadenmarchese Date: Tue, 8 Oct 2024 10:00:37 -0400 Subject: [PATCH 27/27] revert naming openShiftCluster.ManagedServiceIdentity to Identity --- pkg/api/admin/openshiftcluster.go | 14 +++---- pkg/api/admin/openshiftcluster_convert.go | 36 ++++++++--------- pkg/api/openshiftcluster.go | 22 +++++----- pkg/api/openshiftcluster_test.go | 14 +++---- pkg/api/v20240812preview/openshiftcluster.go | 2 +- .../openshiftcluster_convert.go | 40 +++++++++---------- .../openshiftcluster_example.go | 2 +- .../openshiftcluster_validatestatic.go | 4 +- .../openshiftcluster_validatestatic_test.go | 30 +++++++------- pkg/cluster/clustermsi.go | 4 +- pkg/cluster/clustermsi_test.go | 14 +++---- pkg/cluster/delete_test.go | 10 ++--- pkg/frontend/openshiftcluster_putorpatch.go | 4 +- .../openshiftcluster_putorpatch_test.go | 14 +++---- .../platformworkloadidentityprofile.go | 2 +- .../platformworkloadidentityprofile_test.go | 28 ++++++------- 16 files changed, 120 insertions(+), 120 deletions(-) diff --git a/pkg/api/admin/openshiftcluster.go b/pkg/api/admin/openshiftcluster.go index ea3f2dfe55e..5a96f208bd9 100644 --- a/pkg/api/admin/openshiftcluster.go +++ b/pkg/api/admin/openshiftcluster.go @@ -18,13 +18,13 @@ type OpenShiftClusterList struct { // OpenShiftCluster represents an Azure Red Hat OpenShift cluster. type OpenShiftCluster struct { - ID string `json:"id,omitempty" mutable:"case"` - Name string `json:"name,omitempty" mutable:"case"` - Type string `json:"type,omitempty" mutable:"case"` - Location string `json:"location,omitempty"` - Tags map[string]string `json:"tags,omitempty"` - Properties OpenShiftClusterProperties `json:"properties,omitempty"` - ManagedServiceIdentity *ManagedServiceIdentity `json:"managedServiceIdentity,omitempty"` + ID string `json:"id,omitempty" mutable:"case"` + Name string `json:"name,omitempty" mutable:"case"` + Type string `json:"type,omitempty" mutable:"case"` + Location string `json:"location,omitempty"` + Tags map[string]string `json:"tags,omitempty"` + Properties OpenShiftClusterProperties `json:"properties,omitempty"` + Identity *ManagedServiceIdentity `json:"managedServiceIdentity,omitempty"` } // OpenShiftClusterProperties represents an OpenShift cluster's properties. diff --git a/pkg/api/admin/openshiftcluster_convert.go b/pkg/api/admin/openshiftcluster_convert.go index 874f2cfdf7b..10de0898f9b 100644 --- a/pkg/api/admin/openshiftcluster_convert.go +++ b/pkg/api/admin/openshiftcluster_convert.go @@ -177,14 +177,14 @@ func (c openShiftClusterConverter) ToExternal(oc *api.OpenShiftCluster) interfac } } - if oc.ManagedServiceIdentity != nil { - out.ManagedServiceIdentity.Type = ManagedServiceIdentityType(oc.ManagedServiceIdentity.Type) - out.ManagedServiceIdentity.UserAssignedIdentities = make(map[string]UserAssignedIdentity, len(oc.ManagedServiceIdentity.UserAssignedIdentities)) - for k := range oc.ManagedServiceIdentity.UserAssignedIdentities { + if oc.Identity != nil { + out.Identity.Type = ManagedServiceIdentityType(oc.Identity.Type) + out.Identity.UserAssignedIdentities = make(map[string]UserAssignedIdentity, len(oc.Identity.UserAssignedIdentities)) + for k := range oc.Identity.UserAssignedIdentities { var temp UserAssignedIdentity - temp.ClientID = oc.ManagedServiceIdentity.UserAssignedIdentities[k].ClientID - temp.PrincipalID = oc.ManagedServiceIdentity.UserAssignedIdentities[k].PrincipalID - out.ManagedServiceIdentity.UserAssignedIdentities[k] = temp + temp.ClientID = oc.Identity.UserAssignedIdentities[k].ClientID + temp.PrincipalID = oc.Identity.UserAssignedIdentities[k].PrincipalID + out.Identity.UserAssignedIdentities[k] = temp } } @@ -256,14 +256,14 @@ func (c openShiftClusterConverter) ToInternal(_oc interface{}, out *api.OpenShif out.Tags[k] = v } } - if oc.ManagedServiceIdentity != nil { - out.ManagedServiceIdentity.Type = api.ManagedServiceIdentityType(oc.ManagedServiceIdentity.Type) - out.ManagedServiceIdentity.UserAssignedIdentities = make(map[string]api.UserAssignedIdentity, len(oc.ManagedServiceIdentity.UserAssignedIdentities)) - for k := range oc.ManagedServiceIdentity.UserAssignedIdentities { + if oc.Identity != nil { + out.Identity.Type = api.ManagedServiceIdentityType(oc.Identity.Type) + out.Identity.UserAssignedIdentities = make(map[string]api.UserAssignedIdentity, len(oc.Identity.UserAssignedIdentities)) + for k := range oc.Identity.UserAssignedIdentities { var temp api.UserAssignedIdentity - temp.ClientID = oc.ManagedServiceIdentity.UserAssignedIdentities[k].ClientID - temp.PrincipalID = oc.ManagedServiceIdentity.UserAssignedIdentities[k].PrincipalID - out.ManagedServiceIdentity.UserAssignedIdentities[k] = temp + temp.ClientID = oc.Identity.UserAssignedIdentities[k].ClientID + temp.PrincipalID = oc.Identity.UserAssignedIdentities[k].PrincipalID + out.Identity.UserAssignedIdentities[k] = temp } } out.Properties.ArchitectureVersion = api.ArchitectureVersion(oc.Properties.ArchitectureVersion) @@ -433,12 +433,12 @@ func (c openShiftClusterConverter) ExternalNoReadOnly(_oc interface{}) { } } } - if oc.ManagedServiceIdentity != nil { - for i := range oc.ManagedServiceIdentity.UserAssignedIdentities { - if entry, ok := oc.ManagedServiceIdentity.UserAssignedIdentities[i]; ok { + if oc.Identity != nil { + for i := range oc.Identity.UserAssignedIdentities { + if entry, ok := oc.Identity.UserAssignedIdentities[i]; ok { entry.ClientID = "" entry.PrincipalID = "" - oc.ManagedServiceIdentity.UserAssignedIdentities[i] = entry + oc.Identity.UserAssignedIdentities[i] = entry } } } diff --git a/pkg/api/openshiftcluster.go b/pkg/api/openshiftcluster.go index ab495c457ca..95804a89b73 100644 --- a/pkg/api/openshiftcluster.go +++ b/pkg/api/openshiftcluster.go @@ -17,14 +17,14 @@ type OpenShiftCluster struct { // ID, Name and Type are cased as the user provided them at create time. // ID, Name, Type and Location are immutable. - ID string `json:"id,omitempty"` - Name string `json:"name,omitempty"` - Type string `json:"type,omitempty"` - Location string `json:"location,omitempty"` - SystemData SystemData `json:"systemData,omitempty"` - Tags map[string]string `json:"tags,omitempty"` - Properties OpenShiftClusterProperties `json:"properties,omitempty"` - ManagedServiceIdentity *ManagedServiceIdentity `json:"managedServiceIdentity,omitempty"` + ID string `json:"id,omitempty"` + Name string `json:"name,omitempty"` + Type string `json:"type,omitempty"` + Location string `json:"location,omitempty"` + SystemData SystemData `json:"systemData,omitempty"` + Tags map[string]string `json:"tags,omitempty"` + Properties OpenShiftClusterProperties `json:"properties,omitempty"` + Identity *ManagedServiceIdentity `json:"managedServiceIdentity,omitempty"` //this property is used in the enrichers. Should not be marshalled Lock sync.Mutex `json:"-"` @@ -42,12 +42,12 @@ func (oc *OpenShiftCluster) UsesWorkloadIdentity() bool { func (oc *OpenShiftCluster) ClusterMsiResourceId() (*arm.ResourceID, error) { if !oc.HasUserAssignedIdentities() { return nil, errors.New("could not find cluster MSI in cluster doc") - } else if len(oc.ManagedServiceIdentity.UserAssignedIdentities) > 1 { + } else if len(oc.Identity.UserAssignedIdentities) > 1 { return nil, errors.New("unexpectedly found more than one cluster MSI in cluster doc") } var msiResourceId string - for resourceId := range oc.ManagedServiceIdentity.UserAssignedIdentities { + for resourceId := range oc.Identity.UserAssignedIdentities { msiResourceId = resourceId } @@ -57,7 +57,7 @@ func (oc *OpenShiftCluster) ClusterMsiResourceId() (*arm.ResourceID, error) { // HasUserAssignedIdentities returns true if and only if the cluster doc's // Identity.UserAssignedIdentities is non-nil and non-empty. func (oc *OpenShiftCluster) HasUserAssignedIdentities() bool { - return oc.ManagedServiceIdentity != nil && oc.ManagedServiceIdentity.UserAssignedIdentities != nil && len(oc.ManagedServiceIdentity.UserAssignedIdentities) > 0 + return oc.Identity != nil && oc.Identity.UserAssignedIdentities != nil && len(oc.Identity.UserAssignedIdentities) > 0 } // CreatedByType by defines user type, which executed the request diff --git a/pkg/api/openshiftcluster_test.go b/pkg/api/openshiftcluster_test.go index 4fc15a84539..d80cd55b389 100644 --- a/pkg/api/openshiftcluster_test.go +++ b/pkg/api/openshiftcluster_test.go @@ -134,14 +134,14 @@ func TestClusterMsiResourceId(t *testing.T) { { name: "error - cluster doc has non-nil ManagedServiceIdentity but nil ManagedServiceIdentity.UserAssignedIdentities", oc: &OpenShiftCluster{ - ManagedServiceIdentity: &ManagedServiceIdentity{}, + Identity: &ManagedServiceIdentity{}, }, wantErr: "could not find cluster MSI in cluster doc", }, { name: "error - cluster doc has non-nil ManagedServiceIdentity but empty ManagedServiceIdentity.UserAssignedIdentities", oc: &OpenShiftCluster{ - ManagedServiceIdentity: &ManagedServiceIdentity{ + Identity: &ManagedServiceIdentity{ UserAssignedIdentities: map[string]UserAssignedIdentity{}, }, }, @@ -150,7 +150,7 @@ func TestClusterMsiResourceId(t *testing.T) { { name: "error - cluster doc has non-nil Identity but two MSIs in Identity.UserAssignedIdentities", oc: &OpenShiftCluster{ - ManagedServiceIdentity: &ManagedServiceIdentity{ + Identity: &ManagedServiceIdentity{ UserAssignedIdentities: map[string]UserAssignedIdentity{ miResourceId: { ClientID: "", @@ -168,7 +168,7 @@ func TestClusterMsiResourceId(t *testing.T) { { name: "success", oc: &OpenShiftCluster{ - ManagedServiceIdentity: &ManagedServiceIdentity{ + Identity: &ManagedServiceIdentity{ UserAssignedIdentities: map[string]UserAssignedIdentity{ miResourceId: { ClientID: "", @@ -210,14 +210,14 @@ func TestHasUserAssignedIdentities(t *testing.T) { { name: "false - cluster doc has non-nil Identity but nil Identity.UserAssignedIdentities", oc: &OpenShiftCluster{ - ManagedServiceIdentity: &ManagedServiceIdentity{}, + Identity: &ManagedServiceIdentity{}, }, wantResult: false, }, { name: "false - cluster doc has non-nil Identity but empty Identity.UserAssignedIdentities", oc: &OpenShiftCluster{ - ManagedServiceIdentity: &ManagedServiceIdentity{ + Identity: &ManagedServiceIdentity{ UserAssignedIdentities: map[string]UserAssignedIdentity{}, }, }, @@ -226,7 +226,7 @@ func TestHasUserAssignedIdentities(t *testing.T) { { name: "true", oc: &OpenShiftCluster{ - ManagedServiceIdentity: &ManagedServiceIdentity{ + Identity: &ManagedServiceIdentity{ UserAssignedIdentities: map[string]UserAssignedIdentity{ miResourceId: {}, }, diff --git a/pkg/api/v20240812preview/openshiftcluster.go b/pkg/api/v20240812preview/openshiftcluster.go index 60c88281937..d03447701a5 100644 --- a/pkg/api/v20240812preview/openshiftcluster.go +++ b/pkg/api/v20240812preview/openshiftcluster.go @@ -38,7 +38,7 @@ type OpenShiftCluster struct { Properties OpenShiftClusterProperties `json:"properties,omitempty"` // Identity stores information about the cluster MSI(s) in a workload identity cluster. - ManagedServiceIdentity *ManagedServiceIdentity `json:"managedServiceIdentity,omitempty"` + Identity *ManagedServiceIdentity `json:"managedServiceIdentity,omitempty"` } // UsesWorkloadIdentity checks whether a cluster is a Workload Identity cluster or a Service Principal cluster diff --git a/pkg/api/v20240812preview/openshiftcluster_convert.go b/pkg/api/v20240812preview/openshiftcluster_convert.go index 1144a3c1e10..6359fa5aad0 100644 --- a/pkg/api/v20240812preview/openshiftcluster_convert.go +++ b/pkg/api/v20240812preview/openshiftcluster_convert.go @@ -128,15 +128,15 @@ func (c openShiftClusterConverter) ToExternal(oc *api.OpenShiftCluster) interfac } } - if oc.ManagedServiceIdentity != nil { - out.ManagedServiceIdentity = &ManagedServiceIdentity{} - out.ManagedServiceIdentity.Type = ManagedServiceIdentityType(oc.ManagedServiceIdentity.Type) - out.ManagedServiceIdentity.UserAssignedIdentities = make(map[string]UserAssignedIdentity, len(oc.ManagedServiceIdentity.UserAssignedIdentities)) - for k := range oc.ManagedServiceIdentity.UserAssignedIdentities { + if oc.Identity != nil { + out.Identity = &ManagedServiceIdentity{} + out.Identity.Type = ManagedServiceIdentityType(oc.Identity.Type) + out.Identity.UserAssignedIdentities = make(map[string]UserAssignedIdentity, len(oc.Identity.UserAssignedIdentities)) + for k := range oc.Identity.UserAssignedIdentities { var temp UserAssignedIdentity - temp.ClientID = oc.ManagedServiceIdentity.UserAssignedIdentities[k].ClientID - temp.PrincipalID = oc.ManagedServiceIdentity.UserAssignedIdentities[k].PrincipalID - out.ManagedServiceIdentity.UserAssignedIdentities[k] = temp + temp.ClientID = oc.Identity.UserAssignedIdentities[k].ClientID + temp.PrincipalID = oc.Identity.UserAssignedIdentities[k].PrincipalID + out.Identity.UserAssignedIdentities[k] = temp } } @@ -211,15 +211,15 @@ func (c openShiftClusterConverter) ToInternal(_oc interface{}, out *api.OpenShif } } - if oc.ManagedServiceIdentity != nil { - out.ManagedServiceIdentity = &api.ManagedServiceIdentity{} - out.ManagedServiceIdentity.Type = api.ManagedServiceIdentityType(oc.ManagedServiceIdentity.Type) - out.ManagedServiceIdentity.UserAssignedIdentities = make(map[string]api.UserAssignedIdentity, len(oc.ManagedServiceIdentity.UserAssignedIdentities)) - for k := range oc.ManagedServiceIdentity.UserAssignedIdentities { + if oc.Identity != nil { + out.Identity = &api.ManagedServiceIdentity{} + out.Identity.Type = api.ManagedServiceIdentityType(oc.Identity.Type) + out.Identity.UserAssignedIdentities = make(map[string]api.UserAssignedIdentity, len(oc.Identity.UserAssignedIdentities)) + for k := range oc.Identity.UserAssignedIdentities { var temp api.UserAssignedIdentity - temp.ClientID = oc.ManagedServiceIdentity.UserAssignedIdentities[k].ClientID - temp.PrincipalID = oc.ManagedServiceIdentity.UserAssignedIdentities[k].PrincipalID - out.ManagedServiceIdentity.UserAssignedIdentities[k] = temp + temp.ClientID = oc.Identity.UserAssignedIdentities[k].ClientID + temp.PrincipalID = oc.Identity.UserAssignedIdentities[k].PrincipalID + out.Identity.UserAssignedIdentities[k] = temp } } @@ -373,12 +373,12 @@ func (c openShiftClusterConverter) ExternalNoReadOnly(_oc interface{}) { } } } - if oc.ManagedServiceIdentity != nil { - for i := range oc.ManagedServiceIdentity.UserAssignedIdentities { - if entry, ok := oc.ManagedServiceIdentity.UserAssignedIdentities[i]; ok { + if oc.Identity != nil { + for i := range oc.Identity.UserAssignedIdentities { + if entry, ok := oc.Identity.UserAssignedIdentities[i]; ok { entry.ClientID = "" entry.PrincipalID = "" - oc.ManagedServiceIdentity.UserAssignedIdentities[i] = entry + oc.Identity.UserAssignedIdentities[i] = entry } } } diff --git a/pkg/api/v20240812preview/openshiftcluster_example.go b/pkg/api/v20240812preview/openshiftcluster_example.go index 737f42d6138..4422b8d4cb3 100644 --- a/pkg/api/v20240812preview/openshiftcluster_example.go +++ b/pkg/api/v20240812preview/openshiftcluster_example.go @@ -39,7 +39,7 @@ func ExampleOpenShiftClusterPutParameter() interface{} { oc.ID = "" oc.Name = "" oc.Type = "" - oc.ManagedServiceIdentity = &ManagedServiceIdentity{ + oc.Identity = &ManagedServiceIdentity{ Type: "", UserAssignedIdentities: map[string]UserAssignedIdentity{}, } diff --git a/pkg/api/v20240812preview/openshiftcluster_validatestatic.go b/pkg/api/v20240812preview/openshiftcluster_validatestatic.go index 371ae3fabd6..306258f5e2e 100644 --- a/pkg/api/v20240812preview/openshiftcluster_validatestatic.go +++ b/pkg/api/v20240812preview/openshiftcluster_validatestatic.go @@ -506,14 +506,14 @@ func (sv openShiftClusterStaticValidator) validatePlatformIdentities(oc *OpenShi return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, "properties.servicePrincipalProfile", "Cannot use identities and service principal credentials at the same time.") } - clusterIdentityPresent := oc.ManagedServiceIdentity != nil + clusterIdentityPresent := oc.Identity != nil operatorRolePresent := pwip != nil if clusterIdentityPresent != operatorRolePresent { return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, "identity", "Cluster identity and platform workload identities require each other.") } - if operatorRolePresent && len(oc.ManagedServiceIdentity.UserAssignedIdentities) != 1 { + if operatorRolePresent && len(oc.Identity.UserAssignedIdentities) != 1 { return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, "identity", "The provided cluster identity is invalid; there should be exactly one.") } diff --git a/pkg/api/v20240812preview/openshiftcluster_validatestatic_test.go b/pkg/api/v20240812preview/openshiftcluster_validatestatic_test.go index b866bb91f6f..beccd484eb6 100644 --- a/pkg/api/v20240812preview/openshiftcluster_validatestatic_test.go +++ b/pkg/api/v20240812preview/openshiftcluster_validatestatic_test.go @@ -1244,7 +1244,7 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin "name": platformIdentity1, }, } - oc.ManagedServiceIdentity = &ManagedServiceIdentity{ + oc.Identity = &ManagedServiceIdentity{ UserAssignedIdentities: map[string]UserAssignedIdentity{ "first": { ClientID: "11111111-1111-1111-1111-111111111111", @@ -1258,7 +1258,7 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin { name: "invalid resourceID", modify: func(oc *OpenShiftCluster) { - oc.ManagedServiceIdentity = &ManagedServiceIdentity{ + oc.Identity = &ManagedServiceIdentity{ UserAssignedIdentities: map[string]UserAssignedIdentity{ "first": { ClientID: "11111111-1111-1111-1111-111111111111", @@ -1288,7 +1288,7 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin }, } oc.Properties.ServicePrincipalProfile = nil - oc.ManagedServiceIdentity = &ManagedServiceIdentity{ + oc.Identity = &ManagedServiceIdentity{ UserAssignedIdentities: map[string]UserAssignedIdentity{ "first": clusterIdentity1, }, @@ -1304,7 +1304,7 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin "name": platformIdentity1, }, } - oc.ManagedServiceIdentity = &ManagedServiceIdentity{ + oc.Identity = &ManagedServiceIdentity{ UserAssignedIdentities: map[string]UserAssignedIdentity{ "first": clusterIdentity1, }, @@ -1319,7 +1319,7 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin { name: "cluster identity missing platform workload identity", modify: func(oc *OpenShiftCluster) { - oc.ManagedServiceIdentity = &ManagedServiceIdentity{ + oc.Identity = &ManagedServiceIdentity{ UserAssignedIdentities: map[string]UserAssignedIdentity{ "first": clusterIdentity1, }, @@ -1348,14 +1348,14 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin }, } oc.Properties.ServicePrincipalProfile = nil - oc.ManagedServiceIdentity = &ManagedServiceIdentity{} + oc.Identity = &ManagedServiceIdentity{} }, wantErr: "400: InvalidParameter: identity: The provided cluster identity is invalid; there should be exactly one.", }, { name: "operator name missing", modify: func(oc *OpenShiftCluster) { - oc.ManagedServiceIdentity = &ManagedServiceIdentity{ + oc.Identity = &ManagedServiceIdentity{ UserAssignedIdentities: map[string]UserAssignedIdentity{ "first": clusterIdentity1, }, @@ -1382,7 +1382,7 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin { name: "valid UpgradeableTo value", modify: func(oc *OpenShiftCluster) { - oc.ManagedServiceIdentity = &ManagedServiceIdentity{ + oc.Identity = &ManagedServiceIdentity{ UserAssignedIdentities: map[string]UserAssignedIdentity{ "Dummy": {}, }, @@ -1396,7 +1396,7 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin { name: "invalid UpgradeableTo value", modify: func(oc *OpenShiftCluster) { - oc.ManagedServiceIdentity = &ManagedServiceIdentity{ + oc.Identity = &ManagedServiceIdentity{ UserAssignedIdentities: map[string]UserAssignedIdentity{ "Dummy": {}, }, @@ -1419,7 +1419,7 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin "FAKE-OPERATOR": platformIdentity1, }, } - oc.ManagedServiceIdentity = &ManagedServiceIdentity{ + oc.Identity = &ManagedServiceIdentity{ UserAssignedIdentities: map[string]UserAssignedIdentity{ "first": clusterIdentity1, }, @@ -1438,7 +1438,7 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin "FAKE-OPERATOR": platformIdentity1, }, } - oc.ManagedServiceIdentity = &ManagedServiceIdentity{ + oc.Identity = &ManagedServiceIdentity{ UserAssignedIdentities: map[string]UserAssignedIdentity{ "first": clusterIdentity1, }, @@ -1461,7 +1461,7 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin "FAKE-OPERATOR": platformIdentity1, }, } - oc.ManagedServiceIdentity = &ManagedServiceIdentity{ + oc.Identity = &ManagedServiceIdentity{ UserAssignedIdentities: map[string]UserAssignedIdentity{ "first": clusterIdentity1, }, @@ -1482,7 +1482,7 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin "OPERATOR-2": platformIdentity2, }, } - oc.ManagedServiceIdentity = &ManagedServiceIdentity{ + oc.Identity = &ManagedServiceIdentity{ UserAssignedIdentities: map[string]UserAssignedIdentity{ "first": clusterIdentity1, }, @@ -1504,7 +1504,7 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin "FAKE-OPERATOR": platformIdentity1, }, } - oc.ManagedServiceIdentity = &ManagedServiceIdentity{ + oc.Identity = &ManagedServiceIdentity{ UserAssignedIdentities: map[string]UserAssignedIdentity{ "first": clusterIdentity1, }, @@ -1528,7 +1528,7 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin "operator2": platformIdentity2, }, } - oc.ManagedServiceIdentity = &ManagedServiceIdentity{ + oc.Identity = &ManagedServiceIdentity{ UserAssignedIdentities: map[string]UserAssignedIdentity{ "first": clusterIdentity1, }, diff --git a/pkg/cluster/clustermsi.go b/pkg/cluster/clustermsi.go index a9f1e01b22f..3e2e3bf1bea 100644 --- a/pkg/cluster/clustermsi.go +++ b/pkg/cluster/clustermsi.go @@ -45,9 +45,9 @@ func (m *manager) ensureClusterMsiCertificate(ctx context.Context) error { } uaMsiRequest := dataplane.UserAssignedMSIRequest{ - IdentityURL: m.doc.OpenShiftCluster.ManagedServiceIdentity.IdentityURL, + IdentityURL: m.doc.OpenShiftCluster.Identity.IdentityURL, ResourceIDs: []string{clusterMsiResourceId.String()}, - TenantID: m.doc.OpenShiftCluster.ManagedServiceIdentity.TenantID, + TenantID: m.doc.OpenShiftCluster.Identity.TenantID, } msiCredObj, err := m.msiDataplane.GetUserAssignedIdentities(ctx, uaMsiRequest) diff --git a/pkg/cluster/clustermsi_test.go b/pkg/cluster/clustermsi_test.go index d77e5e7570c..add3a472078 100644 --- a/pkg/cluster/clustermsi_test.go +++ b/pkg/cluster/clustermsi_test.go @@ -82,7 +82,7 @@ Response contained no body name: "error - invalid resource ID (theoretically not possible, but still)", doc: &api.OpenShiftClusterDocument{ OpenShiftCluster: &api.OpenShiftCluster{ - ManagedServiceIdentity: &api.ManagedServiceIdentity{ + Identity: &api.ManagedServiceIdentity{ UserAssignedIdentities: map[string]api.UserAssignedIdentity{ "Hi hello I'm not a valid resource ID": {}, }, @@ -96,7 +96,7 @@ Response contained no body doc: &api.OpenShiftClusterDocument{ ID: mockGuid, OpenShiftCluster: &api.OpenShiftCluster{ - ManagedServiceIdentity: &api.ManagedServiceIdentity{ + Identity: &api.ManagedServiceIdentity{ IdentityURL: middleware.MockIdentityURL, TenantID: mockGuid, UserAssignedIdentities: map[string]api.UserAssignedIdentity{ @@ -118,7 +118,7 @@ Response contained no body doc: &api.OpenShiftClusterDocument{ ID: mockGuid, OpenShiftCluster: &api.OpenShiftCluster{ - ManagedServiceIdentity: &api.ManagedServiceIdentity{ + Identity: &api.ManagedServiceIdentity{ IdentityURL: middleware.MockIdentityURL, TenantID: mockGuid, UserAssignedIdentities: map[string]api.UserAssignedIdentity{ @@ -147,7 +147,7 @@ Response contained no body doc: &api.OpenShiftClusterDocument{ ID: mockGuid, OpenShiftCluster: &api.OpenShiftCluster{ - ManagedServiceIdentity: &api.ManagedServiceIdentity{ + Identity: &api.ManagedServiceIdentity{ IdentityURL: middleware.MockIdentityURL, TenantID: mockGuid, UserAssignedIdentities: map[string]api.UserAssignedIdentity{ @@ -179,7 +179,7 @@ Response contained no body doc: &api.OpenShiftClusterDocument{ ID: mockGuid, OpenShiftCluster: &api.OpenShiftCluster{ - ManagedServiceIdentity: &api.ManagedServiceIdentity{ + Identity: &api.ManagedServiceIdentity{ IdentityURL: middleware.MockIdentityURL, TenantID: mockGuid, UserAssignedIdentities: map[string]api.UserAssignedIdentity{ @@ -260,7 +260,7 @@ func TestClusterMsiSecretName(t *testing.T) { name: "error - invalid resource ID (theoretically not possible, but still)", doc: &api.OpenShiftClusterDocument{ OpenShiftCluster: &api.OpenShiftCluster{ - ManagedServiceIdentity: &api.ManagedServiceIdentity{ + Identity: &api.ManagedServiceIdentity{ UserAssignedIdentities: map[string]api.UserAssignedIdentity{ "Hi hello I'm not a valid resource ID": {}, }, @@ -274,7 +274,7 @@ func TestClusterMsiSecretName(t *testing.T) { doc: &api.OpenShiftClusterDocument{ ID: mockGuid, OpenShiftCluster: &api.OpenShiftCluster{ - ManagedServiceIdentity: &api.ManagedServiceIdentity{ + Identity: &api.ManagedServiceIdentity{ UserAssignedIdentities: map[string]api.UserAssignedIdentity{ miResourceId: {}, }, diff --git a/pkg/cluster/delete_test.go b/pkg/cluster/delete_test.go index ca8126786bf..fcdc5ea0e00 100644 --- a/pkg/cluster/delete_test.go +++ b/pkg/cluster/delete_test.go @@ -391,7 +391,7 @@ func TestDeleteClusterMsiCertificate(t *testing.T) { doc: &api.OpenShiftClusterDocument{ ID: mockGuid, OpenShiftCluster: &api.OpenShiftCluster{ - ManagedServiceIdentity: &api.ManagedServiceIdentity{}, + Identity: &api.ManagedServiceIdentity{}, }, }, }, @@ -400,7 +400,7 @@ func TestDeleteClusterMsiCertificate(t *testing.T) { doc: &api.OpenShiftClusterDocument{ ID: mockGuid, OpenShiftCluster: &api.OpenShiftCluster{ - ManagedServiceIdentity: &api.ManagedServiceIdentity{ + Identity: &api.ManagedServiceIdentity{ UserAssignedIdentities: map[string]api.UserAssignedIdentity{}, }, }, @@ -411,7 +411,7 @@ func TestDeleteClusterMsiCertificate(t *testing.T) { doc: &api.OpenShiftClusterDocument{ ID: mockGuid, OpenShiftCluster: &api.OpenShiftCluster{ - ManagedServiceIdentity: &api.ManagedServiceIdentity{ + Identity: &api.ManagedServiceIdentity{ UserAssignedIdentities: map[string]api.UserAssignedIdentity{ "not a valid MI resource ID": { ClientID: mockGuid, @@ -428,7 +428,7 @@ func TestDeleteClusterMsiCertificate(t *testing.T) { doc: &api.OpenShiftClusterDocument{ ID: mockGuid, OpenShiftCluster: &api.OpenShiftCluster{ - ManagedServiceIdentity: &api.ManagedServiceIdentity{ + Identity: &api.ManagedServiceIdentity{ UserAssignedIdentities: map[string]api.UserAssignedIdentity{ miResourceId: { ClientID: mockGuid, @@ -448,7 +448,7 @@ func TestDeleteClusterMsiCertificate(t *testing.T) { doc: &api.OpenShiftClusterDocument{ ID: mockGuid, OpenShiftCluster: &api.OpenShiftCluster{ - ManagedServiceIdentity: &api.ManagedServiceIdentity{ + Identity: &api.ManagedServiceIdentity{ UserAssignedIdentities: map[string]api.UserAssignedIdentity{ miResourceId: { ClientID: mockGuid, diff --git a/pkg/frontend/openshiftcluster_putorpatch.go b/pkg/frontend/openshiftcluster_putorpatch.go index aed7d9b6396..e802b5f3518 100644 --- a/pkg/frontend/openshiftcluster_putorpatch.go +++ b/pkg/frontend/openshiftcluster_putorpatch.go @@ -351,7 +351,7 @@ func validateIdentityUrl(cluster *api.OpenShiftCluster, identityURL string) erro return fmt.Errorf("%w: %s", errMissingIdentityParameter, "identity URL") } - cluster.ManagedServiceIdentity.IdentityURL = identityURL + cluster.Identity.IdentityURL = identityURL return nil } @@ -361,7 +361,7 @@ func validateIdentityTenantID(cluster *api.OpenShiftCluster, identityTenantID st return fmt.Errorf("%w: %s", errMissingIdentityParameter, "identity tenant ID") } - cluster.ManagedServiceIdentity.TenantID = identityTenantID + cluster.Identity.TenantID = identityTenantID return nil } diff --git a/pkg/frontend/openshiftcluster_putorpatch_test.go b/pkg/frontend/openshiftcluster_putorpatch_test.go index b5325cf8fc7..d613b761704 100644 --- a/pkg/frontend/openshiftcluster_putorpatch_test.go +++ b/pkg/frontend/openshiftcluster_putorpatch_test.go @@ -1945,7 +1945,7 @@ func TestPutOrPatchOpenShiftCluster(t *testing.T) { name: "create a new workload identity cluster", request: func(oc *v20240812preview.OpenShiftCluster) { oc.Properties.ClusterProfile.Version = defaultVersion - oc.ManagedServiceIdentity = &v20240812preview.ManagedServiceIdentity{ + oc.Identity = &v20240812preview.ManagedServiceIdentity{ Type: "UserAssigned", UserAssignedIdentities: map[string]v20240812preview.UserAssignedIdentity{ mockMiResourceId: {}, @@ -2008,7 +2008,7 @@ func TestPutOrPatchOpenShiftCluster(t *testing.T) { ID: testdatabase.GetResourcePath(mockGuid, "resourceName"), Name: "resourceName", Type: "Microsoft.RedHatOpenShift/openShiftClusters", - ManagedServiceIdentity: &api.ManagedServiceIdentity{ + Identity: &api.ManagedServiceIdentity{ Type: "UserAssigned", UserAssignedIdentities: map[string]api.UserAssignedIdentity{ mockMiResourceId: {}, @@ -2082,7 +2082,7 @@ func TestPutOrPatchOpenShiftCluster(t *testing.T) { Name: "resourceName", Type: "Microsoft.RedHatOpenShift/openShiftClusters", SystemData: &v20240812preview.SystemData{}, - ManagedServiceIdentity: &v20240812preview.ManagedServiceIdentity{ + Identity: &v20240812preview.ManagedServiceIdentity{ Type: "UserAssigned", UserAssignedIdentities: map[string]v20240812preview.UserAssignedIdentity{ mockMiResourceId: {}, @@ -3623,11 +3623,11 @@ func TestValidateIdentityUrl(t *testing.T) { { name: "pass - identity URL passed", cluster: &api.OpenShiftCluster{ - ManagedServiceIdentity: &api.ManagedServiceIdentity{}, + Identity: &api.ManagedServiceIdentity{}, }, identityURL: "http://foo.bar", expected: &api.OpenShiftCluster{ - ManagedServiceIdentity: &api.ManagedServiceIdentity{ + Identity: &api.ManagedServiceIdentity{ IdentityURL: "http://foo.bar", }, }, @@ -3664,11 +3664,11 @@ func TestValidateIdentityTenantID(t *testing.T) { { name: "pass - tenantID passed", cluster: &api.OpenShiftCluster{ - ManagedServiceIdentity: &api.ManagedServiceIdentity{}, + Identity: &api.ManagedServiceIdentity{}, }, tenantID: "bogus", expected: &api.OpenShiftCluster{ - ManagedServiceIdentity: &api.ManagedServiceIdentity{ + Identity: &api.ManagedServiceIdentity{ TenantID: "bogus", }, }, diff --git a/pkg/validate/dynamic/platformworkloadidentityprofile.go b/pkg/validate/dynamic/platformworkloadidentityprofile.go index ff1ad6ed30c..9970db6ad40 100644 --- a/pkg/validate/dynamic/platformworkloadidentityprofile.go +++ b/pkg/validate/dynamic/platformworkloadidentityprofile.go @@ -75,7 +75,7 @@ func (dv *dynamic) ValidatePlatformWorkloadIdentityProfile(ctx context.Context, } func (dv *dynamic) validateClusterMSI(ctx context.Context, oc *api.OpenShiftCluster, roleDefinitions armauthorization.RoleDefinitionsClient) error { - for resourceID, identity := range oc.ManagedServiceIdentity.UserAssignedIdentities { + for resourceID, identity := range oc.Identity.UserAssignedIdentities { _, err := azure.ParseResourceID(resourceID) if err != nil { return err diff --git a/pkg/validate/dynamic/platformworkloadidentityprofile_test.go b/pkg/validate/dynamic/platformworkloadidentityprofile_test.go index 8e6dde7779a..f610759f8f3 100644 --- a/pkg/validate/dynamic/platformworkloadidentityprofile_test.go +++ b/pkg/validate/dynamic/platformworkloadidentityprofile_test.go @@ -192,7 +192,7 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { Version: openShiftVersion, }, }, - ManagedServiceIdentity: &api.ManagedServiceIdentity{ + Identity: &api.ManagedServiceIdentity{ UserAssignedIdentities: clusterMSI, }, }, @@ -223,7 +223,7 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { Version: openShiftVersion, }, }, - ManagedServiceIdentity: &api.ManagedServiceIdentity{ + Identity: &api.ManagedServiceIdentity{ UserAssignedIdentities: clusterMSI, }, }, @@ -257,7 +257,7 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { Version: openShiftVersion, }, }, - ManagedServiceIdentity: &api.ManagedServiceIdentity{ + Identity: &api.ManagedServiceIdentity{ UserAssignedIdentities: clusterMSI, }, }, @@ -292,7 +292,7 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { Version: openShiftVersion, }, }, - ManagedServiceIdentity: &api.ManagedServiceIdentity{ + Identity: &api.ManagedServiceIdentity{ UserAssignedIdentities: clusterMSI, }, }, @@ -315,7 +315,7 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { Version: openShiftVersion, }, }, - ManagedServiceIdentity: &api.ManagedServiceIdentity{ + Identity: &api.ManagedServiceIdentity{ UserAssignedIdentities: clusterMSI, }, }, @@ -338,7 +338,7 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { Version: openShiftVersion, }, }, - ManagedServiceIdentity: &api.ManagedServiceIdentity{ + Identity: &api.ManagedServiceIdentity{ UserAssignedIdentities: clusterMSI, }, }, @@ -356,7 +356,7 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { Version: openShiftVersion, }, }, - ManagedServiceIdentity: &api.ManagedServiceIdentity{ + Identity: &api.ManagedServiceIdentity{ UserAssignedIdentities: clusterMSI, }, }, @@ -381,7 +381,7 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { Version: openShiftVersion, }, }, - ManagedServiceIdentity: &api.ManagedServiceIdentity{ + Identity: &api.ManagedServiceIdentity{ UserAssignedIdentities: clusterMSI, }, }, @@ -399,7 +399,7 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { Version: openShiftVersion, }, }, - ManagedServiceIdentity: &api.ManagedServiceIdentity{ + Identity: &api.ManagedServiceIdentity{ UserAssignedIdentities: map[string]api.UserAssignedIdentity{ "invalidUUID": {}, }, @@ -419,7 +419,7 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { Version: openShiftVersion, }, }, - ManagedServiceIdentity: &api.ManagedServiceIdentity{ + Identity: &api.ManagedServiceIdentity{ UserAssignedIdentities: clusterMSI, }, }, @@ -444,7 +444,7 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { }, }, }, - ManagedServiceIdentity: &api.ManagedServiceIdentity{ + Identity: &api.ManagedServiceIdentity{ UserAssignedIdentities: clusterMSI, }, }, @@ -465,7 +465,7 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { Version: openShiftVersion, }, }, - ManagedServiceIdentity: &api.ManagedServiceIdentity{ + Identity: &api.ManagedServiceIdentity{ UserAssignedIdentities: clusterMSI, }, }, @@ -494,7 +494,7 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { Version: openShiftVersion, }, }, - ManagedServiceIdentity: &api.ManagedServiceIdentity{ + Identity: &api.ManagedServiceIdentity{ UserAssignedIdentities: clusterMSI, }, }, @@ -523,7 +523,7 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { Version: openShiftVersion, }, }, - ManagedServiceIdentity: &api.ManagedServiceIdentity{ + Identity: &api.ManagedServiceIdentity{ UserAssignedIdentities: clusterMSI, }, },