InstanceArgs

data class InstanceArgs(val additionalInfo: Output<String>? = null, val affinity: Output<InstanceAffinity>? = null, val availabilityZone: Output<String>? = null, val blockDeviceMappings: Output<List<InstanceBlockDeviceMappingArgs>>? = null, val cpuOptions: Output<CpuOptionsPropertiesArgs>? = null, val creditSpecification: Output<CreditSpecificationPropertiesArgs>? = null, val disableApiTermination: Output<Boolean>? = null, val ebsOptimized: Output<Boolean>? = null, val elasticGpuSpecifications: Output<List<InstanceElasticGpuSpecificationArgs>>? = null, val elasticInferenceAccelerators: Output<List<InstanceElasticInferenceAcceleratorArgs>>? = null, val enclaveOptions: Output<EnclaveOptionsPropertiesArgs>? = null, val hibernationOptions: Output<HibernationOptionsPropertiesArgs>? = null, val hostId: Output<String>? = null, val hostResourceGroupArn: Output<String>? = null, val iamInstanceProfile: Output<String>? = null, val imageId: Output<String>? = null, val instanceInitiatedShutdownBehavior: Output<String>? = null, val instanceType: Output<String>? = null, val ipv6AddressCount: Output<Int>? = null, val ipv6Addresses: Output<List<InstanceIpv6AddressArgs>>? = null, val kernelId: Output<String>? = null, val keyName: Output<String>? = null, val launchTemplate: Output<InstanceLaunchTemplateSpecificationArgs>? = null, val licenseSpecifications: Output<List<InstanceLicenseSpecificationArgs>>? = null, val monitoring: Output<Boolean>? = null, val networkInterfaces: Output<List<InstanceNetworkInterfaceArgs>>? = null, val placementGroupName: Output<String>? = null, val privateDnsNameOptions: Output<InstancePrivateDnsNameOptionsArgs>? = null, val privateIpAddress: Output<String>? = null, val propagateTagsToVolumeOnCreation: Output<Boolean>? = null, val ramdiskId: Output<String>? = null, val securityGroupIds: Output<List<String>>? = null, val securityGroups: Output<List<String>>? = null, val sourceDestCheck: Output<Boolean>? = null, val ssmAssociations: Output<List<InstanceSsmAssociationArgs>>? = null, val subnetId: Output<String>? = null, val tags: Output<List<TagArgs>>? = null, val tenancy: Output<String>? = null, val userData: Output<String>? = null, val volumes: Output<List<InstanceVolumeArgs>>? = null) : ConvertibleToJava<InstanceArgs>

Resource Type definition for AWS::EC2::Instance

Constructors

Link copied to clipboard
constructor(additionalInfo: Output<String>? = null, affinity: Output<InstanceAffinity>? = null, availabilityZone: Output<String>? = null, blockDeviceMappings: Output<List<InstanceBlockDeviceMappingArgs>>? = null, cpuOptions: Output<CpuOptionsPropertiesArgs>? = null, creditSpecification: Output<CreditSpecificationPropertiesArgs>? = null, disableApiTermination: Output<Boolean>? = null, ebsOptimized: Output<Boolean>? = null, elasticGpuSpecifications: Output<List<InstanceElasticGpuSpecificationArgs>>? = null, elasticInferenceAccelerators: Output<List<InstanceElasticInferenceAcceleratorArgs>>? = null, enclaveOptions: Output<EnclaveOptionsPropertiesArgs>? = null, hibernationOptions: Output<HibernationOptionsPropertiesArgs>? = null, hostId: Output<String>? = null, hostResourceGroupArn: Output<String>? = null, iamInstanceProfile: Output<String>? = null, imageId: Output<String>? = null, instanceInitiatedShutdownBehavior: Output<String>? = null, instanceType: Output<String>? = null, ipv6AddressCount: Output<Int>? = null, ipv6Addresses: Output<List<InstanceIpv6AddressArgs>>? = null, kernelId: Output<String>? = null, keyName: Output<String>? = null, launchTemplate: Output<InstanceLaunchTemplateSpecificationArgs>? = null, licenseSpecifications: Output<List<InstanceLicenseSpecificationArgs>>? = null, monitoring: Output<Boolean>? = null, networkInterfaces: Output<List<InstanceNetworkInterfaceArgs>>? = null, placementGroupName: Output<String>? = null, privateDnsNameOptions: Output<InstancePrivateDnsNameOptionsArgs>? = null, privateIpAddress: Output<String>? = null, propagateTagsToVolumeOnCreation: Output<Boolean>? = null, ramdiskId: Output<String>? = null, securityGroupIds: Output<List<String>>? = null, securityGroups: Output<List<String>>? = null, sourceDestCheck: Output<Boolean>? = null, ssmAssociations: Output<List<InstanceSsmAssociationArgs>>? = null, subnetId: Output<String>? = null, tags: Output<List<TagArgs>>? = null, tenancy: Output<String>? = null, userData: Output<String>? = null, volumes: Output<List<InstanceVolumeArgs>>? = null)

Properties

Link copied to clipboard
val additionalInfo: Output<String>? = null

This property is reserved for internal use. If you use it, the stack fails with this error: Bad property set: Testing this property (Service: AmazonEC2; Status Code: 400; Error Code: InvalidParameterCombination; Request ID: 0XXXXXX-49c7-4b40-8bcc-76885dcXXXXX).

Link copied to clipboard
val affinity: Output<InstanceAffinity>? = null

Indicates whether the instance is associated with a dedicated host. If you want the instance to always restart on the same host on which it was launched, specify host. If you want the instance to restart on any available host, but try to launch onto the last host it ran on (on a best-effort basis), specify default.

Link copied to clipboard
val availabilityZone: Output<String>? = null

The Availability Zone of the instance.

Link copied to clipboard

The block device mapping entries that defines the block devices to attach to the instance at launch.

Link copied to clipboard

The CPU options for the instance.

Link copied to clipboard

The credit option for CPU usage of the burstable performance instance. Valid values are standard and unlimited.

Link copied to clipboard
val disableApiTermination: Output<Boolean>? = null

If you set this parameter to true, you can't terminate the instance using the Amazon EC2 console, CLI, or API; otherwise, you can.

Link copied to clipboard
val ebsOptimized: Output<Boolean>? = null

Indicates whether the instance is optimized for Amazon EBS I/O.

Link copied to clipboard

An elastic GPU to associate with the instance.

Link copied to clipboard

An elastic inference accelerator to associate with the instance.

Link copied to clipboard

Indicates whether the instance is enabled for AWS Nitro Enclaves.

Link copied to clipboard

Indicates whether an instance is enabled for hibernation.

Link copied to clipboard
val hostId: Output<String>? = null

If you specify host for the Affinity property, the ID of a dedicated host that the instance is associated with. If you don't specify an ID, Amazon EC2 launches the instance onto any available, compatible dedicated host in your account.

Link copied to clipboard
val hostResourceGroupArn: Output<String>? = null

The ARN of the host resource group in which to launch the instances. If you specify a host resource group ARN, omit the Tenancy parameter or set it to host.

Link copied to clipboard
val iamInstanceProfile: Output<String>? = null

The IAM instance profile.

Link copied to clipboard
val imageId: Output<String>? = null

The ID of the AMI. An AMI ID is required to launch an instance and must be specified here or in a launch template.

Link copied to clipboard

Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown).

Link copied to clipboard
val instanceType: Output<String>? = null

The instance type.

Link copied to clipboard
val ipv6AddressCount: Output<Int>? = null

EC2-VPC The number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet.

Link copied to clipboard

EC2-VPC The IPv6 addresses from the range of the subnet to associate with the primary network interface.

Link copied to clipboard
val kernelId: Output<String>? = null

The ID of the kernel.

Link copied to clipboard
val keyName: Output<String>? = null

The name of the key pair.

Link copied to clipboard

The launch template to use to launch the instances.

Link copied to clipboard

The license configurations.

Link copied to clipboard
val monitoring: Output<Boolean>? = null

Specifies whether detailed monitoring is enabled for the instance.

Link copied to clipboard

The network interfaces to associate with the instance.

Link copied to clipboard
val placementGroupName: Output<String>? = null

The name of an existing placement group that you want to launch the instance into (cluster | partition | spread).

Link copied to clipboard

The options for the instance hostname.

Link copied to clipboard
val privateIpAddress: Output<String>? = null

EC2-VPC The primary IPv4 address. You must specify a value from the IPv4 address range of the subnet.

Link copied to clipboard

Indicates whether to assign the tags from the instance to all of the volumes attached to the instance at launch. If you specify true and you assign tags to the instance, those tags are automatically assigned to all of the volumes that you attach to the instance at launch. If you specify false, those tags are not assigned to the attached volumes.

Link copied to clipboard
val ramdiskId: Output<String>? = null

The ID of the RAM disk to select.

Link copied to clipboard
val securityGroupIds: Output<List<String>>? = null

The IDs of the security groups.

Link copied to clipboard
val securityGroups: Output<List<String>>? = null

the names of the security groups. For a nondefault VPC, you must use security group IDs instead.

Link copied to clipboard
val sourceDestCheck: Output<Boolean>? = null

Specifies whether to enable an instance launched in a VPC to perform NAT.

Link copied to clipboard

The SSM document and parameter values in AWS Systems Manager to associate with this instance.

Link copied to clipboard
val subnetId: Output<String>? = null

EC2-VPC The ID of the subnet to launch the instance into.

Link copied to clipboard
val tags: Output<List<TagArgs>>? = null

The tags to add to the instance.

Link copied to clipboard
val tenancy: Output<String>? = null

The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware.

Link copied to clipboard
val userData: Output<String>? = null

The user data to make available to the instance.

Link copied to clipboard
val volumes: Output<List<InstanceVolumeArgs>>? = null

The volumes to attach to the instance.

Functions

Link copied to clipboard
open override fun toJava(): InstanceArgs