NAME

Paws::EC2::CreateLaunchTemplateVersion - Arguments for method CreateLaunchTemplateVersion on Paws::EC2

DESCRIPTION

This class represents the parameters used for calling the method CreateLaunchTemplateVersion on the Amazon Elastic Compute Cloud service. Use the attributes of this class as arguments to method CreateLaunchTemplateVersion.

You shouldn't make instances of this class. Each attribute should be used as a named argument in the call to CreateLaunchTemplateVersion.

SYNOPSIS

my $ec2 = Paws->service('EC2');
my $CreateLaunchTemplateVersionResult = $ec2->CreateLaunchTemplateVersion(
  LaunchTemplateData => {
    BlockDeviceMappings => [
      {
        DeviceName => 'MyString',    # OPTIONAL
        Ebs        => {
          DeleteOnTermination => 1,                 # OPTIONAL
          Encrypted           => 1,                 # OPTIONAL
          Iops                => 1,                 # OPTIONAL
          KmsKeyId            => 'MyString',        # OPTIONAL
          SnapshotId          => 'MySnapshotId',    # OPTIONAL
          VolumeSize          => 1,                 # OPTIONAL
          VolumeType          =>
            'standard',    # values: standard, io1, gp2, sc1, st1; OPTIONAL
        },    # OPTIONAL
        NoDevice    => 'MyString',    # OPTIONAL
        VirtualName => 'MyString',    # OPTIONAL
      },
      ...
    ],    # OPTIONAL
    CapacityReservationSpecification => {
      CapacityReservationPreference =>
        'open',    # values: open, none; OPTIONAL
      CapacityReservationTarget => {
        CapacityReservationId => 'MyCapacityReservationId',    # OPTIONAL
      },    # OPTIONAL
    },    # OPTIONAL
    CpuOptions => {
      CoreCount      => 1,    # OPTIONAL
      ThreadsPerCore => 1,    # OPTIONAL
    },    # OPTIONAL
    CreditSpecification => {
      CpuCredits => 'MyString',    # OPTIONAL

    },    # OPTIONAL
    DisableApiTermination    => 1,    # OPTIONAL
    EbsOptimized             => 1,    # OPTIONAL
    ElasticGpuSpecifications => [
      {
        Type => 'MyString',           # OPTIONAL

      },
      ...
    ],    # OPTIONAL
    ElasticInferenceAccelerators => [
      {
        Type  => 'MyString',    # OPTIONAL
        Count => 1,             # min: 1; OPTIONAL
      },
      ...
    ],    # OPTIONAL
    HibernationOptions => {
      Configured => 1,    # OPTIONAL
    },    # OPTIONAL
    IamInstanceProfile => {
      Arn  => 'MyString',    # OPTIONAL
      Name => 'MyString',    # OPTIONAL
    },    # OPTIONAL
    ImageId                           => 'MyImageId',    # OPTIONAL
    InstanceInitiatedShutdownBehavior =>
      'stop',    # values: stop, terminate; OPTIONAL
    InstanceMarketOptions => {
      MarketType  => 'spot',    # values: spot; OPTIONAL
      SpotOptions => {
        BlockDurationMinutes         => 1,    # OPTIONAL
        InstanceInterruptionBehavior =>
          'hibernate',    # values: hibernate, stop, terminate; OPTIONAL
        MaxPrice         => 'MyString',    # OPTIONAL
        SpotInstanceType =>
          'one-time',    # values: one-time, persistent; OPTIONAL
        ValidUntil => '1970-01-01T01:00:00',    # OPTIONAL
      },    # OPTIONAL
    },    # OPTIONAL
    InstanceType => 't1.micro'
    , # values: 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, t3a.nano, t3a.micro, t3a.small, t3a.medium, t3a.large, t3a.xlarge, t3a.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.8xlarge, r5a.12xlarge, r5a.16xlarge, r5a.24xlarge, r5d.large, r5d.xlarge, r5d.2xlarge, r5d.4xlarge, r5d.8xlarge, r5d.12xlarge, r5d.16xlarge, r5d.24xlarge, r5d.metal, r5ad.large, r5ad.xlarge, r5ad.2xlarge, r5ad.4xlarge, r5ad.8xlarge, r5ad.12xlarge, r5ad.16xlarge, r5ad.24xlarge, 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, i3en.large, i3en.xlarge, i3en.2xlarge, i3en.3xlarge, i3en.6xlarge, i3en.12xlarge, i3en.24xlarge, i3en.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.12xlarge, c5.18xlarge, c5.24xlarge, c5.metal, c5d.large, c5d.xlarge, c5d.2xlarge, c5d.4xlarge, c5d.9xlarge, c5d.12xlarge, c5d.18xlarge, c5d.24xlarge, c5d.metal, 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, g4dn.xlarge, g4dn.2xlarge, g4dn.4xlarge, g4dn.8xlarge, g4dn.12xlarge, g4dn.16xlarge, 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.8xlarge, m5.12xlarge, m5.16xlarge, m5.24xlarge, m5.metal, m5a.large, m5a.xlarge, m5a.2xlarge, m5a.4xlarge, m5a.8xlarge, m5a.12xlarge, m5a.16xlarge, m5a.24xlarge, m5d.large, m5d.xlarge, m5d.2xlarge, m5d.4xlarge, m5d.8xlarge, m5d.12xlarge, m5d.16xlarge, m5d.24xlarge, m5d.metal, m5ad.large, m5ad.xlarge, m5ad.2xlarge, m5ad.4xlarge, m5ad.8xlarge, m5ad.12xlarge, m5ad.16xlarge, m5ad.24xlarge, h1.2xlarge, h1.4xlarge, h1.8xlarge, h1.16xlarge, z1d.large, z1d.xlarge, z1d.2xlarge, z1d.3xlarge, z1d.6xlarge, z1d.12xlarge, z1d.metal, u-6tb1.metal, u-9tb1.metal, u-12tb1.metal, u-18tb1.metal, u-24tb1.metal, a1.medium, a1.large, a1.xlarge, a1.2xlarge, a1.4xlarge, a1.metal, m5dn.large, m5dn.xlarge, m5dn.2xlarge, m5dn.4xlarge, m5dn.8xlarge, m5dn.12xlarge, m5dn.16xlarge, m5dn.24xlarge, m5n.large, m5n.xlarge, m5n.2xlarge, m5n.4xlarge, m5n.8xlarge, m5n.12xlarge, m5n.16xlarge, m5n.24xlarge, r5dn.large, r5dn.xlarge, r5dn.2xlarge, r5dn.4xlarge, r5dn.8xlarge, r5dn.12xlarge, r5dn.16xlarge, r5dn.24xlarge, r5n.large, r5n.xlarge, r5n.2xlarge, r5n.4xlarge, r5n.8xlarge, r5n.12xlarge, r5n.16xlarge, r5n.24xlarge, inf1.xlarge, inf1.2xlarge, inf1.6xlarge, inf1.24xlarge; OPTIONAL
    KernelId              => 'MyKernelId',       # OPTIONAL
    KeyName               => 'MyKeyPairName',    # OPTIONAL
    LicenseSpecifications => [
      {
        LicenseConfigurationArn => 'MyString',    # OPTIONAL
      },
      ...
    ],    # OPTIONAL
    MetadataOptions => {
      HttpEndpoint => 'disabled',    # values: disabled, enabled; OPTIONAL
      HttpPutResponseHopLimit => 1,    # OPTIONAL
      HttpTokens => 'optional',    # values: optional, required; OPTIONAL
    },    # OPTIONAL
    Monitoring => {
      Enabled => 1,    # OPTIONAL
    },    # OPTIONAL
    NetworkInterfaces => [
      {
        AssociatePublicIpAddress => 1,                            # OPTIONAL
        DeleteOnTermination      => 1,                            # OPTIONAL
        Description              => 'MyString',                   # OPTIONAL
        DeviceIndex              => 1,                            # OPTIONAL
        Groups                   => [ 'MySecurityGroupId', ... ], # OPTIONAL
        InterfaceType            => 'MyString',                   # OPTIONAL
        Ipv6AddressCount         => 1,                            # OPTIONAL
        Ipv6Addresses            => [
          {
            Ipv6Address => 'MyString',                            # OPTIONAL
          },
          ...
        ],    # OPTIONAL
        NetworkInterfaceId => 'MyNetworkInterfaceId',    # OPTIONAL
        PrivateIpAddress   => 'MyString',                # OPTIONAL
        PrivateIpAddresses => [
          {
            Primary          => 1,             # OPTIONAL
            PrivateIpAddress => 'MyString',    # OPTIONAL
          },
          ...
        ],    # OPTIONAL
        SecondaryPrivateIpAddressCount => 1,               # OPTIONAL
        SubnetId                       => 'MySubnetId',    # OPTIONAL
      },
      ...
    ],    # OPTIONAL
    Placement => {
      Affinity             => 'MyString',                # OPTIONAL
      AvailabilityZone     => 'MyString',                # OPTIONAL
      GroupName            => 'MyPlacementGroupName',    # OPTIONAL
      HostId               => 'MyDedicatedHostId',       # OPTIONAL
      HostResourceGroupArn => 'MyString',                # OPTIONAL
      PartitionNumber      => 1,                         # OPTIONAL
      SpreadDomain         => 'MyString',                # OPTIONAL
      Tenancy => 'default',    # values: default, dedicated, host; OPTIONAL
    },    # OPTIONAL
    RamDiskId         => 'MyRamdiskId',                     # OPTIONAL
    SecurityGroupIds  => [ 'MySecurityGroupId',   ... ],    # OPTIONAL
    SecurityGroups    => [ 'MySecurityGroupName', ... ],    # OPTIONAL
    TagSpecifications => [
      {
        ResourceType => 'client-vpn-endpoint'
        , # values: client-vpn-endpoint, customer-gateway, dedicated-host, dhcp-options, elastic-ip, fleet, fpga-image, host-reservation, image, instance, internet-gateway, key-pair, launch-template, natgateway, network-acl, network-interface, placement-group, reserved-instances, route-table, security-group, snapshot, spot-fleet-request, spot-instances-request, subnet, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-multicast-domain, transit-gateway-route-table, volume, vpc, vpc-peering-connection, vpn-connection, vpn-gateway; OPTIONAL
        Tags => [
          {
            Key   => 'MyString',    # OPTIONAL
            Value => 'MyString',    # OPTIONAL
          },
          ...
        ],    # OPTIONAL
      },
      ...
    ],    # OPTIONAL
    UserData => 'MyString',    # OPTIONAL
  },
  ClientToken        => 'MyString',                # OPTIONAL
  DryRun             => 1,                         # OPTIONAL
  LaunchTemplateId   => 'MyLaunchTemplateId',      # OPTIONAL
  LaunchTemplateName => 'MyLaunchTemplateName',    # OPTIONAL
  SourceVersion      => 'MyString',                # OPTIONAL
  VersionDescription => 'MyVersionDescription',    # OPTIONAL
);

