import * as core from "@terrascript/core"; export interface UpdateConfigArgs extends core.SchemaArgs { maxUnavailable?: number | core.NumberOut; maxUnavailablePercentage?: number | core.NumberOut; } export declare class UpdateConfig extends core.Schema { maxUnavailable?: number | core.NumberOut; maxUnavailablePercentage?: number | core.NumberOut; } export interface LaunchTemplateArgs extends core.SchemaArgs { id?: string | core.StringOut; name?: string | core.StringOut; version: string | core.StringOut; } export declare class LaunchTemplate extends core.Schema { id?: string | core.StringOut; name?: string | core.StringOut; version: string | core.StringOut; } export interface ScalingConfigArgs extends core.SchemaArgs { desiredSize: number | core.NumberOut; maxSize: number | core.NumberOut; minSize: number | core.NumberOut; } export declare class ScalingConfig extends core.Schema { desiredSize: number | core.NumberOut; maxSize: number | core.NumberOut; minSize: number | core.NumberOut; } export interface RemoteAccessArgs extends core.SchemaArgs { ec2SshKey?: string | core.StringOut; sourceSecurityGroupIds?: core.Array | core.ArrayOut; } export declare class RemoteAccess extends core.Schema { ec2SshKey?: string | core.StringOut; sourceSecurityGroupIds?: core.Array | core.ArrayOut; } export interface AutoscalingGroupsArgs extends core.SchemaArgs { name: string | core.StringOut; } export declare class AutoscalingGroups extends core.Schema { name: string | core.StringOut; } export interface ResourcesArgs extends core.SchemaArgs { autoscalingGroups: core.Array | core.ArrayOut; remoteAccessSecurityGroupId: string | core.StringOut; } export declare class Resources extends core.Schema { autoscalingGroups: core.Array | core.ArrayOut; remoteAccessSecurityGroupId: string | core.StringOut; } export interface TaintArgs extends core.SchemaArgs { effect: string | core.StringOut; key: string | core.StringOut; value?: string | core.StringOut; } export declare class Taint extends core.Schema { effect: string | core.StringOut; key: string | core.StringOut; value?: string | core.StringOut; } export interface NodeGroupArgs extends core.ResourceArgs { /** * (Optional) Type of Amazon Machine Image (AMI) associated with the EKS Node Group. See the [AWS docum * entation](https://docs.aws.amazon.com/eks/latest/APIReference/API_Nodegroup.html#AmazonEKS-Type-Node * group-amiType) for valid values. Terraform will only perform drift detection if a configuration valu * e is provided. */ amiType?: string | core.StringOut; /** * (Optional) Type of capacity associated with the EKS Node Group. Valid values: `ON_DEMAND`, `SPOT`. T * erraform will only perform drift detection if a configuration value is provided. */ capacityType?: string | core.StringOut; clusterName: string | core.StringOut; /** * (Optional) Disk size in GiB for worker nodes. Defaults to `20`. Terraform will only perform drift de * tection if a configuration value is provided. */ diskSize?: number | core.NumberOut; /** * (Optional) Force version update if existing pods are unable to be drained due to a pod disruption bu * dget issue. */ forceUpdateVersion?: boolean | core.BooleanOut; /** * (Optional) List of instance types associated with the EKS Node Group. Defaults to `["t3.medium"]`. T * erraform will only perform drift detection if a configuration value is provided. */ instanceTypes?: core.Array | core.ArrayOut; /** * (Optional) Key-value map of Kubernetes labels. Only labels that are applied with the EKS API are man * aged by this argument. Other Kubernetes labels applied to the EKS Node Group will not be managed. */ labels?: core.Map | core.MapOut; /** * (Optional) Configuration block with Launch Template settings. Detailed below. */ launchTemplate?: LaunchTemplate; nodeGroupName?: string | core.StringOut; nodeGroupNamePrefix?: string | core.StringOut; nodeRoleArn: string | core.StringOut; releaseVersion?: string | core.StringOut; /** * (Optional) Configuration block with remote access settings. Detailed below. */ remoteAccess?: RemoteAccess; /** * (Required) Configuration block with scaling settings. Detailed below. */ scalingConfig: ScalingConfig; subnetIds: core.Array | core.ArrayOut; /** * (Optional) Key-value map of resource tags. If configured with a provider [`default_tags` configurati * on block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configurati * on-block) present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: core.Map | core.MapOut; /** * A map of tags assigned to the resource, including those inherited from the provider [`default_tags` * configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags- * configuration-block). */ tagsAll?: core.Map | core.MapOut; /** * (Optional) The Kubernetes taints to be applied to the nodes in the node group. Maximum of 50 taints * per node group. Detailed below. */ taint?: core.Array | core.ArrayOut; updateConfig?: UpdateConfig; /** * (Required) EC2 Launch Template version number. While the API accepts values like `$Default` and `$La * test`, the API will convert the value to the associated version number (e.g., `1`) on read and Terra * form will show a difference on next plan. Using the `default_version` or `latest_version` attribute * of the `aws_launch_template` resource or data source is recommended for this argument. */ version?: string | core.StringOut; } export declare class NodeGroup extends core.Resource { /** * (Optional) Type of Amazon Machine Image (AMI) associated with the EKS Node Group. See the [AWS docum * entation](https://docs.aws.amazon.com/eks/latest/APIReference/API_Nodegroup.html#AmazonEKS-Type-Node * group-amiType) for valid values. Terraform will only perform drift detection if a configuration valu * e is provided. */ amiType?: string | core.StringOut; /** * Amazon Resource Name (ARN) of the EKS Node Group. */ arn: string | core.StringOut; /** * (Optional) Type of capacity associated with the EKS Node Group. Valid values: `ON_DEMAND`, `SPOT`. T * erraform will only perform drift detection if a configuration value is provided. */ capacityType?: string | core.StringOut; clusterName: string | core.StringOut; /** * (Optional) Disk size in GiB for worker nodes. Defaults to `20`. Terraform will only perform drift de * tection if a configuration value is provided. */ diskSize?: number | core.NumberOut; /** * (Optional) Force version update if existing pods are unable to be drained due to a pod disruption bu * dget issue. */ forceUpdateVersion?: boolean | core.BooleanOut; /** * (Optional) Identifier of the EC2 Launch Template. Conflicts with `name`. */ id: string | core.StringOut; /** * (Optional) List of instance types associated with the EKS Node Group. Defaults to `["t3.medium"]`. T * erraform will only perform drift detection if a configuration value is provided. */ instanceTypes?: core.Array | core.ArrayOut; /** * (Optional) Key-value map of Kubernetes labels. Only labels that are applied with the EKS API are man * aged by this argument. Other Kubernetes labels applied to the EKS Node Group will not be managed. */ labels?: core.Map | core.MapOut; /** * (Optional) Configuration block with Launch Template settings. Detailed below. */ launchTemplate?: LaunchTemplate; nodeGroupName?: string | core.StringOut; nodeGroupNamePrefix?: string | core.StringOut; nodeRoleArn: string | core.StringOut; releaseVersion?: string | core.StringOut; /** * (Optional) Configuration block with remote access settings. Detailed below. */ remoteAccess?: RemoteAccess; /** * List of objects containing information about underlying resources. */ resources: core.Array | core.ArrayOut; /** * (Required) Configuration block with scaling settings. Detailed below. */ scalingConfig: ScalingConfig; /** * Status of the EKS Node Group. */ status: string | core.StringOut; subnetIds: core.Array | core.ArrayOut; /** * (Optional) Key-value map of resource tags. If configured with a provider [`default_tags` configurati * on block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configurati * on-block) present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: core.Map | core.MapOut; /** * A map of tags assigned to the resource, including those inherited from the provider [`default_tags` * configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags- * configuration-block). */ tagsAll?: core.Map | core.MapOut; /** * (Optional) The Kubernetes taints to be applied to the nodes in the node group. Maximum of 50 taints * per node group. Detailed below. */ taint?: core.Array | core.ArrayOut; updateConfig?: UpdateConfig; /** * (Required) EC2 Launch Template version number. While the API accepts values like `$Default` and `$La * test`, the API will convert the value to the associated version number (e.g., `1`) on read and Terra * form will show a difference on next plan. Using the `default_version` or `latest_version` attribute * of the `aws_launch_template` resource or data source is recommended for this argument. */ version?: string | core.StringOut; constructor(name: string, args?: NodeGroupArgs); getNamespace(): string; } //# sourceMappingURL=node_group.d.ts.map