containerinfra

package
v5.0.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 12, 2025 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Cluster

type Cluster struct {
	pulumi.CustomResourceState

	ApiAddress pulumi.StringOutput `pulumi:"apiAddress"`
	// The UUID of the V1 Container Infra cluster
	// template. Changing this creates a new cluster.
	ClusterTemplateId pulumi.StringOutput `pulumi:"clusterTemplateId"`
	CoeVersion        pulumi.StringOutput `pulumi:"coeVersion"`
	ContainerVersion  pulumi.StringOutput `pulumi:"containerVersion"`
	// The timeout (in minutes) for creating the
	// cluster. Changing this creates a new cluster.
	CreateTimeout pulumi.IntOutput    `pulumi:"createTimeout"`
	CreatedAt     pulumi.StringOutput `pulumi:"createdAt"`
	// The URL used for cluster node discovery.
	// Changing this creates a new cluster.
	DiscoveryUrl pulumi.StringOutput `pulumi:"discoveryUrl"`
	// The size (in GB) of the Docker volume.
	// Changing this creates a new cluster.
	DockerVolumeSize pulumi.IntOutput `pulumi:"dockerVolumeSize"`
	// The fixed network that will be attached to the
	// cluster. Changing this creates a new cluster.
	FixedNetwork pulumi.StringOutput `pulumi:"fixedNetwork"`
	// The fixed subnet that will be attached to the
	// cluster. Changing this creates a new cluster.
	FixedSubnet pulumi.StringOutput `pulumi:"fixedSubnet"`
	// The flavor for the nodes of the cluster. Can be set via
	// the `OS_MAGNUM_FLAVOR` environment variable. Changing this creates a new
	// cluster.
	Flavor pulumi.StringOutput `pulumi:"flavor"`
	// Indicates whether floating IP should be
	// created for every cluster node. Changing this creates a new cluster.
	FloatingIpEnabled pulumi.BoolOutput `pulumi:"floatingIpEnabled"`
	// The name of the Compute service SSH keypair. Changing
	// this creates a new cluster.
	Keypair    pulumi.StringOutput    `pulumi:"keypair"`
	Kubeconfig pulumi.StringMapOutput `pulumi:"kubeconfig"`
	// The list of key value pairs representing additional
	// properties of the cluster. Changing this creates a new cluster.
	Labels          pulumi.StringMapOutput   `pulumi:"labels"`
	MasterAddresses pulumi.StringArrayOutput `pulumi:"masterAddresses"`
	// The number of master nodes for the cluster.
	// Changing this creates a new cluster.
	MasterCount pulumi.IntOutput `pulumi:"masterCount"`
	// The flavor for the master nodes. Can be set via
	// the `OS_MAGNUM_MASTER_FLAVOR` environment variable. Changing this creates a
	// new cluster.
	MasterFlavor pulumi.StringOutput `pulumi:"masterFlavor"`
	// Indicates whether to create a load balancer
	// for the master nodes. Changing this creates a new cluster.
	MasterLbEnabled pulumi.BoolOutput `pulumi:"masterLbEnabled"`
	// Indicates whether the provided labels should be
	// merged with cluster template labels. Changing this creates a new cluster.
	MergeLabels pulumi.BoolPtrOutput `pulumi:"mergeLabels"`
	// The name of the cluster. Changing this creates a new
	// cluster.
	Name          pulumi.StringOutput      `pulumi:"name"`
	NodeAddresses pulumi.StringArrayOutput `pulumi:"nodeAddresses"`
	// The number of nodes for the cluster.
	NodeCount pulumi.IntPtrOutput `pulumi:"nodeCount"`
	// The project of the cluster. Required if admin wants
	// to create a cluster in another project. Changing this creates a new
	// cluster.
	ProjectId pulumi.StringOutput `pulumi:"projectId"`
	// The region in which to obtain the V1 Container Infra
	// client. A Container Infra client is needed to create a cluster. If omitted,
	// the `region` argument of the provider is used. Changing this creates a new
	// cluster.
	Region    pulumi.StringOutput `pulumi:"region"`
	StackId   pulumi.StringOutput `pulumi:"stackId"`
	UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"`
	// The user of the cluster. Required if admin wants to
	// create a cluster template for another user. Changing this creates a new
	// cluster.
	UserId pulumi.StringOutput `pulumi:"userId"`
}

Manages a V1 Magnum cluster resource within OpenStack.

> **Note:** All arguments including the `kubeconfig` computed attribute will be stored in the raw state as plain-text. Read more about sensitive data in state.

## Example Usage

### Create a Cluster