# Results:
my $LaunchTemplateVersion =
  $CreateLaunchTemplateVersionResult->LaunchTemplateVersion;

# Returns a L<Paws::EC2::CreateLaunchTemplateVersionResult> object.

Values for attributes that are native types (Int, String, Float, etc) can passed as-is (scalar values). Values for complex Types (objects) can be passed as a HashRef. The keys and values of the hashref will be used to instance the underlying object. For the AWS API documentation, see https://docs.aws.amazon.com/goto/WebAPI/ec2/CreateLaunchTemplateVersion

ATTRIBUTES

ClientToken => Str

Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).

Constraint: Maximum 128 ASCII characters.

DryRun => Bool

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.

REQUIRED LaunchTemplateData => Paws::EC2::RequestLaunchTemplateData

The information for the launch template.

LaunchTemplateId => Str

The ID of the launch template. You must specify either the launch template ID or launch template name in the request.

LaunchTemplateName => Str

The name of the launch template. You must specify either the launch template ID or launch template name in the request.

SourceVersion => Str

The version number of the launch template version on which to base the new version. The new version inherits the same launch parameters as the source version, except for parameters that you specify in LaunchTemplateData. Snapshots applied to the block device mapping are ignored when creating a new version unless they are explicitly included.

VersionDescription => Str

A description for the version of the launch template.

SEE ALSO

This class forms part of Paws, documenting arguments for method CreateLaunchTemplateVersion in Paws::EC2

BUGS and CONTRIBUTIONS

The source code is located here: https://github.com/pplu/aws-sdk-perl

Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues