Class: Aws::EC2::Types::CreateLaunchTemplateRequest

Inherits:
Struct
  • Object
show all
Includes:
Structure
Defined in:
lib/aws-sdk-ec2/types.rb

Overview

Note:

When making an API call, you may pass CreateLaunchTemplateRequest data as a hash:

{
  dry_run: false,
  client_token: "String",
  launch_template_name: "LaunchTemplateName", # required
  version_description: "VersionDescription",
  launch_template_data: { # required
    kernel_id: "String",
    ebs_optimized: false,
    iam_instance_profile: {
      arn: "String",
      name: "String",
    },
    block_device_mappings: [
      {
        device_name: "String",
        virtual_name: "String",
        ebs: {
          encrypted: false,
          delete_on_termination: false,
          iops: 1,
          kms_key_id: "String",
          snapshot_id: "String",
          volume_size: 1,
          volume_type: "standard", # accepts standard, io1, gp2, sc1, st1
        },
        no_device: "String",
      },
    ],
    network_interfaces: [
      {
        associate_public_ip_address: false,
        delete_on_termination: false,
        description: "String",
        device_index: 1,
        groups: ["String"],
        ipv_6_address_count: 1,
        ipv_6_addresses: [
          {
            ipv_6_address: "String",
          },
        ],
        network_interface_id: "String",
        private_ip_address: "String",
        private_ip_addresses: [
          {
            primary: false,
            private_ip_address: "String",
          },
        ],
        secondary_private_ip_address_count: 1,
        subnet_id: "String",
      },
    ],
    image_id: "String",
    instance_type: "t1.micro", # accepts t1.micro, t2.nano, t2.micro, t2.small, t2.medium, t2.large, t2.xlarge, t2.2xlarge, t3.nano, t3.micro, t3.small, t3.medium, t3.large, t3.xlarge, t3.2xlarge, m1.small, m1.medium, m1.large, m1.xlarge, m3.medium, m3.large, m3.xlarge, m3.2xlarge, m4.large, m4.xlarge, m4.2xlarge, m4.4xlarge, m4.10xlarge, m4.16xlarge, m2.xlarge, m2.2xlarge, m2.4xlarge, cr1.8xlarge, r3.large, r3.xlarge, r3.2xlarge, r3.4xlarge, r3.8xlarge, r4.large, r4.xlarge, r4.2xlarge, r4.4xlarge, r4.8xlarge, r4.16xlarge, r5.large, r5.xlarge, r5.2xlarge, r5.4xlarge, r5.8xlarge, r5.12xlarge, r5.16xlarge, r5.24xlarge, r5.metal, r5a.large, r5a.xlarge, r5a.2xlarge, r5a.4xlarge, r5a.12xlarge, r5a.24xlarge, r5d.large, r5d.xlarge, r5d.2xlarge, r5d.4xlarge, r5d.8xlarge, r5d.12xlarge, r5d.16xlarge, r5d.24xlarge, r5d.metal, x1.16xlarge, x1.32xlarge, x1e.xlarge, x1e.2xlarge, x1e.4xlarge, x1e.8xlarge, x1e.16xlarge, x1e.32xlarge, i2.xlarge, i2.2xlarge, i2.4xlarge, i2.8xlarge, i3.large, i3.xlarge, i3.2xlarge, i3.4xlarge, i3.8xlarge, i3.16xlarge, i3.metal, hi1.4xlarge, hs1.8xlarge, c1.medium, c1.xlarge, c3.large, c3.xlarge, c3.2xlarge, c3.4xlarge, c3.8xlarge, c4.large, c4.xlarge, c4.2xlarge, c4.4xlarge, c4.8xlarge, c5.large, c5.xlarge, c5.2xlarge, c5.4xlarge, c5.9xlarge, c5.18xlarge, c5d.large, c5d.xlarge, c5d.2xlarge, c5d.4xlarge, c5d.9xlarge, c5d.18xlarge, c5n.large, c5n.xlarge, c5n.2xlarge, c5n.4xlarge, c5n.9xlarge, c5n.18xlarge, cc1.4xlarge, cc2.8xlarge, g2.2xlarge, g2.8xlarge, g3.4xlarge, g3.8xlarge, g3.16xlarge, g3s.xlarge, cg1.4xlarge, p2.xlarge, p2.8xlarge, p2.16xlarge, p3.2xlarge, p3.8xlarge, p3.16xlarge, p3dn.24xlarge, d2.xlarge, d2.2xlarge, d2.4xlarge, d2.8xlarge, f1.2xlarge, f1.4xlarge, f1.16xlarge, m5.large, m5.xlarge, m5.2xlarge, m5.4xlarge, m5.12xlarge, m5.24xlarge, m5a.large, m5a.xlarge, m5a.2xlarge, m5a.4xlarge, m5a.12xlarge, m5a.24xlarge, m5d.large, m5d.xlarge, m5d.2xlarge, m5d.4xlarge, m5d.12xlarge, m5d.24xlarge, h1.2xlarge, h1.4xlarge, h1.8xlarge, h1.16xlarge, z1d.large, z1d.xlarge, z1d.2xlarge, z1d.3xlarge, z1d.6xlarge, z1d.12xlarge, u-6tb1.metal, u-9tb1.metal, u-12tb1.metal, a1.medium, a1.large, a1.xlarge, a1.2xlarge, a1.4xlarge
    key_name: "String",
    monitoring: {
      enabled: false,
    },
    placement: {
      availability_zone: "String",
      affinity: "String",
      group_name: "String",
      host_id: "String",
      tenancy: "default", # accepts default, dedicated, host
      spread_domain: "String",
    },
    ram_disk_id: "String",
    disable_api_termination: false,
    instance_initiated_shutdown_behavior: "stop", # accepts stop, terminate
    user_data: "String",
    tag_specifications: [
      {
        resource_type: "customer-gateway", # accepts customer-gateway, dedicated-host, dhcp-options, elastic-ip, fleet, fpga-image, image, instance, internet-gateway, launch-template, natgateway, network-acl, network-interface, reserved-instances, route-table, security-group, snapshot, spot-instances-request, subnet, transit-gateway, transit-gateway-attachment, transit-gateway-route-table, volume, vpc, vpc-peering-connection, vpn-connection, vpn-gateway
        tags: [
          {
            key: "String",
            value: "String",
          },
        ],
      },
    ],
    elastic_gpu_specifications: [
      {
        type: "String", # required
      },
    ],
    elastic_inference_accelerators: [
      {
        type: "String", # required
      },
    ],
    security_group_ids: ["String"],
    security_groups: ["String"],
    instance_market_options: {
      market_type: "spot", # accepts spot
      spot_options: {
        max_price: "String",
        spot_instance_type: "one-time", # accepts one-time, persistent
        block_duration_minutes: 1,
        valid_until: Time.now,
        instance_interruption_behavior: "hibernate", # accepts hibernate, stop, terminate
      },
    },
    credit_specification: {
      cpu_credits: "String", # required
    },
    cpu_options: {
      core_count: 1,
      threads_per_core: 1,
    },
    capacity_reservation_specification: {
      capacity_reservation_preference: "open", # accepts open, none
      capacity_reservation_target: {
        capacity_reservation_id: "String",
      },
    },
    hibernation_options: {
      configured: false,
    },
    license_specifications: [
      {
        license_configuration_arn: "String",
      },
    ],
  },
}

