Share via


Open Shift Clusters - Create Or Update

Creates or updates a OpenShift cluster with the specified subscription, resource group and resource name.
The operation returns properties of a OpenShift cluster.

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openShiftClusters/{resourceName}?api-version=2023-11-22

URI Parameters

Name In Required Type Description
resourceGroupName
path True

string

minLength: 1
maxLength: 90

The name of the resource group. The name is case insensitive.

resourceName
path True

string

The name of the OpenShift cluster resource.

subscriptionId
path True

string

minLength: 1

The ID of the target subscription.

api-version
query True

string

minLength: 1

The API version to use for this operation.

Request Body

Name Required Type Description
location True

string

The geo-location where the resource lives

properties.apiserverProfile

APIServerProfile

The cluster API server profile.

properties.clusterProfile

ClusterProfile

The cluster profile.

properties.consoleProfile

ConsoleProfile

The console profile.

properties.ingressProfiles

IngressProfile[]

The cluster ingress profiles.

properties.masterProfile

MasterProfile

The cluster master profile.

properties.networkProfile

NetworkProfile

The cluster network profile.

properties.provisioningState

ProvisioningState

The cluster provisioning state.

properties.servicePrincipalProfile

ServicePrincipalProfile

The cluster service principal profile.

properties.workerProfiles

WorkerProfile[]

The cluster worker profiles.

tags

object

Resource tags.

Responses

Name Type Description
200 OK

OpenShiftCluster

OK

201 Created

OpenShiftCluster

Created

Other Status Codes

CloudError

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.

Security

azure_auth

Azure Active Directory OAuth2 Flow

Type: oauth2
Flow: implicit
Authorization URL: https://login.microsoftonline.com/common/oauth2/authorize

Scopes

Name Description
user_impersonation impersonate your user account

Examples

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

Sample request

PUT https://management.azure.com/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.RedHatOpenShift/openShiftClusters/resourceName?api-version=2023-11-22

{
  "location": "location",
  "tags": {
    "key": "value"
  },
  "properties": {
    "clusterProfile": {
      "pullSecret": "{\"auths\":{\"registry.connect.redhat.com\":{\"auth\":\"\"},\"registry.redhat.io\":{\"auth\":\"\"}}}",
      "domain": "cluster.location.aroapp.io",
      "resourceGroupId": "/subscriptions/subscriptionId/resourceGroups/clusterResourceGroup",
      "fipsValidatedModules": "Enabled"
    },
    "consoleProfile": {},
    "servicePrincipalProfile": {
      "clientId": "clientId",
      "clientSecret": "clientSecret"
    },
    "networkProfile": {
      "podCidr": "10.128.0.0/14",
      "serviceCidr": "172.30.0.0/16",
      "loadBalancerProfile": {
        "managedOutboundIps": {
          "count": 1
        }
      },
      "preconfiguredNSG": "Disabled"
    },
    "masterProfile": {
      "vmSize": "Standard_D8s_v3",
      "subnetId": "/subscriptions/subscriptionId/resourceGroups/vnetResourceGroup/providers/Microsoft.Network/virtualNetworks/vnet/subnets/master",
      "encryptionAtHost": "Enabled"
    },
    "workerProfiles": [
      {
        "name": "worker",
        "vmSize": "Standard_D2s_v3",
        "diskSizeGB": 128,
        "subnetId": "/subscriptions/subscriptionId/resourceGroups/vnetResourceGroup/providers/Microsoft.Network/virtualNetworks/vnet/subnets/worker",
        "count": 3
      }
    ],
    "apiserverProfile": {
      "visibility": "Public"
    },
    "ingressProfiles": [
      {
        "name": "default",
        "visibility": "Public"
      }
    ]
  }
}

Sample response

{
  "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.RedHatOpenShift/OpenShiftClusters/resourceName",
  "name": "resourceName",
  "type": "Microsoft.RedHatOpenShift/OpenShiftClusters",
  "location": "location",
  "systemData": {
    "createdBy": "string",
    "createdByType": "Application",
    "createdAt": "2020-02-03T01:01:01.1075056Z",
    "lastModifiedBy": "string",
    "lastModifiedByType": "Application",
    "lastModifiedAt": "2020-02-03T01:01:01.1075056Z"
  },
  "tags": {
    "key": "value"
  },
  "properties": {
    "provisioningState": "Succeeded",
    "clusterProfile": {
      "domain": "cluster.location.aroapp.io",
      "version": "4.11.0",
      "resourceGroupId": "/subscriptions/subscriptionId/resourceGroups/clusterResourceGroup"
    },
    "consoleProfile": {
      "url": "https://console-openshift-console.apps.cluster.location.aroapp.io/"
    },
    "servicePrincipalProfile": {
      "clientId": "clientId"
    },
    "networkProfile": {
      "podCidr": "10.128.0.0/14",
      "serviceCidr": "172.30.0.0/16",
      "preconfiguredNSG": "Disabled"
    },
    "masterProfile": {
      "vmSize": "Standard_D8s_v3",
      "subnetId": "/subscriptions/subscriptionId/resourceGroups/vnetResourceGroup/providers/Microsoft.Network/virtualNetworks/vnet/subnets/master"
    },
    "workerProfiles": [
      {
        "name": "worker",
        "vmSize": "Standard_D2s_v3",
        "diskSizeGB": 128,
        "subnetId": "/subscriptions/subscriptionId/resourceGroups/vnetResourceGroup/providers/Microsoft.Network/virtualNetworks/vnet/subnets/worker",
        "count": 3
      }
    ],
    "apiserverProfile": {
      "visibility": "Public",
      "url": "https://api.cluster.location.aroapp.io:6443/",
      "ip": "1.2.3.4"
    },
    "ingressProfiles": [
      {
        "name": "default",
        "visibility": "Public",
        "ip": "1.2.3.4"
      }
    ]
  }
}
{
  "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.RedHatOpenShift/OpenShiftClusters/resourceName",
  "name": "resourceName",
  "type": "Microsoft.RedHatOpenShift/OpenShiftClusters",
  "location": "location",
  "systemData": {
    "createdBy": "string",
    "createdByType": "Application",
    "createdAt": "2020-02-03T01:01:01.1075056Z",
    "lastModifiedBy": "string",
    "lastModifiedByType": "Application",
    "lastModifiedAt": "2020-02-03T01:01:01.1075056Z"
  },
  "tags": {
    "key": "value"
  },
  "properties": {
    "provisioningState": "Succeeded",
    "clusterProfile": {
      "domain": "cluster.location.aroapp.io",
      "version": "4.11.0",
      "resourceGroupId": "/subscriptions/subscriptionId/resourceGroups/clusterResourceGroup"
    },
    "consoleProfile": {
      "url": "https://console-openshift-console.apps.cluster.location.aroapp.io/"
    },
    "servicePrincipalProfile": {
      "clientId": "clientId"
    },
    "networkProfile": {
      "podCidr": "10.128.0.0/14",
      "serviceCidr": "172.30.0.0/16",
      "preconfiguredNSG": "Disabled"
    },
    "masterProfile": {
      "vmSize": "Standard_D8s_v3",
      "subnetId": "/subscriptions/subscriptionId/resourceGroups/vnetResourceGroup/providers/Microsoft.Network/virtualNetworks/vnet/subnets/master"
    },
    "workerProfiles": [
      {
        "name": "worker",
        "vmSize": "Standard_D2s_v3",
        "diskSizeGB": 128,
        "subnetId": "/subscriptions/subscriptionId/resourceGroups/vnetResourceGroup/providers/Microsoft.Network/virtualNetworks/vnet/subnets/worker",
        "count": 3
      }
    ],
    "apiserverProfile": {
      "visibility": "Public",
      "url": "https://api.cluster.location.aroapp.io:6443/",
      "ip": "1.2.3.4"
    },
    "ingressProfiles": [
      {
        "name": "default",
        "visibility": "Public",
        "ip": "1.2.3.4"
      }
    ]
  }
}

