This page documents the language specification for the openstack package. If you're looking for help working with the inputs, outputs, or functions of openstack resources in a Pulumi program, please see the resource documentation for examples and API reference.

containerinfra

This provider is a derived work of the Terraform Provider distributed under MPL 2.0. If you encounter a bug or missing feature, first check the pulumi/pulumi-openstack repo; however, if that doesn’t turn up anything, please consult the source terraform-providers/terraform-provider-openstack repo.

class pulumi_openstack.containerinfra.AwaitableGetClusterResult(api_address=None, cluster_template_id=None, coe_version=None, container_version=None, create_timeout=None, created_at=None, discovery_url=None, docker_volume_size=None, fixed_network=None, fixed_subnet=None, flavor=None, id=None, keypair=None, labels=None, master_addresses=None, master_count=None, master_flavor=None, name=None, node_addresses=None, node_count=None, project_id=None, region=None, stack_id=None, updated_at=None, user_id=None)
class pulumi_openstack.containerinfra.AwaitableGetClusterTemplateResult(apiserver_port=None, cluster_distro=None, coe=None, created_at=None, dns_nameserver=None, docker_storage_driver=None, docker_volume_size=None, external_network_id=None, fixed_network=None, fixed_subnet=None, flavor=None, floating_ip_enabled=None, http_proxy=None, https_proxy=None, id=None, image=None, insecure_registry=None, keypair_id=None, labels=None, master_flavor=None, master_lb_enabled=None, name=None, network_driver=None, no_proxy=None, project_id=None, public=None, region=None, registry_enabled=None, server_type=None, tls_disabled=None, updated_at=None, user_id=None, volume_driver=None)
class pulumi_openstack.containerinfra.Cluster(resource_name, opts=None, cluster_template_id=None, create_timeout=None, discovery_url=None, docker_volume_size=None, fixed_network=None, fixed_subnet=None, flavor=None, keypair=None, labels=None, master_count=None, master_flavor=None, name=None, node_count=None, region=None, __props__=None, __name__=None, __opts__=None)

Manages a V1 Magnum cluster resource within OpenStack.

import pulumi
import pulumi_openstack as openstack

cluster1 = openstack.containerinfra.Cluster("cluster1",
    cluster_template_id="b9a45c5c-cd03-4958-82aa-b80bf93cb922",
    keypair="ssh_keypair",
    master_count=3,
    node_count=5)

The following arguments are supported:

  • region - (Optional) 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.

  • name - (Required) The name of the cluster. Changing this updates the name

    of the existing cluster template.

  • project_id - (Optional) The project of the cluster. Required if admin wants

    to create a cluster in another project. Changing this creates a new cluster.

  • user_id - (Optional) The user of the cluster. Required if admin wants to

    create a cluster template for another user. Changing this creates a new cluster.

  • cluster_template_id - (Required) The UUID of the V1 Container Infra cluster

    template. Changing this creates a new cluster.

  • create_timeout - (Optional) The timeout (in minutes) for creating the

    cluster. Changing this creates a new cluster.

  • discovery_url - (Optional) The URL used for cluster node discovery.

    Changing this creates a new cluster.

  • docker_volume_size - (Optional) The size (in GB) of the Docker volume.

    Changing this creates a new cluster.

  • flavor - (Optional) The flavor for the nodes of the cluster. Can be set via

    the OS_MAGNUM_FLAVOR environment variable. Changing this creates a new cluster.

  • master_flavor - (Optional) The flavor for the master nodes. Can be set via

    the OS_MAGNUM_MASTER_FLAVOR environment variable. Changing this creates a new cluster.

  • keypair - (Optional) The name of the Compute service SSH keypair. Changing

    this creates a new cluster.

  • labels - (Optional) The list of key value pairs representing additional

    properties of the cluster. Changing this creates a new cluster.

  • master_count - (Optional) The number of master nodes for the cluster.

    Changing this creates a new cluster.

  • node_count - (Optional) The number of nodes for the cluster. Changing this

    creates a new cluster.

  • fixed_network - (Optional) The fixed network that will be attached to the

    cluster. Changing this creates a new cluster.

  • fixed_subnet - (Optional) The fixed subnet that will be attached to the

    cluster. Changing this creates a new cluster.

