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 |
---|---|---|---|---|
resource
|
path | True |
string minLength: 1maxLength: 90 |
The name of the resource group. The name is case insensitive. |
resource
|
path | True |
string |
The name of the OpenShift cluster resource. |
subscription
|
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 |
The cluster API server profile. |
||
properties.clusterProfile |
The cluster profile. |
||
properties.consoleProfile |
The console profile. |
||
properties.ingressProfiles |
The cluster ingress profiles. |
||
properties.masterProfile |
The cluster master profile. |
||
properties.networkProfile |
The cluster network profile. |
||
properties.provisioningState |
The cluster provisioning state. |
||
properties.servicePrincipalProfile |
The cluster service principal profile. |
||
properties.workerProfiles |
The cluster worker profiles. |
||
tags |
object |
Resource tags. |
Responses
Name | Type | Description |
---|---|---|
200 OK |
OK |
|
201 Created |
Created |
|
Other Status Codes |
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 |
---|---|
APIServer |
APIServerProfile represents an API server profile. |
Cloud |
CloudError represents a cloud error. |
Cloud |
CloudErrorBody represents the body of a cloud error. |
Cluster |
ClusterProfile represents a cluster profile. |
Console |
ConsoleProfile represents a console profile. |
created |
The type of identity that created the resource. |
Effective |
EffectiveOutboundIP represents an effective outbound IP resource of the cluster public load balancer. |
Encryption |
EncryptionAtHost represents encryption at host state |
Fips |
FipsValidatedModules determines if FIPS is used. |
Ingress |
IngressProfile represents an ingress profile. |
Load |
LoadBalancerProfile represents the profile of the cluster public load balancer. |
Managed |
ManagedOutboundIPs represents the desired managed outbound IPs for the cluster public load balancer. |
Master |
MasterProfile represents a master profile. |
Network |
NetworkProfile represents a network profile. |
Open |
OpenShiftCluster represents an Azure Red Hat OpenShift cluster. |
Outbound |
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 |
Provisioning |
ProvisioningState represents a provisioning state. |
Service |
ServicePrincipalProfile represents a service principal profile. |
system |
Metadata pertaining to creation and last modification of the resource. |
Visibility |
Visibility represents visibility. |
Worker |
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 |
API server visibility. |
CloudError
CloudError represents a cloud error.
Name | Type | Description |
---|---|---|
error |
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 |
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 |
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 |
Ingress visibility. |
LoadBalancerProfile
LoadBalancerProfile represents the profile of the cluster public load balancer.
Name | Type | Description |
---|---|---|
effectiveOutboundIps |
The list of effective outbound IP addresses of the public load balancer. |
|
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 |
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 |
The cluster load balancer profile. |
|
outboundType |
The OutboundType used for egress traffic. |
|
podCidr |
string |
The CIDR used for OpenShift/Kubernetes Pods. |
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 |
The cluster API server profile. |
|
properties.clusterProfile |
The cluster profile. |
|
properties.consoleProfile |
The console profile. |
|
properties.ingressProfiles |
The cluster ingress profiles. |
|
properties.masterProfile |
The cluster master profile. |
|
properties.networkProfile |
The cluster network profile. |
|
properties.provisioningState |
The cluster provisioning state. |
|
properties.servicePrincipalProfile |
The cluster service principal profile. |
|
properties.workerProfiles |
The cluster worker profiles. |
|
properties.workerProfilesStatus |
The cluster worker profiles status. |
|
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 |
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 |
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 |
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. |