UNPKG

@pulumi/aws-native

Version:

The Pulumi AWS Cloud Control Provider enables you to build, deploy, and manage [any AWS resource that's supported by the AWS Cloud Control API](https://github.com/pulumi/pulumi-aws-native/blob/master/provider/cmd/pulumi-gen-aws-native/supported-types.txt)

253 lines (252 loc) • 8.9 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Resource schema for AWS::EKS::Nodegroup * * ## Example Usage * ### Example * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws_native from "@pulumi/aws-native"; * * const eksNodegroup = new aws_native.eks.Nodegroup("eksNodegroup", { * clusterName: "prod", * nodeRole: "arn:aws:iam::012345678910:role/eksInstanceRole", * scalingConfig: { * minSize: 3, * desiredSize: 5, * maxSize: 7, * }, * labels: { * key1: "Value1", * key2: "Value2", * }, * subnets: [ * "subnet-6782e71e", * "subnet-e7e761ac", * ], * }); * * ``` * ### Example * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws_native from "@pulumi/aws-native"; * * const eksNodegroup = new aws_native.eks.Nodegroup("eksNodegroup", { * clusterName: "prod", * nodeRole: "arn:aws:iam::012345678910:role/eksInstanceRole", * scalingConfig: { * minSize: 3, * desiredSize: 5, * maxSize: 7, * }, * labels: { * key1: "Value1", * key2: "Value2", * }, * subnets: [ * "subnet-6782e71e", * "subnet-e7e761ac", * ], * }); * * ``` */ 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 opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input<pulumi.ID>, 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 AMI type for your node group. */ readonly amiType: pulumi.Output<string | undefined>; /** * The Amazon Resource Name (ARN) associated with the managed node group. */ readonly arn: pulumi.Output<string>; readonly awsId: pulumi.Output<string>; /** * The capacity type of your managed node group. */ readonly capacityType: pulumi.Output<string | undefined>; /** * Name of the cluster to create the node group in. */ readonly clusterName: pulumi.Output<string>; /** * The root device disk size (in GiB) for your node group instances. */ readonly diskSize: pulumi.Output<number | undefined>; /** * Force the update if the existing node group's pods are unable to be drained due to a pod disruption budget issue. */ readonly forceUpdateEnabled: pulumi.Output<boolean | undefined>; /** * Specify the instance types for a node group. */ readonly instanceTypes: pulumi.Output<string[] | undefined>; /** * The Kubernetes labels to be applied to the nodes in the node group when they are created. */ readonly labels: pulumi.Output<{ [key: string]: string; } | undefined>; /** * An object representing a node group's launch template specification. */ readonly launchTemplate: pulumi.Output<outputs.eks.NodegroupLaunchTemplateSpecification | undefined>; /** * The node auto repair configuration for node group. */ readonly nodeRepairConfig: pulumi.Output<outputs.eks.NodegroupNodeRepairConfig | undefined>; /** * The Amazon Resource Name (ARN) of the IAM role to associate with your node group. */ readonly nodeRole: pulumi.Output<string>; /** * The unique name to give your node group. */ readonly nodegroupName: pulumi.Output<string | undefined>; /** * The AMI version of the Amazon EKS-optimized AMI to use with your node group. */ readonly releaseVersion: pulumi.Output<string | undefined>; /** * The remote access (SSH) configuration to use with your node group. */ readonly remoteAccess: pulumi.Output<outputs.eks.NodegroupRemoteAccess | undefined>; /** * The scaling configuration details for the Auto Scaling group that is created for your node group. */ readonly scalingConfig: pulumi.Output<outputs.eks.NodegroupScalingConfig | undefined>; /** * The subnets to use for the Auto Scaling group that is created for your node group. */ readonly subnets: pulumi.Output<string[]>; /** * The metadata, as key-value pairs, to apply to the node group to assist with categorization and organization. Follows same schema as Labels for consistency. */ readonly tags: pulumi.Output<{ [key: string]: string; } | undefined>; /** * The Kubernetes taints to be applied to the nodes in the node group when they are created. */ readonly taints: pulumi.Output<outputs.eks.NodegroupTaint[] | undefined>; /** * The node group update configuration. */ readonly updateConfig: pulumi.Output<outputs.eks.NodegroupUpdateConfig | undefined>; /** * The Kubernetes version to use for your managed nodes. */ readonly version: pulumi.Output<string | undefined>; /** * 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); } /** * The set of arguments for constructing a Nodegroup resource. */ export interface NodegroupArgs { /** * The AMI type for your node group. */ amiType?: pulumi.Input<string>; /** * The capacity type of your managed node group. */ capacityType?: pulumi.Input<string>; /** * Name of the cluster to create the node group in. */ clusterName: pulumi.Input<string>; /** * The root device disk size (in GiB) for your node group instances. */ diskSize?: pulumi.Input<number>; /** * Force the update if the existing node group's pods are unable to be drained due to a pod disruption budget issue. */ forceUpdateEnabled?: pulumi.Input<boolean>; /** * Specify the instance types for a node group. */ instanceTypes?: pulumi.Input<pulumi.Input<string>[]>; /** * The Kubernetes labels to be applied to the nodes in the node group when they are created. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; /** * An object representing a node group's launch template specification. */ launchTemplate?: pulumi.Input<inputs.eks.NodegroupLaunchTemplateSpecificationArgs>; /** * The node auto repair configuration for node group. */ nodeRepairConfig?: pulumi.Input<inputs.eks.NodegroupNodeRepairConfigArgs>; /** * The Amazon Resource Name (ARN) of the IAM role to associate with your node group. */ nodeRole: pulumi.Input<string>; /** * The unique name to give your node group. */ nodegroupName?: pulumi.Input<string>; /** * The AMI version of the Amazon EKS-optimized AMI to use with your node group. */ releaseVersion?: pulumi.Input<string>; /** * The remote access (SSH) configuration to use with your node group. */ remoteAccess?: pulumi.Input<inputs.eks.NodegroupRemoteAccessArgs>; /** * The scaling configuration details for the Auto Scaling group that is created for your node group. */ scalingConfig?: pulumi.Input<inputs.eks.NodegroupScalingConfigArgs>; /** * The subnets to use for the Auto Scaling group that is created for your node group. */ subnets: pulumi.Input<pulumi.Input<string>[]>; /** * The metadata, as key-value pairs, to apply to the node group to assist with categorization and organization. Follows same schema as Labels for consistency. */ tags?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; /** * The Kubernetes taints to be applied to the nodes in the node group when they are created. */ taints?: pulumi.Input<pulumi.Input<inputs.eks.NodegroupTaintArgs>[]>; /** * The node group update configuration. */ updateConfig?: pulumi.Input<inputs.eks.NodegroupUpdateConfigArgs>; /** * The Kubernetes version to use for your managed nodes. */ version?: pulumi.Input<string>; }