Instance Attribute Summary collapse

Instance Attribute Details

#client_tokenString

Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see [Ensuring Idempotency].

[1]: docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html

Returns:

  • (String)


5342
5343
5344
5345
5346
5347
5348
5349
# File 'lib/aws-sdk-ec2/types.rb', line 5342

class CreateLaunchTemplateRequest < Struct.new(
  :dry_run,
  :client_token,
  :launch_template_name,
  :version_description,
  :launch_template_data)
  include Aws::Structure
end

#dry_runBoolean

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is ‘DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.

Returns:

  • (Boolean)


5342
5343
5344
5345
5346
5347
5348
5349
# File 'lib/aws-sdk-ec2/types.rb', line 5342

class CreateLaunchTemplateRequest < Struct.new(
  :dry_run,
  :client_token,
  :launch_template_name,
  :version_description,
  :launch_template_data)
  include Aws::Structure
end

#launch_template_dataTypes::RequestLaunchTemplateData

The information for the launch template.



5342
5343
5344
5345
5346
5347
5348
5349
# File 'lib/aws-sdk-ec2/types.rb', line 5342

class CreateLaunchTemplateRequest < Struct.new(
  :dry_run,
  :client_token,
  :launch_template_name,
  :version_description,
  :launch_template_data)
  include Aws::Structure
end

#launch_template_nameString

A name for the launch template.

Returns:

  • (String)


5342
5343
5344
5345
5346
5347
5348
5349
# File 'lib/aws-sdk-ec2/types.rb', line 5342

class CreateLaunchTemplateRequest < Struct.new(
  :dry_run,
  :client_token,
  :launch_template_name,
  :version_description,
  :launch_template_data)
  include Aws::Structure
end

#version_descriptionString

A description for the first version of the launch template.

Returns:

  • (String)


5342
5343
5344
5345
5346
5347
5348
5349
# File 'lib/aws-sdk-ec2/types.rb', line 5342

class CreateLaunchTemplateRequest < Struct.new(
  :dry_run,
  :client_token,
  :launch_template_name,
  :version_description,
  :launch_template_data)
  include Aws::Structure
end