@pulumi/openstack
Version:
A Pulumi package for creating and managing OpenStack cloud resources.
661 lines (660 loc) • 25.5 kB
TypeScript
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>;
}