The following attributes are exported:

  • region - See Argument Reference above.

  • name - See Argument Reference above.

  • project_id - See Argument Reference above.

  • created_at - The time at which cluster was created.

  • updated_at - The time at which cluster was created.

  • api_address - COE API address.

  • coe_version - COE software version.

  • cluster_template_id - See Argument Reference above.

  • container_version - Container software version.

  • create_timeout - See Argument Reference above.

  • discovery_url - See Argument Reference above.

  • docker_volume_size - See Argument Reference above.

  • flavor - See Argument Reference above.

  • master_flavor - See Argument Reference above.

  • keypair - See Argument Reference above.

  • labels - See Argument Reference above.

  • master_count - See Argument Reference above.

  • node_count - See Argument Reference above.

  • fixed_network - See Argument Reference above.

  • fixed_subnet - See Argument Reference above.

  • master_addresses - IP addresses of the master node of the cluster.

  • node_addresses - IP addresses of the node of the cluster.

  • stack_id - UUID of the Orchestration service stack.

  • kubeconfig - The Kubernetes cluster’s credentials

    • raw_config - The raw kubeconfig file

    • host - The cluster’s API server URL

    • cluster_ca_certificate - The cluster’s CA certificate

    • client_key - The client’s RSA key

    • client_certificate - The client’s certificate

Parameters
static get(resource_name, id, opts=None, api_address=None, cluster_template_id=None, coe_version=None, container_version=None, create_timeout=None, created_at=None, discovery_url=None, docker_volume_size=None, fixed_network=None, fixed_subnet=None, flavor=None, keypair=None, kubeconfig=None, labels=None, master_addresses=None, master_count=None, master_flavor=None, name=None, node_addresses=None, node_count=None, project_id=None, region=None, stack_id=None, updated_at=None, user_id=None)

Get an existing Cluster resource’s state with the given name, id, and optional extra properties used to qualify the lookup.

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

The kubeconfig object supports the following:

  • client_certificate (pulumi.Input[str])

  • client_key (pulumi.Input[str])

  • cluster_ca_certificate (pulumi.Input[str])

  • host (pulumi.Input[str])

  • raw_config (pulumi.Input[str])

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_openstack.containerinfra.ClusterTemplate(resource_name, opts=None, apiserver_port=None, cluster_distro=None, coe=None, dns_nameserver=None, docker_storage_driver=None, docker_volume_size=None, external_network_id=None, fixed_network=None, fixed_subnet=None, flavor=None, floating_ip_enabled=None, http_proxy=None, https_proxy=None, image=None, insecure_registry=None, keypair_id=None, labels=None, master_flavor=None, master_lb_enabled=None, name=None, network_driver=None, no_proxy=None, public=None, region=None, registry_enabled=None, server_type=None, tls_disabled=None, volume_driver=None, __props__=None, __name__=None, __opts__=None)

Manages a V1 Magnum cluster template resource within OpenStack.

import pulumi
import pulumi_openstack as openstack

clustertemplate1 = openstack.containerinfra.ClusterTemplate("clustertemplate1",
    coe="kubernetes",
    dns_nameserver="1.1.1.1",
    docker_storage_driver="devicemapper",
    docker_volume_size=10,
    flavor="m1.small",
    floating_ip_enabled=False,
    image="Fedora-Atomic-27",
    labels={
        "influx_grafana_dashboard_enabled": "true",
        "kube_dashboard_enabled": "true",
        "kube_tag": "1.11.1",
        "prometheus_monitoring": "true",
    },
    master_flavor="m1.medium",
    master_lb_enabled=True,
    network_driver="flannel",
    server_type="vm",
    volume_driver="cinder")