Definitions

Name Description
APIServerProfile

APIServerProfile represents an API server profile.

CloudError

CloudError represents a cloud error.

CloudErrorBody

CloudErrorBody represents the body of a cloud error.

ClusterProfile

ClusterProfile represents a cluster profile.

ConsoleProfile

ConsoleProfile represents a console profile.

createdByType

The type of identity that created the resource.

EffectiveOutboundIP

EffectiveOutboundIP represents an effective outbound IP resource of the cluster public load balancer.

EncryptionAtHost

EncryptionAtHost represents encryption at host state

FipsValidatedModules

FipsValidatedModules determines if FIPS is used.

IngressProfile

IngressProfile represents an ingress profile.

LoadBalancerProfile

LoadBalancerProfile represents the profile of the cluster public load balancer.

ManagedOutboundIPs

ManagedOutboundIPs represents the desired managed outbound IPs for the cluster public load balancer.

MasterProfile

MasterProfile represents a master profile.

NetworkProfile

NetworkProfile represents a network profile.

OpenShiftCluster

OpenShiftCluster represents an Azure Red Hat OpenShift cluster.

OutboundType

The outbound routing strategy used to provide your cluster egress to the internet.

PreconfiguredNSG

PreconfiguredNSG represents whether customers want to use their own NSG attached to the subnets

ProvisioningState

ProvisioningState represents a provisioning state.

ServicePrincipalProfile

ServicePrincipalProfile represents a service principal profile.

systemData

Metadata pertaining to creation and last modification of the resource.

Visibility

Visibility represents visibility.

WorkerProfile

WorkerProfile represents a worker profile.

APIServerProfile

APIServerProfile represents an API server profile.

Name Type Description
ip

string

The IP of the cluster API server.

url

string

The URL to access the cluster API server.

visibility

Visibility

API server visibility.

CloudError

CloudError represents a cloud error.

Name Type Description
error

CloudErrorBody

An error response from the service.

CloudErrorBody

CloudErrorBody represents the body of a cloud error.

Name Type Description
code

string

An identifier for the error. Codes are invariant and are intended to be consumed programmatically.

details

CloudErrorBody[]

A list of additional details about the error.

message

string

A message describing the error, intended to be suitable for display in a user interface.

target

string

The target of the particular error. For example, the name of the property in error.

ClusterProfile

ClusterProfile represents a cluster profile.

Name Type Description
domain

string

The domain for the cluster.

fipsValidatedModules

FipsValidatedModules

If FIPS validated crypto modules are used

pullSecret

string

The pull secret for the cluster.

resourceGroupId

string

The ID of the cluster resource group.

version

string

The version of the cluster.

ConsoleProfile

ConsoleProfile represents a console profile.

Name Type Description
url

string

The URL to access the cluster console.

createdByType

The type of identity that created the resource.

Value Description
User
Application
ManagedIdentity
Key

EffectiveOutboundIP

EffectiveOutboundIP represents an effective outbound IP resource of the cluster public load balancer.

Name Type Description
id

string

The fully qualified Azure resource id of an IP address resource.

EncryptionAtHost

EncryptionAtHost represents encryption at host state

Value Description
Disabled
Enabled

FipsValidatedModules

FipsValidatedModules determines if FIPS is used.

Value Description
Disabled
Enabled

IngressProfile

IngressProfile represents an ingress profile.

Name Type Description
ip

string

The IP of the ingress.

name

string

The ingress profile name.

visibility

Visibility

Ingress visibility.

LoadBalancerProfile

LoadBalancerProfile represents the profile of the cluster public load balancer.

Name Type Description
effectiveOutboundIps

EffectiveOutboundIP[]

The list of effective outbound IP addresses of the public load balancer.

managedOutboundIps

ManagedOutboundIPs

The desired managed outbound IPs for the cluster public load balancer.

ManagedOutboundIPs

ManagedOutboundIPs represents the desired managed outbound IPs for the cluster public load balancer.

Name Type Description
count

integer (int32)

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.

MasterProfile

MasterProfile represents a master profile.

Name Type Description
diskEncryptionSetId

string

The resource ID of an associated DiskEncryptionSet, if applicable.

encryptionAtHost

EncryptionAtHost

Whether master virtual machines are encrypted at host.

subnetId

string

The Azure resource ID of the master subnet.

vmSize

string

The size of the master VMs.

NetworkProfile

NetworkProfile represents a network profile.

Name Type Description
loadBalancerProfile

LoadBalancerProfile

The cluster load balancer profile.

outboundType

OutboundType

The OutboundType used for egress traffic.

podCidr

string

The CIDR used for OpenShift/Kubernetes Pods.

preconfiguredNSG

PreconfiguredNSG

Specifies whether subnets are pre-attached with an NSG

serviceCidr

string

The CIDR used for OpenShift/Kubernetes Services.

OpenShiftCluster

OpenShiftCluster represents an Azure Red Hat OpenShift cluster.

Name Type Description
id

string

Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}

location

string

The geo-location where the resource lives

name

string

The name of the resource

properties.apiserverProfile

APIServerProfile

The cluster API server profile.

properties.clusterProfile

ClusterProfile

The cluster profile.

properties.consoleProfile

ConsoleProfile

The console profile.

properties.ingressProfiles

IngressProfile[]

The cluster ingress profiles.

properties.masterProfile

MasterProfile

The cluster master profile.

properties.networkProfile

NetworkProfile

The cluster network profile.

properties.provisioningState

ProvisioningState

The cluster provisioning state.

properties.servicePrincipalProfile

ServicePrincipalProfile

The cluster service principal profile.

properties.workerProfiles

WorkerProfile[]

The cluster worker profiles.

properties.workerProfilesStatus

WorkerProfile[]

The cluster worker profiles status.

systemData

systemData

The system meta data relating to this resource.

tags

object

Resource tags.

type

string

The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"

OutboundType

The outbound routing strategy used to provide your cluster egress to the internet.

Value Description
Loadbalancer
UserDefinedRouting

PreconfiguredNSG

PreconfiguredNSG represents whether customers want to use their own NSG attached to the subnets

Value Description
Disabled
Enabled

ProvisioningState

ProvisioningState represents a provisioning state.

Value Description
AdminUpdating
Canceled
Creating
Deleting
Failed
Succeeded
Updating

ServicePrincipalProfile

ServicePrincipalProfile represents a service principal profile.

Name Type Description
clientId

string

The client ID used for the cluster.

clientSecret

string

The client secret used for the cluster.

systemData

Metadata pertaining to creation and last modification of the resource.

Name Type Description
createdAt

string (date-time)

The timestamp of resource creation (UTC).

createdBy

string

The identity that created the resource.

createdByType

createdByType

The type of identity that created the resource.

lastModifiedAt

string (date-time)

The timestamp of resource last modification (UTC)

lastModifiedBy

string

The identity that last modified the resource.

lastModifiedByType

createdByType

The type of identity that last modified the resource.

Visibility

Visibility represents visibility.

Value Description
Private
Public

WorkerProfile

WorkerProfile represents a worker profile.

Name Type Description
count

integer (int32)

The number of worker VMs.

diskEncryptionSetId

string

The resource ID of an associated DiskEncryptionSet, if applicable.

diskSizeGB

integer (int32)

The disk size of the worker VMs.

encryptionAtHost

EncryptionAtHost

Whether master virtual machines are encrypted at host.

name

string

The worker profile name.

subnetId

string

The Azure resource ID of the worker subnet.

vmSize

string

The size of the worker VMs.