SDK for PHP 3.x

Client: Aws\Ec2\Ec2Client
Service ID: ec2
Version: 2016-11-15

This page describes the parameters and results for the operations of the Amazon Elastic Compute Cloud (2016-11-15), and shows how to use the Aws\Ec2\Ec2Client object to call the described operations. This documentation is specific to the 2016-11-15 API version of the service.

Operation Summary

Each of the following operations can be created from a client using $client->getCommand('CommandName'), where "CommandName" is the name of one of the following operations. Note: a command is a value that encapsulates an operation and the parameters used to create an HTTP request.

You can also create and send a command immediately using the magic methods available on a client object: $client->commandName(/* parameters */). You can send the command asynchronously (returning a promise) by appending the word "Async" to the operation name: $client->commandNameAsync(/* parameters */).

AcceptAddressTransfer ( array $params = [] )
Accepts an Elastic IP address transfer.
AcceptCapacityReservationBillingOwnership ( array $params = [] )
Accepts a request to assign billing of the available capacity of a shared Capacity Reservation to your account.
AcceptReservedInstancesExchangeQuote ( array $params = [] )
Accepts the Convertible Reserved Instance exchange quote described in the GetReservedInstancesExchangeQuote call.
AcceptTransitGatewayMulticastDomainAssociations ( array $params = [] )
Accepts a request to associate subnets with a transit gateway multicast domain.
AcceptTransitGatewayPeeringAttachment ( array $params = [] )
Accepts a transit gateway peering attachment request.
AcceptTransitGatewayVpcAttachment ( array $params = [] )
Accepts a request to attach a VPC to a transit gateway.
AcceptVpcEndpointConnections ( array $params = [] )
Accepts connection requests to your VPC endpoint service.
AcceptVpcPeeringConnection ( array $params = [] )
Accept a VPC peering connection request.
AdvertiseByoipCidr ( array $params = [] )
Advertises an IPv4 or IPv6 address range that is provisioned for use with your Amazon Web Services resources through bring your own IP addresses (BYOIP).
AllocateAddress ( array $params = [] )
Allocates an Elastic IP address to your Amazon Web Services account.
AllocateHosts ( array $params = [] )
Allocates a Dedicated Host to your account.
AllocateIpamPoolCidr ( array $params = [] )
Allocate a CIDR from an IPAM pool.
ApplySecurityGroupsToClientVpnTargetNetwork ( array $params = [] )
Applies a security group to the association between the target network and the Client VPN endpoint.
AssignIpv6Addresses ( array $params = [] )
Assigns one or more IPv6 addresses to the specified network interface.
AssignPrivateIpAddresses ( array $params = [] )
Assigns one or more secondary private IP addresses to the specified network interface.
AssignPrivateNatGatewayAddress ( array $params = [] )
Assigns private IPv4 addresses to a private NAT gateway.
AssociateAddress ( array $params = [] )
Associates an Elastic IP address, or carrier IP address (for instances that are in subnets in Wavelength Zones) with an instance or a network interface.
AssociateCapacityReservationBillingOwner ( array $params = [] )
Initiates a request to assign billing of the unused capacity of a shared Capacity Reservation to a consumer account that is consolidated under the same Amazon Web Services organizations payer account.
AssociateClientVpnTargetNetwork ( array $params = [] )
Associates a target network with a Client VPN endpoint.
AssociateDhcpOptions ( array $params = [] )
Associates a set of DHCP options (that you've previously created) with the specified VPC, or associates no DHCP options with the VPC.
AssociateEnclaveCertificateIamRole ( array $params = [] )
Associates an Identity and Access Management (IAM) role with an Certificate Manager (ACM) certificate.
AssociateIamInstanceProfile ( array $params = [] )
Associates an IAM instance profile with a running or stopped instance.
AssociateInstanceEventWindow ( array $params = [] )
Associates one or more targets with an event window.
AssociateIpamByoasn ( array $params = [] )
Associates your Autonomous System Number (ASN) with a BYOIP CIDR that you own in the same Amazon Web Services Region.
AssociateIpamResourceDiscovery ( array $params = [] )
Associates an IPAM resource discovery with an Amazon VPC IPAM.
AssociateNatGatewayAddress ( array $params = [] )
Associates Elastic IP addresses (EIPs) and private IPv4 addresses with a public NAT gateway.
AssociateRouteTable ( array $params = [] )
Associates a subnet in your VPC or an internet gateway or virtual private gateway attached to your VPC with a route table in your VPC.
AssociateSecurityGroupVpc ( array $params = [] )
Associates a security group with another VPC in the same Region.
AssociateSubnetCidrBlock ( array $params = [] )
Associates a CIDR block with your subnet.
AssociateTransitGatewayMulticastDomain ( array $params = [] )
Associates the specified subnets and transit gateway attachments with the specified transit gateway multicast domain.
AssociateTransitGatewayPolicyTable ( array $params = [] )
Associates the specified transit gateway attachment with a transit gateway policy table.
AssociateTransitGatewayRouteTable ( array $params = [] )
Associates the specified attachment with the specified transit gateway route table.
AssociateTrunkInterface ( array $params = [] )
Associates a branch network interface with a trunk network interface.
AssociateVpcCidrBlock ( array $params = [] )
Associates a CIDR block with your VPC.
AttachClassicLinkVpc ( array $params = [] )
This action is deprecated.
AttachInternetGateway ( array $params = [] )
Attaches an internet gateway or a virtual private gateway to a VPC, enabling connectivity between the internet and the VPC.
AttachNetworkInterface ( array $params = [] )
Attaches a network interface to an instance.
AttachVerifiedAccessTrustProvider ( array $params = [] )
Attaches the specified Amazon Web Services Verified Access trust provider to the specified Amazon Web Services Verified Access instance.
AttachVolume ( array $params = [] )
Attaches an EBS volume to a running or stopped instance and exposes it to the instance with the specified device name.
AttachVpnGateway ( array $params = [] )
Attaches an available virtual private gateway to a VPC.
AuthorizeClientVpnIngress ( array $params = [] )
Adds an ingress authorization rule to a Client VPN endpoint.
AuthorizeSecurityGroupEgress ( array $params = [] )
Adds the specified outbound (egress) rules to a security group.
AuthorizeSecurityGroupIngress ( array $params = [] )
Adds the specified inbound (ingress) rules to a security group.
BundleInstance ( array $params = [] )
Bundles an Amazon instance store-backed Windows instance.
CancelBundleTask ( array $params = [] )
Cancels a bundling operation for an instance store-backed Windows instance.
CancelCapacityReservation ( array $params = [] )
Cancels the specified Capacity Reservation, releases the reserved capacity, and changes the Capacity Reservation's state to cancelled.
CancelCapacityReservationFleets ( array $params = [] )
Cancels one or more Capacity Reservation Fleets.
CancelConversionTask ( array $params = [] )
Cancels an active conversion task.
CancelExportTask ( array $params = [] )
Cancels an active export task.
CancelImageLaunchPermission ( array $params = [] )
Removes your Amazon Web Services account from the launch permissions for the specified AMI.
CancelImportTask ( array $params = [] )
Cancels an in-process import virtual machine or import snapshot task.
CancelReservedInstancesListing ( array $params = [] )
Cancels the specified Reserved Instance listing in the Reserved Instance Marketplace.
CancelSpotFleetRequests ( array $params = [] )
Cancels the specified Spot Fleet requests.
CancelSpotInstanceRequests ( array $params = [] )
Cancels one or more Spot Instance requests.
ConfirmProductInstance ( array $params = [] )
Determines whether a product code is associated with an instance.
CopyFpgaImage ( array $params = [] )
Copies the specified Amazon FPGA Image (AFI) to the current Region.
CopyImage ( array $params = [] )
Initiates an AMI copy operation.
CopySnapshot ( array $params = [] )
Copies a point-in-time snapshot of an EBS volume and stores it in Amazon S3.
CreateCapacityReservation ( array $params = [] )
Creates a new Capacity Reservation with the specified attributes.
CreateCapacityReservationBySplitting ( array $params = [] )
Create a new Capacity Reservation by splitting the capacity of the source Capacity Reservation.
CreateCapacityReservationFleet ( array $params = [] )
Creates a Capacity Reservation Fleet.
CreateCarrierGateway ( array $params = [] )
Creates a carrier gateway.
CreateClientVpnEndpoint ( array $params = [] )
Creates a Client VPN endpoint.
CreateClientVpnRoute ( array $params = [] )
Adds a route to a network to a Client VPN endpoint.
CreateCoipCidr ( array $params = [] )
Creates a range of customer-owned IP addresses.
CreateCoipPool ( array $params = [] )
Creates a pool of customer-owned IP (CoIP) addresses.
CreateCustomerGateway ( array $params = [] )
Provides information to Amazon Web Services about your customer gateway device.
CreateDefaultSubnet ( array $params = [] )
Creates a default subnet with a size /20 IPv4 CIDR block in the specified Availability Zone in your default VPC.
CreateDefaultVpc ( array $params = [] )
Creates a default VPC with a size /16 IPv4 CIDR block and a default subnet in each Availability Zone.
CreateDhcpOptions ( array $params = [] )
Creates a custom set of DHCP options.
CreateEgressOnlyInternetGateway ( array $params = [] )
[IPv6 only] Creates an egress-only internet gateway for your VPC.
CreateFleet ( array $params = [] )
Creates an EC2 Fleet that contains the configuration information for On-Demand Instances and Spot Instances.
CreateFlowLogs ( array $params = [] )
Creates one or more flow logs to capture information about IP traffic for a specific network interface, subnet, or VPC.
CreateFpgaImage ( array $params = [] )
Creates an Amazon FPGA Image (AFI) from the specified design checkpoint (DCP).
CreateImage ( array $params = [] )
Creates an Amazon EBS-backed AMI from an Amazon EBS-backed instance that is either running or stopped.
CreateInstanceConnectEndpoint ( array $params = [] )
Creates an EC2 Instance Connect Endpoint.
CreateInstanceEventWindow ( array $params = [] )
Creates an event window in which scheduled events for the associated Amazon EC2 instances can run.
CreateInstanceExportTask ( array $params = [] )
Exports a running or stopped instance to an Amazon S3 bucket.
CreateInternetGateway ( array $params = [] )
Creates an internet gateway for use with a VPC.
CreateIpam ( array $params = [] )
Create an IPAM.
CreateIpamExternalResourceVerificationToken ( array $params = [] )
Create a verification token.
CreateIpamPool ( array $params = [] )
Create an IP address pool for Amazon VPC IP Address Manager (IPAM).
CreateIpamResourceDiscovery ( array $params = [] )
Creates an IPAM resource discovery.
CreateIpamScope ( array $params = [] )
Create an IPAM scope.
CreateKeyPair ( array $params = [] )
Creates an ED25519 or 2048-bit RSA key pair with the specified name and in the specified format.
CreateLaunchTemplate ( array $params = [] )
Creates a launch template.
CreateLaunchTemplateVersion ( array $params = [] )
Creates a new version of a launch template.
CreateLocalGatewayRoute ( array $params = [] )
Creates a static route for the specified local gateway route table.
CreateLocalGatewayRouteTable ( array $params = [] )
Creates a local gateway route table.
CreateLocalGatewayRouteTableVirtualInterfaceGroupAssociation ( array $params = [] )
Creates a local gateway route table virtual interface group association.
CreateLocalGatewayRouteTableVpcAssociation ( array $params = [] )
Associates the specified VPC with the specified local gateway route table.
CreateManagedPrefixList ( array $params = [] )
Creates a managed prefix list.
CreateNatGateway ( array $params = [] )
Creates a NAT gateway in the specified subnet.
CreateNetworkAcl ( array $params = [] )
Creates a network ACL in a VPC.
CreateNetworkAclEntry ( array $params = [] )
Creates an entry (a rule) in a network ACL with the specified rule number.
CreateNetworkInsightsAccessScope ( array $params = [] )
Creates a Network Access Scope.
CreateNetworkInsightsPath ( array $params = [] )
Creates a path to analyze for reachability.
CreateNetworkInterface ( array $params = [] )
Creates a network interface in the specified subnet.
CreateNetworkInterfacePermission ( array $params = [] )
Grants an Amazon Web Services-authorized account permission to attach the specified network interface to an instance in their account.
CreatePlacementGroup ( array $params = [] )
Creates a placement group in which to launch instances.
CreatePublicIpv4Pool ( array $params = [] )
Creates a public IPv4 address pool.
CreateReplaceRootVolumeTask ( array $params = [] )
Replaces the EBS-backed root volume for a running instance with a new volume that is restored to the original root volume's launch state, that is restored to a specific snapshot taken from the original root volume, or that is restored from an AMI that has the same key characteristics as that of the instance.
CreateReservedInstancesListing ( array $params = [] )
Creates a listing for Amazon EC2 Standard Reserved Instances to be sold in the Reserved Instance Marketplace.
CreateRestoreImageTask ( array $params = [] )
Starts a task that restores an AMI from an Amazon S3 object that was previously created by using CreateStoreImageTask.
CreateRoute ( array $params = [] )
Creates a route in a route table within a VPC.
CreateRouteTable ( array $params = [] )
Creates a route table for the specified VPC.
CreateSecurityGroup ( array $params = [] )
Creates a security group.
CreateSnapshot ( array $params = [] )
Creates a snapshot of an EBS volume and stores it in Amazon S3.
CreateSnapshots ( array $params = [] )
Creates crash-consistent snapshots of multiple EBS volumes and stores the data in S3.
CreateSpotDatafeedSubscription ( array $params = [] )
Creates a data feed for Spot Instances, enabling you to view Spot Instance usage logs.
CreateStoreImageTask ( array $params = [] )
Stores an AMI as a single object in an Amazon S3 bucket.
CreateSubnet ( array $params = [] )
Creates a subnet in the specified VPC.
CreateSubnetCidrReservation ( array $params = [] )
Creates a subnet CIDR reservation.
CreateTags ( array $params = [] )
Adds or overwrites only the specified tags for the specified Amazon EC2 resource or resources.
CreateTrafficMirrorFilter ( array $params = [] )
Creates a Traffic Mirror filter.
CreateTrafficMirrorFilterRule ( array $params = [] )
Creates a Traffic Mirror filter rule.
CreateTrafficMirrorSession ( array $params = [] )
Creates a Traffic Mirror session.
CreateTrafficMirrorTarget ( array $params = [] )
Creates a target for your Traffic Mirror session.
CreateTransitGateway ( array $params = [] )
Creates a transit gateway.
CreateTransitGatewayConnect ( array $params = [] )
Creates a Connect attachment from a specified transit gateway attachment.
CreateTransitGatewayConnectPeer ( array $params = [] )
Creates a Connect peer for a specified transit gateway Connect attachment between a transit gateway and an appliance.
CreateTransitGatewayMulticastDomain ( array $params = [] )
Creates a multicast domain using the specified transit gateway.
CreateTransitGatewayPeeringAttachment ( array $params = [] )
Requests a transit gateway peering attachment between the specified transit gateway (requester) and a peer transit gateway (accepter).
CreateTransitGatewayPolicyTable ( array $params = [] )
Creates a transit gateway policy table.
CreateTransitGatewayPrefixListReference ( array $params = [] )
Creates a reference (route) to a prefix list in a specified transit gateway route table.
CreateTransitGatewayRoute ( array $params = [] )
Creates a static route for the specified transit gateway route table.
CreateTransitGatewayRouteTable ( array $params = [] )
Creates a route table for the specified transit gateway.
CreateTransitGatewayRouteTableAnnouncement ( array $params = [] )
Advertises a new transit gateway route table.
CreateTransitGatewayVpcAttachment ( array $params = [] )
Attaches the specified VPC to the specified transit gateway.
CreateVerifiedAccessEndpoint ( array $params = [] )
An Amazon Web Services Verified Access endpoint is where you define your application along with an optional endpoint-level access policy.
CreateVerifiedAccessGroup ( array $params = [] )
An Amazon Web Services Verified Access group is a collection of Amazon Web Services Verified Access endpoints who's associated applications have similar security requirements.
CreateVerifiedAccessInstance ( array $params = [] )
An Amazon Web Services Verified Access instance is a regional entity that evaluates application requests and grants access only when your security requirements are met.
CreateVerifiedAccessTrustProvider ( array $params = [] )
A trust provider is a third-party entity that creates, maintains, and manages identity information for users and devices.
CreateVolume ( array $params = [] )
Creates an EBS volume that can be attached to an instance in the same Availability Zone.
CreateVpc ( array $params = [] )
Creates a VPC with the specified CIDR blocks.
CreateVpcBlockPublicAccessExclusion ( array $params = [] )
Create a VPC Block Public Access (BPA) exclusion.
CreateVpcEndpoint ( array $params = [] )
Creates a VPC endpoint.
CreateVpcEndpointConnectionNotification ( array $params = [] )
Creates a connection notification for a specified VPC endpoint or VPC endpoint service.
CreateVpcEndpointServiceConfiguration ( array $params = [] )
Creates a VPC endpoint service to which service consumers (Amazon Web Services accounts, users, and IAM roles) can connect.
CreateVpcPeeringConnection ( array $params = [] )
Requests a VPC peering connection between two VPCs: a requester VPC that you own and an accepter VPC with which to create the connection.
CreateVpnConnection ( array $params = [] )
Creates a VPN connection between an existing virtual private gateway or transit gateway and a customer gateway.
CreateVpnConnectionRoute ( array $params = [] )
Creates a static route associated with a VPN connection between an existing virtual private gateway and a VPN customer gateway.
CreateVpnGateway ( array $params = [] )
Creates a virtual private gateway.
DeleteCarrierGateway ( array $params = [] )
Deletes a carrier gateway.
DeleteClientVpnEndpoint ( array $params = [] )
Deletes the specified Client VPN endpoint.
DeleteClientVpnRoute ( array $params = [] )
Deletes a route from a Client VPN endpoint.
DeleteCoipCidr ( array $params = [] )
Deletes a range of customer-owned IP addresses.
DeleteCoipPool ( array $params = [] )
Deletes a pool of customer-owned IP (CoIP) addresses.
DeleteCustomerGateway ( array $params = [] )
Deletes the specified customer gateway.
DeleteDhcpOptions ( array $params = [] )
Deletes the specified set of DHCP options.
DeleteEgressOnlyInternetGateway ( array $params = [] )
Deletes an egress-only internet gateway.
DeleteFleets ( array $params = [] )
Deletes the specified EC2 Fleets.
DeleteFlowLogs ( array $params = [] )
Deletes one or more flow logs.
DeleteFpgaImage ( array $params = [] )
Deletes the specified Amazon FPGA Image (AFI).
DeleteInstanceConnectEndpoint ( array $params = [] )
Deletes the specified EC2 Instance Connect Endpoint.
DeleteInstanceEventWindow ( array $params = [] )
Deletes the specified event window.
DeleteInternetGateway ( array $params = [] )
Deletes the specified internet gateway.
DeleteIpam ( array $params = [] )
Delete an IPAM.
DeleteIpamExternalResourceVerificationToken ( array $params = [] )
Delete a verification token.
DeleteIpamPool ( array $params = [] )
Delete an IPAM pool.
DeleteIpamResourceDiscovery ( array $params = [] )
Deletes an IPAM resource discovery.
DeleteIpamScope ( array $params = [] )
Delete the scope for an IPAM.
DeleteKeyPair ( array $params = [] )
Deletes the specified key pair, by removing the public key from Amazon EC2.
DeleteLaunchTemplate ( array $params = [] )
Deletes a launch template.
DeleteLaunchTemplateVersions ( array $params = [] )
Deletes one or more versions of a launch template.
DeleteLocalGatewayRoute ( array $params = [] )
Deletes the specified route from the specified local gateway route table.
DeleteLocalGatewayRouteTable ( array $params = [] )
Deletes a local gateway route table.
DeleteLocalGatewayRouteTableVirtualInterfaceGroupAssociation ( array $params = [] )
Deletes a local gateway route table virtual interface group association.
DeleteLocalGatewayRouteTableVpcAssociation ( array $params = [] )
Deletes the specified association between a VPC and local gateway route table.
DeleteManagedPrefixList ( array $params = [] )
Deletes the specified managed prefix list.
DeleteNatGateway ( array $params = [] )
Deletes the specified NAT gateway.
DeleteNetworkAcl ( array $params = [] )
Deletes the specified network ACL.
DeleteNetworkAclEntry ( array $params = [] )
Deletes the specified ingress or egress entry (rule) from the specified network ACL.
DeleteNetworkInsightsAccessScope ( array $params = [] )
Deletes the specified Network Access Scope.
DeleteNetworkInsightsAccessScopeAnalysis ( array $params = [] )
Deletes the specified Network Access Scope analysis.
DeleteNetworkInsightsAnalysis ( array $params = [] )
Deletes the specified network insights analysis.
DeleteNetworkInsightsPath ( array $params = [] )
Deletes the specified path.
DeleteNetworkInterface ( array $params = [] )
Deletes the specified network interface.
DeleteNetworkInterfacePermission ( array $params = [] )
Deletes a permission for a network interface.
DeletePlacementGroup ( array $params = [] )
Deletes the specified placement group.
DeletePublicIpv4Pool ( array $params = [] )
Delete a public IPv4 pool.
DeleteQueuedReservedInstances ( array $params = [] )
Deletes the queued purchases for the specified Reserved Instances.
DeleteRoute ( array $params = [] )
Deletes the specified route from the specified route table.
DeleteRouteTable ( array $params = [] )
Deletes the specified route table.
DeleteSecurityGroup ( array $params = [] )
Deletes a security group.
DeleteSnapshot ( array $params = [] )
Deletes the specified snapshot.
DeleteSpotDatafeedSubscription ( array $params = [] )
Deletes the data feed for Spot Instances.
DeleteSubnet ( array $params = [] )
Deletes the specified subnet.
DeleteSubnetCidrReservation ( array $params = [] )
Deletes a subnet CIDR reservation.
DeleteTags ( array $params = [] )
Deletes the specified set of tags from the specified set of resources.
DeleteTrafficMirrorFilter ( array $params = [] )
Deletes the specified Traffic Mirror filter.
DeleteTrafficMirrorFilterRule ( array $params = [] )
Deletes the specified Traffic Mirror rule.
DeleteTrafficMirrorSession ( array $params = [] )
Deletes the specified Traffic Mirror session.
DeleteTrafficMirrorTarget ( array $params = [] )
Deletes the specified Traffic Mirror target.
DeleteTransitGateway ( array $params = [] )
Deletes the specified transit gateway.
DeleteTransitGatewayConnect ( array $params = [] )
Deletes the specified Connect attachment.
DeleteTransitGatewayConnectPeer ( array $params = [] )
Deletes the specified Connect peer.
DeleteTransitGatewayMulticastDomain ( array $params = [] )
Deletes the specified transit gateway multicast domain.
DeleteTransitGatewayPeeringAttachment ( array $params = [] )
Deletes a transit gateway peering attachment.
DeleteTransitGatewayPolicyTable ( array $params = [] )
Deletes the specified transit gateway policy table.
DeleteTransitGatewayPrefixListReference ( array $params = [] )
Deletes a reference (route) to a prefix list in a specified transit gateway route table.
DeleteTransitGatewayRoute ( array $params = [] )
Deletes the specified route from the specified transit gateway route table.
DeleteTransitGatewayRouteTable ( array $params = [] )
Deletes the specified transit gateway route table.
DeleteTransitGatewayRouteTableAnnouncement ( array $params = [] )
Advertises to the transit gateway that a transit gateway route table is deleted.
DeleteTransitGatewayVpcAttachment ( array $params = [] )
Deletes the specified VPC attachment.
DeleteVerifiedAccessEndpoint ( array $params = [] )
Delete an Amazon Web Services Verified Access endpoint.
DeleteVerifiedAccessGroup ( array $params = [] )
Delete an Amazon Web Services Verified Access group.
DeleteVerifiedAccessInstance ( array $params = [] )
Delete an Amazon Web Services Verified Access instance.
DeleteVerifiedAccessTrustProvider ( array $params = [] )
Delete an Amazon Web Services Verified Access trust provider.
DeleteVolume ( array $params = [] )
Deletes the specified EBS volume.
DeleteVpc ( array $params = [] )
Deletes the specified VPC.
DeleteVpcBlockPublicAccessExclusion ( array $params = [] )
Delete a VPC Block Public Access (BPA) exclusion.
DeleteVpcEndpointConnectionNotifications ( array $params = [] )
Deletes the specified VPC endpoint connection notifications.
DeleteVpcEndpointServiceConfigurations ( array $params = [] )
Deletes the specified VPC endpoint service configurations.
DeleteVpcEndpoints ( array $params = [] )
Deletes the specified VPC endpoints.
DeleteVpcPeeringConnection ( array $params = [] )
Deletes a VPC peering connection.
DeleteVpnConnection ( array $params = [] )
Deletes the specified VPN connection.
DeleteVpnConnectionRoute ( array $params = [] )
Deletes the specified static route associated with a VPN connection between an existing virtual private gateway and a VPN customer gateway.
DeleteVpnGateway ( array $params = [] )
Deletes the specified virtual private gateway.
DeprovisionByoipCidr ( array $params = [] )
Releases the specified address range that you provisioned for use with your Amazon Web Services resources through bring your own IP addresses (BYOIP) and deletes the corresponding address pool.
DeprovisionIpamByoasn ( array $params = [] )
Deprovisions your Autonomous System Number (ASN) from your Amazon Web Services account.
DeprovisionIpamPoolCidr ( array $params = [] )
Deprovision a CIDR provisioned from an IPAM pool.
DeprovisionPublicIpv4PoolCidr ( array $params = [] )
Deprovision a CIDR from a public IPv4 pool.
DeregisterImage ( array $params = [] )
Deregisters the specified AMI.
DeregisterInstanceEventNotificationAttributes ( array $params = [] )
Deregisters tag keys to prevent tags that have the specified tag keys from being included in scheduled event notifications for resources in the Region.
DeregisterTransitGatewayMulticastGroupMembers ( array $params = [] )
Deregisters the specified members (network interfaces) from the transit gateway multicast group.
DeregisterTransitGatewayMulticastGroupSources ( array $params = [] )
Deregisters the specified sources (network interfaces) from the transit gateway multicast group.
DescribeAccountAttributes ( array $params = [] )
Describes attributes of your Amazon Web Services account.
DescribeAddressTransfers ( array $params = [] )
Describes an Elastic IP address transfer.
DescribeAddresses ( array $params = [] )
Describes the specified Elastic IP addresses or all of your Elastic IP addresses.
DescribeAddressesAttribute ( array $params = [] )
Describes the attributes of the specified Elastic IP addresses.
DescribeAggregateIdFormat ( array $params = [] )
Describes the longer ID format settings for all resource types in a specific Region.
DescribeAvailabilityZones ( array $params = [] )
Describes the Availability Zones, Local Zones, and Wavelength Zones that are available to you.
DescribeAwsNetworkPerformanceMetricSubscriptions ( array $params = [] )
Describes the current Infrastructure Performance metric subscriptions.
DescribeBundleTasks ( array $params = [] )
Describes the specified bundle tasks or all of your bundle tasks.
DescribeByoipCidrs ( array $params = [] )
Describes the IP address ranges that were specified in calls to ProvisionByoipCidr.
DescribeCapacityBlockExtensionHistory ( array $params = [] )
Describes the events for the specified Capacity Block extension during the specified time.
DescribeCapacityBlockExtensionOfferings ( array $params = [] )
Describes Capacity Block extension offerings available for purchase in the Amazon Web Services Region that you're currently using.
DescribeCapacityBlockOfferings ( array $params = [] )
Describes Capacity Block offerings available for purchase in the Amazon Web Services Region that you're currently using.
DescribeCapacityReservationBillingRequests ( array $params = [] )
Describes a request to assign the billing of the unused capacity of a Capacity Reservation.
DescribeCapacityReservationFleets ( array $params = [] )
Describes one or more Capacity Reservation Fleets.
DescribeCapacityReservations ( array $params = [] )
Describes one or more of your Capacity Reservations.
DescribeCarrierGateways ( array $params = [] )
Describes one or more of your carrier gateways.
DescribeClassicLinkInstances ( array $params = [] )
This action is deprecated.
DescribeClientVpnAuthorizationRules ( array $params = [] )
Describes the authorization rules for a specified Client VPN endpoint.
DescribeClientVpnConnections ( array $params = [] )
Describes active client connections and connections that have been terminated within the last 60 minutes for the specified Client VPN endpoint.
DescribeClientVpnEndpoints ( array $params = [] )
Describes one or more Client VPN endpoints in the account.
DescribeClientVpnRoutes ( array $params = [] )
Describes the routes for the specified Client VPN endpoint.
DescribeClientVpnTargetNetworks ( array $params = [] )
Describes the target networks associated with the specified Client VPN endpoint.
DescribeCoipPools ( array $params = [] )
Describes the specified customer-owned address pools or all of your customer-owned address pools.
DescribeConversionTasks ( array $params = [] )
Describes the specified conversion tasks or all your conversion tasks.
DescribeCustomerGateways ( array $params = [] )
Describes one or more of your VPN customer gateways.
DescribeDhcpOptions ( array $params = [] )
Describes your DHCP option sets.
DescribeEgressOnlyInternetGateways ( array $params = [] )
Describes your egress-only internet gateways.
DescribeElasticGpus ( array $params = [] )
Amazon Elastic Graphics reached end of life on January 8, 2024.
DescribeExportImageTasks ( array $params = [] )
Describes the specified export image tasks or all of your export image tasks.
DescribeExportTasks ( array $params = [] )
Describes the specified export instance tasks or all of your export instance tasks.
DescribeFastLaunchImages ( array $params = [] )
Describe details for Windows AMIs that are configured for Windows fast launch.
DescribeFastSnapshotRestores ( array $params = [] )
Describes the state of fast snapshot restores for your snapshots.
DescribeFleetHistory ( array $params = [] )
Describes the events for the specified EC2 Fleet during the specified time.
DescribeFleetInstances ( array $params = [] )
Describes the running instances for the specified EC2 Fleet.
DescribeFleets ( array $params = [] )
Describes the specified EC2 Fleet or all of your EC2 Fleets.
DescribeFlowLogs ( array $params = [] )
Describes one or more flow logs.
DescribeFpgaImageAttribute ( array $params = [] )
Describes the specified attribute of the specified Amazon FPGA Image (AFI).
DescribeFpgaImages ( array $params = [] )
Describes the Amazon FPGA Images (AFIs) available to you.
DescribeHostReservationOfferings ( array $params = [] )
Describes the Dedicated Host reservations that are available to purchase.
DescribeHostReservations ( array $params = [] )
Describes reservations that are associated with Dedicated Hosts in your account.
DescribeHosts ( array $params = [] )
Describes the specified Dedicated Hosts or all your Dedicated Hosts.
DescribeIamInstanceProfileAssociations ( array $params = [] )
Describes your IAM instance profile associations.
DescribeIdFormat ( array $params = [] )
Describes the ID format settings for your resources on a per-Region basis, for example, to view which resource types are enabled for longer IDs.
DescribeIdentityIdFormat ( array $params = [] )
Describes the ID format settings for resources for the specified IAM user, IAM role, or root user.
DescribeImageAttribute ( array $params = [] )
Describes the specified attribute of the specified AMI.
DescribeImages ( array $params = [] )
Describes the specified images (AMIs, AKIs, and ARIs) available to you or all of the images available to you.
DescribeImportImageTasks ( array $params = [] )
Displays details about an import virtual machine or import snapshot tasks that are already created.
DescribeImportSnapshotTasks ( array $params = [] )
Describes your import snapshot tasks.
DescribeInstanceAttribute ( array $params = [] )
Describes the specified attribute of the specified instance.
DescribeInstanceConnectEndpoints ( array $params = [] )
Describes the specified EC2 Instance Connect Endpoints or all EC2 Instance Connect Endpoints.
DescribeInstanceCreditSpecifications ( array $params = [] )
Describes the credit option for CPU usage of the specified burstable performance instances.
DescribeInstanceEventNotificationAttributes ( array $params = [] )
Describes the tag keys that are registered to appear in scheduled event notifications for resources in the current Region.
DescribeInstanceEventWindows ( array $params = [] )
Describes the specified event windows or all event windows.
DescribeInstanceImageMetadata ( array $params = [] )
Describes the AMI that was used to launch an instance, even if the AMI is deprecated, deregistered, or made private (no longer public or shared with your account).
DescribeInstanceStatus ( array $params = [] )
Describes the status of the specified instances or all of your instances.
DescribeInstanceTopology ( array $params = [] )
Describes a tree-based hierarchy that represents the physical host placement of your EC2 instances within an Availability Zone or Local Zone.
DescribeInstanceTypeOfferings ( array $params = [] )
Lists the instance types that are offered for the specified location.
DescribeInstanceTypes ( array $params = [] )
Describes the specified instance types.
DescribeInstances ( array $params = [] )
Describes the specified instances or all instances.
DescribeInternetGateways ( array $params = [] )
Describes your internet gateways.
DescribeIpamByoasn ( array $params = [] )
Describes your Autonomous System Numbers (ASNs), their provisioning statuses, and the BYOIP CIDRs with which they are associated.
DescribeIpamExternalResourceVerificationTokens ( array $params = [] )
Describe verification tokens.
DescribeIpamPools ( array $params = [] )
Get information about your IPAM pools.
DescribeIpamResourceDiscoveries ( array $params = [] )
Describes IPAM resource discoveries.
DescribeIpamResourceDiscoveryAssociations ( array $params = [] )
Describes resource discovery association with an Amazon VPC IPAM.
DescribeIpamScopes ( array $params = [] )
Get information about your IPAM scopes.
DescribeIpams ( array $params = [] )
Get information about your IPAM pools.
DescribeIpv6Pools ( array $params = [] )
Describes your IPv6 address pools.
DescribeKeyPairs ( array $params = [] )
Describes the specified key pairs or all of your key pairs.
DescribeLaunchTemplateVersions ( array $params = [] )
Describes one or more versions of a specified launch template.
DescribeLaunchTemplates ( array $params = [] )
Describes one or more launch templates.
DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations ( array $params = [] )
Describes the associations between virtual interface groups and local gateway route tables.
DescribeLocalGatewayRouteTableVpcAssociations ( array $params = [] )
Describes the specified associations between VPCs and local gateway route tables.
DescribeLocalGatewayRouteTables ( array $params = [] )
Describes one or more local gateway route tables.
DescribeLocalGatewayVirtualInterfaceGroups ( array $params = [] )
Describes the specified local gateway virtual interface groups.
DescribeLocalGatewayVirtualInterfaces ( array $params = [] )
Describes the specified local gateway virtual interfaces.
DescribeLocalGateways ( array $params = [] )
Describes one or more local gateways.
DescribeLockedSnapshots ( array $params = [] )
Describes the lock status for a snapshot.
DescribeMacHosts ( array $params = [] )
Describes the specified EC2 Mac Dedicated Host or all of your EC2 Mac Dedicated Hosts.
DescribeManagedPrefixLists ( array $params = [] )
Describes your managed prefix lists and any Amazon Web Services-managed prefix lists.
DescribeMovingAddresses ( array $params = [] )
This action is deprecated.
DescribeNatGateways ( array $params = [] )
Describes your NAT gateways.
DescribeNetworkAcls ( array $params = [] )
Describes your network ACLs.
DescribeNetworkInsightsAccessScopeAnalyses ( array $params = [] )
Describes the specified Network Access Scope analyses.
DescribeNetworkInsightsAccessScopes ( array $params = [] )
Describes the specified Network Access Scopes.
DescribeNetworkInsightsAnalyses ( array $params = [] )
Describes one or more of your network insights analyses.
DescribeNetworkInsightsPaths ( array $params = [] )
Describes one or more of your paths.
DescribeNetworkInterfaceAttribute ( array $params = [] )
Describes a network interface attribute.
DescribeNetworkInterfacePermissions ( array $params = [] )
Describes the permissions for your network interfaces.
DescribeNetworkInterfaces ( array $params = [] )
Describes one or more of your network interfaces.
DescribePlacementGroups ( array $params = [] )
Describes the specified placement groups or all of your placement groups.
DescribePrefixLists ( array $params = [] )
Describes available Amazon Web Services services in a prefix list format, which includes the prefix list name and prefix list ID of the service and the IP address range for the service.
DescribePrincipalIdFormat ( array $params = [] )
Describes the ID format settings for the root user and all IAM roles and IAM users that have explicitly specified a longer ID (17-character ID) preference.
DescribePublicIpv4Pools ( array $params = [] )
Describes the specified IPv4 address pools.
DescribeRegions ( array $params = [] )
Describes the Regions that are enabled for your account, or all Regions.
DescribeReplaceRootVolumeTasks ( array $params = [] )
Describes a root volume replacement task.
DescribeReservedInstances ( array $params = [] )
Describes one or more of the Reserved Instances that you purchased.
DescribeReservedInstancesListings ( array $params = [] )
Describes your account's Reserved Instance listings in the Reserved Instance Marketplace.
DescribeReservedInstancesModifications ( array $params = [] )
Describes the modifications made to your Reserved Instances.
DescribeReservedInstancesOfferings ( array $params = [] )
Describes Reserved Instance offerings that are available for purchase.
DescribeRouteTables ( array $params = [] )
Describes your route tables.
DescribeScheduledInstanceAvailability ( array $params = [] )
Finds available schedules that meet the specified criteria.
DescribeScheduledInstances ( array $params = [] )
Describes the specified Scheduled Instances or all your Scheduled Instances.
DescribeSecurityGroupReferences ( array $params = [] )
Describes the VPCs on the other side of a VPC peering or Transit Gateway connection that are referencing the security groups you've specified in this request.
DescribeSecurityGroupRules ( array $params = [] )
Describes one or more of your security group rules.
DescribeSecurityGroupVpcAssociations ( array $params = [] )
Describes security group VPC associations made with AssociateSecurityGroupVpc.
DescribeSecurityGroups ( array $params = [] )
Describes the specified security groups or all of your security groups.
DescribeSnapshotAttribute ( array $params = [] )
Describes the specified attribute of the specified snapshot.
DescribeSnapshotTierStatus ( array $params = [] )
Describes the storage tier status of one or more Amazon EBS snapshots.
DescribeSnapshots ( array $params = [] )
Describes the specified EBS snapshots available to you or all of the EBS snapshots available to you.
DescribeSpotDatafeedSubscription ( array $params = [] )
Describes the data feed for Spot Instances.
DescribeSpotFleetInstances ( array $params = [] )
Describes the running instances for the specified Spot Fleet.
DescribeSpotFleetRequestHistory ( array $params = [] )
Describes the events for the specified Spot Fleet request during the specified time.
DescribeSpotFleetRequests ( array $params = [] )
Describes your Spot Fleet requests.
DescribeSpotInstanceRequests ( array $params = [] )
Describes the specified Spot Instance requests.
DescribeSpotPriceHistory ( array $params = [] )
Describes the Spot price history.
DescribeStaleSecurityGroups ( array $params = [] )
Describes the stale security group rules for security groups referenced across a VPC peering connection, transit gateway connection, or with a security group VPC association.
DescribeStoreImageTasks ( array $params = [] )
Describes the progress of the AMI store tasks.
DescribeSubnets ( array $params = [] )
Describes your subnets.
DescribeTags ( array $params = [] )
Describes the specified tags for your EC2 resources.
DescribeTrafficMirrorFilterRules ( array $params = [] )
Describe traffic mirror filters that determine the traffic that is mirrored.
DescribeTrafficMirrorFilters ( array $params = [] )
Describes one or more Traffic Mirror filters.
DescribeTrafficMirrorSessions ( array $params = [] )
Describes one or more Traffic Mirror sessions.
DescribeTrafficMirrorTargets ( array $params = [] )
Information about one or more Traffic Mirror targets.
DescribeTransitGatewayAttachments ( array $params = [] )
Describes one or more attachments between resources and transit gateways.
DescribeTransitGatewayConnectPeers ( array $params = [] )
Describes one or more Connect peers.
DescribeTransitGatewayConnects ( array $params = [] )
Describes one or more Connect attachments.
DescribeTransitGatewayMulticastDomains ( array $params = [] )
Describes one or more transit gateway multicast domains.
DescribeTransitGatewayPeeringAttachments ( array $params = [] )
Describes your transit gateway peering attachments.
DescribeTransitGatewayPolicyTables ( array $params = [] )
Describes one or more transit gateway route policy tables.
DescribeTransitGatewayRouteTableAnnouncements ( array $params = [] )
Describes one or more transit gateway route table advertisements.
DescribeTransitGatewayRouteTables ( array $params = [] )
Describes one or more transit gateway route tables.
DescribeTransitGatewayVpcAttachments ( array $params = [] )
Describes one or more VPC attachments.
DescribeTransitGateways ( array $params = [] )
Describes one or more transit gateways.
DescribeTrunkInterfaceAssociations ( array $params = [] )
Describes one or more network interface trunk associations.
DescribeVerifiedAccessEndpoints ( array $params = [] )
Describes the specified Amazon Web Services Verified Access endpoints.
DescribeVerifiedAccessGroups ( array $params = [] )
Describes the specified Verified Access groups.
DescribeVerifiedAccessInstanceLoggingConfigurations ( array $params = [] )
Describes the specified Amazon Web Services Verified Access instances.
DescribeVerifiedAccessInstances ( array $params = [] )
Describes the specified Amazon Web Services Verified Access instances.
DescribeVerifiedAccessTrustProviders ( array $params = [] )
Describes the specified Amazon Web Services Verified Access trust providers.
DescribeVolumeAttribute ( array $params = [] )
Describes the specified attribute of the specified volume.
DescribeVolumeStatus ( array $params = [] )
Describes the status of the specified volumes.
DescribeVolumes ( array $params = [] )
Describes the specified EBS volumes or all of your EBS volumes.
DescribeVolumesModifications ( array $params = [] )
Describes the most recent volume modification request for the specified EBS volumes.
DescribeVpcAttribute ( array $params = [] )
Describes the specified attribute of the specified VPC.
DescribeVpcBlockPublicAccessExclusions ( array $params = [] )
Describe VPC Block Public Access (BPA) exclusions.
DescribeVpcBlockPublicAccessOptions ( array $params = [] )
Describe VPC Block Public Access (BPA) options.
DescribeVpcClassicLink ( array $params = [] )
This action is deprecated.
DescribeVpcClassicLinkDnsSupport ( array $params = [] )
This action is deprecated.
DescribeVpcEndpointConnectionNotifications ( array $params = [] )
Describes the connection notifications for VPC endpoints and VPC endpoint services.
DescribeVpcEndpointConnections ( array $params = [] )
Describes the VPC endpoint connections to your VPC endpoint services, including any endpoints that are pending your acceptance.
DescribeVpcEndpointServiceConfigurations ( array $params = [] )
Describes the VPC endpoint service configurations in your account (your services).
DescribeVpcEndpointServicePermissions ( array $params = [] )
Describes the principals (service consumers) that are permitted to discover your VPC endpoint service.
DescribeVpcEndpointServices ( array $params = [] )
Describes available services to which you can create a VPC endpoint.
DescribeVpcEndpoints ( array $params = [] )
Describes your VPC endpoints.
DescribeVpcPeeringConnections ( array $params = [] )
Describes your VPC peering connections.
DescribeVpcs ( array $params = [] )
Describes your VPCs.
DescribeVpnConnections ( array $params = [] )
Describes one or more of your VPN connections.
DescribeVpnGateways ( array $params = [] )
Describes one or more of your virtual private gateways.
DetachClassicLinkVpc ( array $params = [] )
This action is deprecated.
DetachInternetGateway ( array $params = [] )
Detaches an internet gateway from a VPC, disabling connectivity between the internet and the VPC.
DetachNetworkInterface ( array $params = [] )
Detaches a network interface from an instance.
DetachVerifiedAccessTrustProvider ( array $params = [] )
Detaches the specified Amazon Web Services Verified Access trust provider from the specified Amazon Web Services Verified Access instance.
DetachVolume ( array $params = [] )
Detaches an EBS volume from an instance.
DetachVpnGateway ( array $params = [] )
Detaches a virtual private gateway from a VPC.
DisableAddressTransfer ( array $params = [] )
Disables Elastic IP address transfer.
DisableAwsNetworkPerformanceMetricSubscription ( array $params = [] )
Disables Infrastructure Performance metric subscriptions.
DisableEbsEncryptionByDefault ( array $params = [] )
Disables EBS encryption by default for your account in the current Region.
DisableFastLaunch ( array $params = [] )
Discontinue Windows fast launch for a Windows AMI, and clean up existing pre-provisioned snapshots.
DisableFastSnapshotRestores ( array $params = [] )
Disables fast snapshot restores for the specified snapshots in the specified Availability Zones.
DisableImage ( array $params = [] )
Sets the AMI state to disabled and removes all launch permissions from the AMI.
DisableImageBlockPublicAccess ( array $params = [] )
Disables block public access for AMIs at the account level in the specified Amazon Web Services Region.
DisableImageDeprecation ( array $params = [] )
Cancels the deprecation of the specified AMI.
DisableImageDeregistrationProtection ( array $params = [] )
Disables deregistration protection for an AMI.
DisableIpamOrganizationAdminAccount ( array $params = [] )
Disable the IPAM account.
DisableSerialConsoleAccess ( array $params = [] )
Disables access to the EC2 serial console of all instances for your account.
DisableSnapshotBlockPublicAccess ( array $params = [] )
Disables the block public access for snapshots setting at the account level for the specified Amazon Web Services Region.
DisableTransitGatewayRouteTablePropagation ( array $params = [] )
Disables the specified resource attachment from propagating routes to the specified propagation route table.
DisableVgwRoutePropagation ( array $params = [] )
Disables a virtual private gateway (VGW) from propagating routes to a specified route table of a VPC.
DisableVpcClassicLink ( array $params = [] )
This action is deprecated.
DisableVpcClassicLinkDnsSupport ( array $params = [] )
This action is deprecated.
DisassociateAddress ( array $params = [] )
Disassociates an Elastic IP address from the instance or network interface it's associated with.
DisassociateCapacityReservationBillingOwner ( array $params = [] )
Cancels a pending request to assign billing of the unused capacity of a Capacity Reservation to a consumer account, or revokes a request that has already been accepted.
DisassociateClientVpnTargetNetwork ( array $params = [] )
Disassociates a target network from the specified Client VPN endpoint.
DisassociateEnclaveCertificateIamRole ( array $params = [] )
Disassociates an IAM role from an Certificate Manager (ACM) certificate.
DisassociateIamInstanceProfile ( array $params = [] )
Disassociates an IAM instance profile from a running or stopped instance.
DisassociateInstanceEventWindow ( array $params = [] )
Disassociates one or more targets from an event window.
DisassociateIpamByoasn ( array $params = [] )
Remove the association between your Autonomous System Number (ASN) and your BYOIP CIDR.
DisassociateIpamResourceDiscovery ( array $params = [] )
Disassociates a resource discovery from an Amazon VPC IPAM.
DisassociateNatGatewayAddress ( array $params = [] )
Disassociates secondary Elastic IP addresses (EIPs) from a public NAT gateway.
DisassociateRouteTable ( array $params = [] )
Disassociates a subnet or gateway from a route table.
DisassociateSecurityGroupVpc ( array $params = [] )
Disassociates a security group from a VPC.
DisassociateSubnetCidrBlock ( array $params = [] )
Disassociates a CIDR block from a subnet.
DisassociateTransitGatewayMulticastDomain ( array $params = [] )
Disassociates the specified subnets from the transit gateway multicast domain.
DisassociateTransitGatewayPolicyTable ( array $params = [] )
Removes the association between an an attachment and a policy table.
DisassociateTransitGatewayRouteTable ( array $params = [] )
Disassociates a resource attachment from a transit gateway route table.
DisassociateTrunkInterface ( array $params = [] )
Removes an association between a branch network interface with a trunk network interface.
DisassociateVpcCidrBlock ( array $params = [] )
Disassociates a CIDR block from a VPC.
EnableAddressTransfer ( array $params = [] )
Enables Elastic IP address transfer.
EnableAwsNetworkPerformanceMetricSubscription ( array $params = [] )
Enables Infrastructure Performance subscriptions.
EnableEbsEncryptionByDefault ( array $params = [] )
Enables EBS encryption by default for your account in the current Region.
EnableFastLaunch ( array $params = [] )
When you enable Windows fast launch for a Windows AMI, images are pre-provisioned, using snapshots to launch instances up to 65% faster.
EnableFastSnapshotRestores ( array $params = [] )
Enables fast snapshot restores for the specified snapshots in the specified Availability Zones.
EnableImage ( array $params = [] )
Re-enables a disabled AMI.
EnableImageBlockPublicAccess ( array $params = [] )
Enables block public access for AMIs at the account level in the specified Amazon Web Services Region.
EnableImageDeprecation ( array $params = [] )
Enables deprecation of the specified AMI at the specified date and time.
EnableImageDeregistrationProtection ( array $params = [] )
Enables deregistration protection for an AMI.
EnableIpamOrganizationAdminAccount ( array $params = [] )
Enable an Organizations member account as the IPAM admin account.
EnableReachabilityAnalyzerOrganizationSharing ( array $params = [] )
Establishes a trust relationship between Reachability Analyzer and Organizations.
EnableSerialConsoleAccess ( array $params = [] )
Enables access to the EC2 serial console of all instances for your account.
EnableSnapshotBlockPublicAccess ( array $params = [] )
Enables or modifies the block public access for snapshots setting at the account level for the specified Amazon Web Services Region.
EnableTransitGatewayRouteTablePropagation ( array $params = [] )
Enables the specified attachment to propagate routes to the specified propagation route table.
EnableVgwRoutePropagation ( array $params = [] )
Enables a virtual private gateway (VGW) to propagate routes to the specified route table of a VPC.
EnableVolumeIO ( array $params = [] )
Enables I/O operations for a volume that had I/O operations disabled because the data on the volume was potentially inconsistent.
EnableVpcClassicLink ( array $params = [] )
This action is deprecated.
EnableVpcClassicLinkDnsSupport ( array $params = [] )
This action is deprecated.
ExportClientVpnClientCertificateRevocationList ( array $params = [] )
Downloads the client certificate revocation list for the specified Client VPN endpoint.
ExportClientVpnClientConfiguration ( array $params = [] )
Downloads the contents of the Client VPN endpoint configuration file for the specified Client VPN endpoint.
ExportImage ( array $params = [] )
Exports an Amazon Machine Image (AMI) to a VM file.
ExportTransitGatewayRoutes ( array $params = [] )
Exports routes from the specified transit gateway route table to the specified S3 bucket.
GetAssociatedEnclaveCertificateIamRoles ( array $params = [] )
Returns the IAM roles that are associated with the specified ACM (ACM) certificate.
GetAssociatedIpv6PoolCidrs ( array $params = [] )
Gets information about the IPv6 CIDR block associations for a specified IPv6 address pool.
GetAwsNetworkPerformanceData ( array $params = [] )
Gets network performance data.
GetCapacityReservationUsage ( array $params = [] )
Gets usage information about a Capacity Reservation.
GetCoipPoolUsage ( array $params = [] )
Describes the allocations from the specified customer-owned address pool.
GetConsoleOutput ( array $params = [] )
Gets the console output for the specified instance.
GetConsoleScreenshot ( array $params = [] )
Retrieve a JPG-format screenshot of a running instance to help with troubleshooting.
GetDefaultCreditSpecification ( array $params = [] )
Describes the default credit option for CPU usage of a burstable performance instance family.
GetEbsDefaultKmsKeyId ( array $params = [] )
Describes the default KMS key for EBS encryption by default for your account in this Region.
GetEbsEncryptionByDefault ( array $params = [] )
Describes whether EBS encryption by default is enabled for your account in the current Region.
GetFlowLogsIntegrationTemplate ( array $params = [] )
Generates a CloudFormation template that streamlines and automates the integration of VPC flow logs with Amazon Athena.
GetGroupsForCapacityReservation ( array $params = [] )
Lists the resource groups to which a Capacity Reservation has been added.
GetHostReservationPurchasePreview ( array $params = [] )
Preview a reservation purchase with configurations that match those of your Dedicated Host.
GetImageBlockPublicAccessState ( array $params = [] )
Gets the current state of block public access for AMIs at the account level in the specified Amazon Web Services Region.
GetInstanceMetadataDefaults ( array $params = [] )
Gets the default instance metadata service (IMDS) settings that are set at the account level in the specified Amazon Web Services
 Region.
GetInstanceTpmEkPub ( array $params = [] )
Gets the public endorsement key associated with the Nitro Trusted Platform Module (NitroTPM) for the specified instance.
GetInstanceTypesFromInstanceRequirements ( array $params = [] )
Returns a list of instance types with the specified instance attributes.
GetInstanceUefiData ( array $params = [] )
A binary representation of the UEFI variable store.
GetIpamAddressHistory ( array $params = [] )
Retrieve historical information about a CIDR within an IPAM scope.
GetIpamDiscoveredAccounts ( array $params = [] )
Gets IPAM discovered accounts.
GetIpamDiscoveredPublicAddresses ( array $params = [] )
Gets the public IP addresses that have been discovered by IPAM.
GetIpamDiscoveredResourceCidrs ( array $params = [] )
Returns the resource CIDRs that are monitored as part of a resource discovery.
GetIpamPoolAllocations ( array $params = [] )
Get a list of all the CIDR allocations in an IPAM pool.
GetIpamPoolCidrs ( array $params = [] )
Get the CIDRs provisioned to an IPAM pool.
GetIpamResourceCidrs ( array $params = [] )
Returns resource CIDRs managed by IPAM in a given scope.
GetLaunchTemplateData ( array $params = [] )
Retrieves the configuration data of the specified instance.
GetManagedPrefixListAssociations ( array $params = [] )
Gets information about the resources that are associated with the specified managed prefix list.
GetManagedPrefixListEntries ( array $params = [] )
Gets information about the entries for a specified managed prefix list.
GetNetworkInsightsAccessScopeAnalysisFindings ( array $params = [] )
Gets the findings for the specified Network Access Scope analysis.
GetNetworkInsightsAccessScopeContent ( array $params = [] )
Gets the content for the specified Network Access Scope.
GetPasswordData ( array $params = [] )
Retrieves the encrypted administrator password for a running Windows instance.
GetReservedInstancesExchangeQuote ( array $params = [] )
Returns a quote and exchange information for exchanging one or more specified Convertible Reserved Instances for a new Convertible Reserved Instance.
GetSecurityGroupsForVpc ( array $params = [] )
Gets security groups that can be associated by the Amazon Web Services account making the request with network interfaces in the specified VPC.
GetSerialConsoleAccessStatus ( array $params = [] )
Retrieves the access status of your account to the EC2 serial console of all instances.
GetSnapshotBlockPublicAccessState ( array $params = [] )
Gets the current state of block public access for snapshots setting for the account and Region.
GetSpotPlacementScores ( array $params = [] )
Calculates the Spot placement score for a Region or Availability Zone based on the specified target capacity and compute requirements.
GetSubnetCidrReservations ( array $params = [] )
Gets information about the subnet CIDR reservations.
GetTransitGatewayAttachmentPropagations ( array $params = [] )
Lists the route tables to which the specified resource attachment propagates routes.
GetTransitGatewayMulticastDomainAssociations ( array $params = [] )
Gets information about the associations for the transit gateway multicast domain.
GetTransitGatewayPolicyTableAssociations ( array $params = [] )
Gets a list of the transit gateway policy table associations.
GetTransitGatewayPolicyTableEntries ( array $params = [] )
Returns a list of transit gateway policy table entries.
GetTransitGatewayPrefixListReferences ( array $params = [] )
Gets information about the prefix list references in a specified transit gateway route table.
GetTransitGatewayRouteTableAssociations ( array $params = [] )
Gets information about the associations for the specified transit gateway route table.
GetTransitGatewayRouteTablePropagations ( array $params = [] )
Gets information about the route table propagations for the specified transit gateway route table.
GetVerifiedAccessEndpointPolicy ( array $params = [] )
Get the Verified Access policy associated with the endpoint.
GetVerifiedAccessGroupPolicy ( array $params = [] )
Shows the contents of the Verified Access policy associated with the group.
GetVpnConnectionDeviceSampleConfiguration ( array $params = [] )
Download an Amazon Web Services-provided sample configuration file to be used with the customer gateway device specified for your Site-to-Site VPN connection.
GetVpnConnectionDeviceTypes ( array $params = [] )
Obtain a list of customer gateway devices for which sample configuration files can be provided.
GetVpnTunnelReplacementStatus ( array $params = [] )
Get details of available tunnel endpoint maintenance.
ImportClientVpnClientCertificateRevocationList ( array $params = [] )
Uploads a client certificate revocation list to the specified Client VPN endpoint.
ImportImage ( array $params = [] )
To import your virtual machines (VMs) with a console-based experience, you can use the Import virtual machine images to Amazon Web Services template in the Migration Hub Orchestrator console.
ImportInstance ( array $params = [] )
We recommend that you use the ImportImage API instead.
ImportKeyPair ( array $params = [] )
Imports the public key from an RSA or ED25519 key pair that you created using a third-party tool.
ImportSnapshot ( array $params = [] )
Imports a disk into an EBS snapshot.
ImportVolume ( array $params = [] )
This API action supports only single-volume VMs.
ListImagesInRecycleBin ( array $params = [] )
Lists one or more AMIs that are currently in the Recycle Bin.
ListSnapshotsInRecycleBin ( array $params = [] )
Lists one or more snapshots that are currently in the Recycle Bin.
LockSnapshot ( array $params = [] )
Locks an Amazon EBS snapshot in either governance or compliance mode to protect it against accidental or malicious deletions for a specific duration.
ModifyAddressAttribute ( array $params = [] )
Modifies an attribute of the specified Elastic IP address.
ModifyAvailabilityZoneGroup ( array $params = [] )
Changes the opt-in status of the specified zone group for your account.
ModifyCapacityReservation ( array $params = [] )
Modifies a Capacity Reservation's capacity, instance eligibility, and the conditions under which it is to be released.
ModifyCapacityReservationFleet ( array $params = [] )
Modifies a Capacity Reservation Fleet.
ModifyClientVpnEndpoint ( array $params = [] )
Modifies the specified Client VPN endpoint.
ModifyDefaultCreditSpecification ( array $params = [] )
Modifies the default credit option for CPU usage of burstable performance instances.
ModifyEbsDefaultKmsKeyId ( array $params = [] )
Changes the default KMS key for EBS encryption by default for your account in this Region.
ModifyFleet ( array $params = [] )
Modifies the specified EC2 Fleet.
ModifyFpgaImageAttribute ( array $params = [] )
Modifies the specified attribute of the specified Amazon FPGA Image (AFI).
ModifyHosts ( array $params = [] )
Modify the auto-placement setting of a Dedicated Host.
ModifyIdFormat ( array $params = [] )
Modifies the ID format for the specified resource on a per-Region basis.
ModifyIdentityIdFormat ( array $params = [] )
Modifies the ID format of a resource for a specified IAM user, IAM role, or the root user for an account; or all IAM users, IAM roles, and the root user for an account.
ModifyImageAttribute ( array $params = [] )
Modifies the specified attribute of the specified AMI.
ModifyInstanceAttribute ( array $params = [] )
Modifies the specified attribute of the specified instance.
ModifyInstanceCapacityReservationAttributes ( array $params = [] )
Modifies the Capacity Reservation settings for a stopped instance.
ModifyInstanceCpuOptions ( array $params = [] )
By default, all vCPUs for the instance type are active when you launch an instance.
ModifyInstanceCreditSpecification ( array $params = [] )
Modifies the credit option for CPU usage on a running or stopped burstable performance instance.
ModifyInstanceEventStartTime ( array $params = [] )
Modifies the start time for a scheduled Amazon EC2 instance event.
ModifyInstanceEventWindow ( array $params = [] )
Modifies the specified event window.
ModifyInstanceMaintenanceOptions ( array $params = [] )
Modifies the recovery behavior of your instance to disable simplified automatic recovery or set the recovery behavior to default.
ModifyInstanceMetadataDefaults ( array $params = [] )
Modifies the default instance metadata service (IMDS) settings at the account level in the specified Amazon Web Services
 Region.
ModifyInstanceMetadataOptions ( array $params = [] )
Modify the instance metadata parameters on a running or stopped instance.
ModifyInstancePlacement ( array $params = [] )
Modifies the placement attributes for a specified instance.
ModifyIpam ( array $params = [] )
Modify the configurations of an IPAM.
ModifyIpamPool ( array $params = [] )
Modify the configurations of an IPAM pool.
ModifyIpamResourceCidr ( array $params = [] )
Modify a resource CIDR.
ModifyIpamResourceDiscovery ( array $params = [] )
Modifies a resource discovery.
ModifyIpamScope ( array $params = [] )
Modify an IPAM scope.
ModifyLaunchTemplate ( array $params = [] )
Modifies a launch template.
ModifyLocalGatewayRoute ( array $params = [] )
Modifies the specified local gateway route.
ModifyManagedPrefixList ( array $params = [] )
Modifies the specified managed prefix list.
ModifyNetworkInterfaceAttribute ( array $params = [] )
Modifies the specified network interface attribute.
ModifyPrivateDnsNameOptions ( array $params = [] )
Modifies the options for instance hostnames for the specified instance.
ModifyReservedInstances ( array $params = [] )
Modifies the configuration of your Reserved Instances, such as the Availability Zone, instance count, or instance type.
ModifySecurityGroupRules ( array $params = [] )
Modifies the rules of a security group.
ModifySnapshotAttribute ( array $params = [] )
Adds or removes permission settings for the specified snapshot.
ModifySnapshotTier ( array $params = [] )
Archives an Amazon EBS snapshot.
ModifySpotFleetRequest ( array $params = [] )
Modifies the specified Spot Fleet request.
ModifySubnetAttribute ( array $params = [] )
Modifies a subnet attribute.
ModifyTrafficMirrorFilterNetworkServices ( array $params = [] )
Allows or restricts mirroring network services.
ModifyTrafficMirrorFilterRule ( array $params = [] )
Modifies the specified Traffic Mirror rule.
ModifyTrafficMirrorSession ( array $params = [] )
Modifies a Traffic Mirror session.
ModifyTransitGateway ( array $params = [] )
Modifies the specified transit gateway.
ModifyTransitGatewayPrefixListReference ( array $params = [] )
Modifies a reference (route) to a prefix list in a specified transit gateway route table.
ModifyTransitGatewayVpcAttachment ( array $params = [] )
Modifies the specified VPC attachment.
ModifyVerifiedAccessEndpoint ( array $params = [] )
Modifies the configuration of the specified Amazon Web Services Verified Access endpoint.
ModifyVerifiedAccessEndpointPolicy ( array $params = [] )
Modifies the specified Amazon Web Services Verified Access endpoint policy.
ModifyVerifiedAccessGroup ( array $params = [] )
Modifies the specified Amazon Web Services Verified Access group configuration.
ModifyVerifiedAccessGroupPolicy ( array $params = [] )
Modifies the specified Amazon Web Services Verified Access group policy.
ModifyVerifiedAccessInstance ( array $params = [] )
Modifies the configuration of the specified Amazon Web Services Verified Access instance.
ModifyVerifiedAccessInstanceLoggingConfiguration ( array $params = [] )
Modifies the logging configuration for the specified Amazon Web Services Verified Access instance.
ModifyVerifiedAccessTrustProvider ( array $params = [] )
Modifies the configuration of the specified Amazon Web Services Verified Access trust provider.
ModifyVolume ( array $params = [] )
You can modify several parameters of an existing EBS volume, including volume size, volume type, and IOPS capacity.
ModifyVolumeAttribute ( array $params = [] )
Modifies a volume attribute.
ModifyVpcAttribute ( array $params = [] )
Modifies the specified attribute of the specified VPC.
ModifyVpcBlockPublicAccessExclusion ( array $params = [] )
Modify VPC Block Public Access (BPA) exclusions.
ModifyVpcBlockPublicAccessOptions ( array $params = [] )
Modify VPC Block Public Access (BPA) options.
ModifyVpcEndpoint ( array $params = [] )
Modifies attributes of a specified VPC endpoint.
ModifyVpcEndpointConnectionNotification ( array $params = [] )
Modifies a connection notification for VPC endpoint or VPC endpoint service.
ModifyVpcEndpointServiceConfiguration ( array $params = [] )
Modifies the attributes of the specified VPC endpoint service configuration.
ModifyVpcEndpointServicePayerResponsibility ( array $params = [] )
Modifies the payer responsibility for your VPC endpoint service.
ModifyVpcEndpointServicePermissions ( array $params = [] )
Modifies the permissions for your VPC endpoint service.
ModifyVpcPeeringConnectionOptions ( array $params = [] )
Modifies the VPC peering connection options on one side of a VPC peering connection.
ModifyVpcTenancy ( array $params = [] )
Modifies the instance tenancy attribute of the specified VPC.
ModifyVpnConnection ( array $params = [] )
Modifies the customer gateway or the target gateway of an Amazon Web Services Site-to-Site VPN connection.
ModifyVpnConnectionOptions ( array $params = [] )
Modifies the connection options for your Site-to-Site VPN connection.
ModifyVpnTunnelCertificate ( array $params = [] )
Modifies the VPN tunnel endpoint certificate.
ModifyVpnTunnelOptions ( array $params = [] )
Modifies the options for a VPN tunnel in an Amazon Web Services Site-to-Site VPN connection.
MonitorInstances ( array $params = [] )
Enables detailed monitoring for a running instance.
MoveAddressToVpc ( array $params = [] )
This action is deprecated.
MoveByoipCidrToIpam ( array $params = [] )
Move a BYOIPv4 CIDR to IPAM from a public IPv4 pool.
MoveCapacityReservationInstances ( array $params = [] )
Move available capacity from a source Capacity Reservation to a destination Capacity Reservation.
ProvisionByoipCidr ( array $params = [] )
Provisions an IPv4 or IPv6 address range for use with your Amazon Web Services resources through bring your own IP addresses (BYOIP) and creates a corresponding address pool.
ProvisionIpamByoasn ( array $params = [] )
Provisions your Autonomous System Number (ASN) for use in your Amazon Web Services account.
ProvisionIpamPoolCidr ( array $params = [] )
Provision a CIDR to an IPAM pool.
ProvisionPublicIpv4PoolCidr ( array $params = [] )
Provision a CIDR to a public IPv4 pool.
PurchaseCapacityBlock ( array $params = [] )
Purchase the Capacity Block for use with your account.
PurchaseCapacityBlockExtension ( array $params = [] )
Purchase the Capacity Block extension for use with your account.
PurchaseHostReservation ( array $params = [] )
Purchase a reservation with configurations that match those of your Dedicated Host.
PurchaseReservedInstancesOffering ( array $params = [] )
Purchases a Reserved Instance for use with your account.
PurchaseScheduledInstances ( array $params = [] )
You can no longer purchase Scheduled Instances.
RebootInstances ( array $params = [] )
Requests a reboot of the specified instances.
RegisterImage ( array $params = [] )
Registers an AMI.
RegisterInstanceEventNotificationAttributes ( array $params = [] )
Registers a set of tag keys to include in scheduled event notifications for your resources.
RegisterTransitGatewayMulticastGroupMembers ( array $params = [] )
Registers members (network interfaces) with the transit gateway multicast group.
RegisterTransitGatewayMulticastGroupSources ( array $params = [] )
Registers sources (network interfaces) with the specified transit gateway multicast group.
RejectCapacityReservationBillingOwnership ( array $params = [] )
Rejects a request to assign billing of the available capacity of a shared Capacity Reservation to your account.
RejectTransitGatewayMulticastDomainAssociations ( array $params = [] )
Rejects a request to associate cross-account subnets with a transit gateway multicast domain.
RejectTransitGatewayPeeringAttachment ( array $params = [] )
Rejects a transit gateway peering attachment request.
RejectTransitGatewayVpcAttachment ( array $params = [] )
Rejects a request to attach a VPC to a transit gateway.
RejectVpcEndpointConnections ( array $params = [] )
Rejects VPC endpoint connection requests to your VPC endpoint service.
RejectVpcPeeringConnection ( array $params = [] )
Rejects a VPC peering connection request.
ReleaseAddress ( array $params = [] )
Releases the specified Elastic IP address.
ReleaseHosts ( array $params = [] )
When you no longer want to use an On-Demand Dedicated Host it can be released.
ReleaseIpamPoolAllocation ( array $params = [] )
Release an allocation within an IPAM pool.
ReplaceIamInstanceProfileAssociation ( array $params = [] )
Replaces an IAM instance profile for the specified running instance.
ReplaceNetworkAclAssociation ( array $params = [] )
Changes which network ACL a subnet is associated with.
ReplaceNetworkAclEntry ( array $params = [] )
Replaces an entry (rule) in a network ACL.
ReplaceRoute ( array $params = [] )
Replaces an existing route within a route table in a VPC.
ReplaceRouteTableAssociation ( array $params = [] )
Changes the route table associated with a given subnet, internet gateway, or virtual private gateway in a VPC.
ReplaceTransitGatewayRoute ( array $params = [] )
Replaces the specified route in the specified transit gateway route table.
ReplaceVpnTunnel ( array $params = [] )
Trigger replacement of specified VPN tunnel.
ReportInstanceStatus ( array $params = [] )
Submits feedback about the status of an instance.
RequestSpotFleet ( array $params = [] )
Creates a Spot Fleet request.
RequestSpotInstances ( array $params = [] )
Creates a Spot Instance request.
ResetAddressAttribute ( array $params = [] )
Resets the attribute of the specified IP address.
ResetEbsDefaultKmsKeyId ( array $params = [] )
Resets the default KMS key for EBS encryption for your account in this Region to the Amazon Web Services managed KMS key for EBS.
ResetFpgaImageAttribute ( array $params = [] )
Resets the specified attribute of the specified Amazon FPGA Image (AFI) to its default value.
ResetImageAttribute ( array $params = [] )
Resets an attribute of an AMI to its default value.
ResetInstanceAttribute ( array $params = [] )
Resets an attribute of an instance to its default value.
ResetNetworkInterfaceAttribute ( array $params = [] )
Resets a network interface attribute.
ResetSnapshotAttribute ( array $params = [] )
Resets permission settings for the specified snapshot.
RestoreAddressToClassic ( array $params = [] )
This action is deprecated.
RestoreImageFromRecycleBin ( array $params = [] )
Restores an AMI from the Recycle Bin.
RestoreManagedPrefixListVersion ( array $params = [] )
Restores the entries from a previous version of a managed prefix list to a new version of the prefix list.
RestoreSnapshotFromRecycleBin ( array $params = [] )
Restores a snapshot from the Recycle Bin.
RestoreSnapshotTier ( array $params = [] )
Restores an archived Amazon EBS snapshot for use temporarily or permanently, or modifies the restore period or restore type for a snapshot that was previously temporarily restored.
RevokeClientVpnIngress ( array $params = [] )
Removes an ingress authorization rule from a Client VPN endpoint.
RevokeSecurityGroupEgress ( array $params = [] )
Removes the specified outbound (egress) rules from the specified security group.
RevokeSecurityGroupIngress ( array $params = [] )
Removes the specified inbound (ingress) rules from a security group.
RunInstances ( array $params = [] )
Launches the specified number of instances using an AMI for which you have permissions.
RunScheduledInstances ( array $params = [] )
Launches the specified Scheduled Instances.
SearchLocalGatewayRoutes ( array $params = [] )
Searches for routes in the specified local gateway route table.
SearchTransitGatewayMulticastGroups ( array $params = [] )
Searches one or more transit gateway multicast groups and returns the group membership information.
SearchTransitGatewayRoutes ( array $params = [] )
Searches for routes in the specified transit gateway route table.
SendDiagnosticInterrupt ( array $params = [] )
Sends a diagnostic interrupt to the specified Amazon EC2 instance to trigger a kernel panic (on Linux instances), or a blue screen/stop error (on Windows instances).
StartInstances ( array $params = [] )
Starts an Amazon EBS-backed instance that you've previously stopped.
StartNetworkInsightsAccessScopeAnalysis ( array $params = [] )
Starts analyzing the specified Network Access Scope.
StartNetworkInsightsAnalysis ( array $params = [] )
Starts analyzing the specified path.
StartVpcEndpointServicePrivateDnsVerification ( array $params = [] )
Initiates the verification process to prove that the service provider owns the private DNS name domain for the endpoint service.
StopInstances ( array $params = [] )
Stops an Amazon EBS-backed instance.
TerminateClientVpnConnections ( array $params = [] )
Terminates active Client VPN endpoint connections.
TerminateInstances ( array $params = [] )
Shuts down the specified instances.
UnassignIpv6Addresses ( array $params = [] )
Unassigns one or more IPv6 addresses IPv4 Prefix Delegation prefixes from a network interface.
UnassignPrivateIpAddresses ( array $params = [] )
Unassigns one or more secondary private IP addresses, or IPv4 Prefix Delegation prefixes from a network interface.
UnassignPrivateNatGatewayAddress ( array $params = [] )
Unassigns secondary private IPv4 addresses from a private NAT gateway.
UnlockSnapshot ( array $params = [] )
Unlocks a snapshot that is locked in governance mode or that is locked in compliance mode but still in the cooling-off period.
UnmonitorInstances ( array $params = [] )
Disables detailed monitoring for a running instance.
UpdateSecurityGroupRuleDescriptionsEgress ( array $params = [] )
Updates the description of an egress (outbound) security group rule.
UpdateSecurityGroupRuleDescriptionsIngress ( array $params = [] )
Updates the description of an ingress (inbound) security group rule.
WithdrawByoipCidr ( array $params = [] )
Stops advertising an address range that is provisioned as an address pool.

Paginators

Paginators handle automatically iterating over paginated API results. Paginators are associated with specific API operations, and they accept the parameters that the corresponding API operation accepts. You can get a paginator from a client class using getPaginator($paginatorName, $operationParameters). This client supports the following paginators:

DescribeAccountAttributes
DescribeAddressTransfers
DescribeAddresses
DescribeAddressesAttribute
DescribeAvailabilityZones
DescribeAwsNetworkPerformanceMetricSubscriptions
DescribeBundleTasks
DescribeByoipCidrs
DescribeCapacityBlockExtensionHistory
DescribeCapacityBlockExtensionOfferings
DescribeCapacityBlockOfferings
DescribeCapacityReservationBillingRequests
DescribeCapacityReservationFleets
DescribeCapacityReservations
DescribeCarrierGateways
DescribeClassicLinkInstances
DescribeClientVpnAuthorizationRules
DescribeClientVpnConnections
DescribeClientVpnEndpoints
DescribeClientVpnRoutes
DescribeClientVpnTargetNetworks
DescribeCoipPools
DescribeConversionTasks
DescribeCustomerGateways
DescribeDhcpOptions
DescribeEgressOnlyInternetGateways
DescribeExportImageTasks
DescribeExportTasks
DescribeFastLaunchImages
DescribeFastSnapshotRestores
DescribeFleets
DescribeFlowLogs
DescribeFpgaImages
DescribeHostReservationOfferings
DescribeHostReservations
DescribeHosts
DescribeIamInstanceProfileAssociations
DescribeImages
DescribeImportImageTasks
DescribeImportSnapshotTasks
DescribeInstanceConnectEndpoints
DescribeInstanceCreditSpecifications
DescribeInstanceEventWindows
DescribeInstanceImageMetadata
DescribeInstanceStatus
DescribeInstanceTopology
DescribeInstanceTypeOfferings
DescribeInstanceTypes
DescribeInstances
DescribeInternetGateways
DescribeIpamPools
DescribeIpamResourceDiscoveries
DescribeIpamResourceDiscoveryAssociations
DescribeIpamScopes
DescribeIpams
DescribeIpv6Pools
DescribeKeyPairs
DescribeLaunchTemplateVersions
DescribeLaunchTemplates
DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations
DescribeLocalGatewayRouteTableVpcAssociations
DescribeLocalGatewayRouteTables
DescribeLocalGatewayVirtualInterfaceGroups
DescribeLocalGatewayVirtualInterfaces
DescribeLocalGateways
DescribeMacHosts
DescribeManagedPrefixLists
DescribeMovingAddresses
DescribeNatGateways
DescribeNetworkAcls
DescribeNetworkInsightsAccessScopeAnalyses
DescribeNetworkInsightsAccessScopes
DescribeNetworkInsightsAnalyses
DescribeNetworkInsightsPaths
DescribeNetworkInterfacePermissions
DescribeNetworkInterfaces
DescribePlacementGroups
DescribePrefixLists
DescribePrincipalIdFormat
DescribePublicIpv4Pools
DescribeRegions
DescribeReplaceRootVolumeTasks
DescribeReservedInstances
DescribeReservedInstancesListings
DescribeReservedInstancesModifications
DescribeReservedInstancesOfferings
DescribeRouteTables
DescribeScheduledInstanceAvailability
DescribeScheduledInstances
DescribeSecurityGroupRules
DescribeSecurityGroupVpcAssociations
DescribeSecurityGroups
DescribeSnapshotTierStatus
DescribeSnapshots
DescribeSpotFleetRequests
DescribeSpotInstanceRequests
DescribeSpotPriceHistory
DescribeStaleSecurityGroups
DescribeStoreImageTasks
DescribeSubnets
DescribeTags
DescribeTrafficMirrorFilters
DescribeTrafficMirrorSessions
DescribeTrafficMirrorTargets
DescribeTransitGatewayAttachments
DescribeTransitGatewayConnectPeers
DescribeTransitGatewayConnects
DescribeTransitGatewayMulticastDomains
DescribeTransitGatewayPeeringAttachments
DescribeTransitGatewayPolicyTables
DescribeTransitGatewayRouteTableAnnouncements
DescribeTransitGatewayRouteTables
DescribeTransitGatewayVpcAttachments
DescribeTransitGateways
DescribeTrunkInterfaceAssociations
DescribeVerifiedAccessEndpoints
DescribeVerifiedAccessGroups
DescribeVerifiedAccessInstanceLoggingConfigurations
DescribeVerifiedAccessInstances
DescribeVerifiedAccessTrustProviders
DescribeVolumeStatus
DescribeVolumes
DescribeVolumesModifications
DescribeVpcClassicLinkDnsSupport
DescribeVpcEndpointConnectionNotifications
DescribeVpcEndpointConnections
DescribeVpcEndpointServiceConfigurations
DescribeVpcEndpointServicePermissions
DescribeVpcEndpoints
DescribeVpcPeeringConnections
DescribeVpcs
DescribeVpnConnections
DescribeVpnGateways
GetAssociatedIpv6PoolCidrs
GetAwsNetworkPerformanceData
GetGroupsForCapacityReservation
GetInstanceTypesFromInstanceRequirements
GetIpamAddressHistory
GetIpamDiscoveredAccounts
GetIpamDiscoveredResourceCidrs
GetIpamPoolAllocations
GetIpamPoolCidrs
GetIpamResourceCidrs
GetManagedPrefixListAssociations
GetManagedPrefixListEntries
GetNetworkInsightsAccessScopeAnalysisFindings
GetSecurityGroupsForVpc
GetSpotPlacementScores
GetTransitGatewayAttachmentPropagations
GetTransitGatewayMulticastDomainAssociations
GetTransitGatewayPolicyTableAssociations
GetTransitGatewayPrefixListReferences
GetTransitGatewayRouteTableAssociations
GetTransitGatewayRouteTablePropagations
GetVpnConnectionDeviceTypes
ListImagesInRecycleBin
ListSnapshotsInRecycleBin
SearchLocalGatewayRoutes
SearchTransitGatewayMulticastGroups

Waiters

Waiters allow you to poll a resource until it enters into a desired state. A waiter has a name used to describe what it does, and is associated with an API operation. When creating a waiter, you can provide the API operation parameters associated with the corresponding operation. Waiters can be accessed using the getWaiter($waiterName, $operationParameters) method of a client object. This client supports the following waiters:

Waiter name API Operation Delay Max Attempts
InstanceExists DescribeInstances 5 40
BundleTaskComplete DescribeBundleTasks 15 40
ConversionTaskCancelled DescribeConversionTasks 15 40
ConversionTaskCompleted DescribeConversionTasks 15 40
ConversionTaskDeleted DescribeConversionTasks 15 40
CustomerGatewayAvailable DescribeCustomerGateways 15 40
ExportTaskCancelled DescribeExportTasks 15 40
ExportTaskCompleted DescribeExportTasks 15 40
ImageExists DescribeImages 15 40
ImageAvailable DescribeImages 15 40
InstanceRunning DescribeInstances 15 40
InstanceStatusOk DescribeInstanceStatus 15 40
InstanceStopped DescribeInstances 15 40
InstanceTerminated DescribeInstances 15 40
InternetGatewayExists DescribeInternetGateways 5 6
KeyPairExists DescribeKeyPairs 5 6
NatGatewayAvailable DescribeNatGateways 15 40
NatGatewayDeleted DescribeNatGateways 15 40
NetworkInterfaceAvailable DescribeNetworkInterfaces 20 10
PasswordDataAvailable GetPasswordData 15 40
SnapshotCompleted DescribeSnapshots 15 40
SnapshotImported DescribeImportSnapshotTasks 15 40
SecurityGroupExists DescribeSecurityGroups 5 6
SpotInstanceRequestFulfilled DescribeSpotInstanceRequests 15 40
StoreImageTaskComplete DescribeStoreImageTasks 5 40
SubnetAvailable DescribeSubnets 15 40
SystemStatusOk DescribeInstanceStatus 15 40
VolumeAvailable DescribeVolumes 15 40
VolumeDeleted DescribeVolumes 15 40
VolumeInUse DescribeVolumes 15 40
VpcAvailable DescribeVpcs 15 40
VpcExists DescribeVpcs 1 5
VpnConnectionAvailable DescribeVpnConnections 15 40
VpnConnectionDeleted DescribeVpnConnections 15 40
VpcPeeringConnectionExists DescribeVpcPeeringConnections 15 40
VpcPeeringConnectionDeleted DescribeVpcPeeringConnections 15 40

Operations

AcceptAddressTransfer

$result = $client->acceptAddressTransfer([/* ... */]);
$promise = $client->acceptAddressTransferAsync([/* ... */]);

Accepts an Elastic IP address transfer. For more information, see Accept a transferred Elastic IP address in the Amazon VPC User Guide.

Parameter Syntax

$result = $client->acceptAddressTransfer([
    'Address' => '<string>', // REQUIRED
    'DryRun' => true || false,
    'TagSpecifications' => [
        [
            'ResourceType' => 'capacity-reservation|client-vpn-endpoint|customer-gateway|carrier-gateway|coip-pool|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|instance-event-window|internet-gateway|ipam|ipam-pool|ipam-scope|ipv4pool-ec2|ipv6pool-ec2|key-pair|launch-template|local-gateway|local-gateway-route-table|local-gateway-virtual-interface|local-gateway-virtual-interface-group|local-gateway-route-table-vpc-association|local-gateway-route-table-virtual-interface-group-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|network-insights-access-scope|network-insights-access-scope-analysis|placement-group|prefix-list|replace-root-volume-task|reserved-instances|route-table|security-group|security-group-rule|snapshot|spot-fleet-request|spot-instances-request|subnet|subnet-cidr-reservation|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-policy-table|transit-gateway-route-table|transit-gateway-route-table-announcement|volume|vpc|vpc-endpoint|vpc-endpoint-connection|vpc-endpoint-service|vpc-endpoint-service-permission|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log|capacity-reservation-fleet|traffic-mirror-filter-rule|vpc-endpoint-connection-device-type|verified-access-instance|verified-access-group|verified-access-endpoint|verified-access-policy|verified-access-trust-provider|vpn-connection-device-type|vpc-block-public-access-exclusion|ipam-resource-discovery|ipam-resource-discovery-association|instance-connect-endpoint|ipam-external-resource-verification-token',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
]);

Parameter Details

Members
Address
Required: Yes
Type: string

The Elastic IP address you are accepting for transfer.

DryRun
Type: boolean

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.

TagSpecifications
Type: Array of TagSpecification structures

tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

Result Syntax

[
    'AddressTransfer' => [
        'AddressTransferStatus' => 'pending|disabled|accepted',
        'AllocationId' => '<string>',
        'PublicIp' => '<string>',
        'TransferAccountId' => '<string>',
        'TransferOfferAcceptedTimestamp' => <DateTime>,
        'TransferOfferExpirationTimestamp' => <DateTime>,
    ],
]

Result Details

Members
AddressTransfer
Type: AddressTransfer structure

An Elastic IP address transfer.

Errors

There are no errors described for this operation.

AcceptCapacityReservationBillingOwnership

$result = $client->acceptCapacityReservationBillingOwnership([/* ... */]);
$promise = $client->acceptCapacityReservationBillingOwnershipAsync([/* ... */]);

Accepts a request to assign billing of the available capacity of a shared Capacity Reservation to your account. For more information, see Billing assignment for shared Amazon EC2 Capacity Reservations.

Parameter Syntax

$result = $client->acceptCapacityReservationBillingOwnership([
    'CapacityReservationId' => '<string>', // REQUIRED
    'DryRun' => true || false,
]);

Parameter Details

Members
CapacityReservationId
Required: Yes
Type: string

The ID of the Capacity Reservation for which to accept the request.

DryRun
Type: boolean

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.

Result Syntax

[
    'Return' => true || false,
]

Result Details

Members
Return
Type: boolean

Returns true if the request succeeds; otherwise, it returns an error.

Errors

There are no errors described for this operation.

AcceptReservedInstancesExchangeQuote

$result = $client->acceptReservedInstancesExchangeQuote([/* ... */]);
$promise = $client->acceptReservedInstancesExchangeQuoteAsync([/* ... */]);

Accepts the Convertible Reserved Instance exchange quote described in the GetReservedInstancesExchangeQuote call.

Parameter Syntax

$result = $client->acceptReservedInstancesExchangeQuote([
    'DryRun' => true || false,
    'ReservedInstanceIds' => ['<string>', ...], // REQUIRED
    'TargetConfigurations' => [
        [
            'InstanceCount' => <integer>,
            'OfferingId' => '<string>', // REQUIRED
        ],
        // ...
    ],
]);

Parameter Details

Members
DryRun
Type: boolean

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.

ReservedInstanceIds
Required: Yes
Type: Array of strings

The IDs of the Convertible Reserved Instances to exchange for another Convertible Reserved Instance of the same or higher value.

TargetConfigurations
Type: Array of TargetConfigurationRequest structures

The configuration of the target Convertible Reserved Instance to exchange for your current Convertible Reserved Instances.

Result Syntax

[
    'ExchangeId' => '<string>',
]

Result Details

Members
ExchangeId
Type: string

The ID of the successful exchange.

Errors

There are no errors described for this operation.

AcceptTransitGatewayMulticastDomainAssociations

$result = $client->acceptTransitGatewayMulticastDomainAssociations([/* ... */]);
$promise = $client->acceptTransitGatewayMulticastDomainAssociationsAsync([/* ... */]);

Accepts a request to associate subnets with a transit gateway multicast domain.

Parameter Syntax

$result = $client->acceptTransitGatewayMulticastDomainAssociations([
    'DryRun' => true || false,
    'SubnetIds' => ['<string>', ...],
    'TransitGatewayAttachmentId' => '<string>',
    'TransitGatewayMulticastDomainId' => '<string>',
]);

Parameter Details

Members
DryRun
Type: boolean

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.

SubnetIds
Type: Array of strings

The IDs of the subnets to associate with the transit gateway multicast domain.

TransitGatewayAttachmentId
Type: string

The ID of the transit gateway attachment.

TransitGatewayMulticastDomainId
Type: string

The ID of the transit gateway multicast domain.

Result Syntax

[
    'Associations' => [
        'ResourceId' => '<string>',
        'ResourceOwnerId' => '<string>',
        'ResourceType' => 'vpc|vpn|direct-connect-gateway|connect|peering|tgw-peering',
        'Subnets' => [
            [
                'State' => 'pendingAcceptance|associating|associated|disassociating|disassociated|rejected|failed',
                'SubnetId' => '<string>',
            ],
            // ...
        ],
        'TransitGatewayAttachmentId' => '<string>',
        'TransitGatewayMulticastDomainId' => '<string>',
    ],
]

Result Details

Members
Associations

Information about the multicast domain associations.

Errors

There are no errors described for this operation.

AcceptTransitGatewayPeeringAttachment

$result = $client->acceptTransitGatewayPeeringAttachment([/* ... */]);
$promise = $client->acceptTransitGatewayPeeringAttachmentAsync([/* ... */]);

Accepts a transit gateway peering attachment request. The peering attachment must be in the pendingAcceptance state.

Parameter Syntax

$result = $client->acceptTransitGatewayPeeringAttachment([
    'DryRun' => true || false,
    'TransitGatewayAttachmentId' => '<string>', // REQUIRED
]);

Parameter Details

Members
DryRun
Type: boolean

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.

TransitGatewayAttachmentId
Required: Yes
Type: string

The ID of the transit gateway attachment.

Result Syntax

[
    'TransitGatewayPeeringAttachment' => [
        'AccepterTgwInfo' => [
            'CoreNetworkId' => '<string>',
            'OwnerId' => '<string>',
            'Region' => '<string>',
            'TransitGatewayId' => '<string>',
        ],
        'AccepterTransitGatewayAttachmentId' => '<string>',
        'CreationTime' => <DateTime>,
        'Options' => [
            'DynamicRouting' => 'enable|disable',
        ],
        'RequesterTgwInfo' => [
            'CoreNetworkId' => '<string>',
            'OwnerId' => '<string>',
            'Region' => '<string>',
            'TransitGatewayId' => '<string>',
        ],
        'State' => 'initiating|initiatingRequest|pendingAcceptance|rollingBack|pending|available|modifying|deleting|deleted|failed|rejected|rejecting|failing',
        'Status' => [
            'Code' => '<string>',
            'Message' => '<string>',
        ],
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'TransitGatewayAttachmentId' => '<string>',
    ],
]

Result Details

Members
TransitGatewayPeeringAttachment

The transit gateway peering attachment.

Errors

There are no errors described for this operation.

AcceptTransitGatewayVpcAttachment

$result = $client->acceptTransitGatewayVpcAttachment([/* ... */]);
$promise = $client->acceptTransitGatewayVpcAttachmentAsync([/* ... */]);

Accepts a request to attach a VPC to a transit gateway.

The VPC attachment must be in the pendingAcceptance state. Use DescribeTransitGatewayVpcAttachments to view your pending VPC attachment requests. Use RejectTransitGatewayVpcAttachment to reject a VPC attachment request.

Parameter Syntax

$result = $client->acceptTransitGatewayVpcAttachment([
    'DryRun' => true || false,
    'TransitGatewayAttachmentId' => '<string>', // REQUIRED
]);

Parameter Details

Members
DryRun
Type: boolean

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.

TransitGatewayAttachmentId
Required: Yes
Type: string

The ID of the attachment.

Result Syntax

[
    'TransitGatewayVpcAttachment' => [
        'CreationTime' => <DateTime>,
        'Options' => [
            'ApplianceModeSupport' => 'enable|disable',
            'DnsSupport' => 'enable|disable',
            'Ipv6Support' => 'enable|disable',
            'SecurityGroupReferencingSupport' => 'enable|disable',
        ],
        'State' => 'initiating|initiatingRequest|pendingAcceptance|rollingBack|pending|available|modifying|deleting|deleted|failed|rejected|rejecting|failing',
        'SubnetIds' => ['<string>', ...],
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'TransitGatewayAttachmentId' => '<string>',
        'TransitGatewayId' => '<string>',
        'VpcId' => '<string>',
        'VpcOwnerId' => '<string>',
    ],
]

Result Details

Members
TransitGatewayVpcAttachment
Type: TransitGatewayVpcAttachment structure

The VPC attachment.

Errors

There are no errors described for this operation.

AcceptVpcEndpointConnections

$result = $client->acceptVpcEndpointConnections([/* ... */]);
$promise = $client->acceptVpcEndpointConnectionsAsync([/* ... */]);

Accepts connection requests to your VPC endpoint service.

Parameter Syntax

$result = $client->acceptVpcEndpointConnections([
    'DryRun' => true || false,
    'ServiceId' => '<string>', // REQUIRED
    'VpcEndpointIds' => ['<string>', ...], // REQUIRED
]);

Parameter Details

Members
DryRun
Type: boolean

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.

ServiceId
Required: Yes
Type: string

The ID of the VPC endpoint service.

VpcEndpointIds
Required: Yes
Type: Array of strings

The IDs of the interface VPC endpoints.

Result Syntax

[
    'Unsuccessful' => [
        [
            'Error' => [
                'Code' => '<string>',
                'Message' => '<string>',
            ],
            'ResourceId' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
Unsuccessful
Type: Array of UnsuccessfulItem structures

Information about the interface endpoints that were not accepted, if applicable.

Errors

There are no errors described for this operation.

AcceptVpcPeeringConnection

$result = $client->acceptVpcPeeringConnection([/* ... */]);
$promise = $client->acceptVpcPeeringConnectionAsync([/* ... */]);

Accept a VPC peering connection request. To accept a request, the VPC peering connection must be in the pending-acceptance state, and you must be the owner of the peer VPC. Use DescribeVpcPeeringConnections to view your outstanding VPC peering connection requests.

For an inter-Region VPC peering connection request, you must accept the VPC peering connection in the Region of the accepter VPC.

Parameter Syntax

$result = $client->acceptVpcPeeringConnection([
    'DryRun' => true || false,
    'VpcPeeringConnectionId' => '<string>', // REQUIRED
]);

Parameter Details

Members
DryRun
Type: boolean

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.

VpcPeeringConnectionId
Required: Yes
Type: string

The ID of the VPC peering connection. You must specify this parameter in the request.

Result Syntax

[
    'VpcPeeringConnection' => [
        'AccepterVpcInfo' => [
            'CidrBlock' => '<string>',
            'CidrBlockSet' => [
                [
                    'CidrBlock' => '<string>',
                ],
                // ...
            ],
            'Ipv6CidrBlockSet' => [
                [
                    'Ipv6CidrBlock' => '<string>',
                ],
                // ...
            ],
            'OwnerId' => '<string>',
            'PeeringOptions' => [
                'AllowDnsResolutionFromRemoteVpc' => true || false,
                'AllowEgressFromLocalClassicLinkToRemoteVpc' => true || false,
                'AllowEgressFromLocalVpcToRemoteClassicLink' => true || false,
            ],
            'Region' => '<string>',
            'VpcId' => '<string>',
        ],
        'ExpirationTime' => <DateTime>,
        'RequesterVpcInfo' => [
            'CidrBlock' => '<string>',
            'CidrBlockSet' => [
                [
                    'CidrBlock' => '<string>',
                ],
                // ...
            ],
            'Ipv6CidrBlockSet' => [
                [
                    'Ipv6CidrBlock' => '<string>',
                ],
                // ...
            ],
            'OwnerId' => '<string>',
            'PeeringOptions' => [
                'AllowDnsResolutionFromRemoteVpc' => true || false,
                'AllowEgressFromLocalClassicLinkToRemoteVpc' => true || false,
                'AllowEgressFromLocalVpcToRemoteClassicLink' => true || false,
            ],
            'Region' => '<string>',
            'VpcId' => '<string>',
        ],
        'Status' => [
            'Code' => 'initiating-request|pending-acceptance|active|deleted|rejected|failed|expired|provisioning|deleting',
            'Message' => '<string>',
        ],
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'VpcPeeringConnectionId' => '<string>',
    ],
]

Result Details

Members
VpcPeeringConnection
Type: VpcPeeringConnection structure

Information about the VPC peering connection.

Errors

There are no errors described for this operation.

AdvertiseByoipCidr

$result = $client->advertiseByoipCidr([/* ... */]);
$promise = $client->advertiseByoipCidrAsync([/* ... */]);

Advertises an IPv4 or IPv6 address range that is provisioned for use with your Amazon Web Services resources through bring your own IP addresses (BYOIP).

You can perform this operation at most once every 10 seconds, even if you specify different address ranges each time.

We recommend that you stop advertising the BYOIP CIDR from other locations when you advertise it from Amazon Web Services. To minimize down time, you can configure your Amazon Web Services resources to use an address from a BYOIP CIDR before it is advertised, and then simultaneously stop advertising it from the current location and start advertising it through Amazon Web Services.

It can take a few minutes before traffic to the specified addresses starts routing to Amazon Web Services because of BGP propagation delays.

To stop advertising the BYOIP CIDR, use WithdrawByoipCidr.

Parameter Syntax

$result = $client->advertiseByoipCidr([
    'Asn' => '<string>',
    'Cidr' => '<string>', // REQUIRED
    'DryRun' => true || false,
    'NetworkBorderGroup' => '<string>',
]);

Parameter Details

Members
Asn
Type: string

The public 2-byte or 4-byte ASN that you want to advertise.

Cidr
Required: Yes
Type: string

The address range, in CIDR notation. This must be the exact range that you provisioned. You can't advertise only a portion of the provisioned range.

DryRun
Type: boolean

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.

NetworkBorderGroup
Type: string

If you have Local Zones enabled, you can choose a network border group for Local Zones when you provision and advertise a BYOIPv4 CIDR. Choose the network border group carefully as the EIP and the Amazon Web Services resource it is associated with must reside in the same network border group.

You can provision BYOIP address ranges to and advertise them in the following Local Zone network border groups:

  • us-east-1-dfw-2

  • us-west-2-lax-1

  • us-west-2-phx-2

You cannot provision or advertise BYOIPv6 address ranges in Local Zones at this time.

Result Syntax

[
    'ByoipCidr' => [
        'AsnAssociations' => [
            [
                'Asn' => '<string>',
                'Cidr' => '<string>',
                'State' => 'disassociated|failed-disassociation|failed-association|pending-disassociation|pending-association|associated',
                'StatusMessage' => '<string>',
            ],
            // ...
        ],
        'Cidr' => '<string>',
        'Description' => '<string>',
        'NetworkBorderGroup' => '<string>',
        'State' => 'advertised|deprovisioned|failed-deprovision|failed-provision|pending-deprovision|pending-provision|provisioned|provisioned-not-publicly-advertisable',
        'StatusMessage' => '<string>',
    ],
]

Result Details

Members
ByoipCidr
Type: ByoipCidr structure

Information about the address range.

Errors

There are no errors described for this operation.

AllocateAddress

$result = $client->allocateAddress([/* ... */]);
$promise = $client->allocateAddressAsync([/* ... */]);

Allocates an Elastic IP address to your Amazon Web Services account. After you allocate the Elastic IP address you can associate it with an instance or network interface. After you release an Elastic IP address, it is released to the IP address pool and can be allocated to a different Amazon Web Services account.

You can allocate an Elastic IP address from an address pool owned by Amazon Web Services or from an address pool created from a public IPv4 address range that you have brought to Amazon Web Services for use with your Amazon Web Services resources using bring your own IP addresses (BYOIP). For more information, see Bring Your Own IP Addresses (BYOIP) in the Amazon EC2 User Guide.

If you release an Elastic IP address, you might be able to recover it. You cannot recover an Elastic IP address that you released after it is allocated to another Amazon Web Services account. To attempt to recover an Elastic IP address that you released, specify it in this operation.

For more information, see Elastic IP Addresses in the Amazon EC2 User Guide.

You can allocate a carrier IP address which is a public IP address from a telecommunication carrier, to a network interface which resides in a subnet in a Wavelength Zone (for example an EC2 instance).

Parameter Syntax

$result = $client->allocateAddress([
    'Address' => '<string>',
    'CustomerOwnedIpv4Pool' => '<string>',
    'Domain' => 'vpc|standard',
    'DryRun' => true || false,
    'IpamPoolId' => '<string>',
    'NetworkBorderGroup' => '<string>',
    'PublicIpv4Pool' => '<string>',
    'TagSpecifications' => [
        [
            'ResourceType' => 'capacity-reservation|client-vpn-endpoint|customer-gateway|carrier-gateway|coip-pool|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|instance-event-window|internet-gateway|ipam|ipam-pool|ipam-scope|ipv4pool-ec2|ipv6pool-ec2|key-pair|launch-template|local-gateway|local-gateway-route-table|local-gateway-virtual-interface|local-gateway-virtual-interface-group|local-gateway-route-table-vpc-association|local-gateway-route-table-virtual-interface-group-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|network-insights-access-scope|network-insights-access-scope-analysis|placement-group|prefix-list|replace-root-volume-task|reserved-instances|route-table|security-group|security-group-rule|snapshot|spot-fleet-request|spot-instances-request|subnet|subnet-cidr-reservation|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-policy-table|transit-gateway-route-table|transit-gateway-route-table-announcement|volume|vpc|vpc-endpoint|vpc-endpoint-connection|vpc-endpoint-service|vpc-endpoint-service-permission|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log|capacity-reservation-fleet|traffic-mirror-filter-rule|vpc-endpoint-connection-device-type|verified-access-instance|verified-access-group|verified-access-endpoint|verified-access-policy|verified-access-trust-provider|vpn-connection-device-type|vpc-block-public-access-exclusion|ipam-resource-discovery|ipam-resource-discovery-association|instance-connect-endpoint|ipam-external-resource-verification-token',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
]);

Parameter Details

Members
Address
Type: string

The Elastic IP address to recover or an IPv4 address from an address pool.

CustomerOwnedIpv4Pool
Type: string

The ID of a customer-owned address pool. Use this parameter to let Amazon EC2 select an address from the address pool. Alternatively, specify a specific address from the address pool.

Domain
Type: string

The network (vpc).

DryRun
Type: boolean

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.

IpamPoolId
Type: string

The ID of an IPAM pool which has an Amazon-provided or BYOIP public IPv4 CIDR provisioned to it. For more information, see Allocate sequential Elastic IP addresses from an IPAM pool in the Amazon VPC IPAM User Guide.

NetworkBorderGroup
Type: string

A unique set of Availability Zones, Local Zones, or Wavelength Zones from which Amazon Web Services advertises IP addresses. Use this parameter to limit the IP address to this location. IP addresses cannot move between network border groups.

PublicIpv4Pool
Type: string

The ID of an address pool that you own. Use this parameter to let Amazon EC2 select an address from the address pool. To specify a specific address from the address pool, use the Address parameter instead.

TagSpecifications
Type: Array of TagSpecification structures

The tags to assign to the Elastic IP address.

Result Syntax

[
    'AllocationId' => '<string>',
    'CarrierIp' => '<string>',
    'CustomerOwnedIp' => '<string>',
    'CustomerOwnedIpv4Pool' => '<string>',
    'Domain' => 'vpc|standard',
    'NetworkBorderGroup' => '<string>',
    'PublicIp' => '<string>',
    'PublicIpv4Pool' => '<string>',
]

Result Details

Members
AllocationId
Type: string

The ID that represents the allocation of the Elastic IP address.

CarrierIp
Type: string

The carrier IP address. This option is only available for network interfaces that reside in a subnet in a Wavelength Zone.

CustomerOwnedIp
Type: string

The customer-owned IP address.

CustomerOwnedIpv4Pool
Type: string

The ID of the customer-owned address pool.

Domain
Type: string

The network (vpc).

NetworkBorderGroup
Type: string

The set of Availability Zones, Local Zones, or Wavelength Zones from which Amazon Web Services advertises IP addresses.

PublicIp
Type: string

The Elastic IP address.

PublicIpv4Pool
Type: string

The ID of an address pool.

Errors

There are no errors described for this operation.

Examples

Example 1: To allocate an Elastic IP address

This example allocates an Elastic IP address.

$result = $client->allocateAddress([
]);

Result syntax:

[
    'AllocationId' => 'eipalloc-64d5890a',
    'Domain' => 'vpc',
    'NetworkBorderGroup' => 'us-east-1',
    'PublicIp' => '203.0.113.0',
    'PublicIpv4Pool' => 'amazon',
]

AllocateHosts

$result = $client->allocateHosts([/* ... */]);
$promise = $client->allocateHostsAsync([/* ... */]);

Allocates a Dedicated Host to your account. At a minimum, specify the supported instance type or instance family, the Availability Zone in which to allocate the host, and the number of hosts to allocate.

Parameter Syntax

$result = $client->allocateHosts([
    'AssetIds' => ['<string>', ...],
    'AutoPlacement' => 'on|off',
    'AvailabilityZone' => '<string>', // REQUIRED
    'ClientToken' => '<string>',
    'HostMaintenance' => 'on|off',
    'HostRecovery' => 'on|off',
    'InstanceFamily' => '<string>',
    'InstanceType' => '<string>',
    'OutpostArn' => '<string>',
    'Quantity' => <integer>,
    'TagSpecifications' => [
        [
            'ResourceType' => 'capacity-reservation|client-vpn-endpoint|customer-gateway|carrier-gateway|coip-pool|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|instance-event-window|internet-gateway|ipam|ipam-pool|ipam-scope|ipv4pool-ec2|ipv6pool-ec2|key-pair|launch-template|local-gateway|local-gateway-route-table|local-gateway-virtual-interface|local-gateway-virtual-interface-group|local-gateway-route-table-vpc-association|local-gateway-route-table-virtual-interface-group-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|network-insights-access-scope|network-insights-access-scope-analysis|placement-group|prefix-list|replace-root-volume-task|reserved-instances|route-table|security-group|security-group-rule|snapshot|spot-fleet-request|spot-instances-request|subnet|subnet-cidr-reservation|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-policy-table|transit-gateway-route-table|transit-gateway-route-table-announcement|volume|vpc|vpc-endpoint|vpc-endpoint-connection|vpc-endpoint-service|vpc-endpoint-service-permission|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log|capacity-reservation-fleet|traffic-mirror-filter-rule|vpc-endpoint-connection-device-type|verified-access-instance|verified-access-group|verified-access-endpoint|verified-access-policy|verified-access-trust-provider|vpn-connection-device-type|vpc-block-public-access-exclusion|ipam-resource-discovery|ipam-resource-discovery-association|instance-connect-endpoint|ipam-external-resource-verification-token',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
]);

Parameter Details

Members
AssetIds
Type: Array of strings

The IDs of the Outpost hardware assets on which to allocate the Dedicated Hosts. Targeting specific hardware assets on an Outpost can help to minimize latency between your workloads. This parameter is supported only if you specify OutpostArn. If you are allocating the Dedicated Hosts in a Region, omit this parameter.

  • If you specify this parameter, you can omit Quantity. In this case, Amazon EC2 allocates a Dedicated Host on each specified hardware asset.

  • If you specify both AssetIds and Quantity, then the value for Quantity must be equal to the number of asset IDs specified.

AutoPlacement
Type: string

Indicates whether the host accepts any untargeted instance launches that match its instance type configuration, or if it only accepts Host tenancy instance launches that specify its unique host ID. For more information, see Understanding auto-placement and affinity in the Amazon EC2 User Guide.

Default: off

AvailabilityZone
Required: Yes
Type: string

The Availability Zone in which to allocate the Dedicated Host.

ClientToken
Type: string

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

HostMaintenance
Type: string

Indicates whether to enable or disable host maintenance for the Dedicated Host. For more information, see Host maintenance in the Amazon EC2 User Guide.

HostRecovery
Type: string

Indicates whether to enable or disable host recovery for the Dedicated Host. Host recovery is disabled by default. For more information, see Host recovery in the Amazon EC2 User Guide.

Default: off

InstanceFamily
Type: string

Specifies the instance family to be supported by the Dedicated Hosts. If you specify an instance family, the Dedicated Hosts support multiple instance types within that instance family.

If you want the Dedicated Hosts to support a specific instance type only, omit this parameter and specify InstanceType instead. You cannot specify InstanceFamily and InstanceType in the same request.

InstanceType
Type: string

Specifies the instance type to be supported by the Dedicated Hosts. If you specify an instance type, the Dedicated Hosts support instances of the specified instance type only.

If you want the Dedicated Hosts to support multiple instance types in a specific instance family, omit this parameter and specify InstanceFamily instead. You cannot specify InstanceType and InstanceFamily in the same request.

OutpostArn
Type: string

The Amazon Resource Name (ARN) of the Amazon Web Services Outpost on which to allocate the Dedicated Host. If you specify OutpostArn, you can optionally specify AssetIds.

If you are allocating the Dedicated Host in a Region, omit this parameter.

Quantity
Type: int

The number of Dedicated Hosts to allocate to your account with these parameters. If you are allocating the Dedicated Hosts on an Outpost, and you specify AssetIds, you can omit this parameter. In this case, Amazon EC2 allocates a Dedicated Host on each specified hardware asset. If you specify both AssetIds and Quantity, then the value that you specify for Quantity must be equal to the number of asset IDs specified.

TagSpecifications
Type: Array of TagSpecification structures

The tags to apply to the Dedicated Host during creation.

Result Syntax

[
    'HostIds' => ['<string>', ...],
]

Result Details

Members
HostIds
Type: Array of strings

The ID of the allocated Dedicated Host. This is used to launch an instance onto a specific host.

Errors

There are no errors described for this operation.

AllocateIpamPoolCidr

$result = $client->allocateIpamPoolCidr([/* ... */]);
$promise = $client->allocateIpamPoolCidrAsync([/* ... */]);

Allocate a CIDR from an IPAM pool. The Region you use should be the IPAM pool locale. The locale is the Amazon Web Services Region where this IPAM pool is available for allocations.

In IPAM, an allocation is a CIDR assignment from an IPAM pool to another IPAM pool or to a resource. For more information, see Allocate CIDRs in the Amazon VPC IPAM User Guide.

This action creates an allocation with strong consistency. The returned CIDR will not overlap with any other allocations from the same pool.

Parameter Syntax

$result = $client->allocateIpamPoolCidr([
    'AllowedCidrs' => ['<string>', ...],
    'Cidr' => '<string>',
    'ClientToken' => '<string>',
    'Description' => '<string>',
    'DisallowedCidrs' => ['<string>', ...],
    'DryRun' => true || false,
    'IpamPoolId' => '<string>', // REQUIRED
    'NetmaskLength' => <integer>,
    'PreviewNextCidr' => true || false,
]);

Parameter Details

Members
AllowedCidrs
Type: Array of strings

Include a particular CIDR range that can be returned by the pool. Allowed CIDRs are only allowed if using netmask length for allocation.

Cidr
Type: string

The CIDR you would like to allocate from the IPAM pool. Note the following:

  • If there is no DefaultNetmaskLength allocation rule set on the pool, you must specify either the NetmaskLength or the CIDR.

  • If the DefaultNetmaskLength allocation rule is set on the pool, you can specify either the NetmaskLength or the CIDR and the DefaultNetmaskLength allocation rule will be ignored.

Possible values: Any available IPv4 or IPv6 CIDR.

ClientToken
Type: string

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

Description
Type: string

A description for the allocation.

DisallowedCidrs
Type: Array of strings

Exclude a particular CIDR range from being returned by the pool. Disallowed CIDRs are only allowed if using netmask length for allocation.

DryRun
Type: boolean

A check for 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.

IpamPoolId
Required: Yes
Type: string

The ID of the IPAM pool from which you would like to allocate a CIDR.

NetmaskLength
Type: int

The netmask length of the CIDR you would like to allocate from the IPAM pool. Note the following:

  • If there is no DefaultNetmaskLength allocation rule set on the pool, you must specify either the NetmaskLength or the CIDR.

  • If the DefaultNetmaskLength allocation rule is set on the pool, you can specify either the NetmaskLength or the CIDR and the DefaultNetmaskLength allocation rule will be ignored.

Possible netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128.

PreviewNextCidr
Type: boolean

A preview of the next available CIDR in a pool.

Result Syntax

[
    'IpamPoolAllocation' => [
        'Cidr' => '<string>',
        'Description' => '<string>',
        'IpamPoolAllocationId' => '<string>',
        'ResourceId' => '<string>',
        'ResourceOwner' => '<string>',
        'ResourceRegion' => '<string>',
        'ResourceType' => 'ipam-pool|vpc|ec2-public-ipv4-pool|custom|subnet|eip',
    ],
]

Result Details

Members
IpamPoolAllocation
Type: IpamPoolAllocation structure

Information about the allocation created.

Errors

There are no errors described for this operation.

ApplySecurityGroupsToClientVpnTargetNetwork

$result = $client->applySecurityGroupsToClientVpnTargetNetwork([/* ... */]);
$promise = $client->applySecurityGroupsToClientVpnTargetNetworkAsync([/* ... */]);

Applies a security group to the association between the target network and the Client VPN endpoint. This action replaces the existing security groups with the specified security groups.

Parameter Syntax

$result = $client->applySecurityGroupsToClientVpnTargetNetwork([
    'ClientVpnEndpointId' => '<string>', // REQUIRED
    'DryRun' => true || false,
    'SecurityGroupIds' => ['<string>', ...], // REQUIRED
    'VpcId' => '<string>', // REQUIRED
]);

Parameter Details

Members
ClientVpnEndpointId
Required: Yes
Type: string

The ID of the Client VPN endpoint.

DryRun
Type: boolean

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.

SecurityGroupIds
Required: Yes
Type: Array of strings

The IDs of the security groups to apply to the associated target network. Up to 5 security groups can be applied to an associated target network.

VpcId
Required: Yes
Type: string

The ID of the VPC in which the associated target network is located.

Result Syntax

[
    'SecurityGroupIds' => ['<string>', ...],
]

Result Details

Members
SecurityGroupIds
Type: Array of strings

The IDs of the applied security groups.

Errors

There are no errors described for this operation.

AssignIpv6Addresses

$result = $client->assignIpv6Addresses([/* ... */]);
$promise = $client->assignIpv6AddressesAsync([/* ... */]);

Assigns one or more IPv6 addresses to the specified network interface. You can specify one or more specific IPv6 addresses, or you can specify the number of IPv6 addresses to be automatically assigned from within the subnet's IPv6 CIDR block range. You can assign as many IPv6 addresses to a network interface as you can assign private IPv4 addresses, and the limit varies per instance type.

You must specify either the IPv6 addresses or the IPv6 address count in the request.

You can optionally use Prefix Delegation on the network interface. You must specify either the IPV6 Prefix Delegation prefixes, or the IPv6 Prefix Delegation count. For information, see Assigning prefixes to network interfaces in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->assignIpv6Addresses([
    'Ipv6AddressCount' => <integer>,
    'Ipv6Addresses' => ['<string>', ...],
    'Ipv6PrefixCount' => <integer>,
    'Ipv6Prefixes' => ['<string>', ...],
    'NetworkInterfaceId' => '<string>', // REQUIRED
]);

Parameter Details

Members
Ipv6AddressCount
Type: int

The number of additional IPv6 addresses to assign to the network interface. The specified number of IPv6 addresses are assigned in addition to the existing IPv6 addresses that are already assigned to the network interface. Amazon EC2 automatically selects the IPv6 addresses from the subnet range. You can't use this option if specifying specific IPv6 addresses.

Ipv6Addresses
Type: Array of strings

The IPv6 addresses to be assigned to the network interface. You can't use this option if you're specifying a number of IPv6 addresses.

Ipv6PrefixCount
Type: int

The number of IPv6 prefixes that Amazon Web Services automatically assigns to the network interface. You cannot use this option if you use the Ipv6Prefixes option.

Ipv6Prefixes
Type: Array of strings

One or more IPv6 prefixes assigned to the network interface. You cannot use this option if you use the Ipv6PrefixCount option.

NetworkInterfaceId
Required: Yes
Type: string

The ID of the network interface.

Result Syntax

[
    'AssignedIpv6Addresses' => ['<string>', ...],
    'AssignedIpv6Prefixes' => ['<string>', ...],
    'NetworkInterfaceId' => '<string>',
]

Result Details

Members
AssignedIpv6Addresses
Type: Array of strings

The new IPv6 addresses assigned to the network interface. Existing IPv6 addresses that were assigned to the network interface before the request are not included.

AssignedIpv6Prefixes
Type: Array of strings

The IPv6 prefixes that are assigned to the network interface.

NetworkInterfaceId
Type: string

The ID of the network interface.

Errors

There are no errors described for this operation.

AssignPrivateIpAddresses

$result = $client->assignPrivateIpAddresses([/* ... */]);
$promise = $client->assignPrivateIpAddressesAsync([/* ... */]);

Assigns one or more secondary private IP addresses to the specified network interface.

You can specify one or more specific secondary IP addresses, or you can specify the number of secondary IP addresses to be automatically assigned within the subnet's CIDR block range. The number of secondary IP addresses that you can assign to an instance varies by instance type. For more information about Elastic IP addresses, see Elastic IP Addresses in the Amazon EC2 User Guide.

When you move a secondary private IP address to another network interface, any Elastic IP address that is associated with the IP address is also moved.

Remapping an IP address is an asynchronous operation. When you move an IP address from one network interface to another, check network/interfaces/macs/mac/local-ipv4s in the instance metadata to confirm that the remapping is complete.

You must specify either the IP addresses or the IP address count in the request.

You can optionally use Prefix Delegation on the network interface. You must specify either the IPv4 Prefix Delegation prefixes, or the IPv4 Prefix Delegation count. For information, see Assigning prefixes to network interfaces in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->assignPrivateIpAddresses([
    'AllowReassignment' => true || false,
    'Ipv4PrefixCount' => <integer>,
    'Ipv4Prefixes' => ['<string>', ...],
    'NetworkInterfaceId' => '<string>', // REQUIRED
    'PrivateIpAddresses' => ['<string>', ...],
    'SecondaryPrivateIpAddressCount' => <integer>,
]);

Parameter Details

Members
AllowReassignment
Type: boolean

Indicates whether to allow an IP address that is already assigned to another network interface or instance to be reassigned to the specified network interface.

Ipv4PrefixCount
Type: int

The number of IPv4 prefixes that Amazon Web Services automatically assigns to the network interface. You cannot use this option if you use the Ipv4 Prefixes option.

Ipv4Prefixes
Type: Array of strings

One or more IPv4 prefixes assigned to the network interface. You cannot use this option if you use the Ipv4PrefixCount option.

NetworkInterfaceId
Required: Yes
Type: string

The ID of the network interface.

PrivateIpAddresses
Type: Array of strings

The IP addresses to be assigned as a secondary private IP address to the network interface. You can't specify this parameter when also specifying a number of secondary IP addresses.

If you don't specify an IP address, Amazon EC2 automatically selects an IP address within the subnet range.

SecondaryPrivateIpAddressCount
Type: int

The number of secondary IP addresses to assign to the network interface. You can't specify this parameter when also specifying private IP addresses.

Result Syntax

[
    'AssignedIpv4Prefixes' => [
        [
            'Ipv4Prefix' => '<string>',
        ],
        // ...
    ],
    'AssignedPrivateIpAddresses' => [
        [
            'PrivateIpAddress' => '<string>',
        ],
        // ...
    ],
    'NetworkInterfaceId' => '<string>',
]

Result Details

Members
AssignedIpv4Prefixes
Type: Array of Ipv4PrefixSpecification structures

The IPv4 prefixes that are assigned to the network interface.

AssignedPrivateIpAddresses
Type: Array of AssignedPrivateIpAddress structures

The private IP addresses assigned to the network interface.

NetworkInterfaceId
Type: string

The ID of the network interface.

Errors

There are no errors described for this operation.

Examples

Example 1: To assign a specific secondary private IP address to an interface

This example assigns the specified secondary private IP address to the specified network interface.

$result = $client->assignPrivateIpAddresses([
    'NetworkInterfaceId' => 'eni-e5aa89a3',
    'PrivateIpAddresses' => [
        '10.0.0.82',
    ],
]);
Example 2: To assign secondary private IP addresses that Amazon EC2 selects to an interface

This example assigns two secondary private IP addresses to the specified network interface. Amazon EC2 automatically assigns these IP addresses from the available IP addresses in the CIDR block range of the subnet the network interface is associated with.

$result = $client->assignPrivateIpAddresses([
    'NetworkInterfaceId' => 'eni-e5aa89a3',
    'SecondaryPrivateIpAddressCount' => 2,
]);

AssignPrivateNatGatewayAddress

$result = $client->assignPrivateNatGatewayAddress([/* ... */]);
$promise = $client->assignPrivateNatGatewayAddressAsync([/* ... */]);

Assigns private IPv4 addresses to a private NAT gateway. For more information, see Work with NAT gateways in the Amazon VPC User Guide.

Parameter Syntax

$result = $client->assignPrivateNatGatewayAddress([
    'DryRun' => true || false,
    'NatGatewayId' => '<string>', // REQUIRED
    'PrivateIpAddressCount' => <integer>,
    'PrivateIpAddresses' => ['<string>', ...],
]);

Parameter Details

Members
DryRun
Type: boolean

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.

NatGatewayId
Required: Yes
Type: string

The ID of the NAT gateway.

PrivateIpAddressCount
Type: int

The number of private IP addresses to assign to the NAT gateway. You can't specify this parameter when also specifying private IP addresses.

PrivateIpAddresses
Type: Array of strings

The private IPv4 addresses you want to assign to the private NAT gateway.

Result Syntax

[
    'NatGatewayAddresses' => [
        [
            'AllocationId' => '<string>',
            'AssociationId' => '<string>',
            'FailureMessage' => '<string>',
            'IsPrimary' => true || false,
            'NetworkInterfaceId' => '<string>',
            'PrivateIp' => '<string>',
            'PublicIp' => '<string>',
            'Status' => 'assigning|unassigning|associating|disassociating|succeeded|failed',
        ],
        // ...
    ],
    'NatGatewayId' => '<string>',
]

Result Details

Members
NatGatewayAddresses
Type: Array of NatGatewayAddress structures

NAT gateway IP addresses.

NatGatewayId
Type: string

The ID of the NAT gateway.

Errors

There are no errors described for this operation.

AssociateAddress

$result = $client->associateAddress([/* ... */]);
$promise = $client->associateAddressAsync([/* ... */]);

Associates an Elastic IP address, or carrier IP address (for instances that are in subnets in Wavelength Zones) with an instance or a network interface. Before you can use an Elastic IP address, you must allocate it to your account.

If the Elastic IP address is already associated with a different instance, it is disassociated from that instance and associated with the specified instance. If you associate an Elastic IP address with an instance that has an existing Elastic IP address, the existing address is disassociated from the instance, but remains allocated to your account.

[Subnets in Wavelength Zones] You can associate an IP address from the telecommunication carrier to the instance or network interface.

You cannot associate an Elastic IP address with an interface in a different network border group.

This is an idempotent operation. If you perform the operation more than once, Amazon EC2 doesn't return an error, and you may be charged for each time the Elastic IP address is remapped to the same instance. For more information, see the Elastic IP Addresses section of Amazon EC2 Pricing.

Parameter Syntax

$result = $client->associateAddress([
    'AllocationId' => '<string>',
    'AllowReassociation' => true || false,
    'DryRun' => true || false,
    'InstanceId' => '<string>',
    'NetworkInterfaceId' => '<string>',
    'PrivateIpAddress' => '<string>',
    'PublicIp' => '<string>',
]);

Parameter Details

Members
AllocationId
Type: string

The allocation ID. This is required.

AllowReassociation
Type: boolean

Reassociation is automatic, but you can specify false to ensure the operation fails if the Elastic IP address is already associated with another resource.

DryRun
Type: boolean

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.

InstanceId
Type: string

The ID of the instance. The instance must have exactly one attached network interface. You can specify either the instance ID or the network interface ID, but not both.

NetworkInterfaceId
Type: string

The ID of the network interface. If the instance has more than one network interface, you must specify a network interface ID.

You can specify either the instance ID or the network interface ID, but not both.

PrivateIpAddress
Type: string

The primary or secondary private IP address to associate with the Elastic IP address. If no private IP address is specified, the Elastic IP address is associated with the primary private IP address.

PublicIp
Type: string

Deprecated.

Result Syntax

[
    'AssociationId' => '<string>',
]

Result Details

Members
AssociationId
Type: string

The ID that represents the association of the Elastic IP address with an instance.

Errors

There are no errors described for this operation.

Examples

Example 1: To associate an Elastic IP address

This example associates the specified Elastic IP address with the specified instance.

$result = $client->associateAddress([
    'AllocationId' => 'eipalloc-64d5890a',
    'InstanceId' => 'i-0b263919b6498b123',
]);

Result syntax:

[
    'AssociationId' => 'eipassoc-2bebb745',
]
Example 2: To associate an Elastic IP address with a network interface

This example associates the specified Elastic IP address with the specified network interface.

$result = $client->associateAddress([
    'AllocationId' => 'eipalloc-64d5890a',
    'NetworkInterfaceId' => 'eni-1a2b3c4d',
]);

Result syntax:

[
    'AssociationId' => 'eipassoc-2bebb745',
]

AssociateCapacityReservationBillingOwner

$result = $client->associateCapacityReservationBillingOwner([/* ... */]);
$promise = $client->associateCapacityReservationBillingOwnerAsync([/* ... */]);

Initiates a request to assign billing of the unused capacity of a shared Capacity Reservation to a consumer account that is consolidated under the same Amazon Web Services organizations payer account. For more information, see Billing assignment for shared Amazon EC2 Capacity Reservations.

Parameter Syntax

$result = $client->associateCapacityReservationBillingOwner([
    'CapacityReservationId' => '<string>', // REQUIRED
    'DryRun' => true || false,
    'UnusedReservationBillingOwnerId' => '<string>', // REQUIRED
]);

Parameter Details

Members
CapacityReservationId
Required: Yes
Type: string

The ID of the Capacity Reservation.

DryRun
Type: boolean

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.

UnusedReservationBillingOwnerId
Required: Yes
Type: string

The ID of the consumer account to which to assign billing.

Result Syntax

[
    'Return' => true || false,
]

Result Details

Members
Return
Type: boolean

Returns true if the request succeeds; otherwise, it returns an error.

Errors

There are no errors described for this operation.

AssociateClientVpnTargetNetwork

$result = $client->associateClientVpnTargetNetwork([/* ... */]);
$promise = $client->associateClientVpnTargetNetworkAsync([/* ... */]);

Associates a target network with a Client VPN endpoint. A target network is a subnet in a VPC. You can associate multiple subnets from the same VPC with a Client VPN endpoint. You can associate only one subnet in each Availability Zone. We recommend that you associate at least two subnets to provide Availability Zone redundancy.

If you specified a VPC when you created the Client VPN endpoint or if you have previous subnet associations, the specified subnet must be in the same VPC. To specify a subnet that's in a different VPC, you must first modify the Client VPN endpoint (ModifyClientVpnEndpoint) and change the VPC that's associated with it.

Parameter Syntax

$result = $client->associateClientVpnTargetNetwork([
    'ClientToken' => '<string>',
    'ClientVpnEndpointId' => '<string>', // REQUIRED
    'DryRun' => true || false,
    'SubnetId' => '<string>', // REQUIRED
]);

Parameter Details

Members
ClientToken
Type: string

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

ClientVpnEndpointId
Required: Yes
Type: string

The ID of the Client VPN endpoint.

DryRun
Type: boolean

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.

SubnetId
Required: Yes
Type: string

The ID of the subnet to associate with the Client VPN endpoint.

Result Syntax

[
    'AssociationId' => '<string>',
    'Status' => [
        'Code' => 'associating|associated|association-failed|disassociating|disassociated',
        'Message' => '<string>',
    ],
]

Result Details

Members
AssociationId
Type: string

The unique ID of the target network association.

Status
Type: AssociationStatus structure

The current state of the target network association.

Errors

There are no errors described for this operation.

AssociateDhcpOptions

$result = $client->associateDhcpOptions([/* ... */]);
$promise = $client->associateDhcpOptionsAsync([/* ... */]);

Associates a set of DHCP options (that you've previously created) with the specified VPC, or associates no DHCP options with the VPC.

After you associate the options with the VPC, any existing instances and all new instances that you launch in that VPC use the options. You don't need to restart or relaunch the instances. They automatically pick up the changes within a few hours, depending on how frequently the instance renews its DHCP lease. You can explicitly renew the lease using the operating system on the instance.

For more information, see DHCP option sets in the Amazon VPC User Guide.

Parameter Syntax

$result = $client->associateDhcpOptions([
    'DhcpOptionsId' => '<string>', // REQUIRED
    'DryRun' => true || false,
    'VpcId' => '<string>', // REQUIRED
]);

Parameter Details

Members
DhcpOptionsId
Required: Yes
Type: string

The ID of the DHCP options set, or default to associate no DHCP options with the VPC.

DryRun
Type: boolean

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.

VpcId
Required: Yes
Type: string

The ID of the VPC.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

There are no errors described for this operation.

Examples

Example 1: To associate a DHCP options set with a VPC

This example associates the specified DHCP options set with the specified VPC.

$result = $client->associateDhcpOptions([
    'DhcpOptionsId' => 'dopt-d9070ebb',
    'VpcId' => 'vpc-a01106c2',
]);
Example 2: To associate the default DHCP options set with a VPC

This example associates the default DHCP options set with the specified VPC.

$result = $client->associateDhcpOptions([
    'DhcpOptionsId' => 'default',
    'VpcId' => 'vpc-a01106c2',
]);

AssociateEnclaveCertificateIamRole

$result = $client->associateEnclaveCertificateIamRole([/* ... */]);
$promise = $client->associateEnclaveCertificateIamRoleAsync([/* ... */]);

Associates an Identity and Access Management (IAM) role with an Certificate Manager (ACM) certificate. This enables the certificate to be used by the ACM for Nitro Enclaves application inside an enclave. For more information, see Certificate Manager for Nitro Enclaves in the Amazon Web Services Nitro Enclaves User Guide.

When the IAM role is associated with the ACM certificate, the certificate, certificate chain, and encrypted private key are placed in an Amazon S3 location that only the associated IAM role can access. The private key of the certificate is encrypted with an Amazon Web Services managed key that has an attached attestation-based key policy.

To enable the IAM role to access the Amazon S3 object, you must grant it permission to call s3:GetObject on the Amazon S3 bucket returned by the command. To enable the IAM role to access the KMS key, you must grant it permission to call kms:Decrypt on the KMS key returned by the command. For more information, see Grant the role permission to access the certificate and encryption key in the Amazon Web Services Nitro Enclaves User Guide.

Parameter Syntax

$result = $client->associateEnclaveCertificateIamRole([
    'CertificateArn' => '<string>', // REQUIRED
    'DryRun' => true || false,
    'RoleArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
CertificateArn
Required: Yes
Type: string

The ARN of the ACM certificate with which to associate the IAM role.

DryRun
Type: boolean

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.

RoleArn
Required: Yes
Type: string

The ARN of the IAM role to associate with the ACM certificate. You can associate up to 16 IAM roles with an ACM certificate.

Result Syntax

[
    'CertificateS3BucketName' => '<string>',
    'CertificateS3ObjectKey' => '<string>',
    'EncryptionKmsKeyId' => '<string>',
]

Result Details

Members
CertificateS3BucketName
Type: string

The name of the Amazon S3 bucket to which the certificate was uploaded.

CertificateS3ObjectKey
Type: string

The Amazon S3 object key where the certificate, certificate chain, and encrypted private key bundle are stored. The object key is formatted as follows: role_arn/certificate_arn.

EncryptionKmsKeyId
Type: string

The ID of the KMS key used to encrypt the private key of the certificate.

Errors

There are no errors described for this operation.

AssociateIamInstanceProfile

$result = $client->associateIamInstanceProfile([/* ... */]);
$promise = $client->associateIamInstanceProfileAsync([/* ... */]);

Associates an IAM instance profile with a running or stopped instance. You cannot associate more than one IAM instance profile with an instance.

Parameter Syntax

$result = $client->associateIamInstanceProfile([
    'IamInstanceProfile' => [ // REQUIRED
        'Arn' => '<string>',
        'Name' => '<string>',
    ],
    'InstanceId' => '<string>', // REQUIRED
]);

Parameter Details

Members
IamInstanceProfile
Required: Yes
Type: IamInstanceProfileSpecification structure

The IAM instance profile.

InstanceId
Required: Yes
Type: string

The ID of the instance.

Result Syntax

[
    'IamInstanceProfileAssociation' => [
        'AssociationId' => '<string>',
        'IamInstanceProfile' => [
            'Arn' => '<string>',
            'Id' => '<string>',
        ],
        'InstanceId' => '<string>',
        'State' => 'associating|associated|disassociating|disassociated',
        'Timestamp' => <DateTime>,
    ],
]

Result Details

Members
IamInstanceProfileAssociation

Information about the IAM instance profile association.

Errors

There are no errors described for this operation.

Examples

Example 1: To associate an IAM instance profile with an instance

This example associates an IAM instance profile named admin-role with the specified instance.

$result = $client->associateIamInstanceProfile([
    'IamInstanceProfile' => [
        'Name' => 'admin-role',
    ],
    'InstanceId' => 'i-123456789abcde123',
]);

Result syntax:

[
    'IamInstanceProfileAssociation' => [
        'AssociationId' => 'iip-assoc-0e7736511a163c209',
        'IamInstanceProfile' => [
            'Arn' => 'arn:aws:iam::123456789012:instance-profile/admin-role',
            'Id' => 'AIPAJBLK7RKJKWDXVHIEC',
        ],
        'InstanceId' => 'i-123456789abcde123',
        'State' => 'associating',
    ],
]

AssociateInstanceEventWindow

$result = $client->associateInstanceEventWindow([/* ... */]);
$promise = $client->associateInstanceEventWindowAsync([/* ... */]);

Associates one or more targets with an event window. Only one type of target (instance IDs, Dedicated Host IDs, or tags) can be specified with an event window.

For more information, see Define event windows for scheduled events in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->associateInstanceEventWindow([
    'AssociationTarget' => [ // REQUIRED
        'DedicatedHostIds' => ['<string>', ...],
        'InstanceIds' => ['<string>', ...],
        'InstanceTags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
    ],
    'DryRun' => true || false,
    'InstanceEventWindowId' => '<string>', // REQUIRED
]);

Parameter Details

Members
AssociationTarget
Required: Yes
Type: InstanceEventWindowAssociationRequest structure

One or more targets associated with the specified event window.

DryRun
Type: boolean

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.

InstanceEventWindowId
Required: Yes
Type: string

The ID of the event window.

Result Syntax

[
    'InstanceEventWindow' => [
        'AssociationTarget' => [
            'DedicatedHostIds' => ['<string>', ...],
            'InstanceIds' => ['<string>', ...],
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        'CronExpression' => '<string>',
        'InstanceEventWindowId' => '<string>',
        'Name' => '<string>',
        'State' => 'creating|deleting|active|deleted',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'TimeRanges' => [
            [
                'EndHour' => <integer>,
                'EndWeekDay' => 'sunday|monday|tuesday|wednesday|thursday|friday|saturday',
                'StartHour' => <integer>,
                'StartWeekDay' => 'sunday|monday|tuesday|wednesday|thursday|friday|saturday',
            ],
            // ...
        ],
    ],
]

Result Details

Members
InstanceEventWindow
Type: InstanceEventWindow structure

Information about the event window.

Errors

There are no errors described for this operation.

AssociateIpamByoasn

$result = $client->associateIpamByoasn([/* ... */]);
$promise = $client->associateIpamByoasnAsync([/* ... */]);

Associates your Autonomous System Number (ASN) with a BYOIP CIDR that you own in the same Amazon Web Services Region. For more information, see Tutorial: Bring your ASN to IPAM in the Amazon VPC IPAM guide.

After the association succeeds, the ASN is eligible for advertisement. You can view the association with DescribeByoipCidrs. You can advertise the CIDR with AdvertiseByoipCidr.

Parameter Syntax

$result = $client->associateIpamByoasn([
    'Asn' => '<string>', // REQUIRED
    'Cidr' => '<string>', // REQUIRED
    'DryRun' => true || false,
]);

Parameter Details

Members
Asn
Required: Yes
Type: string

A public 2-byte or 4-byte ASN.

Cidr
Required: Yes
Type: string

The BYOIP CIDR you want to associate with an ASN.

DryRun
Type: boolean

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.

Result Syntax

[
    'AsnAssociation' => [
        'Asn' => '<string>',
        'Cidr' => '<string>',
        'State' => 'disassociated|failed-disassociation|failed-association|pending-disassociation|pending-association|associated',
        'StatusMessage' => '<string>',
    ],
]

Result Details

Members
AsnAssociation
Type: AsnAssociation structure

The ASN and BYOIP CIDR association.

Errors

There are no errors described for this operation.

AssociateIpamResourceDiscovery

$result = $client->associateIpamResourceDiscovery([/* ... */]);
$promise = $client->associateIpamResourceDiscoveryAsync([/* ... */]);

Associates an IPAM resource discovery with an Amazon VPC IPAM. A resource discovery is an IPAM component that enables IPAM to manage and monitor resources that belong to the owning account.

Parameter Syntax

$result = $client->associateIpamResourceDiscovery([
    'ClientToken' => '<string>',
    'DryRun' => true || false,
    'IpamId' => '<string>', // REQUIRED
    'IpamResourceDiscoveryId' => '<string>', // REQUIRED
    'TagSpecifications' => [
        [
            'ResourceType' => 'capacity-reservation|client-vpn-endpoint|customer-gateway|carrier-gateway|coip-pool|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|instance-event-window|internet-gateway|ipam|ipam-pool|ipam-scope|ipv4pool-ec2|ipv6pool-ec2|key-pair|launch-template|local-gateway|local-gateway-route-table|local-gateway-virtual-interface|local-gateway-virtual-interface-group|local-gateway-route-table-vpc-association|local-gateway-route-table-virtual-interface-group-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|network-insights-access-scope|network-insights-access-scope-analysis|placement-group|prefix-list|replace-root-volume-task|reserved-instances|route-table|security-group|security-group-rule|snapshot|spot-fleet-request|spot-instances-request|subnet|subnet-cidr-reservation|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-policy-table|transit-gateway-route-table|transit-gateway-route-table-announcement|volume|vpc|vpc-endpoint|vpc-endpoint-connection|vpc-endpoint-service|vpc-endpoint-service-permission|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log|capacity-reservation-fleet|traffic-mirror-filter-rule|vpc-endpoint-connection-device-type|verified-access-instance|verified-access-group|verified-access-endpoint|verified-access-policy|verified-access-trust-provider|vpn-connection-device-type|vpc-block-public-access-exclusion|ipam-resource-discovery|ipam-resource-discovery-association|instance-connect-endpoint|ipam-external-resource-verification-token',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
]);

Parameter Details

Members
ClientToken
Type: string

A client token.

DryRun
Type: boolean

A check for 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.

IpamId
Required: Yes
Type: string

An IPAM ID.

IpamResourceDiscoveryId
Required: Yes
Type: string

A resource discovery ID.

TagSpecifications
Type: Array of TagSpecification structures

Tag specifications.

Result Syntax

[
    'IpamResourceDiscoveryAssociation' => [
        'IpamArn' => '<string>',
        'IpamId' => '<string>',
        'IpamRegion' => '<string>',
        'IpamResourceDiscoveryAssociationArn' => '<string>',
        'IpamResourceDiscoveryAssociationId' => '<string>',
        'IpamResourceDiscoveryId' => '<string>',
        'IsDefault' => true || false,
        'OwnerId' => '<string>',
        'ResourceDiscoveryStatus' => 'active|not-found',
        'State' => 'associate-in-progress|associate-complete|associate-failed|disassociate-in-progress|disassociate-complete|disassociate-failed|isolate-in-progress|isolate-complete|restore-in-progress',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
    ],
]

Result Details

Members
IpamResourceDiscoveryAssociation

A resource discovery association. An associated resource discovery is a resource discovery that has been associated with an IPAM.

Errors

There are no errors described for this operation.

AssociateNatGatewayAddress

$result = $client->associateNatGatewayAddress([/* ... */]);
$promise = $client->associateNatGatewayAddressAsync([/* ... */]);

Associates Elastic IP addresses (EIPs) and private IPv4 addresses with a public NAT gateway. For more information, see Work with NAT gateways in the Amazon VPC User Guide.

By default, you can associate up to 2 Elastic IP addresses per public NAT gateway. You can increase the limit by requesting a quota adjustment. For more information, see Elastic IP address quotas in the Amazon VPC User Guide.

When you associate an EIP or secondary EIPs with a public NAT gateway, the network border group of the EIPs must match the network border group of the Availability Zone (AZ) that the public NAT gateway is in. If it's not the same, the EIP will fail to associate. You can see the network border group for the subnet's AZ by viewing the details of the subnet. Similarly, you can view the network border group of an EIP by viewing the details of the EIP address. For more information about network border groups and EIPs, see Allocate an Elastic IP address in the Amazon VPC User Guide.

Parameter Syntax

$result = $client->associateNatGatewayAddress([
    'AllocationIds' => ['<string>', ...], // REQUIRED
    'DryRun' => true || false,
    'NatGatewayId' => '<string>', // REQUIRED
    'PrivateIpAddresses' => ['<string>', ...],
]);

Parameter Details

Members
AllocationIds
Required: Yes
Type: Array of strings

The allocation IDs of EIPs that you want to associate with your NAT gateway.

DryRun
Type: boolean

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.

NatGatewayId
Required: Yes
Type: string

The ID of the NAT gateway.

PrivateIpAddresses
Type: Array of strings

The private IPv4 addresses that you want to assign to the NAT gateway.

Result Syntax

[
    'NatGatewayAddresses' => [
        [
            'AllocationId' => '<string>',
            'AssociationId' => '<string>',
            'FailureMessage' => '<string>',
            'IsPrimary' => true || false,
            'NetworkInterfaceId' => '<string>',
            'PrivateIp' => '<string>',
            'PublicIp' => '<string>',
            'Status' => 'assigning|unassigning|associating|disassociating|succeeded|failed',
        ],
        // ...
    ],
    'NatGatewayId' => '<string>',
]

Result Details

Members
NatGatewayAddresses
Type: Array of NatGatewayAddress structures

The IP addresses.

NatGatewayId
Type: string

The ID of the NAT gateway.

Errors

There are no errors described for this operation.

AssociateRouteTable

$result = $client->associateRouteTable([/* ... */]);
$promise = $client->associateRouteTableAsync([/* ... */]);

Associates a subnet in your VPC or an internet gateway or virtual private gateway attached to your VPC with a route table in your VPC. This association causes traffic from the subnet or gateway to be routed according to the routes in the route table. The action returns an association ID, which you need in order to disassociate the route table later. A route table can be associated with multiple subnets.

For more information, see Route tables in the Amazon VPC User Guide.

Parameter Syntax

$result = $client->associateRouteTable([
    'DryRun' => true || false,
    'GatewayId' => '<string>',
    'RouteTableId' => '<string>', // REQUIRED
    'SubnetId' => '<string>',
]);

Parameter Details

Members
DryRun
Type: boolean

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.

GatewayId
Type: string

The ID of the internet gateway or virtual private gateway.

RouteTableId
Required: Yes
Type: string

The ID of the route table.

SubnetId
Type: string

The ID of the subnet.

Result Syntax

[
    'AssociationId' => '<string>',
    'AssociationState' => [
        'State' => 'associating|associated|disassociating|disassociated|failed',
        'StatusMessage' => '<string>',
    ],
]

Result Details

Members
AssociationId
Type: string

The route table association ID. This ID is required for disassociating the route table.

AssociationState
Type: RouteTableAssociationState structure

The state of the association.

Errors

There are no errors described for this operation.

Examples

Example 1: To associate a route table with a subnet

This example associates the specified route table with the specified subnet.

$result = $client->associateRouteTable([
    'RouteTableId' => 'rtb-22574640',
    'SubnetId' => 'subnet-9d4a7b6',
]);

Result syntax:

[
    'AssociationId' => 'rtbassoc-781d0d1a',
]

AssociateSecurityGroupVpc

$result = $client->associateSecurityGroupVpc([/* ... */]);
$promise = $client->associateSecurityGroupVpcAsync([/* ... */]);

Associates a security group with another VPC in the same Region. This enables you to use the same security group with network interfaces and instances in the specified VPC.

  • The VPC you want to associate the security group with must be in the same Region.

  • You can associate the security group with another VPC if your account owns the VPC or if the VPC was shared with you.

  • You must own the security group and the VPC that it was created in.

  • You cannot use this feature with default security groups.

  • You cannot use this feature with the default VPC.

Parameter Syntax

$result = $client->associateSecurityGroupVpc([
    'DryRun' => true || false,
    'GroupId' => '<string>', // REQUIRED
    'VpcId' => '<string>', // REQUIRED
]);

Parameter Details

Members
DryRun
Type: boolean

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.

GroupId
Required: Yes
Type: string

A security group ID.

VpcId
Required: Yes
Type: string

A VPC ID.

Result Syntax

[
    'State' => 'associating|associated|association-failed|disassociating|disassociated|disassociation-failed',
]

Result Details

Members
State
Type: string

The state of the association.

Errors

There are no errors described for this operation.

AssociateSubnetCidrBlock

$result = $client->associateSubnetCidrBlock([/* ... */]);
$promise = $client->associateSubnetCidrBlockAsync([/* ... */]);

Associates a CIDR block with your subnet. You can only associate a single IPv6 CIDR block with your subnet.

Parameter Syntax

$result = $client->associateSubnetCidrBlock([
    'Ipv6CidrBlock' => '<string>',
    'Ipv6IpamPoolId' => '<string>',
    'Ipv6NetmaskLength' => <integer>,
    'SubnetId' => '<string>', // REQUIRED
]);

Parameter Details

Members
Ipv6CidrBlock
Type: string

The IPv6 CIDR block for your subnet.

Ipv6IpamPoolId
Type: string

An IPv6 IPAM pool ID.

Ipv6NetmaskLength
Type: int

An IPv6 netmask length.

SubnetId
Required: Yes
Type: string

The ID of your subnet.

Result Syntax

[
    'Ipv6CidrBlockAssociation' => [
        'AssociationId' => '<string>',
        'IpSource' => 'amazon|byoip|none',
        'Ipv6AddressAttribute' => 'public|private',
        'Ipv6CidrBlock' => '<string>',
        'Ipv6CidrBlockState' => [
            'State' => 'associating|associated|disassociating|disassociated|failing|failed',
            'StatusMessage' => '<string>',
        ],
    ],
    'SubnetId' => '<string>',
]

Result Details

Members
Ipv6CidrBlockAssociation

Information about the IPv6 association.

SubnetId
Type: string

The ID of the subnet.

Errors

There are no errors described for this operation.

AssociateTransitGatewayMulticastDomain

$result = $client->associateTransitGatewayMulticastDomain([/* ... */]);
$promise = $client->associateTransitGatewayMulticastDomainAsync([/* ... */]);

Associates the specified subnets and transit gateway attachments with the specified transit gateway multicast domain.

The transit gateway attachment must be in the available state before you can add a resource. Use DescribeTransitGatewayAttachments to see the state of the attachment.

Parameter Syntax

$result = $client->associateTransitGatewayMulticastDomain([
    'DryRun' => true || false,
    'SubnetIds' => ['<string>', ...], // REQUIRED
    'TransitGatewayAttachmentId' => '<string>', // REQUIRED
    'TransitGatewayMulticastDomainId' => '<string>', // REQUIRED
]);

Parameter Details

Members
DryRun
Type: boolean

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.

SubnetIds
Required: Yes
Type: Array of strings

The IDs of the subnets to associate with the transit gateway multicast domain.

TransitGatewayAttachmentId
Required: Yes
Type: string

The ID of the transit gateway attachment to associate with the transit gateway multicast domain.

TransitGatewayMulticastDomainId
Required: Yes
Type: string

The ID of the transit gateway multicast domain.

Result Syntax

[
    'Associations' => [
        'ResourceId' => '<string>',
        'ResourceOwnerId' => '<string>',
        'ResourceType' => 'vpc|vpn|direct-connect-gateway|connect|peering|tgw-peering',
        'Subnets' => [
            [
                'State' => 'pendingAcceptance|associating|associated|disassociating|disassociated|rejected|failed',
                'SubnetId' => '<string>',
            ],
            // ...
        ],
        'TransitGatewayAttachmentId' => '<string>',
        'TransitGatewayMulticastDomainId' => '<string>',
    ],
]

Result Details

Members
Associations

Information about the transit gateway multicast domain associations.

Errors

There are no errors described for this operation.

AssociateTransitGatewayPolicyTable

$result = $client->associateTransitGatewayPolicyTable([/* ... */]);
$promise = $client->associateTransitGatewayPolicyTableAsync([/* ... */]);

Associates the specified transit gateway attachment with a transit gateway policy table.

Parameter Syntax

$result = $client->associateTransitGatewayPolicyTable([
    'DryRun' => true || false,
    'TransitGatewayAttachmentId' => '<string>', // REQUIRED
    'TransitGatewayPolicyTableId' => '<string>', // REQUIRED
]);

Parameter Details

Members
DryRun
Type: boolean

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.

TransitGatewayAttachmentId
Required: Yes
Type: string

The ID of the transit gateway attachment to associate with the policy table.

TransitGatewayPolicyTableId
Required: Yes
Type: string

The ID of the transit gateway policy table to associate with the transit gateway attachment.

Result Syntax

[
    'Association' => [
        'ResourceId' => '<string>',
        'ResourceType' => 'vpc|vpn|direct-connect-gateway|connect|peering|tgw-peering',
        'State' => 'associating|associated|disassociating|disassociated',
        'TransitGatewayAttachmentId' => '<string>',
        'TransitGatewayPolicyTableId' => '<string>',
    ],
]

Result Details

Members
Association

Describes the association of a transit gateway and a transit gateway policy table.

Errors

There are no errors described for this operation.

AssociateTransitGatewayRouteTable

$result = $client->associateTransitGatewayRouteTable([/* ... */]);
$promise = $client->associateTransitGatewayRouteTableAsync([/* ... */]);

Associates the specified attachment with the specified transit gateway route table. You can associate only one route table with an attachment.

Parameter Syntax

$result = $client->associateTransitGatewayRouteTable([
    'DryRun' => true || false,
    'TransitGatewayAttachmentId' => '<string>', // REQUIRED
    'TransitGatewayRouteTableId' => '<string>', // REQUIRED
]);

Parameter Details

Members
DryRun
Type: boolean

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.

TransitGatewayAttachmentId
Required: Yes
Type: string

The ID of the attachment.

TransitGatewayRouteTableId
Required: Yes
Type: string

The ID of the transit gateway route table.

Result Syntax

[
    'Association' => [
        'ResourceId' => '<string>',
        'ResourceType' => 'vpc|vpn|direct-connect-gateway|connect|peering|tgw-peering',
        'State' => 'associating|associated|disassociating|disassociated',
        'TransitGatewayAttachmentId' => '<string>',
        'TransitGatewayRouteTableId' => '<string>',
    ],
]

Result Details

Members
Association
Type: TransitGatewayAssociation structure

The ID of the association.

Errors

There are no errors described for this operation.

AssociateTrunkInterface

$result = $client->associateTrunkInterface([/* ... */]);
$promise = $client->associateTrunkInterfaceAsync([/* ... */]);

Associates a branch network interface with a trunk network interface.

Before you create the association, use CreateNetworkInterface command and set the interface type to trunk. You must also create a network interface for each branch network interface that you want to associate with the trunk network interface.

Parameter Syntax

$result = $client->associateTrunkInterface([
    'BranchInterfaceId' => '<string>', // REQUIRED
    'ClientToken' => '<string>',
    'DryRun' => true || false,
    'GreKey' => <integer>,
    'TrunkInterfaceId' => '<string>', // REQUIRED
    'VlanId' => <integer>,
]);

Parameter Details

Members
BranchInterfaceId
Required: Yes
Type: string

The ID of the branch network interface.

ClientToken
Type: string

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

DryRun
Type: boolean

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.

GreKey
Type: int

The application key. This applies to the GRE protocol.

TrunkInterfaceId
Required: Yes
Type: string

The ID of the trunk network interface.

VlanId
Type: int

The ID of the VLAN. This applies to the VLAN protocol.

Result Syntax

[
    'ClientToken' => '<string>',
    'InterfaceAssociation' => [
        'AssociationId' => '<string>',
        'BranchInterfaceId' => '<string>',
        'GreKey' => <integer>,
        'InterfaceProtocol' => 'VLAN|GRE',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'TrunkInterfaceId' => '<string>',
        'VlanId' => <integer>,
    ],
]

Result Details

Members
ClientToken
Type: string

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

InterfaceAssociation
Type: TrunkInterfaceAssociation structure

Information about the association between the trunk network interface and branch network interface.

Errors

There are no errors described for this operation.

AssociateVpcCidrBlock

$result = $client->associateVpcCidrBlock([/* ... */]);
$promise = $client->associateVpcCidrBlockAsync([/* ... */]);

Associates a CIDR block with your VPC. You can associate a secondary IPv4 CIDR block, an Amazon-provided IPv6 CIDR block, or an IPv6 CIDR block from an IPv6 address pool that you provisioned through bring your own IP addresses (BYOIP).

You must specify one of the following in the request: an IPv4 CIDR block, an IPv6 pool, or an Amazon-provided IPv6 CIDR block.

For more information about associating CIDR blocks with your VPC and applicable restrictions, see IP addressing for your VPCs and subnets in the Amazon VPC User Guide.

Parameter Syntax

$result = $client->associateVpcCidrBlock([
    'AmazonProvidedIpv6CidrBlock' => true || false,
    'CidrBlock' => '<string>',
    'Ipv4IpamPoolId' => '<string>',
    'Ipv4NetmaskLength' => <integer>,
    'Ipv6CidrBlock' => '<string>',
    'Ipv6CidrBlockNetworkBorderGroup' => '<string>',
    'Ipv6IpamPoolId' => '<string>',
    'Ipv6NetmaskLength' => <integer>,
    'Ipv6Pool' => '<string>',
    'VpcId' => '<string>', // REQUIRED
]);

Parameter Details

Members
AmazonProvidedIpv6CidrBlock
Type: boolean

Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for the VPC. You cannot specify the range of IPv6 addresses or the size of the CIDR block.

CidrBlock
Type: string

An IPv4 CIDR block to associate with the VPC.

Ipv4IpamPoolId
Type: string

Associate a CIDR allocated from an IPv4 IPAM pool to a VPC. For more information about Amazon VPC IP Address Manager (IPAM), see What is IPAM? in the Amazon VPC IPAM User Guide.

Ipv4NetmaskLength
Type: int

The netmask length of the IPv4 CIDR you would like to associate from an Amazon VPC IP Address Manager (IPAM) pool. For more information about IPAM, see What is IPAM? in the Amazon VPC IPAM User Guide.

Ipv6CidrBlock
Type: string

An IPv6 CIDR block from the IPv6 address pool. You must also specify Ipv6Pool in the request.

To let Amazon choose the IPv6 CIDR block for you, omit this parameter.

Ipv6CidrBlockNetworkBorderGroup
Type: string

The name of the location from which we advertise the IPV6 CIDR block. Use this parameter to limit the CIDR block to this location.

You must set AmazonProvidedIpv6CidrBlock to true to use this parameter.

You can have one IPv6 CIDR block association per network border group.

Ipv6IpamPoolId
Type: string

Associates a CIDR allocated from an IPv6 IPAM pool to a VPC. For more information about Amazon VPC IP Address Manager (IPAM), see What is IPAM? in the Amazon VPC IPAM User Guide.

Ipv6NetmaskLength
Type: int

The netmask length of the IPv6 CIDR you would like to associate from an Amazon VPC IP Address Manager (IPAM) pool. For more information about IPAM, see What is IPAM? in the Amazon VPC IPAM User Guide.

Ipv6Pool
Type: string

The ID of an IPv6 address pool from which to allocate the IPv6 CIDR block.

VpcId
Required: Yes
Type: string

The ID of the VPC.

Result Syntax

[
    'CidrBlockAssociation' => [
        'AssociationId' => '<string>',
        'CidrBlock' => '<string>',
        'CidrBlockState' => [
            'State' => 'associating|associated|disassociating|disassociated|failing|failed',
            'StatusMessage' => '<string>',
        ],
    ],
    'Ipv6CidrBlockAssociation' => [
        'AssociationId' => '<string>',
        'IpSource' => 'amazon|byoip|none',
        'Ipv6AddressAttribute' => 'public|private',
        'Ipv6CidrBlock' => '<string>',
        'Ipv6CidrBlockState' => [
            'State' => 'associating|associated|disassociating|disassociated|failing|failed',
            'StatusMessage' => '<string>',
        ],
        'Ipv6Pool' => '<string>',
        'NetworkBorderGroup' => '<string>',
    ],
    'VpcId' => '<string>',
]

Result Details

Members
CidrBlockAssociation
Type: VpcCidrBlockAssociation structure

Information about the IPv4 CIDR block association.

Ipv6CidrBlockAssociation
Type: VpcIpv6CidrBlockAssociation structure

Information about the IPv6 CIDR block association.

VpcId
Type: string

The ID of the VPC.

Errors

There are no errors described for this operation.

AttachClassicLinkVpc

$result = $client->attachClassicLinkVpc([/* ... */]);
$promise = $client->attachClassicLinkVpcAsync([/* ... */]);

This action is deprecated.

Links an EC2-Classic instance to a ClassicLink-enabled VPC through one or more of the VPC security groups. You cannot link an EC2-Classic instance to more than one VPC at a time. You can only link an instance that's in the running state. An instance is automatically unlinked from a VPC when it's stopped - you can link it to the VPC again when you restart it.

After you've linked an instance, you cannot change the VPC security groups that are associated with it. To change the security groups, you must first unlink the instance, and then link it again.

Linking your instance to a VPC is sometimes referred to as attaching your instance.

Parameter Syntax

$result = $client->attachClassicLinkVpc([
    'DryRun' => true || false,
    'Groups' => ['<string>', ...], // REQUIRED
    'InstanceId' => '<string>', // REQUIRED
    'VpcId' => '<string>', // REQUIRED
]);

Parameter Details

Members
DryRun
Type: boolean

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.

Groups
Required: Yes
Type: Array of strings

The IDs of the security groups. You cannot specify security groups from a different VPC.

InstanceId
Required: Yes
Type: string

The ID of the EC2-Classic instance.

VpcId
Required: Yes
Type: string

The ID of the ClassicLink-enabled VPC.

Result Syntax

[
    'Return' => true || false,
]

Result Details

Members
Return
Type: boolean

Returns true if the request succeeds; otherwise, it returns an error.

Errors

There are no errors described for this operation.

AttachInternetGateway

$result = $client->attachInternetGateway([/* ... */]);
$promise = $client->attachInternetGatewayAsync([/* ... */]);

Attaches an internet gateway or a virtual private gateway to a VPC, enabling connectivity between the internet and the VPC. For more information, see Internet gateways in the Amazon VPC User Guide.

Parameter Syntax

$result = $client->attachInternetGateway([
    'DryRun' => true || false,
    'InternetGatewayId' => '<string>', // REQUIRED
    'VpcId' => '<string>', // REQUIRED
]);

Parameter Details

Members
DryRun
Type: boolean

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.

InternetGatewayId
Required: Yes
Type: string

The ID of the internet gateway.

VpcId
Required: Yes
Type: string

The ID of the VPC.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

There are no errors described for this operation.

Examples

Example 1: To attach an Internet gateway to a VPC

This example attaches the specified Internet gateway to the specified VPC.

$result = $client->attachInternetGateway([
    'InternetGatewayId' => 'igw-c0a643a9',
    'VpcId' => 'vpc-a01106c2',
]);

AttachNetworkInterface

$result = $client->attachNetworkInterface([/* ... */]);
$promise = $client->attachNetworkInterfaceAsync([/* ... */]);

Attaches a network interface to an instance.

Parameter Syntax

$result = $client->attachNetworkInterface([
    'DeviceIndex' => <integer>, // REQUIRED
    'DryRun' => true || false,
    'EnaSrdSpecification' => [
        'EnaSrdEnabled' => true || false,
        'EnaSrdUdpSpecification' => [
            'EnaSrdUdpEnabled' => true || false,
        ],
    ],
    'InstanceId' => '<string>', // REQUIRED
    'NetworkCardIndex' => <integer>,
    'NetworkInterfaceId' => '<string>', // REQUIRED
]);

Parameter Details

Members
DeviceIndex
Required: Yes
Type: int

The index of the device for the network interface attachment.

DryRun
Type: boolean

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.

EnaSrdSpecification
Type: EnaSrdSpecification structure

Configures ENA Express for the network interface that this action attaches to the instance.

InstanceId
Required: Yes
Type: string

The ID of the instance.

NetworkCardIndex
Type: int

The index of the network card. Some instance types support multiple network cards. The primary network interface must be assigned to network card index 0. The default is network card index 0.

NetworkInterfaceId
Required: Yes
Type: string

The ID of the network interface.

Result Syntax

[
    'AttachmentId' => '<string>',
    'NetworkCardIndex' => <integer>,
]

Result Details

Members
AttachmentId
Type: string

The ID of the network interface attachment.

NetworkCardIndex
Type: int

The index of the network card.

Errors

There are no errors described for this operation.

Examples

Example 1: To attach a network interface to an instance

This example attaches the specified network interface to the specified instance.

$result = $client->attachNetworkInterface([
    'DeviceIndex' => 1,
    'InstanceId' => 'i-1234567890abcdef0',
    'NetworkInterfaceId' => 'eni-e5aa89a3',
]);

Result syntax:

[
    'AttachmentId' => 'eni-attach-66c4350a',
]

AttachVerifiedAccessTrustProvider

$result = $client->attachVerifiedAccessTrustProvider([/* ... */]);
$promise = $client->attachVerifiedAccessTrustProviderAsync([/* ... */]);

Attaches the specified Amazon Web Services Verified Access trust provider to the specified Amazon Web Services Verified Access instance.

Parameter Syntax

$result = $client->attachVerifiedAccessTrustProvider([
    'ClientToken' => '<string>',
    'DryRun' => true || false,
    'VerifiedAccessInstanceId' => '<string>', // REQUIRED
    'VerifiedAccessTrustProviderId' => '<string>', // REQUIRED
]);

Parameter Details

Members
ClientToken
Type: string

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring idempotency.

DryRun
Type: boolean

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.

VerifiedAccessInstanceId
Required: Yes
Type: string

The ID of the Verified Access instance.

VerifiedAccessTrustProviderId
Required: Yes
Type: string

The ID of the Verified Access trust provider.

Result Syntax

[
    'VerifiedAccessInstance' => [
        'CreationTime' => '<string>',
        'Description' => '<string>',
        'FipsEnabled' => true || false,
        'LastUpdatedTime' => '<string>',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'VerifiedAccessInstanceId' => '<string>',
        'VerifiedAccessTrustProviders' => [
            [
                'Description' => '<string>',
                'DeviceTrustProviderType' => 'jamf|crowdstrike|jumpcloud',
                'TrustProviderType' => 'user|device',
                'UserTrustProviderType' => 'iam-identity-center|oidc',
                'VerifiedAccessTrustProviderId' => '<string>',
            ],
            // ...
        ],
    ],
    'VerifiedAccessTrustProvider' => [
        'CreationTime' => '<string>',
        'Description' => '<string>',
        'DeviceOptions' => [
            'PublicSigningKeyUrl' => '<string>',
            'TenantId' => '<string>',
        ],
        'DeviceTrustProviderType' => 'jamf|crowdstrike|jumpcloud',
        'LastUpdatedTime' => '<string>',
        'OidcOptions' => [
            'AuthorizationEndpoint' => '<string>',
            'ClientId' => '<string>',
            'ClientSecret' => '<string>',
            'Issuer' => '<string>',
            'Scope' => '<string>',
            'TokenEndpoint' => '<string>',
            'UserInfoEndpoint' => '<string>',
        ],
        'PolicyReferenceName' => '<string>',
        'SseSpecification' => [
            'CustomerManagedKeyEnabled' => true || false,
            'KmsKeyArn' => '<string>',
        ],
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'TrustProviderType' => 'user|device',
        'UserTrustProviderType' => 'iam-identity-center|oidc',
        'VerifiedAccessTrustProviderId' => '<string>',
    ],
]

Result Details

Members
VerifiedAccessInstance
Type: VerifiedAccessInstance structure

Details about the Verified Access instance.

VerifiedAccessTrustProvider
Type: VerifiedAccessTrustProvider structure

Details about the Verified Access trust provider.

Errors

There are no errors described for this operation.

AttachVolume

$result = $client->attachVolume([/* ... */]);
$promise = $client->attachVolumeAsync([/* ... */]);

Attaches an EBS volume to a running or stopped instance and exposes it to the instance with the specified device name.

Encrypted EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see Amazon EBS encryption in the Amazon EBS User Guide.

After you attach an EBS volume, you must make it available. For more information, see Make an EBS volume available for use.

If a volume has an Amazon Web Services Marketplace product code:

  • The volume can be attached only to a stopped instance.

  • Amazon Web Services Marketplace product codes are copied from the volume to the instance.

  • You must be subscribed to the product.

  • The instance type and operating system of the instance must support the product. For example, you can't detach a volume from a Windows instance and attach it to a Linux instance.

For more information, see Attach an Amazon EBS volume to an instance in the Amazon EBS User Guide.

Parameter Syntax

$result = $client->attachVolume([
    'Device' => '<string>', // REQUIRED
    'DryRun' => true || false,
    'InstanceId' => '<string>', // REQUIRED
    'VolumeId' => '<string>', // REQUIRED
]);

Parameter Details

Members
Device
Required: Yes
Type: string

The device name (for example, /dev/sdh or xvdh).

DryRun
Type: boolean

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.

InstanceId
Required: Yes
Type: string

The ID of the instance.

VolumeId
Required: Yes
Type: string

The ID of the EBS volume. The volume and instance must be within the same Availability Zone.

Result Syntax

[
    'AssociatedResource' => '<string>',
    'AttachTime' => <DateTime>,
    'DeleteOnTermination' => true || false,
    'Device' => '<string>',
    'InstanceId' => '<string>',
    'InstanceOwningService' => '<string>',
    'State' => 'attaching|attached|detaching|detached|busy',
    'VolumeId' => '<string>',
]

Result Details

Members
AssociatedResource
Type: string

The ARN of the Amazon ECS or Fargate task to which the volume is attached.

AttachTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time stamp when the attachment initiated.

DeleteOnTermination
Type: boolean

Indicates whether the EBS volume is deleted on instance termination.

Device
Type: string

The device name.

If the volume is attached to a Fargate task, this parameter returns null.

InstanceId
Type: string

The ID of the instance.

If the volume is attached to a Fargate task, this parameter returns null.

InstanceOwningService
Type: string

The service principal of Amazon Web Services service that owns the underlying instance to which the volume is attached.

This parameter is returned only for volumes that are attached to Fargate tasks.

State
Type: string

The attachment state of the volume.

VolumeId
Type: string

The ID of the volume.

Errors

There are no errors described for this operation.

Examples

Example 1: To attach a volume to an instance

This example attaches a volume (``vol-1234567890abcdef0``) to an instance (``i-01474ef662b89480``) as ``/dev/sdf``.

$result = $client->attachVolume([
    'Device' => '/dev/sdf',
    'InstanceId' => 'i-01474ef662b89480',
    'VolumeId' => 'vol-1234567890abcdef0',
]);

Result syntax:

[
    'AttachTime' => ,
    'Device' => '/dev/sdf',
    'InstanceId' => 'i-01474ef662b89480',
    'State' => 'attaching',
    'VolumeId' => 'vol-1234567890abcdef0',
]

AttachVpnGateway

$result = $client->attachVpnGateway([/* ... */]);
$promise = $client->attachVpnGatewayAsync([/* ... */]);

Attaches an available virtual private gateway to a VPC. You can attach one virtual private gateway to one VPC at a time.

For more information, see Amazon Web Services Site-to-Site VPN in the Amazon Web Services Site-to-Site VPN User Guide.

Parameter Syntax

$result = $client->attachVpnGateway([
    'DryRun' => true || false,
    'VpcId' => '<string>', // REQUIRED
    'VpnGatewayId' => '<string>', // REQUIRED
]);

Parameter Details

Members
DryRun
Type: boolean

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.

VpcId
Required: Yes
Type: string

The ID of the VPC.

VpnGatewayId
Required: Yes
Type: string

The ID of the virtual private gateway.

Result Syntax

[
    'VpcAttachment' => [
        'State' => 'attaching|attached|detaching|detached',
        'VpcId' => '<string>',
    ],
]

Result Details

Members
VpcAttachment
Type: VpcAttachment structure

Information about the attachment.

Errors

There are no errors described for this operation.

AuthorizeClientVpnIngress

$result = $client->authorizeClientVpnIngress([/* ... */]);
$promise = $client->authorizeClientVpnIngressAsync([/* ... */]);

Adds an ingress authorization rule to a Client VPN endpoint. Ingress authorization rules act as firewall rules that grant access to networks. You must configure ingress authorization rules to enable clients to access resources in Amazon Web Services or on-premises networks.

Parameter Syntax

$result = $client->authorizeClientVpnIngress([
    'AccessGroupId' => '<string>',
    'AuthorizeAllGroups' => true || false,
    'ClientToken' => '<string>',
    'ClientVpnEndpointId' => '<string>', // REQUIRED
    'Description' => '<string>',
    'DryRun' => true || false,
    'TargetNetworkCidr' => '<string>', // REQUIRED
]);

Parameter Details

Members
AccessGroupId
Type: string

The ID of the group to grant access to, for example, the Active Directory group or identity provider (IdP) group. Required if AuthorizeAllGroups is false or not specified.

AuthorizeAllGroups
Type: boolean

Indicates whether to grant access to all clients. Specify true to grant all clients who successfully establish a VPN connection access to the network. Must be set to true if AccessGroupId is not specified.

ClientToken
Type: string

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

ClientVpnEndpointId
Required: Yes
Type: string

The ID of the Client VPN endpoint.

Description
Type: string

A brief description of the authorization rule.

DryRun
Type: boolean

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.

TargetNetworkCidr
Required: Yes
Type: string

The IPv4 address range, in CIDR notation, of the network for which access is being authorized.

Result Syntax

[
    'Status' => [
        'Code' => 'authorizing|active|failed|revoking',
        'Message' => '<string>',
    ],
]

Result Details

Members
Status

The current state of the authorization rule.

Errors

There are no errors described for this operation.

AuthorizeSecurityGroupEgress

$result = $client->authorizeSecurityGroupEgress([/* ... */]);
$promise = $client->authorizeSecurityGroupEgressAsync([/* ... */]);

Adds the specified outbound (egress) rules to a security group.

An outbound rule permits instances to send traffic to the specified IPv4 or IPv6 address ranges, the IP address ranges specified by a prefix list, or the instances that are associated with a source security group. For more information, see Security group rules.

You must specify exactly one of the following destinations: an IPv4 or IPv6 address range, a prefix list, or a security group. You must specify a protocol for each rule (for example, TCP). If the protocol is TCP or UDP, you must also specify a port or port range. If the protocol is ICMP or ICMPv6, you must also specify the ICMP type and code.

Rule changes are propagated to instances associated with the security group as quickly as possible. However, a small delay might occur.

For examples of rules that you can add to security groups for specific access scenarios, see Security group rules for different use cases in the Amazon EC2 User Guide.

For information about security group quotas, see Amazon VPC quotas in the Amazon VPC User Guide.

Parameter Syntax

$result = $client->authorizeSecurityGroupEgress([
    'CidrIp' => '<string>',
    'DryRun' => true || false,
    'FromPort' => <integer>,
    'GroupId' => '<string>', // REQUIRED
    'IpPermissions' => [
        [
            'FromPort' => <integer>,
            'IpProtocol' => '<string>',
            'IpRanges' => [
                [
                    'CidrIp' => '<string>',
                    'Description' => '<string>',
                ],
                // ...
            ],
            'Ipv6Ranges' => [
                [
                    'CidrIpv6' => '<string>',
                    'Description' => '<string>',
                ],
                // ...
            ],
            'PrefixListIds' => [
                [
                    'Description' => '<string>',
                    'PrefixListId' => '<string>',
                ],
                // ...
            ],
            'ToPort' => <integer>,
            'UserIdGroupPairs' => [
                [
                    'Description' => '<string>',
                    'GroupId' => '<string>',
                    'GroupName' => '<string>',
                    'PeeringStatus' => '<string>',
                    'UserId' => '<string>',
                    'VpcId' => '<string>',
                    'VpcPeeringConnectionId' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'IpProtocol' => '<string>',
    'SourceSecurityGroupName' => '<string>',
    'SourceSecurityGroupOwnerId' => '<string>',
    'TagSpecifications' => [
        [
            'ResourceType' => 'capacity-reservation|client-vpn-endpoint|customer-gateway|carrier-gateway|coip-pool|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|instance-event-window|internet-gateway|ipam|ipam-pool|ipam-scope|ipv4pool-ec2|ipv6pool-ec2|key-pair|launch-template|local-gateway|local-gateway-route-table|local-gateway-virtual-interface|local-gateway-virtual-interface-group|local-gateway-route-table-vpc-association|local-gateway-route-table-virtual-interface-group-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|network-insights-access-scope|network-insights-access-scope-analysis|placement-group|prefix-list|replace-root-volume-task|reserved-instances|route-table|security-group|security-group-rule|snapshot|spot-fleet-request|spot-instances-request|subnet|subnet-cidr-reservation|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-policy-table|transit-gateway-route-table|transit-gateway-route-table-announcement|volume|vpc|vpc-endpoint|vpc-endpoint-connection|vpc-endpoint-service|vpc-endpoint-service-permission|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log|capacity-reservation-fleet|traffic-mirror-filter-rule|vpc-endpoint-connection-device-type|verified-access-instance|verified-access-group|verified-access-endpoint|verified-access-policy|verified-access-trust-provider|vpn-connection-device-type|vpc-block-public-access-exclusion|ipam-resource-discovery|ipam-resource-discovery-association|instance-connect-endpoint|ipam-external-resource-verification-token',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'ToPort' => <integer>,
]);

Parameter Details

Members
CidrIp
Type: string

Not supported. Use IP permissions instead.

DryRun
Type: boolean

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.

FromPort
Type: int

Not supported. Use IP permissions instead.

GroupId
Required: Yes
Type: string

The ID of the security group.

IpPermissions
Type: Array of IpPermission structures

The permissions for the security group rules.

IpProtocol
Type: string

Not supported. Use IP permissions instead.

SourceSecurityGroupName
Type: string

Not supported. Use IP permissions instead.

SourceSecurityGroupOwnerId
Type: string

Not supported. Use IP permissions instead.

TagSpecifications
Type: Array of TagSpecification structures

The tags applied to the security group rule.

ToPort
Type: int

Not supported. Use IP permissions instead.

Result Syntax

[
    'Return' => true || false,
    'SecurityGroupRules' => [
        [
            'CidrIpv4' => '<string>',
            'CidrIpv6' => '<string>',
            'Description' => '<string>',
            'FromPort' => <integer>,
            'GroupId' => '<string>',
            'GroupOwnerId' => '<string>',
            'IpProtocol' => '<string>',
            'IsEgress' => true || false,
            'PrefixListId' => '<string>',
            'ReferencedGroupInfo' => [
                'GroupId' => '<string>',
                'PeeringStatus' => '<string>',
                'UserId' => '<string>',
                'VpcId' => '<string>',
                'VpcPeeringConnectionId' => '<string>',
            ],
            'SecurityGroupRuleArn' => '<string>',
            'SecurityGroupRuleId' => '<string>',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'ToPort' => <integer>,
        ],
        // ...
    ],
]

Result Details

Members
Return
Type: boolean

Returns true if the request succeeds; otherwise, returns an error.

SecurityGroupRules
Type: Array of SecurityGroupRule structures

Information about the outbound (egress) security group rules that were added.

Errors

There are no errors described for this operation.

Examples

Example 1: To add a rule that allows outbound traffic to a specific address range

This example adds a rule that grants access to the specified address ranges on TCP port 80.

$result = $client->authorizeSecurityGroupEgress([
    'GroupId' => 'sg-1a2b3c4d',
    'IpPermissions' => [
        [
            'FromPort' => 80,
            'IpProtocol' => 'tcp',
            'IpRanges' => [
                [
                    'CidrIp' => '10.0.0.0/16',
                ],
            ],
            'ToPort' => 80,
        ],
    ],
]);

Result syntax:

[
]
Example 2: To add a rule that allows outbound traffic to a specific security group

This example adds a rule that grants access to the specified security group on TCP port 80.

$result = $client->authorizeSecurityGroupEgress([
    'GroupId' => 'sg-1a2b3c4d',
    'IpPermissions' => [
        [
            'FromPort' => 80,
            'IpProtocol' => 'tcp',
            'ToPort' => 80,
            'UserIdGroupPairs' => [
                [
                    'GroupId' => 'sg-4b51a32f',
                ],
            ],
        ],
    ],
]);

Result syntax:

[
]

AuthorizeSecurityGroupIngress

$result = $client->authorizeSecurityGroupIngress([/* ... */]);
$promise = $client->authorizeSecurityGroupIngressAsync([/* ... */]);

Adds the specified inbound (ingress) rules to a security group.

An inbound rule permits instances to receive traffic from the specified IPv4 or IPv6 address range, the IP address ranges that are specified by a prefix list, or the instances that are associated with a destination security group. For more information, see Security group rules.

You must specify exactly one of the following sources: an IPv4 or IPv6 address range, a prefix list, or a security group. You must specify a protocol for each rule (for example, TCP). If the protocol is TCP or UDP, you must also specify a port or port range. If the protocol is ICMP or ICMPv6, you must also specify the ICMP/ICMPv6 type and code.

Rule changes are propagated to instances associated with the security group as quickly as possible. However, a small delay might occur.

For examples of rules that you can add to security groups for specific access scenarios, see Security group rules for different use cases in the Amazon EC2 User Guide.

For more information about security group quotas, see Amazon VPC quotas in the Amazon VPC User Guide.

Parameter Syntax

$result = $client->authorizeSecurityGroupIngress([
    'CidrIp' => '<string>',
    'DryRun' => true || false,
    'FromPort' => <integer>,
    'GroupId' => '<string>',
    'GroupName' => '<string>',
    'IpPermissions' => [
        [
            'FromPort' => <integer>,
            'IpProtocol' => '<string>',
            'IpRanges' => [
                [
                    'CidrIp' => '<string>',
                    'Description' => '<string>',
                ],
                // ...
            ],
            'Ipv6Ranges' => [
                [
                    'CidrIpv6' => '<string>',
                    'Description' => '<string>',
                ],
                // ...
            ],
            'PrefixListIds' => [
                [
                    'Description' => '<string>',
                    'PrefixListId' => '<string>',
                ],
                // ...
            ],
            'ToPort' => <integer>,
            'UserIdGroupPairs' => [
                [
                    'Description' => '<string>',
                    'GroupId' => '<string>',
                    'GroupName' => '<string>',
                    'PeeringStatus' => '<string>',
                    'UserId' => '<string>',
                    'VpcId' => '<string>',
                    'VpcPeeringConnectionId' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'IpProtocol' => '<string>',
    'SourceSecurityGroupName' => '<string>',
    'SourceSecurityGroupOwnerId' => '<string>',
    'TagSpecifications' => [
        [
            'ResourceType' => 'capacity-reservation|client-vpn-endpoint|customer-gateway|carrier-gateway|coip-pool|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|instance-event-window|internet-gateway|ipam|ipam-pool|ipam-scope|ipv4pool-ec2|ipv6pool-ec2|key-pair|launch-template|local-gateway|local-gateway-route-table|local-gateway-virtual-interface|local-gateway-virtual-interface-group|local-gateway-route-table-vpc-association|local-gateway-route-table-virtual-interface-group-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|network-insights-access-scope|network-insights-access-scope-analysis|placement-group|prefix-list|replace-root-volume-task|reserved-instances|route-table|security-group|security-group-rule|snapshot|spot-fleet-request|spot-instances-request|subnet|subnet-cidr-reservation|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-policy-table|transit-gateway-route-table|transit-gateway-route-table-announcement|volume|vpc|vpc-endpoint|vpc-endpoint-connection|vpc-endpoint-service|vpc-endpoint-service-permission|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log|capacity-reservation-fleet|traffic-mirror-filter-rule|vpc-endpoint-connection-device-type|verified-access-instance|verified-access-group|verified-access-endpoint|verified-access-policy|verified-access-trust-provider|vpn-connection-device-type|vpc-block-public-access-exclusion|ipam-resource-discovery|ipam-resource-discovery-association|instance-connect-endpoint|ipam-external-resource-verification-token',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'ToPort' => <integer>,
]);

Parameter Details

Members
CidrIp
Type: string

The IPv4 address range, in CIDR format.

To specify an IPv6 address range, use IP permissions instead.

To specify multiple rules and descriptions for the rules, use IP permissions instead.

DryRun
Type: boolean

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.

FromPort
Type: int

If the protocol is TCP or UDP, this is the start of the port range. If the protocol is ICMP, this is the ICMP type or -1 (all ICMP types).

To specify multiple rules and descriptions for the rules, use IP permissions instead.

GroupId
Type: string

The ID of the security group.

GroupName
Type: string

[Default VPC] The name of the security group. For security groups for a default VPC you can specify either the ID or the name of the security group. For security groups for a nondefault VPC, you must specify the ID of the security group.

IpPermissions
Type: Array of IpPermission structures

The permissions for the security group rules.

IpProtocol
Type: string

The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers). To specify all protocols, use -1.

To specify icmpv6, use IP permissions instead.

If you specify a protocol other than one of the supported values, traffic is allowed on all ports, regardless of any ports that you specify.

To specify multiple rules and descriptions for the rules, use IP permissions instead.

SourceSecurityGroupName
Type: string

[Default VPC] The name of the source security group.

The rule grants full ICMP, UDP, and TCP access. To create a rule with a specific protocol and port range, specify a set of IP permissions instead.

SourceSecurityGroupOwnerId
Type: string

The Amazon Web Services account ID for the source security group, if the source security group is in a different account.

The rule grants full ICMP, UDP, and TCP access. To create a rule with a specific protocol and port range, use IP permissions instead.

TagSpecifications
Type: Array of TagSpecification structures

The tags applied to the security group rule.

ToPort
Type: int

If the protocol is TCP or UDP, this is the end of the port range. If the protocol is ICMP, this is the ICMP code or -1 (all ICMP codes). If the start port is -1 (all ICMP types), then the end port must be -1 (all ICMP codes).

To specify multiple rules and descriptions for the rules, use IP permissions instead.

Result Syntax

[
    'Return' => true || false,
    'SecurityGroupRules' => [
        [
            'CidrIpv4' => '<string>',
            'CidrIpv6' => '<string>',
            'Description' => '<string>',
            'FromPort' => <integer>,
            'GroupId' => '<string>',
            'GroupOwnerId' => '<string>',
            'IpProtocol' => '<string>',
            'IsEgress' => true || false,
            'PrefixListId' => '<string>',
            'ReferencedGroupInfo' => [
                'GroupId' => '<string>',
                'PeeringStatus' => '<string>',
                'UserId' => '<string>',
                'VpcId' => '<string>',
                'VpcPeeringConnectionId' => '<string>',
            ],
            'SecurityGroupRuleArn' => '<string>',
            'SecurityGroupRuleId' => '<string>',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'ToPort' => <integer>,
        ],
        // ...
    ],
]

Result Details

Members
Return
Type: boolean

Returns true if the request succeeds; otherwise, returns an error.

SecurityGroupRules
Type: Array of SecurityGroupRule structures

Information about the inbound (ingress) security group rules that were added.

Errors

There are no errors described for this operation.

Examples

Example 1: To add a rule that allows inbound SSH traffic from an IPv4 address range

This example enables inbound traffic on TCP port 22 (SSH). The rule includes a description to help you identify it later.

$result = $client->authorizeSecurityGroupIngress([
    'GroupId' => 'sg-903004f8',
    'IpPermissions' => [
        [
            'FromPort' => 22,
            'IpProtocol' => 'tcp',
            'IpRanges' => [
                [
                    'CidrIp' => '203.0.113.0/24',
                    'Description' => 'SSH access from the LA office',
                ],
            ],
            'ToPort' => 22,
        ],
    ],
]);

Result syntax:

[
]
Example 2: To add a rule that allows inbound HTTP traffic from another security group

This example enables inbound traffic on TCP port 80 from the specified security group. The group must be in the same VPC or a peer VPC. Incoming traffic is allowed based on the private IP addresses of instances that are associated with the specified security group.

$result = $client->authorizeSecurityGroupIngress([
    'GroupId' => 'sg-111aaa22',
    'IpPermissions' => [
        [
            'FromPort' => 80,
            'IpProtocol' => 'tcp',
            'ToPort' => 80,
            'UserIdGroupPairs' => [
                [
                    'Description' => 'HTTP access from other instances',
                    'GroupId' => 'sg-1a2b3c4d',
                ],
            ],
        ],
    ],
]);

Result syntax:

[
]
Example 3: To add a rule that allows inbound RDP traffic from an IPv6 address range

This example adds an inbound rule that allows RDP traffic from the specified IPv6 address range. The rule includes a description to help you identify it later.

$result = $client->authorizeSecurityGroupIngress([
    'GroupId' => 'sg-123abc12 ',
    'IpPermissions' => [
        [
            'FromPort' => 3389,
            'IpProtocol' => 'tcp',
            'Ipv6Ranges' => [
                [
                    'CidrIpv6' => '2001:db8:1234:1a00::/64',
                    'Description' => 'RDP access from the NY office',
                ],
            ],
            'ToPort' => 3389,
        ],
    ],
]);

Result syntax:

[
]

BundleInstance

$result = $client->bundleInstance([/* ... */]);
$promise = $client->bundleInstanceAsync([/* ... */]);

Bundles an Amazon instance store-backed Windows instance.

During bundling, only the root device volume (C:\) is bundled. Data on other instance store volumes is not preserved.

This action is not applicable for Linux/Unix instances or Windows instances that are backed by Amazon EBS.

Parameter Syntax

$result = $client->bundleInstance([
    'DryRun' => true || false,
    'InstanceId' => '<string>', // REQUIRED
    'Storage' => [ // REQUIRED
        'S3' => [
            'AWSAccessKeyId' => '<string>',
            'Bucket' => '<string>',
            'Prefix' => '<string>',
            'UploadPolicy' => <string || resource || Psr\Http\Message\StreamInterface>,
            'UploadPolicySignature' => '<string>',
        ],
    ],
]);

Parameter Details

Members
DryRun
Type: boolean

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.

InstanceId
Required: Yes
Type: string

The ID of the instance to bundle.

Default: None

Storage
Required: Yes
Type: Storage structure

The bucket in which to store the AMI. You can specify a bucket that you already own or a new bucket that Amazon EC2 creates on your behalf. If you specify a bucket that belongs to someone else, Amazon EC2 returns an error.

Result Syntax

[
    'BundleTask' => [
        'BundleId' => '<string>',
        'BundleTaskError' => [
            'Code' => '<string>',
            'Message' => '<string>',
        ],
        'InstanceId' => '<string>',
        'Progress' => '<string>',
        'StartTime' => <DateTime>,
        'State' => 'pending|waiting-for-shutdown|bundling|storing|cancelling|complete|failed',
        'Storage' => [
            'S3' => [
                'AWSAccessKeyId' => '<string>',
                'Bucket' => '<string>',
                'Prefix' => '<string>',
                'UploadPolicy' => <string || resource || Psr\Http\Message\StreamInterface>,
                'UploadPolicySignature' => '<string>',
            ],
        ],
        'UpdateTime' => <DateTime>,
    ],
]

Result Details

Members
BundleTask
Type: BundleTask structure

Information about the bundle task.

Errors

There are no errors described for this operation.

CancelBundleTask

$result = $client->cancelBundleTask([/* ... */]);
$promise = $client->cancelBundleTaskAsync([/* ... */]);

Cancels a bundling operation for an instance store-backed Windows instance.

Parameter Syntax

$result = $client->cancelBundleTask([
    'BundleId' => '<string>', // REQUIRED
    'DryRun' => true || false,
]);

Parameter Details

Members
BundleId
Required: Yes
Type: string

The ID of the bundle task.

DryRun
Type: boolean

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.

Result Syntax

[
    'BundleTask' => [
        'BundleId' => '<string>',
        'BundleTaskError' => [
            'Code' => '<string>',
            'Message' => '<string>',
        ],
        'InstanceId' => '<string>',
        'Progress' => '<string>',
        'StartTime' => <DateTime>,
        'State' => 'pending|waiting-for-shutdown|bundling|storing|cancelling|complete|failed',
        'Storage' => [
            'S3' => [
                'AWSAccessKeyId' => '<string>',
                'Bucket' => '<string>',
                'Prefix' => '<string>',
                'UploadPolicy' => <string || resource || Psr\Http\Message\StreamInterface>,
                'UploadPolicySignature' => '<string>',
            ],
        ],
        'UpdateTime' => <DateTime>,
    ],
]

Result Details

Members
BundleTask
Type: BundleTask structure

Information about the bundle task.

Errors

There are no errors described for this operation.

CancelCapacityReservation

$result = $client->cancelCapacityReservation([/* ... */]);
$promise = $client->cancelCapacityReservationAsync([/* ... */]);

Cancels the specified Capacity Reservation, releases the reserved capacity, and changes the Capacity Reservation's state to cancelled.

You can cancel a Capacity Reservation that is in the following states:

  • assessing

  • active and there is no commitment duration or the commitment duration has elapsed. You can't cancel a future-dated Capacity Reservation during the commitment duration.

If a future-dated Capacity Reservation enters the delayed state, the commitment duration is waived, and you can cancel it as soon as it enters the active state.

Instances running in the reserved capacity continue running until you stop them. Stopped instances that target the Capacity Reservation can no longer launch. Modify these instances to either target a different Capacity Reservation, launch On-Demand Instance capacity, or run in any open Capacity Reservation that has matching attributes and sufficient capacity.

Parameter Syntax

$result = $client->cancelCapacityReservation([
    'CapacityReservationId' => '<string>', // REQUIRED
    'DryRun' => true || false,
]);

Parameter Details

Members
CapacityReservationId
Required: Yes
Type: string

The ID of the Capacity Reservation to be cancelled.

DryRun
Type: boolean

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.

Result Syntax

[
    'Return' => true || false,
]

Result Details

Members
Return
Type: boolean

Returns true if the request succeeds; otherwise, it returns an error.

Errors

There are no errors described for this operation.

CancelCapacityReservationFleets

$result = $client->cancelCapacityReservationFleets([/* ... */]);
$promise = $client->cancelCapacityReservationFleetsAsync([/* ... */]);

Cancels one or more Capacity Reservation Fleets. When you cancel a Capacity Reservation Fleet, the following happens:

  • The Capacity Reservation Fleet's status changes to cancelled.

  • The individual Capacity Reservations in the Fleet are cancelled. Instances running in the Capacity Reservations at the time of cancelling the Fleet continue to run in shared capacity.

  • The Fleet stops creating new Capacity Reservations.

Parameter Syntax

$result = $client->cancelCapacityReservationFleets([
    'CapacityReservationFleetIds' => ['<string>', ...], // REQUIRED
    'DryRun' => true || false,
]);

Parameter Details

Members
CapacityReservationFleetIds
Required: Yes
Type: Array of strings

The IDs of the Capacity Reservation Fleets to cancel.

DryRun
Type: boolean

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.

Result Syntax

[
    'FailedFleetCancellations' => [
        [
            'CancelCapacityReservationFleetError' => [
                'Code' => '<string>',
                'Message' => '<string>',
            ],
            'CapacityReservationFleetId' => '<string>',
        ],
        // ...
    ],
    'SuccessfulFleetCancellations' => [
        [
            'CapacityReservationFleetId' => '<string>',
            'CurrentFleetState' => 'submitted|modifying|active|partially_fulfilled|expiring|expired|cancelling|cancelled|failed',
            'PreviousFleetState' => 'submitted|modifying|active|partially_fulfilled|expiring|expired|cancelling|cancelled|failed',
        ],
        // ...
    ],
]

Result Details

Members
FailedFleetCancellations

Information about the Capacity Reservation Fleets that could not be cancelled.

SuccessfulFleetCancellations
Type: Array of CapacityReservationFleetCancellationState structures

Information about the Capacity Reservation Fleets that were successfully cancelled.

Errors

There are no errors described for this operation.

CancelConversionTask

$result = $client->cancelConversionTask([/* ... */]);
$promise = $client->cancelConversionTaskAsync([/* ... */]);

Cancels an active conversion task. The task can be the import of an instance or volume. The action removes all artifacts of the conversion, including a partially uploaded volume or instance. If the conversion is complete or is in the process of transferring the final disk image, the command fails and returns an exception.

Parameter Syntax

$result = $client->cancelConversionTask([
    'ConversionTaskId' => '<string>', // REQUIRED
    'DryRun' => true || false,
    'ReasonMessage' => '<string>',
]);

Parameter Details

Members
ConversionTaskId
Required: Yes
Type: string

The ID of the conversion task.

DryRun
Type: boolean

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.

ReasonMessage
Type: string

The reason for canceling the conversion task.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

There are no errors described for this operation.

CancelExportTask

$result = $client->cancelExportTask([/* ... */]);
$promise = $client->cancelExportTaskAsync([/* ... */]);

Cancels an active export task. The request removes all artifacts of the export, including any partially-created Amazon S3 objects. If the export task is complete or is in the process of transferring the final disk image, the command fails and returns an error.

Parameter Syntax

$result = $client->cancelExportTask([
    'ExportTaskId' => '<string>', // REQUIRED
]);

Parameter Details

Members
ExportTaskId
Required: Yes
Type: string

The ID of the export task. This is the ID returned by the CreateInstanceExportTask and ExportImage operations.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

There are no errors described for this operation.

CancelImageLaunchPermission

$result = $client->cancelImageLaunchPermission([/* ... */]);
$promise = $client->cancelImageLaunchPermissionAsync([/* ... */]);

Removes your Amazon Web Services account from the launch permissions for the specified AMI. For more information, see Cancel having an AMI shared with your Amazon Web Services account in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->cancelImageLaunchPermission([
    'DryRun' => true || false,
    'ImageId' => '<string>', // REQUIRED
]);

Parameter Details

Members
DryRun
Type: boolean

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.

ImageId
Required: Yes
Type: string

The ID of the AMI that was shared with your Amazon Web Services account.

Result Syntax

[
    'Return' => true || false,
]

Result Details

Members
Return
Type: boolean

Returns true if the request succeeds; otherwise, it returns an error.

Errors

There are no errors described for this operation.

CancelImportTask

$result = $client->cancelImportTask([/* ... */]);
$promise = $client->cancelImportTaskAsync([/* ... */]);

Cancels an in-process import virtual machine or import snapshot task.

Parameter Syntax

$result = $client->cancelImportTask([
    'CancelReason' => '<string>',
    'DryRun' => true || false,
    'ImportTaskId' => '<string>',
]);

Parameter Details

Members
CancelReason
Type: string

The reason for canceling the task.

DryRun
Type: boolean

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.

ImportTaskId
Type: string

The ID of the import image or import snapshot task to be canceled.

Result Syntax

[
    'ImportTaskId' => '<string>',
    'PreviousState' => '<string>',
    'State' => '<string>',
]

Result Details

Members
ImportTaskId
Type: string

The ID of the task being canceled.

PreviousState
Type: string

The current state of the task being canceled.

State
Type: string

The current state of the task being canceled.

Errors

There are no errors described for this operation.

CancelReservedInstancesListing

$result = $client->cancelReservedInstancesListing([/* ... */]);
$promise = $client->cancelReservedInstancesListingAsync([/* ... */]);

Cancels the specified Reserved Instance listing in the Reserved Instance Marketplace.

For more information, see Sell in the Reserved Instance Marketplace in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->cancelReservedInstancesListing([
    'ReservedInstancesListingId' => '<string>', // REQUIRED
]);

Parameter Details

Members
ReservedInstancesListingId
Required: Yes
Type: string

The ID of the Reserved Instance listing.

Result Syntax

[
    'ReservedInstancesListings' => [
        [
            'ClientToken' => '<string>',
            'CreateDate' => <DateTime>,
            'InstanceCounts' => [
                [
                    'InstanceCount' => <integer>,
                    'State' => 'available|sold|cancelled|pending',
                ],
                // ...
            ],
            'PriceSchedules' => [
                [
                    'Active' => true || false,
                    'CurrencyCode' => 'USD',
                    'Price' => <float>,
                    'Term' => <integer>,
                ],
                // ...
            ],
            'ReservedInstancesId' => '<string>',
            'ReservedInstancesListingId' => '<string>',
            'Status' => 'active|pending|cancelled|closed',
            'StatusMessage' => '<string>',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'UpdateDate' => <DateTime>,
        ],
        // ...
    ],
]

Result Details

Members
ReservedInstancesListings
Type: Array of ReservedInstancesListing structures

The Reserved Instance listing.

Errors

There are no errors described for this operation.

CancelSpotFleetRequests

$result = $client->cancelSpotFleetRequests([/* ... */]);
$promise = $client->cancelSpotFleetRequestsAsync([/* ... */]);

Cancels the specified Spot Fleet requests.

After you cancel a Spot Fleet request, the Spot Fleet launches no new instances.

You must also specify whether a canceled Spot Fleet request should terminate its instances. If you choose to terminate the instances, the Spot Fleet request enters the cancelled_terminating state. Otherwise, the Spot Fleet request enters the cancelled_running state and the instances continue to run until they are interrupted or you terminate them manually.

Restrictions

  • You can delete up to 100 fleets in a single request. If you exceed the specified number, no fleets are deleted.

Parameter Syntax

$result = $client->cancelSpotFleetRequests([
    'DryRun' => true || false,
    'SpotFleetRequestIds' => ['<string>', ...], // REQUIRED
    'TerminateInstances' => true || false, // REQUIRED
]);

Parameter Details

Members
DryRun
Type: boolean

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.

SpotFleetRequestIds
Required: Yes
Type: Array of strings

The IDs of the Spot Fleet requests.

Constraint: You can specify up to 100 IDs in a single request.

TerminateInstances
Required: Yes
Type: boolean

Indicates whether to terminate the associated instances when the Spot Fleet request is canceled. The default is to terminate the instances.

To let the instances continue to run after the Spot Fleet request is canceled, specify no-terminate-instances.

Result Syntax

[
    'SuccessfulFleetRequests' => [
        [
            'CurrentSpotFleetRequestState' => 'submitted|active|cancelled|failed|cancelled_running|cancelled_terminating|modifying',
            'PreviousSpotFleetRequestState' => 'submitted|active|cancelled|failed|cancelled_running|cancelled_terminating|modifying',
            'SpotFleetRequestId' => '<string>',
        ],
        // ...
    ],
    'UnsuccessfulFleetRequests' => [
        [
            'Error' => [
                'Code' => 'fleetRequestIdDoesNotExist|fleetRequestIdMalformed|fleetRequestNotInCancellableState|unexpectedError',
                'Message' => '<string>',
            ],
            'SpotFleetRequestId' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
SuccessfulFleetRequests
Type: Array of CancelSpotFleetRequestsSuccessItem structures

Information about the Spot Fleet requests that are successfully canceled.

UnsuccessfulFleetRequests
Type: Array of CancelSpotFleetRequestsErrorItem structures

Information about the Spot Fleet requests that are not successfully canceled.

Errors

There are no errors described for this operation.

Examples

Example 1: To cancel a Spot fleet request

This example cancels the specified Spot fleet request and terminates its associated Spot Instances.

$result = $client->cancelSpotFleetRequests([
    'SpotFleetRequestIds' => [
        'sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE',
    ],
    'TerminateInstances' => 1,
]);

Result syntax:

[
    'SuccessfulFleetRequests' => [
        [
            'CurrentSpotFleetRequestState' => 'cancelled_running',
            'PreviousSpotFleetRequestState' => 'active',
            'SpotFleetRequestId' => 'sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE',
        ],
    ],
]
Example 2: To cancel a Spot fleet request without terminating its Spot Instances

This example cancels the specified Spot fleet request without terminating its associated Spot Instances.

$result = $client->cancelSpotFleetRequests([
    'SpotFleetRequestIds' => [
        'sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE',
    ],
    'TerminateInstances' => ,
]);

Result syntax:

[
    'SuccessfulFleetRequests' => [
        [
            'CurrentSpotFleetRequestState' => 'cancelled_terminating',
            'PreviousSpotFleetRequestState' => 'active',
            'SpotFleetRequestId' => 'sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE',
        ],
    ],
]

CancelSpotInstanceRequests

$result = $client->cancelSpotInstanceRequests([/* ... */]);
$promise = $client->cancelSpotInstanceRequestsAsync([/* ... */]);

Cancels one or more Spot Instance requests.

Canceling a Spot Instance request does not terminate running Spot Instances associated with the request.

Parameter Syntax

$result = $client->cancelSpotInstanceRequests([
    'DryRun' => true || false,
    'SpotInstanceRequestIds' => ['<string>', ...], // REQUIRED
]);

Parameter Details

Members
DryRun
Type: boolean

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.

SpotInstanceRequestIds
Required: Yes
Type: Array of strings

The IDs of the Spot Instance requests.

Result Syntax

[
    'CancelledSpotInstanceRequests' => [
        [
            'SpotInstanceRequestId' => '<string>',
            'State' => 'active|open|closed|cancelled|completed',
        ],
        // ...
    ],
]

Result Details

Members
CancelledSpotInstanceRequests
Type: Array of CancelledSpotInstanceRequest structures

The Spot Instance requests.

Errors

There are no errors described for this operation.

Examples

Example 1: To cancel Spot Instance requests

This example cancels a Spot Instance request.

$result = $client->cancelSpotInstanceRequests([
    'SpotInstanceRequestIds' => [
        'sir-08b93456',
    ],
]);

Result syntax:

[
    'CancelledSpotInstanceRequests' => [
        [
            'SpotInstanceRequestId' => 'sir-08b93456',
            'State' => 'cancelled',
        ],
    ],
]

ConfirmProductInstance

$result = $client->confirmProductInstance([/* ... */]);
$promise = $client->confirmProductInstanceAsync([/* ... */]);

Determines whether a product code is associated with an instance. This action can only be used by the owner of the product code. It is useful when a product code owner must verify whether another user's instance is eligible for support.

Parameter Syntax

$result = $client->confirmProductInstance([
    'DryRun' => true || false,
    'InstanceId' => '<string>', // REQUIRED
    'ProductCode' => '<string>', // REQUIRED
]);

Parameter Details

Members
DryRun
Type: boolean

Checks whether you have the required permissions for the operation, 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.

InstanceId
Required: Yes
Type: string

The ID of the instance.

ProductCode
Required: Yes
Type: string

The product code. This must be a product code that you own.

Result Syntax

[
    'OwnerId' => '<string>',
    'Return' => true || false,
]

Result Details

Members
OwnerId
Type: string

The Amazon Web Services account ID of the instance owner. This is only present if the product code is attached to the instance.

Return
Type: boolean

The return value of the request. Returns true if the specified product code is owned by the requester and associated with the specified instance.

Errors

There are no errors described for this operation.

Examples

Example 1: To confirm the product instance

This example determines whether the specified product code is associated with the specified instance.

$result = $client->confirmProductInstance([
    'InstanceId' => 'i-1234567890abcdef0',
    'ProductCode' => '774F4FF8',
]);

Result syntax:

[
    'OwnerId' => '123456789012',
]

CopyFpgaImage

$result = $client->copyFpgaImage([/* ... */]);
$promise = $client->copyFpgaImageAsync([/* ... */]);

Copies the specified Amazon FPGA Image (AFI) to the current Region.

Parameter Syntax

$result = $client->copyFpgaImage([
    'ClientToken' => '<string>',
    'Description' => '<string>',
    'DryRun' => true || false,
    'Name' => '<string>',
    'SourceFpgaImageId' => '<string>', // REQUIRED
    'SourceRegion' => '<string>', // REQUIRED
]);

Parameter Details

Members
ClientToken
Type: string

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

Description
Type: string

The description for the new AFI.

DryRun
Type: boolean

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.

Name
Type: string

The name for the new AFI. The default is the name of the source AFI.

SourceFpgaImageId
Required: Yes
Type: string

The ID of the source AFI.

SourceRegion
Required: Yes
Type: string

The Region that contains the source AFI.

Result Syntax

[
    'FpgaImageId' => '<string>',
]

Result Details

Members
FpgaImageId
Type: string

The ID of the new AFI.

Errors

There are no errors described for this operation.

CopyImage

$result = $client->copyImage([/* ... */]);
$promise = $client->copyImageAsync([/* ... */]);

Initiates an AMI copy operation. You can copy an AMI from one Region to another, or from a Region to an Outpost. You can't copy an AMI from an Outpost to a Region, from one Outpost to another, or within the same Outpost. To copy an AMI to another partition, see CreateStoreImageTask.

When you copy an AMI from one Region to another, the destination Region is the current Region.

When you copy an AMI from a Region to an Outpost, specify the ARN of the Outpost as the destination. Backing snapshots copied to an Outpost are encrypted by default using the default encryption key for the Region or the key that you specify. Outposts do not support unencrypted snapshots.

For information about the prerequisites when copying an AMI, see Copy an AMI in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->copyImage([
    'ClientToken' => '<string>',
    'CopyImageTags' => true || false,
    'Description' => '<string>',
    'DestinationOutpostArn' => '<string>',
    'DryRun' => true || false,
    'Encrypted' => true || false,
    'KmsKeyId' => '<string>',
    'Name' => '<string>', // REQUIRED
    'SourceImageId' => '<string>', // REQUIRED
    'SourceRegion' => '<string>', // REQUIRED
    'TagSpecifications' => [
        [
            'ResourceType' => 'capacity-reservation|client-vpn-endpoint|customer-gateway|carrier-gateway|coip-pool|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|instance-event-window|internet-gateway|ipam|ipam-pool|ipam-scope|ipv4pool-ec2|ipv6pool-ec2|key-pair|launch-template|local-gateway|local-gateway-route-table|local-gateway-virtual-interface|local-gateway-virtual-interface-group|local-gateway-route-table-vpc-association|local-gateway-route-table-virtual-interface-group-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|network-insights-access-scope|network-insights-access-scope-analysis|placement-group|prefix-list|replace-root-volume-task|reserved-instances|route-table|security-group|security-group-rule|snapshot|spot-fleet-request|spot-instances-request|subnet|subnet-cidr-reservation|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-policy-table|transit-gateway-route-table|transit-gateway-route-table-announcement|volume|vpc|vpc-endpoint|vpc-endpoint-connection|vpc-endpoint-service|vpc-endpoint-service-permission|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log|capacity-reservation-fleet|traffic-mirror-filter-rule|vpc-endpoint-connection-device-type|verified-access-instance|verified-access-group|verified-access-endpoint|verified-access-policy|verified-access-trust-provider|vpn-connection-device-type|vpc-block-public-access-exclusion|ipam-resource-discovery|ipam-resource-discovery-association|instance-connect-endpoint|ipam-external-resource-verification-token',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
]);

Parameter Details

Members
ClientToken
Type: string

Unique, case-sensitive identifier you provide to ensure idempotency of the request. For more information, see Ensuring idempotency in the Amazon EC2 API Reference.

CopyImageTags
Type: boolean

Indicates whether to include your user-defined AMI tags when copying the AMI.

The following tags will not be copied:

  • System tags (prefixed with aws:)

  • For public and shared AMIs, user-defined tags that are attached by other Amazon Web Services accounts

Default: Your user-defined AMI tags are not copied.

Description
Type: string

A description for the new AMI in the destination Region.

DestinationOutpostArn
Type: string

The Amazon Resource Name (ARN) of the Outpost to which to copy the AMI. Only specify this parameter when copying an AMI from an Amazon Web Services Region to an Outpost. The AMI must be in the Region of the destination Outpost. You cannot copy an AMI from an Outpost to a Region, from one Outpost to another, or within the same Outpost.

For more information, see Copy AMIs from an Amazon Web Services Region to an Outpost in the Amazon EBS User Guide.

DryRun
Type: boolean

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.

Encrypted
Type: boolean

Specifies whether the destination snapshots of the copied image should be encrypted. You can encrypt a copy of an unencrypted snapshot, but you cannot create an unencrypted copy of an encrypted snapshot. The default KMS key for Amazon EBS is used unless you specify a non-default Key Management Service (KMS) KMS key using KmsKeyId. For more information, see Use encryption with EBS-backed AMIs in the Amazon EC2 User Guide.

KmsKeyId
Type: string

The identifier of the symmetric Key Management Service (KMS) KMS key to use when creating encrypted volumes. If this parameter is not specified, your Amazon Web Services managed KMS key for Amazon EBS is used. If you specify a KMS key, you must also set the encrypted state to true.

You can specify a KMS key using any of the following:

  • Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.

  • Key alias. For example, alias/ExampleAlias.

  • Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.

  • Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

Amazon Web Services authenticates the KMS key asynchronously. Therefore, if you specify an identifier that is not valid, the action can appear to complete, but eventually fails.

The specified KMS key must exist in the destination Region.

Amazon EBS does not support asymmetric KMS keys.

Name
Required: Yes
Type: string

The name of the new AMI in the destination Region.

SourceImageId
Required: Yes
Type: string

The ID of the AMI to copy.

SourceRegion
Required: Yes
Type: string

The name of the Region that contains the AMI to copy.

TagSpecifications
Type: Array of TagSpecification structures

The tags to apply to the new AMI and new snapshots. You can tag the AMI, the snapshots, or both.

  • To tag the new AMI, the value for ResourceType must be image.

  • To tag the new snapshots, the value for ResourceType must be snapshot. The same tag is applied to all the new snapshots.

If you specify other values for ResourceType, the request fails.

To tag an AMI or snapshot after it has been created, see CreateTags.

Result Syntax

[
    'ImageId' => '<string>',
]

Result Details

Members
ImageId
Type: string

The ID of the new AMI.

Errors

There are no errors described for this operation.

Examples

Example 1: To copy an AMI to another region

This example copies the specified AMI from the us-east-1 region to the current region.

$result = $client->copyImage([
    'Description' => '',
    'Name' => 'My server',
    'SourceImageId' => 'ami-5731123e',
    'SourceRegion' => 'us-east-1',
]);

Result syntax:

[
    'ImageId' => 'ami-438bea42',
]

CopySnapshot

$result = $client->copySnapshot([/* ... */]);
$promise = $client->copySnapshotAsync([/* ... */]);

Copies a point-in-time snapshot of an EBS volume and stores it in Amazon S3. You can copy a snapshot within the same Region, from one Region to another, or from a Region to an Outpost. You can't copy a snapshot from an Outpost to a Region, from one Outpost to another, or within the same Outpost.

You can use the snapshot to create EBS volumes or Amazon Machine Images (AMIs).

When copying snapshots to a Region, copies of encrypted EBS snapshots remain encrypted. Copies of unencrypted snapshots remain unencrypted, unless you enable encryption for the snapshot copy operation. By default, encrypted snapshot copies use the default KMS key; however, you can specify a different KMS key. To copy an encrypted snapshot that has been shared from another account, you must have permissions for the KMS key used to encrypt the snapshot.

Snapshots copied to an Outpost are encrypted by default using the default encryption key for the Region, or a different key that you specify in the request using KmsKeyId. Outposts do not support unencrypted snapshots. For more information, Amazon EBS local snapshots on Outposts in the Amazon EBS User Guide.

Snapshots created by copying another snapshot have an arbitrary volume ID that should not be used for any purpose.

For more information, see Copy an Amazon EBS snapshot in the Amazon EBS User Guide.

Parameter Syntax

$result = $client->copySnapshot([
    'CompletionDurationMinutes' => <integer>,
    'Description' => '<string>',
    'DestinationOutpostArn' => '<string>',
    'DestinationRegion' => '<string>',
    'DryRun' => true || false,
    'Encrypted' => true || false,
    'KmsKeyId' => '<string>',
    'PresignedUrl' => '<string>',
    'SourceRegion' => '<string>', // REQUIRED
    'SourceSnapshotId' => '<string>', // REQUIRED
    'TagSpecifications' => [
        [
            'ResourceType' => 'capacity-reservation|client-vpn-endpoint|customer-gateway|carrier-gateway|coip-pool|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|instance-event-window|internet-gateway|ipam|ipam-pool|ipam-scope|ipv4pool-ec2|ipv6pool-ec2|key-pair|launch-template|local-gateway|local-gateway-route-table|local-gateway-virtual-interface|local-gateway-virtual-interface-group|local-gateway-route-table-vpc-association|local-gateway-route-table-virtual-interface-group-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|network-insights-access-scope|network-insights-access-scope-analysis|placement-group|prefix-list|replace-root-volume-task|reserved-instances|route-table|security-group|security-group-rule|snapshot|spot-fleet-request|spot-instances-request|subnet|subnet-cidr-reservation|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-policy-table|transit-gateway-route-table|transit-gateway-route-table-announcement|volume|vpc|vpc-endpoint|vpc-endpoint-connection|vpc-endpoint-service|vpc-endpoint-service-permission|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log|capacity-reservation-fleet|traffic-mirror-filter-rule|vpc-endpoint-connection-device-type|verified-access-instance|verified-access-group|verified-access-endpoint|verified-access-policy|verified-access-trust-provider|vpn-connection-device-type|vpc-block-public-access-exclusion|ipam-resource-discovery|ipam-resource-discovery-association|instance-connect-endpoint|ipam-external-resource-verification-token',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
]);

Parameter Details

Members
CompletionDurationMinutes
Type: int

Specify a completion duration, in 15 minute increments, to initiate a time-based snapshot copy. Time-based snapshot copy operations complete within the specified duration. For more information, see Time-based copies.

If you do not specify a value, the snapshot copy operation is completed on a best-effort basis.

Description
Type: string

A description for the EBS snapshot.

DestinationOutpostArn
Type: string

The Amazon Resource Name (ARN) of the Outpost to which to copy the snapshot. Only specify this parameter when copying a snapshot from an Amazon Web Services Region to an Outpost. The snapshot must be in the Region for the destination Outpost. You cannot copy a snapshot from an Outpost to a Region, from one Outpost to another, or within the same Outpost.

For more information, see Copy snapshots from an Amazon Web Services Region to an Outpost in the Amazon EBS User Guide.

DestinationRegion
Type: string
The SDK will populate this parameter on your behalf using the configured region value of the client.
DryRun
Type: boolean

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.

Encrypted
Type: boolean

To encrypt a copy of an unencrypted snapshot if encryption by default is not enabled, enable encryption using this parameter. Otherwise, omit this parameter. Encrypted snapshots are encrypted, even if you omit this parameter and encryption by default is not enabled. You cannot set this parameter to false. For more information, see Amazon EBS encryption in the Amazon EBS User Guide.

KmsKeyId
Type: string

The identifier of the KMS key to use for Amazon EBS encryption. If this parameter is not specified, your KMS key for Amazon EBS is used. If KmsKeyId is specified, the encrypted state must be true.

You can specify the KMS key using any of the following:

  • Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.

  • Key alias. For example, alias/ExampleAlias.

  • Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.

  • Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

Amazon Web Services authenticates the KMS key asynchronously. Therefore, if you specify an ID, alias, or ARN that is not valid, the action can appear to complete, but eventually fails.

PresignedUrl
Type: string

When you copy an encrypted source snapshot using the Amazon EC2 Query API, you must supply a pre-signed URL. This parameter is optional for unencrypted snapshots. For more information, see Query requests.

The PresignedUrl should use the snapshot source endpoint, the CopySnapshot action, and include the SourceRegion, SourceSnapshotId, and DestinationRegion parameters. The PresignedUrl must be signed using Amazon Web Services Signature Version 4. Because EBS snapshots are stored in Amazon S3, the signing algorithm for this parameter uses the same logic that is described in Authenticating Requests: Using Query Parameters (Amazon Web Services Signature Version 4) in the Amazon S3 API Reference. An invalid or improperly signed PresignedUrl will cause the copy operation to fail asynchronously, and the snapshot will move to an error state.

SourceRegion
Required: Yes
Type: string

The ID of the Region that contains the snapshot to be copied.

SourceSnapshotId
Required: Yes
Type: string

The ID of the EBS snapshot to copy.

TagSpecifications
Type: Array of TagSpecification structures

The tags to apply to the new snapshot.

Result Syntax

[
    'SnapshotId' => '<string>',
    'Tags' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
SnapshotId
Type: string

The ID of the new snapshot.

Tags
Type: Array of Tag structures

Any tags applied to the new snapshot.

Errors

There are no errors described for this operation.

Examples

Example 1: To copy a snapshot

This example copies a snapshot with the snapshot ID of ``snap-066877671789bd71b`` from the ``us-west-2`` region to the ``us-east-1`` region and adds a short description to identify the snapshot.

$result = $client->copySnapshot([
    'Description' => 'This is my copied snapshot.',
    'DestinationRegion' => 'us-east-1',
    'SourceRegion' => 'us-west-2',
    'SourceSnapshotId' => 'snap-066877671789bd71b',
]);

Result syntax:

[
    'SnapshotId' => 'snap-066877671789bd71b',
]

CreateCapacityReservation

$result = $client->createCapacityReservation([/* ... */]);
$promise = $client->createCapacityReservationAsync([/* ... */]);

Creates a new Capacity Reservation with the specified attributes. Capacity Reservations enable you to reserve capacity for your Amazon EC2 instances in a specific Availability Zone for any duration.

You can create a Capacity Reservation at any time, and you can choose when it starts. You can create a Capacity Reservation for immediate use or you can request a Capacity Reservation for a future date.

For more information, see Reserve compute capacity with On-Demand Capacity Reservations in the Amazon EC2 User Guide.

Your request to create a Capacity Reservation could fail if:

  • Amazon EC2 does not have sufficient capacity. In this case, try again at a later time, try in a different Availability Zone, or request a smaller Capacity Reservation. If your workload is flexible across instance types and sizes, try with different instance attributes.

  • The requested quantity exceeds your On-Demand Instance quota. In this case, increase your On-Demand Instance quota for the requested instance type and try again. For more information, see Amazon EC2 Service Quotas in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->createCapacityReservation([
    'AvailabilityZone' => '<string>',
    'AvailabilityZoneId' => '<string>',
    'ClientToken' => '<string>',
    'CommitmentDuration' => <integer>,
    'DeliveryPreference' => 'fixed|incremental',
    'DryRun' => true || false,
    'EbsOptimized' => true || false,
    'EndDate' => <integer || string || DateTime>,
    'EndDateType' => 'unlimited|limited',
    'EphemeralStorage' => true || false,
    'InstanceCount' => <integer>, // REQUIRED
    'InstanceMatchCriteria' => 'open|targeted',
    'InstancePlatform' => 'Linux/UNIX|Red Hat Enterprise Linux|SUSE Linux|Windows|Windows with SQL Server|Windows with SQL Server Enterprise|Windows with SQL Server Standard|Windows with SQL Server Web|Linux with SQL Server Standard|Linux with SQL Server Web|Linux with SQL Server Enterprise|RHEL with SQL Server Standard|RHEL with SQL Server Enterprise|RHEL with SQL Server Web|RHEL with HA|RHEL with HA and SQL Server Standard|RHEL with HA and SQL Server Enterprise|Ubuntu Pro', // REQUIRED
    'InstanceType' => '<string>', // REQUIRED
    'OutpostArn' => '<string>',
    'PlacementGroupArn' => '<string>',
    'StartDate' => <integer || string || DateTime>,
    'TagSpecifications' => [
        [
            'ResourceType' => 'capacity-reservation|client-vpn-endpoint|customer-gateway|carrier-gateway|coip-pool|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|instance-event-window|internet-gateway|ipam|ipam-pool|ipam-scope|ipv4pool-ec2|ipv6pool-ec2|key-pair|launch-template|local-gateway|local-gateway-route-table|local-gateway-virtual-interface|local-gateway-virtual-interface-group|local-gateway-route-table-vpc-association|local-gateway-route-table-virtual-interface-group-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|network-insights-access-scope|network-insights-access-scope-analysis|placement-group|prefix-list|replace-root-volume-task|reserved-instances|route-table|security-group|security-group-rule|snapshot|spot-fleet-request|spot-instances-request|subnet|subnet-cidr-reservation|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-policy-table|transit-gateway-route-table|transit-gateway-route-table-announcement|volume|vpc|vpc-endpoint|vpc-endpoint-connection|vpc-endpoint-service|vpc-endpoint-service-permission|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log|capacity-reservation-fleet|traffic-mirror-filter-rule|vpc-endpoint-connection-device-type|verified-access-instance|verified-access-group|verified-access-endpoint|verified-access-policy|verified-access-trust-provider|vpn-connection-device-type|vpc-block-public-access-exclusion|ipam-resource-discovery|ipam-resource-discovery-association|instance-connect-endpoint|ipam-external-resource-verification-token',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'Tenancy' => 'default|dedicated',
]);

Parameter Details

Members
AvailabilityZone
Type: string

The Availability Zone in which to create the Capacity Reservation.

AvailabilityZoneId
Type: string

The ID of the Availability Zone in which to create the Capacity Reservation.

ClientToken
Type: string

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

CommitmentDuration
Type: long (int|float)

Required for future-dated Capacity Reservations only. To create a Capacity Reservation for immediate use, omit this parameter.

Specify a commitment duration, in seconds, for the future-dated Capacity Reservation.

The commitment duration is a minimum duration for which you commit to having the future-dated Capacity Reservation in the active state in your account after it has been delivered.

For more information, see Commitment duration.

DeliveryPreference
Type: string

Required for future-dated Capacity Reservations only. To create a Capacity Reservation for immediate use, omit this parameter.

Indicates that the requested capacity will be delivered in addition to any running instances or reserved capacity that you have in your account at the requested date and time.

The only supported value is incremental.

DryRun
Type: boolean

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.

EbsOptimized
Type: boolean

Indicates whether the Capacity Reservation supports EBS-optimized instances. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS- optimized instance.

EndDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time at which the Capacity Reservation expires. When a Capacity Reservation expires, the reserved capacity is released and you can no longer launch instances into it. The Capacity Reservation's state changes to expired when it reaches its end date and time.

You must provide an EndDate value if EndDateType is limited. Omit EndDate if EndDateType is unlimited.

If the EndDateType is limited, the Capacity Reservation is cancelled within an hour from the specified time. For example, if you specify 5/31/2019, 13:30:55, the Capacity Reservation is guaranteed to end between 13:30:55 and 14:30:55 on 5/31/2019.

If you are requesting a future-dated Capacity Reservation, you can't specify an end date and time that is within the commitment duration.

EndDateType
Type: string

Indicates the way in which the Capacity Reservation ends. A Capacity Reservation can have one of the following end types:

  • unlimited - The Capacity Reservation remains active until you explicitly cancel it. Do not provide an EndDate if the EndDateType is unlimited.

  • limited - The Capacity Reservation expires automatically at a specified date and time. You must provide an EndDate value if the EndDateType value is limited.

EphemeralStorage
Type: boolean

Deprecated.

InstanceCount
Required: Yes
Type: int

The number of instances for which to reserve capacity.

You can request future-dated Capacity Reservations for an instance count with a minimum of 100 VPUs. For example, if you request a future-dated Capacity Reservation for m5.xlarge instances, you must request at least 25 instances (25 * m5.xlarge = 100 vCPUs).

Valid range: 1 - 1000

InstanceMatchCriteria
Type: string

Indicates the type of instance launches that the Capacity Reservation accepts. The options include:

  • open - The Capacity Reservation automatically matches all instances that have matching attributes (instance type, platform, and Availability Zone). Instances that have matching attributes run in the Capacity Reservation automatically without specifying any additional parameters.

  • targeted - The Capacity Reservation only accepts instances that have matching attributes (instance type, platform, and Availability Zone), and explicitly target the Capacity Reservation. This ensures that only permitted instances can use the reserved capacity.

If you are requesting a future-dated Capacity Reservation, you must specify targeted.

Default: open

InstancePlatform
Required: Yes
Type: string

The type of operating system for which to reserve capacity.

InstanceType
Required: Yes
Type: string

The instance type for which to reserve capacity.

You can request future-dated Capacity Reservations for instance types in the C, M, R, I, and T instance families only.

For more information, see Instance types in the Amazon EC2 User Guide.

OutpostArn
Type: string

Not supported for future-dated Capacity Reservations.

The Amazon Resource Name (ARN) of the Outpost on which to create the Capacity Reservation.

PlacementGroupArn
Type: string

Not supported for future-dated Capacity Reservations.

The Amazon Resource Name (ARN) of the cluster placement group in which to create the Capacity Reservation. For more information, see Capacity Reservations for cluster placement groups in the Amazon EC2 User Guide.

StartDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

Required for future-dated Capacity Reservations only. To create a Capacity Reservation for immediate use, omit this parameter.

The date and time at which the future-dated Capacity Reservation should become available for use, in the ISO8601 format in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ).

You can request a future-dated Capacity Reservation between 5 and 120 days in advance.

TagSpecifications
Type: Array of TagSpecification structures

The tags to apply to the Capacity Reservation during launch.

Tenancy
Type: string

Indicates the tenancy of the Capacity Reservation. A Capacity Reservation can have one of the following tenancy settings:

  • default - The Capacity Reservation is created on hardware that is shared with other Amazon Web Services accounts.

  • dedicated - The Capacity Reservation is created on single-tenant hardware that is dedicated to a single Amazon Web Services account.

Result Syntax

[
    'CapacityReservation' => [
        'AvailabilityZone' => '<string>',
        'AvailabilityZoneId' => '<string>',
        'AvailableInstanceCount' => <integer>,
        'CapacityAllocations' => [
            [
                'AllocationType' => 'used',
                'Count' => <integer>,
            ],
            // ...
        ],
        'CapacityReservationArn' => '<string>',
        'CapacityReservationFleetId' => '<string>',
        'CapacityReservationId' => '<string>',
        'CommitmentInfo' => [
            'CommitmentEndDate' => <DateTime>,
            'CommittedInstanceCount' => <integer>,
        ],
        'CreateDate' => <DateTime>,
        'DeliveryPreference' => 'fixed|incremental',
        'EbsOptimized' => true || false,
        'EndDate' => <DateTime>,
        'EndDateType' => 'unlimited|limited',
        'EphemeralStorage' => true || false,
        'InstanceMatchCriteria' => 'open|targeted',
        'InstancePlatform' => 'Linux/UNIX|Red Hat Enterprise Linux|SUSE Linux|Windows|Windows with SQL Server|Windows with SQL Server Enterprise|Windows with SQL Server Standard|Windows with SQL Server Web|Linux with SQL Server Standard|Linux with SQL Server Web|Linux with SQL Server Enterprise|RHEL with SQL Server Standard|RHEL with SQL Server Enterprise|RHEL with SQL Server Web|RHEL with HA|RHEL with HA and SQL Server Standard|RHEL with HA and SQL Server Enterprise|Ubuntu Pro',
        'InstanceType' => '<string>',
        'OutpostArn' => '<string>',
        'OwnerId' => '<string>',
        'PlacementGroupArn' => '<string>',
        'ReservationType' => 'default|capacity-block',
        'StartDate' => <DateTime>,
        'State' => 'active|expired|cancelled|pending|failed|scheduled|payment-pending|payment-failed|assessing|delayed|unsupported',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'Tenancy' => 'default|dedicated',
        'TotalInstanceCount' => <integer>,
        'UnusedReservationBillingOwnerId' => '<string>',
    ],
]

Result Details

Members
CapacityReservation
Type: CapacityReservation structure

Information about the Capacity Reservation.

Errors

There are no errors described for this operation.

CreateCapacityReservationBySplitting

$result = $client->createCapacityReservationBySplitting([/* ... */]);
$promise = $client->createCapacityReservationBySplittingAsync([/* ... */]);

Create a new Capacity Reservation by splitting the capacity of the source Capacity Reservation. The new Capacity Reservation will have the same attributes as the source Capacity Reservation except for tags. The source Capacity Reservation must be active and owned by your Amazon Web Services account.

Parameter Syntax

$result = $client->createCapacityReservationBySplitting([
    'ClientToken' => '<string>',
    'DryRun' => true || false,
    'InstanceCount' => <integer>, // REQUIRED
    'SourceCapacityReservationId' => '<string>', // REQUIRED
    'TagSpecifications' => [
        [
            'ResourceType' => 'capacity-reservation|client-vpn-endpoint|customer-gateway|carrier-gateway|coip-pool|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|instance-event-window|internet-gateway|ipam|ipam-pool|ipam-scope|ipv4pool-ec2|ipv6pool-ec2|key-pair|launch-template|local-gateway|local-gateway-route-table|local-gateway-virtual-interface|local-gateway-virtual-interface-group|local-gateway-route-table-vpc-association|local-gateway-route-table-virtual-interface-group-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|network-insights-access-scope|network-insights-access-scope-analysis|placement-group|prefix-list|replace-root-volume-task|reserved-instances|route-table|security-group|security-group-rule|snapshot|spot-fleet-request|spot-instances-request|subnet|subnet-cidr-reservation|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-policy-table|transit-gateway-route-table|transit-gateway-route-table-announcement|volume|vpc|vpc-endpoint|vpc-endpoint-connection|vpc-endpoint-service|vpc-endpoint-service-permission|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log|capacity-reservation-fleet|traffic-mirror-filter-rule|vpc-endpoint-connection-device-type|verified-access-instance|verified-access-group|verified-access-endpoint|verified-access-policy|verified-access-trust-provider|vpn-connection-device-type|vpc-block-public-access-exclusion|ipam-resource-discovery|ipam-resource-discovery-association|instance-connect-endpoint|ipam-external-resource-verification-token',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
]);

Parameter Details

Members
ClientToken
Type: string

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

DryRun
Type: boolean

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.

InstanceCount
Required: Yes
Type: int

The number of instances to split from the source Capacity Reservation.

SourceCapacityReservationId
Required: Yes
Type: string

The ID of the Capacity Reservation from which you want to split the capacity.

TagSpecifications
Type: Array of TagSpecification structures

The tags to apply to the new Capacity Reservation.

Result Syntax

[
    'DestinationCapacityReservation' => [
        'AvailabilityZone' => '<string>',
        'AvailabilityZoneId' => '<string>',
        'AvailableInstanceCount' => <integer>,
        'CapacityAllocations' => [
            [
                'AllocationType' => 'used',
                'Count' => <integer>,
            ],
            // ...
        ],
        'CapacityReservationArn' => '<string>',
        'CapacityReservationFleetId' => '<string>',
        'CapacityReservationId' => '<string>',
        'CommitmentInfo' => [
            'CommitmentEndDate' => <DateTime>,
            'CommittedInstanceCount' => <integer>,
        ],
        'CreateDate' => <DateTime>,
        'DeliveryPreference' => 'fixed|incremental',
        'EbsOptimized' => true || false,
        'EndDate' => <DateTime>,
        'EndDateType' => 'unlimited|limited',
        'EphemeralStorage' => true || false,
        'InstanceMatchCriteria' => 'open|targeted',
        'InstancePlatform' => 'Linux/UNIX|Red Hat Enterprise Linux|SUSE Linux|Windows|Windows with SQL Server|Windows with SQL Server Enterprise|Windows with SQL Server Standard|Windows with SQL Server Web|Linux with SQL Server Standard|Linux with SQL Server Web|Linux with SQL Server Enterprise|RHEL with SQL Server Standard|RHEL with SQL Server Enterprise|RHEL with SQL Server Web|RHEL with HA|RHEL with HA and SQL Server Standard|RHEL with HA and SQL Server Enterprise|Ubuntu Pro',
        'InstanceType' => '<string>',
        'OutpostArn' => '<string>',
        'OwnerId' => '<string>',
        'PlacementGroupArn' => '<string>',
        'ReservationType' => 'default|capacity-block',
        'StartDate' => <DateTime>,
        'State' => 'active|expired|cancelled|pending|failed|scheduled|payment-pending|payment-failed|assessing|delayed|unsupported',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'Tenancy' => 'default|dedicated',
        'TotalInstanceCount' => <integer>,
        'UnusedReservationBillingOwnerId' => '<string>',
    ],
    'InstanceCount' => <integer>,
    'SourceCapacityReservation' => [
        'AvailabilityZone' => '<string>',
        'AvailabilityZoneId' => '<string>',
        'AvailableInstanceCount' => <integer>,
        'CapacityAllocations' => [
            [
                'AllocationType' => 'used',
                'Count' => <integer>,
            ],
            // ...
        ],
        'CapacityReservationArn' => '<string>',
        'CapacityReservationFleetId' => '<string>',
        'CapacityReservationId' => '<string>',
        'CommitmentInfo' => [
            'CommitmentEndDate' => <DateTime>,
            'CommittedInstanceCount' => <integer>,
        ],
        'CreateDate' => <DateTime>,
        'DeliveryPreference' => 'fixed|incremental',
        'EbsOptimized' => true || false,
        'EndDate' => <DateTime>,
        'EndDateType' => 'unlimited|limited',
        'EphemeralStorage' => true || false,
        'InstanceMatchCriteria' => 'open|targeted',
        'InstancePlatform' => 'Linux/UNIX|Red Hat Enterprise Linux|SUSE Linux|Windows|Windows with SQL Server|Windows with SQL Server Enterprise|Windows with SQL Server Standard|Windows with SQL Server Web|Linux with SQL Server Standard|Linux with SQL Server Web|Linux with SQL Server Enterprise|RHEL with SQL Server Standard|RHEL with SQL Server Enterprise|RHEL with SQL Server Web|RHEL with HA|RHEL with HA and SQL Server Standard|RHEL with HA and SQL Server Enterprise|Ubuntu Pro',
        'InstanceType' => '<string>',
        'OutpostArn' => '<string>',
        'OwnerId' => '<string>',
        'PlacementGroupArn' => '<string>',
        'ReservationType' => 'default|capacity-block',
        'StartDate' => <DateTime>,
        'State' => 'active|expired|cancelled|pending|failed|scheduled|payment-pending|payment-failed|assessing|delayed|unsupported',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'Tenancy' => 'default|dedicated',
        'TotalInstanceCount' => <integer>,
        'UnusedReservationBillingOwnerId' => '<string>',
    ],
]

Result Details

Members
DestinationCapacityReservation
Type: CapacityReservation structure

Information about the destination Capacity Reservation.

InstanceCount
Type: int

The number of instances in the new Capacity Reservation. The number of instances in the source Capacity Reservation was reduced by this amount.

SourceCapacityReservation
Type: CapacityReservation structure

Information about the source Capacity Reservation.

Errors

There are no errors described for this operation.

CreateCapacityReservationFleet

$result = $client->createCapacityReservationFleet([/* ... */]);
$promise = $client->createCapacityReservationFleetAsync([/* ... */]);

Creates a Capacity Reservation Fleet. For more information, see Create a Capacity Reservation Fleet in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->createCapacityReservationFleet([
    'AllocationStrategy' => '<string>',
    'ClientToken' => '<string>',
    'DryRun' => true || false,
    'EndDate' => <integer || string || DateTime>,
    'InstanceMatchCriteria' => 'open',
    'InstanceTypeSpecifications' => [ // REQUIRED
        [
            'AvailabilityZone' => '<string>',
            'AvailabilityZoneId' => '<string>',
            'EbsOptimized' => true || false,
            'InstancePlatform' => 'Linux/UNIX|Red Hat Enterprise Linux|SUSE Linux|Windows|Windows with SQL Server|Windows with SQL Server Enterprise|Windows with SQL Server Standard|Windows with SQL Server Web|Linux with SQL Server Standard|Linux with SQL Server Web|Linux with SQL Server Enterprise|RHEL with SQL Server Standard|RHEL with SQL Server Enterprise|RHEL with SQL Server Web|RHEL with HA|RHEL with HA and SQL Server Standard|RHEL with HA and SQL Server Enterprise|Ubuntu Pro',
            'InstanceType' => 'a1.medium|a1.large|a1.xlarge|a1.2xlarge|a1.4xlarge|a1.metal|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|c5a.large|c5a.xlarge|c5a.2xlarge|c5a.4xlarge|c5a.8xlarge|c5a.12xlarge|c5a.16xlarge|c5a.24xlarge|c5ad.large|c5ad.xlarge|c5ad.2xlarge|c5ad.4xlarge|c5ad.8xlarge|c5ad.12xlarge|c5ad.16xlarge|c5ad.24xlarge|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|c5n.metal|c6g.medium|c6g.large|c6g.xlarge|c6g.2xlarge|c6g.4xlarge|c6g.8xlarge|c6g.12xlarge|c6g.16xlarge|c6g.metal|c6gd.medium|c6gd.large|c6gd.xlarge|c6gd.2xlarge|c6gd.4xlarge|c6gd.8xlarge|c6gd.12xlarge|c6gd.16xlarge|c6gd.metal|c6gn.medium|c6gn.large|c6gn.xlarge|c6gn.2xlarge|c6gn.4xlarge|c6gn.8xlarge|c6gn.12xlarge|c6gn.16xlarge|c6i.large|c6i.xlarge|c6i.2xlarge|c6i.4xlarge|c6i.8xlarge|c6i.12xlarge|c6i.16xlarge|c6i.24xlarge|c6i.32xlarge|c6i.metal|cc1.4xlarge|cc2.8xlarge|cg1.4xlarge|cr1.8xlarge|d2.xlarge|d2.2xlarge|d2.4xlarge|d2.8xlarge|d3.xlarge|d3.2xlarge|d3.4xlarge|d3.8xlarge|d3en.xlarge|d3en.2xlarge|d3en.4xlarge|d3en.6xlarge|d3en.8xlarge|d3en.12xlarge|dl1.24xlarge|f1.2xlarge|f1.4xlarge|f1.16xlarge|g2.2xlarge|g2.8xlarge|g3.4xlarge|g3.8xlarge|g3.16xlarge|g3s.xlarge|g4ad.xlarge|g4ad.2xlarge|g4ad.4xlarge|g4ad.8xlarge|g4ad.16xlarge|g4dn.xlarge|g4dn.2xlarge|g4dn.4xlarge|g4dn.8xlarge|g4dn.12xlarge|g4dn.16xlarge|g4dn.metal|g5.xlarge|g5.2xlarge|g5.4xlarge|g5.8xlarge|g5.12xlarge|g5.16xlarge|g5.24xlarge|g5.48xlarge|g5g.xlarge|g5g.2xlarge|g5g.4xlarge|g5g.8xlarge|g5g.16xlarge|g5g.metal|hi1.4xlarge|hpc6a.48xlarge|hs1.8xlarge|h1.2xlarge|h1.4xlarge|h1.8xlarge|h1.16xlarge|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|im4gn.large|im4gn.xlarge|im4gn.2xlarge|im4gn.4xlarge|im4gn.8xlarge|im4gn.16xlarge|inf1.xlarge|inf1.2xlarge|inf1.6xlarge|inf1.24xlarge|is4gen.medium|is4gen.large|is4gen.xlarge|is4gen.2xlarge|is4gen.4xlarge|is4gen.8xlarge|m1.small|m1.medium|m1.large|m1.xlarge|m2.xlarge|m2.2xlarge|m2.4xlarge|m3.medium|m3.large|m3.xlarge|m3.2xlarge|m4.large|m4.xlarge|m4.2xlarge|m4.4xlarge|m4.10xlarge|m4.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|m5ad.large|m5ad.xlarge|m5ad.2xlarge|m5ad.4xlarge|m5ad.8xlarge|m5ad.12xlarge|m5ad.16xlarge|m5ad.24xlarge|m5d.large|m5d.xlarge|m5d.2xlarge|m5d.4xlarge|m5d.8xlarge|m5d.12xlarge|m5d.16xlarge|m5d.24xlarge|m5d.metal|m5dn.large|m5dn.xlarge|m5dn.2xlarge|m5dn.4xlarge|m5dn.8xlarge|m5dn.12xlarge|m5dn.16xlarge|m5dn.24xlarge|m5dn.metal|m5n.large|m5n.xlarge|m5n.2xlarge|m5n.4xlarge|m5n.8xlarge|m5n.12xlarge|m5n.16xlarge|m5n.24xlarge|m5n.metal|m5zn.large|m5zn.xlarge|m5zn.2xlarge|m5zn.3xlarge|m5zn.6xlarge|m5zn.12xlarge|m5zn.metal|m6a.large|m6a.xlarge|m6a.2xlarge|m6a.4xlarge|m6a.8xlarge|m6a.12xlarge|m6a.16xlarge|m6a.24xlarge|m6a.32xlarge|m6a.48xlarge|m6g.metal|m6g.medium|m6g.large|m6g.xlarge|m6g.2xlarge|m6g.4xlarge|m6g.8xlarge|m6g.12xlarge|m6g.16xlarge|m6gd.metal|m6gd.medium|m6gd.large|m6gd.xlarge|m6gd.2xlarge|m6gd.4xlarge|m6gd.8xlarge|m6gd.12xlarge|m6gd.16xlarge|m6i.large|m6i.xlarge|m6i.2xlarge|m6i.4xlarge|m6i.8xlarge|m6i.12xlarge|m6i.16xlarge|m6i.24xlarge|m6i.32xlarge|m6i.metal|mac1.metal|p2.xlarge|p2.8xlarge|p2.16xlarge|p3.2xlarge|p3.8xlarge|p3.16xlarge|p3dn.24xlarge|p4d.24xlarge|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|r5ad.large|r5ad.xlarge|r5ad.2xlarge|r5ad.4xlarge|r5ad.8xlarge|r5ad.12xlarge|r5ad.16xlarge|r5ad.24xlarge|r5b.large|r5b.xlarge|r5b.2xlarge|r5b.4xlarge|r5b.8xlarge|r5b.12xlarge|r5b.16xlarge|r5b.24xlarge|r5b.metal|r5d.large|r5d.xlarge|r5d.2xlarge|r5d.4xlarge|r5d.8xlarge|r5d.12xlarge|r5d.16xlarge|r5d.24xlarge|r5d.metal|r5dn.large|r5dn.xlarge|r5dn.2xlarge|r5dn.4xlarge|r5dn.8xlarge|r5dn.12xlarge|r5dn.16xlarge|r5dn.24xlarge|r5dn.metal|r5n.large|r5n.xlarge|r5n.2xlarge|r5n.4xlarge|r5n.8xlarge|r5n.12xlarge|r5n.16xlarge|r5n.24xlarge|r5n.metal|r6g.medium|r6g.large|r6g.xlarge|r6g.2xlarge|r6g.4xlarge|r6g.8xlarge|r6g.12xlarge|r6g.16xlarge|r6g.metal|r6gd.medium|r6gd.large|r6gd.xlarge|r6gd.2xlarge|r6gd.4xlarge|r6gd.8xlarge|r6gd.12xlarge|r6gd.16xlarge|r6gd.metal|r6i.large|r6i.xlarge|r6i.2xlarge|r6i.4xlarge|r6i.8xlarge|r6i.12xlarge|r6i.16xlarge|r6i.24xlarge|r6i.32xlarge|r6i.metal|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|t4g.nano|t4g.micro|t4g.small|t4g.medium|t4g.large|t4g.xlarge|t4g.2xlarge|u-6tb1.56xlarge|u-6tb1.112xlarge|u-9tb1.112xlarge|u-12tb1.112xlarge|u-6tb1.metal|u-9tb1.metal|u-12tb1.metal|u-18tb1.metal|u-24tb1.metal|vt1.3xlarge|vt1.6xlarge|vt1.24xlarge|x1.16xlarge|x1.32xlarge|x1e.xlarge|x1e.2xlarge|x1e.4xlarge|x1e.8xlarge|x1e.16xlarge|x1e.32xlarge|x2iezn.2xlarge|x2iezn.4xlarge|x2iezn.6xlarge|x2iezn.8xlarge|x2iezn.12xlarge|x2iezn.metal|x2gd.medium|x2gd.large|x2gd.xlarge|x2gd.2xlarge|x2gd.4xlarge|x2gd.8xlarge|x2gd.12xlarge|x2gd.16xlarge|x2gd.metal|z1d.large|z1d.xlarge|z1d.2xlarge|z1d.3xlarge|z1d.6xlarge|z1d.12xlarge|z1d.metal|x2idn.16xlarge|x2idn.24xlarge|x2idn.32xlarge|x2iedn.xlarge|x2iedn.2xlarge|x2iedn.4xlarge|x2iedn.8xlarge|x2iedn.16xlarge|x2iedn.24xlarge|x2iedn.32xlarge|c6a.large|c6a.xlarge|c6a.2xlarge|c6a.4xlarge|c6a.8xlarge|c6a.12xlarge|c6a.16xlarge|c6a.24xlarge|c6a.32xlarge|c6a.48xlarge|c6a.metal|m6a.metal|i4i.large|i4i.xlarge|i4i.2xlarge|i4i.4xlarge|i4i.8xlarge|i4i.16xlarge|i4i.32xlarge|i4i.metal|x2idn.metal|x2iedn.metal|c7g.medium|c7g.large|c7g.xlarge|c7g.2xlarge|c7g.4xlarge|c7g.8xlarge|c7g.12xlarge|c7g.16xlarge|mac2.metal|c6id.large|c6id.xlarge|c6id.2xlarge|c6id.4xlarge|c6id.8xlarge|c6id.12xlarge|c6id.16xlarge|c6id.24xlarge|c6id.32xlarge|c6id.metal|m6id.large|m6id.xlarge|m6id.2xlarge|m6id.4xlarge|m6id.8xlarge|m6id.12xlarge|m6id.16xlarge|m6id.24xlarge|m6id.32xlarge|m6id.metal|r6id.large|r6id.xlarge|r6id.2xlarge|r6id.4xlarge|r6id.8xlarge|r6id.12xlarge|r6id.16xlarge|r6id.24xlarge|r6id.32xlarge|r6id.metal|r6a.large|r6a.xlarge|r6a.2xlarge|r6a.4xlarge|r6a.8xlarge|r6a.12xlarge|r6a.16xlarge|r6a.24xlarge|r6a.32xlarge|r6a.48xlarge|r6a.metal|p4de.24xlarge|u-3tb1.56xlarge|u-18tb1.112xlarge|u-24tb1.112xlarge|trn1.2xlarge|trn1.32xlarge|hpc6id.32xlarge|c6in.large|c6in.xlarge|c6in.2xlarge|c6in.4xlarge|c6in.8xlarge|c6in.12xlarge|c6in.16xlarge|c6in.24xlarge|c6in.32xlarge|m6in.large|m6in.xlarge|m6in.2xlarge|m6in.4xlarge|m6in.8xlarge|m6in.12xlarge|m6in.16xlarge|m6in.24xlarge|m6in.32xlarge|m6idn.large|m6idn.xlarge|m6idn.2xlarge|m6idn.4xlarge|m6idn.8xlarge|m6idn.12xlarge|m6idn.16xlarge|m6idn.24xlarge|m6idn.32xlarge|r6in.large|r6in.xlarge|r6in.2xlarge|r6in.4xlarge|r6in.8xlarge|r6in.12xlarge|r6in.16xlarge|r6in.24xlarge|r6in.32xlarge|r6idn.large|r6idn.xlarge|r6idn.2xlarge|r6idn.4xlarge|r6idn.8xlarge|r6idn.12xlarge|r6idn.16xlarge|r6idn.24xlarge|r6idn.32xlarge|c7g.metal|m7g.medium|m7g.large|m7g.xlarge|m7g.2xlarge|m7g.4xlarge|m7g.8xlarge|m7g.12xlarge|m7g.16xlarge|m7g.metal|r7g.medium|r7g.large|r7g.xlarge|r7g.2xlarge|r7g.4xlarge|r7g.8xlarge|r7g.12xlarge|r7g.16xlarge|r7g.metal|c6in.metal|m6in.metal|m6idn.metal|r6in.metal|r6idn.metal|inf2.xlarge|inf2.8xlarge|inf2.24xlarge|inf2.48xlarge|trn1n.32xlarge|i4g.large|i4g.xlarge|i4g.2xlarge|i4g.4xlarge|i4g.8xlarge|i4g.16xlarge|hpc7g.4xlarge|hpc7g.8xlarge|hpc7g.16xlarge|c7gn.medium|c7gn.large|c7gn.xlarge|c7gn.2xlarge|c7gn.4xlarge|c7gn.8xlarge|c7gn.12xlarge|c7gn.16xlarge|p5.48xlarge|m7i.large|m7i.xlarge|m7i.2xlarge|m7i.4xlarge|m7i.8xlarge|m7i.12xlarge|m7i.16xlarge|m7i.24xlarge|m7i.48xlarge|m7i-flex.large|m7i-flex.xlarge|m7i-flex.2xlarge|m7i-flex.4xlarge|m7i-flex.8xlarge|m7a.medium|m7a.large|m7a.xlarge|m7a.2xlarge|m7a.4xlarge|m7a.8xlarge|m7a.12xlarge|m7a.16xlarge|m7a.24xlarge|m7a.32xlarge|m7a.48xlarge|m7a.metal-48xl|hpc7a.12xlarge|hpc7a.24xlarge|hpc7a.48xlarge|hpc7a.96xlarge|c7gd.medium|c7gd.large|c7gd.xlarge|c7gd.2xlarge|c7gd.4xlarge|c7gd.8xlarge|c7gd.12xlarge|c7gd.16xlarge|m7gd.medium|m7gd.large|m7gd.xlarge|m7gd.2xlarge|m7gd.4xlarge|m7gd.8xlarge|m7gd.12xlarge|m7gd.16xlarge|r7gd.medium|r7gd.large|r7gd.xlarge|r7gd.2xlarge|r7gd.4xlarge|r7gd.8xlarge|r7gd.12xlarge|r7gd.16xlarge|r7a.medium|r7a.large|r7a.xlarge|r7a.2xlarge|r7a.4xlarge|r7a.8xlarge|r7a.12xlarge|r7a.16xlarge|r7a.24xlarge|r7a.32xlarge|r7a.48xlarge|c7i.large|c7i.xlarge|c7i.2xlarge|c7i.4xlarge|c7i.8xlarge|c7i.12xlarge|c7i.16xlarge|c7i.24xlarge|c7i.48xlarge|mac2-m2pro.metal|r7iz.large|r7iz.xlarge|r7iz.2xlarge|r7iz.4xlarge|r7iz.8xlarge|r7iz.12xlarge|r7iz.16xlarge|r7iz.32xlarge|c7a.medium|c7a.large|c7a.xlarge|c7a.2xlarge|c7a.4xlarge|c7a.8xlarge|c7a.12xlarge|c7a.16xlarge|c7a.24xlarge|c7a.32xlarge|c7a.48xlarge|c7a.metal-48xl|r7a.metal-48xl|r7i.large|r7i.xlarge|r7i.2xlarge|r7i.4xlarge|r7i.8xlarge|r7i.12xlarge|r7i.16xlarge|r7i.24xlarge|r7i.48xlarge|dl2q.24xlarge|mac2-m2.metal|i4i.12xlarge|i4i.24xlarge|c7i.metal-24xl|c7i.metal-48xl|m7i.metal-24xl|m7i.metal-48xl|r7i.metal-24xl|r7i.metal-48xl|r7iz.metal-16xl|r7iz.metal-32xl|c7gd.metal|m7gd.metal|r7gd.metal|g6.xlarge|g6.2xlarge|g6.4xlarge|g6.8xlarge|g6.12xlarge|g6.16xlarge|g6.24xlarge|g6.48xlarge|gr6.4xlarge|gr6.8xlarge|c7i-flex.large|c7i-flex.xlarge|c7i-flex.2xlarge|c7i-flex.4xlarge|c7i-flex.8xlarge|u7i-12tb.224xlarge|u7in-16tb.224xlarge|u7in-24tb.224xlarge|u7in-32tb.224xlarge|u7ib-12tb.224xlarge|c7gn.metal|r8g.medium|r8g.large|r8g.xlarge|r8g.2xlarge|r8g.4xlarge|r8g.8xlarge|r8g.12xlarge|r8g.16xlarge|r8g.24xlarge|r8g.48xlarge|r8g.metal-24xl|r8g.metal-48xl|mac2-m1ultra.metal|g6e.xlarge|g6e.2xlarge|g6e.4xlarge|g6e.8xlarge|g6e.12xlarge|g6e.16xlarge|g6e.24xlarge|g6e.48xlarge|c8g.medium|c8g.large|c8g.xlarge|c8g.2xlarge|c8g.4xlarge|c8g.8xlarge|c8g.12xlarge|c8g.16xlarge|c8g.24xlarge|c8g.48xlarge|c8g.metal-24xl|c8g.metal-48xl|m8g.medium|m8g.large|m8g.xlarge|m8g.2xlarge|m8g.4xlarge|m8g.8xlarge|m8g.12xlarge|m8g.16xlarge|m8g.24xlarge|m8g.48xlarge|m8g.metal-24xl|m8g.metal-48xl|x8g.medium|x8g.large|x8g.xlarge|x8g.2xlarge|x8g.4xlarge|x8g.8xlarge|x8g.12xlarge|x8g.16xlarge|x8g.24xlarge|x8g.48xlarge|x8g.metal-24xl|x8g.metal-48xl',
            'Priority' => <integer>,
            'Weight' => <float>,
        ],
        // ...
    ],
    'TagSpecifications' => [
        [
            'ResourceType' => 'capacity-reservation|client-vpn-endpoint|customer-gateway|carrier-gateway|coip-pool|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|instance-event-window|internet-gateway|ipam|ipam-pool|ipam-scope|ipv4pool-ec2|ipv6pool-ec2|key-pair|launch-template|local-gateway|local-gateway-route-table|local-gateway-virtual-interface|local-gateway-virtual-interface-group|local-gateway-route-table-vpc-association|local-gateway-route-table-virtual-interface-group-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|network-insights-access-scope|network-insights-access-scope-analysis|placement-group|prefix-list|replace-root-volume-task|reserved-instances|route-table|security-group|security-group-rule|snapshot|spot-fleet-request|spot-instances-request|subnet|subnet-cidr-reservation|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-policy-table|transit-gateway-route-table|transit-gateway-route-table-announcement|volume|vpc|vpc-endpoint|vpc-endpoint-connection|vpc-endpoint-service|vpc-endpoint-service-permission|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log|capacity-reservation-fleet|traffic-mirror-filter-rule|vpc-endpoint-connection-device-type|verified-access-instance|verified-access-group|verified-access-endpoint|verified-access-policy|verified-access-trust-provider|vpn-connection-device-type|vpc-block-public-access-exclusion|ipam-resource-discovery|ipam-resource-discovery-association|instance-connect-endpoint|ipam-external-resource-verification-token',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'Tenancy' => 'default',
    'TotalTargetCapacity' => <integer>, // REQUIRED
]);

Parameter Details

Members
AllocationStrategy
Type: string

The strategy used by the Capacity Reservation Fleet to determine which of the specified instance types to use. Currently, only the prioritized allocation strategy is supported. For more information, see Allocation strategy in the Amazon EC2 User Guide.

Valid values: prioritized

ClientToken
Type: string

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

DryRun
Type: boolean

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.

EndDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time at which the Capacity Reservation Fleet expires. When the Capacity Reservation Fleet expires, its state changes to expired and all of the Capacity Reservations in the Fleet expire.

The Capacity Reservation Fleet expires within an hour after the specified time. For example, if you specify 5/31/2019, 13:30:55, the Capacity Reservation Fleet is guaranteed to expire between 13:30:55 and 14:30:55 on 5/31/2019.

InstanceMatchCriteria
Type: string

Indicates the type of instance launches that the Capacity Reservation Fleet accepts. All Capacity Reservations in the Fleet inherit this instance matching criteria.

Currently, Capacity Reservation Fleets support open instance matching criteria only. This means that instances that have matching attributes (instance type, platform, and Availability Zone) run in the Capacity Reservations automatically. Instances do not need to explicitly target a Capacity Reservation Fleet to use its reserved capacity.

InstanceTypeSpecifications
Required: Yes
Type: Array of ReservationFleetInstanceSpecification structures

Information about the instance types for which to reserve the capacity.

TagSpecifications
Type: Array of TagSpecification structures

The tags to assign to the Capacity Reservation Fleet. The tags are automatically assigned to the Capacity Reservations in the Fleet.

Tenancy
Type: string

Indicates the tenancy of the Capacity Reservation Fleet. All Capacity Reservations in the Fleet inherit this tenancy. The Capacity Reservation Fleet can have one of the following tenancy settings:

  • default - The Capacity Reservation Fleet is created on hardware that is shared with other Amazon Web Services accounts.

  • dedicated - The Capacity Reservations are created on single-tenant hardware that is dedicated to a single Amazon Web Services account.

TotalTargetCapacity
Required: Yes
Type: int

The total number of capacity units to be reserved by the Capacity Reservation Fleet. This value, together with the instance type weights that you assign to each instance type used by the Fleet determine the number of instances for which the Fleet reserves capacity. Both values are based on units that make sense for your workload. For more information, see Total target capacity in the Amazon EC2 User Guide.

Result Syntax

[
    'AllocationStrategy' => '<string>',
    'CapacityReservationFleetId' => '<string>',
    'CreateTime' => <DateTime>,
    'EndDate' => <DateTime>,
    'FleetCapacityReservations' => [
        [
            'AvailabilityZone' => '<string>',
            'AvailabilityZoneId' => '<string>',
            'CapacityReservationId' => '<string>',
            'CreateDate' => <DateTime>,
            'EbsOptimized' => true || false,
            'FulfilledCapacity' => <float>,
            'InstancePlatform' => 'Linux/UNIX|Red Hat Enterprise Linux|SUSE Linux|Windows|Windows with SQL Server|Windows with SQL Server Enterprise|Windows with SQL Server Standard|Windows with SQL Server Web|Linux with SQL Server Standard|Linux with SQL Server Web|Linux with SQL Server Enterprise|RHEL with SQL Server Standard|RHEL with SQL Server Enterprise|RHEL with SQL Server Web|RHEL with HA|RHEL with HA and SQL Server Standard|RHEL with HA and SQL Server Enterprise|Ubuntu Pro',
            'InstanceType' => 'a1.medium|a1.large|a1.xlarge|a1.2xlarge|a1.4xlarge|a1.metal|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|c5a.large|c5a.xlarge|c5a.2xlarge|c5a.4xlarge|c5a.8xlarge|c5a.12xlarge|c5a.16xlarge|c5a.24xlarge|c5ad.large|c5ad.xlarge|c5ad.2xlarge|c5ad.4xlarge|c5ad.8xlarge|c5ad.12xlarge|c5ad.16xlarge|c5ad.24xlarge|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|c5n.metal|c6g.medium|c6g.large|c6g.xlarge|c6g.2xlarge|c6g.4xlarge|c6g.8xlarge|c6g.12xlarge|c6g.16xlarge|c6g.metal|c6gd.medium|c6gd.large|c6gd.xlarge|c6gd.2xlarge|c6gd.4xlarge|c6gd.8xlarge|c6gd.12xlarge|c6gd.16xlarge|c6gd.metal|c6gn.medium|c6gn.large|c6gn.xlarge|c6gn.2xlarge|c6gn.4xlarge|c6gn.8xlarge|c6gn.12xlarge|c6gn.16xlarge|c6i.large|c6i.xlarge|c6i.2xlarge|c6i.4xlarge|c6i.8xlarge|c6i.12xlarge|c6i.16xlarge|c6i.24xlarge|c6i.32xlarge|c6i.metal|cc1.4xlarge|cc2.8xlarge|cg1.4xlarge|cr1.8xlarge|d2.xlarge|d2.2xlarge|d2.4xlarge|d2.8xlarge|d3.xlarge|d3.2xlarge|d3.4xlarge|d3.8xlarge|d3en.xlarge|d3en.2xlarge|d3en.4xlarge|d3en.6xlarge|d3en.8xlarge|d3en.12xlarge|dl1.24xlarge|f1.2xlarge|f1.4xlarge|f1.16xlarge|g2.2xlarge|g2.8xlarge|g3.4xlarge|g3.8xlarge|g3.16xlarge|g3s.xlarge|g4ad.xlarge|g4ad.2xlarge|g4ad.4xlarge|g4ad.8xlarge|g4ad.16xlarge|g4dn.xlarge|g4dn.2xlarge|g4dn.4xlarge|g4dn.8xlarge|g4dn.12xlarge|g4dn.16xlarge|g4dn.metal|g5.xlarge|g5.2xlarge|g5.4xlarge|g5.8xlarge|g5.12xlarge|g5.16xlarge|g5.24xlarge|g5.48xlarge|g5g.xlarge|g5g.2xlarge|g5g.4xlarge|g5g.8xlarge|g5g.16xlarge|g5g.metal|hi1.4xlarge|hpc6a.48xlarge|hs1.8xlarge|h1.2xlarge|h1.4xlarge|h1.8xlarge|h1.16xlarge|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|im4gn.large|im4gn.xlarge|im4gn.2xlarge|im4gn.4xlarge|im4gn.8xlarge|im4gn.16xlarge|inf1.xlarge|inf1.2xlarge|inf1.6xlarge|inf1.24xlarge|is4gen.medium|is4gen.large|is4gen.xlarge|is4gen.2xlarge|is4gen.4xlarge|is4gen.8xlarge|m1.small|m1.medium|m1.large|m1.xlarge|m2.xlarge|m2.2xlarge|m2.4xlarge|m3.medium|m3.large|m3.xlarge|m3.2xlarge|m4.large|m4.xlarge|m4.2xlarge|m4.4xlarge|m4.10xlarge|m4.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|m5ad.large|m5ad.xlarge|m5ad.2xlarge|m5ad.4xlarge|m5ad.8xlarge|m5ad.12xlarge|m5ad.16xlarge|m5ad.24xlarge|m5d.large|m5d.xlarge|m5d.2xlarge|m5d.4xlarge|m5d.8xlarge|m5d.12xlarge|m5d.16xlarge|m5d.24xlarge|m5d.metal|m5dn.large|m5dn.xlarge|m5dn.2xlarge|m5dn.4xlarge|m5dn.8xlarge|m5dn.12xlarge|m5dn.16xlarge|m5dn.24xlarge|m5dn.metal|m5n.large|m5n.xlarge|m5n.2xlarge|m5n.4xlarge|m5n.8xlarge|m5n.12xlarge|m5n.16xlarge|m5n.24xlarge|m5n.metal|m5zn.large|m5zn.xlarge|m5zn.2xlarge|m5zn.3xlarge|m5zn.6xlarge|m5zn.12xlarge|m5zn.metal|m6a.large|m6a.xlarge|m6a.2xlarge|m6a.4xlarge|m6a.8xlarge|m6a.12xlarge|m6a.16xlarge|m6a.24xlarge|m6a.32xlarge|m6a.48xlarge|m6g.metal|m6g.medium|m6g.large|m6g.xlarge|m6g.2xlarge|m6g.4xlarge|m6g.8xlarge|m6g.12xlarge|m6g.16xlarge|m6gd.metal|m6gd.medium|m6gd.large|m6gd.xlarge|m6gd.2xlarge|m6gd.4xlarge|m6gd.8xlarge|m6gd.12xlarge|m6gd.16xlarge|m6i.large|m6i.xlarge|m6i.2xlarge|m6i.4xlarge|m6i.8xlarge|m6i.12xlarge|m6i.16xlarge|m6i.24xlarge|m6i.32xlarge|m6i.metal|mac1.metal|p2.xlarge|p2.8xlarge|p2.16xlarge|p3.2xlarge|p3.8xlarge|p3.16xlarge|p3dn.24xlarge|p4d.24xlarge|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|r5ad.large|r5ad.xlarge|r5ad.2xlarge|r5ad.4xlarge|r5ad.8xlarge|r5ad.12xlarge|r5ad.16xlarge|r5ad.24xlarge|r5b.large|r5b.xlarge|r5b.2xlarge|r5b.4xlarge|r5b.8xlarge|r5b.12xlarge|r5b.16xlarge|r5b.24xlarge|r5b.metal|r5d.large|r5d.xlarge|r5d.2xlarge|r5d.4xlarge|r5d.8xlarge|r5d.12xlarge|r5d.16xlarge|r5d.24xlarge|r5d.metal|r5dn.large|r5dn.xlarge|r5dn.2xlarge|r5dn.4xlarge|r5dn.8xlarge|r5dn.12xlarge|r5dn.16xlarge|r5dn.24xlarge|r5dn.metal|r5n.large|r5n.xlarge|r5n.2xlarge|r5n.4xlarge|r5n.8xlarge|r5n.12xlarge|r5n.16xlarge|r5n.24xlarge|r5n.metal|r6g.medium|r6g.large|r6g.xlarge|r6g.2xlarge|r6g.4xlarge|r6g.8xlarge|r6g.12xlarge|r6g.16xlarge|r6g.metal|r6gd.medium|r6gd.large|r6gd.xlarge|r6gd.2xlarge|r6gd.4xlarge|r6gd.8xlarge|r6gd.12xlarge|r6gd.16xlarge|r6gd.metal|r6i.large|r6i.xlarge|r6i.2xlarge|r6i.4xlarge|r6i.8xlarge|r6i.12xlarge|r6i.16xlarge|r6i.24xlarge|r6i.32xlarge|r6i.metal|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|t4g.nano|t4g.micro|t4g.small|t4g.medium|t4g.large|t4g.xlarge|t4g.2xlarge|u-6tb1.56xlarge|u-6tb1.112xlarge|u-9tb1.112xlarge|u-12tb1.112xlarge|u-6tb1.metal|u-9tb1.metal|u-12tb1.metal|u-18tb1.metal|u-24tb1.metal|vt1.3xlarge|vt1.6xlarge|vt1.24xlarge|x1.16xlarge|x1.32xlarge|x1e.xlarge|x1e.2xlarge|x1e.4xlarge|x1e.8xlarge|x1e.16xlarge|x1e.32xlarge|x2iezn.2xlarge|x2iezn.4xlarge|x2iezn.6xlarge|x2iezn.8xlarge|x2iezn.12xlarge|x2iezn.metal|x2gd.medium|x2gd.large|x2gd.xlarge|x2gd.2xlarge|x2gd.4xlarge|x2gd.8xlarge|x2gd.12xlarge|x2gd.16xlarge|x2gd.metal|z1d.large|z1d.xlarge|z1d.2xlarge|z1d.3xlarge|z1d.6xlarge|z1d.12xlarge|z1d.metal|x2idn.16xlarge|x2idn.24xlarge|x2idn.32xlarge|x2iedn.xlarge|x2iedn.2xlarge|x2iedn.4xlarge|x2iedn.8xlarge|x2iedn.16xlarge|x2iedn.24xlarge|x2iedn.32xlarge|c6a.large|c6a.xlarge|c6a.2xlarge|c6a.4xlarge|c6a.8xlarge|c6a.12xlarge|c6a.16xlarge|c6a.24xlarge|c6a.32xlarge|c6a.48xlarge|c6a.metal|m6a.metal|i4i.large|i4i.xlarge|i4i.2xlarge|i4i.4xlarge|i4i.8xlarge|i4i.16xlarge|i4i.32xlarge|i4i.metal|x2idn.metal|x2iedn.metal|c7g.medium|c7g.large|c7g.xlarge|c7g.2xlarge|c7g.4xlarge|c7g.8xlarge|c7g.12xlarge|c7g.16xlarge|mac2.metal|c6id.large|c6id.xlarge|c6id.2xlarge|c6id.4xlarge|c6id.8xlarge|c6id.12xlarge|c6id.16xlarge|c6id.24xlarge|c6id.32xlarge|c6id.metal|m6id.large|m6id.xlarge|m6id.2xlarge|m6id.4xlarge|m6id.8xlarge|m6id.12xlarge|m6id.16xlarge|m6id.24xlarge|m6id.32xlarge|m6id.metal|r6id.large|r6id.xlarge|r6id.2xlarge|r6id.4xlarge|r6id.8xlarge|r6id.12xlarge|r6id.16xlarge|r6id.24xlarge|r6id.32xlarge|r6id.metal|r6a.large|r6a.xlarge|r6a.2xlarge|r6a.4xlarge|r6a.8xlarge|r6a.12xlarge|r6a.16xlarge|r6a.24xlarge|r6a.32xlarge|r6a.48xlarge|r6a.metal|p4de.24xlarge|u-3tb1.56xlarge|u-18tb1.112xlarge|u-24tb1.112xlarge|trn1.2xlarge|trn1.32xlarge|hpc6id.32xlarge|c6in.large|c6in.xlarge|c6in.2xlarge|c6in.4xlarge|c6in.8xlarge|c6in.12xlarge|c6in.16xlarge|c6in.24xlarge|c6in.32xlarge|m6in.large|m6in.xlarge|m6in.2xlarge|m6in.4xlarge|m6in.8xlarge|m6in.12xlarge|m6in.16xlarge|m6in.24xlarge|m6in.32xlarge|m6idn.large|m6idn.xlarge|m6idn.2xlarge|m6idn.4xlarge|m6idn.8xlarge|m6idn.12xlarge|m6idn.16xlarge|m6idn.24xlarge|m6idn.32xlarge|r6in.large|r6in.xlarge|r6in.2xlarge|r6in.4xlarge|r6in.8xlarge|r6in.12xlarge|r6in.16xlarge|r6in.24xlarge|r6in.32xlarge|r6idn.large|r6idn.xlarge|r6idn.2xlarge|r6idn.4xlarge|r6idn.8xlarge|r6idn.12xlarge|r6idn.16xlarge|r6idn.24xlarge|r6idn.32xlarge|c7g.metal|m7g.medium|m7g.large|m7g.xlarge|m7g.2xlarge|m7g.4xlarge|m7g.8xlarge|m7g.12xlarge|m7g.16xlarge|m7g.metal|r7g.medium|r7g.large|r7g.xlarge|r7g.2xlarge|r7g.4xlarge|r7g.8xlarge|r7g.12xlarge|r7g.16xlarge|r7g.metal|c6in.metal|m6in.metal|m6idn.metal|r6in.metal|r6idn.metal|inf2.xlarge|inf2.8xlarge|inf2.24xlarge|inf2.48xlarge|trn1n.32xlarge|i4g.large|i4g.xlarge|i4g.2xlarge|i4g.4xlarge|i4g.8xlarge|i4g.16xlarge|hpc7g.4xlarge|hpc7g.8xlarge|hpc7g.16xlarge|c7gn.medium|c7gn.large|c7gn.xlarge|c7gn.2xlarge|c7gn.4xlarge|c7gn.8xlarge|c7gn.12xlarge|c7gn.16xlarge|p5.48xlarge|m7i.large|m7i.xlarge|m7i.2xlarge|m7i.4xlarge|m7i.8xlarge|m7i.12xlarge|m7i.16xlarge|m7i.24xlarge|m7i.48xlarge|m7i-flex.large|m7i-flex.xlarge|m7i-flex.2xlarge|m7i-flex.4xlarge|m7i-flex.8xlarge|m7a.medium|m7a.large|m7a.xlarge|m7a.2xlarge|m7a.4xlarge|m7a.8xlarge|m7a.12xlarge|m7a.16xlarge|m7a.24xlarge|m7a.32xlarge|m7a.48xlarge|m7a.metal-48xl|hpc7a.12xlarge|hpc7a.24xlarge|hpc7a.48xlarge|hpc7a.96xlarge|c7gd.medium|c7gd.large|c7gd.xlarge|c7gd.2xlarge|c7gd.4xlarge|c7gd.8xlarge|c7gd.12xlarge|c7gd.16xlarge|m7gd.medium|m7gd.large|m7gd.xlarge|m7gd.2xlarge|m7gd.4xlarge|m7gd.8xlarge|m7gd.12xlarge|m7gd.16xlarge|r7gd.medium|r7gd.large|r7gd.xlarge|r7gd.2xlarge|r7gd.4xlarge|r7gd.8xlarge|r7gd.12xlarge|r7gd.16xlarge|r7a.medium|r7a.large|r7a.xlarge|r7a.2xlarge|r7a.4xlarge|r7a.8xlarge|r7a.12xlarge|r7a.16xlarge|r7a.24xlarge|r7a.32xlarge|r7a.48xlarge|c7i.large|c7i.xlarge|c7i.2xlarge|c7i.4xlarge|c7i.8xlarge|c7i.12xlarge|c7i.16xlarge|c7i.24xlarge|c7i.48xlarge|mac2-m2pro.metal|r7iz.large|r7iz.xlarge|r7iz.2xlarge|r7iz.4xlarge|r7iz.8xlarge|r7iz.12xlarge|r7iz.16xlarge|r7iz.32xlarge|c7a.medium|c7a.large|c7a.xlarge|c7a.2xlarge|c7a.4xlarge|c7a.8xlarge|c7a.12xlarge|c7a.16xlarge|c7a.24xlarge|c7a.32xlarge|c7a.48xlarge|c7a.metal-48xl|r7a.metal-48xl|r7i.large|r7i.xlarge|r7i.2xlarge|r7i.4xlarge|r7i.8xlarge|r7i.12xlarge|r7i.16xlarge|r7i.24xlarge|r7i.48xlarge|dl2q.24xlarge|mac2-m2.metal|i4i.12xlarge|i4i.24xlarge|c7i.metal-24xl|c7i.metal-48xl|m7i.metal-24xl|m7i.metal-48xl|r7i.metal-24xl|r7i.metal-48xl|r7iz.metal-16xl|r7iz.metal-32xl|c7gd.metal|m7gd.metal|r7gd.metal|g6.xlarge|g6.2xlarge|g6.4xlarge|g6.8xlarge|g6.12xlarge|g6.16xlarge|g6.24xlarge|g6.48xlarge|gr6.4xlarge|gr6.8xlarge|c7i-flex.large|c7i-flex.xlarge|c7i-flex.2xlarge|c7i-flex.4xlarge|c7i-flex.8xlarge|u7i-12tb.224xlarge|u7in-16tb.224xlarge|u7in-24tb.224xlarge|u7in-32tb.224xlarge|u7ib-12tb.224xlarge|c7gn.metal|r8g.medium|r8g.large|r8g.xlarge|r8g.2xlarge|r8g.4xlarge|r8g.8xlarge|r8g.12xlarge|r8g.16xlarge|r8g.24xlarge|r8g.48xlarge|r8g.metal-24xl|r8g.metal-48xl|mac2-m1ultra.metal|g6e.xlarge|g6e.2xlarge|g6e.4xlarge|g6e.8xlarge|g6e.12xlarge|g6e.16xlarge|g6e.24xlarge|g6e.48xlarge|c8g.medium|c8g.large|c8g.xlarge|c8g.2xlarge|c8g.4xlarge|c8g.8xlarge|c8g.12xlarge|c8g.16xlarge|c8g.24xlarge|c8g.48xlarge|c8g.metal-24xl|c8g.metal-48xl|m8g.medium|m8g.large|m8g.xlarge|m8g.2xlarge|m8g.4xlarge|m8g.8xlarge|m8g.12xlarge|m8g.16xlarge|m8g.24xlarge|m8g.48xlarge|m8g.metal-24xl|m8g.metal-48xl|x8g.medium|x8g.large|x8g.xlarge|x8g.2xlarge|x8g.4xlarge|x8g.8xlarge|x8g.12xlarge|x8g.16xlarge|x8g.24xlarge|x8g.48xlarge|x8g.metal-24xl|x8g.metal-48xl',
            'Priority' => <integer>,
            'TotalInstanceCount' => <integer>,
            'Weight' => <float>,
        ],
        // ...
    ],
    'InstanceMatchCriteria' => 'open',
    'State' => 'submitted|modifying|active|partially_fulfilled|expiring|expired|cancelling|cancelled|failed',
    'Tags' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
    'Tenancy' => 'default',
    'TotalFulfilledCapacity' => <float>,
    'TotalTargetCapacity' => <integer>,
]

Result Details

Members
AllocationStrategy
Type: string

The allocation strategy used by the Capacity Reservation Fleet.

CapacityReservationFleetId
Type: string

The ID of the Capacity Reservation Fleet.

CreateTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time at which the Capacity Reservation Fleet was created.

EndDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time at which the Capacity Reservation Fleet expires.

FleetCapacityReservations
Type: Array of FleetCapacityReservation structures

Information about the individual Capacity Reservations in the Capacity Reservation Fleet.

InstanceMatchCriteria
Type: string

The instance matching criteria for the Capacity Reservation Fleet.

State
Type: string

The status of the Capacity Reservation Fleet.

Tags
Type: Array of Tag structures

The tags assigned to the Capacity Reservation Fleet.

Tenancy
Type: string

Indicates the tenancy of Capacity Reservation Fleet.

TotalFulfilledCapacity
Type: double

The requested capacity units that have been successfully reserved.

TotalTargetCapacity
Type: int

The total number of capacity units for which the Capacity Reservation Fleet reserves capacity.

Errors

There are no errors described for this operation.

CreateCarrierGateway

$result = $client->createCarrierGateway([/* ... */]);
$promise = $client->createCarrierGatewayAsync([/* ... */]);

Creates a carrier gateway. For more information about carrier gateways, see Carrier gateways in the Amazon Web Services Wavelength Developer Guide.

Parameter Syntax

$result = $client->createCarrierGateway([
    'ClientToken' => '<string>',
    'DryRun' => true || false,
    'TagSpecifications' => [
        [
            'ResourceType' => 'capacity-reservation|client-vpn-endpoint|customer-gateway|carrier-gateway|coip-pool|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|instance-event-window|internet-gateway|ipam|ipam-pool|ipam-scope|ipv4pool-ec2|ipv6pool-ec2|key-pair|launch-template|local-gateway|local-gateway-route-table|local-gateway-virtual-interface|local-gateway-virtual-interface-group|local-gateway-route-table-vpc-association|local-gateway-route-table-virtual-interface-group-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|network-insights-access-scope|network-insights-access-scope-analysis|placement-group|prefix-list|replace-root-volume-task|reserved-instances|route-table|security-group|security-group-rule|snapshot|spot-fleet-request|spot-instances-request|subnet|subnet-cidr-reservation|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-policy-table|transit-gateway-route-table|transit-gateway-route-table-announcement|volume|vpc|vpc-endpoint|vpc-endpoint-connection|vpc-endpoint-service|vpc-endpoint-service-permission|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log|capacity-reservation-fleet|traffic-mirror-filter-rule|vpc-endpoint-connection-device-type|verified-access-instance|verified-access-group|verified-access-endpoint|verified-access-policy|verified-access-trust-provider|vpn-connection-device-type|vpc-block-public-access-exclusion|ipam-resource-discovery|ipam-resource-discovery-association|instance-connect-endpoint|ipam-external-resource-verification-token',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'VpcId' => '<string>', // REQUIRED
]);

Parameter Details

Members
ClientToken
Type: string

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

DryRun
Type: boolean

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.

TagSpecifications
Type: Array of TagSpecification structures

The tags to associate with the carrier gateway.

VpcId
Required: Yes
Type: string

The ID of the VPC to associate with the carrier gateway.

Result Syntax

[
    'CarrierGateway' => [
        'CarrierGatewayId' => '<string>',
        'OwnerId' => '<string>',
        'State' => 'pending|available|deleting|deleted',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'VpcId' => '<string>',
    ],
]

Result Details

Members
CarrierGateway
Type: CarrierGateway structure

Information about the carrier gateway.

Errors

There are no errors described for this operation.

CreateClientVpnEndpoint

$result = $client->createClientVpnEndpoint([/* ... */]);
$promise = $client->createClientVpnEndpointAsync([/* ... */]);

Creates a Client VPN endpoint. A Client VPN endpoint is the resource you create and configure to enable and manage client VPN sessions. It is the destination endpoint at which all client VPN sessions are terminated.

Parameter Syntax

$result = $client->createClientVpnEndpoint([
    'AuthenticationOptions' => [ // REQUIRED
        [
            'ActiveDirectory' => [
                'DirectoryId' => '<string>',
            ],
            'FederatedAuthentication' => [
                'SAMLProviderArn' => '<string>',
                'SelfServiceSAMLProviderArn' => '<string>',
            ],
            'MutualAuthentication' => [
                'ClientRootCertificateChainArn' => '<string>',
            ],
            'Type' => 'certificate-authentication|directory-service-authentication|federated-authentication',
        ],
        // ...
    ],
    'ClientCidrBlock' => '<string>', // REQUIRED
    'ClientConnectOptions' => [
        'Enabled' => true || false,
        'LambdaFunctionArn' => '<string>',
    ],
    'ClientLoginBannerOptions' => [
        'BannerText' => '<string>',
        'Enabled' => true || false,
    ],
    'ClientToken' => '<string>',
    'ConnectionLogOptions' => [ // REQUIRED
        'CloudwatchLogGroup' => '<string>',
        'CloudwatchLogStream' => '<string>',
        'Enabled' => true || false,
    ],
    'Description' => '<string>',
    'DnsServers' => ['<string>', ...],
    'DryRun' => true || false,
    'SecurityGroupIds' => ['<string>', ...],
    'SelfServicePortal' => 'enabled|disabled',
    'ServerCertificateArn' => '<string>', // REQUIRED
    'SessionTimeoutHours' => <integer>,
    'SplitTunnel' => true || false,
    'TagSpecifications' => [
        [
            'ResourceType' => 'capacity-reservation|client-vpn-endpoint|customer-gateway|carrier-gateway|coip-pool|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|instance-event-window|internet-gateway|ipam|ipam-pool|ipam-scope|ipv4pool-ec2|ipv6pool-ec2|key-pair|launch-template|local-gateway|local-gateway-route-table|local-gateway-virtual-interface|local-gateway-virtual-interface-group|local-gateway-route-table-vpc-association|local-gateway-route-table-virtual-interface-group-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|network-insights-access-scope|network-insights-access-scope-analysis|placement-group|prefix-list|replace-root-volume-task|reserved-instances|route-table|security-group|security-group-rule|snapshot|spot-fleet-request|spot-instances-request|subnet|subnet-cidr-reservation|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-policy-table|transit-gateway-route-table|transit-gateway-route-table-announcement|volume|vpc|vpc-endpoint|vpc-endpoint-connection|vpc-endpoint-service|vpc-endpoint-service-permission|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log|capacity-reservation-fleet|traffic-mirror-filter-rule|vpc-endpoint-connection-device-type|verified-access-instance|verified-access-group|verified-access-endpoint|verified-access-policy|verified-access-trust-provider|vpn-connection-device-type|vpc-block-public-access-exclusion|ipam-resource-discovery|ipam-resource-discovery-association|instance-connect-endpoint|ipam-external-resource-verification-token',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'TransportProtocol' => 'tcp|udp',
    'VpcId' => '<string>',
    'VpnPort' => <integer>,
]);

Parameter Details

Members
AuthenticationOptions
Required: Yes
Type: Array of ClientVpnAuthenticationRequest structures

Information about the authentication method to be used to authenticate clients.

ClientCidrBlock
Required: Yes
Type: string

The IPv4 address range, in CIDR notation, from which to assign client IP addresses. The address range cannot overlap with the local CIDR of the VPC in which the associated subnet is located, or the routes that you add manually. The address range cannot be changed after the Client VPN endpoint has been created. Client CIDR range must have a size of at least /22 and must not be greater than /12.

ClientConnectOptions
Type: ClientConnectOptions structure

The options for managing connection authorization for new client connections.

ClientLoginBannerOptions
Type: ClientLoginBannerOptions structure

Options for enabling a customizable text banner that will be displayed on Amazon Web Services provided clients when a VPN session is established.

ClientToken
Type: string

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

ConnectionLogOptions
Required: Yes
Type: ConnectionLogOptions structure

Information about the client connection logging options.

If you enable client connection logging, data about client connections is sent to a Cloudwatch Logs log stream. The following information is logged:

  • Client connection requests

  • Client connection results (successful and unsuccessful)

  • Reasons for unsuccessful client connection requests

  • Client connection termination time

Description
Type: string

A brief description of the Client VPN endpoint.

DnsServers
Type: Array of strings

Information about the DNS servers to be used for DNS resolution. A Client VPN endpoint can have up to two DNS servers. If no DNS server is specified, the DNS address configured on the device is used for the DNS server.

DryRun
Type: boolean

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.

SecurityGroupIds
Type: Array of strings

The IDs of one or more security groups to apply to the target network. You must also specify the ID of the VPC that contains the security groups.

SelfServicePortal
Type: string

Specify whether to enable the self-service portal for the Client VPN endpoint.

Default Value: enabled

ServerCertificateArn
Required: Yes
Type: string

The ARN of the server certificate. For more information, see the Certificate Manager User Guide.

SessionTimeoutHours
Type: int

The maximum VPN session duration time in hours.

Valid values: 8 | 10 | 12 | 24

Default value: 24

SplitTunnel
Type: boolean

Indicates whether split-tunnel is enabled on the Client VPN endpoint.

By default, split-tunnel on a VPN endpoint is disabled.

For information about split-tunnel VPN endpoints, see Split-tunnel Client VPN endpoint in the Client VPN Administrator Guide.

TagSpecifications
Type: Array of TagSpecification structures

The tags to apply to the Client VPN endpoint during creation.

TransportProtocol
Type: string

The transport protocol to be used by the VPN session.

Default value: udp

VpcId
Type: string

The ID of the VPC to associate with the Client VPN endpoint. If no security group IDs are specified in the request, the default security group for the VPC is applied.

VpnPort
Type: int

The port number to assign to the Client VPN endpoint for TCP and UDP traffic.

Valid Values: 443 | 1194

Default Value: 443

Result Syntax

[
    'ClientVpnEndpointId' => '<string>',
    'DnsName' => '<string>',
    'Status' => [
        'Code' => 'pending-associate|available|deleting|deleted',
        'Message' => '<string>',
    ],
]

Result Details

Members
ClientVpnEndpointId
Type: string

The ID of the Client VPN endpoint.

DnsName
Type: string

The DNS name to be used by clients when establishing their VPN session.

Status
Type: ClientVpnEndpointStatus structure

The current state of the Client VPN endpoint.

Errors

There are no errors described for this operation.

CreateClientVpnRoute

$result = $client->createClientVpnRoute([/* ... */]);
$promise = $client->createClientVpnRouteAsync([/* ... */]);

Adds a route to a network to a Client VPN endpoint. Each Client VPN endpoint has a route table that describes the available destination network routes. Each route in the route table specifies the path for traffic to specific resources or networks.

Parameter Syntax

$result = $client->createClientVpnRoute([
    'ClientToken' => '<string>',
    'ClientVpnEndpointId' => '<string>', // REQUIRED
    'Description' => '<string>',
    'DestinationCidrBlock' => '<string>', // REQUIRED
    'DryRun' => true || false,
    'TargetVpcSubnetId' => '<string>', // REQUIRED
]);

Parameter Details

Members
ClientToken
Type: string

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

ClientVpnEndpointId
Required: Yes
Type: string

The ID of the Client VPN endpoint to which to add the route.

Description
Type: string

A brief description of the route.

DestinationCidrBlock
Required: Yes
Type: string

The IPv4 address range, in CIDR notation, of the route destination. For example:

  • To add a route for Internet access, enter 0.0.0.0/0

  • To add a route for a peered VPC, enter the peered VPC's IPv4 CIDR range

  • To add a route for an on-premises network, enter the Amazon Web Services Site-to-Site VPN connection's IPv4 CIDR range

  • To add a route for the local network, enter the client CIDR range

DryRun
Type: boolean

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.

TargetVpcSubnetId
Required: Yes
Type: string

The ID of the subnet through which you want to route traffic. The specified subnet must be an existing target network of the Client VPN endpoint.

Alternatively, if you're adding a route for the local network, specify local.

Result Syntax

[
    'Status' => [
        'Code' => 'creating|active|failed|deleting',
        'Message' => '<string>',
    ],
]

Result Details

Members
Status
Type: ClientVpnRouteStatus structure

The current state of the route.

Errors

There are no errors described for this operation.

CreateCoipCidr

$result = $client->createCoipCidr([/* ... */]);
$promise = $client->createCoipCidrAsync([/* ... */]);

Creates a range of customer-owned IP addresses.

Parameter Syntax

$result = $client->createCoipCidr([
    'Cidr' => '<string>', // REQUIRED
    'CoipPoolId' => '<string>', // REQUIRED
    'DryRun' => true || false,
]);

Parameter Details

Members
Cidr
Required: Yes
Type: string

A customer-owned IP address range to create.

CoipPoolId
Required: Yes
Type: string

The ID of the address pool.

DryRun
Type: boolean

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.

Result Syntax

[
    'CoipCidr' => [
        'Cidr' => '<string>',
        'CoipPoolId' => '<string>',
        'LocalGatewayRouteTableId' => '<string>',
    ],
]

Result Details

Members
CoipCidr
Type: CoipCidr structure

Information about a range of customer-owned IP addresses.

Errors

There are no errors described for this operation.

CreateCoipPool

$result = $client->createCoipPool([/* ... */]);
$promise = $client->createCoipPoolAsync([/* ... */]);

Creates a pool of customer-owned IP (CoIP) addresses.

Parameter Syntax

$result = $client->createCoipPool([
    'DryRun' => true || false,
    'LocalGatewayRouteTableId' => '<string>', // REQUIRED
    'TagSpecifications' => [
        [
            'ResourceType' => 'capacity-reservation|client-vpn-endpoint|customer-gateway|carrier-gateway|coip-pool|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|instance-event-window|internet-gateway|ipam|ipam-pool|ipam-scope|ipv4pool-ec2|ipv6pool-ec2|key-pair|launch-template|local-gateway|local-gateway-route-table|local-gateway-virtual-interface|local-gateway-virtual-interface-group|local-gateway-route-table-vpc-association|local-gateway-route-table-virtual-interface-group-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|network-insights-access-scope|network-insights-access-scope-analysis|placement-group|prefix-list|replace-root-volume-task|reserved-instances|route-table|security-group|security-group-rule|snapshot|spot-fleet-request|spot-instances-request|subnet|subnet-cidr-reservation|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-policy-table|transit-gateway-route-table|transit-gateway-route-table-announcement|volume|vpc|vpc-endpoint|vpc-endpoint-connection|vpc-endpoint-service|vpc-endpoint-service-permission|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log|capacity-reservation-fleet|traffic-mirror-filter-rule|vpc-endpoint-connection-device-type|verified-access-instance|verified-access-group|verified-access-endpoint|verified-access-policy|verified-access-trust-provider|vpn-connection-device-type|vpc-block-public-access-exclusion|ipam-resource-discovery|ipam-resource-discovery-association|instance-connect-endpoint|ipam-external-resource-verification-token',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
]);

Parameter Details

Members
DryRun
Type: boolean

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.

LocalGatewayRouteTableId
Required: Yes
Type: string

The ID of the local gateway route table.

TagSpecifications
Type: Array of TagSpecification structures

The tags to assign to the CoIP address pool.

Result Syntax

[
    'CoipPool' => [
        'LocalGatewayRouteTableId' => '<string>',
        'PoolArn' => '<string>',
        'PoolCidrs' => ['<string>', ...],
        'PoolId' => '<string>',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
    ],
]

Result Details

Members
CoipPool
Type: CoipPool structure

Information about the CoIP address pool.

Errors

There are no errors described for this operation.

CreateCustomerGateway

$result = $client->createCustomerGateway([/* ... */]);
$promise = $client->createCustomerGatewayAsync([/* ... */]);

Provides information to Amazon Web Services about your customer gateway device. The customer gateway device is the appliance at your end of the VPN connection. You must provide the IP address of the customer gateway device’s external interface. The IP address must be static and can be behind a device performing network address translation (NAT).

For devices that use Border Gateway Protocol (BGP), you can also provide the device's BGP Autonomous System Number (ASN). You can use an existing ASN assigned to your network. If you don't have an ASN already, you can use a private ASN. For more information, see Customer gateway options for your Site-to-Site VPN connection in the Amazon Web Services Site-to-Site VPN User Guide.

To create more than one customer gateway with the same VPN type, IP address, and BGP ASN, specify a unique device name for each customer gateway. An identical request returns information about the existing customer gateway; it doesn't create a new customer gateway.

Parameter Syntax

$result = $client->createCustomerGateway([
    'BgpAsn' => <integer>,
    'BgpAsnExtended' => <integer>,
    'CertificateArn' => '<string>',
    'DeviceName' => '<string>',
    'DryRun' => true || false,
    'IpAddress' => '<string>',
    'PublicIp' => '<string>',
    'TagSpecifications' => [
        [
            'ResourceType' => 'capacity-reservation|client-vpn-endpoint|customer-gateway|carrier-gateway|coip-pool|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|instance-event-window|internet-gateway|ipam|ipam-pool|ipam-scope|ipv4pool-ec2|ipv6pool-ec2|key-pair|launch-template|local-gateway|local-gateway-route-table|local-gateway-virtual-interface|local-gateway-virtual-interface-group|local-gateway-route-table-vpc-association|local-gateway-route-table-virtual-interface-group-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|network-insights-access-scope|network-insights-access-scope-analysis|placement-group|prefix-list|replace-root-volume-task|reserved-instances|route-table|security-group|security-group-rule|snapshot|spot-fleet-request|spot-instances-request|subnet|subnet-cidr-reservation|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-policy-table|transit-gateway-route-table|transit-gateway-route-table-announcement|volume|vpc|vpc-endpoint|vpc-endpoint-connection|vpc-endpoint-service|vpc-endpoint-service-permission|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log|capacity-reservation-fleet|traffic-mirror-filter-rule|vpc-endpoint-connection-device-type|verified-access-instance|verified-access-group|verified-access-endpoint|verified-access-policy|verified-access-trust-provider|vpn-connection-device-type|vpc-block-public-access-exclusion|ipam-resource-discovery|ipam-resource-discovery-association|instance-connect-endpoint|ipam-external-resource-verification-token',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'Type' => 'ipsec.1', // REQUIRED
]);

Parameter Details

Members
BgpAsn
Type: int

For customer gateway devices that support BGP, specify the device's ASN. You must specify either BgpAsn or BgpAsnExtended when creating the customer gateway. If the ASN is larger than 2,147,483,647, you must use BgpAsnExtended.

Default: 65000

Valid values: 1 to 2,147,483,647

BgpAsnExtended
Type: long (int|float)

For customer gateway devices that support BGP, specify the device's ASN. You must specify either BgpAsn or BgpAsnExtended when creating the customer gateway. If the ASN is larger than 2,147,483,647, you must use BgpAsnExtended.

Valid values: 2,147,483,648 to 4,294,967,295

CertificateArn
Type: string

The Amazon Resource Name (ARN) for the customer gateway certificate.

DeviceName
Type: string

A name for the customer gateway device.

Length Constraints: Up to 255 characters.

DryRun
Type: boolean

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.

IpAddress
Type: string

IPv4 address for the customer gateway device's outside interface. The address must be static. If OutsideIpAddressType in your VPN connection options is set to PrivateIpv4, you can use an RFC6598 or RFC1918 private IPv4 address. If OutsideIpAddressType is set to PublicIpv4, you can use a public IPv4 address.

PublicIp
Type: string

This member has been deprecated. The Internet-routable IP address for the customer gateway's outside interface. The address must be static.

TagSpecifications
Type: Array of TagSpecification structures

The tags to apply to the customer gateway.

Type
Required: Yes
Type: string

The type of VPN connection that this customer gateway supports (ipsec.1).

Result Syntax

[
    'CustomerGateway' => [
        'BgpAsn' => '<string>',
        'BgpAsnExtended' => '<string>',
        'CertificateArn' => '<string>',
        'CustomerGatewayId' => '<string>',
        'DeviceName' => '<string>',
        'IpAddress' => '<string>',
        'State' => '<string>',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'Type' => '<string>',
    ],
]

Result Details

Members
CustomerGateway
Type: CustomerGateway structure

Information about the customer gateway.

Errors

There are no errors described for this operation.

Examples

Example 1: To create a customer gateway

This example creates a customer gateway with the specified IP address for its outside interface.

$result = $client->createCustomerGateway([
    'BgpAsn' => 65534,
    'PublicIp' => '12.1.2.3',
    'Type' => 'ipsec.1',
]);

Result syntax:

[
    'CustomerGateway' => [
        'BgpAsn' => '65534',
        'CustomerGatewayId' => 'cgw-0e11f167',
        'IpAddress' => '12.1.2.3',
        'State' => 'available',
        'Type' => 'ipsec.1',
    ],
]

CreateDefaultSubnet

$result = $client->createDefaultSubnet([/* ... */]);
$promise = $client->createDefaultSubnetAsync([/* ... */]);

Creates a default subnet with a size /20 IPv4 CIDR block in the specified Availability Zone in your default VPC. You can have only one default subnet per Availability Zone. For more information, see Create a default subnet in the Amazon VPC User Guide.

Parameter Syntax

$result = $client->createDefaultSubnet([
    'AvailabilityZone' => '<string>', // REQUIRED
    'DryRun' => true || false,
    'Ipv6Native' => true || false,
]);

Parameter Details

Members
AvailabilityZone
Required: Yes
Type: string

The Availability Zone in which to create the default subnet.

DryRun
Type: boolean

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.

Ipv6Native
Type: boolean

Indicates whether to create an IPv6 only subnet. If you already have a default subnet for this Availability Zone, you must delete it before you can create an IPv6 only subnet.

Result Syntax

[
    'Subnet' => [
        'AssignIpv6AddressOnCreation' => true || false,
        'AvailabilityZone' => '<string>',
        'AvailabilityZoneId' => '<string>',
        'AvailableIpAddressCount' => <integer>,
        'BlockPublicAccessStates' => [
            'InternetGatewayBlockMode' => 'off|block-bidirectional|block-ingress',
        ],
        'CidrBlock' => '<string>',
        'CustomerOwnedIpv4Pool' => '<string>',
        'DefaultForAz' => true || false,
        'EnableDns64' => true || false,
        'EnableLniAtDeviceIndex' => <integer>,
        'Ipv6CidrBlockAssociationSet' => [
            [
                'AssociationId' => '<string>',
                'IpSource' => 'amazon|byoip|none',
                'Ipv6AddressAttribute' => 'public|private',
                'Ipv6CidrBlock' => '<string>',
                'Ipv6CidrBlockState' => [
                    'State' => 'associating|associated|disassociating|disassociated|failing|failed',
                    'StatusMessage' => '<string>',
                ],
            ],
            // ...
        ],
        'Ipv6Native' => true || false,
        'MapCustomerOwnedIpOnLaunch' => true || false,
        'MapPublicIpOnLaunch' => true || false,
        'OutpostArn' => '<string>',
        'OwnerId' => '<string>',
        'PrivateDnsNameOptionsOnLaunch' => [
            'EnableResourceNameDnsAAAARecord' => true || false,
            'EnableResourceNameDnsARecord' => true || false,
            'HostnameType' => 'ip-name|resource-name',
        ],
        'State' => 'pending|available|unavailable',
        'SubnetArn' => '<string>',
        'SubnetId' => '<string>',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'VpcId' => '<string>',
    ],
]

Result Details

Members
Subnet
Type: Subnet structure

Information about the subnet.

Errors

There are no errors described for this operation.

CreateDefaultVpc

$result = $client->createDefaultVpc([/* ... */]);
$promise = $client->createDefaultVpcAsync([/* ... */]);

Creates a default VPC with a size /16 IPv4 CIDR block and a default subnet in each Availability Zone. For more information about the components of a default VPC, see Default VPCs in the Amazon VPC User Guide. You cannot specify the components of the default VPC yourself.

If you deleted your previous default VPC, you can create a default VPC. You cannot have more than one default VPC per Region.

Parameter Syntax

$result = $client->createDefaultVpc([
    'DryRun' => true || false,
]);

Parameter Details

Members
DryRun
Type: boolean

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.

Result Syntax

[
    'Vpc' => [
        'BlockPublicAccessStates' => [
            'InternetGatewayBlockMode' => 'off|block-bidirectional|block-ingress',
        ],
        'CidrBlock' => '<string>',
        'CidrBlockAssociationSet' => [
            [
                'AssociationId' => '<string>',
                'CidrBlock' => '<string>',
                'CidrBlockState' => [
                    'State' => 'associating|associated|disassociating|disassociated|failing|failed',
                    'StatusMessage' => '<string>',
                ],
            ],
            // ...
        ],
        'DhcpOptionsId' => '<string>',
        'InstanceTenancy' => 'default|dedicated|host',
        'Ipv6CidrBlockAssociationSet' => [
            [
                'AssociationId' => '<string>',
                'IpSource' => 'amazon|byoip|none',
                'Ipv6AddressAttribute' => 'public|private',
                'Ipv6CidrBlock' => '<string>',
                'Ipv6CidrBlockState' => [
                    'State' => 'associating|associated|disassociating|disassociated|failing|failed',
                    'StatusMessage' => '<string>',
                ],
                'Ipv6Pool' => '<string>',
                'NetworkBorderGroup' => '<string>',
            ],
            // ...
        ],
        'IsDefault' => true || false,
        'OwnerId' => '<string>',
        'State' => 'pending|available',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'VpcId' => '<string>',
    ],
]

Result Details

Members
Vpc
Type: Vpc structure

Information about the VPC.

Errors

There are no errors described for this operation.

CreateDhcpOptions

$result = $client->createDhcpOptions([/* ... */]);
$promise = $client->createDhcpOptionsAsync([/* ... */]);

Creates a custom set of DHCP options. After you create a DHCP option set, you associate it with a VPC. After you associate a DHCP option set with a VPC, all existing and newly launched instances in the VPC use this set of DHCP options.

The following are the individual DHCP options you can specify. For more information, see DHCP option sets in the Amazon VPC User Guide.

  • domain-name - If you're using AmazonProvidedDNS in us-east-1, specify ec2.internal. If you're using AmazonProvidedDNS in any other Region, specify region.compute.internal. Otherwise, specify a custom domain name. This value is used to complete unqualified DNS hostnames.

    Some Linux operating systems accept multiple domain names separated by spaces. However, Windows and other Linux operating systems treat the value as a single domain, which results in unexpected behavior. If your DHCP option set is associated with a VPC that has instances running operating systems that treat the value as a single domain, specify only one domain name.

  • domain-name-servers - The IP addresses of up to four DNS servers, or AmazonProvidedDNS. To specify multiple domain name servers in a single parameter, separate the IP addresses using commas. To have your instances receive custom DNS hostnames as specified in domain-name, you must specify a custom DNS server.

  • ntp-servers - The IP addresses of up to eight Network Time Protocol (NTP) servers (four IPv4 addresses and four IPv6 addresses).

  • netbios-name-servers - The IP addresses of up to four NetBIOS name servers.

  • netbios-node-type - The NetBIOS node type (1, 2, 4, or 8). We recommend that you specify 2. Broadcast and multicast are not supported. For more information about NetBIOS node types, see RFC 2132.

  • ipv6-address-preferred-lease-time - A value (in seconds, minutes, hours, or years) for how frequently a running instance with an IPv6 assigned to it goes through DHCPv6 lease renewal. Acceptable values are between 140 and 2147483647 seconds (approximately 68 years). If no value is entered, the default lease time is 140 seconds. If you use long-term addressing for EC2 instances, you can increase the lease time and avoid frequent lease renewal requests. Lease renewal typically occurs when half of the lease time has elapsed.

Parameter Syntax

$result = $client->createDhcpOptions([
    'DhcpConfigurations' => [ // REQUIRED
        [
            'Key' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'DryRun' => true || false,
    'TagSpecifications' => [
        [
            'ResourceType' => 'capacity-reservation|client-vpn-endpoint|customer-gateway|carrier-gateway|coip-pool|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|instance-event-window|internet-gateway|ipam|ipam-pool|ipam-scope|ipv4pool-ec2|ipv6pool-ec2|key-pair|launch-template|local-gateway|local-gateway-route-table|local-gateway-virtual-interface|local-gateway-virtual-interface-group|local-gateway-route-table-vpc-association|local-gateway-route-table-virtual-interface-group-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|network-insights-access-scope|network-insights-access-scope-analysis|placement-group|prefix-list|replace-root-volume-task|reserved-instances|route-table|security-group|security-group-rule|snapshot|spot-fleet-request|spot-instances-request|subnet|subnet-cidr-reservation|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-policy-table|transit-gateway-route-table|transit-gateway-route-table-announcement|volume|vpc|vpc-endpoint|vpc-endpoint-connection|vpc-endpoint-service|vpc-endpoint-service-permission|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log|capacity-reservation-fleet|traffic-mirror-filter-rule|vpc-endpoint-connection-device-type|verified-access-instance|verified-access-group|verified-access-endpoint|verified-access-policy|verified-access-trust-provider|vpn-connection-device-type|vpc-block-public-access-exclusion|ipam-resource-discovery|ipam-resource-discovery-association|instance-connect-endpoint|ipam-external-resource-verification-token',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
]);

Parameter Details

Members
DhcpConfigurations
Required: Yes
Type: Array of NewDhcpConfiguration structures

A DHCP configuration option.

DryRun
Type: boolean

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.

TagSpecifications
Type: Array of TagSpecification structures

The tags to assign to the DHCP option.

Result Syntax

[
    'DhcpOptions' => [
        'DhcpConfigurations' => [
            [
                'Key' => '<string>',
                'Values' => [
                    [
                        'Value' => '<string>',
                    ],
                    // ...
                ],
            ],
            // ...
        ],
        'DhcpOptionsId' => '<string>',
        'OwnerId' => '<string>',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
    ],
]

Result Details

Members
DhcpOptions
Type: DhcpOptions structure

A set of DHCP options.

Errors

There are no errors described for this operation.

Examples

Example 1: To create a DHCP options set

This example creates a DHCP options set.

$result = $client->createDhcpOptions([
    'DhcpConfigurations' => [
        [
            'Key' => 'domain-name-servers',
            'Values' => [
                '10.2.5.1',
                '10.2.5.2',
            ],
        ],
    ],
]);

Result syntax:

[
    'DhcpOptions' => [
        'DhcpConfigurations' => [
            [
                'Key' => 'domain-name-servers',
                'Values' => [
                    [
                        'Value' => '10.2.5.2',
                    ],
                    [
                        'Value' => '10.2.5.1',
                    ],
                ],
            ],
        ],
        'DhcpOptionsId' => 'dopt-d9070ebb',
    ],
]

CreateEgressOnlyInternetGateway

$result = $client->createEgressOnlyInternetGateway([/* ... */]);
$promise = $client->createEgressOnlyInternetGatewayAsync([/* ... */]);

[IPv6 only] Creates an egress-only internet gateway for your VPC. An egress-only internet gateway is used to enable outbound communication over IPv6 from instances in your VPC to the internet, and prevents hosts outside of your VPC from initiating an IPv6 connection with your instance.

Parameter Syntax

$result = $client->createEgressOnlyInternetGateway([
    'ClientToken' => '<string>',
    'DryRun' => true || false,
    'TagSpecifications' => [
        [
            'ResourceType' => 'capacity-reservation|client-vpn-endpoint|customer-gateway|carrier-gateway|coip-pool|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|instance-event-window|internet-gateway|ipam|ipam-pool|ipam-scope|ipv4pool-ec2|ipv6pool-ec2|key-pair|launch-template|local-gateway|local-gateway-route-table|local-gateway-virtual-interface|local-gateway-virtual-interface-group|local-gateway-route-table-vpc-association|local-gateway-route-table-virtual-interface-group-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|network-insights-access-scope|network-insights-access-scope-analysis|placement-group|prefix-list|replace-root-volume-task|reserved-instances|route-table|security-group|security-group-rule|snapshot|spot-fleet-request|spot-instances-request|subnet|subnet-cidr-reservation|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-policy-table|transit-gateway-route-table|transit-gateway-route-table-announcement|volume|vpc|vpc-endpoint|vpc-endpoint-connection|vpc-endpoint-service|vpc-endpoint-service-permission|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log|capacity-reservation-fleet|traffic-mirror-filter-rule|vpc-endpoint-connection-device-type|verified-access-instance|verified-access-group|verified-access-endpoint|verified-access-policy|verified-access-trust-provider|vpn-connection-device-type|vpc-block-public-access-exclusion|ipam-resource-discovery|ipam-resource-discovery-association|instance-connect-endpoint|ipam-external-resource-verification-token',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'VpcId' => '<string>', // REQUIRED
]);

Parameter Details

Members
ClientToken
Type: string

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

DryRun
Type: boolean

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.

TagSpecifications
Type: Array of TagSpecification structures

The tags to assign to the egress-only internet gateway.

VpcId
Required: Yes
Type: string

The ID of the VPC for which to create the egress-only internet gateway.

Result Syntax

[
    'ClientToken' => '<string>',
    'EgressOnlyInternetGateway' => [
        'Attachments' => [
            [
                'State' => 'attaching|attached|detaching|detached',
                'VpcId' => '<string>',
            ],
            // ...
        ],
        'EgressOnlyInternetGatewayId' => '<string>',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
    ],
]

Result Details

Members
ClientToken
Type: string

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

EgressOnlyInternetGateway
Type: EgressOnlyInternetGateway structure

Information about the egress-only internet gateway.

Errors

There are no errors described for this operation.

CreateFleet

$result = $client->createFleet([/* ... */]);
$promise = $client->createFleetAsync([/* ... */]);

Creates an EC2 Fleet that contains the configuration information for On-Demand Instances and Spot Instances. Instances are launched immediately if there is available capacity.

A single EC2 Fleet can include multiple launch specifications that vary by instance type, AMI, Availability Zone, or subnet.

For more information, see EC2 Fleet in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->createFleet([
    'ClientToken' => '<string>',
    'Context' => '<string>',
    'DryRun' => true || false,
    'ExcessCapacityTerminationPolicy' => 'no-termination|termination',
    'LaunchTemplateConfigs' => [ // REQUIRED
        [
            'LaunchTemplateSpecification' => [
                'LaunchTemplateId' => '<string>',
                'LaunchTemplateName' => '<string>',
                'Version' => '<string>',
            ],
            'Overrides' => [
                [
                    'AvailabilityZone' => '<string>',
                    'ImageId' => '<string>',
                    'InstanceRequirements' => [
                        'AcceleratorCount' => [
                            'Max' => <integer>,
                            'Min' => <integer>,
                        ],
                        'AcceleratorManufacturers' => ['<string>', ...],
                        'AcceleratorNames' => ['<string>', ...],
                        'AcceleratorTotalMemoryMiB' => [
                            'Max' => <integer>,
                            'Min' => <integer>,
                        ],
                        'AcceleratorTypes' => ['<string>', ...],
                        'AllowedInstanceTypes' => ['<string>', ...],
                        'BareMetal' => 'included|required|excluded',
                        'BaselineEbsBandwidthMbps' => [
                            'Max' => <integer>,
                            'Min' => <integer>,
                        ],
                        'BaselinePerformanceFactors' => [
                            'Cpu' => [
                                'References' => [
                                    [
                                        'InstanceFamily' => '<string>',
                                    ],
                                    // ...
                                ],
                            ],
                        ],
                        'BurstablePerformance' => 'included|required|excluded',
                        'CpuManufacturers' => ['<string>', ...],
                        'ExcludedInstanceTypes' => ['<string>', ...],
                        'InstanceGenerations' => ['<string>', ...],
                        'LocalStorage' => 'included|required|excluded',
                        'LocalStorageTypes' => ['<string>', ...],
                        'MaxSpotPriceAsPercentageOfOptimalOnDemandPrice' => <integer>,
                        'MemoryGiBPerVCpu' => [
                            'Max' => <float>,
                            'Min' => <float>,
                        ],
                        'MemoryMiB' => [ // REQUIRED
                            'Max' => <integer>,
                            'Min' => <integer>, // REQUIRED
                        ],
                        'NetworkBandwidthGbps' => [
                            'Max' => <float>,
                            'Min' => <float>,
                        ],
                        'NetworkInterfaceCount' => [
                            'Max' => <integer>,
                            'Min' => <integer>,
                        ],
                        'OnDemandMaxPricePercentageOverLowestPrice' => <integer>,
                        'RequireHibernateSupport' => true || false,
                        'SpotMaxPricePercentageOverLowestPrice' => <integer>,
                        'TotalLocalStorageGB' => [
                            'Max' => <float>,
                            'Min' => <float>,
                        ],
                        'VCpuCount' => [ // REQUIRED
                            'Max' => <integer>,
                            'Min' => <integer>, // REQUIRED
                        ],
                    ],
                    'InstanceType' => 'a1.medium|a1.large|a1.xlarge|a1.2xlarge|a1.4xlarge|a1.metal|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|c5a.large|c5a.xlarge|c5a.2xlarge|c5a.4xlarge|c5a.8xlarge|c5a.12xlarge|c5a.16xlarge|c5a.24xlarge|c5ad.large|c5ad.xlarge|c5ad.2xlarge|c5ad.4xlarge|c5ad.8xlarge|c5ad.12xlarge|c5ad.16xlarge|c5ad.24xlarge|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|c5n.metal|c6g.medium|c6g.large|c6g.xlarge|c6g.2xlarge|c6g.4xlarge|c6g.8xlarge|c6g.12xlarge|c6g.16xlarge|c6g.metal|c6gd.medium|c6gd.large|c6gd.xlarge|c6gd.2xlarge|c6gd.4xlarge|c6gd.8xlarge|c6gd.12xlarge|c6gd.16xlarge|c6gd.metal|c6gn.medium|c6gn.large|c6gn.xlarge|c6gn.2xlarge|c6gn.4xlarge|c6gn.8xlarge|c6gn.12xlarge|c6gn.16xlarge|c6i.large|c6i.xlarge|c6i.2xlarge|c6i.4xlarge|c6i.8xlarge|c6i.12xlarge|c6i.16xlarge|c6i.24xlarge|c6i.32xlarge|c6i.metal|cc1.4xlarge|cc2.8xlarge|cg1.4xlarge|cr1.8xlarge|d2.xlarge|d2.2xlarge|d2.4xlarge|d2.8xlarge|d3.xlarge|d3.2xlarge|d3.4xlarge|d3.8xlarge|d3en.xlarge|d3en.2xlarge|d3en.4xlarge|d3en.6xlarge|d3en.8xlarge|d3en.12xlarge|dl1.24xlarge|f1.2xlarge|f1.4xlarge|f1.16xlarge|g2.2xlarge|g2.8xlarge|g3.4xlarge|g3.8xlarge|g3.16xlarge|g3s.xlarge|g4ad.xlarge|g4ad.2xlarge|g4ad.4xlarge|g4ad.8xlarge|g4ad.16xlarge|g4dn.xlarge|g4dn.2xlarge|g4dn.4xlarge|g4dn.8xlarge|g4dn.12xlarge|g4dn.16xlarge|g4dn.metal|g5.xlarge|g5.2xlarge|g5.4xlarge|g5.8xlarge|g5.12xlarge|g5.16xlarge|g5.24xlarge|g5.48xlarge|g5g.xlarge|g5g.2xlarge|g5g.4xlarge|g5g.8xlarge|g5g.16xlarge|g5g.metal|hi1.4xlarge|hpc6a.48xlarge|hs1.8xlarge|h1.2xlarge|h1.4xlarge|h1.8xlarge|h1.16xlarge|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|im4gn.large|im4gn.xlarge|im4gn.2xlarge|im4gn.4xlarge|im4gn.8xlarge|im4gn.16xlarge|inf1.xlarge|inf1.2xlarge|inf1.6xlarge|inf1.24xlarge|is4gen.medium|is4gen.large|is4gen.xlarge|is4gen.2xlarge|is4gen.4xlarge|is4gen.8xlarge|m1.small|m1.medium|m1.large|m1.xlarge|m2.xlarge|m2.2xlarge|m2.4xlarge|m3.medium|m3.large|m3.xlarge|m3.2xlarge|m4.large|m4.xlarge|m4.2xlarge|m4.4xlarge|m4.10xlarge|m4.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|m5ad.large|m5ad.xlarge|m5ad.2xlarge|m5ad.4xlarge|m5ad.8xlarge|m5ad.12xlarge|m5ad.16xlarge|m5ad.24xlarge|m5d.large|m5d.xlarge|m5d.2xlarge|m5d.4xlarge|m5d.8xlarge|m5d.12xlarge|m5d.16xlarge|m5d.24xlarge|m5d.metal|m5dn.large|m5dn.xlarge|m5dn.2xlarge|m5dn.4xlarge|m5dn.8xlarge|m5dn.12xlarge|m5dn.16xlarge|m5dn.24xlarge|m5dn.metal|m5n.large|m5n.xlarge|m5n.2xlarge|m5n.4xlarge|m5n.8xlarge|m5n.12xlarge|m5n.16xlarge|m5n.24xlarge|m5n.metal|m5zn.large|m5zn.xlarge|m5zn.2xlarge|m5zn.3xlarge|m5zn.6xlarge|m5zn.12xlarge|m5zn.metal|m6a.large|m6a.xlarge|m6a.2xlarge|m6a.4xlarge|m6a.8xlarge|m6a.12xlarge|m6a.16xlarge|m6a.24xlarge|m6a.32xlarge|m6a.48xlarge|m6g.metal|m6g.medium|m6g.large|m6g.xlarge|m6g.2xlarge|m6g.4xlarge|m6g.8xlarge|m6g.12xlarge|m6g.16xlarge|m6gd.metal|m6gd.medium|m6gd.large|m6gd.xlarge|m6gd.2xlarge|m6gd.4xlarge|m6gd.8xlarge|m6gd.12xlarge|m6gd.16xlarge|m6i.large|m6i.xlarge|m6i.2xlarge|m6i.4xlarge|m6i.8xlarge|m6i.12xlarge|m6i.16xlarge|m6i.24xlarge|m6i.32xlarge|m6i.metal|mac1.metal|p2.xlarge|p2.8xlarge|p2.16xlarge|p3.2xlarge|p3.8xlarge|p3.16xlarge|p3dn.24xlarge|p4d.24xlarge|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|r5ad.large|r5ad.xlarge|r5ad.2xlarge|r5ad.4xlarge|r5ad.8xlarge|r5ad.12xlarge|r5ad.16xlarge|r5ad.24xlarge|r5b.large|r5b.xlarge|r5b.2xlarge|r5b.4xlarge|r5b.8xlarge|r5b.12xlarge|r5b.16xlarge|r5b.24xlarge|r5b.metal|r5d.large|r5d.xlarge|r5d.2xlarge|r5d.4xlarge|r5d.8xlarge|r5d.12xlarge|r5d.16xlarge|r5d.24xlarge|r5d.metal|r5dn.large|r5dn.xlarge|r5dn.2xlarge|r5dn.4xlarge|r5dn.8xlarge|r5dn.12xlarge|r5dn.16xlarge|r5dn.24xlarge|r5dn.metal|r5n.large|r5n.xlarge|r5n.2xlarge|r5n.4xlarge|r5n.8xlarge|r5n.12xlarge|r5n.16xlarge|r5n.24xlarge|r5n.metal|r6g.medium|r6g.large|r6g.xlarge|r6g.2xlarge|r6g.4xlarge|r6g.8xlarge|r6g.12xlarge|r6g.16xlarge|r6g.metal|r6gd.medium|r6gd.large|r6gd.xlarge|r6gd.2xlarge|r6gd.4xlarge|r6gd.8xlarge|r6gd.12xlarge|r6gd.16xlarge|r6gd.metal|r6i.large|r6i.xlarge|r6i.2xlarge|r6i.4xlarge|r6i.8xlarge|r6i.12xlarge|r6i.16xlarge|r6i.24xlarge|r6i.32xlarge|r6i.metal|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|t4g.nano|t4g.micro|t4g.small|t4g.medium|t4g.large|t4g.xlarge|t4g.2xlarge|u-6tb1.56xlarge|u-6tb1.112xlarge|u-9tb1.112xlarge|u-12tb1.112xlarge|u-6tb1.metal|u-9tb1.metal|u-12tb1.metal|u-18tb1.metal|u-24tb1.metal|vt1.3xlarge|vt1.6xlarge|vt1.24xlarge|x1.16xlarge|x1.32xlarge|x1e.xlarge|x1e.2xlarge|x1e.4xlarge|x1e.8xlarge|x1e.16xlarge|x1e.32xlarge|x2iezn.2xlarge|x2iezn.4xlarge|x2iezn.6xlarge|x2iezn.8xlarge|x2iezn.12xlarge|x2iezn.metal|x2gd.medium|x2gd.large|x2gd.xlarge|x2gd.2xlarge|x2gd.4xlarge|x2gd.8xlarge|x2gd.12xlarge|x2gd.16xlarge|x2gd.metal|z1d.large|z1d.xlarge|z1d.2xlarge|z1d.3xlarge|z1d.6xlarge|z1d.12xlarge|z1d.metal|x2idn.16xlarge|x2idn.24xlarge|x2idn.32xlarge|x2iedn.xlarge|x2iedn.2xlarge|x2iedn.4xlarge|x2iedn.8xlarge|x2iedn.16xlarge|x2iedn.24xlarge|x2iedn.32xlarge|c6a.large|c6a.xlarge|c6a.2xlarge|c6a.4xlarge|c6a.8xlarge|c6a.12xlarge|c6a.16xlarge|c6a.24xlarge|c6a.32xlarge|c6a.48xlarge|c6a.metal|m6a.metal|i4i.large|i4i.xlarge|i4i.2xlarge|i4i.4xlarge|i4i.8xlarge|i4i.16xlarge|i4i.32xlarge|i4i.metal|x2idn.metal|x2iedn.metal|c7g.medium|c7g.large|c7g.xlarge|c7g.2xlarge|c7g.4xlarge|c7g.8xlarge|c7g.12xlarge|c7g.16xlarge|mac2.metal|c6id.large|c6id.xlarge|c6id.2xlarge|c6id.4xlarge|c6id.8xlarge|c6id.12xlarge|c6id.16xlarge|c6id.24xlarge|c6id.32xlarge|c6id.metal|m6id.large|m6id.xlarge|m6id.2xlarge|m6id.4xlarge|m6id.8xlarge|m6id.12xlarge|m6id.16xlarge|m6id.24xlarge|m6id.32xlarge|m6id.metal|r6id.large|r6id.xlarge|r6id.2xlarge|r6id.4xlarge|r6id.8xlarge|r6id.12xlarge|r6id.16xlarge|r6id.24xlarge|r6id.32xlarge|r6id.metal|r6a.large|r6a.xlarge|r6a.2xlarge|r6a.4xlarge|r6a.8xlarge|r6a.12xlarge|r6a.16xlarge|r6a.24xlarge|r6a.32xlarge|r6a.48xlarge|r6a.metal|p4de.24xlarge|u-3tb1.56xlarge|u-18tb1.112xlarge|u-24tb1.112xlarge|trn1.2xlarge|trn1.32xlarge|hpc6id.32xlarge|c6in.large|c6in.xlarge|c6in.2xlarge|c6in.4xlarge|c6in.8xlarge|c6in.12xlarge|c6in.16xlarge|c6in.24xlarge|c6in.32xlarge|m6in.large|m6in.xlarge|m6in.2xlarge|m6in.4xlarge|m6in.8xlarge|m6in.12xlarge|m6in.16xlarge|m6in.24xlarge|m6in.32xlarge|m6idn.large|m6idn.xlarge|m6idn.2xlarge|m6idn.4xlarge|m6idn.8xlarge|m6idn.12xlarge|m6idn.16xlarge|m6idn.24xlarge|m6idn.32xlarge|r6in.large|r6in.xlarge|r6in.2xlarge|r6in.4xlarge|r6in.8xlarge|r6in.12xlarge|r6in.16xlarge|r6in.24xlarge|r6in.32xlarge|r6idn.large|r6idn.xlarge|r6idn.2xlarge|r6idn.4xlarge|r6idn.8xlarge|r6idn.12xlarge|r6idn.16xlarge|r6idn.24xlarge|r6idn.32xlarge|c7g.metal|m7g.medium|m7g.large|m7g.xlarge|m7g.2xlarge|m7g.4xlarge|m7g.8xlarge|m7g.12xlarge|m7g.16xlarge|m7g.metal|r7g.medium|r7g.large|r7g.xlarge|r7g.2xlarge|r7g.4xlarge|r7g.8xlarge|r7g.12xlarge|r7g.16xlarge|r7g.metal|c6in.metal|m6in.metal|m6idn.metal|r6in.metal|r6idn.metal|inf2.xlarge|inf2.8xlarge|inf2.24xlarge|inf2.48xlarge|trn1n.32xlarge|i4g.large|i4g.xlarge|i4g.2xlarge|i4g.4xlarge|i4g.8xlarge|i4g.16xlarge|hpc7g.4xlarge|hpc7g.8xlarge|hpc7g.16xlarge|c7gn.medium|c7gn.large|c7gn.xlarge|c7gn.2xlarge|c7gn.4xlarge|c7gn.8xlarge|c7gn.12xlarge|c7gn.16xlarge|p5.48xlarge|m7i.large|m7i.xlarge|m7i.2xlarge|m7i.4xlarge|m7i.8xlarge|m7i.12xlarge|m7i.16xlarge|m7i.24xlarge|m7i.48xlarge|m7i-flex.large|m7i-flex.xlarge|m7i-flex.2xlarge|m7i-flex.4xlarge|m7i-flex.8xlarge|m7a.medium|m7a.large|m7a.xlarge|m7a.2xlarge|m7a.4xlarge|m7a.8xlarge|m7a.12xlarge|m7a.16xlarge|m7a.24xlarge|m7a.32xlarge|m7a.48xlarge|m7a.metal-48xl|hpc7a.12xlarge|hpc7a.24xlarge|hpc7a.48xlarge|hpc7a.96xlarge|c7gd.medium|c7gd.large|c7gd.xlarge|c7gd.2xlarge|c7gd.4xlarge|c7gd.8xlarge|c7gd.12xlarge|c7gd.16xlarge|m7gd.medium|m7gd.large|m7gd.xlarge|m7gd.2xlarge|m7gd.4xlarge|m7gd.8xlarge|m7gd.12xlarge|m7gd.16xlarge|r7gd.medium|r7gd.large|r7gd.xlarge|r7gd.2xlarge|r7gd.4xlarge|r7gd.8xlarge|r7gd.12xlarge|r7gd.16xlarge|r7a.medium|r7a.large|r7a.xlarge|r7a.2xlarge|r7a.4xlarge|r7a.8xlarge|r7a.12xlarge|r7a.16xlarge|r7a.24xlarge|r7a.32xlarge|r7a.48xlarge|c7i.large|c7i.xlarge|c7i.2xlarge|c7i.4xlarge|c7i.8xlarge|c7i.12xlarge|c7i.16xlarge|c7i.24xlarge|c7i.48xlarge|mac2-m2pro.metal|r7iz.large|r7iz.xlarge|r7iz.2xlarge|r7iz.4xlarge|r7iz.8xlarge|r7iz.12xlarge|r7iz.16xlarge|r7iz.32xlarge|c7a.medium|c7a.large|c7a.xlarge|c7a.2xlarge|c7a.4xlarge|c7a.8xlarge|c7a.12xlarge|c7a.16xlarge|c7a.24xlarge|c7a.32xlarge|c7a.48xlarge|c7a.metal-48xl|r7a.metal-48xl|r7i.large|r7i.xlarge|r7i.2xlarge|r7i.4xlarge|r7i.8xlarge|r7i.12xlarge|r7i.16xlarge|r7i.24xlarge|r7i.48xlarge|dl2q.24xlarge|mac2-m2.metal|i4i.12xlarge|i4i.24xlarge|c7i.metal-24xl|c7i.metal-48xl|m7i.metal-24xl|m7i.metal-48xl|r7i.metal-24xl|r7i.metal-48xl|r7iz.metal-16xl|r7iz.metal-32xl|c7gd.metal|m7gd.metal|r7gd.metal|g6.xlarge|g6.2xlarge|g6.4xlarge|g6.8xlarge|g6.12xlarge|g6.16xlarge|g6.24xlarge|g6.48xlarge|gr6.4xlarge|gr6.8xlarge|c7i-flex.large|c7i-flex.xlarge|c7i-flex.2xlarge|c7i-flex.4xlarge|c7i-flex.8xlarge|u7i-12tb.224xlarge|u7in-16tb.224xlarge|u7in-24tb.224xlarge|u7in-32tb.224xlarge|u7ib-12tb.224xlarge|c7gn.metal|r8g.medium|r8g.large|r8g.xlarge|r8g.2xlarge|r8g.4xlarge|r8g.8xlarge|r8g.12xlarge|r8g.16xlarge|r8g.24xlarge|r8g.48xlarge|r8g.metal-24xl|r8g.metal-48xl|mac2-m1ultra.metal|g6e.xlarge|g6e.2xlarge|g6e.4xlarge|g6e.8xlarge|g6e.12xlarge|g6e.16xlarge|g6e.24xlarge|g6e.48xlarge|c8g.medium|c8g.large|c8g.xlarge|c8g.2xlarge|c8g.4xlarge|c8g.8xlarge|c8g.12xlarge|c8g.16xlarge|c8g.24xlarge|c8g.48xlarge|c8g.metal-24xl|c8g.metal-48xl|m8g.medium|m8g.large|m8g.xlarge|m8g.2xlarge|m8g.4xlarge|m8g.8xlarge|m8g.12xlarge|m8g.16xlarge|m8g.24xlarge|m8g.48xlarge|m8g.metal-24xl|m8g.metal-48xl|x8g.medium|x8g.large|x8g.xlarge|x8g.2xlarge|x8g.4xlarge|x8g.8xlarge|x8g.12xlarge|x8g.16xlarge|x8g.24xlarge|x8g.48xlarge|x8g.metal-24xl|x8g.metal-48xl',
                    'MaxPrice' => '<string>',
                    'Placement' => [
                        'Affinity' => '<string>',
                        'AvailabilityZone' => '<string>',
                        'GroupId' => '<string>',
                        'GroupName' => '<string>',
                        'HostId' => '<string>',
                        'HostResourceGroupArn' => '<string>',
                        'PartitionNumber' => <integer>,
                        'SpreadDomain' => '<string>',
                        'Tenancy' => 'default|dedicated|host',
                    ],
                    'Priority' => <float>,
                    'SubnetId' => '<string>',
                    'WeightedCapacity' => <float>,
                ],
                // ...
            ],
        ],
        // ...
    ],
    'OnDemandOptions' => [
        'AllocationStrategy' => 'lowest-price|prioritized',
        'CapacityReservationOptions' => [
            'UsageStrategy' => 'use-capacity-reservations-first',
        ],
        'MaxTotalPrice' => '<string>',
        'MinTargetCapacity' => <integer>,
        'SingleAvailabilityZone' => true || false,
        'SingleInstanceType' => true || false,
    ],
    'ReplaceUnhealthyInstances' => true || false,
    'SpotOptions' => [
        'AllocationStrategy' => 'lowest-price|diversified|capacity-optimized|capacity-optimized-prioritized|price-capacity-optimized',
        'InstanceInterruptionBehavior' => 'hibernate|stop|terminate',
        'InstancePoolsToUseCount' => <integer>,
        'MaintenanceStrategies' => [
            'CapacityRebalance' => [
                'ReplacementStrategy' => 'launch|launch-before-terminate',
                'TerminationDelay' => <integer>,
            ],
        ],
        'MaxTotalPrice' => '<string>',
        'MinTargetCapacity' => <integer>,
        'SingleAvailabilityZone' => true || false,
        'SingleInstanceType' => true || false,
    ],
    'TagSpecifications' => [
        [
            'ResourceType' => 'capacity-reservation|client-vpn-endpoint|customer-gateway|carrier-gateway|coip-pool|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|instance-event-window|internet-gateway|ipam|ipam-pool|ipam-scope|ipv4pool-ec2|ipv6pool-ec2|key-pair|launch-template|local-gateway|local-gateway-route-table|local-gateway-virtual-interface|local-gateway-virtual-interface-group|local-gateway-route-table-vpc-association|local-gateway-route-table-virtual-interface-group-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|network-insights-access-scope|network-insights-access-scope-analysis|placement-group|prefix-list|replace-root-volume-task|reserved-instances|route-table|security-group|security-group-rule|snapshot|spot-fleet-request|spot-instances-request|subnet|subnet-cidr-reservation|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-policy-table|transit-gateway-route-table|transit-gateway-route-table-announcement|volume|vpc|vpc-endpoint|vpc-endpoint-connection|vpc-endpoint-service|vpc-endpoint-service-permission|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log|capacity-reservation-fleet|traffic-mirror-filter-rule|vpc-endpoint-connection-device-type|verified-access-instance|verified-access-group|verified-access-endpoint|verified-access-policy|verified-access-trust-provider|vpn-connection-device-type|vpc-block-public-access-exclusion|ipam-resource-discovery|ipam-resource-discovery-association|instance-connect-endpoint|ipam-external-resource-verification-token',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'TargetCapacitySpecification' => [ // REQUIRED
        'DefaultTargetCapacityType' => 'spot|on-demand|capacity-block',
        'OnDemandTargetCapacity' => <integer>,
        'SpotTargetCapacity' => <integer>,
        'TargetCapacityUnitType' => 'vcpu|memory-mib|units',
        'TotalTargetCapacity' => <integer>, // REQUIRED
    ],
    'TerminateInstancesWithExpiration' => true || false,
    'Type' => 'request|maintain|instant',
    'ValidFrom' => <integer || string || DateTime>,
    'ValidUntil' => <integer || string || DateTime>,
]);

Parameter Details

Members
ClientToken
Type: string

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

Context
Type: string

Reserved.

DryRun
Type: boolean

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.

ExcessCapacityTerminationPolicy
Type: string

Indicates whether running instances should be terminated if the total target capacity of the EC2 Fleet is decreased below the current size of the EC2 Fleet.

Supported only for fleets of type maintain.

LaunchTemplateConfigs
Required: Yes
Type: Array of FleetLaunchTemplateConfigRequest structures

The configuration for the EC2 Fleet.

OnDemandOptions
Type: OnDemandOptionsRequest structure

Describes the configuration of On-Demand Instances in an EC2 Fleet.

ReplaceUnhealthyInstances
Type: boolean

Indicates whether EC2 Fleet should replace unhealthy Spot Instances. Supported only for fleets of type maintain. For more information, see EC2 Fleet health checks in the Amazon EC2 User Guide.

SpotOptions
Type: SpotOptionsRequest structure

Describes the configuration of Spot Instances in an EC2 Fleet.

TagSpecifications
Type: Array of TagSpecification structures

The key-value pair for tagging the EC2 Fleet request on creation. For more information, see Tag your resources.

If the fleet type is instant, specify a resource type of fleet to tag the fleet or instance to tag the instances at launch.

If the fleet type is maintain or request, specify a resource type of fleet to tag the fleet. You cannot specify a resource type of instance. To tag instances at launch, specify the tags in a launch template.

TargetCapacitySpecification
Required: Yes
Type: TargetCapacitySpecificationRequest structure

The number of units to request.

TerminateInstancesWithExpiration
Type: boolean

Indicates whether running instances should be terminated when the EC2 Fleet expires.

Type
Type: string

The fleet type. The default value is maintain.

  • maintain - The EC2 Fleet places an asynchronous request for your desired capacity, and continues to maintain your desired Spot capacity by replenishing interrupted Spot Instances.

  • request - The EC2 Fleet places an asynchronous one-time request for your desired capacity, but does submit Spot requests in alternative capacity pools if Spot capacity is unavailable, and does not maintain Spot capacity if Spot Instances are interrupted.

  • instant - The EC2 Fleet places a synchronous one-time request for your desired capacity, and returns errors for any instances that could not be launched.

For more information, see EC2 Fleet request types in the Amazon EC2 User Guide.

ValidFrom
Type: timestamp (string|DateTime or anything parsable by strtotime)

The start date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately.

ValidUntil
Type: timestamp (string|DateTime or anything parsable by strtotime)

The end date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). At this point, no new EC2 Fleet requests are placed or able to fulfill the request. If no value is specified, the request remains until you cancel it.

Result Syntax

[
    'Errors' => [
        [
            'ErrorCode' => '<string>',
            'ErrorMessage' => '<string>',
            'LaunchTemplateAndOverrides' => [
                'LaunchTemplateSpecification' => [
                    'LaunchTemplateId' => '<string>',
                    'LaunchTemplateName' => '<string>',
                    'Version' => '<string>',
                ],
                'Overrides' => [
                    'AvailabilityZone' => '<string>',
                    'ImageId' => '<string>',
                    'InstanceRequirements' => [
                        'AcceleratorCount' => [
                            'Max' => <integer>,
                            'Min' => <integer>,
                        ],
                        'AcceleratorManufacturers' => ['<string>', ...],
                        'AcceleratorNames' => ['<string>', ...],
                        'AcceleratorTotalMemoryMiB' => [
                            'Max' => <integer>,
                            'Min' => <integer>,
                        ],
                        'AcceleratorTypes' => ['<string>', ...],
                        'AllowedInstanceTypes' => ['<string>', ...],
                        'BareMetal' => 'included|required|excluded',
                        'BaselineEbsBandwidthMbps' => [
                            'Max' => <integer>,
                            'Min' => <integer>,
                        ],
                        'BaselinePerformanceFactors' => [
                            'Cpu' => [
                                'References' => [
                                    [
                                        'InstanceFamily' => '<string>',
                                    ],
                                    // ...
                                ],
                            ],
                        ],
                        'BurstablePerformance' => 'included|required|excluded',
                        'CpuManufacturers' => ['<string>', ...],
                        'ExcludedInstanceTypes' => ['<string>', ...],
                        'InstanceGenerations' => ['<string>', ...],
                        'LocalStorage' => 'included|required|excluded',
                        'LocalStorageTypes' => ['<string>', ...],
                        'MaxSpotPriceAsPercentageOfOptimalOnDemandPrice' => <integer>,
                        'MemoryGiBPerVCpu' => [
                            'Max' => <float>,
                            'Min' => <float>,
                        ],
                        'MemoryMiB' => [
                            'Max' => <integer>,
                            'Min' => <integer>,
                        ],
                        'NetworkBandwidthGbps' => [
                            'Max' => <float>,
                            'Min' => <float>,
                        ],
                        'NetworkInterfaceCount' => [
                            'Max' => <integer>,
                            'Min' => <integer>,
                        ],
                        'OnDemandMaxPricePercentageOverLowestPrice' => <integer>,
                        'RequireHibernateSupport' => true || false,
                        'SpotMaxPricePercentageOverLowestPrice' => <integer>,
                        'TotalLocalStorageGB' => [
                            'Max' => <float>,
                            'Min' => <float>,
                        ],
                        'VCpuCount' => [
                            'Max' => <integer>,
                            'Min' => <integer>,
                        ],
                    ],
                    'InstanceType' => 'a1.medium|a1.large|a1.xlarge|a1.2xlarge|a1.4xlarge|a1.metal|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|c5a.large|c5a.xlarge|c5a.2xlarge|c5a.4xlarge|c5a.8xlarge|c5a.12xlarge|c5a.16xlarge|c5a.24xlarge|c5ad.large|c5ad.xlarge|c5ad.2xlarge|c5ad.4xlarge|c5ad.8xlarge|c5ad.12xlarge|c5ad.16xlarge|c5ad.24xlarge|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|c5n.metal|c6g.medium|c6g.large|c6g.xlarge|c6g.2xlarge|c6g.4xlarge|c6g.8xlarge|c6g.12xlarge|c6g.16xlarge|c6g.metal|c6gd.medium|c6gd.large|c6gd.xlarge|c6gd.2xlarge|c6gd.4xlarge|c6gd.8xlarge|c6gd.12xlarge|c6gd.16xlarge|c6gd.metal|c6gn.medium|c6gn.large|c6gn.xlarge|c6gn.2xlarge|c6gn.4xlarge|c6gn.8xlarge|c6gn.12xlarge|c6gn.16xlarge|c6i.large|c6i.xlarge|c6i.2xlarge|c6i.4xlarge|c6i.8xlarge|c6i.12xlarge|c6i.16xlarge|c6i.24xlarge|c6i.32xlarge|c6i.metal|cc1.4xlarge|cc2.8xlarge|cg1.4xlarge|cr1.8xlarge|d2.xlarge|d2.2xlarge|d2.4xlarge|d2.8xlarge|d3.xlarge|d3.2xlarge|d3.4xlarge|d3.8xlarge|d3en.xlarge|d3en.2xlarge|d3en.4xlarge|d3en.6xlarge|d3en.8xlarge|d3en.12xlarge|dl1.24xlarge|f1.2xlarge|f1.4xlarge|f1.16xlarge|g2.2xlarge|g2.8xlarge|g3.4xlarge|g3.8xlarge|g3.16xlarge|g3s.xlarge|g4ad.xlarge|g4ad.2xlarge|g4ad.4xlarge|g4ad.8xlarge|g4ad.16xlarge|g4dn.xlarge|g4dn.2xlarge|g4dn.4xlarge|g4dn.8xlarge|g4dn.12xlarge|g4dn.16xlarge|g4dn.metal|g5.xlarge|g5.2xlarge|g5.4xlarge|g5.8xlarge|g5.12xlarge|g5.16xlarge|g5.24xlarge|g5.48xlarge|g5g.xlarge|g5g.2xlarge|g5g.4xlarge|g5g.8xlarge|g5g.16xlarge|g5g.metal|hi1.4xlarge|hpc6a.48xlarge|hs1.8xlarge|h1.2xlarge|h1.4xlarge|h1.8xlarge|h1.16xlarge|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|im4gn.large|im4gn.xlarge|im4gn.2xlarge|im4gn.4xlarge|im4gn.8xlarge|im4gn.16xlarge|inf1.xlarge|inf1.2xlarge|inf1.6xlarge|inf1.24xlarge|is4gen.medium|is4gen.large|is4gen.xlarge|is4gen.2xlarge|is4gen.4xlarge|is4gen.8xlarge|m1.small|m1.medium|m1.large|m1.xlarge|m2.xlarge|m2.2xlarge|m2.4xlarge|m3.medium|m3.large|m3.xlarge|m3.2xlarge|m4.large|m4.xlarge|m4.2xlarge|m4.4xlarge|m4.10xlarge|m4.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|m5ad.large|m5ad.xlarge|m5ad.2xlarge|m5ad.4xlarge|m5ad.8xlarge|m5ad.12xlarge|m5ad.16xlarge|m5ad.24xlarge|m5d.large|m5d.xlarge|m5d.2xlarge|m5d.4xlarge|m5d.8xlarge|m5d.12xlarge|m5d.16xlarge|m5d.24xlarge|m5d.metal|m5dn.large|m5dn.xlarge|m5dn.2xlarge|m5dn.4xlarge|m5dn.8xlarge|m5dn.12xlarge|m5dn.16xlarge|m5dn.24xlarge|m5dn.metal|m5n.large|m5n.xlarge|m5n.2xlarge|m5n.4xlarge|m5n.8xlarge|m5n.12xlarge|m5n.16xlarge|m5n.24xlarge|m5n.metal|m5zn.large|m5zn.xlarge|m5zn.2xlarge|m5zn.3xlarge|m5zn.6xlarge|m5zn.12xlarge|m5zn.metal|m6a.large|m6a.xlarge|m6a.2xlarge|m6a.4xlarge|m6a.8xlarge|m6a.12xlarge|m6a.16xlarge|m6a.24xlarge|m6a.32xlarge|m6a.48xlarge|m6g.metal|m6g.medium|m6g.large|m6g.xlarge|m6g.2xlarge|m6g.4xlarge|m6g.8xlarge|m6g.12xlarge|m6g.16xlarge|m6gd.metal|m6gd.medium|m6gd.large|m6gd.xlarge|m6gd.2xlarge|m6gd.4xlarge|m6gd.8xlarge|m6gd.12xlarge|m6gd.16xlarge|m6i.large|m6i.xlarge|m6i.2xlarge|m6i.4xlarge|m6i.8xlarge|m6i.12xlarge|m6i.16xlarge|m6i.24xlarge|m6i.32xlarge|m6i.metal|mac1.metal|p2.xlarge|p2.8xlarge|p2.16xlarge|p3.2xlarge|p3.8xlarge|p3.16xlarge|p3dn.24xlarge|p4d.24xlarge|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|r5ad.large|r5ad.xlarge|r5ad.2xlarge|r5ad.4xlarge|r5ad.8xlarge|r5ad.12xlarge|r5ad.16xlarge|r5ad.24xlarge|r5b.large|r5b.xlarge|r5b.2xlarge|r5b.4xlarge|r5b.8xlarge|r5b.12xlarge|r5b.16xlarge|r5b.24xlarge|r5b.metal|r5d.large|r5d.xlarge|r5d.2xlarge|r5d.4xlarge|r5d.8xlarge|r5d.12xlarge|r5d.16xlarge|r5d.24xlarge|r5d.metal|r5dn.large|r5dn.xlarge|r5dn.2xlarge|r5dn.4xlarge|r5dn.8xlarge|r5dn.12xlarge|r5dn.16xlarge|r5dn.24xlarge|r5dn.metal|r5n.large|r5n.xlarge|r5n.2xlarge|r5n.4xlarge|r5n.8xlarge|r5n.12xlarge|r5n.16xlarge|r5n.24xlarge|r5n.metal|r6g.medium|r6g.large|r6g.xlarge|r6g.2xlarge|r6g.4xlarge|r6g.8xlarge|r6g.12xlarge|r6g.16xlarge|r6g.metal|r6gd.medium|r6gd.large|r6gd.xlarge|r6gd.2xlarge|r6gd.4xlarge|r6gd.8xlarge|r6gd.12xlarge|r6gd.16xlarge|r6gd.metal|r6i.large|r6i.xlarge|r6i.2xlarge|r6i.4xlarge|r6i.8xlarge|r6i.12xlarge|r6i.16xlarge|r6i.24xlarge|r6i.32xlarge|r6i.metal|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|t4g.nano|t4g.micro|t4g.small|t4g.medium|t4g.large|t4g.xlarge|t4g.2xlarge|u-6tb1.56xlarge|u-6tb1.112xlarge|u-9tb1.112xlarge|u-12tb1.112xlarge|u-6tb1.metal|u-9tb1.metal|u-12tb1.metal|u-18tb1.metal|u-24tb1.metal|vt1.3xlarge|vt1.6xlarge|vt1.24xlarge|x1.16xlarge|x1.32xlarge|x1e.xlarge|x1e.2xlarge|x1e.4xlarge|x1e.8xlarge|x1e.16xlarge|x1e.32xlarge|x2iezn.2xlarge|x2iezn.4xlarge|x2iezn.6xlarge|x2iezn.8xlarge|x2iezn.12xlarge|x2iezn.metal|x2gd.medium|x2gd.large|x2gd.xlarge|x2gd.2xlarge|x2gd.4xlarge|x2gd.8xlarge|x2gd.12xlarge|x2gd.16xlarge|x2gd.metal|z1d.large|z1d.xlarge|z1d.2xlarge|z1d.3xlarge|z1d.6xlarge|z1d.12xlarge|z1d.metal|x2idn.16xlarge|x2idn.24xlarge|x2idn.32xlarge|x2iedn.xlarge|x2iedn.2xlarge|x2iedn.4xlarge|x2iedn.8xlarge|x2iedn.16xlarge|x2iedn.24xlarge|x2iedn.32xlarge|c6a.large|c6a.xlarge|c6a.2xlarge|c6a.4xlarge|c6a.8xlarge|c6a.12xlarge|c6a.16xlarge|c6a.24xlarge|c6a.32xlarge|c6a.48xlarge|c6a.metal|m6a.metal|i4i.large|i4i.xlarge|i4i.2xlarge|i4i.4xlarge|i4i.8xlarge|i4i.16xlarge|i4i.32xlarge|i4i.metal|x2idn.metal|x2iedn.metal|c7g.medium|c7g.large|c7g.xlarge|c7g.2xlarge|c7g.4xlarge|c7g.8xlarge|c7g.12xlarge|c7g.16xlarge|mac2.metal|c6id.large|c6id.xlarge|c6id.2xlarge|c6id.4xlarge|c6id.8xlarge|c6id.12xlarge|c6id.16xlarge|c6id.24xlarge|c6id.32xlarge|c6id.metal|m6id.large|m6id.xlarge|m6id.2xlarge|m6id.4xlarge|m6id.8xlarge|m6id.12xlarge|m6id.16xlarge|m6id.24xlarge|m6id.32xlarge|m6id.metal|r6id.large|r6id.xlarge|r6id.2xlarge|r6id.4xlarge|r6id.8xlarge|r6id.12xlarge|r6id.16xlarge|r6id.24xlarge|r6id.32xlarge|r6id.metal|r6a.large|r6a.xlarge|r6a.2xlarge|r6a.4xlarge|r6a.8xlarge|r6a.12xlarge|r6a.16xlarge|r6a.24xlarge|r6a.32xlarge|r6a.48xlarge|r6a.metal|p4de.24xlarge|u-3tb1.56xlarge|u-18tb1.112xlarge|u-24tb1.112xlarge|trn1.2xlarge|trn1.32xlarge|hpc6id.32xlarge|c6in.large|c6in.xlarge|c6in.2xlarge|c6in.4xlarge|c6in.8xlarge|c6in.12xlarge|c6in.16xlarge|c6in.24xlarge|c6in.32xlarge|m6in.large|m6in.xlarge|m6in.2xlarge|m6in.4xlarge|m6in.8xlarge|m6in.12xlarge|m6in.16xlarge|m6in.24xlarge|m6in.32xlarge|m6idn.large|m6idn.xlarge|m6idn.2xlarge|m6idn.4xlarge|m6idn.8xlarge|m6idn.12xlarge|m6idn.16xlarge|m6idn.24xlarge|m6idn.32xlarge|r6in.large|r6in.xlarge|r6in.2xlarge|r6in.4xlarge|r6in.8xlarge|r6in.12xlarge|r6in.16xlarge|r6in.24xlarge|r6in.32xlarge|r6idn.large|r6idn.xlarge|r6idn.2xlarge|r6idn.4xlarge|r6idn.8xlarge|r6idn.12xlarge|r6idn.16xlarge|r6idn.24xlarge|r6idn.32xlarge|c7g.metal|m7g.medium|m7g.large|m7g.xlarge|m7g.2xlarge|m7g.4xlarge|m7g.8xlarge|m7g.12xlarge|m7g.16xlarge|m7g.metal|r7g.medium|r7g.large|r7g.xlarge|r7g.2xlarge|r7g.4xlarge|r7g.8xlarge|r7g.12xlarge|r7g.16xlarge|r7g.metal|c6in.metal|m6in.metal|m6idn.metal|r6in.metal|r6idn.metal|inf2.xlarge|inf2.8xlarge|inf2.24xlarge|inf2.48xlarge|trn1n.32xlarge|i4g.large|i4g.xlarge|i4g.2xlarge|i4g.4xlarge|i4g.8xlarge|i4g.16xlarge|hpc7g.4xlarge|hpc7g.8xlarge|hpc7g.16xlarge|c7gn.medium|c7gn.large|c7gn.xlarge|c7gn.2xlarge|c7gn.4xlarge|c7gn.8xlarge|c7gn.12xlarge|c7gn.16xlarge|p5.48xlarge|m7i.large|m7i.xlarge|m7i.2xlarge|m7i.4xlarge|m7i.8xlarge|m7i.12xlarge|m7i.16xlarge|m7i.24xlarge|m7i.48xlarge|m7i-flex.large|m7i-flex.xlarge|m7i-flex.2xlarge|m7i-flex.4xlarge|m7i-flex.8xlarge|m7a.medium|m7a.large|m7a.xlarge|m7a.2xlarge|m7a.4xlarge|m7a.8xlarge|m7a.12xlarge|m7a.16xlarge|m7a.24xlarge|m7a.32xlarge|m7a.48xlarge|m7a.metal-48xl|hpc7a.12xlarge|hpc7a.24xlarge|hpc7a.48xlarge|hpc7a.96xlarge|c7gd.medium|c7gd.large|c7gd.xlarge|c7gd.2xlarge|c7gd.4xlarge|c7gd.8xlarge|c7gd.12xlarge|c7gd.16xlarge|m7gd.medium|m7gd.large|m7gd.xlarge|m7gd.2xlarge|m7gd.4xlarge|m7gd.8xlarge|m7gd.12xlarge|m7gd.16xlarge|r7gd.medium|r7gd.large|r7gd.xlarge|r7gd.2xlarge|r7gd.4xlarge|r7gd.8xlarge|r7gd.12xlarge|r7gd.16xlarge|r7a.medium|r7a.large|r7a.xlarge|r7a.2xlarge|r7a.4xlarge|r7a.8xlarge|r7a.12xlarge|r7a.16xlarge|r7a.24xlarge|r7a.32xlarge|r7a.48xlarge|c7i.large|c7i.xlarge|c7i.2xlarge|c7i.4xlarge|c7i.8xlarge|c7i.12xlarge|c7i.16xlarge|c7i.24xlarge|c7i.48xlarge|mac2-m2pro.metal|r7iz.large|r7iz.xlarge|r7iz.2xlarge|r7iz.4xlarge|r7iz.8xlarge|r7iz.12xlarge|r7iz.16xlarge|r7iz.32xlarge|c7a.medium|c7a.large|c7a.xlarge|c7a.2xlarge|c7a.4xlarge|c7a.8xlarge|c7a.12xlarge|c7a.16xlarge|c7a.24xlarge|c7a.32xlarge|c7a.48xlarge|c7a.metal-48xl|r7a.metal-48xl|r7i.large|r7i.xlarge|r7i.2xlarge|r7i.4xlarge|r7i.8xlarge|r7i.12xlarge|r7i.16xlarge|r7i.24xlarge|r7i.48xlarge|dl2q.24xlarge|mac2-m2.metal|i4i.12xlarge|i4i.24xlarge|c7i.metal-24xl|c7i.metal-48xl|m7i.metal-24xl|m7i.metal-48xl|r7i.metal-24xl|r7i.metal-48xl|r7iz.metal-16xl|r7iz.metal-32xl|c7gd.metal|m7gd.metal|r7gd.metal|g6.xlarge|g6.2xlarge|g6.4xlarge|g6.8xlarge|g6.12xlarge|g6.16xlarge|g6.24xlarge|g6.48xlarge|gr6.4xlarge|gr6.8xlarge|c7i-flex.large|c7i-flex.xlarge|c7i-flex.2xlarge|c7i-flex.4xlarge|c7i-flex.8xlarge|u7i-12tb.224xlarge|u7in-16tb.224xlarge|u7in-24tb.224xlarge|u7in-32tb.224xlarge|u7ib-12tb.224xlarge|c7gn.metal|r8g.medium|r8g.large|r8g.xlarge|r8g.2xlarge|r8g.4xlarge|r8g.8xlarge|r8g.12xlarge|r8g.16xlarge|r8g.24xlarge|r8g.48xlarge|r8g.metal-24xl|r8g.metal-48xl|mac2-m1ultra.metal|g6e.xlarge|g6e.2xlarge|g6e.4xlarge|g6e.8xlarge|g6e.12xlarge|g6e.16xlarge|g6e.24xlarge|g6e.48xlarge|c8g.medium|c8g.large|c8g.xlarge|c8g.2xlarge|c8g.4xlarge|c8g.8xlarge|c8g.12xlarge|c8g.16xlarge|c8g.24xlarge|c8g.48xlarge|c8g.metal-24xl|c8g.metal-48xl|m8g.medium|m8g.large|m8g.xlarge|m8g.2xlarge|m8g.4xlarge|m8g.8xlarge|m8g.12xlarge|m8g.16xlarge|m8g.24xlarge|m8g.48xlarge|m8g.metal-24xl|m8g.metal-48xl|x8g.medium|x8g.large|x8g.xlarge|x8g.2xlarge|x8g.4xlarge|x8g.8xlarge|x8g.12xlarge|x8g.16xlarge|x8g.24xlarge|x8g.48xlarge|x8g.metal-24xl|x8g.metal-48xl',
                    'MaxPrice' => '<string>',
                    'Placement' => [
                        'GroupName' => '<string>',
                    ],
                    'Priority' => <float>,
                    'SubnetId' => '<string>',
                    'WeightedCapacity' => <float>,
                ],
            ],
            'Lifecycle' => 'spot|on-demand',
        ],
        // ...
    ],
    'FleetId' => '<string>',
    'Instances' => [
        [
            'InstanceIds' => ['<string>', ...],
            'InstanceType' => 'a1.medium|a1.large|a1.xlarge|a1.2xlarge|a1.4xlarge|a1.metal|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|c5a.large|c5a.xlarge|c5a.2xlarge|c5a.4xlarge|c5a.8xlarge|c5a.12xlarge|c5a.16xlarge|c5a.24xlarge|c5ad.large|c5ad.xlarge|c5ad.2xlarge|c5ad.4xlarge|c5ad.8xlarge|c5ad.12xlarge|c5ad.16xlarge|c5ad.24xlarge|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|c5n.metal|c6g.medium|c6g.large|c6g.xlarge|c6g.2xlarge|c6g.4xlarge|c6g.8xlarge|c6g.12xlarge|c6g.16xlarge|c6g.metal|c6gd.medium|c6gd.large|c6gd.xlarge|c6gd.2xlarge|c6gd.4xlarge|c6gd.8xlarge|c6gd.12xlarge|c6gd.16xlarge|c6gd.metal|c6gn.medium|c6gn.large|c6gn.xlarge|c6gn.2xlarge|c6gn.4xlarge|c6gn.8xlarge|c6gn.12xlarge|c6gn.16xlarge|c6i.large|c6i.xlarge|c6i.2xlarge|c6i.4xlarge|c6i.8xlarge|c6i.12xlarge|c6i.16xlarge|c6i.24xlarge|c6i.32xlarge|c6i.metal|cc1.4xlarge|cc2.8xlarge|cg1.4xlarge|cr1.8xlarge|d2.xlarge|d2.2xlarge|d2.4xlarge|d2.8xlarge|d3.xlarge|d3.2xlarge|d3.4xlarge|d3.8xlarge|d3en.xlarge|d3en.2xlarge|d3en.4xlarge|d3en.6xlarge|d3en.8xlarge|d3en.12xlarge|dl1.24xlarge|f1.2xlarge|f1.4xlarge|f1.16xlarge|g2.2xlarge|g2.8xlarge|g3.4xlarge|g3.8xlarge|g3.16xlarge|g3s.xlarge|g4ad.xlarge|g4ad.2xlarge|g4ad.4xlarge|g4ad.8xlarge|g4ad.16xlarge|g4dn.xlarge|g4dn.2xlarge|g4dn.4xlarge|g4dn.8xlarge|g4dn.12xlarge|g4dn.16xlarge|g4dn.metal|g5.xlarge|g5.2xlarge|g5.4xlarge|g5.8xlarge|g5.12xlarge|g5.16xlarge|g5.24xlarge|g5.48xlarge|g5g.xlarge|g5g.2xlarge|g5g.4xlarge|g5g.8xlarge|g5g.16xlarge|g5g.metal|hi1.4xlarge|hpc6a.48xlarge|hs1.8xlarge|h1.2xlarge|h1.4xlarge|h1.8xlarge|h1.16xlarge|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|im4gn.large|im4gn.xlarge|im4gn.2xlarge|im4gn.4xlarge|im4gn.8xlarge|im4gn.16xlarge|inf1.xlarge|inf1.2xlarge|inf1.6xlarge|inf1.24xlarge|is4gen.medium|is4gen.large|is4gen.xlarge|is4gen.2xlarge|is4gen.4xlarge|is4gen.8xlarge|m1.small|m1.medium|m1.large|m1.xlarge|m2.xlarge|m2.2xlarge|m2.4xlarge|m3.medium|m3.large|m3.xlarge|m3.2xlarge|m4.large|m4.xlarge|m4.2xlarge|m4.4xlarge|m4.10xlarge|m4.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|m5ad.large|m5ad.xlarge|m5ad.2xlarge|m5ad.4xlarge|m5ad.8xlarge|m5ad.12xlarge|m5ad.16xlarge|m5ad.24xlarge|m5d.large|m5d.xlarge|m5d.2xlarge|m5d.4xlarge|m5d.8xlarge|m5d.12xlarge|m5d.16xlarge|m5d.24xlarge|m5d.metal|m5dn.large|m5dn.xlarge|m5dn.2xlarge|m5dn.4xlarge|m5dn.8xlarge|m5dn.12xlarge|m5dn.16xlarge|m5dn.24xlarge|m5dn.metal|m5n.large|m5n.xlarge|m5n.2xlarge|m5n.4xlarge|m5n.8xlarge|m5n.12xlarge|m5n.16xlarge|m5n.24xlarge|m5n.metal|m5zn.large|m5zn.xlarge|m5zn.2xlarge|m5zn.3xlarge|m5zn.6xlarge|m5zn.12xlarge|m5zn.metal|m6a.large|m6a.xlarge|m6a.2xlarge|m6a.4xlarge|m6a.8xlarge|m6a.12xlarge|m6a.16xlarge|m6a.24xlarge|m6a.32xlarge|m6a.48xlarge|m6g.metal|m6g.medium|m6g.large|m6g.xlarge|m6g.2xlarge|m6g.4xlarge|m6g.8xlarge|m6g.12xlarge|m6g.16xlarge|m6gd.metal|m6gd.medium|m6gd.large|m6gd.xlarge|m6gd.2xlarge|m6gd.4xlarge|m6gd.8xlarge|m6gd.12xlarge|m6gd.16xlarge|m6i.large|m6i.xlarge|m6i.2xlarge|m6i.4xlarge|m6i.8xlarge|m6i.12xlarge|m6i.16xlarge|m6i.24xlarge|m6i.32xlarge|m6i.metal|mac1.metal|p2.xlarge|p2.8xlarge|p2.16xlarge|p3.2xlarge|p3.8xlarge|p3.16xlarge|p3dn.24xlarge|p4d.24xlarge|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|r5ad.large|r5ad.xlarge|r5ad.2xlarge|r5ad.4xlarge|r5ad.8xlarge|r5ad.12xlarge|r5ad.16xlarge|r5ad.24xlarge|r5b.large|r5b.xlarge|r5b.2xlarge|r5b.4xlarge|r5b.8xlarge|r5b.12xlarge|r5b.16xlarge|r5b.24xlarge|r5b.metal|r5d.large|r5d.xlarge|r5d.2xlarge|r5d.4xlarge|r5d.8xlarge|r5d.12xlarge|r5d.16xlarge|r5d.24xlarge|r5d.metal|r5dn.large|r5dn.xlarge|r5dn.2xlarge|r5dn.4xlarge|r5dn.8xlarge|r5dn.12xlarge|r5dn.16xlarge|r5dn.24xlarge|r5dn.metal|r5n.large|r5n.xlarge|r5n.2xlarge|r5n.4xlarge|r5n.8xlarge|r5n.12xlarge|r5n.16xlarge|r5n.24xlarge|r5n.metal|r6g.medium|r6g.large|r6g.xlarge|r6g.2xlarge|r6g.4xlarge|r6g.8xlarge|r6g.12xlarge|r6g.16xlarge|r6g.metal|r6gd.medium|r6gd.large|r6gd.xlarge|r6gd.2xlarge|r6gd.4xlarge|r6gd.8xlarge|r6gd.12xlarge|r6gd.16xlarge|r6gd.metal|r6i.large|r6i.xlarge|r6i.2xlarge|r6i.4xlarge|r6i.8xlarge|r6i.12xlarge|r6i.16xlarge|r6i.24xlarge|r6i.32xlarge|r6i.metal|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|t4g.nano|t4g.micro|t4g.small|t4g.medium|t4g.large|t4g.xlarge|t4g.2xlarge|u-6tb1.56xlarge|u-6tb1.112xlarge|u-9tb1.112xlarge|u-12tb1.112xlarge|u-6tb1.metal|u-9tb1.metal|u-12tb1.metal|u-18tb1.metal|u-24tb1.metal|vt1.3xlarge|vt1.6xlarge|vt1.24xlarge|x1.16xlarge|x1.32xlarge|x1e.xlarge|x1e.2xlarge|x1e.4xlarge|x1e.8xlarge|x1e.16xlarge|x1e.32xlarge|x2iezn.2xlarge|x2iezn.4xlarge|x2iezn.6xlarge|x2iezn.8xlarge|x2iezn.12xlarge|x2iezn.metal|x2gd.medium|x2gd.large|x2gd.xlarge|x2gd.2xlarge|x2gd.4xlarge|x2gd.8xlarge|x2gd.12xlarge|x2gd.16xlarge|x2gd.metal|z1d.large|z1d.xlarge|z1d.2xlarge|z1d.3xlarge|z1d.6xlarge|z1d.12xlarge|z1d.metal|x2idn.16xlarge|x2idn.24xlarge|x2idn.32xlarge|x2iedn.xlarge|x2iedn.2xlarge|x2iedn.4xlarge|x2iedn.8xlarge|x2iedn.16xlarge|x2iedn.24xlarge|x2iedn.32xlarge|c6a.large|c6a.xlarge|c6a.2xlarge|c6a.4xlarge|c6a.8xlarge|c6a.12xlarge|c6a.16xlarge|c6a.24xlarge|c6a.32xlarge|c6a.48xlarge|c6a.metal|m6a.metal|i4i.large|i4i.xlarge|i4i.2xlarge|i4i.4xlarge|i4i.8xlarge|i4i.16xlarge|i4i.32xlarge|i4i.metal|x2idn.metal|x2iedn.metal|c7g.medium|c7g.large|c7g.xlarge|c7g.2xlarge|c7g.4xlarge|c7g.8xlarge|c7g.12xlarge|c7g.16xlarge|mac2.metal|c6id.large|c6id.xlarge|c6id.2xlarge|c6id.4xlarge|c6id.8xlarge|c6id.12xlarge|c6id.16xlarge|c6id.24xlarge|c6id.32xlarge|c6id.metal|m6id.large|m6id.xlarge|m6id.2xlarge|m6id.4xlarge|m6id.8xlarge|m6id.12xlarge|m6id.16xlarge|m6id.24xlarge|m6id.32xlarge|m6id.metal|r6id.large|r6id.xlarge|r6id.2xlarge|r6id.4xlarge|r6id.8xlarge|r6id.12xlarge|r6id.16xlarge|r6id.24xlarge|r6id.32xlarge|r6id.metal|r6a.large|r6a.xlarge|r6a.2xlarge|r6a.4xlarge|r6a.8xlarge|r6a.12xlarge|r6a.16xlarge|r6a.24xlarge|r6a.32xlarge|r6a.48xlarge|r6a.metal|p4de.24xlarge|u-3tb1.56xlarge|u-18tb1.112xlarge|u-24tb1.112xlarge|trn1.2xlarge|trn1.32xlarge|hpc6id.32xlarge|c6in.large|c6in.xlarge|c6in.2xlarge|c6in.4xlarge|c6in.8xlarge|c6in.12xlarge|c6in.16xlarge|c6in.24xlarge|c6in.32xlarge|m6in.large|m6in.xlarge|m6in.2xlarge|m6in.4xlarge|m6in.8xlarge|m6in.12xlarge|m6in.16xlarge|m6in.24xlarge|m6in.32xlarge|m6idn.large|m6idn.xlarge|m6idn.2xlarge|m6idn.4xlarge|m6idn.8xlarge|m6idn.12xlarge|m6idn.16xlarge|m6idn.24xlarge|m6idn.32xlarge|r6in.large|r6in.xlarge|r6in.2xlarge|r6in.4xlarge|r6in.8xlarge|r6in.12xlarge|r6in.16xlarge|r6in.24xlarge|r6in.32xlarge|r6idn.large|r6idn.xlarge|r6idn.2xlarge|r6idn.4xlarge|r6idn.8xlarge|r6idn.12xlarge|r6idn.16xlarge|r6idn.24xlarge|r6idn.32xlarge|c7g.metal|m7g.medium|m7g.large|m7g.xlarge|m7g.2xlarge|m7g.4xlarge|m7g.8xlarge|m7g.12xlarge|m7g.16xlarge|m7g.metal|r7g.medium|r7g.large|r7g.xlarge|r7g.2xlarge|r7g.4xlarge|r7g.8xlarge|r7g.12xlarge|r7g.16xlarge|r7g.metal|c6in.metal|m6in.metal|m6idn.metal|r6in.metal|r6idn.metal|inf2.xlarge|inf2.8xlarge|inf2.24xlarge|inf2.48xlarge|trn1n.32xlarge|i4g.large|i4g.xlarge|i4g.2xlarge|i4g.4xlarge|i4g.8xlarge|i4g.16xlarge|hpc7g.4xlarge|hpc7g.8xlarge|hpc7g.16xlarge|c7gn.medium|c7gn.large|c7gn.xlarge|c7gn.2xlarge|c7gn.4xlarge|c7gn.8xlarge|c7gn.12xlarge|c7gn.16xlarge|p5.48xlarge|m7i.large|m7i.xlarge|m7i.2xlarge|m7i.4xlarge|m7i.8xlarge|m7i.12xlarge|m7i.16xlarge|m7i.24xlarge|m7i.48xlarge|m7i-flex.large|m7i-flex.xlarge|m7i-flex.2xlarge|m7i-flex.4xlarge|m7i-flex.8xlarge|m7a.medium|m7a.large|m7a.xlarge|m7a.2xlarge|m7a.4xlarge|m7a.8xlarge|m7a.12xlarge|m7a.16xlarge|m7a.24xlarge|m7a.32xlarge|m7a.48xlarge|m7a.metal-48xl|hpc7a.12xlarge|hpc7a.24xlarge|hpc7a.48xlarge|hpc7a.96xlarge|c7gd.medium|c7gd.large|c7gd.xlarge|c7gd.2xlarge|c7gd.4xlarge|c7gd.8xlarge|c7gd.12xlarge|c7gd.16xlarge|m7gd.medium|m7gd.large|m7gd.xlarge|m7gd.2xlarge|m7gd.4xlarge|m7gd.8xlarge|m7gd.12xlarge|m7gd.16xlarge|r7gd.medium|r7gd.large|r7gd.xlarge|r7gd.2xlarge|r7gd.4xlarge|r7gd.8xlarge|r7gd.12xlarge|r7gd.16xlarge|r7a.medium|r7a.large|r7a.xlarge|r7a.2xlarge|r7a.4xlarge|r7a.8xlarge|r7a.12xlarge|r7a.16xlarge|r7a.24xlarge|r7a.32xlarge|r7a.48xlarge|c7i.large|c7i.xlarge|c7i.2xlarge|c7i.4xlarge|c7i.8xlarge|c7i.12xlarge|c7i.16xlarge|c7i.24xlarge|c7i.48xlarge|mac2-m2pro.metal|r7iz.large|r7iz.xlarge|r7iz.2xlarge|r7iz.4xlarge|r7iz.8xlarge|r7iz.12xlarge|r7iz.16xlarge|r7iz.32xlarge|c7a.medium|c7a.large|c7a.xlarge|c7a.2xlarge|c7a.4xlarge|c7a.8xlarge|c7a.12xlarge|c7a.16xlarge|c7a.24xlarge|c7a.32xlarge|c7a.48xlarge|c7a.metal-48xl|r7a.metal-48xl|r7i.large|r7i.xlarge|r7i.2xlarge|r7i.4xlarge|r7i.8xlarge|r7i.12xlarge|r7i.16xlarge|r7i.24xlarge|r7i.48xlarge|dl2q.24xlarge|mac2-m2.metal|i4i.12xlarge|i4i.24xlarge|c7i.metal-24xl|c7i.metal-48xl|m7i.metal-24xl|m7i.metal-48xl|r7i.metal-24xl|r7i.metal-48xl|r7iz.metal-16xl|r7iz.metal-32xl|c7gd.metal|m7gd.metal|r7gd.metal|g6.xlarge|g6.2xlarge|g6.4xlarge|g6.8xlarge|g6.12xlarge|g6.16xlarge|g6.24xlarge|g6.48xlarge|gr6.4xlarge|gr6.8xlarge|c7i-flex.large|c7i-flex.xlarge|c7i-flex.2xlarge|c7i-flex.4xlarge|c7i-flex.8xlarge|u7i-12tb.224xlarge|u7in-16tb.224xlarge|u7in-24tb.224xlarge|u7in-32tb.224xlarge|u7ib-12tb.224xlarge|c7gn.metal|r8g.medium|r8g.large|r8g.xlarge|r8g.2xlarge|r8g.4xlarge|r8g.8xlarge|r8g.12xlarge|r8g.16xlarge|r8g.24xlarge|r8g.48xlarge|r8g.metal-24xl|r8g.metal-48xl|mac2-m1ultra.metal|g6e.xlarge|g6e.2xlarge|g6e.4xlarge|g6e.8xlarge|g6e.12xlarge|g6e.16xlarge|g6e.24xlarge|g6e.48xlarge|c8g.medium|c8g.large|c8g.xlarge|c8g.2xlarge|c8g.4xlarge|c8g.8xlarge|c8g.12xlarge|c8g.16xlarge|c8g.24xlarge|c8g.48xlarge|c8g.metal-24xl|c8g.metal-48xl|m8g.medium|m8g.large|m8g.xlarge|m8g.2xlarge|m8g.4xlarge|m8g.8xlarge|m8g.12xlarge|m8g.16xlarge|m8g.24xlarge|m8g.48xlarge|m8g.metal-24xl|m8g.metal-48xl|x8g.medium|x8g.large|x8g.xlarge|x8g.2xlarge|x8g.4xlarge|x8g.8xlarge|x8g.12xlarge|x8g.16xlarge|x8g.24xlarge|x8g.48xlarge|x8g.metal-24xl|x8g.metal-48xl',
            'LaunchTemplateAndOverrides' => [
                'LaunchTemplateSpecification' => [
                    'LaunchTemplateId' => '<string>',
                    'LaunchTemplateName' => '<string>',
                    'Version' => '<string>',
                ],
                'Overrides' => [
                    'AvailabilityZone' => '<string>',
                    'ImageId' => '<string>',
                    'InstanceRequirements' => [
                        'AcceleratorCount' => [
                            'Max' => <integer>,
                            'Min' => <integer>,
                        ],
                        'AcceleratorManufacturers' => ['<string>', ...],
                        'AcceleratorNames' => ['<string>', ...],
                        'AcceleratorTotalMemoryMiB' => [
                            'Max' => <integer>,
                            'Min' => <integer>,
                        ],
                        'AcceleratorTypes' => ['<string>', ...],
                        'AllowedInstanceTypes' => ['<string>', ...],
                        'BareMetal' => 'included|required|excluded',
                        'BaselineEbsBandwidthMbps' => [
                            'Max' => <integer>,
                            'Min' => <integer>,
                        ],
                        'BaselinePerformanceFactors' => [
                            'Cpu' => [
                                'References' => [
                                    [
                                        'InstanceFamily' => '<string>',
                                    ],
                                    // ...
                                ],
                            ],
                        ],
                        'BurstablePerformance' => 'included|required|excluded',
                        'CpuManufacturers' => ['<string>', ...],
                        'ExcludedInstanceTypes' => ['<string>', ...],
                        'InstanceGenerations' => ['<string>', ...],
                        'LocalStorage' => 'included|required|excluded',
                        'LocalStorageTypes' => ['<string>', ...],
                        'MaxSpotPriceAsPercentageOfOptimalOnDemandPrice' => <integer>,
                        'MemoryGiBPerVCpu' => [
                            'Max' => <float>,
                            'Min' => <float>,
                        ],
                        'MemoryMiB' => [
                            'Max' => <integer>,
                            'Min' => <integer>,
                        ],
                        'NetworkBandwidthGbps' => [
                            'Max' => <float>,
                            'Min' => <float>,
                        ],
                        'NetworkInterfaceCount' => [
                            'Max' => <integer>,
                            'Min' => <integer>,
                        ],
                        'OnDemandMaxPricePercentageOverLowestPrice' => <integer>,
                        'RequireHibernateSupport' => true || false,
                        'SpotMaxPricePercentageOverLowestPrice' => <integer>,
                        'TotalLocalStorageGB' => [
                            'Max' => <float>,
                            'Min' => <float>,
                        ],
                        'VCpuCount' => [
                            'Max' => <integer>,
                            'Min' => <integer>,
                        ],
                    ],
                    'InstanceType' => 'a1.medium|a1.large|a1.xlarge|a1.2xlarge|a1.4xlarge|a1.metal|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|c5a.large|c5a.xlarge|c5a.2xlarge|c5a.4xlarge|c5a.8xlarge|c5a.12xlarge|c5a.16xlarge|c5a.24xlarge|c5ad.large|c5ad.xlarge|c5ad.2xlarge|c5ad.4xlarge|c5ad.8xlarge|c5ad.12xlarge|c5ad.16xlarge|c5ad.24xlarge|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|c5n.metal|c6g.medium|c6g.large|c6g.xlarge|c6g.2xlarge|c6g.4xlarge|c6g.8xlarge|c6g.12xlarge|c6g.16xlarge|c6g.metal|c6gd.medium|c6gd.large|c6gd.xlarge|c6gd.2xlarge|c6gd.4xlarge|c6gd.8xlarge|c6gd.12xlarge|c6gd.16xlarge|c6gd.metal|c6gn.medium|c6gn.large|c6gn.xlarge|c6gn.2xlarge|c6gn.4xlarge|c6gn.8xlarge|c6gn.12xlarge|c6gn.16xlarge|c6i.large|c6i.xlarge|c6i.2xlarge|c6i.4xlarge|c6i.8xlarge|c6i.12xlarge|c6i.16xlarge|c6i.24xlarge|c6i.32xlarge|c6i.metal|cc1.4xlarge|cc2.8xlarge|cg1.4xlarge|cr1.8xlarge|d2.xlarge|d2.2xlarge|d2.4xlarge|d2.8xlarge|d3.xlarge|d3.2xlarge|d3.4xlarge|d3.8xlarge|d3en.xlarge|d3en.2xlarge|d3en.4xlarge|d3en.6xlarge|d3en.8xlarge|d3en.12xlarge|dl1.24xlarge|f1.2xlarge|f1.4xlarge|f1.16xlarge|g2.2xlarge|g2.8xlarge|g3.4xlarge|g3.8xlarge|g3.16xlarge|g3s.xlarge|g4ad.xlarge|g4ad.2xlarge|g4ad.4xlarge|g4ad.8xlarge|g4ad.16xlarge|g4dn.xlarge|g4dn.2xlarge|g4dn.4xlarge|g4dn.8xlarge|g4dn.12xlarge|g4dn.16xlarge|g4dn.metal|g5.xlarge|g5.2xlarge|g5.4xlarge|g5.8xlarge|g5.12xlarge|g5.16xlarge|g5.24xlarge|g5.48xlarge|g5g.xlarge|g5g.2xlarge|g5g.4xlarge|g5g.8xlarge|g5g.16xlarge|g5g.metal|hi1.4xlarge|hpc6a.48xlarge|hs1.8xlarge|h1.2xlarge|h1.4xlarge|h1.8xlarge|h1.16xlarge|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|im4gn.large|im4gn.xlarge|im4gn.2xlarge|im4gn.4xlarge|im4gn.8xlarge|im4gn.16xlarge|inf1.xlarge|inf1.2xlarge|inf1.6xlarge|inf1.24xlarge|is4gen.medium|is4gen.large|is4gen.xlarge|is4gen.2xlarge|is4gen.4xlarge|is4gen.8xlarge|m1.small|m1.medium|m1.large|m1.xlarge|m2.xlarge|m2.2xlarge|m2.4xlarge|m3.medium|m3.large|m3.xlarge|m3.2xlarge|m4.large|m4.xlarge|m4.2xlarge|m4.4xlarge|m4.10xlarge|m4.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|m5ad.large|m5ad.xlarge|m5ad.2xlarge|m5ad.4xlarge|m5ad.8xlarge|m5ad.12xlarge|m5ad.16xlarge|m5ad.24xlarge|m5d.large|m5d.xlarge|m5d.2xlarge|m5d.4xlarge|m5d.8xlarge|m5d.12xlarge|m5d.16xlarge|m5d.24xlarge|m5d.metal|m5dn.large|m5dn.xlarge|m5dn.2xlarge|m5dn.4xlarge|m5dn.8xlarge|m5dn.12xlarge|m5dn.16xlarge|m5dn.24xlarge|m5dn.metal|m5n.large|m5n.xlarge|m5n.2xlarge|m5n.4xlarge|m5n.8xlarge|m5n.12xlarge|m5n.16xlarge|m5n.24xlarge|m5n.metal|m5zn.large|m5zn.xlarge|m5zn.2xlarge|m5zn.3xlarge|m5zn.6xlarge|m5zn.12xlarge|m5zn.metal|m6a.large|m6a.xlarge|m6a.2xlarge|m6a.4xlarge|m6a.8xlarge|m6a.12xlarge|m6a.16xlarge|m6a.24xlarge|m6a.32xlarge|m6a.48xlarge|m6g.metal|m6g.medium|m6g.large|m6g.xlarge|m6g.2xlarge|m6g.4xlarge|m6g.8xlarge|m6g.12xlarge|m6g.16xlarge|m6gd.metal|m6gd.medium|m6gd.large|m6gd.xlarge|m6gd.2xlarge|m6gd.4xlarge|m6gd.8xlarge|m6gd.12xlarge|m6gd.16xlarge|m6i.large|m6i.xlarge|m6i.2xlarge|m6i.4xlarge|m6i.8xlarge|m6i.12xlarge|m6i.16xlarge|m6i.24xlarge|m6i.32xlarge|m6i.metal|mac1.metal|p2.xlarge|p2.8xlarge|p2.16xlarge|p3.2xlarge|p3.8xlarge|p3.16xlarge|p3dn.24xlarge|p4d.24xlarge|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|r5ad.large|r5ad.xlarge|r5ad.2xlarge|r5ad.4xlarge|r5ad.8xlarge|r5ad.12xlarge|r5ad.16xlarge|r5ad.24xlarge|r5b.large|r5b.xlarge|r5b.2xlarge|r5b.4xlarge|r5b.8xlarge|r5b.12xlarge|r5b.16xlarge|r5b.24xlarge|r5b.metal|r5d.large|r5d.xlarge|r5d.2xlarge|r5d.4xlarge|r5d.8xlarge|r5d.12xlarge|r5d.16xlarge|r5d.24xlarge|r5d.metal|r5dn.large|r5dn.xlarge|r5dn.2xlarge|r5dn.4xlarge|r5dn.8xlarge|r5dn.12xlarge|r5dn.16xlarge|r5dn.24xlarge|r5dn.metal|r5n.large|r5n.xlarge|r5n.2xlarge|r5n.4xlarge|r5n.8xlarge|r5n.12xlarge|r5n.16xlarge|r5n.24xlarge|r5n.metal|r6g.medium|r6g.large|r6g.xlarge|r6g.2xlarge|r6g.4xlarge|r6g.8xlarge|r6g.12xlarge|r6g.16xlarge|r6g.metal|r6gd.medium|r6gd.large|r6gd.xlarge|r6gd.2xlarge|r6gd.4xlarge|r6gd.8xlarge|r6gd.12xlarge|r6gd.16xlarge|r6gd.metal|r6i.large|r6i.xlarge|r6i.2xlarge|r6i.4xlarge|r6i.8xlarge|r6i.12xlarge|r6i.16xlarge|r6i.24xlarge|r6i.32xlarge|r6i.metal|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|t4g.nano|t4g.micro|t4g.small|t4g.medium|t4g.large|t4g.xlarge|t4g.2xlarge|u-6tb1.56xlarge|u-6tb1.112xlarge|u-9tb1.112xlarge|u-12tb1.112xlarge|u-6tb1.metal|u-9tb1.metal|u-12tb1.metal|u-18tb1.metal|u-24tb1.metal|vt1.3xlarge|vt1.6xlarge|vt1.24xlarge|x1.16xlarge|x1.32xlarge|x1e.xlarge|x1e.2xlarge|x1e.4xlarge|x1e.8xlarge|x1e.16xlarge|x1e.32xlarge|x2iezn.2xlarge|x2iezn.4xlarge|x2iezn.6xlarge|x2iezn.8xlarge|x2iezn.12xlarge|x2iezn.metal|x2gd.medium|x2gd.large|x2gd.xlarge|x2gd.2xlarge|x2gd.4xlarge|x2gd.8xlarge|x2gd.12xlarge|x2gd.16xlarge|x2gd.metal|z1d.large|z1d.xlarge|z1d.2xlarge|z1d.3xlarge|z1d.6xlarge|z1d.12xlarge|z1d.metal|x2idn.16xlarge|x2idn.24xlarge|x2idn.32xlarge|x2iedn.xlarge|x2iedn.2xlarge|x2iedn.4xlarge|x2iedn.8xlarge|x2iedn.16xlarge|x2iedn.24xlarge|x2iedn.32xlarge|c6a.large|c6a.xlarge|c6a.2xlarge|c6a.4xlarge|c6a.8xlarge|c6a.12xlarge|c6a.16xlarge|c6a.24xlarge|c6a.32xlarge|c6a.48xlarge|c6a.metal|m6a.metal|i4i.large|i4i.xlarge|i4i.2xlarge|i4i.4xlarge|i4i.8xlarge|i4i.16xlarge|i4i.32xlarge|i4i.metal|x2idn.metal|x2iedn.metal|c7g.medium|c7g.large|c7g.xlarge|c7g.2xlarge|c7g.4xlarge|c7g.8xlarge|c7g.12xlarge|c7g.16xlarge|mac2.metal|c6id.large|c6id.xlarge|c6id.2xlarge|c6id.4xlarge|c6id.8xlarge|c6id.12xlarge|c6id.16xlarge|c6id.24xlarge|c6id.32xlarge|c6id.metal|m6id.large|m6id.xlarge|m6id.2xlarge|m6id.4xlarge|m6id.8xlarge|m6id.12xlarge|m6id.16xlarge|m6id.24xlarge|m6id.32xlarge|m6id.metal|r6id.large|r6id.xlarge|r6id.2xlarge|r6id.4xlarge|r6id.8xlarge|r6id.12xlarge|r6id.16xlarge|r6id.24xlarge|r6id.32xlarge|r6id.metal|r6a.large|r6a.xlarge|r6a.2xlarge|r6a.4xlarge|r6a.8xlarge|r6a.12xlarge|r6a.16xlarge|r6a.24xlarge|r6a.32xlarge|r6a.48xlarge|r6a.metal|p4de.24xlarge|u-3tb1.56xlarge|u-18tb1.112xlarge|u-24tb1.112xlarge|trn1.2xlarge|trn1.32xlarge|hpc6id.32xlarge|c6in.large|c6in.xlarge|c6in.2xlarge|c6in.4xlarge|c6in.8xlarge|c6in.12xlarge|c6in.16xlarge|c6in.24xlarge|c6in.32xlarge|m6in.large|m6in.xlarge|m6in.2xlarge|m6in.4xlarge|m6in.8xlarge|m6in.12xlarge|m6in.16xlarge|m6in.24xlarge|m6in.32xlarge|m6idn.large|m6idn.xlarge|m6idn.2xlarge|m6idn.4xlarge|m6idn.8xlarge|m6idn.12xlarge|m6idn.16xlarge|m6idn.24xlarge|m6idn.32xlarge|r6in.large|r6in.xlarge|r6in.2xlarge|r6in.4xlarge|r6in.8xlarge|r6in.12xlarge|r6in.16xlarge|r6in.24xlarge|r6in.32xlarge|r6idn.large|r6idn.xlarge|r6idn.2xlarge|r6idn.4xlarge|r6idn.8xlarge|r6idn.12xlarge|r6idn.16xlarge|r6idn.24xlarge|r6idn.32xlarge|c7g.metal|m7g.medium|m7g.large|m7g.xlarge|m7g.2xlarge|m7g.4xlarge|m7g.8xlarge|m7g.12xlarge|m7g.16xlarge|m7g.metal|r7g.medium|r7g.large|r7g.xlarge|r7g.2xlarge|r7g.4xlarge|r7g.8xlarge|r7g.12xlarge|r7g.16xlarge|r7g.metal|c6in.metal|m6in.metal|m6idn.metal|r6in.metal|r6idn.metal|inf2.xlarge|inf2.8xlarge|inf2.24xlarge|inf2.48xlarge|trn1n.32xlarge|i4g.large|i4g.xlarge|i4g.2xlarge|i4g.4xlarge|i4g.8xlarge|i4g.16xlarge|hpc7g.4xlarge|hpc7g.8xlarge|hpc7g.16xlarge|c7gn.medium|c7gn.large|c7gn.xlarge|c7gn.2xlarge|c7gn.4xlarge|c7gn.8xlarge|c7gn.12xlarge|c7gn.16xlarge|p5.48xlarge|m7i.large|m7i.xlarge|m7i.2xlarge|m7i.4xlarge|m7i.8xlarge|m7i.12xlarge|m7i.16xlarge|m7i.24xlarge|m7i.48xlarge|m7i-flex.large|m7i-flex.xlarge|m7i-flex.2xlarge|m7i-flex.4xlarge|m7i-flex.8xlarge|m7a.medium|m7a.large|m7a.xlarge|m7a.2xlarge|m7a.4xlarge|m7a.8xlarge|m7a.12xlarge|m7a.16xlarge|m7a.24xlarge|m7a.32xlarge|m7a.48xlarge|m7a.metal-48xl|hpc7a.12xlarge|hpc7a.24xlarge|hpc7a.48xlarge|hpc7a.96xlarge|c7gd.medium|c7gd.large|c7gd.xlarge|c7gd.2xlarge|c7gd.4xlarge|c7gd.8xlarge|c7gd.12xlarge|c7gd.16xlarge|m7gd.medium|m7gd.large|m7gd.xlarge|m7gd.2xlarge|m7gd.4xlarge|m7gd.8xlarge|m7gd.12xlarge|m7gd.16xlarge|r7gd.medium|r7gd.large|r7gd.xlarge|r7gd.2xlarge|r7gd.4xlarge|r7gd.8xlarge|r7gd.12xlarge|r7gd.16xlarge|r7a.medium|r7a.large|r7a.xlarge|r7a.2xlarge|r7a.4xlarge|r7a.8xlarge|r7a.12xlarge|r7a.16xlarge|r7a.24xlarge|r7a.32xlarge|r7a.48xlarge|c7i.large|c7i.xlarge|c7i.2xlarge|c7i.4xlarge|c7i.8xlarge|c7i.12xlarge|c7i.16xlarge|c7i.24xlarge|c7i.48xlarge|mac2-m2pro.metal|r7iz.large|r7iz.xlarge|r7iz.2xlarge|r7iz.4xlarge|r7iz.8xlarge|r7iz.12xlarge|r7iz.16xlarge|r7iz.32xlarge|c7a.medium|c7a.large|c7a.xlarge|c7a.2xlarge|c7a.4xlarge|c7a.8xlarge|c7a.12xlarge|c7a.16xlarge|c7a.24xlarge|c7a.32xlarge|c7a.48xlarge|c7a.metal-48xl|r7a.metal-48xl|r7i.large|r7i.xlarge|r7i.2xlarge|r7i.4xlarge|r7i.8xlarge|r7i.12xlarge|r7i.16xlarge|r7i.24xlarge|r7i.48xlarge|dl2q.24xlarge|mac2-m2.metal|i4i.12xlarge|i4i.24xlarge|c7i.metal-24xl|c7i.metal-48xl|m7i.metal-24xl|m7i.metal-48xl|r7i.metal-24xl|r7i.metal-48xl|r7iz.metal-16xl|r7iz.metal-32xl|c7gd.metal|m7gd.metal|r7gd.metal|g6.xlarge|g6.2xlarge|g6.4xlarge|g6.8xlarge|g6.12xlarge|g6.16xlarge|g6.24xlarge|g6.48xlarge|gr6.4xlarge|gr6.8xlarge|c7i-flex.large|c7i-flex.xlarge|c7i-flex.2xlarge|c7i-flex.4xlarge|c7i-flex.8xlarge|u7i-12tb.224xlarge|u7in-16tb.224xlarge|u7in-24tb.224xlarge|u7in-32tb.224xlarge|u7ib-12tb.224xlarge|c7gn.metal|r8g.medium|r8g.large|r8g.xlarge|r8g.2xlarge|r8g.4xlarge|r8g.8xlarge|r8g.12xlarge|r8g.16xlarge|r8g.24xlarge|r8g.48xlarge|r8g.metal-24xl|r8g.metal-48xl|mac2-m1ultra.metal|g6e.xlarge|g6e.2xlarge|g6e.4xlarge|g6e.8xlarge|g6e.12xlarge|g6e.16xlarge|g6e.24xlarge|g6e.48xlarge|c8g.medium|c8g.large|c8g.xlarge|c8g.2xlarge|c8g.4xlarge|c8g.8xlarge|c8g.12xlarge|c8g.16xlarge|c8g.24xlarge|c8g.48xlarge|c8g.metal-24xl|c8g.metal-48xl|m8g.medium|m8g.large|m8g.xlarge|m8g.2xlarge|m8g.4xlarge|m8g.8xlarge|m8g.12xlarge|m8g.16xlarge|m8g.24xlarge|m8g.48xlarge|m8g.metal-24xl|m8g.metal-48xl|x8g.medium|x8g.large|x8g.xlarge|x8g.2xlarge|x8g.4xlarge|x8g.8xlarge|x8g.12xlarge|x8g.16xlarge|x8g.24xlarge|x8g.48xlarge|x8g.metal-24xl|x8g.metal-48xl',
                    'MaxPrice' => '<string>',
                    'Placement' => [
                        'GroupName' => '<string>',
                    ],
                    'Priority' => <float>,
                    'SubnetId' => '<string>',
                    'WeightedCapacity' => <float>,
                ],
            ],
            'Lifecycle' => 'spot|on-demand',
            'Platform' => 'Windows',
        ],
        // ...
    ],
]

Result Details

Members
Errors
Type: Array of CreateFleetError structures

Information about the instances that could not be launched by the fleet. Supported only for fleets of type instant.

FleetId
Type: string

The ID of the EC2 Fleet.

Instances
Type: Array of CreateFleetInstance structures

Information about the instances that were launched by the fleet. Supported only for fleets of type instant.

Errors

There are no errors described for this operation.

CreateFlowLogs

$result = $client->createFlowLogs([/* ... */]);
$promise = $client->createFlowLogsAsync([/* ... */]);

Creates one or more flow logs to capture information about IP traffic for a specific network interface, subnet, or VPC.

Flow log data for a monitored network interface is recorded as flow log records, which are log events consisting of fields that describe the traffic flow. For more information, see Flow log records in the Amazon VPC User Guide.

When publishing to CloudWatch Logs, flow log records are published to a log group, and each network interface has a unique log stream in the log group. When publishing to Amazon S3, flow log records for all of the monitored network interfaces are published to a single log file object that is stored in the specified bucket.

For more information, see VPC Flow Logs in the Amazon VPC User Guide.

Parameter Syntax

$result = $client->createFlowLogs([
    'ClientToken' => '<string>',
    'DeliverCrossAccountRole' => '<string>',
    'DeliverLogsPermissionArn' => '<string>',
    'DestinationOptions' => [
        'FileFormat' => 'plain-text|parquet',
        'HiveCompatiblePartitions' => true || false,
        'PerHourPartition' => true || false,
    ],
    'DryRun' => true || false,
    'LogDestination' => '<string>',
    'LogDestinationType' => 'cloud-watch-logs|s3|kinesis-data-firehose',
    'LogFormat' => '<string>',
    'LogGroupName' => '<string>',
    'MaxAggregationInterval' => <integer>,
    'ResourceIds' => ['<string>', ...], // REQUIRED
    'ResourceType' => 'VPC|Subnet|NetworkInterface|TransitGateway|TransitGatewayAttachment', // REQUIRED
    'TagSpecifications' => [
        [
            'ResourceType' => 'capacity-reservation|client-vpn-endpoint|customer-gateway|carrier-gateway|coip-pool|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|instance-event-window|internet-gateway|ipam|ipam-pool|ipam-scope|ipv4pool-ec2|ipv6pool-ec2|key-pair|launch-template|local-gateway|local-gateway-route-table|local-gateway-virtual-interface|local-gateway-virtual-interface-group|local-gateway-route-table-vpc-association|local-gateway-route-table-virtual-interface-group-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|network-insights-access-scope|network-insights-access-scope-analysis|placement-group|prefix-list|replace-root-volume-task|reserved-instances|route-table|security-group|security-group-rule|snapshot|spot-fleet-request|spot-instances-request|subnet|subnet-cidr-reservation|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-policy-table|transit-gateway-route-table|transit-gateway-route-table-announcement|volume|vpc|vpc-endpoint|vpc-endpoint-connection|vpc-endpoint-service|vpc-endpoint-service-permission|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log|capacity-reservation-fleet|traffic-mirror-filter-rule|vpc-endpoint-connection-device-type|verified-access-instance|verified-access-group|verified-access-endpoint|verified-access-policy|verified-access-trust-provider|vpn-connection-device-type|vpc-block-public-access-exclusion|ipam-resource-discovery|ipam-resource-discovery-association|instance-connect-endpoint|ipam-external-resource-verification-token',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'TrafficType' => 'ACCEPT|REJECT|ALL',
]);

Parameter Details

Members
ClientToken
Type: string

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

DeliverCrossAccountRole
Type: string

The ARN of the IAM role that allows Amazon EC2 to publish flow logs across accounts.

DeliverLogsPermissionArn
Type: string

The ARN of the IAM role that allows Amazon EC2 to publish flow logs to the log destination.

This parameter is required if the destination type is cloud-watch-logs, or if the destination type is kinesis-data-firehose and the delivery stream and the resources to monitor are in different accounts.

DestinationOptions
Type: DestinationOptionsRequest structure

The destination options.

DryRun
Type: boolean

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.

LogDestination
Type: string

The destination for the flow log data. The meaning of this parameter depends on the destination type.

  • If the destination type is cloud-watch-logs, specify the ARN of a CloudWatch Logs log group. For example:

    arn:aws:logs:region:account_id:log-group:my_group

    Alternatively, use the LogGroupName parameter.

  • If the destination type is s3, specify the ARN of an S3 bucket. For example:

    arn:aws:s3:::my_bucket/my_subfolder/

    The subfolder is optional. Note that you can't use AWSLogs as a subfolder name.

  • If the destination type is kinesis-data-firehose, specify the ARN of a Kinesis Data Firehose delivery stream. For example:

    arn:aws:firehose:region:account_id:deliverystream:my_stream

LogDestinationType
Type: string

The type of destination for the flow log data.

Default: cloud-watch-logs

LogFormat
Type: string

The fields to include in the flow log record. List the fields in the order in which they should appear. If you omit this parameter, the flow log is created using the default format. If you specify this parameter, you must include at least one field. For more information about the available fields, see Flow log records in the Amazon VPC User Guide or Transit Gateway Flow Log records in the Amazon Web Services Transit Gateway Guide.

Specify the fields using the ${field-id} format, separated by spaces.

LogGroupName
Type: string

The name of a new or existing CloudWatch Logs log group where Amazon EC2 publishes your flow logs.

This parameter is valid only if the destination type is cloud-watch-logs.

MaxAggregationInterval
Type: int

The maximum interval of time during which a flow of packets is captured and aggregated into a flow log record. The possible values are 60 seconds (1 minute) or 600 seconds (10 minutes). This parameter must be 60 seconds for transit gateway resource types.

When a network interface is attached to a Nitro-based instance, the aggregation interval is always 60 seconds or less, regardless of the value that you specify.

Default: 600

ResourceIds
Required: Yes
Type: Array of strings

The IDs of the resources to monitor. For example, if the resource type is VPC, specify the IDs of the VPCs.

Constraints: Maximum of 25 for transit gateway resource types. Maximum of 1000 for the other resource types.

ResourceType
Required: Yes
Type: string

The type of resource to monitor.

TagSpecifications
Type: Array of TagSpecification structures

The tags to apply to the flow logs.

TrafficType
Type: string

The type of traffic to monitor (accepted traffic, rejected traffic, or all traffic). This parameter is not supported for transit gateway resource types. It is required for the other resource types.

Result Syntax

[
    'ClientToken' => '<string>',
    'FlowLogIds' => ['<string>', ...],
    'Unsuccessful' => [
        [
            'Error' => [
                'Code' => '<string>',
                'Message' => '<string>',
            ],
            'ResourceId' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
ClientToken
Type: string

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

FlowLogIds
Type: Array of strings

The IDs of the flow logs.

Unsuccessful
Type: Array of UnsuccessfulItem structures

Information about the flow logs that could not be created successfully.

Errors

There are no errors described for this operation.

CreateFpgaImage

$result = $client->createFpgaImage([/* ... */]);
$promise = $client->createFpgaImageAsync([/* ... */]);

Creates an Amazon FPGA Image (AFI) from the specified design checkpoint (DCP).

The create operation is asynchronous. To verify that the AFI is ready for use, check the output logs.

An AFI contains the FPGA bitstream that is ready to download to an FPGA. You can securely deploy an AFI on multiple FPGA-accelerated instances. For more information, see the Amazon Web Services FPGA Hardware Development Kit.

Parameter Syntax

$result = $client->createFpgaImage([
    'ClientToken' => '<string>',
    'Description' => '<string>',
    'DryRun' => true || false,
    'InputStorageLocation' => [ // REQUIRED
        'Bucket' => '<string>',
        'Key' => '<string>',
    ],
    'LogsStorageLocation' => [
        'Bucket' => '<string>',
        'Key' => '<string>',
    ],
    'Name' => '<string>',
    'TagSpecifications' => [
        [
            'ResourceType' => 'capacity-reservation|client-vpn-endpoint|customer-gateway|carrier-gateway|coip-pool|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|instance-event-window|internet-gateway|ipam|ipam-pool|ipam-scope|ipv4pool-ec2|ipv6pool-ec2|key-pair|launch-template|local-gateway|local-gateway-route-table|local-gateway-virtual-interface|local-gateway-virtual-interface-group|local-gateway-route-table-vpc-association|local-gateway-route-table-virtual-interface-group-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|network-insights-access-scope|network-insights-access-scope-analysis|placement-group|prefix-list|replace-root-volume-task|reserved-instances|route-table|security-group|security-group-rule|snapshot|spot-fleet-request|spot-instances-request|subnet|subnet-cidr-reservation|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-policy-table|transit-gateway-route-table|transit-gateway-route-table-announcement|volume|vpc|vpc-endpoint|vpc-endpoint-connection|vpc-endpoint-service|vpc-endpoint-service-permission|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log|capacity-reservation-fleet|traffic-mirror-filter-rule|vpc-endpoint-connection-device-type|verified-access-instance|verified-access-group|verified-access-endpoint|verified-access-policy|verified-access-trust-provider|vpn-connection-device-type|vpc-block-public-access-exclusion|ipam-resource-discovery|ipam-resource-discovery-association|instance-connect-endpoint|ipam-external-resource-verification-token',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
]);

Parameter Details

Members
ClientToken
Type: string

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

Description
Type: string

A description for the AFI.

DryRun
Type: boolean

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.

InputStorageLocation
Required: Yes
Type: StorageLocation structure

The location of the encrypted design checkpoint in Amazon S3. The input must be a tarball.

LogsStorageLocation
Type: StorageLocation structure

The location in Amazon S3 for the output logs.

Name
Type: string

A name for the AFI.

TagSpecifications
Type: Array of TagSpecification structures

The tags to apply to the FPGA image during creation.

Result Syntax

[
    'FpgaImageGlobalId' => '<string>',
    'FpgaImageId' => '<string>',
]

Result Details

Members
FpgaImageGlobalId
Type: string

The global FPGA image identifier (AGFI ID).

FpgaImageId
Type: string

The FPGA image identifier (AFI ID).

Errors

There are no errors described for this operation.

CreateImage

$result = $client->createImage([/* ... */]);
$promise = $client->createImageAsync([/* ... */]);

Creates an Amazon EBS-backed AMI from an Amazon EBS-backed instance that is either running or stopped.

If you customized your instance with instance store volumes or Amazon EBS volumes in addition to the root device volume, the new AMI contains block device mapping information for those volumes. When you launch an instance from this new AMI, the instance automatically launches with those additional volumes.

For more information, see Create an Amazon EBS-backed Linux AMI in the Amazon Elastic Compute Cloud User Guide.

Parameter Syntax

$result = $client->createImage([
    'BlockDeviceMappings' => [
        [
            'DeviceName' => '<string>',
            'Ebs' => [
                'DeleteOnTermination' => true || false,
                'Encrypted' => true || false,
                'Iops' => <integer>,
                'KmsKeyId' => '<string>',
                'OutpostArn' => '<string>',
                'SnapshotId' => '<string>',
                'Throughput' => <integer>,
                'VolumeSize' => <integer>,
                'VolumeType' => 'standard|io1|io2|gp2|sc1|st1|gp3',
            ],
            'NoDevice' => '<string>',
            'VirtualName' => '<string>',
        ],
        // ...
    ],
    'Description' => '<string>',
    'DryRun' => true || false,
    'InstanceId' => '<string>', // REQUIRED
    'Name' => '<string>', // REQUIRED
    'NoReboot' => true || false,
    'TagSpecifications' => [
        [
            'ResourceType' => 'capacity-reservation|client-vpn-endpoint|customer-gateway|carrier-gateway|coip-pool|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|instance-event-window|internet-gateway|ipam|ipam-pool|ipam-scope|ipv4pool-ec2|ipv6pool-ec2|key-pair|launch-template|local-gateway|local-gateway-route-table|local-gateway-virtual-interface|local-gateway-virtual-interface-group|local-gateway-route-table-vpc-association|local-gateway-route-table-virtual-interface-group-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|network-insights-access-scope|network-insights-access-scope-analysis|placement-group|prefix-list|replace-root-volume-task|reserved-instances|route-table|security-group|security-group-rule|snapshot|spot-fleet-request|spot-instances-request|subnet|subnet-cidr-reservation|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-policy-table|transit-gateway-route-table|transit-gateway-route-table-announcement|volume|vpc|vpc-endpoint|vpc-endpoint-connection|vpc-endpoint-service|vpc-endpoint-service-permission|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log|capacity-reservation-fleet|traffic-mirror-filter-rule|vpc-endpoint-connection-device-type|verified-access-instance|verified-access-group|verified-access-endpoint|verified-access-policy|verified-access-trust-provider|vpn-connection-device-type|vpc-block-public-access-exclusion|ipam-resource-discovery|ipam-resource-discovery-association|instance-connect-endpoint|ipam-external-resource-verification-token',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
]);

Parameter Details

Members
BlockDeviceMappings
Type: Array of BlockDeviceMapping structures

The block device mappings.

When using the CreateImage action:

  • You can't change the volume size using the VolumeSize parameter. If you want a different volume size, you must first change the volume size of the source instance.

  • You can't modify the encryption status of existing volumes or snapshots. To create an AMI with volumes or snapshots that have a different encryption status (for example, where the source volume and snapshots are unencrypted, and you want to create an AMI with encrypted volumes or snapshots), use the CopyImage action.

  • The only option that can be changed for existing mappings or snapshots is DeleteOnTermination.

Description
Type: string

A description for the new image.

DryRun
Type: boolean

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.

InstanceId
Required: Yes
Type: string

The ID of the instance.

Name
Required: Yes
Type: string

A name for the new image.

Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('), at-signs (@), or underscores(_)

NoReboot
Type: boolean

Indicates whether or not the instance should be automatically rebooted before creating the image. Specify one of the following values:

  • true - The instance is not rebooted before creating the image. This creates crash-consistent snapshots that include only the data that has been written to the volumes at the time the snapshots are created. Buffered data and data in memory that has not yet been written to the volumes is not included in the snapshots.

  • false - The instance is rebooted before creating the image. This ensures that all buffered data and data in memory is written to the volumes before the snapshots are created.

Default: false

TagSpecifications
Type: Array of TagSpecification structures

The tags to apply to the AMI and snapshots on creation. You can tag the AMI, the snapshots, or both.

  • To tag the AMI, the value for ResourceType must be image.

  • To tag the snapshots that are created of the root volume and of other Amazon EBS volumes that are attached to the instance, the value for ResourceType must be snapshot. The same tag is applied to all of the snapshots that are created.

If you specify other values for ResourceType, the request fails.

To tag an AMI or snapshot after it has been created, see CreateTags.

Result Syntax

[
    'ImageId' => '<string>',
]

Result Details

Members
ImageId
Type: string

The ID of the new AMI.

Errors

There are no errors described for this operation.

Examples

Example 1: To create an AMI from an Amazon EBS-backed instance

This example creates an AMI from the specified instance and adds an EBS volume with the device name /dev/sdh and an instance store volume with the device name /dev/sdc.

$result = $client->createImage([
    'BlockDeviceMappings' => [
        [
            'DeviceName' => '/dev/sdh',
            'Ebs' => [
                'VolumeSize' => 100,
            ],
        ],
        [
            'DeviceName' => '/dev/sdc',
            'VirtualName' => 'ephemeral1',
        ],
    ],
    'Description' => 'An AMI for my server',
    'InstanceId' => 'i-1234567890abcdef0',
    'Name' => 'My server',
    'NoReboot' => 1,
]);

Result syntax:

[
    'ImageId' => 'ami-1a2b3c4d',
]

CreateInstanceConnectEndpoint

$result = $client->createInstanceConnectEndpoint([/* ... */]);
$promise = $client->createInstanceConnectEndpointAsync([/* ... */]);

Creates an EC2 Instance Connect Endpoint.

An EC2 Instance Connect Endpoint allows you to connect to an instance, without requiring the instance to have a public IPv4 address. For more information, see Connect to your instances without requiring a public IPv4 address using EC2 Instance Connect Endpoint in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->createInstanceConnectEndpoint([
    'ClientToken' => '<string>',
    'DryRun' => true || false,
    'PreserveClientIp' => true || false,
    'SecurityGroupIds' => ['<string>', ...],
    'SubnetId' => '<string>', // REQUIRED
    'TagSpecifications' => [
        [
            'ResourceType' => 'capacity-reservation|client-vpn-endpoint|customer-gateway|carrier-gateway|coip-pool|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|instance-event-window|internet-gateway|ipam|ipam-pool|ipam-scope|ipv4pool-ec2|ipv6pool-ec2|key-pair|launch-template|local-gateway|local-gateway-route-table|local-gateway-virtual-interface|local-gateway-virtual-interface-group|local-gateway-route-table-vpc-association|local-gateway-route-table-virtual-interface-group-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|network-insights-access-scope|network-insights-access-scope-analysis|placement-group|prefix-list|replace-root-volume-task|reserved-instances|route-table|security-group|security-group-rule|snapshot|spot-fleet-request|spot-instances-request|subnet|subnet-cidr-reservation|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-policy-table|transit-gateway-route-table|transit-gateway-route-table-announcement|volume|vpc|vpc-endpoint|vpc-endpoint-connection|vpc-endpoint-service|vpc-endpoint-service-permission|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log|capacity-reservation-fleet|traffic-mirror-filter-rule|vpc-endpoint-connection-device-type|verified-access-instance|verified-access-group|verified-access-endpoint|verified-access-policy|verified-access-trust-provider|vpn-connection-device-type|vpc-block-public-access-exclusion|ipam-resource-discovery|ipam-resource-discovery-association|instance-connect-endpoint|ipam-external-resource-verification-token',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
]);

Parameter Details

Members
ClientToken
Type: string

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

DryRun
Type: boolean

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.

PreserveClientIp
Type: boolean

Indicates whether the client IP address is preserved as the source. The following are the possible values.

  • true - Use the client IP address as the source.

  • false - Use the network interface IP address as the source.

Default: false

SecurityGroupIds
Type: Array of strings

One or more security groups to associate with the endpoint. If you don't specify a security group, the default security group for your VPC will be associated with the endpoint.

SubnetId
Required: Yes
Type: string

The ID of the subnet in which to create the EC2 Instance Connect Endpoint.

TagSpecifications
Type: Array of TagSpecification structures

The tags to apply to the EC2 Instance Connect Endpoint during creation.

Result Syntax

[
    'ClientToken' => '<string>',
    'InstanceConnectEndpoint' => [
        'AvailabilityZone' => '<string>',
        'CreatedAt' => <DateTime>,
        'DnsName' => '<string>',
        'FipsDnsName' => '<string>',
        'InstanceConnectEndpointArn' => '<string>',
        'InstanceConnectEndpointId' => '<string>',
        'NetworkInterfaceIds' => ['<string>', ...],
        'OwnerId' => '<string>',
        'PreserveClientIp' => true || false,
        'SecurityGroupIds' => ['<string>', ...],
        'State' => 'create-in-progress|create-complete|create-failed|delete-in-progress|delete-complete|delete-failed',
        'StateMessage' => '<string>',
        'SubnetId' => '<string>',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'VpcId' => '<string>',
    ],
]

Result Details

Members
ClientToken
Type: string

Unique, case-sensitive idempotency token provided by the client in the the request.

InstanceConnectEndpoint
Type: Ec2InstanceConnectEndpoint structure

Information about the EC2 Instance Connect Endpoint.

Errors

There are no errors described for this operation.

CreateInstanceEventWindow

$result = $client->createInstanceEventWindow([/* ... */]);
$promise = $client->createInstanceEventWindowAsync([/* ... */]);

Creates an event window in which scheduled events for the associated Amazon EC2 instances can run.

You can define either a set of time ranges or a cron expression when creating the event window, but not both. All event window times are in UTC.

You can create up to 200 event windows per Amazon Web Services Region.

When you create the event window, targets (instance IDs, Dedicated Host IDs, or tags) are not yet associated with it. To ensure that the event window can be used, you must associate one or more targets with it by using the AssociateInstanceEventWindow API.

Event windows are applicable only for scheduled events that stop, reboot, or terminate instances.

Event windows are not applicable for:

  • Expedited scheduled events and network maintenance events.

  • Unscheduled maintenance such as AutoRecovery and unplanned reboots.

For more information, see Define event windows for scheduled events in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->createInstanceEventWindow([
    'CronExpression' => '<string>',
    'DryRun' => true || false,
    'Name' => '<string>',
    'TagSpecifications' => [
        [
            'ResourceType' => 'capacity-reservation|client-vpn-endpoint|customer-gateway|carrier-gateway|coip-pool|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|instance-event-window|internet-gateway|ipam|ipam-pool|ipam-scope|ipv4pool-ec2|ipv6pool-ec2|key-pair|launch-template|local-gateway|local-gateway-route-table|local-gateway-virtual-interface|local-gateway-virtual-interface-group|local-gateway-route-table-vpc-association|local-gateway-route-table-virtual-interface-group-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|network-insights-access-scope|network-insights-access-scope-analysis|placement-group|prefix-list|replace-root-volume-task|reserved-instances|route-table|security-group|security-group-rule|snapshot|spot-fleet-request|spot-instances-request|subnet|subnet-cidr-reservation|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-policy-table|transit-gateway-route-table|transit-gateway-route-table-announcement|volume|vpc|vpc-endpoint|vpc-endpoint-connection|vpc-endpoint-service|vpc-endpoint-service-permission|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log|capacity-reservation-fleet|traffic-mirror-filter-rule|vpc-endpoint-connection-device-type|verified-access-instance|verified-access-group|verified-access-endpoint|verified-access-policy|verified-access-trust-provider|vpn-connection-device-type|vpc-block-public-access-exclusion|ipam-resource-discovery|ipam-resource-discovery-association|instance-connect-endpoint|ipam-external-resource-verification-token',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'TimeRanges' => [
        [
            'EndHour' => <integer>,
            'EndWeekDay' => 'sunday|monday|tuesday|wednesday|thursday|friday|saturday',
            'StartHour' => <integer>,
            'StartWeekDay' => 'sunday|monday|tuesday|wednesday|thursday|friday|saturday',
        ],
        // ...
    ],
]);

Parameter Details

Members
CronExpression
Type: string

The cron expression for the event window, for example, * 0-4,20-23 * * 1,5. If you specify a cron expression, you can't specify a time range.

Constraints:

  • Only hour and day of the week values are supported.

  • For day of the week values, you can specify either integers 0 through 6, or alternative single values SUN through SAT.

  • The minute, month, and year must be specified by *.

  • The hour value must be one or a multiple range, for example, 0-4 or 0-4,20-23.

  • Each hour range must be >= 2 hours, for example, 0-2 or 20-23.

  • The event window must be >= 4 hours. The combined total time ranges in the event window must be >= 4 hours.

For more information about cron expressions, see cron on the Wikipedia website.

DryRun
Type: boolean

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.

Name
Type: string

The name of the event window.

TagSpecifications
Type: Array of TagSpecification structures

The tags to apply to the event window.

TimeRanges
Type: Array of InstanceEventWindowTimeRangeRequest structures

The time range for the event window. If you specify a time range, you can't specify a cron expression.

Result Syntax

[
    'InstanceEventWindow' => [
        'AssociationTarget' => [
            'DedicatedHostIds' => ['<string>', ...],
            'InstanceIds' => ['<string>', ...],
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        'CronExpression' => '<string>',
        'InstanceEventWindowId' => '<string>',
        'Name' => '<string>',
        'State' => 'creating|deleting|active|deleted',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'TimeRanges' => [
            [
                'EndHour' => <integer>,
                'EndWeekDay' => 'sunday|monday|tuesday|wednesday|thursday|friday|saturday',
                'StartHour' => <integer>,
                'StartWeekDay' => 'sunday|monday|tuesday|wednesday|thursday|friday|saturday',
            ],
            // ...
        ],
    ],
]

Result Details

Members
InstanceEventWindow
Type: InstanceEventWindow structure

Information about the event window.

Errors

There are no errors described for this operation.

CreateInstanceExportTask

$result = $client->createInstanceExportTask([/* ... */]);
$promise = $client->createInstanceExportTaskAsync([/* ... */]);

Exports a running or stopped instance to an Amazon S3 bucket.

For information about the prerequisites for your Amazon S3 bucket, supported operating systems, image formats, and known limitations for the types of instances you can export, see Exporting an instance as a VM Using VM Import/Export in the VM Import/Export User Guide.

Parameter Syntax

$result = $client->createInstanceExportTask([
    'Description' => '<string>',
    'ExportToS3Task' => [ // REQUIRED
        'ContainerFormat' => 'ova',
        'DiskImageFormat' => 'VMDK|RAW|VHD',
        'S3Bucket' => '<string>',
        'S3Prefix' => '<string>',
    ],
    'InstanceId' => '<string>', // REQUIRED
    'TagSpecifications' => [
        [
            'ResourceType' => 'capacity-reservation|client-vpn-endpoint|customer-gateway|carrier-gateway|coip-pool|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|instance-event-window|internet-gateway|ipam|ipam-pool|ipam-scope|ipv4pool-ec2|ipv6pool-ec2|key-pair|launch-template|local-gateway|local-gateway-route-table|local-gateway-virtual-interface|local-gateway-virtual-interface-group|local-gateway-route-table-vpc-association|local-gateway-route-table-virtual-interface-group-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|network-insights-access-scope|network-insights-access-scope-analysis|placement-group|prefix-list|replace-root-volume-task|reserved-instances|route-table|security-group|security-group-rule|snapshot|spot-fleet-request|spot-instances-request|subnet|subnet-cidr-reservation|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-policy-table|transit-gateway-route-table|transit-gateway-route-table-announcement|volume|vpc|vpc-endpoint|vpc-endpoint-connection|vpc-endpoint-service|vpc-endpoint-service-permission|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log|capacity-reservation-fleet|traffic-mirror-filter-rule|vpc-endpoint-connection-device-type|verified-access-instance|verified-access-group|verified-access-endpoint|verified-access-policy|verified-access-trust-provider|vpn-connection-device-type|vpc-block-public-access-exclusion|ipam-resource-discovery|ipam-resource-discovery-association|instance-connect-endpoint|ipam-external-resource-verification-token',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'TargetEnvironment' => 'citrix|vmware|microsoft', // REQUIRED
]);

Parameter Details

Members
Description
Type: string

A description for the conversion task or the resource being exported. The maximum length is 255 characters.

ExportToS3Task
Required: Yes
Type: ExportToS3TaskSpecification structure

The format and location for an export instance task.

InstanceId
Required: Yes
Type: string

The ID of the instance.

TagSpecifications
Type: Array of TagSpecification structures

The tags to apply to the export instance task during creation.

TargetEnvironment
Required: Yes
Type: string

The target virtualization environment.

Result Syntax

[
    'ExportTask' => [
        'Description' => '<string>',
        'ExportTaskId' => '<string>',
        'ExportToS3Task' => [
            'ContainerFormat' => 'ova',
            'DiskImageFormat' => 'VMDK|RAW|VHD',
            'S3Bucket' => '<string>',
            'S3Key' => '<string>',
        ],
        'InstanceExportDetails' => [
            'InstanceId' => '<string>',
            'TargetEnvironment' => 'citrix|vmware|microsoft',
        ],
        'State' => 'active|cancelling|cancelled|completed',
        'StatusMessage' => '<string>',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
    ],
]

Result Details

Members
ExportTask
Type: ExportTask structure

Information about the export instance task.

Errors

There are no errors described for this operation.

CreateInternetGateway

$result = $client->createInternetGateway([/* ... */]);
$promise = $client->createInternetGatewayAsync([/* ... */]);

Creates an internet gateway for use with a VPC. After creating the internet gateway, you attach it to a VPC using AttachInternetGateway.

For more information, see Internet gateways in the Amazon VPC User Guide.

Parameter Syntax

$result = $client->createInternetGateway([
    'DryRun' => true || false,
    'TagSpecifications' => [
        [
            'ResourceType' => 'capacity-reservation|client-vpn-endpoint|customer-gateway|carrier-gateway|coip-pool|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|instance-event-window|internet-gateway|ipam|ipam-pool|ipam-scope|ipv4pool-ec2|ipv6pool-ec2|key-pair|launch-template|local-gateway|local-gateway-route-table|local-gateway-virtual-interface|local-gateway-virtual-interface-group|local-gateway-route-table-vpc-association|local-gateway-route-table-virtual-interface-group-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|network-insights-access-scope|network-insights-access-scope-analysis|placement-group|prefix-list|replace-root-volume-task|reserved-instances|route-table|security-group|security-group-rule|snapshot|spot-fleet-request|spot-instances-request|subnet|subnet-cidr-reservation|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-policy-table|transit-gateway-route-table|transit-gateway-route-table-announcement|volume|vpc|vpc-endpoint|vpc-endpoint-connection|vpc-endpoint-service|vpc-endpoint-service-permission|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log|capacity-reservation-fleet|traffic-mirror-filter-rule|vpc-endpoint-connection-device-type|verified-access-instance|verified-access-group|verified-access-endpoint|verified-access-policy|verified-access-trust-provider|vpn-connection-device-type|vpc-block-public-access-exclusion|ipam-resource-discovery|ipam-resource-discovery-association|instance-connect-endpoint|ipam-external-resource-verification-token',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
]);

Parameter Details

Members
DryRun
Type: boolean

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.

TagSpecifications
Type: Array of TagSpecification structures

The tags to assign to the internet gateway.

Result Syntax

[
    'InternetGateway' => [
        'Attachments' => [
            [
                'State' => 'attaching|attached|detaching|detached',
                'VpcId' => '<string>',
            ],
            // ...
        ],
        'InternetGatewayId' => '<string>',
        'OwnerId' => '<string>',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
    ],
]

Result Details

Members
InternetGateway
Type: InternetGateway structure

Information about the internet gateway.

Errors

There are no errors described for this operation.

Examples

Example 1: To create an Internet gateway

This example creates an Internet gateway.

$result = $client->createInternetGateway([
]);

Result syntax:

[
    'InternetGateway' => [
        'Attachments' => [
        ],
        'InternetGatewayId' => 'igw-c0a643a9',
        'Tags' => [
        ],
    ],
]

CreateIpam

$result = $client->createIpam([/* ... */]);
$promise = $client->createIpamAsync([/* ... */]);

Create an IPAM. Amazon VPC IP Address Manager (IPAM) is a VPC feature that you can use to automate your IP address management workflows including assigning, tracking, troubleshooting, and auditing IP addresses across Amazon Web Services Regions and accounts throughout your Amazon Web Services Organization.

For more information, see Create an IPAM in the Amazon VPC IPAM User Guide.

Parameter Syntax

$result = $client->createIpam([
    'ClientToken' => '<string>',
    'Description' => '<string>',
    'DryRun' => true || false,
    'EnablePrivateGua' => true || false,
    'OperatingRegions' => [
        [
            'RegionName' => '<string>',
        ],
        // ...
    ],
    'TagSpecifications' => [
        [
            'ResourceType' => 'capacity-reservation|client-vpn-endpoint|customer-gateway|carrier-gateway|coip-pool|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|instance-event-window|internet-gateway|ipam|ipam-pool|ipam-scope|ipv4pool-ec2|ipv6pool-ec2|key-pair|launch-template|local-gateway|local-gateway-route-table|local-gateway-virtual-interface|local-gateway-virtual-interface-group|local-gateway-route-table-vpc-association|local-gateway-route-table-virtual-interface-group-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|network-insights-access-scope|network-insights-access-scope-analysis|placement-group|prefix-list|replace-root-volume-task|reserved-instances|route-table|security-group|security-group-rule|snapshot|spot-fleet-request|spot-instances-request|subnet|subnet-cidr-reservation|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-policy-table|transit-gateway-route-table|transit-gateway-route-table-announcement|volume|vpc|vpc-endpoint|vpc-endpoint-connection|vpc-endpoint-service|vpc-endpoint-service-permission|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log|capacity-reservation-fleet|traffic-mirror-filter-rule|vpc-endpoint-connection-device-type|verified-access-instance|verified-access-group|verified-access-endpoint|verified-access-policy|verified-access-trust-provider|vpn-connection-device-type|vpc-block-public-access-exclusion|ipam-resource-discovery|ipam-resource-discovery-association|instance-connect-endpoint|ipam-external-resource-verification-token',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'Tier' => 'free|advanced',
]);

Parameter Details

Members
ClientToken
Type: string

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

Description
Type: string

A description for the IPAM.

DryRun
Type: boolean

A check for 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.

EnablePrivateGua
Type: boolean

Enable this option to use your own GUA ranges as private IPv6 addresses. This option is disabled by default.

OperatingRegions
Type: Array of AddIpamOperatingRegion structures

The operating Regions for the IPAM. Operating Regions are Amazon Web Services Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only discovers and monitors resources in the Amazon Web Services Regions you select as operating Regions.

For more information about operating Regions, see Create an IPAM in the Amazon VPC IPAM User Guide.

TagSpecifications
Type: Array of TagSpecification structures

The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

Tier
Type: string

IPAM is offered in a Free Tier and an Advanced Tier. For more information about the features available in each tier and the costs associated with the tiers, see Amazon VPC pricing > IPAM tab.

Result Syntax

[
    'Ipam' => [
        'DefaultResourceDiscoveryAssociationId' => '<string>',
        'DefaultResourceDiscoveryId' => '<string>',
        'Description' => '<string>',
        'EnablePrivateGua' => true || false,
        'IpamArn' => '<string>',
        'IpamId' => '<string>',
        'IpamRegion' => '<string>',
        'OperatingRegions' => [
            [
                'RegionName' => '<string>',
            ],
            // ...
        ],
        'OwnerId' => '<string>',
        'PrivateDefaultScopeId' => '<string>',
        'PublicDefaultScopeId' => '<string>',
        'ResourceDiscoveryAssociationCount' => <integer>,
        'ScopeCount' => <integer>,
        'State' => 'create-in-progress|create-complete|create-failed|modify-in-progress|modify-complete|modify-failed|delete-in-progress|delete-complete|delete-failed|isolate-in-progress|isolate-complete|restore-in-progress',
        'StateMessage' => '<string>',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'Tier' => 'free|advanced',
    ],
]

Result Details

Members
Ipam
Type: Ipam structure

Information about the IPAM created.

Errors

There are no errors described for this operation.

CreateIpamExternalResourceVerificationToken

$result = $client->createIpamExternalResourceVerificationToken([/* ... */]);
$promise = $client->createIpamExternalResourceVerificationTokenAsync([/* ... */]);

Create a verification token. A verification token is an Amazon Web Services-generated random value that you can use to prove ownership of an external resource. For example, you can use a verification token to validate that you control a public IP address range when you bring an IP address range to Amazon Web Services (BYOIP).

Parameter Syntax

$result = $client->createIpamExternalResourceVerificationToken([
    'ClientToken' => '<string>',
    'DryRun' => true || false,
    'IpamId' => '<string>', // REQUIRED
    'TagSpecifications' => [
        [
            'ResourceType' => 'capacity-reservation|client-vpn-endpoint|customer-gateway|carrier-gateway|coip-pool|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|instance-event-window|internet-gateway|ipam|ipam-pool|ipam-scope|ipv4pool-ec2|ipv6pool-ec2|key-pair|launch-template|local-gateway|local-gateway-route-table|local-gateway-virtual-interface|local-gateway-virtual-interface-group|local-gateway-route-table-vpc-association|local-gateway-route-table-virtual-interface-group-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|network-insights-access-scope|network-insights-access-scope-analysis|placement-group|prefix-list|replace-root-volume-task|reserved-instances|route-table|security-group|security-group-rule|snapshot|spot-fleet-request|spot-instances-request|subnet|subnet-cidr-reservation|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-policy-table|transit-gateway-route-table|transit-gateway-route-table-announcement|volume|vpc|vpc-endpoint|vpc-endpoint-connection|vpc-endpoint-service|vpc-endpoint-service-permission|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log|capacity-reservation-fleet|traffic-mirror-filter-rule|vpc-endpoint-connection-device-type|verified-access-instance|verified-access-group|verified-access-endpoint|verified-access-policy|verified-access-trust-provider|vpn-connection-device-type|vpc-block-public-access-exclusion|ipam-resource-discovery|ipam-resource-discovery-association|instance-connect-endpoint|ipam-external-resource-verification-token',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
]);

Parameter Details

Members
ClientToken
Type: string

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

DryRun
Type: boolean

A check for 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.

IpamId
Required: Yes
Type: string

The ID of the IPAM that will create the token.

TagSpecifications
Type: Array of TagSpecification structures

Token tags.

Result Syntax

[
    'IpamExternalResourceVerificationToken' => [
        'IpamArn' => '<string>',
        'IpamExternalResourceVerificationTokenArn' => '<string>',
        'IpamExternalResourceVerificationTokenId' => '<string>',
        'IpamId' => '<string>',
        'IpamRegion' => '<string>',
        'NotAfter' => <DateTime>,
        'State' => 'create-in-progress|create-complete|create-failed|delete-in-progress|delete-complete|delete-failed',
        'Status' => 'valid|expired',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'TokenName' => '<string>',
        'TokenValue' => '<string>',
    ],
]

Result Details

Members
IpamExternalResourceVerificationToken

The verification token.

Errors

There are no errors described for this operation.

CreateIpamPool

$result = $client->createIpamPool([/* ... */]);
$promise = $client->createIpamPoolAsync([/* ... */]);

Create an IP address pool for Amazon VPC IP Address Manager (IPAM). In IPAM, a pool is a collection of contiguous IP addresses CIDRs. Pools enable you to organize your IP addresses according to your routing and security needs. For example, if you have separate routing and security needs for development and production applications, you can create a pool for each.

For more information, see Create a top-level pool in the Amazon VPC IPAM User Guide.

Parameter Syntax

$result = $client->createIpamPool([
    'AddressFamily' => 'ipv4|ipv6', // REQUIRED
    'AllocationDefaultNetmaskLength' => <integer>,
    'AllocationMaxNetmaskLength' => <integer>,
    'AllocationMinNetmaskLength' => <integer>,
    'AllocationResourceTags' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
    'AutoImport' => true || false,
    'AwsService' => 'ec2',
    'ClientToken' => '<string>',
    'Description' => '<string>',
    'DryRun' => true || false,
    'IpamScopeId' => '<string>', // REQUIRED
    'Locale' => '<string>',
    'PublicIpSource' => 'amazon|byoip',
    'PubliclyAdvertisable' => true || false,
    'SourceIpamPoolId' => '<string>',
    'SourceResource' => [
        'ResourceId' => '<string>',
        'ResourceOwner' => '<string>',
        'ResourceRegion' => '<string>',
        'ResourceType' => 'vpc',
    ],
    'TagSpecifications' => [
        [
            'ResourceType' => 'capacity-reservation|client-vpn-endpoint|customer-gateway|carrier-gateway|coip-pool|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|instance-event-window|internet-gateway|ipam|ipam-pool|ipam-scope|ipv4pool-ec2|ipv6pool-ec2|key-pair|launch-template|local-gateway|local-gateway-route-table|local-gateway-virtual-interface|local-gateway-virtual-interface-group|local-gateway-route-table-vpc-association|local-gateway-route-table-virtual-interface-group-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|network-insights-access-scope|network-insights-access-scope-analysis|placement-group|prefix-list|replace-root-volume-task|reserved-instances|route-table|security-group|security-group-rule|snapshot|spot-fleet-request|spot-instances-request|subnet|subnet-cidr-reservation|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-policy-table|transit-gateway-route-table|transit-gateway-route-table-announcement|volume|vpc|vpc-endpoint|vpc-endpoint-connection|vpc-endpoint-service|vpc-endpoint-service-permission|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log|capacity-reservation-fleet|traffic-mirror-filter-rule|vpc-endpoint-connection-device-type|verified-access-instance|verified-access-group|verified-access-endpoint|verified-access-policy|verified-access-trust-provider|vpn-connection-device-type|vpc-block-public-access-exclusion|ipam-resource-discovery|ipam-resource-discovery-association|instance-connect-endpoint|ipam-external-resource-verification-token',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
]);

Parameter Details

Members
AddressFamily
Required: Yes
Type: string

The IP protocol assigned to this IPAM pool. You must choose either IPv4 or IPv6 protocol for a pool.

AllocationDefaultNetmaskLength
Type: int

The default netmask length for allocations added to this pool. If, for example, the CIDR assigned to this pool is 10.0.0.0/8 and you enter 16 here, new allocations will default to 10.0.0.0/16.

AllocationMaxNetmaskLength
Type: int

The maximum netmask length possible for CIDR allocations in this IPAM pool to be compliant. The maximum netmask length must be greater than the minimum netmask length. Possible netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128.

AllocationMinNetmaskLength
Type: int

The minimum netmask length required for CIDR allocations in this IPAM pool to be compliant. The minimum netmask length must be less than the maximum netmask length. Possible netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128.

AllocationResourceTags
Type: Array of RequestIpamResourceTag structures

Tags that are required for resources that use CIDRs from this IPAM pool. Resources that do not have these tags will not be allowed to allocate space from the pool. If the resources have their tags changed after they have allocated space or if the allocation tagging requirements are changed on the pool, the resource may be marked as noncompliant.

AutoImport
Type: boolean

If selected, IPAM will continuously look for resources within the CIDR range of this pool and automatically import them as allocations into your IPAM. The CIDRs that will be allocated for these resources must not already be allocated to other resources in order for the import to succeed. IPAM will import a CIDR regardless of its compliance with the pool's allocation rules, so a resource might be imported and subsequently marked as noncompliant. If IPAM discovers multiple CIDRs that overlap, IPAM will import the largest CIDR only. If IPAM discovers multiple CIDRs with matching CIDRs, IPAM will randomly import one of them only.

A locale must be set on the pool for this feature to work.

AwsService
Type: string

Limits which service in Amazon Web Services that the pool can be used in. "ec2", for example, allows users to use space for Elastic IP addresses and VPCs.

ClientToken
Type: string

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

Description
Type: string

A description for the IPAM pool.

DryRun
Type: boolean

A check for 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.

IpamScopeId
Required: Yes
Type: string

The ID of the scope in which you would like to create the IPAM pool.

Locale
Type: string

The locale for the pool should be one of the following:

  • An Amazon Web Services Region where you want this IPAM pool to be available for allocations.

  • The network border group for an Amazon Web Services Local Zone where you want this IPAM pool to be available for allocations (supported Local Zones). This option is only available for IPAM IPv4 pools in the public scope.

Possible values: Any Amazon Web Services Region or supported Amazon Web Services Local Zone. Default is none and means any locale.

PublicIpSource
Type: string

The IP address source for pools in the public scope. Only used for provisioning IP address CIDRs to pools in the public scope. Default is byoip. For more information, see Create IPv6 pools in the Amazon VPC IPAM User Guide. By default, you can add only one Amazon-provided IPv6 CIDR block to a top-level IPv6 pool if PublicIpSource is amazon. For information on increasing the default limit, see Quotas for your IPAM in the Amazon VPC IPAM User Guide.

PubliclyAdvertisable
Type: boolean

Determines if the pool is publicly advertisable. The request can only contain PubliclyAdvertisable if AddressFamily is ipv6 and PublicIpSource is byoip.

SourceIpamPoolId
Type: string

The ID of the source IPAM pool. Use this option to create a pool within an existing pool. Note that the CIDR you provision for the pool within the source pool must be available in the source pool's CIDR range.

SourceResource

The resource used to provision CIDRs to a resource planning pool.

TagSpecifications
Type: Array of TagSpecification structures

The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

Result Syntax

[
    'IpamPool' => [
        'AddressFamily' => 'ipv4|ipv6',
        'AllocationDefaultNetmaskLength' => <integer>,
        'AllocationMaxNetmaskLength' => <integer>,
        'AllocationMinNetmaskLength' => <integer>,
        'AllocationResourceTags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'AutoImport' => true || false,
        'AwsService' => 'ec2',
        'Description' => '<string>',
        'IpamArn' => '<string>',
        'IpamPoolArn' => '<string>',
        'IpamPoolId' => '<string>',
        'IpamRegion' => '<string>',
        'IpamScopeArn' => '<string>',
        'IpamScopeType' => 'public|private',
        'Locale' => '<string>',
        'OwnerId' => '<string>',
        'PoolDepth' => <integer>,
        'PublicIpSource' => 'amazon|byoip',
        'PubliclyAdvertisable' => true || false,
        'SourceIpamPoolId' => '<string>',
        'SourceResource' => [
            'ResourceId' => '<string>',
            'ResourceOwner' => '<string>',
            'ResourceRegion' => '<string>',
            'ResourceType' => 'vpc',
        ],
        'State' => 'create-in-progress|create-complete|create-failed|modify-in-progress|modify-complete|modify-failed|delete-in-progress|delete-complete|delete-failed|isolate-in-progress|isolate-complete|restore-in-progress',
        'StateMessage' => '<string>',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
    ],
]

Result Details

Members
IpamPool
Type: IpamPool structure

Information about the IPAM pool created.

Errors

There are no errors described for this operation.

CreateIpamResourceDiscovery

$result = $client->createIpamResourceDiscovery([/* ... */]);
$promise = $client->createIpamResourceDiscoveryAsync([/* ... */]);

Creates an IPAM resource discovery. A resource discovery is an IPAM component that enables IPAM to manage and monitor resources that belong to the owning account.

Parameter Syntax

$result = $client->createIpamResourceDiscovery([
    'ClientToken' => '<string>',
    'Description' => '<string>',
    'DryRun' => true || false,
    'OperatingRegions' => [
        [
            'RegionName' => '<string>',
        ],
        // ...
    ],
    'TagSpecifications' => [
        [
            'ResourceType' => 'capacity-reservation|client-vpn-endpoint|customer-gateway|carrier-gateway|coip-pool|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|instance-event-window|internet-gateway|ipam|ipam-pool|ipam-scope|ipv4pool-ec2|ipv6pool-ec2|key-pair|launch-template|local-gateway|local-gateway-route-table|local-gateway-virtual-interface|local-gateway-virtual-interface-group|local-gateway-route-table-vpc-association|local-gateway-route-table-virtual-interface-group-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|network-insights-access-scope|network-insights-access-scope-analysis|placement-group|prefix-list|replace-root-volume-task|reserved-instances|route-table|security-group|security-group-rule|snapshot|spot-fleet-request|spot-instances-request|subnet|subnet-cidr-reservation|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-policy-table|transit-gateway-route-table|transit-gateway-route-table-announcement|volume|vpc|vpc-endpoint|vpc-endpoint-connection|vpc-endpoint-service|vpc-endpoint-service-permission|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log|capacity-reservation-fleet|traffic-mirror-filter-rule|vpc-endpoint-connection-device-type|verified-access-instance|verified-access-group|verified-access-endpoint|verified-access-policy|verified-access-trust-provider|vpn-connection-device-type|vpc-block-public-access-exclusion|ipam-resource-discovery|ipam-resource-discovery-association|instance-connect-endpoint|ipam-external-resource-verification-token',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
]);

Parameter Details

Members
ClientToken
Type: string

A client token for the IPAM resource discovery.

Description
Type: string

A description for the IPAM resource discovery.

DryRun
Type: boolean

A check for 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.

OperatingRegions
Type: Array of AddIpamOperatingRegion structures

Operating Regions for the IPAM resource discovery. Operating Regions are Amazon Web Services Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only discovers and monitors resources in the Amazon Web Services Regions you select as operating Regions.

TagSpecifications
Type: Array of TagSpecification structures

Tag specifications for the IPAM resource discovery.

Result Syntax

[
    'IpamResourceDiscovery' => [
        'Description' => '<string>',
        'IpamResourceDiscoveryArn' => '<string>',
        'IpamResourceDiscoveryId' => '<string>',
        'IpamResourceDiscoveryRegion' => '<string>',
        'IsDefault' => true || false,
        'OperatingRegions' => [
            [
                'RegionName' => '<string>',
            ],
            // ...
        ],
        'OrganizationalUnitExclusions' => [
            [
                'OrganizationsEntityPath' => '<string>',
            ],
            // ...
        ],
        'OwnerId' => '<string>',
        'State' => 'create-in-progress|create-complete|create-failed|modify-in-progress|modify-complete|modify-failed|delete-in-progress|delete-complete|delete-failed|isolate-in-progress|isolate-complete|restore-in-progress',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
    ],
]

Result Details

Members
IpamResourceDiscovery
Type: IpamResourceDiscovery structure

An IPAM resource discovery.

Errors

There are no errors described for this operation.

CreateIpamScope

$result = $client->createIpamScope([/* ... */]);
$promise = $client->createIpamScopeAsync([/* ... */]);

Create an IPAM scope. In IPAM, a scope is the highest-level container within IPAM. An IPAM contains two default scopes. Each scope represents the IP space for a single network. The private scope is intended for all private IP address space. The public scope is intended for all public IP address space. Scopes enable you to reuse IP addresses across multiple unconnected networks without causing IP address overlap or conflict.

For more information, see Add a scope in the Amazon VPC IPAM User Guide.

Parameter Syntax

$result = $client->createIpamScope([
    'ClientToken' => '<string>',
    'Description' => '<string>',
    'DryRun' => true || false,
    'IpamId' => '<string>', // REQUIRED
    'TagSpecifications' => [
        [
            'ResourceType' => 'capacity-reservation|client-vpn-endpoint|customer-gateway|carrier-gateway|coip-pool|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|instance-event-window|internet-gateway|ipam|ipam-pool|ipam-scope|ipv4pool-ec2|ipv6pool-ec2|key-pair|launch-template|local-gateway|local-gateway-route-table|local-gateway-virtual-interface|local-gateway-virtual-interface-group|local-gateway-route-table-vpc-association|local-gateway-route-table-virtual-interface-group-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|network-insights-access-scope|network-insights-access-scope-analysis|placement-group|prefix-list|replace-root-volume-task|reserved-instances|route-table|security-group|security-group-rule|snapshot|spot-fleet-request|spot-instances-request|subnet|subnet-cidr-reservation|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-policy-table|transit-gateway-route-table|transit-gateway-route-table-announcement|volume|vpc|vpc-endpoint|vpc-endpoint-connection|vpc-endpoint-service|vpc-endpoint-service-permission|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log|capacity-reservation-fleet|traffic-mirror-filter-rule|vpc-endpoint-connection-device-type|verified-access-instance|verified-access-group|verified-access-endpoint|verified-access-policy|verified-access-trust-provider|vpn-connection-device-type|vpc-block-public-access-exclusion|ipam-resource-discovery|ipam-resource-discovery-association|instance-connect-endpoint|ipam-external-resource-verification-token',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
]);

Parameter Details

Members
ClientToken
Type: string

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

Description
Type: string

A description for the scope you're creating.

DryRun
Type: boolean

A check for 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.

IpamId
Required: Yes
Type: string

The ID of the IPAM for which you're creating this scope.

TagSpecifications
Type: Array of TagSpecification structures

The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

Result Syntax

[
    'IpamScope' => [
        'Description' => '<string>',
        'IpamArn' => '<string>',
        'IpamRegion' => '<string>',
        'IpamScopeArn' => '<string>',
        'IpamScopeId' => '<string>',
        'IpamScopeType' => 'public|private',
        'IsDefault' => true || false,
        'OwnerId' => '<string>',
        'PoolCount' => <integer>,
        'State' => 'create-in-progress|create-complete|create-failed|modify-in-progress|modify-complete|modify-failed|delete-in-progress|delete-complete|delete-failed|isolate-in-progress|isolate-complete|restore-in-progress',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
    ],
]

Result Details

Members
IpamScope
Type: IpamScope structure

Information about the created scope.

Errors

There are no errors described for this operation.

CreateKeyPair

$result = $client->createKeyPair([/* ... */]);
$promise = $client->createKeyPairAsync([/* ... */]);

Creates an ED25519 or 2048-bit RSA key pair with the specified name and in the specified format. Amazon EC2 stores the public key and displays the private key for you to save to a file. The private key is returned as an unencrypted PEM encoded PKCS#1 private key or an unencrypted PPK formatted private key for use with PuTTY. If a key with the specified name already exists, Amazon EC2 returns an error.

The key pair returned to you is available only in the Amazon Web Services Region in which you create it. If you prefer, you can create your own key pair using a third-party tool and upload it to any Region using ImportKeyPair.

You can have up to 5,000 key pairs per Amazon Web Services Region.

For more information, see Amazon EC2 key pairs in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->createKeyPair([
    'DryRun' => true || false,
    'KeyFormat' => 'pem|ppk',
    'KeyName' => '<string>', // REQUIRED
    'KeyType' => 'rsa|ed25519',
    'TagSpecifications' => [
        [
            'ResourceType' => 'capacity-reservation|client-vpn-endpoint|customer-gateway|carrier-gateway|coip-pool|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|instance-event-window|internet-gateway|ipam|ipam-pool|ipam-scope|ipv4pool-ec2|ipv6pool-ec2|key-pair|launch-template|local-gateway|local-gateway-route-table|local-gateway-virtual-interface|local-gateway-virtual-interface-group|local-gateway-route-table-vpc-association|local-gateway-route-table-virtual-interface-group-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|network-insights-access-scope|network-insights-access-scope-analysis|placement-group|prefix-list|replace-root-volume-task|reserved-instances|route-table|security-group|security-group-rule|snapshot|spot-fleet-request|spot-instances-request|subnet|subnet-cidr-reservation|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-policy-table|transit-gateway-route-table|transit-gateway-route-table-announcement|volume|vpc|vpc-endpoint|vpc-endpoint-connection|vpc-endpoint-service|vpc-endpoint-service-permission|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log|capacity-reservation-fleet|traffic-mirror-filter-rule|vpc-endpoint-connection-device-type|verified-access-instance|verified-access-group|verified-access-endpoint|verified-access-policy|verified-access-trust-provider|vpn-connection-device-type|vpc-block-public-access-exclusion|ipam-resource-discovery|ipam-resource-discovery-association|instance-connect-endpoint|ipam-external-resource-verification-token',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
]);

Parameter Details

Members
DryRun
Type: boolean

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.

KeyFormat
Type: string

The format of the key pair.

Default: pem

KeyName
Required: Yes
Type: string

A unique name for the key pair.

Constraints: Up to 255 ASCII characters

KeyType
Type: string

The type of key pair. Note that ED25519 keys are not supported for Windows instances.

Default: rsa

TagSpecifications
Type: Array of TagSpecification structures

The tags to apply to the new key pair.

Result Syntax

[
    'KeyFingerprint' => '<string>',
    'KeyMaterial' => '<string>',
    'KeyName' => '<string>',
    'KeyPairId' => '<string>',
    'Tags' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
KeyFingerprint
Type: string
  • For RSA key pairs, the key fingerprint is the SHA-1 digest of the DER encoded private key.

  • For ED25519 key pairs, the key fingerprint is the base64-encoded SHA-256 digest, which is the default for OpenSSH, starting with OpenSSH 6.8.

KeyMaterial
Type: string

An unencrypted PEM encoded RSA or ED25519 private key.

KeyName
Type: string

The name of the key pair.

KeyPairId
Type: string

The ID of the key pair.

Tags
Type: Array of Tag structures

Any tags applied to the key pair.

Errors

There are no errors described for this operation.

Examples

Example 1: To create a key pair

This example creates a key pair named my-key-pair.

$result = $client->createKeyPair([
    'KeyName' => 'my-key-pair',
]);

CreateLaunchTemplate

$result = $client->createLaunchTemplate([/* ... */]);
$promise = $client->createLaunchTemplateAsync([/* ... */]);

Creates a launch template.

A launch template contains the parameters to launch an instance. When you launch an instance using RunInstances, you can specify a launch template instead of providing the launch parameters in the request. For more information, see Launch an instance from a launch template in the Amazon EC2 User Guide.

To clone an existing launch template as the basis for a new launch template, use the Amazon EC2 console. The API, SDKs, and CLI do not support cloning a template. For more information, see Create a launch template from an existing launch template in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->createLaunchTemplate([
    'ClientToken' => '<string>',
    'DryRun' => true || false,
    'LaunchTemplateData' => [ // REQUIRED
        'BlockDeviceMappings' => [
            [
                'DeviceName' => '<string>',
                'Ebs' => [
                    'DeleteOnTermination' => true || false,
                    'Encrypted' => true || false,
                    'Iops' => <integer>,
                    'KmsKeyId' => '<string>',
                    'SnapshotId' => '<string>',
                    'Throughput' => <integer>,
                    'VolumeSize' => <integer>,
                    'VolumeType' => 'standard|io1|io2|gp2|sc1|st1|gp3',
                ],
                'NoDevice' => '<string>',
                'VirtualName' => '<string>',
            ],
            // ...
        ],
        'CapacityReservationSpecification' => [
            'CapacityReservationPreference' => 'capacity-reservations-only|open|none',
            'CapacityReservationTarget' => [
                'CapacityReservationId' => '<string>',
                'CapacityReservationResourceGroupArn' => '<string>',
            ],
        ],
        'CpuOptions' => [
            'AmdSevSnp' => 'enabled|disabled',
            'CoreCount' => <integer>,
            'ThreadsPerCore' => <integer>,
        ],
        'CreditSpecification' => [
            'CpuCredits' => '<string>', // REQUIRED
        ],
        'DisableApiStop' => true || false,
        'DisableApiTermination' => true || false,
        'EbsOptimized' => true || false,
        'ElasticGpuSpecifications' => [
            [
                'Type' => '<string>', // REQUIRED
            ],
            // ...
        ],
        'ElasticInferenceAccelerators' => [
            [
                'Count' => <integer>,
                'Type' => '<string>', // REQUIRED
            ],
            // ...
        ],
        'EnclaveOptions' => [
            'Enabled' => true || false,
        ],
        'HibernationOptions' => [
            'Configured' => true || false,
        ],
        'IamInstanceProfile' => [
            'Arn' => '<string>',
            'Name' => '<string>',
        ],
        'ImageId' => '<string>',
        'InstanceInitiatedShutdownBehavior' => 'stop|terminate',
        'InstanceMarketOptions' => [
            'MarketType' => 'spot|capacity-block',
            'SpotOptions' => [
                'BlockDurationMinutes' => <integer>,
                'InstanceInterruptionBehavior' => 'hibernate|stop|terminate',
                'MaxPrice' => '<string>',
                'SpotInstanceType' => 'one-time|persistent',
                'ValidUntil' => <integer || string || DateTime>,
            ],
        ],
        'InstanceRequirements' => [
            'AcceleratorCount' => [
                'Max' => <integer>,
                'Min' => <integer>,
            ],
            'AcceleratorManufacturers' => ['<string>', ...],
            'AcceleratorNames' => ['<string>', ...],
            'AcceleratorTotalMemoryMiB' => [
                'Max' => <integer>,
                'Min' => <integer>,
            ],
            'AcceleratorTypes' => ['<string>', ...],
            'AllowedInstanceTypes' => ['<string>', ...],
            'BareMetal' => 'included|required|excluded',
            'BaselineEbsBandwidthMbps' => [
                'Max' => <integer>,
                'Min' => <integer>,
            ],
            'BaselinePerformanceFactors' => [
                'Cpu' => [
                    'References' => [
                        [
                            'InstanceFamily' => '<string>',
                        ],
                        // ...
                    ],
                ],
            ],
            'BurstablePerformance' => 'included|required|excluded',
            'CpuManufacturers' => ['<string>', ...],
            'ExcludedInstanceTypes' => ['<string>', ...],
            'InstanceGenerations' => ['<string>', ...],
            'LocalStorage' => 'included|required|excluded',
            'LocalStorageTypes' => ['<string>', ...],
            'MaxSpotPriceAsPercentageOfOptimalOnDemandPrice' => <integer>,
            'MemoryGiBPerVCpu' => [
                'Max' => <float>,
                'Min' => <float>,
            ],
            'MemoryMiB' => [ // REQUIRED
                'Max' => <integer>,
                'Min' => <integer>, // REQUIRED
            ],
            'NetworkBandwidthGbps' => [
                'Max' => <float>,
                'Min' => <float>,
            ],
            'NetworkInterfaceCount' => [
                'Max' => <integer>,
                'Min' => <integer>,
            ],
            'OnDemandMaxPricePercentageOverLowestPrice' => <integer>,
            'RequireHibernateSupport' => true || false,
            'SpotMaxPricePercentageOverLowestPrice' => <integer>,
            'TotalLocalStorageGB' => [
                'Max' => <float>,
                'Min' => <float>,
            ],
            'VCpuCount' => [ // REQUIRED
                'Max' => <integer>,
                'Min' => <integer>, // REQUIRED
            ],
        ],
        'InstanceType' => 'a1.medium|a1.large|a1.xlarge|a1.2xlarge|a1.4xlarge|a1.metal|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|c5a.large|c5a.xlarge|c5a.2xlarge|c5a.4xlarge|c5a.8xlarge|c5a.12xlarge|c5a.16xlarge|c5a.24xlarge|c5ad.large|c5ad.xlarge|c5ad.2xlarge|c5ad.4xlarge|c5ad.8xlarge|c5ad.12xlarge|c5ad.16xlarge|c5ad.24xlarge|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|c5n.metal|c6g.medium|c6g.large|c6g.xlarge|c6g.2xlarge|c6g.4xlarge|c6g.8xlarge|c6g.12xlarge|c6g.16xlarge|c6g.metal|c6gd.medium|c6gd.large|c6gd.xlarge|c6gd.2xlarge|c6gd.4xlarge|c6gd.8xlarge|c6gd.12xlarge|c6gd.16xlarge|c6gd.metal|c6gn.medium|c6gn.large|c6gn.xlarge|c6gn.2xlarge|c6gn.4xlarge|c6gn.8xlarge|c6gn.12xlarge|c6gn.16xlarge|c6i.large|c6i.xlarge|c6i.2xlarge|c6i.4xlarge|c6i.8xlarge|c6i.12xlarge|c6i.16xlarge|c6i.24xlarge|c6i.32xlarge|c6i.metal|cc1.4xlarge|cc2.8xlarge|cg1.4xlarge|cr1.8xlarge|d2.xlarge|d2.2xlarge|d2.4xlarge|d2.8xlarge|d3.xlarge|d3.2xlarge|d3.4xlarge|d3.8xlarge|d3en.xlarge|d3en.2xlarge|d3en.4xlarge|d3en.6xlarge|d3en.8xlarge|d3en.12xlarge|dl1.24xlarge|f1.2xlarge|f1.4xlarge|f1.16xlarge|g2.2xlarge|g2.8xlarge|g3.4xlarge|g3.8xlarge|g3.16xlarge|g3s.xlarge|g4ad.xlarge|g4ad.2xlarge|g4ad.4xlarge|g4ad.8xlarge|g4ad.16xlarge|g4dn.xlarge|g4dn.2xlarge|g4dn.4xlarge|g4dn.8xlarge|g4dn.12xlarge|g4dn.16xlarge|g4dn.metal|g5.xlarge|g5.2xlarge|g5.4xlarge|g5.8xlarge|g5.12xlarge|g5.16xlarge|g5.24xlarge|g5.48xlarge|g5g.xlarge|g5g.2xlarge|g5g.4xlarge|g5g.8xlarge|g5g.16xlarge|g5g.metal|hi1.4xlarge|hpc6a.48xlarge|hs1.8xlarge|h1.2xlarge|h1.4xlarge|h1.8xlarge|h1.16xlarge|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|im4gn.large|im4gn.xlarge|im4gn.2xlarge|im4gn.4xlarge|im4gn.8xlarge|im4gn.16xlarge|inf1.xlarge|inf1.2xlarge|inf1.6xlarge|inf1.24xlarge|is4gen.medium|is4gen.large|is4gen.xlarge|is4gen.2xlarge|is4gen.4xlarge|is4gen.8xlarge|m1.small|m1.medium|m1.large|m1.xlarge|m2.xlarge|m2.2xlarge|m2.4xlarge|m3.medium|m3.large|m3.xlarge|m3.2xlarge|m4.large|m4.xlarge|m4.2xlarge|m4.4xlarge|m4.10xlarge|m4.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|m5ad.large|m5ad.xlarge|m5ad.2xlarge|m5ad.4xlarge|m5ad.8xlarge|m5ad.12xlarge|m5ad.16xlarge|m5ad.24xlarge|m5d.large|m5d.xlarge|m5d.2xlarge|m5d.4xlarge|m5d.8xlarge|m5d.12xlarge|m5d.16xlarge|m5d.24xlarge|m5d.metal|m5dn.large|m5dn.xlarge|m5dn.2xlarge|m5dn.4xlarge|m5dn.8xlarge|m5dn.12xlarge|m5dn.16xlarge|m5dn.24xlarge|m5dn.metal|m5n.large|m5n.xlarge|m5n.2xlarge|m5n.4xlarge|m5n.8xlarge|m5n.12xlarge|m5n.16xlarge|m5n.24xlarge|m5n.metal|m5zn.large|m5zn.xlarge|m5zn.2xlarge|m5zn.3xlarge|m5zn.6xlarge|m5zn.12xlarge|m5zn.metal|m6a.large|m6a.xlarge|m6a.2xlarge|m6a.4xlarge|m6a.8xlarge|m6a.12xlarge|m6a.16xlarge|m6a.24xlarge|m6a.32xlarge|m6a.48xlarge|m6g.metal|m6g.medium|m6g.large|m6g.xlarge|m6g.2xlarge|m6g.4xlarge|m6g.8xlarge|m6g.12xlarge|m6g.16xlarge|m6gd.metal|m6gd.medium|m6gd.large|m6gd.xlarge|m6gd.2xlarge|m6gd.4xlarge|m6gd.8xlarge|m6gd.12xlarge|m6gd.16xlarge|m6i.large|m6i.xlarge|m6i.2xlarge|m6i.4xlarge|m6i.8xlarge|m6i.12xlarge|m6i.16xlarge|m6i.24xlarge|m6i.32xlarge|m6i.metal|mac1.metal|p2.xlarge|p2.8xlarge|p2.16xlarge|p3.2xlarge|p3.8xlarge|p3.16xlarge|p3dn.24xlarge|p4d.24xlarge|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|r5ad.large|r5ad.xlarge|r5ad.2xlarge|r5ad.4xlarge|r5ad.8xlarge|r5ad.12xlarge|r5ad.16xlarge|r5ad.24xlarge|r5b.large|r5b.xlarge|r5b.2xlarge|r5b.4xlarge|r5b.8xlarge|r5b.12xlarge|r5b.16xlarge|r5b.24xlarge|r5b.metal|r5d.large|r5d.xlarge|r5d.2xlarge|r5d.4xlarge|r5d.8xlarge|r5d.12xlarge|r5d.16xlarge|r5d.24xlarge|r5d.metal|r5dn.large|r5dn.xlarge|r5dn.2xlarge|r5dn.4xlarge|r5dn.8xlarge|r5dn.12xlarge|r5dn.16xlarge|r5dn.24xlarge|r5dn.metal|r5n.large|r5n.xlarge|r5n.2xlarge|r5n.4xlarge|r5n.8xlarge|r5n.12xlarge|r5n.16xlarge|r5n.24xlarge|r5n.metal|r6g.medium|r6g.large|r6g.xlarge|r6g.2xlarge|r6g.4xlarge|r6g.8xlarge|r6g.12xlarge|r6g.16xlarge|r6g.metal|r6gd.medium|r6gd.large|r6gd.xlarge|r6gd.2xlarge|r6gd.4xlarge|r6gd.8xlarge|r6gd.12xlarge|r6gd.16xlarge|r6gd.metal|r6i.large|r6i.xlarge|r6i.2xlarge|r6i.4xlarge|r6i.8xlarge|r6i.12xlarge|r6i.16xlarge|r6i.24xlarge|r6i.32xlarge|r6i.metal|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|t4g.nano|t4g.micro|t4g.small|t4g.medium|t4g.large|t4g.xlarge|t4g.2xlarge|u-6tb1.56xlarge|u-6tb1.112xlarge|u-9tb1.112xlarge|u-12tb1.112xlarge|u-6tb1.metal|u-9tb1.metal|u-12tb1.metal|u-18tb1.metal|u-24tb1.metal|vt1.3xlarge|vt1.6xlarge|vt1.24xlarge|x1.16xlarge|x1.32xlarge|x1e.xlarge|x1e.2xlarge|x1e.4xlarge|x1e.8xlarge|x1e.16xlarge|x1e.32xlarge|x2iezn.2xlarge|x2iezn.4xlarge|x2iezn.6xlarge|x2iezn.8xlarge|x2iezn.12xlarge|x2iezn.metal|x2gd.medium|x2gd.large|x2gd.xlarge|x2gd.2xlarge|x2gd.4xlarge|x2gd.8xlarge|x2gd.12xlarge|x2gd.16xlarge|x2gd.metal|z1d.large|z1d.xlarge|z1d.2xlarge|z1d.3xlarge|z1d.6xlarge|z1d.12xlarge|z1d.metal|x2idn.16xlarge|x2idn.24xlarge|x2idn.32xlarge|x2iedn.xlarge|x2iedn.2xlarge|x2iedn.4xlarge|x2iedn.8xlarge|x2iedn.16xlarge|x2iedn.24xlarge|x2iedn.32xlarge|c6a.large|c6a.xlarge|c6a.2xlarge|c6a.4xlarge|c6a.8xlarge|c6a.12xlarge|c6a.16xlarge|c6a.24xlarge|c6a.32xlarge|c6a.48xlarge|c6a.metal|m6a.metal|i4i.large|i4i.xlarge|i4i.2xlarge|i4i.4xlarge|i4i.8xlarge|i4i.16xlarge|i4i.32xlarge|i4i.metal|x2idn.metal|x2iedn.metal|c7g.medium|c7g.large|c7g.xlarge|c7g.2xlarge|c7g.4xlarge|c7g.8xlarge|c7g.12xlarge|c7g.16xlarge|mac2.metal|c6id.large|c6id.xlarge|c6id.2xlarge|c6id.4xlarge|c6id.8xlarge|c6id.12xlarge|c6id.16xlarge|c6id.24xlarge|c6id.32xlarge|c6id.metal|m6id.large|m6id.xlarge|m6id.2xlarge|m6id.4xlarge|m6id.8xlarge|m6id.12xlarge|m6id.16xlarge|m6id.24xlarge|m6id.32xlarge|m6id.metal|r6id.large|r6id.xlarge|r6id.2xlarge|r6id.4xlarge|r6id.8xlarge|r6id.12xlarge|r6id.16xlarge|r6id.24xlarge|r6id.32xlarge|r6id.metal|r6a.large|r6a.xlarge|r6a.2xlarge|r6a.4xlarge|r6a.8xlarge|r6a.12xlarge|r6a.16xlarge|r6a.24xlarge|r6a.32xlarge|r6a.48xlarge|r6a.metal|p4de.24xlarge|u-3tb1.56xlarge|u-18tb1.112xlarge|u-24tb1.112xlarge|trn1.2xlarge|trn1.32xlarge|hpc6id.32xlarge|c6in.large|c6in.xlarge|c6in.2xlarge|c6in.4xlarge|c6in.8xlarge|c6in.12xlarge|c6in.16xlarge|c6in.24xlarge|c6in.32xlarge|m6in.large|m6in.xlarge|m6in.2xlarge|m6in.4xlarge|m6in.8xlarge|m6in.12xlarge|m6in.16xlarge|m6in.24xlarge|m6in.32xlarge|m6idn.large|m6idn.xlarge|m6idn.2xlarge|m6idn.4xlarge|m6idn.8xlarge|m6idn.12xlarge|m6idn.16xlarge|m6idn.24xlarge|m6idn.32xlarge|r6in.large|r6in.xlarge|r6in.2xlarge|r6in.4xlarge|r6in.8xlarge|r6in.12xlarge|r6in.16xlarge|r6in.24xlarge|r6in.32xlarge|r6idn.large|r6idn.xlarge|r6idn.2xlarge|r6idn.4xlarge|r6idn.8xlarge|r6idn.12xlarge|r6idn.16xlarge|r6idn.24xlarge|r6idn.32xlarge|c7g.metal|m7g.medium|m7g.large|m7g.xlarge|m7g.2xlarge|m7g.4xlarge|m7g.8xlarge|m7g.12xlarge|m7g.16xlarge|m7g.metal|r7g.medium|r7g.large|r7g.xlarge|r7g.2xlarge|r7g.4xlarge|r7g.8xlarge|r7g.12xlarge|r7g.16xlarge|r7g.metal|c6in.metal|m6in.metal|m6idn.metal|r6in.metal|r6idn.metal|inf2.xlarge|inf2.8xlarge|inf2.24xlarge|inf2.48xlarge|trn1n.32xlarge|i4g.large|i4g.xlarge|i4g.2xlarge|i4g.4xlarge|i4g.8xlarge|i4g.16xlarge|hpc7g.4xlarge|hpc7g.8xlarge|hpc7g.16xlarge|c7gn.medium|c7gn.large|c7gn.xlarge|c7gn.2xlarge|c7gn.4xlarge|c7gn.8xlarge|c7gn.12xlarge|c7gn.16xlarge|p5.48xlarge|m7i.large|m7i.xlarge|m7i.2xlarge|m7i.4xlarge|m7i.8xlarge|m7i.12xlarge|m7i.16xlarge|m7i.24xlarge|m7i.48xlarge|m7i-flex.large|m7i-flex.xlarge|m7i-flex.2xlarge|m7i-flex.4xlarge|m7i-flex.8xlarge|m7a.medium|m7a.large|m7a.xlarge|m7a.2xlarge|m7a.4xlarge|m7a.8xlarge|m7a.12xlarge|m7a.16xlarge|m7a.24xlarge|m7a.32xlarge|m7a.48xlarge|m7a.metal-48xl|hpc7a.12xlarge|hpc7a.24xlarge|hpc7a.48xlarge|hpc7a.96xlarge|c7gd.medium|c7gd.large|c7gd.xlarge|c7gd.2xlarge|c7gd.4xlarge|c7gd.8xlarge|c7gd.12xlarge|c7gd.16xlarge|m7gd.medium|m7gd.large|m7gd.xlarge|m7gd.2xlarge|m7gd.4xlarge|m7gd.8xlarge|m7gd.12xlarge|m7gd.16xlarge|r7gd.medium|r7gd.large|r7gd.xlarge|r7gd.2xlarge|r7gd.4xlarge|r7gd.8xlarge|r7gd.12xlarge|r7gd.16xlarge|r7a.medium|r7a.large|r7a.xlarge|r7a.2xlarge|r7a.4xlarge|r7a.8xlarge|r7a.12xlarge|r7a.16xlarge|r7a.24xlarge|r7a.32xlarge|r7a.48xlarge|c7i.large|c7i.xlarge|c7i.2xlarge|c7i.4xlarge|c7i.8xlarge|c7i.12xlarge|c7i.16xlarge|c7i.24xlarge|c7i.48xlarge|mac2-m2pro.metal|r7iz.large|r7iz.xlarge|r7iz.2xlarge|r7iz.4xlarge|r7iz.8xlarge|r7iz.12xlarge|r7iz.16xlarge|r7iz.32xlarge|c7a.medium|c7a.large|c7a.xlarge|c7a.2xlarge|c7a.4xlarge|c7a.8xlarge|c7a.12xlarge|c7a.16xlarge|c7a.24xlarge|c7a.32xlarge|c7a.48xlarge|c7a.metal-48xl|r7a.metal-48xl|r7i.large|r7i.xlarge|r7i.2xlarge|r7i.4xlarge|r7i.8xlarge|r7i.12xlarge|r7i.16xlarge|r7i.24xlarge|r7i.48xlarge|dl2q.24xlarge|mac2-m2.metal|i4i.12xlarge|i4i.24xlarge|c7i.metal-24xl|c7i.metal-48xl|m7i.metal-24xl|m7i.metal-48xl|r7i.metal-24xl|r7i.metal-48xl|r7iz.metal-16xl|r7iz.metal-32xl|c7gd.metal|m7gd.metal|r7gd.metal|g6.xlarge|g6.2xlarge|g6.4xlarge|g6.8xlarge|g6.12xlarge|g6.16xlarge|g6.24xlarge|g6.48xlarge|gr6.4xlarge|gr6.8xlarge|c7i-flex.large|c7i-flex.xlarge|c7i-flex.2xlarge|c7i-flex.4xlarge|c7i-flex.8xlarge|u7i-12tb.224xlarge|u7in-16tb.224xlarge|u7in-24tb.224xlarge|u7in-32tb.224xlarge|u7ib-12tb.224xlarge|c7gn.metal|r8g.medium|r8g.large|r8g.xlarge|r8g.2xlarge|r8g.4xlarge|r8g.8xlarge|r8g.12xlarge|r8g.16xlarge|r8g.24xlarge|r8g.48xlarge|r8g.metal-24xl|r8g.metal-48xl|mac2-m1ultra.metal|g6e.xlarge|g6e.2xlarge|g6e.4xlarge|g6e.8xlarge|g6e.12xlarge|g6e.16xlarge|g6e.24xlarge|g6e.48xlarge|c8g.medium|c8g.large|c8g.xlarge|c8g.2xlarge|c8g.4xlarge|c8g.8xlarge|c8g.12xlarge|c8g.16xlarge|c8g.24xlarge|c8g.48xlarge|c8g.metal-24xl|c8g.metal-48xl|m8g.medium|m8g.large|m8g.xlarge|m8g.2xlarge|m8g.4xlarge|m8g.8xlarge|m8g.12xlarge|m8g.16xlarge|m8g.24xlarge|m8g.48xlarge|m8g.metal-24xl|m8g.metal-48xl|x8g.medium|x8g.large|x8g.xlarge|x8g.2xlarge|x8g.4xlarge|x8g.8xlarge|x8g.12xlarge|x8g.16xlarge|x8g.24xlarge|x8g.48xlarge|x8g.metal-24xl|x8g.metal-48xl',
        'KernelId' => '<string>',
        'KeyName' => '<string>',
        'LicenseSpecifications' => [
            [
                'LicenseConfigurationArn' => '<string>',
            ],
            // ...
        ],
        'MaintenanceOptions' => [
            'AutoRecovery' => 'default|disabled',
        ],
        'MetadataOptions' => [
            'HttpEndpoint' => 'disabled|enabled',
            'HttpProtocolIpv6' => 'disabled|enabled',
            'HttpPutResponseHopLimit' => <integer>,
            'HttpTokens' => 'optional|required',
            'InstanceMetadataTags' => 'disabled|enabled',
        ],
        'Monitoring' => [
            'Enabled' => true || false,
        ],
        'NetworkInterfaces' => [
            [
                'AssociateCarrierIpAddress' => true || false,
                'AssociatePublicIpAddress' => true || false,
                'ConnectionTrackingSpecification' => [
                    'TcpEstablishedTimeout' => <integer>,
                    'UdpStreamTimeout' => <integer>,
                    'UdpTimeout' => <integer>,
                ],
                'DeleteOnTermination' => true || false,
                'Description' => '<string>',
                'DeviceIndex' => <integer>,
                'EnaSrdSpecification' => [
                    'EnaSrdEnabled' => true || false,
                    'EnaSrdUdpSpecification' => [
                        'EnaSrdUdpEnabled' => true || false,
                    ],
                ],
                'Groups' => ['<string>', ...],
                'InterfaceType' => '<string>',
                'Ipv4PrefixCount' => <integer>,
                'Ipv4Prefixes' => [
                    [
                        'Ipv4Prefix' => '<string>',
                    ],
                    // ...
                ],
                'Ipv6AddressCount' => <integer>,
                'Ipv6Addresses' => [
                    [
                        'Ipv6Address' => '<string>',
                    ],
                    // ...
                ],
                'Ipv6PrefixCount' => <integer>,
                'Ipv6Prefixes' => [
                    [
                        'Ipv6Prefix' => '<string>',
                    ],
                    // ...
                ],
                'NetworkCardIndex' => <integer>,
                'NetworkInterfaceId' => '<string>',
                'PrimaryIpv6' => true || false,
                'PrivateIpAddress' => '<string>',
                'PrivateIpAddresses' => [
                    [
                        'Primary' => true || false,
                        'PrivateIpAddress' => '<string>',
                    ],
                    // ...
                ],
                'SecondaryPrivateIpAddressCount' => <integer>,
                'SubnetId' => '<string>',
            ],
            // ...
        ],
        'Operator' => [
            'Principal' => '<string>',
        ],
        'Placement' => [
            'Affinity' => '<string>',
            'AvailabilityZone' => '<string>',
            'GroupId' => '<string>',
            'GroupName' => '<string>',
            'HostId' => '<string>',
            'HostResourceGroupArn' => '<string>',
            'PartitionNumber' => <integer>,
            'SpreadDomain' => '<string>',
            'Tenancy' => 'default|dedicated|host',
        ],
        'PrivateDnsNameOptions' => [
            'EnableResourceNameDnsAAAARecord' => true || false,
            'EnableResourceNameDnsARecord' => true || false,
            'HostnameType' => 'ip-name|resource-name',
        ],
        'RamDiskId' => '<string>',
        'SecurityGroupIds' => ['<string>', ...],
        'SecurityGroups' => ['<string>', ...],
        'TagSpecifications' => [
            [
                'ResourceType' => 'capacity-reservation|client-vpn-endpoint|customer-gateway|carrier-gateway|coip-pool|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|instance-event-window|internet-gateway|ipam|ipam-pool|ipam-scope|ipv4pool-ec2|ipv6pool-ec2|key-pair|launch-template|local-gateway|local-gateway-route-table|local-gateway-virtual-interface|local-gateway-virtual-interface-group|local-gateway-route-table-vpc-association|local-gateway-route-table-virtual-interface-group-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|network-insights-access-scope|network-insights-access-scope-analysis|placement-group|prefix-list|replace-root-volume-task|reserved-instances|route-table|security-group|security-group-rule|snapshot|spot-fleet-request|spot-instances-request|subnet|subnet-cidr-reservation|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-policy-table|transit-gateway-route-table|transit-gateway-route-table-announcement|volume|vpc|vpc-endpoint|vpc-endpoint-connection|vpc-endpoint-service|vpc-endpoint-service-permission|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log|capacity-reservation-fleet|traffic-mirror-filter-rule|vpc-endpoint-connection-device-type|verified-access-instance|verified-access-group|verified-access-endpoint|verified-access-policy|verified-access-trust-provider|vpn-connection-device-type|vpc-block-public-access-exclusion|ipam-resource-discovery|ipam-resource-discovery-association|instance-connect-endpoint|ipam-external-resource-verification-token',
                'Tags' => [
                    [
                        'Key' => '<string>',
                        'Value' => '<string>',
                    ],
                    // ...
                ],
            ],
            // ...
        ],
        'UserData' => '<string>',
    ],
    'LaunchTemplateName' => '<string>', // REQUIRED
    'Operator' => [
        'Principal' => '<string>',
    ],
    'TagSpecifications' => [
        [
            'ResourceType' => 'capacity-reservation|client-vpn-endpoint|customer-gateway|carrier-gateway|coip-pool|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|instance-event-window|internet-gateway|ipam|ipam-pool|ipam-scope|ipv4pool-ec2|ipv6pool-ec2|key-pair|launch-template|local-gateway|local-gateway-route-table|local-gateway-virtual-interface|local-gateway-virtual-interface-group|local-gateway-route-table-vpc-association|local-gateway-route-table-virtual-interface-group-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|network-insights-access-scope|network-insights-access-scope-analysis|placement-group|prefix-list|replace-root-volume-task|reserved-instances|route-table|security-group|security-group-rule|snapshot|spot-fleet-request|spot-instances-request|subnet|subnet-cidr-reservation|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-policy-table|transit-gateway-route-table|transit-gateway-route-table-announcement|volume|vpc|vpc-endpoint|vpc-endpoint-connection|vpc-endpoint-service|vpc-endpoint-service-permission|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log|capacity-reservation-fleet|traffic-mirror-filter-rule|vpc-endpoint-connection-device-type|verified-access-instance|verified-access-group|verified-access-endpoint|verified-access-policy|verified-access-trust-provider|vpn-connection-device-type|vpc-block-public-access-exclusion|ipam-resource-discovery|ipam-resource-discovery-association|instance-connect-endpoint|ipam-external-resource-verification-token',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'VersionDescription' => '<string>',
]);

Parameter Details

Members
ClientToken
Type: string

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

Constraint: Maximum 128 ASCII characters.

DryRun
Type: boolean

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.

LaunchTemplateData
Required: Yes
Type: RequestLaunchTemplateData structure

The information for the launch template.

LaunchTemplateName
Required: Yes
Type: string

A name for the launch template.

Operator
Type: OperatorRequest structure

Reserved for internal use.

TagSpecifications
Type: Array of TagSpecification structures

The tags to apply to the launch template on creation. To tag the launch template, the resource type must be launch-template.

To specify the tags for the resources that are created when an instance is launched, you must use the TagSpecifications parameter in the launch template data structure.

VersionDescription
Type: string

A description for the first version of the launch template.

Result Syntax

[
    'LaunchTemplate' => [
        'CreateTime' => <DateTime>,
        'CreatedBy' => '<string>',
        'DefaultVersionNumber' => <integer>,
        'LatestVersionNumber' => <integer>,
        'LaunchTemplateId' => '<string>',
        'LaunchTemplateName' => '<string>',
        'Operator' => [
            'Managed' => true || false,
            'Principal' => '<string>',
        ],
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
    ],
    'Warning' => [
        'Errors' => [
            [
                'Code' => '<string>',
                'Message' => '<string>',
            ],
            // ...
        ],
    ],
]

Result Details

Members
LaunchTemplate
Type: LaunchTemplate structure

Information about the launch template.

Warning
Type: ValidationWarning structure

If the launch template contains parameters or parameter combinations that are not valid, an error code and an error message are returned for each issue that's found.

Errors

There are no errors described for this operation.

Examples

Example 1: To create a launch template

This example creates a launch template that specifies the subnet in which to launch the instance, assigns a public IP address and an IPv6 address to the instance, and creates a tag for the instance.

$result = $client->createLaunchTemplate([
    'LaunchTemplateData' => [
        'ImageId' => 'ami-8c1be5f6',
        'InstanceType' => 't2.small',
        'NetworkInterfaces' => [
            [
                'AssociatePublicIpAddress' => 1,
                'DeviceIndex' => 0,
                'Ipv6AddressCount' => 1,
                'SubnetId' => 'subnet-7b16de0c',
            ],
        ],
        'TagSpecifications' => [
            [
                'ResourceType' => 'instance',
                'Tags' => [
                    [
                        'Key' => 'Name',
                        'Value' => 'webserver',
                    ],
                ],
            ],
        ],
    ],
    'LaunchTemplateName' => 'my-template',
    'VersionDescription' => 'WebVersion1',
]);

Result syntax:

[
    'LaunchTemplate' => [
        'CreateTime' => ,
        'CreatedBy' => 'arn:aws:iam::123456789012:root',
        'DefaultVersionNumber' => 1,
        'LatestVersionNumber' => 1,
        'LaunchTemplateId' => 'lt-01238c059e3466abc',
        'LaunchTemplateName' => 'my-template',
    ],
]

CreateLaunchTemplateVersion

$result = $client->createLaunchTemplateVersion([/* ... */]);
$promise = $client->createLaunchTemplateVersionAsync([/* ... */]);

Creates a new version of a launch template. You must specify an existing launch template, either by name or ID. You can determine whether the new version inherits parameters from a source version, and add or overwrite parameters as needed.

Launch template versions are numbered in the order in which they are created. You can't specify, change, or replace the numbering of launch template versions.

Launch templates are immutable; after you create a launch template, you can't modify it. Instead, you can create a new version of the launch template that includes the changes that you require.

For more information, see Modify a launch template (manage launch template versions) in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->createLaunchTemplateVersion([
    'ClientToken' => '<string>',
    'DryRun' => true || false,
    'LaunchTemplateData' => [ // REQUIRED
        'BlockDeviceMappings' => [
            [
                'DeviceName' => '<string>',
                'Ebs' => [
                    'DeleteOnTermination' => true || false,
                    'Encrypted' => true || false,
                    'Iops' => <integer>,
                    'KmsKeyId' => '<string>',
                    'SnapshotId' => '<string>',
                    'Throughput' => <integer>,
                    'VolumeSize' => <integer>,
                    'VolumeType' => 'standard|io1|io2|gp2|sc1|st1|gp3',
                ],
                'NoDevice' => '<string>',
                'VirtualName' => '<string>',
            ],
            // ...
        ],
        'CapacityReservationSpecification' => [
            'CapacityReservationPreference' => 'capacity-reservations-only|open|none',
            'CapacityReservationTarget' => [
                'CapacityReservationId' => '<string>',
                'CapacityReservationResourceGroupArn' => '<string>',
            ],
        ],
        'CpuOptions' => [
            'AmdSevSnp' => 'enabled|disabled',
            'CoreCount' => <integer>,
            'ThreadsPerCore' => <integer>,
        ],
        'CreditSpecification' => [
            'CpuCredits' => '<string>', // REQUIRED
        ],
        'DisableApiStop' => true || false,
        'DisableApiTermination' => true || false,
        'EbsOptimized' => true || false,
        'ElasticGpuSpecifications' => [
            [
                'Type' => '<string>', // REQUIRED
            ],
            // ...
        ],
        'ElasticInferenceAccelerators' => [
            [
                'Count' => <integer>,
                'Type' => '<string>', // REQUIRED
            ],
            // ...
        ],
        'EnclaveOptions' => [
            'Enabled' => true || false,
        ],
        'HibernationOptions' => [
            'Configured' => true || false,
        ],
        'IamInstanceProfile' => [
            'Arn' => '<string>',
            'Name' => '<string>',
        ],
        'ImageId' => '<string>',
        'InstanceInitiatedShutdownBehavior' => 'stop|terminate',
        'InstanceMarketOptions' => [
            'MarketType' => 'spot|capacity-block',
            'SpotOptions' => [
                'BlockDurationMinutes' => <integer>,
                'InstanceInterruptionBehavior' => 'hibernate|stop|terminate',
                'MaxPrice' => '<string>',
                'SpotInstanceType' => 'one-time|persistent',
                'ValidUntil' => <integer || string || DateTime>,
            ],
        ],
        'InstanceRequirements' => [
            'AcceleratorCount' => [
                'Max' => <integer>,
                'Min' => <integer>,
            ],
            'AcceleratorManufacturers' => ['<string>', ...],
            'AcceleratorNames' => ['<string>', ...],
            'AcceleratorTotalMemoryMiB' => [
                'Max' => <integer>,
                'Min' => <integer>,
            ],
            'AcceleratorTypes' => ['<string>', ...],
            'AllowedInstanceTypes' => ['<string>', ...],
            'BareMetal' => 'included|required|excluded',
            'BaselineEbsBandwidthMbps' => [
                'Max' => <integer>,
                'Min' => <integer>,
            ],
            'BaselinePerformanceFactors' => [
                'Cpu' => [
                    'References' => [
                        [
                            'InstanceFamily' => '<string>',
                        ],
                        // ...
                    ],
                ],
            ],
            'BurstablePerformance' => 'included|required|excluded',
            'CpuManufacturers' => ['<string>', ...],
            'ExcludedInstanceTypes' => ['<string>', ...],
            'InstanceGenerations' => ['<string>', ...],
            'LocalStorage' => 'included|required|excluded',
            'LocalStorageTypes' => ['<string>', ...],
            'MaxSpotPriceAsPercentageOfOptimalOnDemandPrice' => <integer>,
            'MemoryGiBPerVCpu' => [
                'Max' => <float>,
                'Min' => <float>,
            ],
            'MemoryMiB' => [ // REQUIRED
                'Max' => <integer>,
                'Min' => <integer>, // REQUIRED
            ],
            'NetworkBandwidthGbps' => [
                'Max' => <float>,
                'Min' => <float>,
            ],
            'NetworkInterfaceCount' => [
                'Max' => <integer>,
                'Min' => <integer>,
            ],
            'OnDemandMaxPricePercentageOverLowestPrice' => <integer>,
            'RequireHibernateSupport' => true || false,
            'SpotMaxPricePercentageOverLowestPrice' => <integer>,
            'TotalLocalStorageGB' => [
                'Max' => <float>,
                'Min' => <float>,
            ],
            'VCpuCount' => [ // REQUIRED
                'Max' => <integer>,
                'Min' => <integer>, // REQUIRED
            ],
        ],
        'InstanceType' => 'a1.medium|a1.large|a1.xlarge|a1.2xlarge|a1.4xlarge|a1.metal|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|c5a.large|c5a.xlarge|c5a.2xlarge|c5a.4xlarge|c5a.8xlarge|c5a.12xlarge|c5a.16xlarge|c5a.24xlarge|c5ad.large|c5ad.xlarge|c5ad.2xlarge|c5ad.4xlarge|c5ad.8xlarge|c5ad.12xlarge|c5ad.16xlarge|c5ad.24xlarge|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|c5n.metal|c6g.medium|c6g.large|c6g.xlarge|c6g.2xlarge|c6g.4xlarge|c6g.8xlarge|c6g.12xlarge|c6g.16xlarge|c6g.metal|c6gd.medium|c6gd.large|c6gd.xlarge|c6gd.2xlarge|c6gd.4xlarge|c6gd.8xlarge|c6gd.12xlarge|c6gd.16xlarge|c6gd.metal|c6gn.medium|c6gn.large|c6gn.xlarge|c6gn.2xlarge|c6gn.4xlarge|c6gn.8xlarge|c6gn.12xlarge|c6gn.16xlarge|c6i.large|c6i.xlarge|c6i.2xlarge|c6i.4xlarge|c6i.8xlarge|c6i.12xlarge|c6i.16xlarge|c6i.24xlarge|c6i.32xlarge|c6i.metal|cc1.4xlarge|cc2.8xlarge|cg1.4xlarge|cr1.8xlarge|d2.xlarge|d2.2xlarge|d2.4xlarge|d2.8xlarge|d3.xlarge|d3.2xlarge|d3.4xlarge|d3.8xlarge|d3en.xlarge|d3en.2xlarge|d3en.4xlarge|d3en.6xlarge|d3en.8xlarge|d3en.12xlarge|dl1.24xlarge|f1.2xlarge|f1.4xlarge|f1.16xlarge|g2.2xlarge|g2.8xlarge|g3.4xlarge|g3.8xlarge|g3.16xlarge|g3s.xlarge|g4ad.xlarge|g4ad.2xlarge|g4ad.4xlarge|g4ad.8xlarge|g4ad.16xlarge|g4dn.xlarge|g4dn.2xlarge|g4dn.4xlarge|g4dn.8xlarge|g4dn.12xlarge|g4dn.16xlarge|g4dn.metal|g5.xlarge|g5.2xlarge|g5.4xlarge|g5.8xlarge|g5.12xlarge|g5.16xlarge|g5.24xlarge|g5.48xlarge|g5g.xlarge|g5g.2xlarge|g5g.4xlarge|g5g.8xlarge|g5g.16xlarge|g5g.metal|hi1.4xlarge|hpc6a.48xlarge|hs1.8xlarge|h1.2xlarge|h1.4xlarge|h1.8xlarge|h1.16xlarge|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|im4gn.large|im4gn.xlarge|im4gn.2xlarge|im4gn.4xlarge|im4gn.8xlarge|im4gn.16xlarge|inf1.xlarge|inf1.2xlarge|inf1.6xlarge|inf1.24xlarge|is4gen.medium|is4gen.large|is4gen.xlarge|is4gen.2xlarge|is4gen.4xlarge|is4gen.8xlarge|m1.small|m1.medium|m1.large|m1.xlarge|m2.xlarge|m2.2xlarge|m2.4xlarge|m3.medium|m3.large|m3.xlarge|m3.2xlarge|m4.large|m4.xlarge|m4.2xlarge|m4.4xlarge|m4.10xlarge|m4.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|m5ad.large|m5ad.xlarge|m5ad.2xlarge|m5ad.4xlarge|m5ad.8xlarge|m5ad.12xlarge|m5ad.16xlarge|m5ad.24xlarge|m5d.large|m5d.xlarge|m5d.2xlarge|m5d.4xlarge|m5d.8xlarge|m5d.12xlarge|m5d.16xlarge|m5d.24xlarge|m5d.metal|m5dn.large|m5dn.xlarge|m5dn.2xlarge|m5dn.4xlarge|m5dn.8xlarge|m5dn.12xlarge|m5dn.16xlarge|m5dn.24xlarge|m5dn.metal|m5n.large|m5n.xlarge|m5n.2xlarge|m5n.4xlarge|m5n.8xlarge|m5n.12xlarge|m5n.16xlarge|m5n.24xlarge|m5n.metal|m5zn.large|m5zn.xlarge|m5zn.2xlarge|m5zn.3xlarge|m5zn.6xlarge|m5zn.12xlarge|m5zn.metal|m6a.large|m6a.xlarge|m6a.2xlarge|m6a.4xlarge|m6a.8xlarge|m6a.12xlarge|m6a.16xlarge|m6a.24xlarge|m6a.32xlarge|m6a.48xlarge|m6g.metal|m6g.medium|m6g.large|m6g.xlarge|m6g.2xlarge|m6g.4xlarge|m6g.8xlarge|m6g.12xlarge|m6g.16xlarge|m6gd.metal|m6gd.medium|m6gd.large|m6gd.xlarge|m6gd.2xlarge|m6gd.4xlarge|m6gd.8xlarge|m6gd.12xlarge|m6gd.16xlarge|m6i.large|m6i.xlarge|m6i.2xlarge|m6i.4xlarge|m6i.8xlarge|m6i.12xlarge|m6i.16xlarge|m6i.24xlarge|m6i.32xlarge|m6i.metal|mac1.metal|p2.xlarge|p2.8xlarge|p2.16xlarge|p3.2xlarge|p3.8xlarge|p3.16xlarge|p3dn.24xlarge|p4d.24xlarge|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|r5ad.large|r5ad.xlarge|r5ad.2xlarge|r5ad.4xlarge|r5ad.8xlarge|r5ad.12xlarge|r5ad.16xlarge|r5ad.24xlarge|r5b.large|r5b.xlarge|r5b.2xlarge|r5b.4xlarge|r5b.8xlarge|r5b.12xlarge|r5b.16xlarge|r5b.24xlarge|r5b.metal|r5d.large|r5d.xlarge|r5d.2xlarge|r5d.4xlarge|r5d.8xlarge|r5d.12xlarge|r5d.16xlarge|r5d.24xlarge|r5d.metal|r5dn.large|r5dn.xlarge|r5dn.2xlarge|r5dn.4xlarge|r5dn.8xlarge|r5dn.12xlarge|r5dn.16xlarge|r5dn.24xlarge|r5dn.metal|r5n.large|r5n.xlarge|r5n.2xlarge|r5n.4xlarge|r5n.8xlarge|r5n.12xlarge|r5n.16xlarge|r5n.24xlarge|r5n.metal|r6g.medium|r6g.large|r6g.xlarge|r6g.2xlarge|r6g.4xlarge|r6g.8xlarge|r6g.12xlarge|r6g.16xlarge|r6g.metal|r6gd.medium|r6gd.large|r6gd.xlarge|r6gd.2xlarge|r6gd.4xlarge|r6gd.8xlarge|r6gd.12xlarge|r6gd.16xlarge|r6gd.metal|r6i.large|r6i.xlarge|r6i.2xlarge|r6i.4xlarge|r6i.8xlarge|r6i.12xlarge|r6i.16xlarge|r6i.24xlarge|r6i.32xlarge|r6i.metal|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|t4g.nano|t4g.micro|t4g.small|t4g.medium|t4g.large|t4g.xlarge|t4g.2xlarge|u-6tb1.56xlarge|u-6tb1.112xlarge|u-9tb1.112xlarge|u-12tb1.112xlarge|u-6tb1.metal|u-9tb1.metal|u-12tb1.metal|u-18tb1.metal|u-24tb1.metal|vt1.3xlarge|vt1.6xlarge|vt1.24xlarge|x1.16xlarge|x1.32xlarge|x1e.xlarge|x1e.2xlarge|x1e.4xlarge|x1e.8xlarge|x1e.16xlarge|x1e.32xlarge|x2iezn.2xlarge|x2iezn.4xlarge|x2iezn.6xlarge|x2iezn.8xlarge|x2iezn.12xlarge|x2iezn.metal|x2gd.medium|x2gd.large|x2gd.xlarge|x2gd.2xlarge|x2gd.4xlarge|x2gd.8xlarge|x2gd.12xlarge|x2gd.16xlarge|x2gd.metal|z1d.large|z1d.xlarge|z1d.2xlarge|z1d.3xlarge|z1d.6xlarge|z1d.12xlarge|z1d.metal|x2idn.16xlarge|x2idn.24xlarge|x2idn.32xlarge|x2iedn.xlarge|x2iedn.2xlarge|x2iedn.4xlarge|x2iedn.8xlarge|x2iedn.16xlarge|x2iedn.24xlarge|x2iedn.32xlarge|c6a.large|c6a.xlarge|c6a.2xlarge|c6a.4xlarge|c6a.8xlarge|c6a.12xlarge|c6a.16xlarge|c6a.24xlarge|c6a.32xlarge|c6a.48xlarge|c6a.metal|m6a.metal|i4i.large|i4i.xlarge|i4i.2xlarge|i4i.4xlarge|i4i.8xlarge|i4i.16xlarge|i4i.32xlarge|i4i.metal|x2idn.metal|x2iedn.metal|c7g.medium|c7g.large|c7g.xlarge|c7g.2xlarge|c7g.4xlarge|c7g.8xlarge|c7g.12xlarge|c7g.16xlarge|mac2.metal|c6id.large|c6id.xlarge|c6id.2xlarge|c6id.4xlarge|c6id.8xlarge|c6id.12xlarge|c6id.16xlarge|c6id.24xlarge|c6id.32xlarge|c6id.metal|m6id.large|m6id.xlarge|m6id.2xlarge|m6id.4xlarge|m6id.8xlarge|m6id.12xlarge|m6id.16xlarge|m6id.24xlarge|m6id.32xlarge|m6id.metal|r6id.large|r6id.xlarge|r6id.2xlarge|r6id.4xlarge|r6id.8xlarge|r6id.12xlarge|r6id.16xlarge|r6id.24xlarge|r6id.32xlarge|r6id.metal|r6a.large|r6a.xlarge|r6a.2xlarge|r6a.4xlarge|r6a.8xlarge|r6a.12xlarge|r6a.16xlarge|r6a.24xlarge|r6a.32xlarge|r6a.48xlarge|r6a.metal|p4de.24xlarge|u-3tb1.56xlarge|u-18tb1.112xlarge|u-24tb1.112xlarge|trn1.2xlarge|trn1.32xlarge|hpc6id.32xlarge|c6in.large|c6in.xlarge|c6in.2xlarge|c6in.4xlarge|c6in.8xlarge|c6in.12xlarge|c6in.16xlarge|c6in.24xlarge|c6in.32xlarge|m6in.large|m6in.xlarge|m6in.2xlarge|m6in.4xlarge|m6in.8xlarge|m6in.12xlarge|m6in.16xlarge|m6in.24xlarge|m6in.32xlarge|m6idn.large|m6idn.xlarge|m6idn.2xlarge|m6idn.4xlarge|m6idn.8xlarge|m6idn.12xlarge|m6idn.16xlarge|m6idn.24xlarge|m6idn.32xlarge|r6in.large|r6in.xlarge|r6in.2xlarge|r6in.4xlarge|r6in.8xlarge|r6in.12xlarge|r6in.16xlarge|r6in.24xlarge|r6in.32xlarge|r6idn.large|r6idn.xlarge|r6idn.2xlarge|r6idn.4xlarge|r6idn.8xlarge|r6idn.12xlarge|r6idn.16xlarge|r6idn.24xlarge|r6idn.32xlarge|c7g.metal|m7g.medium|m7g.large|m7g.xlarge|m7g.2xlarge|m7g.4xlarge|m7g.8xlarge|m7g.12xlarge|m7g.16xlarge|m7g.metal|r7g.medium|r7g.large|r7g.xlarge|r7g.2xlarge|r7g.4xlarge|r7g.8xlarge|r7g.12xlarge|r7g.16xlarge|r7g.metal|c6in.metal|m6in.metal|m6idn.metal|r6in.metal|r6idn.metal|inf2.xlarge|inf2.8xlarge|inf2.24xlarge|inf2.48xlarge|trn1n.32xlarge|i4g.large|i4g.xlarge|i4g.2xlarge|i4g.4xlarge|i4g.8xlarge|i4g.16xlarge|hpc7g.4xlarge|hpc7g.8xlarge|hpc7g.16xlarge|c7gn.medium|c7gn.large|c7gn.xlarge|c7gn.2xlarge|c7gn.4xlarge|c7gn.8xlarge|c7gn.12xlarge|c7gn.16xlarge|p5.48xlarge|m7i.large|m7i.xlarge|m7i.2xlarge|m7i.4xlarge|m7i.8xlarge|m7i.12xlarge|m7i.16xlarge|m7i.24xlarge|m7i.48xlarge|m7i-flex.large|m7i-flex.xlarge|m7i-flex.2xlarge|m7i-flex.4xlarge|m7i-flex.8xlarge|m7a.medium|m7a.large|m7a.xlarge|m7a.2xlarge|m7a.4xlarge|m7a.8xlarge|m7a.12xlarge|m7a.16xlarge|m7a.24xlarge|m7a.32xlarge|m7a.48xlarge|m7a.metal-48xl|hpc7a.12xlarge|hpc7a.24xlarge|hpc7a.48xlarge|hpc7a.96xlarge|c7gd.medium|c7gd.large|c7gd.xlarge|c7gd.2xlarge|c7gd.4xlarge|c7gd.8xlarge|c7gd.12xlarge|c7gd.16xlarge|m7gd.medium|m7gd.large|m7gd.xlarge|m7gd.2xlarge|m7gd.4xlarge|m7gd.8xlarge|m7gd.12xlarge|m7gd.16xlarge|r7gd.medium|r7gd.large|r7gd.xlarge|r7gd.2xlarge|r7gd.4xlarge|r7gd.8xlarge|r7gd.12xlarge|r7gd.16xlarge|r7a.medium|r7a.large|r7a.xlarge|r7a.2xlarge|r7a.4xlarge|r7a.8xlarge|r7a.12xlarge|r7a.16xlarge|r7a.24xlarge|r7a.32xlarge|r7a.48xlarge|c7i.large|c7i.xlarge|c7i.2xlarge|c7i.4xlarge|c7i.8xlarge|c7i.12xlarge|c7i.16xlarge|c7i.24xlarge|c7i.48xlarge|mac2-m2pro.metal|r7iz.large|r7iz.xlarge|r7iz.2xlarge|r7iz.4xlarge|r7iz.8xlarge|r7iz.12xlarge|r7iz.16xlarge|r7iz.32xlarge|c7a.medium|c7a.large|c7a.xlarge|c7a.2xlarge|c7a.4xlarge|c7a.8xlarge|c7a.12xlarge|c7a.16xlarge|c7a.24xlarge|c7a.32xlarge|c7a.48xlarge|c7a.metal-48xl|r7a.metal-48xl|r7i.large|r7i.xlarge|r7i.2xlarge|r7i.4xlarge|r7i.8xlarge|r7i.12xlarge|r7i.16xlarge|r7i.24xlarge|r7i.48xlarge|dl2q.24xlarge|mac2-m2.metal|i4i.12xlarge|i4i.24xlarge|c7i.metal-24xl|c7i.metal-48xl|m7i.metal-24xl|m7i.metal-48xl|r7i.metal-24xl|r7i.metal-48xl|r7iz.metal-16xl|r7iz.metal-32xl|c7gd.metal|m7gd.metal|r7gd.metal|g6.xlarge|g6.2xlarge|g6.4xlarge|g6.8xlarge|g6.12xlarge|g6.16xlarge|g6.24xlarge|g6.48xlarge|gr6.4xlarge|gr6.8xlarge|c7i-flex.large|c7i-flex.xlarge|c7i-flex.2xlarge|c7i-flex.4xlarge|c7i-flex.8xlarge|u7i-12tb.224xlarge|u7in-16tb.224xlarge|u7in-24tb.224xlarge|u7in-32tb.224xlarge|u7ib-12tb.224xlarge|c7gn.metal|r8g.medium|r8g.large|r8g.xlarge|r8g.2xlarge|r8g.4xlarge|r8g.8xlarge|r8g.12xlarge|r8g.16xlarge|r8g.24xlarge|r8g.48xlarge|r8g.metal-24xl|r8g.metal-48xl|mac2-m1ultra.metal|g6e.xlarge|g6e.2xlarge|g6e.4xlarge|g6e.8xlarge|g6e.12xlarge|g6e.16xlarge|g6e.24xlarge|g6e.48xlarge|c8g.medium|c8g.large|c8g.xlarge|c8g.2xlarge|c8g.4xlarge|c8g.8xlarge|c8g.12xlarge|c8g.16xlarge|c8g.24xlarge|c8g.48xlarge|c8g.metal-24xl|c8g.metal-48xl|m8g.medium|m8g.large|m8g.xlarge|m8g.2xlarge|m8g.4xlarge|m8g.8xlarge|m8g.12xlarge|m8g.16xlarge|m8g.24xlarge|m8g.48xlarge|m8g.metal-24xl|m8g.metal-48xl|x8g.medium|x8g.large|x8g.xlarge|x8g.2xlarge|x8g.4xlarge|x8g.8xlarge|x8g.12xlarge|x8g.16xlarge|x8g.24xlarge|x8g.48xlarge|x8g.metal-24xl|x8g.metal-48xl',
        'KernelId' => '<string>',
        'KeyName' => '<string>',
        'LicenseSpecifications' => [
            [
                'LicenseConfigurationArn' => '<string>',
            ],
            // ...
        ],
        'MaintenanceOptions' => [
            'AutoRecovery' => 'default|disabled',
        ],
        'MetadataOptions' => [
            'HttpEndpoint' => 'disabled|enabled',
            'HttpProtocolIpv6' => 'disabled|enabled',
            'HttpPutResponseHopLimit' => <integer>,
            'HttpTokens' => 'optional|required',