The following arguments are supported:

  • region - (Optional) 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.

  • name - (Required) The name of the cluster template. Changing this updates

    the name of the existing cluster template.

  • project_id - (Optional) 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.

  • user_id - (Optional) 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.

  • apiserver_port - (Optional) 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.

  • coe - (Required) The Container Orchestration Engine for this cluster

    template. Changing this updates the engine of the existing cluster template.

  • cluster_distro - (Optional) The distro for the cluster (fedora-atomic,

    coreos, etc.). Changing this updates the cluster distro of the existing cluster template.

  • dns_nameserver - (Optional) Address of the DNS nameserver that is used in

    nodes of the cluster. Changing this updates the DNS nameserver of the existing cluster template.

  • docker_storage_driver - (Optional) Docker storage driver. Changing this

    updates the Docker storage driver of the existing cluster template.

  • docker_volume_size - (Optional) The size (in GB) of the Docker volume.

    Changing this updates the Docker volume size of the existing cluster template.

  • external_network_id - (Optional) 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.

  • fixed_network - (Optional) The fixed network that will be attached to the

    cluster. Changing this updates the fixed network of the existing cluster template.

  • fixed_subnet - (Optional) The fixed subnet that will be attached to the

    cluster. Changing this updates the fixed subnet of the existing cluster template.

  • flavor - (Optional) 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.

  • master_flavor - (Optional) 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.

  • floating_ip_enabled - (Optional) 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.

  • http_proxy - (Optional) 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.

  • https_proxy - (Optional) 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.

  • image - (Required) 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.

  • insecure_registry - (Optional) The insecure registry URL for the cluster

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

  • keypair_id - (Optional) The name of the Compute service SSH keypair.

    Changing this updates the keypair of the existing cluster template.

  • labels - (Optional) The list of key value pairs representing additional

    properties of the cluster template. Changing this updates the labels of the existing cluster template.

  • master_lb_enabled - (Optional) Indicates whether created cluster should

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

  • network_driver - (Optional) The name of the driver for the container

    network. Changing this updates the network driver of the existing cluster template.

  • no_proxy - (Optional) 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.

  • public - (Optional) Indicates whether cluster template should be public.

    Changing this updates the public attribute of the existing cluster template.

  • registry_enabled - (Optional) Indicates whether Docker registry is enabled

    in the cluster. Changing this updates the registry enabled attribute of the existing cluster template.

  • server_type - (Optional) The server type for the cluster template. Changing

    this updates the server type of the existing cluster template.

  • tls_disabled - (Optional) Indicates whether the TLS should be disabled in

    the cluster. Changing this updates the attribute of the existing cluster.

  • volume_driver - (Optional) 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.

The following attributes are exported:

  • region - See Argument Reference above.

  • name - See Argument Reference above.

  • project_id - See Argument Reference above.

  • created_at - The time at which cluster template was created.

  • updated_at - The time at which cluster template was created.

  • apiserver_port - See Argument Reference above.

  • coe - See Argument Reference above.

  • cluster_distro - See Argument Reference above.

  • dns_nameserver - See Argument Reference above.

  • docker_storage_driver - See Argument Reference above.

  • docker_volume_size - See Argument Reference above.

  • external_network_id - See Argument Reference above.

  • fixed_network - See Argument Reference above.

  • fixed_subnet - See Argument Reference above.

  • flavor - See Argument Reference above.

  • master_flavor - See Argument Reference above.

  • floating_ip_enabled - See Argument Reference above.

  • http_proxy - See Argument Reference above.

  • https_proxy - See Argument Reference above.

  • image - See Argument Reference above.

  • insecure_registry - See Argument Reference above.

  • keypair_id - See Argument Reference above.

  • labels - See Argument Reference above.

  • links - A list containing associated cluster template links.

  • master_lb_enabled - See Argument Reference above.

  • network_driver - See Argument Reference above.

  • no_proxy - See Argument Reference above.

  • public - See Argument Reference above.

  • registry_enabled - See Argument Reference above.

  • server_type - See Argument Reference above.

  • tls_disabled - See Argument Reference above.

  • volume_driver - See Argument Reference above.

Parameters
static get(resource_name, id, opts=None, apiserver_port=None, cluster_distro=None, coe=None, created_at=None, dns_nameserver=None, docker_storage_driver=None, docker_volume_size=None, external_network_id=None, fixed_network=None, fixed_subnet=None, flavor=None, floating_ip_enabled=None, http_proxy=None, https_proxy=None, image=None, insecure_registry=None, keypair_id=None, labels=None, master_flavor=None, master_lb_enabled=None, name=None, network_driver=None, no_proxy=None, project_id=None, public=None, region=None, registry_enabled=None, server_type=None, tls_disabled=None, updated_at=None, user_id=None, volume_driver=None)

Get an existing ClusterTemplate resource’s state with the given name, id, and optional extra properties used to qualify the lookup.

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_openstack.containerinfra.GetClusterResult(api_address=None, cluster_template_id=None, coe_version=None, container_version=None, create_timeout=None, created_at=None, discovery_url=None, docker_volume_size=None, fixed_network=None, fixed_subnet=None, flavor=None, id=None, keypair=None, labels=None, master_addresses=None, master_count=None, master_flavor=None, name=None, node_addresses=None, node_count=None, project_id=None, region=None, stack_id=None, updated_at=None, user_id=None)

