/* eslint-disable */ /** * This file was automatically generated by json-schema-to-typescript. * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file, * and run json-schema-to-typescript to regenerate this file. */ /** * Resource schema for AWS::EKS::Nodegroup */ export interface AwsEksNodegroup { /** * The AMI type for your node group. */ AmiType?: string; /** * The capacity type of your managed node group. */ CapacityType?: string; /** * Name of the cluster to create the node group in. */ ClusterName: string; /** * The root device disk size (in GiB) for your node group instances. */ DiskSize?: number; /** * Force the update if the existing node group's pods are unable to be drained due to a pod disruption budget issue. */ ForceUpdateEnabled?: boolean; /** * Specify the instance types for a node group. */ InstanceTypes?: string[]; /** * The Kubernetes labels to be applied to the nodes in the node group when they are created. */ Labels?: { /** * This interface was referenced by `undefined`'s JSON-Schema definition * via the `patternProperty` "^.+$". */ [k: string]: string; }; LaunchTemplate?: LaunchTemplateSpecification; /** * The unique name to give your node group. */ NodegroupName?: string; /** * The Amazon Resource Name (ARN) of the IAM role to associate with your node group. */ NodeRole: string; /** * The AMI version of the Amazon EKS-optimized AMI to use with your node group. */ ReleaseVersion?: string; RemoteAccess?: RemoteAccess; ScalingConfig?: ScalingConfig; /** * The subnets to use for the Auto Scaling group that is created for your node group. */ Subnets: 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?: { /** * This interface was referenced by `undefined`'s JSON-Schema definition * via the `patternProperty` "^.+$". */ [k: string]: string; }; /** * The Kubernetes taints to be applied to the nodes in the node group when they are created. */ Taints?: Taint[]; UpdateConfig?: UpdateConfig; /** * The Kubernetes version to use for your managed nodes. */ Version?: string; Id?: string; Arn?: string; } /** * An object representing a node group's launch template specification. */ export interface LaunchTemplateSpecification { Id?: string; Version?: string; Name?: string; } /** * The remote access (SSH) configuration to use with your node group. */ export interface RemoteAccess { SourceSecurityGroups?: string[]; Ec2SshKey: string; } /** * The scaling configuration details for the Auto Scaling group that is created for your node group. */ export interface ScalingConfig { MinSize?: number; DesiredSize?: number; MaxSize?: number; } /** * An object representing a Taint specification for AWS EKS Nodegroup. */ export interface Taint { Key?: string; Value?: string; Effect?: string; } /** * The node group update configuration. */ export interface UpdateConfig { /** * The maximum number of nodes unavailable at once during a version update. Nodes will be updated in parallel. This value or maxUnavailablePercentage is required to have a value.The maximum number is 100. */ MaxUnavailable?: number; /** * The maximum percentage of nodes unavailable during a version update. This percentage of nodes will be updated in parallel, up to 100 nodes at once. This value or maxUnavailable is required to have a value. */ MaxUnavailablePercentage?: number; }