RequestLaunchTemplateData
public struct RequestLaunchTemplateData : AWSShape
Undocumented
-
Declaration
Swift
public static var _members: [AWSShapeMember]
-
The block device mapping.
Declaration
Swift
public let blockDeviceMappings: [LaunchTemplateBlockDeviceMappingRequest]?
-
The Capacity Reservation targeting option. If you do not specify this parameter, the instance’s Capacity Reservation preference defaults to open, which enables it to run in any open Capacity Reservation that has matching attributes (instance type, platform, Availability Zone).
Declaration
Swift
public let capacityReservationSpecification: LaunchTemplateCapacityReservationSpecificationRequest?
-
The CPU options for the instance. For more information, see Optimizing CPU Options in the Amazon Elastic Compute Cloud User Guide.
Declaration
Swift
public let cpuOptions: LaunchTemplateCpuOptionsRequest?
-
The credit option for CPU usage of the instance. Valid for T2, T3, or T3a instances only.
Declaration
Swift
public let creditSpecification: CreditSpecificationRequest?
-
If you set this parameter to true, you can’t terminate the instance using the Amazon EC2 console, CLI, or API; otherwise, you can. To change this attribute after launch, use ModifyInstanceAttribute. Alternatively, if you set InstanceInitiatedShutdownBehavior to terminate, you can terminate the instance by running the shutdown command from the instance.
Declaration
Swift
public let disableApiTermination: Bool?
-
Indicates whether the instance is optimized for Amazon EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal Amazon EBS I/O performance. This optimization isn’t available with all instance types. Additional usage charges apply when using an EBS-optimized instance.
Declaration
Swift
public let ebsOptimized: Bool?
-
An elastic GPU to associate with the instance.
Declaration
Swift
public let elasticGpuSpecifications: [ElasticGpuSpecification]?
-
The elastic inference accelerator for the instance.
Declaration
Swift
public let elasticInferenceAccelerators: [LaunchTemplateElasticInferenceAccelerator]?
-
Indicates whether an instance is enabled for hibernation. This parameter is valid only if the instance meets the hibernation prerequisites. For more information, see Hibernate Your Instance in the Amazon Elastic Compute Cloud User Guide.
Declaration
Swift
public let hibernationOptions: LaunchTemplateHibernationOptionsRequest?
-
The IAM instance profile.
Declaration
Swift
public let iamInstanceProfile: LaunchTemplateIamInstanceProfileSpecificationRequest?
-
The ID of the AMI.
Declaration
Swift
public let imageId: String?
-
Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown). Default: stop
Declaration
Swift
public let instanceInitiatedShutdownBehavior: ShutdownBehavior?
-
The market (purchasing) option for the instances.
Declaration
Swift
public let instanceMarketOptions: LaunchTemplateInstanceMarketOptionsRequest?
-
The instance type. For more information, see Instance Types in the Amazon Elastic Compute Cloud User Guide.
Declaration
Swift
public let instanceType: InstanceType?
-
The ID of the kernel. We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see User Provided Kernels in the Amazon Elastic Compute Cloud User Guide.
Declaration
Swift
public let kernelId: String?
-
The name of the key pair. You can create a key pair using CreateKeyPair or ImportKeyPair. If you do not specify a key pair, you can’t connect to the instance unless you choose an AMI that is configured to allow users another way to log in.
Declaration
Swift
public let keyName: String?
-
The license configurations.
Declaration
Swift
public let licenseSpecifications: [LaunchTemplateLicenseConfigurationRequest]?
-
The metadata options for the instance. For more information, see Instance Metadata and User Data in the Amazon Elastic Compute Cloud User Guide.
Declaration
Swift
public let metadataOptions: LaunchTemplateInstanceMetadataOptionsRequest?
-
The monitoring for the instance.
Declaration
Swift
public let monitoring: LaunchTemplatesMonitoringRequest?
-
One or more network interfaces. If you specify a network interface, you must specify any security groups and subnets as part of the network interface.
Declaration
Swift
public let networkInterfaces: [LaunchTemplateInstanceNetworkInterfaceSpecificationRequest]?
-
The placement for the instance.
Declaration
Swift
public let placement: LaunchTemplatePlacementRequest?
-
The ID of the RAM disk. We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see User Provided Kernels in the Amazon Elastic Compute Cloud User Guide.
Declaration
Swift
public let ramDiskId: String?
-
One or more security group IDs. You can create a security group using CreateSecurityGroup. You cannot specify both a security group ID and security name in the same request.
Declaration
Swift
public let securityGroupIds: [String]?
-
[EC2-Classic, default VPC] One or more security group names. For a nondefault VPC, you must use security group IDs instead. You cannot specify both a security group ID and security name in the same request.
Declaration
Swift
public let securityGroups: [String]?
-
The tags to apply to the resources during launch. You can only tag instances and volumes on launch. The specified tags are applied to all instances or volumes that are created during launch. To tag a resource after it has been created, see CreateTags.
Declaration
Swift
public let tagSpecifications: [LaunchTemplateTagSpecificationRequest]?
-
The Base64-encoded user data to make available to the instance. For more information, see Running Commands on Your Linux Instance at Launch (Linux) and Adding User Data (Windows).
Declaration
Swift
public let userData: String?
-
init(blockDeviceMappings:capacityReservationSpecification:cpuOptions:creditSpecification:disableApiTermination:ebsOptimized:elasticGpuSpecifications:elasticInferenceAccelerators:hibernationOptions:iamInstanceProfile:imageId:instanceInitiatedShutdownBehavior:instanceMarketOptions:instanceType:kernelId:keyName:licenseSpecifications:metadataOptions:monitoring:networkInterfaces:placement:ramDiskId:securityGroupIds:securityGroups:tagSpecifications:userData:)
Undocumented
Declaration
Swift
public init(blockDeviceMappings: [LaunchTemplateBlockDeviceMappingRequest]? = nil, capacityReservationSpecification: LaunchTemplateCapacityReservationSpecificationRequest? = nil, cpuOptions: LaunchTemplateCpuOptionsRequest? = nil, creditSpecification: CreditSpecificationRequest? = nil, disableApiTermination: Bool? = nil, ebsOptimized: Bool? = nil, elasticGpuSpecifications: [ElasticGpuSpecification]? = nil, elasticInferenceAccelerators: [LaunchTemplateElasticInferenceAccelerator]? = nil, hibernationOptions: LaunchTemplateHibernationOptionsRequest? = nil, iamInstanceProfile: LaunchTemplateIamInstanceProfileSpecificationRequest? = nil, imageId: String? = nil, instanceInitiatedShutdownBehavior: ShutdownBehavior? = nil, instanceMarketOptions: LaunchTemplateInstanceMarketOptionsRequest? = nil, instanceType: InstanceType? = nil, kernelId: String? = nil, keyName: String? = nil, licenseSpecifications: [LaunchTemplateLicenseConfigurationRequest]? = nil, metadataOptions: LaunchTemplateInstanceMetadataOptionsRequest? = nil, monitoring: LaunchTemplatesMonitoringRequest? = nil, networkInterfaces: [LaunchTemplateInstanceNetworkInterfaceSpecificationRequest]? = nil, placement: LaunchTemplatePlacementRequest? = nil, ramDiskId: String? = nil, securityGroupIds: [String]? = nil, securityGroups: [String]? = nil, tagSpecifications: [LaunchTemplateTagSpecificationRequest]? = nil, userData: String? = nil)
-
Declaration
Swift
public func validate(name: String) throws