Class CreateNodegroupRequest
- java.lang.Object
-
- software.amazon.awssdk.core.SdkRequest
-
- software.amazon.awssdk.awscore.AwsRequest
-
- software.amazon.awssdk.services.eks.model.EksRequest
-
- software.amazon.awssdk.services.eks.model.CreateNodegroupRequest
-
- All Implemented Interfaces:
SdkPojo,ToCopyableBuilder<CreateNodegroupRequest.Builder,CreateNodegroupRequest>
@Generated("software.amazon.awssdk:codegen") public final class CreateNodegroupRequest extends EksRequest implements ToCopyableBuilder<CreateNodegroupRequest.Builder,CreateNodegroupRequest>
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceCreateNodegroupRequest.Builder
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description AMITypesamiType()The AMI type for your node group.StringamiTypeAsString()The AMI type for your node group.static CreateNodegroupRequest.Builderbuilder()CapacityTypescapacityType()The capacity type for your node group.StringcapacityTypeAsString()The capacity type for your node group.StringclientRequestToken()Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.StringclusterName()The name of the cluster to create the node group in.IntegerdiskSize()The root device disk size (in GiB) for your node group instances.booleanequals(Object obj)booleanequalsBySdkFields(Object obj)<T> Optional<T>getValueForField(String fieldName, Class<T> clazz)inthashCode()booleanhasInstanceTypes()For responses, this returns true if the service returned a value for the InstanceTypes property.booleanhasLabels()For responses, this returns true if the service returned a value for the Labels property.booleanhasSubnets()For responses, this returns true if the service returned a value for the Subnets property.booleanhasTags()For responses, this returns true if the service returned a value for the Tags property.booleanhasTaints()For responses, this returns true if the service returned a value for the Taints property.List<String>instanceTypes()Specify the instance types for a node group.Map<String,String>labels()The Kubernetes labels to be applied to the nodes in the node group when they are created.LaunchTemplateSpecificationlaunchTemplate()An object representing a node group's launch template specification.StringnodegroupName()The unique name to give your node group.StringnodeRole()The Amazon Resource Name (ARN) of the IAM role to associate with your node group.StringreleaseVersion()The AMI version of the Amazon EKS optimized AMI to use with your node group.RemoteAccessConfigremoteAccess()The remote access configuration to use with your node group.NodegroupScalingConfigscalingConfig()The scaling configuration details for the Auto Scaling group that is created for your node group.List<SdkField<?>>sdkFields()static Class<? extends CreateNodegroupRequest.Builder>serializableBuilderClass()List<String>subnets()The subnets to use for the Auto Scaling group that is created for your node group.Map<String,String>tags()The metadata to apply to the node group to assist with categorization and organization.List<Taint>taints()The Kubernetes taints to be applied to the nodes in the node group.CreateNodegroupRequest.BuildertoBuilder()StringtoString()Returns a string representation of this object.NodegroupUpdateConfigupdateConfig()The node group update configuration.Stringversion()The Kubernetes version to use for your managed nodes.-
Methods inherited from class software.amazon.awssdk.awscore.AwsRequest
overrideConfiguration
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface software.amazon.awssdk.utils.builder.ToCopyableBuilder
copy
-
-
-
-
Method Detail
-
clusterName
public final String clusterName()
The name of the cluster to create the node group in.
- Returns:
- The name of the cluster to create the node group in.
-
nodegroupName
public final String nodegroupName()
The unique name to give your node group.
- Returns:
- The unique name to give your node group.
-
scalingConfig
public final NodegroupScalingConfig scalingConfig()
The scaling configuration details for the Auto Scaling group that is created for your node group.
- Returns:
- The scaling configuration details for the Auto Scaling group that is created for your node group.
-
diskSize
public final Integer diskSize()
The root device disk size (in GiB) for your node group instances. The default disk size is 20 GiB for Linux and Bottlerocket. The default disk size is 50 GiB for Windows. If you specify
launchTemplate, then don't specifydiskSize, or the node group deployment will fail. For more information about using launch templates with Amazon EKS, see Launch template support in the Amazon EKS User Guide.- Returns:
- The root device disk size (in GiB) for your node group instances. The default disk size is 20 GiB for
Linux and Bottlerocket. The default disk size is 50 GiB for Windows. If you specify
launchTemplate, then don't specifydiskSize, or the node group deployment will fail. For more information about using launch templates with Amazon EKS, see Launch template support in the Amazon EKS User Guide.
-
hasSubnets
public final boolean hasSubnets()
For responses, this returns true if the service returned a value for the Subnets property. This DOES NOT check that the value is non-empty (for which, you should check theisEmpty()method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
-
subnets
public final List<String> subnets()
The subnets to use for the Auto Scaling group that is created for your node group. If you specify
launchTemplate, then don't specifySubnetIdin your launch template, or the node group deployment will fail. For more information about using launch templates with Amazon EKS, see Launch template support in the Amazon EKS User Guide.Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasSubnets()method.- Returns:
- The subnets to use for the Auto Scaling group that is created for your node group. If you specify
launchTemplate, then don't specifySubnetIdin your launch template, or the node group deployment will fail. For more information about using launch templates with Amazon EKS, see Launch template support in the Amazon EKS User Guide.
-
hasInstanceTypes
public final boolean hasInstanceTypes()
For responses, this returns true if the service returned a value for the InstanceTypes property. This DOES NOT check that the value is non-empty (for which, you should check theisEmpty()method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
-
instanceTypes
public final List<String> instanceTypes()
Specify the instance types for a node group. If you specify a GPU instance type, make sure to also specify an applicable GPU AMI type with the
amiTypeparameter. If you specifylaunchTemplate, then you can specify zero or one instance type in your launch template or you can specify 0-20 instance types forinstanceTypes. If however, you specify an instance type in your launch template and specify anyinstanceTypes, the node group deployment will fail. If you don't specify an instance type in a launch template or forinstanceTypes, thent3.mediumis used, by default. If you specifySpotforcapacityType, then we recommend specifying multiple values forinstanceTypes. For more information, see Managed node group capacity types and Launch template support in the Amazon EKS User Guide.Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasInstanceTypes()method.- Returns:
- Specify the instance types for a node group. If you specify a GPU instance type, make sure to also
specify an applicable GPU AMI type with the
amiTypeparameter. If you specifylaunchTemplate, then you can specify zero or one instance type in your launch template or you can specify 0-20 instance types forinstanceTypes. If however, you specify an instance type in your launch template and specify anyinstanceTypes, the node group deployment will fail. If you don't specify an instance type in a launch template or forinstanceTypes, thent3.mediumis used, by default. If you specifySpotforcapacityType, then we recommend specifying multiple values forinstanceTypes. For more information, see Managed node group capacity types and Launch template support in the Amazon EKS User Guide.
-
amiType
public final AMITypes amiType()
The AMI type for your node group. If you specify
launchTemplate, and your launch template uses a custom AMI, then don't specifyamiType, or the node group deployment will fail. If your launch template uses a Windows custom AMI, then addeks:kube-proxy-windowsto your Windows nodesrolearnin theaws-authConfigMap. For more information about using launch templates with Amazon EKS, see Launch template support in the Amazon EKS User Guide.If the service returns an enum value that is not available in the current SDK version,
amiTypewill returnAMITypes.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available fromamiTypeAsString().- Returns:
- The AMI type for your node group. If you specify
launchTemplate, and your launch template uses a custom AMI, then don't specifyamiType, or the node group deployment will fail. If your launch template uses a Windows custom AMI, then addeks:kube-proxy-windowsto your Windows nodesrolearnin theaws-authConfigMap. For more information about using launch templates with Amazon EKS, see Launch template support in the Amazon EKS User Guide. - See Also:
AMITypes
-
amiTypeAsString
public final String amiTypeAsString()
The AMI type for your node group. If you specify
launchTemplate, and your launch template uses a custom AMI, then don't specifyamiType, or the node group deployment will fail. If your launch template uses a Windows custom AMI, then addeks:kube-proxy-windowsto your Windows nodesrolearnin theaws-authConfigMap. For more information about using launch templates with Amazon EKS, see Launch template support in the Amazon EKS User Guide.If the service returns an enum value that is not available in the current SDK version,
amiTypewill returnAMITypes.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available fromamiTypeAsString().- Returns:
- The AMI type for your node group. If you specify
launchTemplate, and your launch template uses a custom AMI, then don't specifyamiType, or the node group deployment will fail. If your launch template uses a Windows custom AMI, then addeks:kube-proxy-windowsto your Windows nodesrolearnin theaws-authConfigMap. For more information about using launch templates with Amazon EKS, see Launch template support in the Amazon EKS User Guide. - See Also:
AMITypes
-
remoteAccess
public final RemoteAccessConfig remoteAccess()
The remote access configuration to use with your node group. For Linux, the protocol is SSH. For Windows, the protocol is RDP. If you specify
launchTemplate, then don't specifyremoteAccess, or the node group deployment will fail. For more information about using launch templates with Amazon EKS, see Launch template support in the Amazon EKS User Guide.- Returns:
- The remote access configuration to use with your node group. For Linux, the protocol is SSH. For Windows,
the protocol is RDP. If you specify
launchTemplate, then don't specifyremoteAccess, or the node group deployment will fail. For more information about using launch templates with Amazon EKS, see Launch template support in the Amazon EKS User Guide.
-
nodeRole
public final String nodeRole()
The Amazon Resource Name (ARN) of the IAM role to associate with your node group. The Amazon EKS worker node
kubeletdaemon makes calls to Amazon Web Services APIs on your behalf. Nodes receive permissions for these API calls through an IAM instance profile and associated policies. Before you can launch nodes and register them into a cluster, you must create an IAM role for those nodes to use when they are launched. For more information, see Amazon EKS node IAM role in the Amazon EKS User Guide . If you specifylaunchTemplate, then don't specifyIamInstanceProfilein your launch template, or the node group deployment will fail. For more information about using launch templates with Amazon EKS, see Launch template support in the Amazon EKS User Guide.- Returns:
- The Amazon Resource Name (ARN) of the IAM role to associate with your node group. The Amazon EKS worker
node
kubeletdaemon makes calls to Amazon Web Services APIs on your behalf. Nodes receive permissions for these API calls through an IAM instance profile and associated policies. Before you can launch nodes and register them into a cluster, you must create an IAM role for those nodes to use when they are launched. For more information, see Amazon EKS node IAM role in the Amazon EKS User Guide . If you specifylaunchTemplate, then don't specifyIamInstanceProfilein your launch template, or the node group deployment will fail. For more information about using launch templates with Amazon EKS, see Launch template support in the Amazon EKS User Guide.
-
hasLabels
public final boolean hasLabels()
For responses, this returns true if the service returned a value for the Labels property. This DOES NOT check that the value is non-empty (for which, you should check theisEmpty()method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
-
labels
public final Map<String,String> labels()
The Kubernetes labels to be applied to the nodes in the node group when they are created.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasLabels()method.- Returns:
- The Kubernetes labels to be applied to the nodes in the node group when they are created.
-
hasTaints
public final boolean hasTaints()
For responses, this returns true if the service returned a value for the Taints property. This DOES NOT check that the value is non-empty (for which, you should check theisEmpty()method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
-
taints
public final List<Taint> taints()
The Kubernetes taints to be applied to the nodes in the node group. For more information, see Node taints on managed node groups.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasTaints()method.- Returns:
- The Kubernetes taints to be applied to the nodes in the node group. For more information, see Node taints on managed node groups.
-
hasTags
public final boolean hasTags()
For responses, this returns true if the service returned a value for the Tags property. This DOES NOT check that the value is non-empty (for which, you should check theisEmpty()method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
-
tags
public final Map<String,String> tags()
The metadata to apply to the node group to assist with categorization and organization. Each tag consists of a key and an optional value. You define both. Node group tags do not propagate to any other resources associated with the node group, such as the Amazon EC2 instances or subnets.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasTags()method.- Returns:
- The metadata to apply to the node group to assist with categorization and organization. Each tag consists of a key and an optional value. You define both. Node group tags do not propagate to any other resources associated with the node group, such as the Amazon EC2 instances or subnets.
-
clientRequestToken
public final String clientRequestToken()
Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.
- Returns:
- Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.
-
launchTemplate
public final LaunchTemplateSpecification launchTemplate()
An object representing a node group's launch template specification. If specified, then do not specify
instanceTypes,diskSize, orremoteAccessand make sure that the launch template meets the requirements inlaunchTemplateSpecification.- Returns:
- An object representing a node group's launch template specification. If specified, then do not specify
instanceTypes,diskSize, orremoteAccessand make sure that the launch template meets the requirements inlaunchTemplateSpecification.
-
updateConfig
public final NodegroupUpdateConfig updateConfig()
The node group update configuration.
- Returns:
- The node group update configuration.
-
capacityType
public final CapacityTypes capacityType()
The capacity type for your node group.
If the service returns an enum value that is not available in the current SDK version,
capacityTypewill returnCapacityTypes.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available fromcapacityTypeAsString().- Returns:
- The capacity type for your node group.
- See Also:
CapacityTypes
-
capacityTypeAsString
public final String capacityTypeAsString()
The capacity type for your node group.
If the service returns an enum value that is not available in the current SDK version,
capacityTypewill returnCapacityTypes.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available fromcapacityTypeAsString().- Returns:
- The capacity type for your node group.
- See Also:
CapacityTypes
-
version
public final String version()
The Kubernetes version to use for your managed nodes. By default, the Kubernetes version of the cluster is used, and this is the only accepted specified value. If you specify
launchTemplate, and your launch template uses a custom AMI, then don't specifyversion, or the node group deployment will fail. For more information about using launch templates with Amazon EKS, see Launch template support in the Amazon EKS User Guide.- Returns:
- The Kubernetes version to use for your managed nodes. By default, the Kubernetes version of the cluster
is used, and this is the only accepted specified value. If you specify
launchTemplate, and your launch template uses a custom AMI, then don't specifyversion, or the node group deployment will fail. For more information about using launch templates with Amazon EKS, see Launch template support in the Amazon EKS User Guide.
-
releaseVersion
public final String releaseVersion()
The AMI version of the Amazon EKS optimized AMI to use with your node group. By default, the latest available AMI version for the node group's current Kubernetes version is used. For information about Linux versions, see Amazon EKS optimized Amazon Linux AMI versions in the Amazon EKS User Guide. Amazon EKS managed node groups support the November 2022 and later releases of the Windows AMIs. For information about Windows versions, see Amazon EKS optimized Windows AMI versions in the Amazon EKS User Guide.
If you specify
launchTemplate, and your launch template uses a custom AMI, then don't specifyreleaseVersion, or the node group deployment will fail. For more information about using launch templates with Amazon EKS, see Launch template support in the Amazon EKS User Guide.- Returns:
- The AMI version of the Amazon EKS optimized AMI to use with your node group. By default, the latest
available AMI version for the node group's current Kubernetes version is used. For information about
Linux versions, see Amazon EKS optimized
Amazon Linux AMI versions in the Amazon EKS User Guide. Amazon EKS managed node groups support
the November 2022 and later releases of the Windows AMIs. For information about Windows versions, see Amazon EKS
optimized Windows AMI versions in the Amazon EKS User Guide.
If you specify
launchTemplate, and your launch template uses a custom AMI, then don't specifyreleaseVersion, or the node group deployment will fail. For more information about using launch templates with Amazon EKS, see Launch template support in the Amazon EKS User Guide.
-
toBuilder
public CreateNodegroupRequest.Builder toBuilder()
- Specified by:
toBuilderin interfaceToCopyableBuilder<CreateNodegroupRequest.Builder,CreateNodegroupRequest>- Specified by:
toBuilderin classEksRequest
-
builder
public static CreateNodegroupRequest.Builder builder()
-
serializableBuilderClass
public static Class<? extends CreateNodegroupRequest.Builder> serializableBuilderClass()
-
hashCode
public final int hashCode()
- Overrides:
hashCodein classAwsRequest
-
equals
public final boolean equals(Object obj)
- Overrides:
equalsin classAwsRequest
-
equalsBySdkFields
public final boolean equalsBySdkFields(Object obj)
- Specified by:
equalsBySdkFieldsin interfaceSdkPojo
-
toString
public final String toString()
Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
-
getValueForField
public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
- Overrides:
getValueForFieldin classSdkRequest
-
-