```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v5/go/openstack/containerinfra"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := containerinfra.NewCluster(ctx, "cluster_1", &containerinfra.ClusterArgs{
			Name:              pulumi.String("cluster_1"),
			ClusterTemplateId: pulumi.String("b9a45c5c-cd03-4958-82aa-b80bf93cb922"),
			MasterCount:       pulumi.Int(3),
			NodeCount:         pulumi.Int(5),
			Keypair:           pulumi.String("ssh_keypair"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Attributes reference

The following attributes are exported:

* `region` - See Argument Reference above. * `name` - See Argument Reference above. * `projectId` - See Argument Reference above. * `createdAt` - The time at which cluster was created. * `updatedAt` - The time at which cluster was created. * `apiAddress` - COE API address. * `coeVersion` - COE software version. * `clusterTemplateId` - See Argument Reference above. * `containerVersion` - Container software version. * `createTimeout` - See Argument Reference above. * `discoveryUrl` - See Argument Reference above. * `dockerVolumeSize` - See Argument Reference above. * `flavor` - See Argument Reference above. * `masterFlavor` - See Argument Reference above. * `keypair` - See Argument Reference above. * `labels` - See Argument Reference above. * `mergeLabels` - See Argument Reference above. * `masterCount` - See Argument Reference above. * `nodeCount` - See Argument Reference above. * `fixedNetwork` - See Argument Reference above. * `fixedSubnet` - See Argument Reference above. * `floatingIpEnabled` - See Argument Reference above. * `masterAddresses` - IP addresses of the master node of the cluster. * `nodeAddresses` - IP addresses of the node of the cluster. * `stackId` - UUID of the Orchestration service stack. * `kubeconfig` - The Kubernetes cluster's credentials

  • `rawConfig` - The raw kubeconfig file
  • `host` - The cluster's API server URL
  • `clusterCaCertificate` - The cluster's CA certificate
  • `clientKey` - The client's RSA key
  • `clientCertificate` - The client's certificate

## Import

Clusters can be imported using the `id`, e.g.

```sh $ pulumi import openstack:containerinfra/cluster:Cluster cluster_1 ce0f9463-dd25-474b-9fe8-94de63e5e42b ```

func GetCluster

func GetCluster(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ClusterState, opts ...pulumi.ResourceOption) (*Cluster, error)

GetCluster gets an existing Cluster resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewCluster

func NewCluster(ctx *pulumi.Context,
	name string, args *ClusterArgs, opts ...pulumi.ResourceOption) (*Cluster, error)

NewCluster registers a new resource with the given unique name, arguments, and options.

func (*Cluster) ElementType

func (*Cluster) ElementType() reflect.Type

func (*Cluster) ToClusterOutput

func (i *Cluster) ToClusterOutput() ClusterOutput

func (*Cluster) ToClusterOutputWithContext

func (i *Cluster) ToClusterOutputWithContext(ctx context.Context) ClusterOutput

type ClusterArgs

type ClusterArgs struct {
	// The UUID of the V1 Container Infra cluster
	// template. Changing this creates a new cluster.
	ClusterTemplateId pulumi.StringInput
	// The timeout (in minutes) for creating the
	// cluster. Changing this creates a new cluster.
	CreateTimeout pulumi.IntPtrInput
	// The URL used for cluster node discovery.
	// Changing this creates a new cluster.
	DiscoveryUrl pulumi.StringPtrInput
	// The size (in GB) of the Docker volume.
	// Changing this creates a new cluster.
	DockerVolumeSize pulumi.IntPtrInput
	// The fixed network that will be attached to the
	// cluster. Changing this creates a new cluster.
	FixedNetwork pulumi.StringPtrInput
	// The fixed subnet that will be attached to the
	// cluster. Changing this creates a new cluster.
	FixedSubnet pulumi.StringPtrInput
	// The flavor for the nodes of the cluster. Can be set via
	// the `OS_MAGNUM_FLAVOR` environment variable. Changing this creates a new
	// cluster.
	Flavor pulumi.StringPtrInput
	// Indicates whether floating IP should be
	// created for every cluster node. Changing this creates a new cluster.
	FloatingIpEnabled pulumi.BoolPtrInput
	// The name of the Compute service SSH keypair. Changing
	// this creates a new cluster.
	Keypair pulumi.StringPtrInput
	// The list of key value pairs representing additional
	// properties of the cluster. Changing this creates a new cluster.
	Labels pulumi.StringMapInput
	// The number of master nodes for the cluster.
	// Changing this creates a new cluster.
	MasterCount pulumi.IntPtrInput
	// The flavor for the master nodes. Can be set via
	// the `OS_MAGNUM_MASTER_FLAVOR` environment variable. Changing this creates a
	// new cluster.
	MasterFlavor pulumi.StringPtrInput
	// Indicates whether to create a load balancer
	// for the master nodes. Changing this creates a new cluster.
	MasterLbEnabled pulumi.BoolPtrInput
	// Indicates whether the provided labels should be
	// merged with cluster template labels. Changing this creates a new cluster.
	MergeLabels pulumi.BoolPtrInput
	// The name of the cluster. Changing this creates a new
	// cluster.
	Name pulumi.StringPtrInput
	// The number of nodes for the cluster.
	NodeCount pulumi.IntPtrInput
	// The region in which to obtain the V1 Container Infra
	// client. A Container Infra client is needed to create a cluster. If omitted,
	// the `region` argument of the provider is used. Changing this creates a new
	// cluster.
	Region pulumi.StringPtrInput
}

The set of arguments for constructing a Cluster resource.

func (ClusterArgs) ElementType

func (ClusterArgs) ElementType() reflect.Type

type ClusterArray

type ClusterArray []ClusterInput

func (ClusterArray) ElementType

func (ClusterArray) ElementType() reflect.Type

func (ClusterArray) ToClusterArrayOutput

func (i ClusterArray) ToClusterArrayOutput() ClusterArrayOutput

func (ClusterArray) ToClusterArrayOutputWithContext

func (i ClusterArray) ToClusterArrayOutputWithContext(ctx context.Context) ClusterArrayOutput

type ClusterArrayInput

type ClusterArrayInput interface {
	pulumi.Input

	ToClusterArrayOutput() ClusterArrayOutput
	ToClusterArrayOutputWithContext(context.Context) ClusterArrayOutput
}

ClusterArrayInput is an input type that accepts ClusterArray and ClusterArrayOutput values. You can construct a concrete instance of `ClusterArrayInput` via:

ClusterArray{ ClusterArgs{...} }

type ClusterArrayOutput

type ClusterArrayOutput struct{ *pulumi.OutputState }

func (ClusterArrayOutput) ElementType

func (ClusterArrayOutput) ElementType() reflect.Type

func (ClusterArrayOutput) Index

func (ClusterArrayOutput) ToClusterArrayOutput

func (o ClusterArrayOutput) ToClusterArrayOutput() ClusterArrayOutput

func (ClusterArrayOutput) ToClusterArrayOutputWithContext

func (o ClusterArrayOutput) ToClusterArrayOutputWithContext(ctx context.Context) ClusterArrayOutput

type ClusterInput

type ClusterInput interface {
	pulumi.Input

	ToClusterOutput() ClusterOutput
	ToClusterOutputWithContext(ctx context.Context) ClusterOutput
}

type ClusterMap

type ClusterMap map[string]ClusterInput

func (ClusterMap) ElementType

func (ClusterMap) ElementType() reflect.Type

func (ClusterMap) ToClusterMapOutput

func (i ClusterMap) ToClusterMapOutput() ClusterMapOutput

func (ClusterMap) ToClusterMapOutputWithContext

func (i ClusterMap) ToClusterMapOutputWithContext(ctx context.Context) ClusterMapOutput

type ClusterMapInput

type ClusterMapInput interface {
	pulumi.Input

	ToClusterMapOutput() ClusterMapOutput
	ToClusterMapOutputWithContext(context.Context) ClusterMapOutput
}

ClusterMapInput is an input type that accepts ClusterMap and ClusterMapOutput values. You can construct a concrete instance of `ClusterMapInput` via:

ClusterMap{ "key": ClusterArgs{...} }

type ClusterMapOutput

type ClusterMapOutput struct{ *pulumi.OutputState }

func (ClusterMapOutput) ElementType

func (ClusterMapOutput) ElementType() reflect.Type

func (ClusterMapOutput) MapIndex

func (ClusterMapOutput) ToClusterMapOutput

func (o ClusterMapOutput) ToClusterMapOutput() ClusterMapOutput

func (ClusterMapOutput) ToClusterMapOutputWithContext

func (o ClusterMapOutput) ToClusterMapOutputWithContext(ctx context.Context) ClusterMapOutput

type ClusterOutput

type ClusterOutput struct{ *pulumi.OutputState }

func (ClusterOutput) ApiAddress

func (o ClusterOutput) ApiAddress() pulumi.StringOutput

func (ClusterOutput) ClusterTemplateId

func (o ClusterOutput) ClusterTemplateId() pulumi.StringOutput

The UUID of the V1 Container Infra cluster template. Changing this creates a new cluster.

func (ClusterOutput) CoeVersion

func (o ClusterOutput) CoeVersion() pulumi.StringOutput

func (ClusterOutput) ContainerVersion

func (o ClusterOutput) ContainerVersion() pulumi.StringOutput

func (ClusterOutput) CreateTimeout

func (o ClusterOutput) CreateTimeout() pulumi.IntOutput

The timeout (in minutes) for creating the cluster. Changing this creates a new cluster.

func (ClusterOutput) CreatedAt

func (o ClusterOutput) CreatedAt() pulumi.StringOutput

func (ClusterOutput) DiscoveryUrl

func (o ClusterOutput) DiscoveryUrl() pulumi.StringOutput

The URL used for cluster node discovery. Changing this creates a new cluster.

func (ClusterOutput) DockerVolumeSize

func (o ClusterOutput) DockerVolumeSize() pulumi.IntOutput

The size (in GB) of the Docker volume. Changing this creates a new cluster.

func (ClusterOutput) ElementType

func (ClusterOutput) ElementType() reflect.Type

func (ClusterOutput) FixedNetwork

func (o ClusterOutput) FixedNetwork() pulumi.StringOutput

The fixed network that will be attached to the cluster. Changing this creates a new cluster.

func (ClusterOutput) FixedSubnet

func (o ClusterOutput) FixedSubnet() pulumi.StringOutput

The fixed subnet that will be attached to the cluster. Changing this creates a new cluster.

func (ClusterOutput) Flavor

func (o ClusterOutput) Flavor() pulumi.StringOutput

The flavor for the nodes of the cluster. Can be set via the `OS_MAGNUM_FLAVOR` environment variable. Changing this creates a new cluster.

func (ClusterOutput) FloatingIpEnabled

func (o ClusterOutput) FloatingIpEnabled() pulumi.BoolOutput

Indicates whether floating IP should be created for every cluster node. Changing this creates a new cluster.

func (ClusterOutput) Keypair

func (o ClusterOutput) Keypair() pulumi.StringOutput

The name of the Compute service SSH keypair. Changing this creates a new cluster.

func (ClusterOutput) Kubeconfig

func (o ClusterOutput) Kubeconfig() pulumi.StringMapOutput

func (ClusterOutput) Labels

The list of key value pairs representing additional properties of the cluster. Changing this creates a new cluster.

func (ClusterOutput) MasterAddresses

func (o ClusterOutput) MasterAddresses() pulumi.StringArrayOutput

func (ClusterOutput) MasterCount

func (o ClusterOutput) MasterCount() pulumi.IntOutput

The number of master nodes for the cluster. Changing this creates a new cluster.

func (ClusterOutput) MasterFlavor

func (o ClusterOutput) MasterFlavor() pulumi.StringOutput

The flavor for the master nodes. Can be set via the `OS_MAGNUM_MASTER_FLAVOR` environment variable. Changing this creates a new cluster.

func (ClusterOutput) MasterLbEnabled

func (o ClusterOutput) MasterLbEnabled() pulumi.BoolOutput

Indicates whether to create a load balancer for the master nodes. Changing this creates a new cluster.

func (ClusterOutput) MergeLabels

func (o ClusterOutput) MergeLabels() pulumi.BoolPtrOutput

Indicates whether the provided labels should be merged with cluster template labels. Changing this creates a new cluster.

func (ClusterOutput) Name

The name of the cluster. Changing this creates a new cluster.

func (ClusterOutput) NodeAddresses

func (o ClusterOutput) NodeAddresses() pulumi.StringArrayOutput

func (ClusterOutput) NodeCount

func (o ClusterOutput) NodeCount() pulumi.IntPtrOutput

The number of nodes for the cluster.

func (ClusterOutput) ProjectId

func (o ClusterOutput) ProjectId() pulumi.StringOutput

The project of the cluster. Required if admin wants to create a cluster in another project. Changing this creates a new cluster.

func (ClusterOutput) Region

func (o ClusterOutput) Region() pulumi.StringOutput

The region in which to obtain the V1 Container Infra client. A Container Infra client is needed to create a cluster. If omitted, the `region` argument of the provider is used. Changing this creates a new cluster.

func (ClusterOutput) StackId

func (o ClusterOutput) StackId() pulumi.StringOutput

func (ClusterOutput) ToClusterOutput

func (o ClusterOutput) ToClusterOutput() ClusterOutput

func (ClusterOutput) ToClusterOutputWithContext

func (o ClusterOutput) ToClusterOutputWithContext(ctx context.Context) ClusterOutput

func (ClusterOutput) UpdatedAt

func (o ClusterOutput) UpdatedAt() pulumi.StringOutput

func (ClusterOutput) UserId

func (o ClusterOutput) UserId() pulumi.StringOutput

The user of the cluster. Required if admin wants to create a cluster template for another user. Changing this creates a new cluster.

type ClusterState

type ClusterState struct {
	ApiAddress pulumi.StringPtrInput
	// The UUID of the V1 Container Infra cluster
	// template. Changing this creates a new cluster.
	ClusterTemplateId pulumi.StringPtrInput
	CoeVersion        pulumi.StringPtrInput
	ContainerVersion  pulumi.StringPtrInput
	// The timeout (in minutes) for creating the
	// cluster. Changing this creates a new cluster.
	CreateTimeout pulumi.IntPtrInput
	CreatedAt     pulumi.StringPtrInput
	// The URL used for cluster node discovery.
	// Changing this creates a new cluster.
	DiscoveryUrl pulumi.StringPtrInput
	// The size (in GB) of the Docker volume.
	// Changing this creates a new cluster.
	DockerVolumeSize pulumi.IntPtrInput
	// The fixed network that will be attached to the
	// cluster. Changing this creates a new cluster.
	FixedNetwork pulumi.StringPtrInput
	// The fixed subnet that will be attached to the
	// cluster. Changing this creates a new cluster.
	FixedSubnet pulumi.StringPtrInput
	// The flavor for the nodes of the cluster. Can be set via
	// the `OS_MAGNUM_FLAVOR` environment variable. Changing this creates a new
	// cluster.
	Flavor pulumi.StringPtrInput
	// Indicates whether floating IP should be
	// created for every cluster node. Changing this creates a new cluster.
	FloatingIpEnabled pulumi.BoolPtrInput
	// The name of the Compute service SSH keypair. Changing
	// this creates a new cluster.
	Keypair    pulumi.StringPtrInput
	Kubeconfig pulumi.StringMapInput
	// The list of key value pairs representing additional
	// properties of the cluster. Changing this creates a new cluster.
	Labels          pulumi.StringMapInput
	MasterAddresses pulumi.StringArrayInput
	// The number of master nodes for the cluster.
	// Changing this creates a new cluster.
	MasterCount pulumi.IntPtrInput
	// The flavor for the master nodes. Can be set via
	// the `OS_MAGNUM_MASTER_FLAVOR` environment variable. Changing this creates a
	// new cluster.
	MasterFlavor pulumi.StringPtrInput
	// Indicates whether to create a load balancer
	// for the master nodes. Changing this creates a new cluster.
	MasterLbEnabled pulumi.BoolPtrInput
	// Indicates whether the provided labels should be
	// merged with cluster template labels. Changing this creates a new cluster.
	MergeLabels pulumi.BoolPtrInput
	// The name of the cluster. Changing this creates a new
	// cluster.
	Name          pulumi.StringPtrInput
	NodeAddresses pulumi.StringArrayInput
	// The number of nodes for the cluster.
	NodeCount pulumi.IntPtrInput
	// The project of the cluster. Required if admin wants
	// to create a cluster in another project. Changing this creates a new
	// cluster.
	ProjectId pulumi.StringPtrInput
	// The region in which to obtain the V1 Container Infra
	// client. A Container Infra client is needed to create a cluster. If omitted,
	// the `region` argument of the provider is used. Changing this creates a new
	// cluster.
	Region    pulumi.StringPtrInput
	StackId   pulumi.StringPtrInput
	UpdatedAt pulumi.StringPtrInput
	// The user of the cluster. Required if admin wants to
	// create a cluster template for another user. Changing this creates a new
	// cluster.
	UserId pulumi.StringPtrInput
}

func (ClusterState) ElementType

func (ClusterState) ElementType() reflect.Type

type ClusterTemplate

type ClusterTemplate struct {
	pulumi.CustomResourceState

	// The API server port for the Container
	// Orchestration Engine for this cluster template. Changing this updates the
	// API server port of the existing cluster template.
	ApiserverPort pulumi.IntPtrOutput `pulumi:"apiserverPort"`
	// The distro for the cluster (fedora-atomic,
	// coreos, etc.). Changing this updates the cluster distro of the existing
	// cluster template.
	ClusterDistro pulumi.StringOutput `pulumi:"clusterDistro"`
	// The Container Orchestration Engine for this cluster
	// template. Changing this updates the engine of the existing cluster
	// template.
	Coe       pulumi.StringOutput `pulumi:"coe"`
	CreatedAt pulumi.StringOutput `pulumi:"createdAt"`
	// Address of the DNS nameserver that is used in
	// nodes of the cluster. Changing this updates the DNS nameserver of the
	// existing cluster template.
	DnsNameserver pulumi.StringPtrOutput `pulumi:"dnsNameserver"`
	// Docker storage driver. Changing this
	// updates the Docker storage driver of the existing cluster template.
	DockerStorageDriver pulumi.StringPtrOutput `pulumi:"dockerStorageDriver"`
	// The size (in GB) of the Docker volume.
	// Changing this updates the Docker volume size of the existing cluster
	// template.
	DockerVolumeSize pulumi.IntPtrOutput `pulumi:"dockerVolumeSize"`
	// The ID of the external network that will
	// be used for the cluster. Changing this updates the external network ID of
	// the existing cluster template.
	ExternalNetworkId pulumi.StringPtrOutput `pulumi:"externalNetworkId"`
	// The fixed network that will be attached to the
	// cluster. Changing this updates the fixed network of the existing cluster
	// template.
	FixedNetwork pulumi.StringPtrOutput `pulumi:"fixedNetwork"`
	// The fixed subnet that will be attached to the
	// cluster. Changing this updates the fixed subnet of the existing cluster
	// template.
	FixedSubnet pulumi.StringPtrOutput `pulumi:"fixedSubnet"`
	// The flavor for the nodes of the cluster. Can be set via
	// the `OS_MAGNUM_FLAVOR` environment variable. Changing this updates the
	// flavor of the existing cluster template.
	Flavor pulumi.StringPtrOutput `pulumi:"flavor"`
	// Indicates whether created cluster should
	// create floating IP for every node or not. Changing this updates the
	// floating IP enabled attribute of the existing cluster template.
	FloatingIpEnabled pulumi.BoolPtrOutput `pulumi:"floatingIpEnabled"`
	// Indicates whether the ClusterTemplate is hidden or not.
	// Changing this updates the hidden attribute of the existing cluster
	// template.
	Hidden pulumi.BoolPtrOutput `pulumi:"hidden"`
	// The address of a proxy for receiving all HTTP
	// requests and relay them. Changing this updates the HTTP proxy address of
	// the existing cluster template.
	HttpProxy pulumi.StringPtrOutput `pulumi:"httpProxy"`
	// The address of a proxy for receiving all HTTPS
	// requests and relay them. Changing this updates the HTTPS proxy address of
	// the existing cluster template.
	HttpsProxy pulumi.StringPtrOutput `pulumi:"httpsProxy"`
	// The reference to an image that is used for nodes of the
	// cluster. Can be set via the `OS_MAGNUM_IMAGE` environment variable.
	// Changing this updates the image attribute of the existing cluster template.
	Image pulumi.StringOutput `pulumi:"image"`
	// The insecure registry URL for the cluster
	// template. Changing this updates the insecure registry attribute of the
	// existing cluster template.
	InsecureRegistry pulumi.StringPtrOutput `pulumi:"insecureRegistry"`
	// The name of the Compute service SSH keypair.
	// Changing this updates the keypair of the existing cluster template.
	KeypairId pulumi.StringPtrOutput `pulumi:"keypairId"`
	// The list of key value pairs representing additional
	// properties of the cluster template. Changing this updates the labels of the
	// existing cluster template.
	Labels pulumi.StringMapOutput `pulumi:"labels"`
	// The flavor for the master nodes. Can be set via
	// the `OS_MAGNUM_MASTER_FLAVOR` environment variable. Changing this updates
	// the master flavor of the existing cluster template.
	MasterFlavor pulumi.StringPtrOutput `pulumi:"masterFlavor"`
	// Indicates whether created cluster should
	// has a loadbalancer for master nodes or not. Changing this updates the
	// attribute of the existing cluster template.
	MasterLbEnabled pulumi.BoolPtrOutput `pulumi:"masterLbEnabled"`
	// The name of the cluster template. Changing this updates
	// the name of the existing cluster template.
	Name pulumi.StringOutput `pulumi:"name"`
	// The name of the driver for the container
	// network. Changing this updates the network driver of the existing cluster
	// template.
	NetworkDriver pulumi.StringOutput `pulumi:"networkDriver"`
	// A comma-separated list of IP addresses that shouldn't
	// be used in the cluster. Changing this updates the no proxy list of the
	// existing cluster template.
	NoProxy pulumi.StringPtrOutput `pulumi:"noProxy"`
	// The project of the cluster template. Required if
	// admin wants to create a cluster template in another project. Changing this
	// creates a new cluster template.
	ProjectId pulumi.StringOutput `pulumi:"projectId"`
	// Indicates whether cluster template should be public.
	// Changing this updates the public attribute of the existing cluster
	// template.
	Public pulumi.BoolPtrOutput `pulumi:"public"`
	// The region in which to obtain the V1 Container Infra
	// client. A Container Infra client is needed to create a cluster template. If
	// omitted,the `region` argument of the provider is used. Changing this
	// creates a new cluster template.
	Region pulumi.StringOutput `pulumi:"region"`
	// Indicates whether Docker registry is enabled
	// in the cluster. Changing this updates the registry enabled attribute of the
	// existing cluster template.
	RegistryEnabled pulumi.BoolPtrOutput `pulumi:"registryEnabled"`
	// The server type for the cluster template. Changing
	// this updates the server type of the existing cluster template.
	ServerType pulumi.StringOutput `pulumi:"serverType"`
	// Indicates whether the TLS should be disabled in
	// the cluster. Changing this updates the attribute of the existing cluster.
	TlsDisabled pulumi.BoolPtrOutput `pulumi:"tlsDisabled"`
	UpdatedAt   pulumi.StringOutput  `pulumi:"updatedAt"`
	// The user of the cluster template. Required if admin
	// wants to create a cluster template for another user. Changing this creates
	// a new cluster template.
	UserId pulumi.StringOutput `pulumi:"userId"`
	// The name of the driver that is used for the
	// volumes of the cluster nodes. Changing this updates the volume driver of
	// the existing cluster template.
	VolumeDriver pulumi.StringPtrOutput `pulumi:"volumeDriver"`
}

Manages a V1 Magnum cluster template resource within OpenStack.

## Example Usage

### Create a Cluster template

```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v5/go/openstack/containerinfra"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := containerinfra.NewClusterTemplate(ctx, "clustertemplate_1", &containerinfra.ClusterTemplateArgs{
			Name:                pulumi.String("clustertemplate_1"),
			Image:               pulumi.String("Fedora-Atomic-27"),
			Coe:                 pulumi.String("kubernetes"),
			Flavor:              pulumi.String("m1.small"),
			MasterFlavor:        pulumi.String("m1.medium"),
			DnsNameserver:       pulumi.String("1.1.1.1"),
			DockerStorageDriver: pulumi.String("devicemapper"),
			DockerVolumeSize:    pulumi.Int(10),
			VolumeDriver:        pulumi.String("cinder"),
			NetworkDriver:       pulumi.String("flannel"),
			ServerType:          pulumi.String("vm"),
			MasterLbEnabled:     pulumi.Bool(true),
			FloatingIpEnabled:   pulumi.Bool(false),
			Labels: pulumi.StringMap{
				"kube_tag":                         pulumi.String("1.11.1"),
				"kube_dashboard_enabled":           pulumi.String("true"),
				"prometheus_monitoring":            pulumi.String("true"),
				"influx_grafana_dashboard_enabled": pulumi.String("true"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Attributes reference

The following attributes are exported:

* `region` - See Argument Reference above. * `name` - See Argument Reference above. * `projectId` - See Argument Reference above. * `createdAt` - The time at which cluster template was created. * `updatedAt` - The time at which cluster template was created. * `apiserverPort` - See Argument Reference above. * `coe` - See Argument Reference above. * `clusterDistro` - See Argument Reference above. * `dnsNameserver` - See Argument Reference above. * `dockerStorageDriver` - See Argument Reference above. * `dockerVolumeSize` - See Argument Reference above. * `externalNetworkId` - See Argument Reference above. * `fixedNetwork` - See Argument Reference above. * `fixedSubnet` - See Argument Reference above. * `flavor` - See Argument Reference above. * `masterFlavor` - See Argument Reference above. * `floatingIpEnabled` - See Argument Reference above. * `httpProxy` - See Argument Reference above. * `httpsProxy` - See Argument Reference above. * `image` - See Argument Reference above. * `insecureRegistry` - See Argument Reference above. * `keypairId` - See Argument Reference above. * `labels` - See Argument Reference above. * `links` - A list containing associated cluster template links. * `masterLbEnabled` - See Argument Reference above. * `networkDriver` - See Argument Reference above. * `noProxy` - See Argument Reference above. * `public` - See Argument Reference above. * `registryEnabled` - See Argument Reference above. * `serverType` - See Argument Reference above. * `tlsDisabled` - See Argument Reference above. * `volumeDriver` - See Argument Reference above. * `hidden` - See Argument Reference above.

## Import

Cluster templates can be imported using the `id`, e.g.

```sh $ pulumi import openstack:containerinfra/clusterTemplate:ClusterTemplate clustertemplate_1 b9a45c5c-cd03-4958-82aa-b80bf93cb922 ```

func GetClusterTemplate

func GetClusterTemplate(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ClusterTemplateState, opts ...pulumi.ResourceOption) (*ClusterTemplate, error)

GetClusterTemplate gets an existing ClusterTemplate resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewClusterTemplate

func NewClusterTemplate(ctx *pulumi.Context,
	name string, args *ClusterTemplateArgs, opts ...pulumi.ResourceOption) (*ClusterTemplate, error)

NewClusterTemplate registers a new resource with the given unique name, arguments, and options.

func (*ClusterTemplate) ElementType

func (*ClusterTemplate) ElementType() reflect.Type

func (*ClusterTemplate) ToClusterTemplateOutput

func (i *ClusterTemplate) ToClusterTemplateOutput() ClusterTemplateOutput

func (*ClusterTemplate) ToClusterTemplateOutputWithContext

func (i *ClusterTemplate) ToClusterTemplateOutputWithContext(ctx context.Context) ClusterTemplateOutput

type ClusterTemplateArgs

type ClusterTemplateArgs struct {
	// The API server port for the Container
	// Orchestration Engine for this cluster template. Changing this updates the
	// API server port of the existing cluster template.
	ApiserverPort pulumi.IntPtrInput
	// The distro for the cluster (fedora-atomic,
	// coreos, etc.). Changing this updates the cluster distro of the existing
	// cluster template.
	ClusterDistro pulumi.StringPtrInput
	// The Container Orchestration Engine for this cluster
	// template. Changing this updates the engine of the existing cluster
	// template.
	Coe pulumi.StringInput
	// Address of the DNS nameserver that is used in
	// nodes of the cluster. Changing this updates the DNS nameserver of the
	// existing cluster template.
	DnsNameserver pulumi.StringPtrInput
	// Docker storage driver. Changing this
	// updates the Docker storage driver of the existing cluster template.
	DockerStorageDriver pulumi.StringPtrInput
	// The size (in GB) of the Docker volume.
	// Changing this updates the Docker volume size of the existing cluster
	// template.
	DockerVolumeSize pulumi.IntPtrInput
	// The ID of the external network that will
	// be used for the cluster. Changing this updates the external network ID of
	// the existing cluster template.
	ExternalNetworkId pulumi.StringPtrInput
	// The fixed network that will be attached to the
	// cluster. Changing this updates the fixed network of the existing cluster
	// template.
	FixedNetwork pulumi.StringPtrInput
	// The fixed subnet that will be attached to the
	// cluster. Changing this updates the fixed subnet of the existing cluster
	// template.
	FixedSubnet pulumi.StringPtrInput
	// The flavor for the nodes of the cluster. Can be set via
	// the `OS_MAGNUM_FLAVOR` environment variable. Changing this updates the
	// flavor of the existing cluster template.
	Flavor pulumi.StringPtrInput
	// Indicates whether created cluster should
	// create floating IP for every node or not. Changing this updates the
	// floating IP enabled attribute of the existing cluster template.
	FloatingIpEnabled pulumi.BoolPtrInput
	// Indicates whether the ClusterTemplate is hidden or not.
	// Changing this updates the hidden attribute of the existing cluster
	// template.
	Hidden pulumi.BoolPtrInput
	// The address of a proxy for receiving all HTTP
	// requests and relay them. Changing this updates the HTTP proxy address of
	// the existing cluster template.
	HttpProxy pulumi.StringPtrInput
	// The address of a proxy for receiving all HTTPS
	// requests and relay them. Changing this updates the HTTPS proxy address of
	// the existing cluster template.
	HttpsProxy pulumi.StringPtrInput
	// The reference to an image that is used for nodes of the
	// cluster. Can be set via the `OS_MAGNUM_IMAGE` environment variable.
	// Changing this updates the image attribute of the existing cluster template.
	Image pulumi.StringInput
	// The insecure registry URL for the cluster
	// template. Changing this updates the insecure registry attribute of the
	// existing cluster template.
	InsecureRegistry pulumi.StringPtrInput
	// The name of the Compute service SSH keypair.
	// Changing this updates the keypair of the existing cluster template.
	KeypairId pulumi.StringPtrInput
	// The list of key value pairs representing additional
	// properties of the cluster template. Changing this updates the labels of the
	// existing cluster template.
	Labels pulumi.StringMapInput
	// The flavor for the master nodes. Can be set via
	// the `OS_MAGNUM_MASTER_FLAVOR` environment variable. Changing this updates
	// the master flavor of the existing cluster template.
	MasterFlavor pulumi.StringPtrInput
	// Indicates whether created cluster should
	// has a loadbalancer for master nodes or not. Changing this updates the
	// attribute of the existing cluster template.
	MasterLbEnabled pulumi.BoolPtrInput
	// The name of the cluster template. Changing this updates
	// the name of the existing cluster template.
	Name pulumi.StringPtrInput
	// The name of the driver for the container
	// network. Changing this updates the network driver of the existing cluster
	// template.
	NetworkDriver pulumi.StringPtrInput
	// A comma-separated list of IP addresses that shouldn't
	// be used in the cluster. Changing this updates the no proxy list of the
	// existing cluster template.
	NoProxy pulumi.StringPtrInput
	// Indicates whether cluster template should be public.
	// Changing this updates the public attribute of the existing cluster
	// template.
	Public pulumi.BoolPtrInput
	// The region in which to obtain the V1 Container Infra
	// client. A Container Infra client is needed to create a cluster template. If
	// omitted,the `region` argument of the provider is used. Changing this
	// creates a new cluster template.
	Region pulumi.StringPtrInput
	// Indicates whether Docker registry is enabled
	// in the cluster. Changing this updates the registry enabled attribute of the
	// existing cluster template.
	RegistryEnabled pulumi.BoolPtrInput
	// The server type for the cluster template. Changing
	// this updates the server type of the existing cluster template.
	ServerType pulumi.StringPtrInput
	// Indicates whether the TLS should be disabled in
	// the cluster. Changing this updates the attribute of the existing cluster.
	TlsDisabled pulumi.BoolPtrInput
	// The name of the driver that is used for the
	// volumes of the cluster nodes. Changing this updates the volume driver of
	// the existing cluster template.
	VolumeDriver pulumi.StringPtrInput
}

The set of arguments for constructing a ClusterTemplate resource.

func (ClusterTemplateArgs) ElementType

func (ClusterTemplateArgs) ElementType() reflect.Type

type ClusterTemplateArray

type ClusterTemplateArray []ClusterTemplateInput

func (ClusterTemplateArray) ElementType

func (ClusterTemplateArray) ElementType() reflect.Type

func (ClusterTemplateArray) ToClusterTemplateArrayOutput

func (i ClusterTemplateArray) ToClusterTemplateArrayOutput() ClusterTemplateArrayOutput

func (ClusterTemplateArray) ToClusterTemplateArrayOutputWithContext

func (i ClusterTemplateArray) ToClusterTemplateArrayOutputWithContext(ctx context.Context) ClusterTemplateArrayOutput

type ClusterTemplateArrayInput

type ClusterTemplateArrayInput interface {
	pulumi.Input

	ToClusterTemplateArrayOutput() ClusterTemplateArrayOutput
	ToClusterTemplateArrayOutputWithContext(context.Context) ClusterTemplateArrayOutput
}

ClusterTemplateArrayInput is an input type that accepts ClusterTemplateArray and ClusterTemplateArrayOutput values. You can construct a concrete instance of `ClusterTemplateArrayInput` via:

ClusterTemplateArray{ ClusterTemplateArgs{...} }

type ClusterTemplateArrayOutput

type ClusterTemplateArrayOutput struct{ *pulumi.OutputState }

func (ClusterTemplateArrayOutput) ElementType

func (ClusterTemplateArrayOutput) ElementType() reflect.Type

func (ClusterTemplateArrayOutput) Index

func (ClusterTemplateArrayOutput) ToClusterTemplateArrayOutput

func (o ClusterTemplateArrayOutput) ToClusterTemplateArrayOutput() ClusterTemplateArrayOutput

func (ClusterTemplateArrayOutput) ToClusterTemplateArrayOutputWithContext

func (o ClusterTemplateArrayOutput) ToClusterTemplateArrayOutputWithContext(ctx context.Context) ClusterTemplateArrayOutput

type ClusterTemplateInput

type ClusterTemplateInput interface {
	pulumi.Input

	ToClusterTemplateOutput() ClusterTemplateOutput
	ToClusterTemplateOutputWithContext(ctx context.Context) ClusterTemplateOutput
}

type ClusterTemplateMap

type ClusterTemplateMap map[string]ClusterTemplateInput

func (ClusterTemplateMap) ElementType

func (ClusterTemplateMap) ElementType() reflect.Type

func (ClusterTemplateMap) ToClusterTemplateMapOutput

func (i ClusterTemplateMap) ToClusterTemplateMapOutput() ClusterTemplateMapOutput

func (ClusterTemplateMap) ToClusterTemplateMapOutputWithContext

func (i ClusterTemplateMap) ToClusterTemplateMapOutputWithContext(ctx context.Context) ClusterTemplateMapOutput

type ClusterTemplateMapInput

type ClusterTemplateMapInput interface {
	pulumi.Input

	ToClusterTemplateMapOutput() ClusterTemplateMapOutput
	ToClusterTemplateMapOutputWithContext(context.Context) ClusterTemplateMapOutput
}

ClusterTemplateMapInput is an input type that accepts ClusterTemplateMap and ClusterTemplateMapOutput values. You can construct a concrete instance of `ClusterTemplateMapInput` via:

ClusterTemplateMap{ "key": ClusterTemplateArgs{...} }

type ClusterTemplateMapOutput

type ClusterTemplateMapOutput struct{ *pulumi.OutputState }

func (ClusterTemplateMapOutput) ElementType

func (ClusterTemplateMapOutput) ElementType() reflect.Type

func (ClusterTemplateMapOutput) MapIndex

func (ClusterTemplateMapOutput) ToClusterTemplateMapOutput

func (o ClusterTemplateMapOutput) ToClusterTemplateMapOutput() ClusterTemplateMapOutput

func (ClusterTemplateMapOutput) ToClusterTemplateMapOutputWithContext

func (o ClusterTemplateMapOutput) ToClusterTemplateMapOutputWithContext(ctx context.Context) ClusterTemplateMapOutput

type ClusterTemplateOutput

type ClusterTemplateOutput struct{ *pulumi.OutputState }

func (ClusterTemplateOutput) ApiserverPort

func (o ClusterTemplateOutput) ApiserverPort() pulumi.IntPtrOutput

The API server port for the Container Orchestration Engine for this cluster template. Changing this updates the API server port of the existing cluster template.

func (ClusterTemplateOutput) ClusterDistro

func (o ClusterTemplateOutput) ClusterDistro() pulumi.StringOutput

The distro for the cluster (fedora-atomic, coreos, etc.). Changing this updates the cluster distro of the existing cluster template.

func (ClusterTemplateOutput) Coe

The Container Orchestration Engine for this cluster template. Changing this updates the engine of the existing cluster template.

func (ClusterTemplateOutput) CreatedAt

func (ClusterTemplateOutput) DnsNameserver

func (o ClusterTemplateOutput) DnsNameserver() pulumi.StringPtrOutput

Address of the DNS nameserver that is used in nodes of the cluster. Changing this updates the DNS nameserver of the existing cluster template.

func (ClusterTemplateOutput) DockerStorageDriver

func (o ClusterTemplateOutput) DockerStorageDriver() pulumi.StringPtrOutput

Docker storage driver. Changing this updates the Docker storage driver of the existing cluster template.

func (ClusterTemplateOutput) DockerVolumeSize

func (o ClusterTemplateOutput) DockerVolumeSize() pulumi.IntPtrOutput

The size (in GB) of the Docker volume. Changing this updates the Docker volume size of the existing cluster template.

func (ClusterTemplateOutput) ElementType

func (ClusterTemplateOutput) ElementType() reflect.Type

func (ClusterTemplateOutput) ExternalNetworkId

func (o ClusterTemplateOutput) ExternalNetworkId() pulumi.StringPtrOutput

The ID of the external network that will be used for the cluster. Changing this updates the external network ID of the existing cluster template.

func (ClusterTemplateOutput) FixedNetwork

func (o ClusterTemplateOutput) FixedNetwork() pulumi.StringPtrOutput

The fixed network that will be attached to the cluster. Changing this updates the fixed network of the existing cluster template.

func (ClusterTemplateOutput) FixedSubnet

The fixed subnet that will be attached to the cluster. Changing this updates the fixed subnet of the existing cluster template.

func (ClusterTemplateOutput) Flavor

The flavor for the nodes of the cluster. Can be set via the `OS_MAGNUM_FLAVOR` environment variable. Changing this updates the flavor of the existing cluster template.

func (ClusterTemplateOutput) FloatingIpEnabled

func (o ClusterTemplateOutput) FloatingIpEnabled() pulumi.BoolPtrOutput

Indicates whether created cluster should create floating IP for every node or not. Changing this updates the floating IP enabled attribute of the existing cluster template.

func (ClusterTemplateOutput) Hidden

Indicates whether the ClusterTemplate is hidden or not. Changing this updates the hidden attribute of the existing cluster template.

func (ClusterTemplateOutput) HttpProxy

The address of a proxy for receiving all HTTP requests and relay them. Changing this updates the HTTP proxy address of the existing cluster template.

func (ClusterTemplateOutput) HttpsProxy

The address of a proxy for receiving all HTTPS requests and relay them. Changing this updates the HTTPS proxy address of the existing cluster template.

func (ClusterTemplateOutput) Image

The reference to an image that is used for nodes of the cluster. Can be set via the `OS_MAGNUM_IMAGE` environment variable. Changing this updates the image attribute of the existing cluster template.

func (ClusterTemplateOutput) InsecureRegistry

func (o ClusterTemplateOutput) InsecureRegistry() pulumi.StringPtrOutput

The insecure registry URL for the cluster template. Changing this updates the insecure registry attribute of the existing cluster template.

func (ClusterTemplateOutput) KeypairId

The name of the Compute service SSH keypair. Changing this updates the keypair of the existing cluster template.

func (ClusterTemplateOutput) Labels

The list of key value pairs representing additional properties of the cluster template. Changing this updates the labels of the existing cluster template.

func (ClusterTemplateOutput) MasterFlavor

func (o ClusterTemplateOutput) MasterFlavor() pulumi.StringPtrOutput

The flavor for the master nodes. Can be set via the `OS_MAGNUM_MASTER_FLAVOR` environment variable. Changing this updates the master flavor of the existing cluster template.

func (ClusterTemplateOutput) MasterLbEnabled

func (o ClusterTemplateOutput) MasterLbEnabled() pulumi.BoolPtrOutput

Indicates whether created cluster should has a loadbalancer for master nodes or not. Changing this updates the attribute of the existing cluster template.

func (ClusterTemplateOutput) Name

The name of the cluster template. Changing this updates the name of the existing cluster template.

func (ClusterTemplateOutput) NetworkDriver

func (o ClusterTemplateOutput) NetworkDriver() pulumi.StringOutput

The name of the driver for the container network. Changing this updates the network driver of the existing cluster template.

func (ClusterTemplateOutput) NoProxy

A comma-separated list of IP addresses that shouldn't be used in the cluster. Changing this updates the no proxy list of the existing cluster template.

func (ClusterTemplateOutput) ProjectId

The project of the cluster template. Required if admin wants to create a cluster template in another project. Changing this creates a new cluster template.

func (ClusterTemplateOutput) Public

Indicates whether cluster template should be public. Changing this updates the public attribute of the existing cluster template.

func (ClusterTemplateOutput) Region

The region in which to obtain the V1 Container Infra client. A Container Infra client is needed to create a cluster template. If omitted,the `region` argument of the provider is used. Changing this creates a new cluster template.

func (ClusterTemplateOutput) RegistryEnabled

func (o ClusterTemplateOutput) RegistryEnabled() pulumi.BoolPtrOutput

Indicates whether Docker registry is enabled in the cluster. Changing this updates the registry enabled attribute of the existing cluster template.

func (ClusterTemplateOutput) ServerType

func (o ClusterTemplateOutput) ServerType() pulumi.StringOutput

The server type for the cluster template. Changing this updates the server type of the existing cluster template.

func (ClusterTemplateOutput) TlsDisabled

func (o ClusterTemplateOutput) TlsDisabled() pulumi.BoolPtrOutput

Indicates whether the TLS should be disabled in the cluster. Changing this updates the attribute of the existing cluster.

func (ClusterTemplateOutput) ToClusterTemplateOutput

func (o ClusterTemplateOutput) ToClusterTemplateOutput() ClusterTemplateOutput

func (ClusterTemplateOutput) ToClusterTemplateOutputWithContext

func (o ClusterTemplateOutput) ToClusterTemplateOutputWithContext(ctx context.Context) ClusterTemplateOutput

func (ClusterTemplateOutput) UpdatedAt

func (ClusterTemplateOutput) UserId

The user of the cluster template. Required if admin wants to create a cluster template for another user. Changing this creates a new cluster template.

func (ClusterTemplateOutput) VolumeDriver

func (o ClusterTemplateOutput) VolumeDriver() pulumi.StringPtrOutput

The name of the driver that is used for the volumes of the cluster nodes. Changing this updates the volume driver of the existing cluster template.

type ClusterTemplateState

type ClusterTemplateState struct {
	// The API server port for the Container
	// Orchestration Engine for this cluster template. Changing this updates the
	// API server port of the existing cluster template.
	ApiserverPort pulumi.IntPtrInput
	// The distro for the cluster (fedora-atomic,
	// coreos, etc.). Changing this updates the cluster distro of the existing
	// cluster template.
	ClusterDistro pulumi.StringPtrInput
	// The Container Orchestration Engine for this cluster
	// template. Changing this updates the engine of the existing cluster
	// template.
	Coe       pulumi.StringPtrInput
	CreatedAt pulumi.StringPtrInput
	// Address of the DNS nameserver that is used in
	// nodes of the cluster. Changing this updates the DNS nameserver of the
	// existing cluster template.
	DnsNameserver pulumi.StringPtrInput
	// Docker storage driver. Changing this
	// updates the Docker storage driver of the existing cluster template.
	DockerStorageDriver pulumi.StringPtrInput
	// The size (in GB) of the Docker volume.
	// Changing this updates the Docker volume size of the existing cluster
	// template.
	DockerVolumeSize pulumi.IntPtrInput
	// The ID of the external network that will
	// be used for the cluster. Changing this updates the external network ID of
	// the existing cluster template.
	ExternalNetworkId pulumi.StringPtrInput
	// The fixed network that will be attached to the
	// cluster. Changing this updates the fixed network of the existing cluster
	// template.
	FixedNetwork pulumi.StringPtrInput
	// The fixed subnet that will be attached to the
	// cluster. Changing this updates the fixed subnet of the existing cluster
	// template.
	FixedSubnet pulumi.StringPtrInput
	// The flavor for the nodes of the cluster. Can be set via
	// the `OS_MAGNUM_FLAVOR` environment variable. Changing this updates the
	// flavor of the existing cluster template.
	Flavor pulumi.StringPtrInput
	// Indicates whether created cluster should
	// create floating IP for every node or not. Changing this updates the
	// floating IP enabled attribute of the existing cluster template.
	FloatingIpEnabled pulumi.BoolPtrInput
	// Indicates whether the ClusterTemplate is hidden or not.
	// Changing this updates the hidden attribute of the existing cluster
	// template.
	Hidden pulumi.BoolPtrInput
	// The address of a proxy for receiving all HTTP
	// requests and relay them. Changing this updates the HTTP proxy address of
	// the existing cluster template.
	HttpProxy pulumi.StringPtrInput
	// The address of a proxy for receiving all HTTPS
	// requests and relay them. Changing this updates the HTTPS proxy address of
	// the existing cluster template.
	HttpsProxy pulumi.StringPtrInput
	// The reference to an image that is used for nodes of the
	// cluster. Can be set via the `OS_MAGNUM_IMAGE` environment variable.
	// Changing this updates the image attribute of the existing cluster template.
	Image pulumi.StringPtrInput
	// The insecure registry URL for the cluster
	// template. Changing this updates the insecure registry attribute of the
	// existing cluster template.
	InsecureRegistry pulumi.StringPtrInput
	// The name of the Compute service SSH keypair.
	// Changing this updates the keypair of the existing cluster template.
	KeypairId pulumi.StringPtrInput
	// The list of key value pairs representing additional
	// properties of the cluster template. Changing this updates the labels of the
	// existing cluster template.
	Labels pulumi.StringMapInput
	// The flavor for the master nodes. Can be set via
	// the `OS_MAGNUM_MASTER_FLAVOR` environment variable. Changing this updates
	// the master flavor of the existing cluster template.
	MasterFlavor pulumi.StringPtrInput
	// Indicates whether created cluster should
	// has a loadbalancer for master nodes or not. Changing this updates the
	// attribute of the existing cluster template.
	MasterLbEnabled pulumi.BoolPtrInput
	// The name of the cluster template. Changing this updates
	// the name of the existing cluster template.
	Name pulumi.StringPtrInput
	// The name of the driver for the container
	// network. Changing this updates the network driver of the existing cluster
	// template.
	NetworkDriver pulumi.StringPtrInput
	// A comma-separated list of IP addresses that shouldn't
	// be used in the cluster. Changing this updates the no proxy list of the
	// existing cluster template.
	NoProxy pulumi.StringPtrInput
	// The project of the cluster template. Required if
	// admin wants to create a cluster template in another project. Changing this
	// creates a new cluster template.
	ProjectId pulumi.StringPtrInput
	// Indicates whether cluster template should be public.
	// Changing this updates the public attribute of the existing cluster
	// template.
	Public pulumi.BoolPtrInput
	// The region in which to obtain the V1 Container Infra
	// client. A Container Infra client is needed to create a cluster template. If
	// omitted,the `region` argument of the provider is used. Changing this
	// creates a new cluster template.
	Region pulumi.StringPtrInput
	// Indicates whether Docker registry is enabled
	// in the cluster. Changing this updates the registry enabled attribute of the
	// existing cluster template.
	RegistryEnabled pulumi.BoolPtrInput
	// The server type for the cluster template. Changing
	// this updates the server type of the existing cluster template.
	ServerType pulumi.StringPtrInput
	// Indicates whether the TLS should be disabled in
	// the cluster. Changing this updates the attribute of the existing cluster.
	TlsDisabled pulumi.BoolPtrInput
	UpdatedAt   pulumi.StringPtrInput
	// The user of the cluster template. Required if admin
	// wants to create a cluster template for another user. Changing this creates
	// a new cluster template.
	UserId pulumi.StringPtrInput
	// The name of the driver that is used for the
	// volumes of the cluster nodes. Changing this updates the volume driver of
	// the existing cluster template.
	VolumeDriver pulumi.StringPtrInput
}

func (ClusterTemplateState) ElementType

func (ClusterTemplateState) ElementType() reflect.Type

type LookupClusterArgs

type LookupClusterArgs struct {
	// The name of the cluster.
	Name string `pulumi:"name"`
	// The region in which to obtain the V1 Container Infra
	// client.
	// If omitted, the `region` argument of the provider is used.
	Region *string `pulumi:"region"`
}

A collection of arguments for invoking getCluster.

type LookupClusterOutputArgs

type LookupClusterOutputArgs struct {
	// The name of the cluster.
	Name pulumi.StringInput `pulumi:"name"`
	// The region in which to obtain the V1 Container Infra
	// client.
	// If omitted, the `region` argument of the provider is used.
	Region pulumi.StringPtrInput `pulumi:"region"`
}

A collection of arguments for invoking getCluster.

func (LookupClusterOutputArgs) ElementType

func (LookupClusterOutputArgs) ElementType() reflect.Type

type LookupClusterResult

type LookupClusterResult struct {
	// COE API address.
	ApiAddress string `pulumi:"apiAddress"`
	// The UUID of the V1 Container Infra cluster template.
	ClusterTemplateId string `pulumi:"clusterTemplateId"`
	// COE software version.
	CoeVersion       string `pulumi:"coeVersion"`
	ContainerVersion string `pulumi:"containerVersion"`
	// The timeout (in minutes) for creating the cluster.
	CreateTimeout int `pulumi:"createTimeout"`
	// The time at which cluster was created.
	CreatedAt string `pulumi:"createdAt"`
	// The URL used for cluster node discovery.
	DiscoveryUrl string `pulumi:"discoveryUrl"`
	// The size (in GB) of the Docker volume.
	DockerVolumeSize int `pulumi:"dockerVolumeSize"`
	// The fixed network that is attached to the cluster.
	FixedNetwork string `pulumi:"fixedNetwork"`
	// The fixed subnet that is attached to the cluster.
	FixedSubnet string `pulumi:"fixedSubnet"`
	// The flavor for the nodes of the cluster.
	Flavor            string `pulumi:"flavor"`
	FloatingIpEnabled bool   `pulumi:"floatingIpEnabled"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The name of the Compute service SSH keypair.
	Keypair string `pulumi:"keypair"`
	// The Kubernetes cluster's credentials
	Kubeconfig map[string]string `pulumi:"kubeconfig"`
	// The list of key value pairs representing additional properties of
	// the cluster.
	Labels map[string]string `pulumi:"labels"`
	// IP addresses of the master node of the cluster.
	MasterAddresses []string `pulumi:"masterAddresses"`
	// The number of master nodes for the cluster.
	MasterCount int `pulumi:"masterCount"`
	// The flavor for the master nodes.
	MasterFlavor string `pulumi:"masterFlavor"`
	// Whether a load balancer is created for the master
	// cluster nodes.
	MasterLbEnabled bool `pulumi:"masterLbEnabled"`
	// See Argument Reference above.
	Name string `pulumi:"name"`
	// IP addresses of the node of the cluster.
	NodeAddresses []string `pulumi:"nodeAddresses"`
	// The number of nodes for the cluster.
	NodeCount int `pulumi:"nodeCount"`
	// The project of the cluster.
	ProjectId string `pulumi:"projectId"`
	// See Argument Reference above.
	Region string `pulumi:"region"`
	// UUID of the Orchestration service stack.
	StackId string `pulumi:"stackId"`
	// The time at which cluster was updated.
	UpdatedAt string `pulumi:"updatedAt"`
	// The user of the cluster.
	UserId string `pulumi:"userId"`
}

A collection of values returned by getCluster.

func LookupCluster

func LookupCluster(ctx *pulumi.Context, args *LookupClusterArgs, opts ...pulumi.InvokeOption) (*LookupClusterResult, error)

Use this data source to get the ID of an available OpenStack Magnum cluster.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v5/go/openstack/containerinfra"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := containerinfra.LookupCluster(ctx, &containerinfra.LookupClusterArgs{
			Name: "cluster_1",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupClusterResultOutput

type LookupClusterResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getCluster.

func (LookupClusterResultOutput) ApiAddress

COE API address.

func (LookupClusterResultOutput) ClusterTemplateId

func (o LookupClusterResultOutput) ClusterTemplateId() pulumi.StringOutput

The UUID of the V1 Container Infra cluster template.

func (LookupClusterResultOutput) CoeVersion

COE software version.

func (LookupClusterResultOutput) ContainerVersion

func (o LookupClusterResultOutput) ContainerVersion() pulumi.StringOutput

func (LookupClusterResultOutput) CreateTimeout

func (o LookupClusterResultOutput) CreateTimeout() pulumi.IntOutput

The timeout (in minutes) for creating the cluster.

func (LookupClusterResultOutput) CreatedAt

The time at which cluster was created.

func (LookupClusterResultOutput) DiscoveryUrl

The URL used for cluster node discovery.

func (LookupClusterResultOutput) DockerVolumeSize

func (o LookupClusterResultOutput) DockerVolumeSize() pulumi.IntOutput

The size (in GB) of the Docker volume.

func (LookupClusterResultOutput) ElementType

func (LookupClusterResultOutput) ElementType() reflect.Type

func (LookupClusterResultOutput) FixedNetwork

The fixed network that is attached to the cluster.

func (LookupClusterResultOutput) FixedSubnet

The fixed subnet that is attached to the cluster.

func (LookupClusterResultOutput) Flavor

The flavor for the nodes of the cluster.

func (LookupClusterResultOutput) FloatingIpEnabled

func (o LookupClusterResultOutput) FloatingIpEnabled() pulumi.BoolOutput

func (LookupClusterResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupClusterResultOutput) Keypair

The name of the Compute service SSH keypair.

func (LookupClusterResultOutput) Kubeconfig

The Kubernetes cluster's credentials

func (LookupClusterResultOutput) Labels

The list of key value pairs representing additional properties of the cluster.

func (LookupClusterResultOutput) MasterAddresses

IP addresses of the master node of the cluster.

func (LookupClusterResultOutput) MasterCount

func (o LookupClusterResultOutput) MasterCount() pulumi.IntOutput

The number of master nodes for the cluster.

func (LookupClusterResultOutput) MasterFlavor

The flavor for the master nodes.

func (LookupClusterResultOutput) MasterLbEnabled

func (o LookupClusterResultOutput) MasterLbEnabled() pulumi.BoolOutput

Whether a load balancer is created for the master cluster nodes.

func (LookupClusterResultOutput) Name

See Argument Reference above.

func (LookupClusterResultOutput) NodeAddresses

IP addresses of the node of the cluster.

func (LookupClusterResultOutput) NodeCount

The number of nodes for the cluster.

func (LookupClusterResultOutput) ProjectId

The project of the cluster.

func (LookupClusterResultOutput) Region

See Argument Reference above.

func (LookupClusterResultOutput) StackId

UUID of the Orchestration service stack.

func (LookupClusterResultOutput) ToLookupClusterResultOutput

func (o LookupClusterResultOutput) ToLookupClusterResultOutput() LookupClusterResultOutput

func (LookupClusterResultOutput) ToLookupClusterResultOutputWithContext

func (o LookupClusterResultOutput) ToLookupClusterResultOutputWithContext(ctx context.Context) LookupClusterResultOutput

func (LookupClusterResultOutput) UpdatedAt

The time at which cluster was updated.

func (LookupClusterResultOutput) UserId

The user of the cluster.

type LookupClusterTemplateArgs

type LookupClusterTemplateArgs struct {
	// The name of the cluster template.
	Name string `pulumi:"name"`
	// The region in which to obtain the V1 Container Infra
	// client.
	// If omitted, the `region` argument of the provider is used.
	Region *string `pulumi:"region"`
}

A collection of arguments for invoking getClusterTemplate.

type LookupClusterTemplateOutputArgs

type LookupClusterTemplateOutputArgs struct {
	// The name of the cluster template.
	Name pulumi.StringInput `pulumi:"name"`
	// The region in which to obtain the V1 Container Infra
	// client.
	// If omitted, the `region` argument of the provider is used.
	Region pulumi.StringPtrInput `pulumi:"region"`
}

A collection of arguments for invoking getClusterTemplate.

func (LookupClusterTemplateOutputArgs) ElementType

type LookupClusterTemplateResult

type LookupClusterTemplateResult struct {
	// The API server port for the Container Orchestration
	// Engine for this cluster template.
	ApiserverPort int `pulumi:"apiserverPort"`
	// The distro for the cluster (fedora-atomic, coreos, etc.).
	ClusterDistro string `pulumi:"clusterDistro"`
	// The Container Orchestration Engine for this cluster template.
	Coe string `pulumi:"coe"`
	// The time at which cluster template was created.
	CreatedAt string `pulumi:"createdAt"`
	// Address of the DNS nameserver that is used in nodes of the
	// cluster.
	DnsNameserver string `pulumi:"dnsNameserver"`
	// Docker storage driver. Changing this updates the
	// Docker storage driver of the existing cluster template.
	DockerStorageDriver string `pulumi:"dockerStorageDriver"`
	// The size (in GB) of the Docker volume.
	DockerVolumeSize int `pulumi:"dockerVolumeSize"`
	// The ID of the external network that will be used for
	// the cluster.
	ExternalNetworkId string `pulumi:"externalNetworkId"`
	// The fixed network that will be attached to the cluster.
	FixedNetwork string `pulumi:"fixedNetwork"`
	// =The fixed subnet that will be attached to the cluster.
	FixedSubnet string `pulumi:"fixedSubnet"`
	// The flavor for the nodes of the cluster.
	Flavor string `pulumi:"flavor"`
	// Indicates whether created cluster should create IP
	// floating IP for every node or not.
	FloatingIpEnabled bool `pulumi:"floatingIpEnabled"`
	// Indicates whether the ClusterTemplate is hidden or not.
	Hidden bool `pulumi:"hidden"`
	// The address of a proxy for receiving all HTTP requests and
	// relay them.
	HttpProxy string `pulumi:"httpProxy"`
	// The address of a proxy for receiving all HTTPS requests and
	// relay them.
	HttpsProxy string `pulumi:"httpsProxy"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The reference to an image that is used for nodes of the cluster.
	Image string `pulumi:"image"`
	// The insecure registry URL for the cluster template.
	InsecureRegistry string `pulumi:"insecureRegistry"`
	// The name of the Compute service SSH keypair.
	KeypairId string `pulumi:"keypairId"`
	// The list of key value pairs representing additional properties
	// of the cluster template.
	Labels map[string]string `pulumi:"labels"`
	// The flavor for the master nodes.
	MasterFlavor string `pulumi:"masterFlavor"`
	// Indicates whether created cluster should has a
	// loadbalancer for master nodes or not.
	MasterLbEnabled bool `pulumi:"masterLbEnabled"`
	// See Argument Reference above.
	Name string `pulumi:"name"`
	// The name of the driver for the container network.
	NetworkDriver string `pulumi:"networkDriver"`
	// A comma-separated list of IP addresses that shouldn't be used in
	// the cluster.
	NoProxy string `pulumi:"noProxy"`
	// The project of the cluster template.
	ProjectId string `pulumi:"projectId"`
	// Indicates whether cluster template should be public.
	Public bool `pulumi:"public"`
	// See Argument Reference above.
	Region string `pulumi:"region"`
	// Indicates whether Docker registry is enabled in the
	// cluster.
	RegistryEnabled bool `pulumi:"registryEnabled"`
	// The server type for the cluster template.
	ServerType string `pulumi:"serverType"`
	// Indicates whether the TLS should be disabled in the cluster.
	TlsDisabled bool `pulumi:"tlsDisabled"`
	// The time at which cluster template was updated.
	UpdatedAt string `pulumi:"updatedAt"`
	// The user of the cluster template.
	UserId string `pulumi:"userId"`
	// The name of the driver that is used for the volumes of the
	// cluster nodes.
	VolumeDriver string `pulumi:"volumeDriver"`
}

A collection of values returned by getClusterTemplate.

func LookupClusterTemplate

func LookupClusterTemplate(ctx *pulumi.Context, args *LookupClusterTemplateArgs, opts ...pulumi.InvokeOption) (*LookupClusterTemplateResult, error)

Use this data source to get the ID of an available OpenStack Magnum cluster template.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v5/go/openstack/containerinfra"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := containerinfra.LookupClusterTemplate(ctx, &containerinfra.LookupClusterTemplateArgs{
			Name: "clustertemplate_1",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupClusterTemplateResultOutput

type LookupClusterTemplateResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getClusterTemplate.

func (LookupClusterTemplateResultOutput) ApiserverPort

The API server port for the Container Orchestration Engine for this cluster template.

func (LookupClusterTemplateResultOutput) ClusterDistro

The distro for the cluster (fedora-atomic, coreos, etc.).

func (LookupClusterTemplateResultOutput) Coe

The Container Orchestration Engine for this cluster template.

func (LookupClusterTemplateResultOutput) CreatedAt

The time at which cluster template was created.

func (LookupClusterTemplateResultOutput) DnsNameserver

Address of the DNS nameserver that is used in nodes of the cluster.

func (LookupClusterTemplateResultOutput) DockerStorageDriver

func (o LookupClusterTemplateResultOutput) DockerStorageDriver() pulumi.StringOutput

Docker storage driver. Changing this updates the Docker storage driver of the existing cluster template.

func (LookupClusterTemplateResultOutput) DockerVolumeSize

func (o LookupClusterTemplateResultOutput) DockerVolumeSize() pulumi.IntOutput

The size (in GB) of the Docker volume.

func (LookupClusterTemplateResultOutput) ElementType

func (LookupClusterTemplateResultOutput) ExternalNetworkId

The ID of the external network that will be used for the cluster.

func (LookupClusterTemplateResultOutput) FixedNetwork

The fixed network that will be attached to the cluster.

func (LookupClusterTemplateResultOutput) FixedSubnet

=The fixed subnet that will be attached to the cluster.

func (LookupClusterTemplateResultOutput) Flavor

The flavor for the nodes of the cluster.

func (LookupClusterTemplateResultOutput) FloatingIpEnabled

func (o LookupClusterTemplateResultOutput) FloatingIpEnabled() pulumi.BoolOutput

Indicates whether created cluster should create IP floating IP for every node or not.

func (LookupClusterTemplateResultOutput) Hidden

Indicates whether the ClusterTemplate is hidden or not.

func (LookupClusterTemplateResultOutput) HttpProxy

The address of a proxy for receiving all HTTP requests and relay them.

func (LookupClusterTemplateResultOutput) HttpsProxy

The address of a proxy for receiving all HTTPS requests and relay them.

func (LookupClusterTemplateResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupClusterTemplateResultOutput) Image

The reference to an image that is used for nodes of the cluster.

func (LookupClusterTemplateResultOutput) InsecureRegistry

The insecure registry URL for the cluster template.

func (LookupClusterTemplateResultOutput) KeypairId

The name of the Compute service SSH keypair.

func (LookupClusterTemplateResultOutput) Labels

The list of key value pairs representing additional properties of the cluster template.

func (LookupClusterTemplateResultOutput) MasterFlavor

The flavor for the master nodes.

func (LookupClusterTemplateResultOutput) MasterLbEnabled

Indicates whether created cluster should has a loadbalancer for master nodes or not.

func (LookupClusterTemplateResultOutput) Name

See Argument Reference above.

func (LookupClusterTemplateResultOutput) NetworkDriver

The name of the driver for the container network.

func (LookupClusterTemplateResultOutput) NoProxy

A comma-separated list of IP addresses that shouldn't be used in the cluster.

func (LookupClusterTemplateResultOutput) ProjectId

The project of the cluster template.

func (LookupClusterTemplateResultOutput) Public

Indicates whether cluster template should be public.

func (LookupClusterTemplateResultOutput) Region

See Argument Reference above.

func (LookupClusterTemplateResultOutput) RegistryEnabled

Indicates whether Docker registry is enabled in the cluster.

func (LookupClusterTemplateResultOutput) ServerType

The server type for the cluster template.

func (LookupClusterTemplateResultOutput) TlsDisabled

Indicates whether the TLS should be disabled in the cluster.

func (LookupClusterTemplateResultOutput) ToLookupClusterTemplateResultOutput

func (o LookupClusterTemplateResultOutput) ToLookupClusterTemplateResultOutput() LookupClusterTemplateResultOutput

func (LookupClusterTemplateResultOutput) ToLookupClusterTemplateResultOutputWithContext

func (o LookupClusterTemplateResultOutput) ToLookupClusterTemplateResultOutputWithContext(ctx context.Context) LookupClusterTemplateResultOutput

func (LookupClusterTemplateResultOutput) UpdatedAt

The time at which cluster template was updated.

func (LookupClusterTemplateResultOutput) UserId

The user of the cluster template.

func (LookupClusterTemplateResultOutput) VolumeDriver

The name of the driver that is used for the volumes of the cluster nodes.

type LookupNodeGroupArgs

type LookupNodeGroupArgs struct {
	// The name of the OpenStack Magnum cluster.
	ClusterId string `pulumi:"clusterId"`
	// The name of the node group.
	Name *string `pulumi:"name"`
	// The region in which to obtain the V1 Container Infra
	// client.
	// If omitted, the `region` argument of the provider is used.
	Region *string `pulumi:"region"`
}

A collection of arguments for invoking getNodeGroup.

type LookupNodeGroupOutputArgs

type LookupNodeGroupOutputArgs struct {
	// The name of the OpenStack Magnum cluster.
	ClusterId pulumi.StringInput `pulumi:"clusterId"`
	// The name of the node group.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// The region in which to obtain the V1 Container Infra
	// client.
	// If omitted, the `region` argument of the provider is used.
	Region pulumi.StringPtrInput `pulumi:"region"`
}

A collection of arguments for invoking getNodeGroup.

func (LookupNodeGroupOutputArgs) ElementType

func (LookupNodeGroupOutputArgs) ElementType() reflect.Type

type LookupNodeGroupResult

type LookupNodeGroupResult struct {
	ClusterId string `pulumi:"clusterId"`
	// The time at which the node group was created.
	CreatedAt string `pulumi:"createdAt"`
	// The size (in GB) of the Docker volume.
	DockerVolumeSize int `pulumi:"dockerVolumeSize"`
	// The flavor for the nodes of the node group.
	Flavor string `pulumi:"flavor"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The reference to an image that is used for nodes of the node group.
	Image string `pulumi:"image"`
	// The list of key value pairs representing additional properties of
	// the node group.
	Labels map[string]string `pulumi:"labels"`
	// The maximum number of nodes for the node group.
	MaxNodeCount int `pulumi:"maxNodeCount"`
	// The minimum number of nodes for the node group.
	MinNodeCount int `pulumi:"minNodeCount"`
	// See Argument Reference above.
	Name string `pulumi:"name"`
	// The number of nodes for the node group.
	NodeCount int `pulumi:"nodeCount"`
	// The project of the node group.
	ProjectId string `pulumi:"projectId"`
	// See Argument Reference above.
	Region string `pulumi:"region"`
	// The role of the node group.
	Role string `pulumi:"role"`
	// The time at which the node group was updated.
	UpdatedAt string `pulumi:"updatedAt"`
}

A collection of values returned by getNodeGroup.

func LookupNodeGroup

func LookupNodeGroup(ctx *pulumi.Context, args *LookupNodeGroupArgs, opts ...pulumi.InvokeOption) (*LookupNodeGroupResult, error)

Use this data source to get information of an available OpenStack Magnum node group.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v5/go/openstack/containerinfra"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := containerinfra.LookupNodeGroup(ctx, &containerinfra.LookupNodeGroupArgs{
			ClusterId: "cluster_1",
			Name:      pulumi.StringRef("nodegroup_1"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupNodeGroupResultOutput

type LookupNodeGroupResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getNodeGroup.

func (LookupNodeGroupResultOutput) ClusterId

func (LookupNodeGroupResultOutput) CreatedAt

The time at which the node group was created.

func (LookupNodeGroupResultOutput) DockerVolumeSize

func (o LookupNodeGroupResultOutput) DockerVolumeSize() pulumi.IntOutput

The size (in GB) of the Docker volume.

func (LookupNodeGroupResultOutput) ElementType

func (LookupNodeGroupResultOutput) Flavor

The flavor for the nodes of the node group.

func (LookupNodeGroupResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupNodeGroupResultOutput) Image

The reference to an image that is used for nodes of the node group.

func (LookupNodeGroupResultOutput) Labels

The list of key value pairs representing additional properties of the node group.

func (LookupNodeGroupResultOutput) MaxNodeCount

func (o LookupNodeGroupResultOutput) MaxNodeCount() pulumi.IntOutput

The maximum number of nodes for the node group.

func (LookupNodeGroupResultOutput) MinNodeCount

func (o LookupNodeGroupResultOutput) MinNodeCount() pulumi.IntOutput

The minimum number of nodes for the node group.

func (LookupNodeGroupResultOutput) Name

See Argument Reference above.

func (LookupNodeGroupResultOutput) NodeCount

The number of nodes for the node group.

func (LookupNodeGroupResultOutput) ProjectId

The project of the node group.

func (LookupNodeGroupResultOutput) Region

See Argument Reference above.

func (LookupNodeGroupResultOutput) Role

The role of the node group.

func (LookupNodeGroupResultOutput) ToLookupNodeGroupResultOutput

func (o LookupNodeGroupResultOutput) ToLookupNodeGroupResultOutput() LookupNodeGroupResultOutput

func (LookupNodeGroupResultOutput) ToLookupNodeGroupResultOutputWithContext

func (o LookupNodeGroupResultOutput) ToLookupNodeGroupResultOutputWithContext(ctx context.Context) LookupNodeGroupResultOutput

func (LookupNodeGroupResultOutput) UpdatedAt

The time at which the node group was updated.

type NodeGroup

type NodeGroup struct {
	pulumi.CustomResourceState

	// The UUID of the V1 Container Infra cluster.
	// Changing this creates a new node group.
	ClusterId pulumi.StringOutput `pulumi:"clusterId"`
	CreatedAt pulumi.StringOutput `pulumi:"createdAt"`
	// The size (in GB) of the Docker volume.
	// Changing this creates a new node group.
	DockerVolumeSize pulumi.IntOutput `pulumi:"dockerVolumeSize"`
	// The flavor for the nodes of the node group. Can be set
	// via the `OS_MAGNUM_FLAVOR` environment variable. Changing this creates a new
	// node group.
	FlavorId pulumi.StringOutput `pulumi:"flavorId"`
	// The reference to an image that is used for nodes of the
	// node group. Can be set via the `OS_MAGNUM_IMAGE` environment variable.
	// Changing this updates the image attribute of the existing node group.
	ImageId pulumi.StringOutput `pulumi:"imageId"`
	// The list of key value pairs representing additional
	// properties of the node group. Changing this creates a new node group.
	Labels pulumi.StringMapOutput `pulumi:"labels"`
	// The maximum number of nodes for the node group.
	// Changing this update the maximum number of nodes of the node group.
	MaxNodeCount pulumi.IntPtrOutput `pulumi:"maxNodeCount"`
	// Indicates whether the provided labels should be
	// merged with cluster labels. Changing this creates a new nodegroup.
	MergeLabels pulumi.BoolPtrOutput `pulumi:"mergeLabels"`
	// The minimum number of nodes for the node group.
	// Changing this update the minimum number of nodes of the node group.
	MinNodeCount pulumi.IntOutput `pulumi:"minNodeCount"`
	// The name of the node group. Changing this creates a new
	// node group.
	Name pulumi.StringOutput `pulumi:"name"`
	// The number of nodes for the node group. Changing
	// this update the number of nodes of the node group.
	NodeCount pulumi.IntPtrOutput `pulumi:"nodeCount"`
	// The project of the node group. Required if admin
	// wants to create a cluster in another project. Changing this creates a new
	// node group.
	ProjectId pulumi.StringOutput `pulumi:"projectId"`
	// The region in which to obtain the V1 Container Infra
	// client. A Container Infra client is needed to create a cluster. If omitted,
	// the `region` argument of the provider is used. Changing this creates a new
	// node group.
	Region pulumi.StringOutput `pulumi:"region"`
	// The role of nodes in the node group. Changing this
	// creates a new node group.
	Role      pulumi.StringOutput `pulumi:"role"`
	UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"`
}

Manages a V1 Magnum node group resource within OpenStack.

## Example Usage

### Create a Nodegroup

```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v5/go/openstack/containerinfra"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := containerinfra.NewNodeGroup(ctx, "nodegroup_1", &containerinfra.NodeGroupArgs{
			Name:      pulumi.String("nodegroup_1"),
			ClusterId: pulumi.String("b9a45c5c-cd03-4958-82aa-b80bf93cb922"),
			NodeCount: pulumi.Int(5),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Attributes reference

The following attributes are exported:

* `region` - See Argument Reference above. * `name` - See Argument Reference above. * `projectId` - See Argument Reference above. * `createdAt` - The time at which node group was created. * `updatedAt` - The time at which node group was created. * `dockerVolumeSize` - See Argument Reference above. * `role` - See Argument Reference above. * `imageId` - See Argument Reference above. * `flavorId` - See Argument Reference above. * `labels` - See Argument Reference above. * `nodeCount` - See Argument Reference above. * `minNodeCount` - See Argument Reference above. * `maxNodeCount` - See Argument Reference above. * `role` - See Argument Reference above.

## Import

Node groups can be imported using the `id` (cluster_id/nodegroup_id), e.g.

```sh $ pulumi import openstack:containerinfra/nodeGroup:NodeGroup nodegroup_1 b9a45c5c-cd03-4958-82aa-b80bf93cb922/ce0f9463-dd25-474b-9fe8-94de63e5e42b ```

func GetNodeGroup

func GetNodeGroup(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *NodeGroupState, opts ...pulumi.ResourceOption) (*NodeGroup, error)

GetNodeGroup gets an existing NodeGroup resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewNodeGroup

func NewNodeGroup(ctx *pulumi.Context,
	name string, args *NodeGroupArgs, opts ...pulumi.ResourceOption) (*NodeGroup, error)

NewNodeGroup registers a new resource with the given unique name, arguments, and options.

func (*NodeGroup) ElementType

func (*NodeGroup) ElementType() reflect.Type

func (*NodeGroup) ToNodeGroupOutput

func (i *NodeGroup) ToNodeGroupOutput() NodeGroupOutput

func (*NodeGroup) ToNodeGroupOutputWithContext

func (i *NodeGroup) ToNodeGroupOutputWithContext(ctx context.Context) NodeGroupOutput

type NodeGroupArgs

type NodeGroupArgs struct {
	// The UUID of the V1 Container Infra cluster.
	// Changing this creates a new node group.
	ClusterId pulumi.StringInput
	// The size (in GB) of the Docker volume.
	// Changing this creates a new node group.
	DockerVolumeSize pulumi.IntPtrInput
	// The flavor for the nodes of the node group. Can be set
	// via the `OS_MAGNUM_FLAVOR` environment variable. Changing this creates a new
	// node group.
	FlavorId pulumi.StringPtrInput
	// The reference to an image that is used for nodes of the
	// node group. Can be set via the `OS_MAGNUM_IMAGE` environment variable.
	// Changing this updates the image attribute of the existing node group.
	ImageId pulumi.StringPtrInput
	// The list of key value pairs representing additional
	// properties of the node group. Changing this creates a new node group.
	Labels pulumi.StringMapInput
	// The maximum number of nodes for the node group.
	// Changing this update the maximum number of nodes of the node group.
	MaxNodeCount pulumi.IntPtrInput
	// Indicates whether the provided labels should be
	// merged with cluster labels. Changing this creates a new nodegroup.
	MergeLabels pulumi.BoolPtrInput
	// The minimum number of nodes for the node group.
	// Changing this update the minimum number of nodes of the node group.
	MinNodeCount pulumi.IntPtrInput
	// The name of the node group. Changing this creates a new
	// node group.
	Name pulumi.StringPtrInput
	// The number of nodes for the node group. Changing
	// this update the number of nodes of the node group.
	NodeCount pulumi.IntPtrInput
	// The region in which to obtain the V1 Container Infra
	// client. A Container Infra client is needed to create a cluster. If omitted,
	// the `region` argument of the provider is used. Changing this creates a new
	// node group.
	Region pulumi.StringPtrInput
	// The role of nodes in the node group. Changing this
	// creates a new node group.
	Role pulumi.StringPtrInput
}

The set of arguments for constructing a NodeGroup resource.

func (NodeGroupArgs) ElementType

func (NodeGroupArgs) ElementType() reflect.Type

type NodeGroupArray

type NodeGroupArray []NodeGroupInput

func (NodeGroupArray) ElementType

func (NodeGroupArray) ElementType() reflect.Type

func (NodeGroupArray) ToNodeGroupArrayOutput

func (i NodeGroupArray) ToNodeGroupArrayOutput() NodeGroupArrayOutput

func (NodeGroupArray) ToNodeGroupArrayOutputWithContext

func (i NodeGroupArray) ToNodeGroupArrayOutputWithContext(ctx context.Context) NodeGroupArrayOutput

type NodeGroupArrayInput

type NodeGroupArrayInput interface {
	pulumi.Input

	ToNodeGroupArrayOutput() NodeGroupArrayOutput
	ToNodeGroupArrayOutputWithContext(context.Context) NodeGroupArrayOutput
}

NodeGroupArrayInput is an input type that accepts NodeGroupArray and NodeGroupArrayOutput values. You can construct a concrete instance of `NodeGroupArrayInput` via:

NodeGroupArray{ NodeGroupArgs{...} }

type NodeGroupArrayOutput

type NodeGroupArrayOutput struct{ *pulumi.OutputState }

func (NodeGroupArrayOutput) ElementType

func (NodeGroupArrayOutput) ElementType() reflect.Type

func (NodeGroupArrayOutput) Index

func (NodeGroupArrayOutput) ToNodeGroupArrayOutput

func (o NodeGroupArrayOutput) ToNodeGroupArrayOutput() NodeGroupArrayOutput

func (NodeGroupArrayOutput) ToNodeGroupArrayOutputWithContext

func (o NodeGroupArrayOutput) ToNodeGroupArrayOutputWithContext(ctx context.Context) NodeGroupArrayOutput

type NodeGroupInput

type NodeGroupInput interface {
	pulumi.Input

	ToNodeGroupOutput() NodeGroupOutput
	ToNodeGroupOutputWithContext(ctx context.Context) NodeGroupOutput
}

type NodeGroupMap

type NodeGroupMap map[string]NodeGroupInput

func (NodeGroupMap) ElementType

func (NodeGroupMap) ElementType() reflect.Type

func (NodeGroupMap) ToNodeGroupMapOutput

func (i NodeGroupMap) ToNodeGroupMapOutput() NodeGroupMapOutput

func (NodeGroupMap) ToNodeGroupMapOutputWithContext

func (i NodeGroupMap) ToNodeGroupMapOutputWithContext(ctx context.Context) NodeGroupMapOutput

type NodeGroupMapInput

type NodeGroupMapInput interface {
	pulumi.Input

	ToNodeGroupMapOutput() NodeGroupMapOutput
	ToNodeGroupMapOutputWithContext(context.Context) NodeGroupMapOutput
}

NodeGroupMapInput is an input type that accepts NodeGroupMap and NodeGroupMapOutput values. You can construct a concrete instance of `NodeGroupMapInput` via:

NodeGroupMap{ "key": NodeGroupArgs{...} }

type NodeGroupMapOutput

type NodeGroupMapOutput struct{ *pulumi.OutputState }

func (NodeGroupMapOutput) ElementType

func (NodeGroupMapOutput) ElementType() reflect.Type

func (NodeGroupMapOutput) MapIndex

func (NodeGroupMapOutput) ToNodeGroupMapOutput

func (o NodeGroupMapOutput) ToNodeGroupMapOutput() NodeGroupMapOutput

func (NodeGroupMapOutput) ToNodeGroupMapOutputWithContext

func (o NodeGroupMapOutput) ToNodeGroupMapOutputWithContext(ctx context.Context) NodeGroupMapOutput

type NodeGroupOutput

type NodeGroupOutput struct{ *pulumi.OutputState }

func (NodeGroupOutput) ClusterId

func (o NodeGroupOutput) ClusterId() pulumi.StringOutput

The UUID of the V1 Container Infra cluster. Changing this creates a new node group.

func (NodeGroupOutput) CreatedAt

func (o NodeGroupOutput) CreatedAt() pulumi.StringOutput

func (NodeGroupOutput) DockerVolumeSize

func (o NodeGroupOutput) DockerVolumeSize() pulumi.IntOutput

The size (in GB) of the Docker volume. Changing this creates a new node group.

func (NodeGroupOutput) ElementType

func (NodeGroupOutput) ElementType() reflect.Type

func (NodeGroupOutput) FlavorId

func (o NodeGroupOutput) FlavorId() pulumi.StringOutput

The flavor for the nodes of the node group. Can be set via the `OS_MAGNUM_FLAVOR` environment variable. Changing this creates a new node group.

func (NodeGroupOutput) ImageId

func (o NodeGroupOutput) ImageId() pulumi.StringOutput

The reference to an image that is used for nodes of the node group. Can be set via the `OS_MAGNUM_IMAGE` environment variable. Changing this updates the image attribute of the existing node group.

func (NodeGroupOutput) Labels

The list of key value pairs representing additional properties of the node group. Changing this creates a new node group.

func (NodeGroupOutput) MaxNodeCount

func (o NodeGroupOutput) MaxNodeCount() pulumi.IntPtrOutput

The maximum number of nodes for the node group. Changing this update the maximum number of nodes of the node group.

func (NodeGroupOutput) MergeLabels

func (o NodeGroupOutput) MergeLabels() pulumi.BoolPtrOutput

Indicates whether the provided labels should be merged with cluster labels. Changing this creates a new nodegroup.

func (NodeGroupOutput) MinNodeCount

func (o NodeGroupOutput) MinNodeCount() pulumi.IntOutput

The minimum number of nodes for the node group. Changing this update the minimum number of nodes of the node group.

func (NodeGroupOutput) Name

The name of the node group. Changing this creates a new node group.

func (NodeGroupOutput) NodeCount

func (o NodeGroupOutput) NodeCount() pulumi.IntPtrOutput

The number of nodes for the node group. Changing this update the number of nodes of the node group.

func (NodeGroupOutput) ProjectId

func (o NodeGroupOutput) ProjectId() pulumi.StringOutput

The project of the node group. Required if admin wants to create a cluster in another project. Changing this creates a new node group.

func (NodeGroupOutput) Region

func (o NodeGroupOutput) Region() pulumi.StringOutput

The region in which to obtain the V1 Container Infra client. A Container Infra client is needed to create a cluster. If omitted, the `region` argument of the provider is used. Changing this creates a new node group.

func (NodeGroupOutput) Role

The role of nodes in the node group. Changing this creates a new node group.

func (NodeGroupOutput) ToNodeGroupOutput

func (o NodeGroupOutput) ToNodeGroupOutput() NodeGroupOutput

func (NodeGroupOutput) ToNodeGroupOutputWithContext

func (o NodeGroupOutput) ToNodeGroupOutputWithContext(ctx context.Context) NodeGroupOutput

func (NodeGroupOutput) UpdatedAt

func (o NodeGroupOutput) UpdatedAt() pulumi.StringOutput

type NodeGroupState

type NodeGroupState struct {
	// The UUID of the V1 Container Infra cluster.
	// Changing this creates a new node group.
	ClusterId pulumi.StringPtrInput
	CreatedAt pulumi.StringPtrInput
	// The size (in GB) of the Docker volume.
	// Changing this creates a new node group.
	DockerVolumeSize pulumi.IntPtrInput
	// The flavor for the nodes of the node group. Can be set
	// via the `OS_MAGNUM_FLAVOR` environment variable. Changing this creates a new
	// node group.
	FlavorId pulumi.StringPtrInput
	// The reference to an image that is used for nodes of the
	// node group. Can be set via the `OS_MAGNUM_IMAGE` environment variable.
	// Changing this updates the image attribute of the existing node group.
	ImageId pulumi.StringPtrInput
	// The list of key value pairs representing additional
	// properties of the node group. Changing this creates a new node group.
	Labels pulumi.StringMapInput
	// The maximum number of nodes for the node group.
	// Changing this update the maximum number of nodes of the node group.
	MaxNodeCount pulumi.IntPtrInput
	// Indicates whether the provided labels should be
	// merged with cluster labels. Changing this creates a new nodegroup.
	MergeLabels pulumi.BoolPtrInput
	// The minimum number of nodes for the node group.
	// Changing this update the minimum number of nodes of the node group.
	MinNodeCount pulumi.IntPtrInput
	// The name of the node group. Changing this creates a new
	// node group.
	Name pulumi.StringPtrInput
	// The number of nodes for the node group. Changing
	// this update the number of nodes of the node group.
	NodeCount pulumi.IntPtrInput
	// The project of the node group. Required if admin
	// wants to create a cluster in another project. Changing this creates a new
	// node group.
	ProjectId pulumi.StringPtrInput
	// The region in which to obtain the V1 Container Infra
	// client. A Container Infra client is needed to create a cluster. If omitted,
	// the `region` argument of the provider is used. Changing this creates a new
	// node group.
	Region pulumi.StringPtrInput
	// The role of nodes in the node group. Changing this
	// creates a new node group.
	Role      pulumi.StringPtrInput
	UpdatedAt pulumi.StringPtrInput
}

func (NodeGroupState) ElementType

func (NodeGroupState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL