Class Instance.Builder

  • All Implemented Interfaces:
    software.amazon.jsii.Builder<Instance>
    Enclosing class:
    Instance

    @Stability(Stable)
    public static final class Instance.Builder
    extends Object
    implements software.amazon.jsii.Builder<Instance>
    A fluent builder for Instance.
    • Method Detail

      • create

        @Stability(Stable)
        public static Instance.Builder create​(software.constructs.Construct scope,
                                              String id)
        Parameters:
        scope - The scope in which to define this construct. This parameter is required.
        id - The scoped construct ID. This parameter is required.
        Returns:
        a new instance of Instance.Builder.
      • connection

        @Stability(Experimental)
        public Instance.Builder connection​(com.hashicorp.cdktf.SSHProvisionerConnection connection)
        Parameters:
        connection - This parameter is required.
        Returns:
        this
      • connection

        @Stability(Experimental)
        public Instance.Builder connection​(com.hashicorp.cdktf.WinrmProvisionerConnection connection)
        Parameters:
        connection - This parameter is required.
        Returns:
        this
      • count

        @Stability(Experimental)
        public Instance.Builder count​(Number count)
        Parameters:
        count - This parameter is required.
        Returns:
        this
      • count

        @Stability(Experimental)
        public Instance.Builder count​(com.hashicorp.cdktf.TerraformCount count)
        Parameters:
        count - This parameter is required.
        Returns:
        this
      • dependsOn

        @Stability(Experimental)
        public Instance.Builder dependsOn​(List<? extends com.hashicorp.cdktf.ITerraformDependable> dependsOn)
        Parameters:
        dependsOn - This parameter is required.
        Returns:
        this
      • forEach

        @Stability(Experimental)
        public Instance.Builder forEach​(com.hashicorp.cdktf.ITerraformIterator forEach)
        Parameters:
        forEach - This parameter is required.
        Returns:
        this
      • lifecycle

        @Stability(Experimental)
        public Instance.Builder lifecycle​(com.hashicorp.cdktf.TerraformResourceLifecycle lifecycle)
        Parameters:
        lifecycle - This parameter is required.
        Returns:
        this
      • provider

        @Stability(Experimental)
        public Instance.Builder provider​(com.hashicorp.cdktf.TerraformProvider provider)
        Parameters:
        provider - This parameter is required.
        Returns:
        this
      • provisioners

        @Stability(Experimental)
        public Instance.Builder provisioners​(List<? extends Object> provisioners)
        Parameters:
        provisioners - This parameter is required.
        Returns:
        this
      • ami

        @Stability(Stable)
        public Instance.Builder ami​(String ami)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#ami Instance#ami}.

        Parameters:
        ami - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#ami Instance#ami}. This parameter is required.
        Returns:
        this
      • associatePublicIpAddress

        @Stability(Stable)
        public Instance.Builder associatePublicIpAddress​(Boolean associatePublicIpAddress)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#associate_public_ip_address Instance#associate_public_ip_address}.

        Parameters:
        associatePublicIpAddress - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#associate_public_ip_address Instance#associate_public_ip_address}. This parameter is required.
        Returns:
        this
      • associatePublicIpAddress

        @Stability(Stable)
        public Instance.Builder associatePublicIpAddress​(com.hashicorp.cdktf.IResolvable associatePublicIpAddress)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#associate_public_ip_address Instance#associate_public_ip_address}.

        Parameters:
        associatePublicIpAddress - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#associate_public_ip_address Instance#associate_public_ip_address}. This parameter is required.
        Returns:
        this
      • availabilityZone

        @Stability(Stable)
        public Instance.Builder availabilityZone​(String availabilityZone)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#availability_zone Instance#availability_zone}.

        Parameters:
        availabilityZone - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#availability_zone Instance#availability_zone}. This parameter is required.
        Returns:
        this
      • capacityReservationSpecification

        @Stability(Stable)
        public Instance.Builder capacityReservationSpecification​(InstanceCapacityReservationSpecification capacityReservationSpecification)
        capacity_reservation_specification block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#capacity_reservation_specification Instance#capacity_reservation_specification}

        Parameters:
        capacityReservationSpecification - capacity_reservation_specification block. This parameter is required.
        Returns:
        this
      • cpuCoreCount

        @Stability(Stable)
        public Instance.Builder cpuCoreCount​(Number cpuCoreCount)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#cpu_core_count Instance#cpu_core_count}.

        Parameters:
        cpuCoreCount - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#cpu_core_count Instance#cpu_core_count}. This parameter is required.
        Returns:
        this
      • cpuOptions

        @Stability(Stable)
        public Instance.Builder cpuOptions​(InstanceCpuOptions cpuOptions)
        cpu_options block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#cpu_options Instance#cpu_options}

        Parameters:
        cpuOptions - cpu_options block. This parameter is required.
        Returns:
        this
      • cpuThreadsPerCore

        @Stability(Stable)
        public Instance.Builder cpuThreadsPerCore​(Number cpuThreadsPerCore)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#cpu_threads_per_core Instance#cpu_threads_per_core}.

        Parameters:
        cpuThreadsPerCore - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#cpu_threads_per_core Instance#cpu_threads_per_core}. This parameter is required.
        Returns:
        this
      • creditSpecification

        @Stability(Stable)
        public Instance.Builder creditSpecification​(InstanceCreditSpecification creditSpecification)
        credit_specification block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#credit_specification Instance#credit_specification}

        Parameters:
        creditSpecification - credit_specification block. This parameter is required.
        Returns:
        this
      • disableApiStop

        @Stability(Stable)
        public Instance.Builder disableApiStop​(Boolean disableApiStop)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#disable_api_stop Instance#disable_api_stop}.

        Parameters:
        disableApiStop - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#disable_api_stop Instance#disable_api_stop}. This parameter is required.
        Returns:
        this
      • disableApiStop

        @Stability(Stable)
        public Instance.Builder disableApiStop​(com.hashicorp.cdktf.IResolvable disableApiStop)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#disable_api_stop Instance#disable_api_stop}.

        Parameters:
        disableApiStop - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#disable_api_stop Instance#disable_api_stop}. This parameter is required.
        Returns:
        this
      • disableApiTermination

        @Stability(Stable)
        public Instance.Builder disableApiTermination​(Boolean disableApiTermination)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#disable_api_termination Instance#disable_api_termination}.

        Parameters:
        disableApiTermination - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#disable_api_termination Instance#disable_api_termination}. This parameter is required.
        Returns:
        this
      • disableApiTermination

        @Stability(Stable)
        public Instance.Builder disableApiTermination​(com.hashicorp.cdktf.IResolvable disableApiTermination)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#disable_api_termination Instance#disable_api_termination}.

        Parameters:
        disableApiTermination - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#disable_api_termination Instance#disable_api_termination}. This parameter is required.
        Returns:
        this
      • ebsBlockDevice

        @Stability(Stable)
        public Instance.Builder ebsBlockDevice​(com.hashicorp.cdktf.IResolvable ebsBlockDevice)
        ebs_block_device block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#ebs_block_device Instance#ebs_block_device}

        Parameters:
        ebsBlockDevice - ebs_block_device block. This parameter is required.
        Returns:
        this
      • ebsBlockDevice

        @Stability(Stable)
        public Instance.Builder ebsBlockDevice​(List<? extends InstanceEbsBlockDevice> ebsBlockDevice)
        ebs_block_device block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#ebs_block_device Instance#ebs_block_device}

        Parameters:
        ebsBlockDevice - ebs_block_device block. This parameter is required.
        Returns:
        this
      • ebsOptimized

        @Stability(Stable)
        public Instance.Builder ebsOptimized​(Boolean ebsOptimized)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#ebs_optimized Instance#ebs_optimized}.

        Parameters:
        ebsOptimized - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#ebs_optimized Instance#ebs_optimized}. This parameter is required.
        Returns:
        this
      • ebsOptimized

        @Stability(Stable)
        public Instance.Builder ebsOptimized​(com.hashicorp.cdktf.IResolvable ebsOptimized)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#ebs_optimized Instance#ebs_optimized}.

        Parameters:
        ebsOptimized - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#ebs_optimized Instance#ebs_optimized}. This parameter is required.
        Returns:
        this
      • enclaveOptions

        @Stability(Stable)
        public Instance.Builder enclaveOptions​(InstanceEnclaveOptions enclaveOptions)
        enclave_options block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#enclave_options Instance#enclave_options}

        Parameters:
        enclaveOptions - enclave_options block. This parameter is required.
        Returns:
        this
      • ephemeralBlockDevice

        @Stability(Stable)
        public Instance.Builder ephemeralBlockDevice​(com.hashicorp.cdktf.IResolvable ephemeralBlockDevice)
        ephemeral_block_device block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#ephemeral_block_device Instance#ephemeral_block_device}

        Parameters:
        ephemeralBlockDevice - ephemeral_block_device block. This parameter is required.
        Returns:
        this
      • ephemeralBlockDevice

        @Stability(Stable)
        public Instance.Builder ephemeralBlockDevice​(List<? extends InstanceEphemeralBlockDevice> ephemeralBlockDevice)
        ephemeral_block_device block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#ephemeral_block_device Instance#ephemeral_block_device}

        Parameters:
        ephemeralBlockDevice - ephemeral_block_device block. This parameter is required.
        Returns:
        this
      • fetchPasswordData

        @Stability(Stable)
        public Instance.Builder fetchPasswordData​(Boolean fetchPasswordData)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#get_password_data Instance#get_password_data}.

        Parameters:
        fetchPasswordData - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#get_password_data Instance#get_password_data}. This parameter is required.
        Returns:
        this
      • fetchPasswordData

        @Stability(Stable)
        public Instance.Builder fetchPasswordData​(com.hashicorp.cdktf.IResolvable fetchPasswordData)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#get_password_data Instance#get_password_data}.

        Parameters:
        fetchPasswordData - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#get_password_data Instance#get_password_data}. This parameter is required.
        Returns:
        this
      • hibernation

        @Stability(Stable)
        public Instance.Builder hibernation​(Boolean hibernation)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#hibernation Instance#hibernation}.

        Parameters:
        hibernation - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#hibernation Instance#hibernation}. This parameter is required.
        Returns:
        this
      • hibernation

        @Stability(Stable)
        public Instance.Builder hibernation​(com.hashicorp.cdktf.IResolvable hibernation)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#hibernation Instance#hibernation}.

        Parameters:
        hibernation - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#hibernation Instance#hibernation}. This parameter is required.
        Returns:
        this
      • hostId

        @Stability(Stable)
        public Instance.Builder hostId​(String hostId)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#host_id Instance#host_id}.

        Parameters:
        hostId - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#host_id Instance#host_id}. This parameter is required.
        Returns:
        this
      • hostResourceGroupArn

        @Stability(Stable)
        public Instance.Builder hostResourceGroupArn​(String hostResourceGroupArn)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#host_resource_group_arn Instance#host_resource_group_arn}.

        Parameters:
        hostResourceGroupArn - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#host_resource_group_arn Instance#host_resource_group_arn}. This parameter is required.
        Returns:
        this
      • iamInstanceProfile

        @Stability(Stable)
        public Instance.Builder iamInstanceProfile​(String iamInstanceProfile)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#iam_instance_profile Instance#iam_instance_profile}.

        Parameters:
        iamInstanceProfile - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#iam_instance_profile Instance#iam_instance_profile}. This parameter is required.
        Returns:
        this
      • id

        @Stability(Stable)
        public Instance.Builder id​(String id)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#id Instance#id}.

        Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

        Parameters:
        id - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#id Instance#id}. This parameter is required.
        Returns:
        this
      • instanceInitiatedShutdownBehavior

        @Stability(Stable)
        public Instance.Builder instanceInitiatedShutdownBehavior​(String instanceInitiatedShutdownBehavior)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#instance_initiated_shutdown_behavior Instance#instance_initiated_shutdown_behavior}.

        Parameters:
        instanceInitiatedShutdownBehavior - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#instance_initiated_shutdown_behavior Instance#instance_initiated_shutdown_behavior}. This parameter is required.
        Returns:
        this
      • instanceMarketOptions

        @Stability(Stable)
        public Instance.Builder instanceMarketOptions​(InstanceInstanceMarketOptions instanceMarketOptions)
        instance_market_options block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#instance_market_options Instance#instance_market_options}

        Parameters:
        instanceMarketOptions - instance_market_options block. This parameter is required.
        Returns:
        this
      • instanceType

        @Stability(Stable)
        public Instance.Builder instanceType​(String instanceType)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#instance_type Instance#instance_type}.

        Parameters:
        instanceType - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#instance_type Instance#instance_type}. This parameter is required.
        Returns:
        this
      • ipv6AddressCount

        @Stability(Stable)
        public Instance.Builder ipv6AddressCount​(Number ipv6AddressCount)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#ipv6_address_count Instance#ipv6_address_count}.

        Parameters:
        ipv6AddressCount - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#ipv6_address_count Instance#ipv6_address_count}. This parameter is required.
        Returns:
        this
      • ipv6Addresses

        @Stability(Stable)
        public Instance.Builder ipv6Addresses​(List<String> ipv6Addresses)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#ipv6_addresses Instance#ipv6_addresses}.

        Parameters:
        ipv6Addresses - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#ipv6_addresses Instance#ipv6_addresses}. This parameter is required.
        Returns:
        this
      • keyName

        @Stability(Stable)
        public Instance.Builder keyName​(String keyName)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#key_name Instance#key_name}.

        Parameters:
        keyName - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#key_name Instance#key_name}. This parameter is required.
        Returns:
        this
      • launchTemplate

        @Stability(Stable)
        public Instance.Builder launchTemplate​(InstanceLaunchTemplate launchTemplate)
        launch_template block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#launch_template Instance#launch_template}

        Parameters:
        launchTemplate - launch_template block. This parameter is required.
        Returns:
        this
      • maintenanceOptions

        @Stability(Stable)
        public Instance.Builder maintenanceOptions​(InstanceMaintenanceOptions maintenanceOptions)
        maintenance_options block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#maintenance_options Instance#maintenance_options}

        Parameters:
        maintenanceOptions - maintenance_options block. This parameter is required.
        Returns:
        this
      • metadataOptions

        @Stability(Stable)
        public Instance.Builder metadataOptions​(InstanceMetadataOptions metadataOptions)
        metadata_options block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#metadata_options Instance#metadata_options}

        Parameters:
        metadataOptions - metadata_options block. This parameter is required.
        Returns:
        this
      • monitoring

        @Stability(Stable)
        public Instance.Builder monitoring​(Boolean monitoring)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#monitoring Instance#monitoring}.

        Parameters:
        monitoring - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#monitoring Instance#monitoring}. This parameter is required.
        Returns:
        this
      • monitoring

        @Stability(Stable)
        public Instance.Builder monitoring​(com.hashicorp.cdktf.IResolvable monitoring)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#monitoring Instance#monitoring}.

        Parameters:
        monitoring - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#monitoring Instance#monitoring}. This parameter is required.
        Returns:
        this
      • networkInterface

        @Stability(Stable)
        public Instance.Builder networkInterface​(com.hashicorp.cdktf.IResolvable networkInterface)
        network_interface block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#network_interface Instance#network_interface}

        Parameters:
        networkInterface - network_interface block. This parameter is required.
        Returns:
        this
      • networkInterface

        @Stability(Stable)
        public Instance.Builder networkInterface​(List<? extends InstanceNetworkInterface> networkInterface)
        network_interface block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#network_interface Instance#network_interface}

        Parameters:
        networkInterface - network_interface block. This parameter is required.
        Returns:
        this
      • placementGroup

        @Stability(Stable)
        public Instance.Builder placementGroup​(String placementGroup)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#placement_group Instance#placement_group}.

        Parameters:
        placementGroup - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#placement_group Instance#placement_group}. This parameter is required.
        Returns:
        this
      • placementPartitionNumber

        @Stability(Stable)
        public Instance.Builder placementPartitionNumber​(Number placementPartitionNumber)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#placement_partition_number Instance#placement_partition_number}.

        Parameters:
        placementPartitionNumber - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#placement_partition_number Instance#placement_partition_number}. This parameter is required.
        Returns:
        this
      • privateDnsNameOptions

        @Stability(Stable)
        public Instance.Builder privateDnsNameOptions​(InstancePrivateDnsNameOptions privateDnsNameOptions)
        private_dns_name_options block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#private_dns_name_options Instance#private_dns_name_options}

        Parameters:
        privateDnsNameOptions - private_dns_name_options block. This parameter is required.
        Returns:
        this
      • privateIp

        @Stability(Stable)
        public Instance.Builder privateIp​(String privateIp)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#private_ip Instance#private_ip}.

        Parameters:
        privateIp - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#private_ip Instance#private_ip}. This parameter is required.
        Returns:
        this
      • rootBlockDevice

        @Stability(Stable)
        public Instance.Builder rootBlockDevice​(InstanceRootBlockDevice rootBlockDevice)
        root_block_device block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#root_block_device Instance#root_block_device}

        Parameters:
        rootBlockDevice - root_block_device block. This parameter is required.
        Returns:
        this
      • secondaryPrivateIps

        @Stability(Stable)
        public Instance.Builder secondaryPrivateIps​(List<String> secondaryPrivateIps)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#secondary_private_ips Instance#secondary_private_ips}.

        Parameters:
        secondaryPrivateIps - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#secondary_private_ips Instance#secondary_private_ips}. This parameter is required.
        Returns:
        this
      • securityGroups

        @Stability(Stable)
        public Instance.Builder securityGroups​(List<String> securityGroups)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#security_groups Instance#security_groups}.

        Parameters:
        securityGroups - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#security_groups Instance#security_groups}. This parameter is required.
        Returns:
        this
      • sourceDestCheck

        @Stability(Stable)
        public Instance.Builder sourceDestCheck​(Boolean sourceDestCheck)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#source_dest_check Instance#source_dest_check}.

        Parameters:
        sourceDestCheck - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#source_dest_check Instance#source_dest_check}. This parameter is required.
        Returns:
        this
      • sourceDestCheck

        @Stability(Stable)
        public Instance.Builder sourceDestCheck​(com.hashicorp.cdktf.IResolvable sourceDestCheck)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#source_dest_check Instance#source_dest_check}.

        Parameters:
        sourceDestCheck - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#source_dest_check Instance#source_dest_check}. This parameter is required.
        Returns:
        this
      • subnetId

        @Stability(Stable)
        public Instance.Builder subnetId​(String subnetId)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#subnet_id Instance#subnet_id}.

        Parameters:
        subnetId - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#subnet_id Instance#subnet_id}. This parameter is required.
        Returns:
        this
      • tags

        @Stability(Stable)
        public Instance.Builder tags​(Map<String,​String> tags)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#tags Instance#tags}.

        Parameters:
        tags - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#tags Instance#tags}. This parameter is required.
        Returns:
        this
      • tagsAll

        @Stability(Stable)
        public Instance.Builder tagsAll​(Map<String,​String> tagsAll)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#tags_all Instance#tags_all}.

        Parameters:
        tagsAll - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#tags_all Instance#tags_all}. This parameter is required.
        Returns:
        this
      • tenancy

        @Stability(Stable)
        public Instance.Builder tenancy​(String tenancy)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#tenancy Instance#tenancy}.

        Parameters:
        tenancy - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#tenancy Instance#tenancy}. This parameter is required.
        Returns:
        this
      • timeouts

        @Stability(Stable)
        public Instance.Builder timeouts​(InstanceTimeouts timeouts)
        timeouts block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#timeouts Instance#timeouts}

        Parameters:
        timeouts - timeouts block. This parameter is required.
        Returns:
        this
      • userData

        @Stability(Stable)
        public Instance.Builder userData​(String userData)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#user_data Instance#user_data}.

        Parameters:
        userData - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#user_data Instance#user_data}. This parameter is required.
        Returns:
        this
      • userDataBase64

        @Stability(Stable)
        public Instance.Builder userDataBase64​(String userDataBase64)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#user_data_base64 Instance#user_data_base64}.

        Parameters:
        userDataBase64 - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#user_data_base64 Instance#user_data_base64}. This parameter is required.
        Returns:
        this
      • userDataReplaceOnChange

        @Stability(Stable)
        public Instance.Builder userDataReplaceOnChange​(Boolean userDataReplaceOnChange)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#user_data_replace_on_change Instance#user_data_replace_on_change}.

        Parameters:
        userDataReplaceOnChange - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#user_data_replace_on_change Instance#user_data_replace_on_change}. This parameter is required.
        Returns:
        this
      • userDataReplaceOnChange

        @Stability(Stable)
        public Instance.Builder userDataReplaceOnChange​(com.hashicorp.cdktf.IResolvable userDataReplaceOnChange)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#user_data_replace_on_change Instance#user_data_replace_on_change}.

        Parameters:
        userDataReplaceOnChange - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#user_data_replace_on_change Instance#user_data_replace_on_change}. This parameter is required.
        Returns:
        this
      • volumeTags

        @Stability(Stable)
        public Instance.Builder volumeTags​(Map<String,​String> volumeTags)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#volume_tags Instance#volume_tags}.

        Parameters:
        volumeTags - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#volume_tags Instance#volume_tags}. This parameter is required.
        Returns:
        this
      • vpcSecurityGroupIds

        @Stability(Stable)
        public Instance.Builder vpcSecurityGroupIds​(List<String> vpcSecurityGroupIds)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#vpc_security_group_ids Instance#vpc_security_group_ids}.

        Parameters:
        vpcSecurityGroupIds - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance#vpc_security_group_ids Instance#vpc_security_group_ids}. This parameter is required.
        Returns:
        this
      • build

        @Stability(Stable)
        public Instance build()
        Specified by:
        build in interface software.amazon.jsii.Builder<Instance>
        Returns:
        a newly built instance of Instance.