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/hack/build-client.sh b/hack/build-client.sh index e820326d3c5..1045ec75e73 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() { @@ -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 \ diff --git a/pkg/api/admin/openshiftcluster.go b/pkg/api/admin/openshiftcluster.go index 2a209eb4bb5..5a96f208bd9 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:"managedServiceIdentity,omitempty"` } // OpenShiftClusterProperties represents an OpenShift cluster's properties. @@ -419,8 +419,8 @@ 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"` + 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 @@ -428,25 +428,49 @@ type UpgradeableTo string // PlatformWorkloadIdentity stores information representing a single workload identity. type PlatformWorkloadIdentity struct { - 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"` +// 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"` + + // The PrincipalID of the ClusterUserAssignedIdentity resource 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 +// The ManagedServiceIdentity type. +type ManagedServiceIdentityType string + +// ManagedServiceIdentityType constants +const ( + ManagedServiceIdentityNone ManagedServiceIdentityType = "None" + ManagedServiceIdentitySystemAssigned ManagedServiceIdentityType = "SystemAssigned" + ManagedServiceIdentityUserAssigned ManagedServiceIdentityType = "UserAssigned" + ManagedServiceIdentitySystemAssignedUserAssigned ManagedServiceIdentityType = "SystemAssigned,UserAssigned" +) + +// 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"` + + // The TenantID provided by the MSI RP + TenantID string `json:"tenantId,omitempty" swagger:"readOnly"` -// Identity stores information about the cluster MSI(s) in a workload identity cluster. -type Identity struct { - Type string `json:"type,omitempty"` - UserAssignedIdentities UserAssignedIdentities `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 beabd0400bc..10de0898f9b 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 = 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 @@ -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 + } } } @@ -254,10 +257,10 @@ func (c openShiftClusterConverter) ToInternal(_oc interface{}, out *api.OpenShif } } if oc.Identity != nil { - out.Identity.Type = 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 @@ -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 @@ -418,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.Identity != nil { + for i := range oc.Identity.UserAssignedIdentities { + if entry, ok := oc.Identity.UserAssignedIdentities[i]; ok { + entry.ClientID = "" + entry.PrincipalID = "" + oc.Identity.UserAssignedIdentities[i] = entry + } + } + } } diff --git a/pkg/api/openshiftcluster.go b/pkg/api/openshiftcluster.go index 4b47190ff0c..95804a89b73 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:"managedServiceIdentity,omitempty"` //this property is used in the enrichers. Should not be marshalled Lock sync.Mutex `json:"-"` @@ -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,29 +828,54 @@ type UpgradeableTo string type PlatformWorkloadIdentity struct { MissingFields - 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 { +// UserAssignedIdentity stores information about a user-assigned managed identity in a predefined format required by Microsoft's Managed Identity team. +type UserAssignedIdentity struct { MissingFields - ClientID string `json:"clientId,omitempty"` - PrincipalID string `json:"principalId,omitempty"` + // The ClientID of the UserAssignedIdentity resource + ClientID string `json:"clientId,omitempty" swagger:"readOnly"` + + // The PrincipalID of the UserAssignedIdentity resource + PrincipalID string `json:"principalId,omitempty" swagger:"readOnly"` } -// UserAssignedIdentities stores a mapping from resource IDs of managed identities to their client/principal IDs. -type UserAssignedIdentities map[string]ClusterUserAssignedIdentity +// The ManagedServiceIdentity type. +type ManagedServiceIdentityType string + +// ManagedServiceIdentityType constants +const ( + 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 - Type string `json:"type,omitempty"` - UserAssignedIdentities UserAssignedIdentities `json:"userAssignedIdentities,omitempty"` - IdentityURL string `json:"identityURL,omitempty" mutable:"true"` - TenantID string `json:"tenantId,omitempty" mutable:"true"` + // 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 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"` + + // The TenantID provided by the MSI RP + TenantID string `json:"tenantId,omitempty" swagger:"readOnly"` } diff --git a/pkg/api/openshiftcluster_test.go b/pkg/api/openshiftcluster_test.go index a7a6e7f5134..d80cd55b389 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{}, + Identity: &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{}, + Identity: &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{}, + Identity: &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{}, + Identity: &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{}, + Identity: &ManagedServiceIdentity{}, }, wantResult: false, }, { name: "false - cluster doc has non-nil Identity but empty Identity.UserAssignedIdentities", oc: &OpenShiftCluster{ - Identity: &Identity{ - UserAssignedIdentities: UserAssignedIdentities{}, + Identity: &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{}, + Identity: &ManagedServiceIdentity{ + UserAssignedIdentities: map[string]UserAssignedIdentity{ + miResourceId: {}, }, }, }, diff --git a/pkg/api/v20240812preview/openshiftcluster.go b/pkg/api/v20240812preview/openshiftcluster.go index 1a5ba48a6d6..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. - Identity *Identity `json:"identity,omitempty"` + Identity *ManagedServiceIdentity `json:"managedServiceIdentity,omitempty"` } // UsesWorkloadIdentity checks whether a cluster is a Workload Identity cluster or a Service Principal cluster @@ -295,8 +295,8 @@ 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"` + UpgradeableTo *UpgradeableTo `json:"upgradeableTo,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,25 +304,49 @@ type UpgradeableTo string // PlatformWorkloadIdentity stores information representing a single workload identity. type PlatformWorkloadIdentity struct { - 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"` - PrincipalID string `json:"principalId,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 UserAssignedIdentity resource + PrincipalID string `json:"principalId,omitempty" swagger:"readOnly"` } -// UserAssignedIdentities stores a mapping from resource IDs of managed identities to their client/principal IDs. -type UserAssignedIdentities map[string]ClusterUserAssignedIdentity +// The ManagedServiceIdentity type. +type ManagedServiceIdentityType string + +// ManagedServiceIdentityType constants +const ( + ManagedServiceIdentityNone ManagedServiceIdentityType = "None" + ManagedServiceIdentitySystemAssigned ManagedServiceIdentityType = "SystemAssigned" + ManagedServiceIdentityUserAssigned ManagedServiceIdentityType = "UserAssigned" + ManagedServiceIdentitySystemAssignedUserAssigned ManagedServiceIdentityType = "SystemAssigned,UserAssigned" +) + +// 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"` + + // The TenantID provided by the MSI RP + TenantID string `json:"tenantId,omitempty" swagger:"readOnly"` -// Identity stores information about the cluster MSI(s) in a workload identity cluster. -type Identity struct { - Type string `json:"type,omitempty"` - UserAssignedIdentities UserAssignedIdentities `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 c4a269c8c95..6359fa5aad0 100644 --- a/pkg/api/v20240812preview/openshiftcluster_convert.go +++ b/pkg/api/v20240812preview/openshiftcluster_convert.go @@ -129,11 +129,11 @@ func (c openShiftClusterConverter) ToExternal(oc *api.OpenShiftCluster) interfac } if oc.Identity != nil { - out.Identity = &Identity{} - out.Identity.Type = oc.Identity.Type - out.Identity.UserAssignedIdentities = make(map[string]ClusterUserAssignedIdentity, len(oc.Identity.UserAssignedIdentities)) + 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 ClusterUserAssignedIdentity + var temp UserAssignedIdentity temp.ClientID = oc.Identity.UserAssignedIdentities[k].ClientID temp.PrincipalID = oc.Identity.UserAssignedIdentities[k].PrincipalID out.Identity.UserAssignedIdentities[k] = temp @@ -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 { + 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 } } @@ -209,11 +212,11 @@ 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.UserAssignedIdentities = make(map[string]api.ClusterUserAssignedIdentity, len(oc.Identity.UserAssignedIdentities)) + 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.ClusterUserAssignedIdentity + var temp api.UserAssignedIdentity temp.ClientID = oc.Identity.UserAssignedIdentities[k].ClientID temp.PrincipalID = oc.Identity.UserAssignedIdentities[k].PrincipalID out.Identity.UserAssignedIdentities[k] = temp @@ -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 { + 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 } } @@ -360,8 +366,20 @@ 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 + } + } + } + if oc.Identity != nil { + for i := range oc.Identity.UserAssignedIdentities { + if entry, ok := oc.Identity.UserAssignedIdentities[i]; ok { + entry.ClientID = "" + entry.PrincipalID = "" + oc.Identity.UserAssignedIdentities[i] = entry + } } } } diff --git a/pkg/api/v20240812preview/openshiftcluster_example.go b/pkg/api/v20240812preview/openshiftcluster_example.go index 3d12679deee..4422b8d4cb3 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: "", }, }, } @@ -40,9 +39,9 @@ func ExampleOpenShiftClusterPutParameter() interface{} { oc.ID = "" oc.Name = "" oc.Type = "" - oc.Identity = &Identity{ + oc.Identity = &ManagedServiceIdentity{ Type: "", - UserAssignedIdentities: map[string]ClusterUserAssignedIdentity{}, + UserAssignedIdentities: map[string]UserAssignedIdentity{}, } oc.Properties.ProvisioningState = "" oc.Properties.ClusterProfile.Version = "" @@ -59,12 +58,11 @@ func ExampleOpenShiftClusterPutParameter() interface{} { }, } oc.Properties.PlatformWorkloadIdentityProfile = &PlatformWorkloadIdentityProfile{ - PlatformWorkloadIdentities: []PlatformWorkloadIdentity{ - { - OperatorName: "", - ResourceID: "", - ClientID: "", - ObjectID: "", + PlatformWorkloadIdentities: map[string]PlatformWorkloadIdentity{ + "": { + ResourceID: "", + ClientID: "", + ObjectID: "", }, }, } @@ -91,12 +89,11 @@ func ExampleOpenShiftClusterGetResponse() interface{} { }, } oc.Properties.PlatformWorkloadIdentityProfile = &PlatformWorkloadIdentityProfile{ - PlatformWorkloadIdentities: []PlatformWorkloadIdentity{ - { - OperatorName: "", - ResourceID: "", - ClientID: "", - ObjectID: "", + PlatformWorkloadIdentities: map[string]PlatformWorkloadIdentity{ + "": { + ResourceID: "", + ClientID: "", + ObjectID: "", }, }, } diff --git a/pkg/api/v20240812preview/openshiftcluster_validatestatic.go b/pkg/api/v20240812preview/openshiftcluster_validatestatic.go index 31816bb18ee..306258f5e2e 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 _, i := range current.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities { - currentIdentities[i.OperatorName] = i - } - - updateIdentities := map[string]PlatformWorkloadIdentity{} - for _, i := range oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities { - updateIdentities[i.OperatorName] = 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,27 +468,19 @@ func (sv openShiftClusterStaticValidator) validatePlatformWorkloadIdentityProfil return nil } - // collect operator names to check for duplicates - 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) - } - - if p.OperatorName == "" { - return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, fmt.Sprintf("%s.PlatformWorkloadIdentities[%d].resourceID", path, n), "Operator name is empty.") + return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, fmt.Sprintf("%s.PlatformWorkloadIdentities[%s].resourceID", path, name), "ResourceID %s formatted incorrectly.", p.ResourceID) } - if _, found := operators[p.OperatorName]; found { - return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, fmt.Sprintf("%s.platformWorkloadIdentities", path), "Operator identities cannot have duplicate names.") + if name == "" { + return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, fmt.Sprintf("%s.PlatformWorkloadIdentities[%s].resourceID", path, name), "Operator name is empty.") } - operators[p.OperatorName] = 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 3a0ac36f347..beccd484eb6 100644 --- a/pkg/api/v20240812preview/openshiftcluster_validatestatic_test.go +++ b/pkg/api/v20240812preview/openshiftcluster_validatestatic_test.go @@ -45,17 +45,12 @@ 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", - } - clusterIdentity1 = ClusterUserAssignedIdentity{ - ClientID: "11111111-1111-1111-1111-111111111111", - PrincipalID: "SOMETHING", + ResourceID: "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/a-fake-group/providers/Microsoft.RedHatOpenShift/userAssignedIdentities/fake-cluster-name-two", } + clusterIdentity1 = UserAssignedIdentity{} ) func getResourceID(clusterName string) string { @@ -208,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 { @@ -1245,12 +1240,12 @@ 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.Identity = &Identity{ - UserAssignedIdentities: UserAssignedIdentities{ + oc.Identity = &ManagedServiceIdentity{ + UserAssignedIdentities: map[string]UserAssignedIdentity{ "first": { ClientID: "11111111-1111-1111-1111-111111111111", PrincipalID: "SOMETHING", @@ -1263,8 +1258,8 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin { name: "invalid resourceID", modify: func(oc *OpenShiftCluster) { - oc.Identity = &Identity{ - UserAssignedIdentities: UserAssignedIdentities{ + oc.Identity = &ManagedServiceIdentity{ + UserAssignedIdentities: map[string]UserAssignedIdentity{ "first": { ClientID: "11111111-1111-1111-1111-111111111111", PrincipalID: "SOMETHING", @@ -1272,47 +1267,45 @@ 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", }, }, } oc.Properties.ServicePrincipalProfile = nil - oc.Identity = &Identity{ - UserAssignedIdentities: UserAssignedIdentities{ + oc.Identity = &ManagedServiceIdentity{ + UserAssignedIdentities: map[string]UserAssignedIdentity{ "first": clusterIdentity1, }, } }, - 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.Identity = &Identity{ - UserAssignedIdentities: UserAssignedIdentities{ + oc.Identity = &ManagedServiceIdentity{ + UserAssignedIdentities: map[string]UserAssignedIdentity{ "first": clusterIdentity1, }, } @@ -1326,8 +1319,8 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin { name: "cluster identity missing platform workload identity", modify: func(oc *OpenShiftCluster) { - oc.Identity = &Identity{ - UserAssignedIdentities: UserAssignedIdentities{ + oc.Identity = &ManagedServiceIdentity{ + UserAssignedIdentities: map[string]UserAssignedIdentity{ "first": clusterIdentity1, }, } @@ -1338,10 +1331,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,36 +1343,33 @@ 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 - oc.Identity = &Identity{} + 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.Identity = &Identity{ - UserAssignedIdentities: UserAssignedIdentities{ + oc.Identity = &ManagedServiceIdentity{ + UserAssignedIdentities: map[string]UserAssignedIdentity{ "first": clusterIdentity1, }, } 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", @@ -1394,9 +1382,9 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin { name: "valid UpgradeableTo value", modify: func(oc *OpenShiftCluster) { - oc.Identity = &Identity{ - UserAssignedIdentities: UserAssignedIdentities{ - "Dummy": ClusterUserAssignedIdentity{}, + oc.Identity = &ManagedServiceIdentity{ + UserAssignedIdentities: map[string]UserAssignedIdentity{ + "Dummy": {}, }, } oc.Properties.ServicePrincipalProfile = nil @@ -1408,9 +1396,9 @@ func TestOpenShiftClusterStaticValidatePlatformWorkloadIdentityProfile(t *testin { name: "invalid UpgradeableTo value", modify: func(oc *OpenShiftCluster) { - oc.Identity = &Identity{ - UserAssignedIdentities: UserAssignedIdentities{ - "Dummy": ClusterUserAssignedIdentity{}, + oc.Identity = &ManagedServiceIdentity{ + UserAssignedIdentities: map[string]UserAssignedIdentity{ + "Dummy": {}, }, } oc.Properties.ServicePrincipalProfile = nil @@ -1420,27 +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: []PlatformWorkloadIdentity{ - platformIdentity1, - { - OperatorName: platformIdentity1.OperatorName, - ResourceID: "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/a-fake-group/providers/Microsoft.RedHatOpenShift/userAssignedIdentities/fake-cluster-name-three", - }, - }, - } - oc.Identity = &Identity{ - UserAssignedIdentities: UserAssignedIdentities{ - "first": clusterIdentity1, - }, - } - oc.Properties.ServicePrincipalProfile = nil - }, - wantErr: "400: InvalidParameter: properties.platformWorkloadIdentityProfile.platformWorkloadIdentities: Operator identities cannot have duplicate names.", - }, } updateTests := []*validateTest{ @@ -1448,38 +1415,41 @@ 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.Identity = &Identity{ - UserAssignedIdentities: UserAssignedIdentities{ + oc.Identity = &ManagedServiceIdentity{ + UserAssignedIdentities: map[string]UserAssignedIdentity{ "first": clusterIdentity1, }, } 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.Identity = &Identity{ - UserAssignedIdentities: UserAssignedIdentities{ + oc.Identity = &ManagedServiceIdentity{ + UserAssignedIdentities: map[string]UserAssignedIdentity{ "first": clusterIdentity1, }, } oc.Properties.ServicePrincipalProfile = nil }, modify: func(oc *OpenShiftCluster) { - oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[0].OperatorName = "FAKE-OPERATOR-OTHER" + 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.", }, @@ -1487,19 +1457,19 @@ 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.Identity = &Identity{ - UserAssignedIdentities: UserAssignedIdentities{ + oc.Identity = &ManagedServiceIdentity{ + UserAssignedIdentities: map[string]UserAssignedIdentity{ "first": clusterIdentity1, }, } oc.Properties.ServicePrincipalProfile = nil }, modify: func(oc *OpenShiftCluster) { - oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[0].ResourceID = platformIdentity2.ResourceID + oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities["FAKE-OPERATOR"] = platformIdentity2 }, wantErr: "400: PropertyChangeNotAllowed: properties.platformWorkloadIdentityProfile.platformWorkloadIdentities: Operator identity resource ID cannot be changed.", }, @@ -1507,22 +1477,22 @@ 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.Identity = &Identity{ - UserAssignedIdentities: UserAssignedIdentities{ + oc.Identity = &ManagedServiceIdentity{ + UserAssignedIdentities: map[string]UserAssignedIdentity{ "first": clusterIdentity1, }, } 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,20 +1500,22 @@ 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.Identity = &Identity{ - UserAssignedIdentities: UserAssignedIdentities{ + oc.Identity = &ManagedServiceIdentity{ + UserAssignedIdentities: map[string]UserAssignedIdentity{ "first": clusterIdentity1, }, } oc.Properties.ServicePrincipalProfile = nil }, modify: func(oc *OpenShiftCluster) { - oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[0].OperatorName = platformIdentity2.OperatorName - oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities[0].ResourceID = platformIdentity2.ResourceID + 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.", }, @@ -1551,49 +1523,25 @@ 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.Identity = &Identity{ - UserAssignedIdentities: UserAssignedIdentities{ + oc.Identity = &ManagedServiceIdentity{ + UserAssignedIdentities: map[string]UserAssignedIdentity{ "first": clusterIdentity1, }, } 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.", }, - { - name: "invalid duplicate identity", - current: func(oc *OpenShiftCluster) { - oc.Properties.PlatformWorkloadIdentityProfile = &PlatformWorkloadIdentityProfile{ - PlatformWorkloadIdentities: []PlatformWorkloadIdentity{ - platformIdentity1, - }, - } - oc.Identity = &Identity{ - UserAssignedIdentities: UserAssignedIdentities{ - "first": clusterIdentity1, - }, - } - oc.Properties.ServicePrincipalProfile = nil - }, - modify: func(oc *OpenShiftCluster) { - oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities = append(oc.Properties.PlatformWorkloadIdentityProfile.PlatformWorkloadIdentities, - PlatformWorkloadIdentity{ - OperatorName: platformIdentity1.OperatorName, - 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/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 bb85b7b6fd8..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 @@ -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,14 +147,20 @@ 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"` + // Type - The type of the Identity resource. Possible values include: 'SystemAssigned', 'UserAssigned' + Type ResourceIdentityType `json:"type,omitempty"` + // PrincipalID - READ-ONLY; The PrincipalID of the Identity resource. + PrincipalID *string `json:"principalId,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"` } // 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.UserAssignedIdentities != nil { @@ -1516,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 the PlatformWorkloadIdentity is to be 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"` } @@ -1543,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/pkg/cluster/clustermsi_test.go b/pkg/cluster/clustermsi_test.go index ed1956ffcd1..add3a472078 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{}, + Identity: &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{ + Identity: &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{ + Identity: &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{ + Identity: &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{ + Identity: &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{}, + Identity: &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{}, + Identity: &api.ManagedServiceIdentity{ + UserAssignedIdentities: map[string]api.UserAssignedIdentity{ + miResourceId: {}, }, }, }, diff --git a/pkg/cluster/delete_test.go b/pkg/cluster/delete_test.go index a522216ba87..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{ - Identity: &api.Identity{}, + Identity: &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{}, + Identity: &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{ + Identity: &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{ + Identity: &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{ + Identity: &api.ManagedServiceIdentity{ + UserAssignedIdentities: map[string]api.UserAssignedIdentity{ + miResourceId: { ClientID: mockGuid, PrincipalID: mockGuid, }, 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..6aac7e64027 100644 --- a/pkg/cluster/deploybaseresources_additional_test.go +++ b/pkg/cluster/deploybaseresources_additional_test.go @@ -54,12 +54,11 @@ func TestDenyAssignment(t *testing.T) { ResourceGroupID: "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-cluster", }, 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", }, }, }, 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..8c93fdfde51 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,14 +262,12 @@ func TestGeneratePlatformWorkloadIdentitySecrets(t *testing.T) { }, { name: "ignores identities with no role 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{}, diff --git a/pkg/frontend/openshiftcluster_putorpatch_test.go b/pkg/frontend/openshiftcluster_putorpatch_test.go index d7e32ae7d9a..d613b761704 100644 --- a/pkg/frontend/openshiftcluster_putorpatch_test.go +++ b/pkg/frontend/openshiftcluster_putorpatch_test.go @@ -1945,45 +1945,37 @@ 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.Identity = &v20240812preview.ManagedServiceIdentity{ Type: "UserAssigned", - UserAssignedIdentities: v20240812preview.UserAssignedIdentities{ - mockMiResourceId: v20240812preview.ClusterUserAssignedIdentity{}, + UserAssignedIdentities: map[string]v20240812preview.UserAssignedIdentity{ + mockMiResourceId: {}, }, } 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, }, }, } @@ -2016,10 +2008,10 @@ 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: api.UserAssignedIdentities{ - mockMiResourceId: api.ClusterUserAssignedIdentity{}, + UserAssignedIdentities: map[string]api.UserAssignedIdentity{ + mockMiResourceId: {}, }, IdentityURL: middleware.MockIdentityURL, TenantID: mockGuid, @@ -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, }, }, }, @@ -2098,10 +2082,10 @@ func TestPutOrPatchOpenShiftCluster(t *testing.T) { Name: "resourceName", Type: "Microsoft.RedHatOpenShift/openShiftClusters", SystemData: &v20240812preview.SystemData{}, - Identity: &v20240812preview.Identity{ + Identity: &v20240812preview.ManagedServiceIdentity{ Type: "UserAssigned", - UserAssignedIdentities: v20240812preview.UserAssignedIdentities{ - mockMiResourceId: v20240812preview.ClusterUserAssignedIdentity{}, + UserAssignedIdentities: map[string]v20240812preview.UserAssignedIdentity{ + mockMiResourceId: {}, }, }, Properties: v20240812preview.OpenShiftClusterProperties{ @@ -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, }, }, }, @@ -3647,11 +3623,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 +3664,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/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..0952234b985 100644 --- a/pkg/operator/deploy/deploy_test.go +++ b/pkg/operator/deploy/deploy_test.go @@ -635,10 +635,9 @@ func TestGenerateOperatorIdentitySecret(t *testing.T) { Location: "eastus1", Properties: api.OpenShiftClusterProperties{ PlatformWorkloadIdentityProfile: &api.PlatformWorkloadIdentityProfile{ - PlatformWorkloadIdentities: []api.PlatformWorkloadIdentity{ - { - OperatorName: pkgoperator.OperatorIdentityName, - ClientID: "11111111-1111-1111-1111-111111111111", + PlatformWorkloadIdentities: map[string]api.PlatformWorkloadIdentity{ + pkgoperator.OperatorIdentityName: { + ClientID: "11111111-1111-1111-1111-111111111111", }, }, }, diff --git a/pkg/swagger/examples.go b/pkg/swagger/examples.go index 194e7bc469a..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 { @@ -37,22 +39,27 @@ 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/" + 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", 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", @@ -174,6 +181,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 b031ac91eb0..cdbbf31c97d 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,41 +292,43 @@ 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"}, + xmsEnum: []string{"ProvisioningState", "PreconfiguredNSG", "EncryptionAtHost", "FipsValidatedModules", "SoftwareDefinedNetwork", "Visibility", "OutboundType", "ManagedServiceIdentityType"}, xmsSecretList: []string{"kubeconfig", "kubeadminPassword", "secretResources"}, xmsIdentifiers: []string{}, - commonTypesVersion: "v3", + commonTypesVersion: "v6", systemData: true, clusterManager: true, installVersionList: true, kubeConfig: true, workerProfilesStatus: true, + roleSetList: true, }, } 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 70a72a51573..a0fcbba1683 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 { @@ -207,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 { @@ -284,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 fbdae37bb31..9f0476dcecd 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/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..9cd9d5b9399 100644 --- a/pkg/validate/dynamic/dynamic_test.go +++ b/pkg/validate/dynamic/dynamic_test.go @@ -615,12 +615,11 @@ var ( platformIdentity1SubnetActionsNoIntersect = []string{ "Microsoft.Network/virtualNetworks/nointersect/nointersect", } - platformIdentities = []api.PlatformWorkloadIdentity{ - { - OperatorName: "Dummy", - ResourceID: platformIdentity1, - ClientID: dummyClientId, - ObjectID: dummyObjectId, + platformIdentities = map[string]api.PlatformWorkloadIdentity{ + "Dummy": { + ResourceID: platformIdentity1, + ClientID: dummyClientId, + ObjectID: dummyObjectId, }, } validSubnetsAuthorizationDecisions = remotepdp.AuthorizationDecisionResponse{ @@ -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 6534221fd2a..f610759f8f3 100644 --- a/pkg/validate/dynamic/platformworkloadidentityprofile_test.go +++ b/pkg/validate/dynamic/platformworkloadidentityprofile_test.go @@ -135,20 +135,17 @@ 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", - ResourceID: platformIdentity1, + platformWorkloadIdentities := map[string]api.PlatformWorkloadIdentity{ + "Dummy2": { + ResourceID: platformIdentity1, }, - { - OperatorName: "Dummy1", - ResourceID: platformIdentity1, + "Dummy1": { + ResourceID: platformIdentity1, }, } - desiredPlatformWorkloadIdentities := []api.PlatformWorkloadIdentity{ - { - OperatorName: "Dummy1", - ResourceID: platformIdentity1, + desiredPlatformWorkloadIdentities := map[string]api.PlatformWorkloadIdentity{ + "Dummy1": { + ResourceID: platformIdentity1, }, } desiredPlatformWorkloadIdentitiesMap := map[string]api.PlatformWorkloadIdentityRole{ @@ -156,8 +153,8 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { OperatorName: "Dummy1", }, } - clusterMSI := api.UserAssignedIdentities{ - msiResourceID: api.ClusterUserAssignedIdentity{ + clusterMSI := map[string]api.UserAssignedIdentity{ + msiResourceID: { ClientID: dummyClientId, PrincipalID: dummyObjectId, }, @@ -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,10 +182,9 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { oc: &api.OpenShiftCluster{ Properties: api.OpenShiftClusterProperties{ PlatformWorkloadIdentityProfile: &api.PlatformWorkloadIdentityProfile{ - PlatformWorkloadIdentities: []api.PlatformWorkloadIdentity{ - { - OperatorName: "Dummy1", - ResourceID: platformIdentity1, + PlatformWorkloadIdentities: map[string]api.PlatformWorkloadIdentity{ + "Dummy1": { + ResourceID: platformIdentity1, }, }, }, @@ -196,7 +192,7 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { Version: openShiftVersion, }, }, - Identity: &api.Identity{ + Identity: &api.ManagedServiceIdentity{ UserAssignedIdentities: clusterMSI, }, }, @@ -227,7 +223,7 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { Version: openShiftVersion, }, }, - Identity: &api.Identity{ + Identity: &api.ManagedServiceIdentity{ UserAssignedIdentities: clusterMSI, }, }, @@ -240,10 +236,9 @@ 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", - ResourceID: platformIdentity1, + wantPlatformIdentities: map[string]api.PlatformWorkloadIdentity{ + "Dummy1": { + ResourceID: platformIdentity1, }, }, wantPlatformIdentitiesActionsMap: map[string][]string{ @@ -262,7 +257,7 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { Version: openShiftVersion, }, }, - Identity: &api.Identity{ + Identity: &api.ManagedServiceIdentity{ UserAssignedIdentities: clusterMSI, }, }, @@ -297,7 +292,7 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { Version: openShiftVersion, }, }, - Identity: &api.Identity{ + Identity: &api.ManagedServiceIdentity{ UserAssignedIdentities: clusterMSI, }, }, @@ -320,7 +315,7 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { Version: openShiftVersion, }, }, - Identity: &api.Identity{ + Identity: &api.ManagedServiceIdentity{ UserAssignedIdentities: clusterMSI, }, }, @@ -343,7 +338,7 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { Version: openShiftVersion, }, }, - Identity: &api.Identity{ + Identity: &api.ManagedServiceIdentity{ UserAssignedIdentities: clusterMSI, }, }, @@ -355,13 +350,13 @@ 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, }, }, - Identity: &api.Identity{ + Identity: &api.ManagedServiceIdentity{ UserAssignedIdentities: clusterMSI, }, }, @@ -373,14 +368,12 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { oc: &api.OpenShiftCluster{ Properties: api.OpenShiftClusterProperties{ PlatformWorkloadIdentityProfile: &api.PlatformWorkloadIdentityProfile{ - PlatformWorkloadIdentities: []api.PlatformWorkloadIdentity{ - { - OperatorName: "Dummy2", - ResourceID: platformIdentity1, + PlatformWorkloadIdentities: map[string]api.PlatformWorkloadIdentity{ + "Dummy2": { + ResourceID: platformIdentity1, }, - { - OperatorName: "Dummy3", - ResourceID: platformIdentity1, + "Dummy3": { + ResourceID: platformIdentity1, }, }, }, @@ -388,7 +381,7 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { Version: openShiftVersion, }, }, - Identity: &api.Identity{ + Identity: &api.ManagedServiceIdentity{ UserAssignedIdentities: clusterMSI, }, }, @@ -406,8 +399,8 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { Version: openShiftVersion, }, }, - Identity: &api.Identity{ - UserAssignedIdentities: api.UserAssignedIdentities{ + Identity: &api.ManagedServiceIdentity{ + UserAssignedIdentities: map[string]api.UserAssignedIdentity{ "invalidUUID": {}, }, }, @@ -426,7 +419,7 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { Version: openShiftVersion, }, }, - Identity: &api.Identity{ + Identity: &api.ManagedServiceIdentity{ UserAssignedIdentities: clusterMSI, }, }, @@ -441,19 +434,17 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { oc: &api.OpenShiftCluster{ Properties: api.OpenShiftClusterProperties{ PlatformWorkloadIdentityProfile: &api.PlatformWorkloadIdentityProfile{ - PlatformWorkloadIdentities: []api.PlatformWorkloadIdentity{ - { - OperatorName: "Dummy2", - ResourceID: "Invalid UUID", + PlatformWorkloadIdentities: map[string]api.PlatformWorkloadIdentity{ + "Dummy2": { + ResourceID: "Invalid UUID", }, - { - OperatorName: "Dummy1", - ResourceID: "Invalid UUID", + "Dummy1": { + ResourceID: "Invalid UUID", }, }, }, }, - Identity: &api.Identity{ + Identity: &api.ManagedServiceIdentity{ UserAssignedIdentities: clusterMSI, }, }, @@ -474,7 +465,7 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { Version: openShiftVersion, }, }, - Identity: &api.Identity{ + Identity: &api.ManagedServiceIdentity{ UserAssignedIdentities: clusterMSI, }, }, @@ -503,7 +494,7 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { Version: openShiftVersion, }, }, - Identity: &api.Identity{ + Identity: &api.ManagedServiceIdentity{ UserAssignedIdentities: clusterMSI, }, }, @@ -532,7 +523,7 @@ func TestValidatePlatformWorkloadIdentityProfile(t *testing.T) { Version: openShiftVersion, }, }, - Identity: &api.Identity{ + Identity: &api.ManagedServiceIdentity{ UserAssignedIdentities: clusterMSI, }, }, 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 f701a8ff322..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 @@ -108,6 +116,7 @@ OutboundType, PreconfiguredNSG, ProvisioningState, + ResourceIdentityType, Visibility, ) @@ -139,6 +148,10 @@ 'OperationList', 'PlatformWorkloadIdentity', 'PlatformWorkloadIdentityProfile', + 'PlatformWorkloadIdentityRole', + 'PlatformWorkloadIdentityRoleSet', + 'PlatformWorkloadIdentityRoleSetList', + 'PlatformWorkloadIdentityRoleSetUpdate', 'ProxyResource', 'Resource', 'Secret', @@ -160,5 +173,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 2141d61aa06..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 @@ -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) @@ -282,16 +282,31 @@ 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 - :ivar user_assigned_identities: UserAssignedIdentities stores a mapping from resource IDs of - managed identities to their client/principal IDs. + Variables are only populated by the server, and will be ignored when sending a request. + + :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: The PrincipalID of the Identity resource. + :vartype principal_id: str + :ivar tenant_id: The TenantID provided by the MSI RP. + :vartype tenant_id: str + :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] """ + _validation = { + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + } + _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}'}, } @@ -300,15 +315,19 @@ def __init__( **kwargs ): """ - :keyword type: - :paramtype type: str - :keyword user_assigned_identities: UserAssignedIdentities stores a mapping from resource IDs of - managed identities to their client/principal IDs. + :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: 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] """ super(Identity, self).__init__(**kwargs) self.type = kwargs.get('type', None) + self.principal_id = None + self.tenant_id = None self.user_assigned_identities = kwargs.get('user_assigned_identities', None) @@ -1269,13 +1288,13 @@ 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 the PlatformWorkloadIdentity is to be 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 """ @@ -1296,9 +1315,10 @@ def __init__( **kwargs ): """ - :keyword operator_name: + :keyword operator_name: The name of the operator the PlatformWorkloadIdentity is to be 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) @@ -1341,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 c9e8192bc92..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 @@ -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) @@ -311,36 +311,55 @@ 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 - :ivar user_assigned_identities: UserAssignedIdentities stores a mapping from resource IDs of - managed identities to their client/principal IDs. + Variables are only populated by the server, and will be ignored when sending a request. + + :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: The PrincipalID of the Identity resource. + :vartype principal_id: str + :ivar tenant_id: The TenantID provided by the MSI RP. + :vartype tenant_id: str + :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] """ + _validation = { + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + } + _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}'}, } def __init__( self, *, - type: Optional[str] = None, + type: Optional[Union[str, "ResourceIdentityType"]] = None, user_assigned_identities: Optional[Dict[str, "ClusterUserAssignedIdentity"]] = None, **kwargs ): """ - :keyword type: - :paramtype type: str - :keyword user_assigned_identities: UserAssignedIdentities stores a mapping from resource IDs of - managed identities to their client/principal IDs. + :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: 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] """ super(Identity, self).__init__(**kwargs) self.type = type + self.principal_id = None + self.tenant_id = None self.user_assigned_identities = user_assigned_identities @@ -1376,13 +1395,13 @@ 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 the PlatformWorkloadIdentity is to be 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 """ @@ -1406,9 +1425,10 @@ def __init__( **kwargs ): """ - :keyword operator_name: + :keyword operator_name: The name of the operator the PlatformWorkloadIdentity is to be 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) @@ -1454,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 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/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/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..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 @@ -1,7 +1,7 @@ { "parameters": { "api-version": "2024-08-12-preview", - "subscriptionId": "subscriptionId", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "resourceGroup", "resourceName": "resourceName", "parameters": { @@ -22,9 +22,9 @@ "clientSecret": "clientSecret" }, "platformWorkloadIdentityProfile": { - "platformWorkloadIdentities": [ - {} - ] + "platformWorkloadIdentities": { + "": {} + } }, "networkProfile": { "podCidr": "10.128.0.0/14", @@ -60,7 +60,7 @@ } ] }, - "identity": {} + "managedServiceIdentity": {} } }, "responses": { 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..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 @@ -1,7 +1,7 @@ { "parameters": { "api-version": "2024-08-12-preview", - "subscriptionId": "subscriptionId", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "resourceGroup", "resourceName": "resourceName" }, @@ -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 2c8ad20f1a5..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 @@ -1,7 +1,7 @@ { "parameters": { "api-version": "2024-08-12-preview", - "subscriptionId": "subscriptionId" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { @@ -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_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..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 @@ -1,7 +1,7 @@ { "parameters": { "api-version": "2024-08-12-preview", - "subscriptionId": "subscriptionId", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "resourceGroup" }, "responses": { @@ -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_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..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 @@ -1,7 +1,7 @@ { "parameters": { "api-version": "2024-08-12-preview", - "subscriptionId": "subscriptionId", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "resourceGroup", "resourceName": "resourceName", "parameters": { @@ -21,9 +21,9 @@ "clientSecret": "clientSecret" }, "platformWorkloadIdentityProfile": { - "platformWorkloadIdentities": [ - {} - ] + "platformWorkloadIdentities": { + "": {} + } }, "networkProfile": { "podCidr": "10.128.0.0/14", @@ -59,7 +59,7 @@ } ] }, - "identity": {} + "managedServiceIdentity": {} } }, "responses": { 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 new file mode 100644 index 00000000000..4d4a4b55585 --- /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": "00000000-0000-0000-0000-000000000000", + "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/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 956e475ccb3..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 @@ -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": { @@ -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/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/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": [ @@ -106,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": { @@ -146,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", @@ -199,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", @@ -252,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", @@ -305,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", @@ -358,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": { @@ -401,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", @@ -446,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", @@ -507,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", @@ -553,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", @@ -616,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", @@ -663,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", @@ -710,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", @@ -768,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", @@ -841,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", @@ -899,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", @@ -968,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", @@ -1026,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", @@ -1099,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", @@ -1157,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", @@ -1226,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", @@ -1284,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", @@ -1357,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", @@ -1415,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", @@ -1484,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", @@ -1542,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", @@ -1615,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", @@ -1673,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", @@ -1820,18 +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": { - "type": "string" - }, - "principalId": { - "type": "string" - } - } - }, "ConsoleProfile": { "description": "ConsoleProfile represents a console profile.", "type": "object", @@ -1899,18 +1930,6 @@ "modelAsString": true } }, - "Identity": { - "description": "Identity stores information about the cluster MSI(s) in a workload identity cluster.", - "type": "object", - "properties": { - "type": { - "type": "string" - }, - "userAssignedIdentities": { - "$ref": "#/definitions/UserAssignedIdentities" - } - } - }, "IngressProfile": { "description": "IngressProfile represents an ingress profile.", "type": "object", @@ -1954,7 +1973,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": { @@ -1964,7 +1983,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 } @@ -2007,7 +2026,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 } @@ -2024,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", @@ -2081,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": { @@ -2090,12 +2150,8 @@ "description": "The cluster properties.", "x-ms-client-flatten": true }, - "identity": { - "$ref": "#/definitions/Identity", - "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 } @@ -2221,12 +2277,12 @@ "description": "The cluster properties.", "x-ms-client-flatten": true }, - "identity": { - "$ref": "#/definitions/Identity", + "managedServiceIdentity": { + "$ref": "#/definitions/ManagedServiceIdentity", "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 } @@ -2237,7 +2293,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": { @@ -2247,7 +2303,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 } @@ -2333,17 +2389,17 @@ "description": "PlatformWorkloadIdentity stores information representing a single workload identity.", "type": "object", "properties": { - "operatorName": { - "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 } @@ -2357,11 +2413,101 @@ "$ref": "#/definitions/UpgradeableTo" }, "platformWorkloadIdentities": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/PlatformWorkloadIdentity" + } + } + } + }, + "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/v6/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/PlatformWorkloadIdentity" + "$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/v6/types.json#/definitions/systemData", + "description": "The system meta data relating to this resource.", + "readOnly": true } } }, @@ -2399,7 +2545,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 +2555,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 } @@ -2454,7 +2600,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 } @@ -2479,7 +2625,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": { @@ -2489,7 +2635,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 } @@ -2532,7 +2678,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 } @@ -2543,7 +2689,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": { @@ -2553,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 } @@ -2597,7 +2743,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 } @@ -2614,11 +2760,20 @@ "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.", + "UserAssignedIdentity": { + "description": "UserAssignedIdentity stores information about a user-assigned managed identity in a predefined format required by Microsoft's Managed Identity team.", "type": "object", - "additionalProperties": { - "$ref": "#/definitions/ClusterUserAssignedIdentity" + "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": { diff --git a/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/readme.md b/swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/readme.md index 257b14bf355..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 @@ -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 + +These settings apply only when `--tag=package-2023-11` is specified on the command line. + +``` yaml $(tag) == 'package-2023-11' +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 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 }