@pulumi/openstack
Version:
A Pulumi package for creating and managing OpenStack cloud resources.
296 lines (295 loc) • 10.7 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
/**
* Manages a V1 Magnum node group resource within OpenStack.
*
* ## Example Usage
*
* ### Create a Nodegroup
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as openstack from "@pulumi/openstack";
*
* const nodegroup1 = new openstack.containerinfra.NodeGroup("nodegroup_1", {
* name: "nodegroup_1",
* clusterId: "b9a45c5c-cd03-4958-82aa-b80bf93cb922",
* nodeCount: 5,
* });
* ```
*
* ## 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
* ```
*/
export declare class NodeGroup extends pulumi.CustomResource {
/**
* Get an existing NodeGroup 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?: NodeGroupState, opts?: pulumi.CustomResourceOptions): NodeGroup;
/**
* Returns true if the given object is an instance of NodeGroup. 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 NodeGroup;
/**
* The UUID of the V1 Container Infra cluster.
* Changing this creates a new node group.
*/
readonly clusterId: pulumi.Output<string>;
readonly createdAt: pulumi.Output<string>;
/**
* The size (in GB) of the Docker volume.
* Changing this creates a new node group.
*/
readonly dockerVolumeSize: pulumi.Output<number>;
/**
* 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.
*/
readonly flavorId: pulumi.Output<string>;
/**
* 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.
*/
readonly imageId: pulumi.Output<string>;
/**
* The list of key value pairs representing additional
* properties of the node group. Changing this creates a new node group.
*/
readonly labels: pulumi.Output<{
[key: string]: string;
}>;
/**
* The maximum number of nodes for the node group.
* Changing this update the maximum number of nodes of the node group.
*/
readonly maxNodeCount: pulumi.Output<number | undefined>;
/**
* Indicates whether the provided labels should be
* merged with cluster labels. Changing this creates a new nodegroup.
*/
readonly mergeLabels: pulumi.Output<boolean | undefined>;
/**
* The minimum number of nodes for the node group.
* Changing this update the minimum number of nodes of the node group.
*/
readonly minNodeCount: pulumi.Output<number>;
/**
* The name of the node group. Changing this creates a new
* node group.
*/
readonly name: pulumi.Output<string>;
/**
* The number of nodes for the node group. Changing
* this update the number of nodes of the node group.
*/
readonly nodeCount: pulumi.Output<number | undefined>;
/**
* The project of the node group. Required if admin
* wants to create a cluster in another project. Changing this creates a new
* node group.
*/
readonly projectId: pulumi.Output<string>;
/**
* 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.
*/
readonly region: pulumi.Output<string>;
/**
* The role of nodes in the node group. Changing this
* creates a new node group.
*/
readonly role: pulumi.Output<string>;
readonly updatedAt: pulumi.Output<string>;
/**
* Create a NodeGroup 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: NodeGroupArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering NodeGroup resources.
*/
export interface NodeGroupState {
/**
* The UUID of the V1 Container Infra cluster.
* Changing this creates a new node group.
*/
clusterId?: pulumi.Input<string>;
createdAt?: pulumi.Input<string>;
/**
* The size (in GB) of the Docker volume.
* Changing this creates a new node group.
*/
dockerVolumeSize?: pulumi.Input<number>;
/**
* 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.Input<string>;
/**
* 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.Input<string>;
/**
* The list of key value pairs representing additional
* properties of the node group. Changing this creates a new node group.
*/
labels?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
/**
* The maximum number of nodes for the node group.
* Changing this update the maximum number of nodes of the node group.
*/
maxNodeCount?: pulumi.Input<number>;
/**
* Indicates whether the provided labels should be
* merged with cluster labels. Changing this creates a new nodegroup.
*/
mergeLabels?: pulumi.Input<boolean>;
/**
* The minimum number of nodes for the node group.
* Changing this update the minimum number of nodes of the node group.
*/
minNodeCount?: pulumi.Input<number>;
/**
* The name of the node group. Changing this creates a new
* node group.
*/
name?: pulumi.Input<string>;
/**
* The number of nodes for the node group. Changing
* this update the number of nodes of the node group.
*/
nodeCount?: pulumi.Input<number>;
/**
* 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.Input<string>;
/**
* 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.Input<string>;
/**
* The role of nodes in the node group. Changing this
* creates a new node group.
*/
role?: pulumi.Input<string>;
updatedAt?: pulumi.Input<string>;
}
/**
* The set of arguments for constructing a NodeGroup resource.
*/
export interface NodeGroupArgs {
/**
* The UUID of the V1 Container Infra cluster.
* Changing this creates a new node group.
*/
clusterId: pulumi.Input<string>;
/**
* The size (in GB) of the Docker volume.
* Changing this creates a new node group.
*/
dockerVolumeSize?: pulumi.Input<number>;
/**
* 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.Input<string>;
/**
* 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.Input<string>;
/**
* The list of key value pairs representing additional
* properties of the node group. Changing this creates a new node group.
*/
labels?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
/**
* The maximum number of nodes for the node group.
* Changing this update the maximum number of nodes of the node group.
*/
maxNodeCount?: pulumi.Input<number>;
/**
* Indicates whether the provided labels should be
* merged with cluster labels. Changing this creates a new nodegroup.
*/
mergeLabels?: pulumi.Input<boolean>;
/**
* The minimum number of nodes for the node group.
* Changing this update the minimum number of nodes of the node group.
*/
minNodeCount?: pulumi.Input<number>;
/**
* The name of the node group. Changing this creates a new
* node group.
*/
name?: pulumi.Input<string>;
/**
* The number of nodes for the node group. Changing
* this update the number of nodes of the node group.
*/
nodeCount?: pulumi.Input<number>;
/**
* 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.Input<string>;
/**
* The role of nodes in the node group. Changing this
* creates a new node group.
*/
role?: pulumi.Input<string>;
}