ClusterArgs

data class ClusterArgs(val apiServerProfile: Output<ClusterApiServerProfileArgs>? = null, val clusterProfile: Output<ClusterClusterProfileArgs>? = null, val ingressProfile: Output<ClusterIngressProfileArgs>? = null, val location: Output<String>? = null, val mainProfile: Output<ClusterMainProfileArgs>? = null, val name: Output<String>? = null, val networkProfile: Output<ClusterNetworkProfileArgs>? = null, val resourceGroupName: Output<String>? = null, val servicePrincipal: Output<ClusterServicePrincipalArgs>? = null, val tags: Output<Map<String, String>>? = null, val workerProfile: Output<ClusterWorkerProfileArgs>? = null) : ConvertibleToJava<ClusterArgs>

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/cluster1

Constructors

Link copied to clipboard
constructor(apiServerProfile: Output<ClusterApiServerProfileArgs>? = null, clusterProfile: Output<ClusterClusterProfileArgs>? = null, ingressProfile: Output<ClusterIngressProfileArgs>? = null, location: Output<String>? = null, mainProfile: Output<ClusterMainProfileArgs>? = null, name: Output<String>? = null, networkProfile: Output<ClusterNetworkProfileArgs>? = null, resourceGroupName: Output<String>? = null, servicePrincipal: Output<ClusterServicePrincipalArgs>? = null, tags: Output<Map<String, String>>? = null, workerProfile: Output<ClusterWorkerProfileArgs>? = null)

Properties

Link copied to clipboard

An api_server_profile block as defined below. Changing this forces a new resource to be created.

Link copied to clipboard

A cluster_profile block as defined below. Changing this forces a new resource to be created.

Link copied to clipboard

An ingress_profile block as defined below. Changing this forces a new resource to be created.

Link copied to clipboard
val location: Output<String>? = null

The location where the Azure Red Hat OpenShift Cluster should be created. Changing this forces a new resource to be created.

Link copied to clipboard
val mainProfile: Output<ClusterMainProfileArgs>? = null

A main_profile block as defined below. Changing this forces a new resource to be created.

Link copied to clipboard
val name: Output<String>? = null

The name of the Azure Red Hat OpenShift Cluster to create. Changing this forces a new resource to be created.

Link copied to clipboard

A network_profile block as defined below. Changing this forces a new resource to be created.

Link copied to clipboard
val resourceGroupName: Output<String>? = null

Specifies the Resource Group where the Azure Red Hat OpenShift Cluster should exist. Changing this forces a new resource to be created.

Link copied to clipboard

A service_principal block as defined below.

Link copied to clipboard
val tags: Output<Map<String, String>>? = null

A mapping of tags to assign to the resource.

Link copied to clipboard

A worker_profile block as defined below. Changing this forces a new resource to be created.

Functions

Link copied to clipboard
open override fun toJava(): ClusterArgs