UNPKG

@pulumi/openstack

Version:

A Pulumi package for creating and managing OpenStack cloud resources.

661 lines (660 loc) 25.5 kB
import * as pulumi from "@pulumi/pulumi"; /** * Manages a V1 Magnum cluster template resource within OpenStack. * * ## Example Usage * * ### Create a Cluster template * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as openstack from "@pulumi/openstack"; * * const clustertemplate1 = new openstack.containerinfra.ClusterTemplate("clustertemplate_1", { * name: "clustertemplate_1", * image: "Fedora-Atomic-27", * coe: "kubernetes", * flavor: "m1.small", * masterFlavor: "m1.medium", * dnsNameserver: "1.1.1.1", * dockerStorageDriver: "devicemapper", * dockerVolumeSize: 10, * volumeDriver: "cinder", * networkDriver: "flannel", * serverType: "vm", * masterLbEnabled: true, * floatingIpEnabled: false, * labels: { * kube_tag: "1.11.1", * kube_dashboard_enabled: "true", * prometheus_monitoring: "true", * influx_grafana_dashboard_enabled: "true", * }, * }); * ``` * * ## 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 * ``` */ export declare class ClusterTemplate extends pulumi.CustomResource { /** * Get an existing ClusterTemplate resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ClusterTemplateState, opts?: pulumi.CustomResourceOptions): ClusterTemplate; /** * Returns true if the given object is an instance of ClusterTemplate. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is ClusterTemplate; /** * 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. */ readonly apiserverPort: pulumi.Output<number | undefined>; /** * The distro for the cluster (fedora-atomic, * coreos, etc.). Changing this updates the cluster distro of the existing * cluster template. */ readonly clusterDistro: pulumi.Output<string>; /** * The Container Orchestration Engine for this cluster * template. Changing this updates the engine of the existing cluster * template. */ readonly coe: pulumi.Output<string>; readonly createdAt: pulumi.Output<string>; /** * Address of the DNS nameserver that is used in * nodes of the cluster. Changing this updates the DNS nameserver of the * existing cluster template. */ readonly dnsNameserver: pulumi.Output<string | undefined>; /** * Docker storage driver. Changing this * updates the Docker storage driver of the existing cluster template. */ readonly dockerStorageDriver: pulumi.Output<string | undefined>; /** * The size (in GB) of the Docker volume. * Changing this updates the Docker volume size of the existing cluster * template. */ readonly dockerVolumeSize: pulumi.Output<number | undefined>; /** * 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. */ readonly externalNetworkId: pulumi.Output<string | undefined>; /** * The fixed network that will be attached to the * cluster. Changing this updates the fixed network of the existing cluster * template. */ readonly fixedNetwork: pulumi.Output<string | undefined>; /** * The fixed subnet that will be attached to the * cluster. Changing this updates the fixed subnet of the existing cluster * template. */ readonly fixedSubnet: pulumi.Output<string | undefined>; /** * 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. */ readonly flavor: pulumi.Output<string | undefined>; /** * 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. */ readonly floatingIpEnabled: pulumi.Output<boolean | undefined>; /** * Indicates whether the ClusterTemplate is hidden or not. * Changing this updates the hidden attribute of the existing cluster * template. */ readonly hidden: pulumi.Output<boolean | undefined>; /** * 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. */ readonly httpProxy: pulumi.Output<string | undefined>; /** * 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. */ readonly httpsProxy: pulumi.Output<string | undefined>; /** * 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. */ readonly image: pulumi.Output<string>; /** * The insecure registry URL for the cluster * template. Changing this updates the insecure registry attribute of the * existing cluster template. */ readonly insecureRegistry: pulumi.Output<string | undefined>; /** * The name of the Compute service SSH keypair. * Changing this updates the keypair of the existing cluster template. */ readonly keypairId: pulumi.Output<string | undefined>; /** * The list of key value pairs representing additional * properties of the cluster template. Changing this updates the labels of the * existing cluster template. */ readonly labels: pulumi.Output<{ [key: string]: string; } | undefined>; /** * 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. */ readonly masterFlavor: pulumi.Output<string | undefined>; /** * Indicates whether created cluster should * has a loadbalancer for master nodes or not. Changing this updates the * attribute of the existing cluster template. */ readonly masterLbEnabled: pulumi.Output<boolean | undefined>; /** * The name of the cluster template. Changing this updates * the name of the existing cluster template. */ readonly name: pulumi.Output<string>; /** * The name of the driver for the container * network. Changing this updates the network driver of the existing cluster * template. */ readonly networkDriver: pulumi.Output<string>; /** * 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. */ readonly noProxy: pulumi.Output<string | undefined>; /** * 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. */ readonly projectId: pulumi.Output<string>; /** * Indicates whether cluster template should be public. * Changing this updates the public attribute of the existing cluster * template. */ readonly public: pulumi.Output<boolean | undefined>; /** * 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. */ readonly region: pulumi.Output<string>; /** * Indicates whether Docker registry is enabled * in the cluster. Changing this updates the registry enabled attribute of the * existing cluster template. */ readonly registryEnabled: pulumi.Output<boolean | undefined>; /** * The server type for the cluster template. Changing * this updates the server type of the existing cluster template. */ readonly serverType: pulumi.Output<string>; /** * Indicates whether the TLS should be disabled in * the cluster. Changing this updates the attribute of the existing cluster. */ readonly tlsDisabled: pulumi.Output<boolean | undefined>; readonly updatedAt: pulumi.Output<string>; /** * 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. */ readonly userId: pulumi.Output<string>; /** * 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. */ readonly volumeDriver: pulumi.Output<string | undefined>; /** * Create a ClusterTemplate resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: ClusterTemplateArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering ClusterTemplate resources. */ export interface ClusterTemplateState { /** * 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.Input<number>; /** * The distro for the cluster (fedora-atomic, * coreos, etc.). Changing this updates the cluster distro of the existing * cluster template. */ clusterDistro?: pulumi.Input<string>; /** * The Container Orchestration Engine for this cluster * template. Changing this updates the engine of the existing cluster * template. */ coe?: pulumi.Input<string>; createdAt?: pulumi.Input<string>; /** * 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.Input<string>; /** * Docker storage driver. Changing this * updates the Docker storage driver of the existing cluster template. */ dockerStorageDriver?: pulumi.Input<string>; /** * The size (in GB) of the Docker volume. * Changing this updates the Docker volume size of the existing cluster * template. */ dockerVolumeSize?: pulumi.Input<number>; /** * 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.Input<string>; /** * The fixed network that will be attached to the * cluster. Changing this updates the fixed network of the existing cluster * template. */ fixedNetwork?: pulumi.Input<string>; /** * The fixed subnet that will be attached to the * cluster. Changing this updates the fixed subnet of the existing cluster * template. */ fixedSubnet?: pulumi.Input<string>; /** * 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.Input<string>; /** * 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.Input<boolean>; /** * Indicates whether the ClusterTemplate is hidden or not. * Changing this updates the hidden attribute of the existing cluster * template. */ hidden?: pulumi.Input<boolean>; /** * 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.Input<string>; /** * 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.Input<string>; /** * 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.Input<string>; /** * The insecure registry URL for the cluster * template. Changing this updates the insecure registry attribute of the * existing cluster template. */ insecureRegistry?: pulumi.Input<string>; /** * The name of the Compute service SSH keypair. * Changing this updates the keypair of the existing cluster template. */ keypairId?: pulumi.Input<string>; /** * 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.Input<{ [key: string]: pulumi.Input<string>; }>; /** * 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.Input<string>; /** * 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.Input<boolean>; /** * The name of the cluster template. Changing this updates * the name of the existing cluster template. */ name?: pulumi.Input<string>; /** * The name of the driver for the container * network. Changing this updates the network driver of the existing cluster * template. */ networkDriver?: pulumi.Input<string>; /** * 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.Input<string>; /** * 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.Input<string>; /** * Indicates whether cluster template should be public. * Changing this updates the public attribute of the existing cluster * template. */ public?: pulumi.Input<boolean>; /** * 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.Input<string>; /** * Indicates whether Docker registry is enabled * in the cluster. Changing this updates the registry enabled attribute of the * existing cluster template. */ registryEnabled?: pulumi.Input<boolean>; /** * The server type for the cluster template. Changing * this updates the server type of the existing cluster template. */ serverType?: pulumi.Input<string>; /** * Indicates whether the TLS should be disabled in * the cluster. Changing this updates the attribute of the existing cluster. */ tlsDisabled?: pulumi.Input<boolean>; updatedAt?: pulumi.Input<string>; /** * 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.Input<string>; /** * 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.Input<string>; } /** * The set of arguments for constructing a ClusterTemplate resource. */ export interface ClusterTemplateArgs { /** * 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.Input<number>; /** * The distro for the cluster (fedora-atomic, * coreos, etc.). Changing this updates the cluster distro of the existing * cluster template. */ clusterDistro?: pulumi.Input<string>; /** * The Container Orchestration Engine for this cluster * template. Changing this updates the engine of the existing cluster * template. */ coe: pulumi.Input<string>; /** * 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.Input<string>; /** * Docker storage driver. Changing this * updates the Docker storage driver of the existing cluster template. */ dockerStorageDriver?: pulumi.Input<string>; /** * The size (in GB) of the Docker volume. * Changing this updates the Docker volume size of the existing cluster * template. */ dockerVolumeSize?: pulumi.Input<number>; /** * 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.Input<string>; /** * The fixed network that will be attached to the * cluster. Changing this updates the fixed network of the existing cluster * template. */ fixedNetwork?: pulumi.Input<string>; /** * The fixed subnet that will be attached to the * cluster. Changing this updates the fixed subnet of the existing cluster * template. */ fixedSubnet?: pulumi.Input<string>; /** * 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.Input<string>; /** * 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.Input<boolean>; /** * Indicates whether the ClusterTemplate is hidden or not. * Changing this updates the hidden attribute of the existing cluster * template. */ hidden?: pulumi.Input<boolean>; /** * 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.Input<string>; /** * 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.Input<string>; /** * 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.Input<string>; /** * The insecure registry URL for the cluster * template. Changing this updates the insecure registry attribute of the * existing cluster template. */ insecureRegistry?: pulumi.Input<string>; /** * The name of the Compute service SSH keypair. * Changing this updates the keypair of the existing cluster template. */ keypairId?: pulumi.Input<string>; /** * 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.Input<{ [key: string]: pulumi.Input<string>; }>; /** * 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.Input<string>; /** * 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.Input<boolean>; /** * The name of the cluster template. Changing this updates * the name of the existing cluster template. */ name?: pulumi.Input<string>; /** * The name of the driver for the container * network. Changing this updates the network driver of the existing cluster * template. */ networkDriver?: pulumi.Input<string>; /** * 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.Input<string>; /** * Indicates whether cluster template should be public. * Changing this updates the public attribute of the existing cluster * template. */ public?: pulumi.Input<boolean>; /** * 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.Input<string>; /** * Indicates whether Docker registry is enabled * in the cluster. Changing this updates the registry enabled attribute of the * existing cluster template. */ registryEnabled?: pulumi.Input<boolean>; /** * The server type for the cluster template. Changing * this updates the server type of the existing cluster template. */ serverType?: pulumi.Input<string>; /** * Indicates whether the TLS should be disabled in * the cluster. Changing this updates the attribute of the existing cluster. */ tlsDisabled?: pulumi.Input<boolean>; /** * 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.Input<string>; }