import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Corresponds to Node in Kubernetes, which is the basic element of a Container Service cluster. Nodes mainly include: Master nodes (control nodes) and Worker nodes (compute nodes/worker nodes). Applications are actually deployed on Worker nodes, supporting random deployment on Worker nodes or deployment on specified Worker nodes through configuration. In Container Service, node generally refers to Worker node. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as volcenginecc from "@volcengine/pulumi-volcenginecc"; * * const vkeNodeDemo = new volcenginecc.vke.Node("VkeNodeDemo", { * additionalContainerStorageEnabled: false, * clusterId: "cd5rdfs5ixxxxxotsc2g", * containerStoragePath: "", * instanceId: "i-yeekjuixxxxx4je5vfr", * keepInstanceName: true, * nodePoolId: "pd5s9srqxxxxxo88e621g", * }); * ``` * * ## Import * * ```sh * $ pulumi import volcenginecc:vke/node:Node example "cluster_id|node_pool_id|node_id" * ``` */ export declare class Node extends pulumi.CustomResource { /** * Get an existing Node 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, state?: NodeState, opts?: pulumi.CustomResourceOptions): Node; /** * Returns true if the given object is an instance of Node. 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 Node; /** * Select the data disk for the node, format and mount it as the storage directory for container images and logs. Values: false (default): Disabled. Default node pool: indicates no data disk is mounted. Custom node pool: mounts according to the node pool's data disk configuration. ECS instance data disks added to the node pool must include the data disk specified for mounting by the target node pool (including local disks), and the disk type and size must match exactly. true: Enabled. You must also configure the ContainerStoragePath parameter. The node mounts according to the configuration in the ContainerStoragePath parameter and ignores the node pool's data disk configuration. There are no special requirements for ECS instance data disks added to the node pool. */ readonly additionalContainerStorageEnabled: pulumi.Output; /** * Cluster ID. */ readonly clusterId: pulumi.Output; /** * Use this data disk device to mount the container and image storage directory /var/lib/containerd. * Valid only when AdditionalContainerStorageEnabled=true and cannot be empty. The following conditions must be met, otherwise initialization will fail: Only ECS instances with mounted data disks are supported. When specifying a data disk device name, ensure the device exists, otherwise initialization will fail. When specifying a data disk partition or logical volume name, ensure the partition or logical volume exists and uses the ext4 file system. */ readonly containerStoragePath: pulumi.Output; /** * Creation time. */ readonly createdTime: pulumi.Output; /** * Image ID used by the ECS instance corresponding to the node. */ readonly imageId: pulumi.Output; /** * Script executed after creating ECS nodes and deploying Kubernetes components. Supports Shell format. Base64-encoded length must not exceed 1 KB. If left empty, the node inherits the default node pool initialization script NodeConfig.InitializeScript. If you enter a custom script, the custom script will be used and the default node pool initialization script will be ignored. */ readonly initializeScript: pulumi.Output; /** * Cloud server instance ID corresponding to the node. */ readonly instanceId: pulumi.Output; /** * Is it a virtual node? Parameter value description: false: No, true: Yes. */ readonly isVirtual: pulumi.Output; /** * Whether to retain the original ECS instance name. Options: false (default): do not retain the original ECS instance name; Container Service automatically assigns a name. true: retain the original ECS instance name. */ readonly keepInstanceName: pulumi.Output; /** * Kubernetes-related configuration for the node. If empty, the node inherits the default node pool's Kubernetes configuration: KubernetesConfig.Labels/Taints/Cordon. If custom configuration is provided, the node uses the custom configuration and ignores the default node pool's Kubernetes configuration. */ readonly kubernetesConfig: pulumi.Output; /** * Node name. */ readonly name: pulumi.Output; /** * Node ID. */ readonly nodeId: pulumi.Output; /** * Node pool ID. If no parameter value is provided: add existing ECS instances to the default node pool. If a parameter value is provided: add existing ECS instances to a custom node pool. */ readonly nodePoolId: pulumi.Output; /** * Node role. Parameter value description: Worker: Worker node. */ readonly roles: pulumi.Output; /** * Node status. */ readonly status: pulumi.Output; /** * Update time. */ readonly updatedTime: pulumi.Output; /** * Availability zone ID. */ readonly zoneId: pulumi.Output; /** * Create a Node 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: NodeArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Node resources. */ export interface NodeState { /** * Select the data disk for the node, format and mount it as the storage directory for container images and logs. Values: false (default): Disabled. Default node pool: indicates no data disk is mounted. Custom node pool: mounts according to the node pool's data disk configuration. ECS instance data disks added to the node pool must include the data disk specified for mounting by the target node pool (including local disks), and the disk type and size must match exactly. true: Enabled. You must also configure the ContainerStoragePath parameter. The node mounts according to the configuration in the ContainerStoragePath parameter and ignores the node pool's data disk configuration. There are no special requirements for ECS instance data disks added to the node pool. */ additionalContainerStorageEnabled?: pulumi.Input; /** * Cluster ID. */ clusterId?: pulumi.Input; /** * Use this data disk device to mount the container and image storage directory /var/lib/containerd. * Valid only when AdditionalContainerStorageEnabled=true and cannot be empty. The following conditions must be met, otherwise initialization will fail: Only ECS instances with mounted data disks are supported. When specifying a data disk device name, ensure the device exists, otherwise initialization will fail. When specifying a data disk partition or logical volume name, ensure the partition or logical volume exists and uses the ext4 file system. */ containerStoragePath?: pulumi.Input; /** * Creation time. */ createdTime?: pulumi.Input; /** * Image ID used by the ECS instance corresponding to the node. */ imageId?: pulumi.Input; /** * Script executed after creating ECS nodes and deploying Kubernetes components. Supports Shell format. Base64-encoded length must not exceed 1 KB. If left empty, the node inherits the default node pool initialization script NodeConfig.InitializeScript. If you enter a custom script, the custom script will be used and the default node pool initialization script will be ignored. */ initializeScript?: pulumi.Input; /** * Cloud server instance ID corresponding to the node. */ instanceId?: pulumi.Input; /** * Is it a virtual node? Parameter value description: false: No, true: Yes. */ isVirtual?: pulumi.Input; /** * Whether to retain the original ECS instance name. Options: false (default): do not retain the original ECS instance name; Container Service automatically assigns a name. true: retain the original ECS instance name. */ keepInstanceName?: pulumi.Input; /** * Kubernetes-related configuration for the node. If empty, the node inherits the default node pool's Kubernetes configuration: KubernetesConfig.Labels/Taints/Cordon. If custom configuration is provided, the node uses the custom configuration and ignores the default node pool's Kubernetes configuration. */ kubernetesConfig?: pulumi.Input; /** * Node name. */ name?: pulumi.Input; /** * Node ID. */ nodeId?: pulumi.Input; /** * Node pool ID. If no parameter value is provided: add existing ECS instances to the default node pool. If a parameter value is provided: add existing ECS instances to a custom node pool. */ nodePoolId?: pulumi.Input; /** * Node role. Parameter value description: Worker: Worker node. */ roles?: pulumi.Input[]>; /** * Node status. */ status?: pulumi.Input; /** * Update time. */ updatedTime?: pulumi.Input; /** * Availability zone ID. */ zoneId?: pulumi.Input; } /** * The set of arguments for constructing a Node resource. */ export interface NodeArgs { /** * Select the data disk for the node, format and mount it as the storage directory for container images and logs. Values: false (default): Disabled. Default node pool: indicates no data disk is mounted. Custom node pool: mounts according to the node pool's data disk configuration. ECS instance data disks added to the node pool must include the data disk specified for mounting by the target node pool (including local disks), and the disk type and size must match exactly. true: Enabled. You must also configure the ContainerStoragePath parameter. The node mounts according to the configuration in the ContainerStoragePath parameter and ignores the node pool's data disk configuration. There are no special requirements for ECS instance data disks added to the node pool. */ additionalContainerStorageEnabled?: pulumi.Input; /** * Cluster ID. */ clusterId: pulumi.Input; /** * Use this data disk device to mount the container and image storage directory /var/lib/containerd. * Valid only when AdditionalContainerStorageEnabled=true and cannot be empty. The following conditions must be met, otherwise initialization will fail: Only ECS instances with mounted data disks are supported. When specifying a data disk device name, ensure the device exists, otherwise initialization will fail. When specifying a data disk partition or logical volume name, ensure the partition or logical volume exists and uses the ext4 file system. */ containerStoragePath?: pulumi.Input; /** * Image ID used by the ECS instance corresponding to the node. */ imageId?: pulumi.Input; /** * Script executed after creating ECS nodes and deploying Kubernetes components. Supports Shell format. Base64-encoded length must not exceed 1 KB. If left empty, the node inherits the default node pool initialization script NodeConfig.InitializeScript. If you enter a custom script, the custom script will be used and the default node pool initialization script will be ignored. */ initializeScript?: pulumi.Input; /** * Cloud server instance ID corresponding to the node. */ instanceId?: pulumi.Input; /** * Whether to retain the original ECS instance name. Options: false (default): do not retain the original ECS instance name; Container Service automatically assigns a name. true: retain the original ECS instance name. */ keepInstanceName?: pulumi.Input; /** * Kubernetes-related configuration for the node. If empty, the node inherits the default node pool's Kubernetes configuration: KubernetesConfig.Labels/Taints/Cordon. If custom configuration is provided, the node uses the custom configuration and ignores the default node pool's Kubernetes configuration. */ kubernetesConfig?: pulumi.Input; /** * Node pool ID. If no parameter value is provided: add existing ECS instances to the default node pool. If a parameter value is provided: add existing ECS instances to a custom node pool. */ nodePoolId: pulumi.Input; }