Class NatInstanceProps.Builder
java.lang.Object
software.amazon.awscdk.services.ec2.NatInstanceProps.Builder
- All Implemented Interfaces:
software.amazon.jsii.Builder<NatInstanceProps>
- Enclosing interface:
NatInstanceProps
@Stability(Stable)
public static final class NatInstanceProps.Builder
extends Object
implements software.amazon.jsii.Builder<NatInstanceProps>
A builder for
NatInstanceProps-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionassociatePublicIpAddress(Boolean associatePublicIpAddress) Sets the value ofNatInstanceProps.getAssociatePublicIpAddress()build()Builds the configured instance.creditSpecification(CpuCredits creditSpecification) Sets the value ofNatInstanceProps.getCreditSpecification()defaultAllowedTraffic(NatTrafficDirection defaultAllowedTraffic) Sets the value ofNatInstanceProps.getDefaultAllowedTraffic()instanceType(InstanceType instanceType) Sets the value ofNatInstanceProps.getInstanceType()Deprecated.- Use `keyPair` instead - https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2-readme.html#using-an-existing-ec2-key-pairSets the value ofNatInstanceProps.getKeyPair()machineImage(IMachineImage machineImage) Sets the value ofNatInstanceProps.getMachineImage()securityGroup(ISecurityGroup securityGroup) Deprecated.- Cannot create a new security group before the VPC is created, and cannot create the VPC without the NAT provider.Sets the value ofNatInstanceProps.getUserData()
-
Constructor Details
-
Builder
public Builder()
-
-
Method Details
-
instanceType
Sets the value ofNatInstanceProps.getInstanceType()- Parameters:
instanceType- Instance type of the NAT instance. This parameter is required.- Returns:
this
-
associatePublicIpAddress
@Stability(Stable) public NatInstanceProps.Builder associatePublicIpAddress(Boolean associatePublicIpAddress) Sets the value ofNatInstanceProps.getAssociatePublicIpAddress()- Parameters:
associatePublicIpAddress- Whether to associate a public IP address to the primary network interface attached to this instance.- Returns:
this
-
creditSpecification
@Stability(Stable) public NatInstanceProps.Builder creditSpecification(CpuCredits creditSpecification) Sets the value ofNatInstanceProps.getCreditSpecification()- Parameters:
creditSpecification- Specifying the CPU credit type for burstable EC2 instance types (T2, T3, T3a, etc). The unlimited CPU credit option is not supported for T3 instances with dedicated host (host) tenancy.- Returns:
this
-
defaultAllowedTraffic
@Stability(Stable) public NatInstanceProps.Builder defaultAllowedTraffic(NatTrafficDirection defaultAllowedTraffic) Sets the value ofNatInstanceProps.getDefaultAllowedTraffic()- Parameters:
defaultAllowedTraffic- Direction to allow all traffic through the NAT instance by default. By default, inbound and outbound traffic is allowed.If you set this to another value than INBOUND_AND_OUTBOUND, you must configure the NAT instance's security groups in another way, either by passing in a fully configured Security Group using the
securityGroupproperty, or by configuring it using the.securityGroupor.connectionsmembers after passing the NAT Instance Provider to a Vpc.- Returns:
this
-
keyName
Deprecated.- Use `keyPair` instead - https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2-readme.html#using-an-existing-ec2-key-pairSets the value ofNatInstanceProps.getKeyName()- Parameters:
keyName- Name of SSH keypair to grant access to instance.- Returns:
this
-
keyPair
Sets the value ofNatInstanceProps.getKeyPair()- Parameters:
keyPair- The SSH keypair to grant access to the instance.- Returns:
this
-
machineImage
Sets the value ofNatInstanceProps.getMachineImage()- Parameters:
machineImage- The machine image (AMI) to use. By default, will do an AMI lookup for the latest NAT instance image.If you have a specific AMI ID you want to use, pass a
GenericLinuxImage. For example:NatProvider.instance(NatInstanceProps.builder() .instanceType(new InstanceType("t3.micro")) .machineImage(new GenericLinuxImage(Map.of( "us-east-2", "ami-0f9c61b5a562a16af"))) .build());- Returns:
this
-
securityGroup
@Stability(Deprecated) @Deprecated public NatInstanceProps.Builder securityGroup(ISecurityGroup securityGroup) Deprecated.- Cannot create a new security group before the VPC is created, and cannot create the VPC without the NAT provider. SetdefaultAllowedTraffictoand useinvalid @link
NatTrafficDirection.NONEto retrieve the instances on the fly and add security groupsinvalid @link
NatInstanceProviderV2.gatewayInstancesSets the value ofNatInstanceProps.getSecurityGroup()- Parameters:
securityGroup- Security Group for NAT instances.- Returns:
this
-
userData
Sets the value ofNatInstanceProps.getUserData()- Parameters:
userData- Custom user data to run on the NAT instances.- Returns:
this
-
build
Builds the configured instance.- Specified by:
buildin interfacesoftware.amazon.jsii.Builder<NatInstanceProps>- Returns:
- a new instance of
NatInstanceProps - Throws:
NullPointerException- if any required attribute was not provided
-