Cluster
Manages a fully managed Azure Red Hat OpenShift Cluster (also known as ARO).
Note: All arguments including the client secret will be stored in the raw state as plain-text. Read more about sensitive data in state.
Example Usage
resources:
exampleApplication:
type: azuread:Application
name: example
properties:
displayName: example-aro
exampleServicePrincipal:
type: azuread:ServicePrincipal
name: example
properties:
clientId: ${exampleApplication.clientId}
exampleServicePrincipalPassword:
type: azuread:ServicePrincipalPassword
name: example
properties:
servicePrincipalId: ${exampleServicePrincipal.objectId}
roleNetwork1:
type: azure:authorization:Assignment
name: role_network1
properties:
scope: ${exampleVirtualNetwork.id}
roleDefinitionName: Network Contributor
principalId: ${exampleServicePrincipal.objectId}
roleNetwork2:
type: azure:authorization:Assignment
name: role_network2
properties:
scope: ${exampleVirtualNetwork.id}
roleDefinitionName: Network Contributor
principalId: ${redhatopenshift.objectId}
exampleResourceGroup:
type: azure:core:ResourceGroup
name: example
properties:
name: example-resources
location: West US
exampleVirtualNetwork:
type: azure:network:VirtualNetwork
name: example
properties:
name: example-vnet
addressSpaces:
- 10.0.0.0/22
location: ${exampleResourceGroup.location}
resourceGroupName: ${exampleResourceGroup.name}
mainSubnet:
type: azure:network:Subnet
name: main_subnet
properties:
name: main-subnet
resourceGroupName: ${exampleResourceGroup.name}
virtualNetworkName: ${exampleVirtualNetwork.name}
addressPrefixes:
- 10.0.0.0/23
serviceEndpoints:
- Microsoft.Storage
- Microsoft.ContainerRegistry
workerSubnet:
type: azure:network:Subnet
name: worker_subnet
properties:
name: worker-subnet
resourceGroupName: ${exampleResourceGroup.name}
virtualNetworkName: ${exampleVirtualNetwork.name}
addressPrefixes:
- 10.0.2.0/23
serviceEndpoints:
- Microsoft.Storage
- Microsoft.ContainerRegistry
exampleCluster:
type: azure:redhatopenshift:Cluster
name: example
properties:
name: examplearo
location: ${exampleResourceGroup.location}
resourceGroupName: ${exampleResourceGroup.name}
clusterProfile:
domain: aro-example.com
version: 4.13.23
networkProfile:
podCidr: 10.128.0.0/14
serviceCidr: 172.30.0.0/16
mainProfile:
vmSize: Standard_D8s_v3
subnetId: ${mainSubnet.id}
apiServerProfile:
visibility: Public
ingressProfile:
visibility: Public
workerProfile:
vmSize: Standard_D4s_v3
diskSizeGb: 128
nodeCount: 3
subnetId: ${workerSubnet.id}
servicePrincipal:
clientId: ${exampleApplication.clientId}
clientSecret: ${exampleServicePrincipalPassword.value}
variables:
example:
fn::invoke:
Function: azure:core:getClientConfig
Arguments: {}
exampleGetClientConfig:
fn::invoke:
Function: azuread:getClientConfig
Arguments: {}
redhatopenshift:
fn::invoke:
Function: azuread:getServicePrincipal
Arguments:
clientId: f1dd0a37-89c6-4e07-bcd1-ffd3d43d8875
outputs:
consoleUrl: ${exampleCluster.consoleUrl}Import
Red Hat OpenShift Clusters can be imported using the resource id, e.g.
$ pulumi import azure:redhatopenshift/cluster:Cluster cluster1 /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group1/providers/Microsoft.RedHatOpenShift/openShiftClusters/cluster1Properties
An api_server_profile block as defined below. Changing this forces a new resource to be created.
A cluster_profile block as defined below. Changing this forces a new resource to be created.
The Red Hat OpenShift cluster console URL.
An ingress_profile block as defined below. Changing this forces a new resource to be created.
A main_profile block as defined below. Changing this forces a new resource to be created.
A network_profile block as defined below. Changing this forces a new resource to be created.
Specifies the Resource Group where the Azure Red Hat OpenShift Cluster should exist. Changing this forces a new resource to be created.
A service_principal block as defined below.
A worker_profile block as defined below. Changing this forces a new resource to be created.