---
title: "Creates or updates a OpenShift cluster with the specified subscription, resource group and resource name."
method: PATCH
path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openShiftClusters/{resourceName}"
tags: ["OpenShiftClusters"]
---

# Creates or updates a OpenShift cluster with the specified subscription, resource group and resource name.

`PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openShiftClusters/{resourceName}`

The operation returns properties of a OpenShift cluster.

## Path parameters

- `resourceName` string, required

## Parameters

- `../../../../../../common-types/resource-management/v6/types.json#/components/parameters/ApiVersionParameter` — unresolved $ref
- `../../../../../../common-types/resource-management/v6/types.json#/components/parameters/SubscriptionIdParameter` — unresolved $ref
- `../../../../../../common-types/resource-management/v6/types.json#/components/parameters/ResourceGroupNameParameter` — unresolved $ref

## Request body

- OpenShiftClusterUpdate — OpenShiftCluster represents an Azure Red Hat OpenShift cluster.
  - `tags` object — The resource tags.
  - `properties` OpenShiftClusterProperties — OpenShiftClusterProperties represents an OpenShift cluster's properties.
    - `provisioningState` 'AdminUpdating' | 'Canceled' | 'Creating' | 'Deleting' | 'Failed' | 'Succeeded' | 'Updating' — ProvisioningState represents a provisioning state.
    - `clusterProfile` ClusterProfile — ClusterProfile represents a cluster profile.
      - `pullSecret` string — The pull secret for the cluster.
      - `domain` string — The domain for the cluster.
      - `version` string — The version of the cluster.
      - `resourceGroupId` string — The ID of the cluster resource group.
      - `fipsValidatedModules` 'Disabled' | 'Enabled' — FipsValidatedModules determines if FIPS is used.
      - `oidcIssuer` string — The URL of the managed OIDC issuer in a workload identity cluster.
    - `consoleProfile` ConsoleProfile — ConsoleProfile represents a console profile.
      - `url` string — The URL to access the cluster console.
    - `servicePrincipalProfile` ServicePrincipalProfile — ServicePrincipalProfile represents a service principal profile.
      - `clientId` string — The client ID used for the cluster.
      - `clientSecret` string — The client secret used for the cluster.
    - `platformWorkloadIdentityProfile` PlatformWorkloadIdentityProfile — PlatformWorkloadIdentityProfile encapsulates all information that is specific to workload identity clusters.
      - `upgradeableTo` string — UpgradeableTo stores a single OpenShift version a workload identity cluster can be upgraded to
      - `platformWorkloadIdentities` object — Dictionary of <PlatformWorkloadIdentity>
    - `networkProfile` NetworkProfile — NetworkProfile represents a network profile.
      - `podCidr` string — The CIDR used for OpenShift/Kubernetes Pods.
      - `serviceCidr` string — The CIDR used for OpenShift/Kubernetes Services.
      - `outboundType` 'Loadbalancer' | 'UserDefinedRouting' — The outbound routing strategy used to provide your cluster egress to the internet.
      - `loadBalancerProfile` LoadBalancerProfile — LoadBalancerProfile represents the profile of the cluster public load balancer.
        - `managedOutboundIps` ManagedOutboundIPs — ManagedOutboundIPs represents the desired managed outbound IPs for the cluster public load balancer.
          - `count` integer — Count represents the desired number of IPv4 outbound IPs created and managed by Azure for the cluster public load balancer. Allowed values are in the range of 1 - 20. The default value is 1.
        - `effectiveOutboundIps` EffectiveOutboundIP[] — The list of effective outbound IP addresses of the public load balancer.
          - `id` string — The fully qualified Azure resource id of an IP address resource.
      - `preconfiguredNSG` 'Disabled' | 'Enabled' — PreconfiguredNSG represents whether customers want to use their own NSG attached to the subnets
    - `masterProfile` MasterProfile — MasterProfile represents a master profile.
      - `vmSize` string — The size of the master VMs.
      - `subnetId` string — The Azure resource ID of the master subnet.
      - `encryptionAtHost` 'Disabled' | 'Enabled' — EncryptionAtHost represents encryption at host state
      - `diskEncryptionSetId` string — The resource ID of an associated DiskEncryptionSet, if applicable.
    - `workerProfiles` WorkerProfile[] — The cluster worker profiles.
      - `name` string — The worker profile name.
      - `vmSize` string — The size of the worker VMs.
      - `diskSizeGB` integer — The disk size of the worker VMs.
      - `subnetId` string — The Azure resource ID of the worker subnet.
      - `count` integer — The number of worker VMs.
      - `encryptionAtHost` 'Disabled' | 'Enabled' — EncryptionAtHost represents encryption at host state
      - `diskEncryptionSetId` string — The resource ID of an associated DiskEncryptionSet, if applicable.
    - `workerProfilesStatus` WorkerProfile[] — The cluster worker profiles status.
      - `name` string — The worker profile name.
      - `vmSize` string — The size of the worker VMs.
      - `diskSizeGB` integer — The disk size of the worker VMs.
      - `subnetId` string — The Azure resource ID of the worker subnet.
      - `count` integer — The number of worker VMs.
      - `encryptionAtHost` 'Disabled' | 'Enabled' — EncryptionAtHost represents encryption at host state
      - `diskEncryptionSetId` string — The resource ID of an associated DiskEncryptionSet, if applicable.
    - `apiserverProfile` APIServerProfile — APIServerProfile represents an API server profile.
      - `visibility` 'Private' | 'Public' — Visibility represents visibility.
      - `url` string — The URL to access the cluster API server.
      - `ip` string — The IP of the cluster API server.
    - `ingressProfiles` IngressProfile[] — The cluster ingress profiles.
      - `name` string — The ingress profile name.
      - `visibility` 'Private' | 'Public' — Visibility represents visibility.
      - `ip` string — The IP of the ingress.
  - `identity` ManagedServiceIdentity — unresolved $ref

## Response `200`

Azure operation completed successfully.

- OpenShiftCluster — unresolved $ref

## Other responses

- `201` — Resource 'OpenShiftCluster' create operation succeeded
- `default` — An unexpected error response.

---

[API](https://skmtc.dev/azure/apis/redhatopenshift-microsoft-redhatopenshift-openshiftclusters.md) · [All operations](https://skmtc.dev/azure/apis/redhatopenshift-microsoft-redhatopenshift-openshiftclusters/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/azure/redhatopenshift-microsoft-redhatopenshift-openshiftclusters/revisions/bc9747e6523a/schema)
