import * as pulumi from "@pulumi/pulumi";
import * as inputs from "./types/input";
import * as outputs from "./types/output";
/**
 * ## Import
 *
 * Kubernetes pools can be imported using the `{region}/{id}`, e.g.
 *
 * bash
 *
 * ```sh
 * $ pulumi import scaleway:index/kubernetesNodePool:KubernetesNodePool mypool fr-par/11111111-1111-1111-1111-111111111111
 * ```
 *
 * @deprecated scaleway.index/kubernetesnodepool.KubernetesNodePool has been deprecated in favor of scaleway.kubernetes/pool.Pool
 */
export declare class KubernetesNodePool extends pulumi.CustomResource {
    /**
     * Get an existing KubernetesNodePool 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?: KubernetesNodePoolState, opts?: pulumi.CustomResourceOptions): KubernetesNodePool;
    /**
     * Returns true if the given object is an instance of KubernetesNodePool.  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 KubernetesNodePool;
    /**
     * Enables the autohealing feature for this pool.
     */
    readonly autohealing: pulumi.Output<boolean | undefined>;
    /**
     * Enables the autoscaling feature for this pool.
     *
     * > **Important:** When enabled, an update of the `size` will not be taken into account.
     */
    readonly autoscaling: pulumi.Output<boolean | undefined>;
    /**
     * The ID of the Kubernetes cluster on which this pool will be created.
     */
    readonly clusterId: pulumi.Output<string>;
    /**
     * The container runtime of the pool.
     *
     * > **Important:** Updates to this field will recreate a new resource.
     */
    readonly containerRuntime: pulumi.Output<string | undefined>;
    /**
     * The creation date of the pool.
     */
    readonly createdAt: pulumi.Output<string>;
    /**
     * The actual size of the pool
     */
    readonly currentSize: pulumi.Output<number>;
    /**
     * The Kubelet arguments to be used by this pool
     */
    readonly kubeletArgs: pulumi.Output<{
        [key: string]: string;
    } | undefined>;
    /**
     * The maximum size of the pool, used by the autoscaling feature.
     */
    readonly maxSize: pulumi.Output<number>;
    /**
     * The minimum size of the pool, used by the autoscaling feature.
     */
    readonly minSize: pulumi.Output<number | undefined>;
    /**
     * The name for the pool.
     *
     * > **Important:** Updates to this field will recreate a new resource.
     */
    readonly name: pulumi.Output<string>;
    /**
     * The commercial type of the pool instances. Instances with insufficient memory are not eligible (DEV1-S, PLAY2-PICO, STARDUST). `external` is a special node type used to provision from other Cloud providers.
     *
     * > **Important:** Updates to this field will recreate a new resource.
     */
    readonly nodeType: pulumi.Output<string>;
    /**
     * (List of) The nodes in the default pool.
     */
    readonly nodes: pulumi.Output<outputs.KubernetesNodePoolNode[]>;
    /**
     * The [placement group](https://www.scaleway.com/en/developers/api/instance/#path-placement-groups-create-a-placement-group) the nodes of the pool will be attached to.
     *
     * > **Important:** Updates to this field will recreate a new resource.
     */
    readonly placementGroupId: pulumi.Output<string | undefined>;
    /**
     * Defines if the public IP should be removed from Nodes. To use this feature, your Cluster must have an attached Private Network set up with a Public Gateway.
     *
     * > **Important:** Updates to this field will recreate a new resource.
     */
    readonly publicIpDisabled: pulumi.Output<boolean | undefined>;
    /**
     * `region`) The region in which the pool should be created.
     */
    readonly region: pulumi.Output<string>;
    /**
     * The size of the system volume of the nodes in gigabyte
     */
    readonly rootVolumeSizeInGb: pulumi.Output<number>;
    /**
     * System volume type of the nodes composing the pool
     */
    readonly rootVolumeType: pulumi.Output<string>;
    /**
     * The size of the pool.
     *
     * > **Important:** This field will only be used at creation if autoscaling is enabled.
     */
    readonly size: pulumi.Output<number>;
    /**
     * The status of the node.
     */
    readonly status: pulumi.Output<string>;
    /**
     * The tags associated with the pool.
     *
     * > Note: As mentionned in [this document](https://github.com/scaleway/scaleway-cloud-controller-manager/blob/master/docs/tags.md#taints), taints of a pool's nodes are applied using tags. (e.g.: `"taint=taintName=taintValue:Effect"`)
     */
    readonly tags: pulumi.Output<string[] | undefined>;
    /**
     * The last update date of the pool.
     */
    readonly updatedAt: pulumi.Output<string>;
    /**
     * The Pool upgrade policy
     */
    readonly upgradePolicy: pulumi.Output<outputs.KubernetesNodePoolUpgradePolicy>;
    /**
     * The version of the pool.
     */
    readonly version: pulumi.Output<string>;
    /**
     * Whether to wait for the pool to be ready.
     */
    readonly waitForPoolReady: pulumi.Output<boolean | undefined>;
    /**
     * `zone`) The zone in which the pool should be created.
     *
     * > **Important:** Updates to this field will recreate a new resource.
     */
    readonly zone: pulumi.Output<string>;
    /**
     * Create a KubernetesNodePool 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.
     */
    /** @deprecated scaleway.index/kubernetesnodepool.KubernetesNodePool has been deprecated in favor of scaleway.kubernetes/pool.Pool */
    constructor(name: string, args: KubernetesNodePoolArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering KubernetesNodePool resources.
 */
export interface KubernetesNodePoolState {
    /**
     * Enables the autohealing feature for this pool.
     */
    autohealing?: pulumi.Input<boolean>;
    /**
     * Enables the autoscaling feature for this pool.
     *
     * > **Important:** When enabled, an update of the `size` will not be taken into account.
     */
    autoscaling?: pulumi.Input<boolean>;
    /**
     * The ID of the Kubernetes cluster on which this pool will be created.
     */
    clusterId?: pulumi.Input<string>;
    /**
     * The container runtime of the pool.
     *
     * > **Important:** Updates to this field will recreate a new resource.
     */
    containerRuntime?: pulumi.Input<string>;
    /**
     * The creation date of the pool.
     */
    createdAt?: pulumi.Input<string>;
    /**
     * The actual size of the pool
     */
    currentSize?: pulumi.Input<number>;
    /**
     * The Kubelet arguments to be used by this pool
     */
    kubeletArgs?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    }>;
    /**
     * The maximum size of the pool, used by the autoscaling feature.
     */
    maxSize?: pulumi.Input<number>;
    /**
     * The minimum size of the pool, used by the autoscaling feature.
     */
    minSize?: pulumi.Input<number>;
    /**
     * The name for the pool.
     *
     * > **Important:** Updates to this field will recreate a new resource.
     */
    name?: pulumi.Input<string>;
    /**
     * The commercial type of the pool instances. Instances with insufficient memory are not eligible (DEV1-S, PLAY2-PICO, STARDUST). `external` is a special node type used to provision from other Cloud providers.
     *
     * > **Important:** Updates to this field will recreate a new resource.
     */
    nodeType?: pulumi.Input<string>;
    /**
     * (List of) The nodes in the default pool.
     */
    nodes?: pulumi.Input<pulumi.Input<inputs.KubernetesNodePoolNode>[]>;
    /**
     * The [placement group](https://www.scaleway.com/en/developers/api/instance/#path-placement-groups-create-a-placement-group) the nodes of the pool will be attached to.
     *
     * > **Important:** Updates to this field will recreate a new resource.
     */
    placementGroupId?: pulumi.Input<string>;
    /**
     * Defines if the public IP should be removed from Nodes. To use this feature, your Cluster must have an attached Private Network set up with a Public Gateway.
     *
     * > **Important:** Updates to this field will recreate a new resource.
     */
    publicIpDisabled?: pulumi.Input<boolean>;
    /**
     * `region`) The region in which the pool should be created.
     */
    region?: pulumi.Input<string>;
    /**
     * The size of the system volume of the nodes in gigabyte
     */
    rootVolumeSizeInGb?: pulumi.Input<number>;
    /**
     * System volume type of the nodes composing the pool
     */
    rootVolumeType?: pulumi.Input<string>;
    /**
     * The size of the pool.
     *
     * > **Important:** This field will only be used at creation if autoscaling is enabled.
     */
    size?: pulumi.Input<number>;
    /**
     * The status of the node.
     */
    status?: pulumi.Input<string>;
    /**
     * The tags associated with the pool.
     *
     * > Note: As mentionned in [this document](https://github.com/scaleway/scaleway-cloud-controller-manager/blob/master/docs/tags.md#taints), taints of a pool's nodes are applied using tags. (e.g.: `"taint=taintName=taintValue:Effect"`)
     */
    tags?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * The last update date of the pool.
     */
    updatedAt?: pulumi.Input<string>;
    /**
     * The Pool upgrade policy
     */
    upgradePolicy?: pulumi.Input<inputs.KubernetesNodePoolUpgradePolicy>;
    /**
     * The version of the pool.
     */
    version?: pulumi.Input<string>;
    /**
     * Whether to wait for the pool to be ready.
     */
    waitForPoolReady?: pulumi.Input<boolean>;
    /**
     * `zone`) The zone in which the pool should be created.
     *
     * > **Important:** Updates to this field will recreate a new resource.
     */
    zone?: pulumi.Input<string>;
}
/**
 * The set of arguments for constructing a KubernetesNodePool resource.
 */
export interface KubernetesNodePoolArgs {
    /**
     * Enables the autohealing feature for this pool.
     */
    autohealing?: pulumi.Input<boolean>;
    /**
     * Enables the autoscaling feature for this pool.
     *
     * > **Important:** When enabled, an update of the `size` will not be taken into account.
     */
    autoscaling?: pulumi.Input<boolean>;
    /**
     * The ID of the Kubernetes cluster on which this pool will be created.
     */
    clusterId: pulumi.Input<string>;
    /**
     * The container runtime of the pool.
     *
     * > **Important:** Updates to this field will recreate a new resource.
     */
    containerRuntime?: pulumi.Input<string>;
    /**
     * The Kubelet arguments to be used by this pool
     */
    kubeletArgs?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    }>;
    /**
     * The maximum size of the pool, used by the autoscaling feature.
     */
    maxSize?: pulumi.Input<number>;
    /**
     * The minimum size of the pool, used by the autoscaling feature.
     */
    minSize?: pulumi.Input<number>;
    /**
     * The name for the pool.
     *
     * > **Important:** Updates to this field will recreate a new resource.
     */
    name?: pulumi.Input<string>;
    /**
     * The commercial type of the pool instances. Instances with insufficient memory are not eligible (DEV1-S, PLAY2-PICO, STARDUST). `external` is a special node type used to provision from other Cloud providers.
     *
     * > **Important:** Updates to this field will recreate a new resource.
     */
    nodeType: pulumi.Input<string>;
    /**
     * The [placement group](https://www.scaleway.com/en/developers/api/instance/#path-placement-groups-create-a-placement-group) the nodes of the pool will be attached to.
     *
     * > **Important:** Updates to this field will recreate a new resource.
     */
    placementGroupId?: pulumi.Input<string>;
    /**
     * Defines if the public IP should be removed from Nodes. To use this feature, your Cluster must have an attached Private Network set up with a Public Gateway.
     *
     * > **Important:** Updates to this field will recreate a new resource.
     */
    publicIpDisabled?: pulumi.Input<boolean>;
    /**
     * `region`) The region in which the pool should be created.
     */
    region?: pulumi.Input<string>;
    /**
     * The size of the system volume of the nodes in gigabyte
     */
    rootVolumeSizeInGb?: pulumi.Input<number>;
    /**
     * System volume type of the nodes composing the pool
     */
    rootVolumeType?: pulumi.Input<string>;
    /**
     * The size of the pool.
     *
     * > **Important:** This field will only be used at creation if autoscaling is enabled.
     */
    size: pulumi.Input<number>;
    /**
     * The tags associated with the pool.
     *
     * > Note: As mentionned in [this document](https://github.com/scaleway/scaleway-cloud-controller-manager/blob/master/docs/tags.md#taints), taints of a pool's nodes are applied using tags. (e.g.: `"taint=taintName=taintValue:Effect"`)
     */
    tags?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * The Pool upgrade policy
     */
    upgradePolicy?: pulumi.Input<inputs.KubernetesNodePoolUpgradePolicy>;
    /**
     * Whether to wait for the pool to be ready.
     */
    waitForPoolReady?: pulumi.Input<boolean>;
    /**
     * `zone`) The zone in which the pool should be created.
     *
     * > **Important:** Updates to this field will recreate a new resource.
     */
    zone?: pulumi.Input<string>;
}