A collection of values returned by getCluster.

api_address = None

COE API address.

cluster_template_id = None

The UUID of the V1 Container Infra cluster template.

coe_version = None

COE software version.

create_timeout = None

The timeout (in minutes) for creating the cluster.

created_at = None

The time at which cluster was created.

discovery_url = None

The URL used for cluster node discovery.

docker_volume_size = None

The size (in GB) of the Docker volume.

fixed_network = None

The fixed network that is attached to the cluster.

fixed_subnet = None

The fixed subnet that is attached to the cluster.

flavor = None

The flavor for the nodes of the cluster.

id = None

The provider-assigned unique ID for this managed resource.

keypair = None

The name of the Compute service SSH keypair.

labels = None

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

master_addresses = None

IP addresses of the master node of the cluster.

master_count = None

The number of master nodes for the cluster.

master_flavor = None

The flavor for the master nodes.

name = None

See Argument Reference above.

node_addresses = None

IP addresses of the node of the cluster.

node_count = None

The number of nodes for the cluster.

project_id = None

The project of the cluster.

region = None

See Argument Reference above.

stack_id = None

UUID of the Orchestration service stack.

updated_at = None

The time at which cluster was updated.

user_id = None

The user of the cluster.

class pulumi_openstack.containerinfra.GetClusterTemplateResult(apiserver_port=None, cluster_distro=None, coe=None, created_at=None, dns_nameserver=None, docker_storage_driver=None, docker_volume_size=None, external_network_id=None, fixed_network=None, fixed_subnet=None, flavor=None, floating_ip_enabled=None, http_proxy=None, https_proxy=None, id=None, image=None, insecure_registry=None, keypair_id=None, labels=None, master_flavor=None, master_lb_enabled=None, name=None, network_driver=None, no_proxy=None, project_id=None, public=None, region=None, registry_enabled=None, server_type=None, tls_disabled=None, updated_at=None, user_id=None, volume_driver=None)

A collection of values returned by getClusterTemplate.

apiserver_port = None

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

cluster_distro = None

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

coe = None

The Container Orchestration Engine for this cluster template.

created_at = None

The time at which cluster template was created.

dns_nameserver = None

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

docker_storage_driver = None

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

docker_volume_size = None

The size (in GB) of the Docker volume.

external_network_id = None

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

fixed_network = None

The fixed network that will be attached to the cluster.

fixed_subnet = None

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

flavor = None

The flavor for the nodes of the cluster.

floating_ip_enabled = None

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

http_proxy = None

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

https_proxy = None

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

id = None

The provider-assigned unique ID for this managed resource.

image = None

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

insecure_registry = None

The insecure registry URL for the cluster template.

keypair_id = None

The name of the Compute service SSH keypair.

labels = None

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

master_flavor = None

The flavor for the master nodes.

master_lb_enabled = None

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

name = None

See Argument Reference above.

network_driver = None

The name of the driver for the container network.

no_proxy = None

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

project_id = None

The project of the cluster template.

public = None

Indicates whether cluster template should be public.

region = None

See Argument Reference above.

registry_enabled = None

Indicates whether Docker registry is enabled in the cluster.

server_type = None

The server type for the cluster template.

tls_disabled = None

Indicates whether the TLS should be disabled in the cluster.

updated_at = None

The time at which cluster template was updated.

user_id = None

The user of the cluster template.

volume_driver = None

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

pulumi_openstack.containerinfra.get_cluster(name=None, region=None, opts=None)

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

import pulumi
import pulumi_openstack as openstack

cluster1 = openstack.containerinfra.get_cluster(name="cluster_1")
Parameters
  • name (str) – The name of the cluster.

  • region (str) – The region in which to obtain the V1 Container Infra client. If omitted, the region argument of the provider is used.

pulumi_openstack.containerinfra.get_cluster_template(name=None, region=None, opts=None)

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

import pulumi
import pulumi_openstack as openstack

clustertemplate1 = openstack.containerinfra.get_cluster_template(name="clustertemplate_1")
Parameters
  • name (str) – The name of the cluster template.

  • region (str) – The region in which to obtain the V1 Container Infra client. If omitted, the region argument of the provider is used.