import * as pulumi from "@pulumi/pulumi"; import { input as inputs, output as outputs } from "./types"; /** * Creates a Yandex Kubernetes Node Group. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as yandex from "@pulumi/yandex"; * * const myNodeGroup = new yandex.KubernetesNodeGroup("my_node_group", { * allocationPolicy: { * locations: [{ * zone: "ru-central1-a", * }], * }, * clusterId: yandex_kubernetes_cluster_my_cluster.id, * description: "description", * instanceTemplate: { * bootDisk: { * size: 64, * type: "network-hdd", * }, * containerRuntime: { * type: "containerd", * }, * networkInterfaces: [{ * nat: true, * subnetIds: [yandex_vpc_subnet_my_subnet.id], * }], * platformId: "standard-v2", * resources: { * cores: 2, * memory: 2, * }, * schedulingPolicy: { * preemptible: false, * }, * }, * labels: { * key: "value", * }, * maintenancePolicy: { * autoRepair: true, * autoUpgrade: true, * maintenanceWindows: [ * { * day: "monday", * duration: "3h", * startTime: "15:00", * }, * { * day: "friday", * duration: "4h30m", * startTime: "10:00", * }, * ], * }, * scalePolicy: { * fixedScale: { * size: 1, * }, * }, * version: "1.17", * }); * ``` * * ## Import * * A Yandex Kubernetes Node Group can be imported using the `id` of the resource, e.g. * * ```sh * $ pulumi import yandex:index/kubernetesNodeGroup:KubernetesNodeGroup default node_group_id * ``` */ export declare class KubernetesNodeGroup extends pulumi.CustomResource { /** * Get an existing KubernetesNodeGroup 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?: KubernetesNodeGroupState, opts?: pulumi.CustomResourceOptions): KubernetesNodeGroup; /** * Returns true if the given object is an instance of KubernetesNodeGroup. 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 KubernetesNodeGroup; /** * This argument specify subnets (zones), that will be used by node group compute instances. The structure is documented below. */ readonly allocationPolicy: pulumi.Output; /** * A list of allowed unsafe sysctl parameters for this node group. For more details see [documentation](https://kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster/). */ readonly allowedUnsafeSysctls: pulumi.Output; /** * The ID of the Kubernetes cluster that this node group belongs to. */ readonly clusterId: pulumi.Output; /** * (Computed) The Kubernetes node group creation timestamp. */ readonly createdAt: pulumi.Output; /** * Deploy policy of the node group. The structure is documented below. */ readonly deployPolicy: pulumi.Output; /** * A description of the Kubernetes node group. */ readonly description: pulumi.Output; /** * ID of instance group that is used to manage this Kubernetes node group. */ readonly instanceGroupId: pulumi.Output; /** * Template used to create compute instances in this Kubernetes node group. The structure is documented below. */ readonly instanceTemplate: pulumi.Output; /** * A set of key/value label pairs assigned to the Kubernetes node group. */ readonly labels: pulumi.Output<{ [key: string]: string; }>; /** * (Computed) Maintenance policy for this Kubernetes node group. * If policy is omitted, automatic revision upgrades are enabled and could happen at any time. * Revision upgrades are performed only within the same minor version, e.g. 1.13. * Minor version upgrades (e.g. 1.13->1.14) should be performed manually. The structure is documented below. */ readonly maintenancePolicy: pulumi.Output; /** * Name of a specific Kubernetes node group. */ readonly name: pulumi.Output; /** * A set of key/value label pairs, that are assigned to all the nodes of this Kubernetes node group. */ readonly nodeLabels: pulumi.Output<{ [key: string]: string; } | undefined>; /** * A list of Kubernetes taints, that are applied to all the nodes of this Kubernetes node group. */ readonly nodeTaints: pulumi.Output; /** * Scale policy of the node group. The structure is documented below. */ readonly scalePolicy: pulumi.Output; /** * (Computed) Status of the Kubernetes node group. */ readonly status: pulumi.Output; /** * Version of Kubernetes that will be used for Kubernetes node group. */ readonly version: pulumi.Output; /** * Information about Kubernetes node group version. The structure is documented below. */ readonly versionInfos: pulumi.Output; /** * Create a KubernetesNodeGroup 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: KubernetesNodeGroupArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering KubernetesNodeGroup resources. */ export interface KubernetesNodeGroupState { /** * This argument specify subnets (zones), that will be used by node group compute instances. The structure is documented below. */ allocationPolicy?: pulumi.Input; /** * A list of allowed unsafe sysctl parameters for this node group. For more details see [documentation](https://kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster/). */ allowedUnsafeSysctls?: pulumi.Input[]>; /** * The ID of the Kubernetes cluster that this node group belongs to. */ clusterId?: pulumi.Input; /** * (Computed) The Kubernetes node group creation timestamp. */ createdAt?: pulumi.Input; /** * Deploy policy of the node group. The structure is documented below. */ deployPolicy?: pulumi.Input; /** * A description of the Kubernetes node group. */ description?: pulumi.Input; /** * ID of instance group that is used to manage this Kubernetes node group. */ instanceGroupId?: pulumi.Input; /** * Template used to create compute instances in this Kubernetes node group. The structure is documented below. */ instanceTemplate?: pulumi.Input; /** * A set of key/value label pairs assigned to the Kubernetes node group. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * (Computed) Maintenance policy for this Kubernetes node group. * If policy is omitted, automatic revision upgrades are enabled and could happen at any time. * Revision upgrades are performed only within the same minor version, e.g. 1.13. * Minor version upgrades (e.g. 1.13->1.14) should be performed manually. The structure is documented below. */ maintenancePolicy?: pulumi.Input; /** * Name of a specific Kubernetes node group. */ name?: pulumi.Input; /** * A set of key/value label pairs, that are assigned to all the nodes of this Kubernetes node group. */ nodeLabels?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * A list of Kubernetes taints, that are applied to all the nodes of this Kubernetes node group. */ nodeTaints?: pulumi.Input[]>; /** * Scale policy of the node group. The structure is documented below. */ scalePolicy?: pulumi.Input; /** * (Computed) Status of the Kubernetes node group. */ status?: pulumi.Input; /** * Version of Kubernetes that will be used for Kubernetes node group. */ version?: pulumi.Input; /** * Information about Kubernetes node group version. The structure is documented below. */ versionInfos?: pulumi.Input[]>; } /** * The set of arguments for constructing a KubernetesNodeGroup resource. */ export interface KubernetesNodeGroupArgs { /** * This argument specify subnets (zones), that will be used by node group compute instances. The structure is documented below. */ allocationPolicy?: pulumi.Input; /** * A list of allowed unsafe sysctl parameters for this node group. For more details see [documentation](https://kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster/). */ allowedUnsafeSysctls?: pulumi.Input[]>; /** * The ID of the Kubernetes cluster that this node group belongs to. */ clusterId: pulumi.Input; /** * Deploy policy of the node group. The structure is documented below. */ deployPolicy?: pulumi.Input; /** * A description of the Kubernetes node group. */ description?: pulumi.Input; /** * Template used to create compute instances in this Kubernetes node group. The structure is documented below. */ instanceTemplate: pulumi.Input; /** * A set of key/value label pairs assigned to the Kubernetes node group. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * (Computed) Maintenance policy for this Kubernetes node group. * If policy is omitted, automatic revision upgrades are enabled and could happen at any time. * Revision upgrades are performed only within the same minor version, e.g. 1.13. * Minor version upgrades (e.g. 1.13->1.14) should be performed manually. The structure is documented below. */ maintenancePolicy?: pulumi.Input; /** * Name of a specific Kubernetes node group. */ name?: pulumi.Input; /** * A set of key/value label pairs, that are assigned to all the nodes of this Kubernetes node group. */ nodeLabels?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * A list of Kubernetes taints, that are applied to all the nodes of this Kubernetes node group. */ nodeTaints?: pulumi.Input[]>; /** * Scale policy of the node group. The structure is documented below. */ scalePolicy: pulumi.Input; /** * Version of Kubernetes that will be used for Kubernetes node group. */ version?: pulumi.Input; }