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.
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.
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.
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.
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.
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 your 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.
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
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.

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([
    '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
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. This gives you the flexibility to selectively add capacity reservations and still get the Regional RI discounts for that usage. By creating Capacity Reservations, you ensure that you always have access to Amazon EC2 capacity when you need it, for as long as you need it. For more information, see 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 to fulfill the request. If your request fails due to Amazon EC2 capacity constraints, either try again at a later time, try in a different Availability Zone, or request a smaller capacity reservation. If your application is flexible across instance types and sizes, try to create a Capacity Reservation with different instance attributes.

Your request could also fail if the requested quantity exceeds your On-Demand Instance limit for the selected instance type. If your request fails due to limit constraints, increase your On-Demand Instance limit for the required instance type and try again. For more information about increasing your instance limits, see Amazon EC2 Service Quotas in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->createCapacityReservation([
    'AvailabilityZone' => '<string>',
    'AvailabilityZoneId' => '<string>',
    'ClientToken' => '<string>',
    '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>',
    '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.

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.

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.

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.

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. For more information, see Instance types in the Amazon EC2 User Guide.

OutpostArn
Type: string

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

PlacementGroupArn
Type: string

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.

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>',
        'CreateDate' => <DateTime>,
        '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',
        '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>',
        'CreateDate' => <DateTime>,
        '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',
        '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>',
        'CreateDate' => <DateTime>,
        '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',
        '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>,
        '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' => [
        '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>,
                        ],
                        '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>,
                        ],
                        '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>,
                        ],
                        '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>',
            ],
            // ...
        ],
        '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' => '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>,
            ],
            '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>',
            ],
            // ...
        ],
        '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
    '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.

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>',
        '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' => '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>,
            ],
            '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>',
            ],
            // ...
        ],
        '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>',
    ],
    'LaunchTemplateId' => '<string>',
    'LaunchTemplateName' => '<string>',
    'ResolveAlias' => true || false,
    'SourceVersion' => '<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.

LaunchTemplateId
Type: string

The ID of the launch template.

You must specify either the launch template ID or the launch template name, but not both.

LaunchTemplateName
Type: string

The name of the launch template.

You must specify either the launch template ID or the launch template name, but not both.

ResolveAlias
Type: boolean

If true, and if a Systems Manager parameter is specified for ImageId, the AMI ID is displayed in the response for imageID. For more information, see Use a Systems Manager parameter instead of an AMI ID in the Amazon EC2 User Guide.

Default: false

SourceVersion
Type: string

The version of the launch template on which to base the new version. Snapshots applied to the block device mapping are ignored when creating a new version unless they are explicitly included.

If you specify this parameter, the new version inherits the launch parameters from the source version. If you specify additional launch parameters for the new version, they overwrite any corresponding launch parameters inherited from the source version.

If you omit this parameter, the new version contains only the launch parameters that you specify for the new version.

VersionDescription
Type: string

A description for the version of the launch template.

Result Syntax

[
    'LaunchTemplateVersion' => [
        'CreateTime' => <DateTime>,
        'CreatedBy' => '<string>',
        'DefaultVersion' => true || false,
        'LaunchTemplateData' => [
            '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' => 'open|none',
                'CapacityReservationTarget' => [
                    'CapacityReservationId' => '<string>',
                    'CapacityReservationResourceGroupArn' => '<string>',
                ],
            ],
            'CpuOptions' => [
                'AmdSevSnp' => 'enabled|disabled',
                'CoreCount' => <integer>,
                'ThreadsPerCore' => <integer>,
            ],
            'CreditSpecification' => [
                'CpuCredits' => '<string>',
            ],
            'DisableApiStop' => true || false,
            'DisableApiTermination' => true || false,
            'EbsOptimized' => true || false,
            'ElasticGpuSpecifications' => [
                [
                    'Type' => '<string>',
                ],
                // ...
            ],
            'ElasticInferenceAccelerators' => [
                [
                    'Count' => <integer>,
                    'Type' => '<string>',
                ],
                // ...
            ],
            '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' => <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>,
                ],
                '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',
            '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',
                'State' => 'pending|applied',
            ],
            '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>',
                            'IsPrimaryIpv6' => true || false,
                        ],
                        // ...
                    ],
                    'Ipv6PrefixCount' => <integer>,
                    'Ipv6Prefixes' => [
                        [
                            'Ipv6Prefix' => '<string>',
                        ],
                        // ...
                    ],
                    'NetworkCardIndex' => <integer>,
                    'NetworkInterfaceId' => '<string>',
                    'PrimaryIpv6' => true || false,
                    'PrivateIpAddress' => '<string>',
                    'PrivateIpAddresses' => [
                        [
                            'Primary' => true || false,
                            'PrivateIpAddress' => '<string>',
                        ],
                        // ...
                    ],
                    'SecondaryPrivateIpAddressCount' => <integer>,
                    'SubnetId' => '<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>',
        ],
        'LaunchTemplateId' => '<string>',
        'LaunchTemplateName' => '<string>',
        'VersionDescription' => '<string>',
        'VersionNumber' => <integer>,
    ],
    'Warning' => [
        'Errors' => [
            [
                'Code' => '<string>',
                'Message' => '<string>',
            ],
            // ...
        ],
    ],
]

Result Details

Members
LaunchTemplateVersion
Type: LaunchTemplateVersion structure

Information about the launch template version.

Warning
Type: ValidationWarning structure

If the new version of 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 version

This example creates a new launch template version based on version 1 of the specified launch template and specifies a different AMI ID.

$result = $client->createLaunchTemplateVersion([
    'LaunchTemplateData' => [
        'ImageId' => 'ami-c998b6b2',
    ],
    'LaunchTemplateId' => 'lt-0abcd290751193123',
    'SourceVersion' => '1',
    'VersionDescription' => 'WebVersion2',
]);

Result syntax:

[
    'LaunchTemplateVersion' => [
        'CreateTime' => ,
        'CreatedBy' => 'arn:aws:iam::123456789012:root',
        'DefaultVersion' => ,
        'LaunchTemplateData' => [
            'ImageId' => 'ami-c998b6b2',
            'InstanceType' => 't2.micro',
            'NetworkInterfaces' => [
                [
                    'AssociatePublicIpAddress' => 1,
                    'DeviceIndex' => 0,
                    'Ipv6Addresses' => [
                        [
                            'Ipv6Address' => '2001:db8:1234:1a00::123',
                        ],
                    ],
                    'SubnetId' => 'subnet-7b16de0c',
                ],
            ],
        ],
        'LaunchTemplateId' => 'lt-0abcd290751193123',
        'LaunchTemplateName' => 'my-template',
        'VersionDescription' => 'WebVersion2',
        'VersionNumber' => 2,
    ],
]

CreateLocalGatewayRoute

$result = $client->createLocalGatewayRoute([/* ... */]);
$promise = $client->createLocalGatewayRouteAsync([/* ... */]);

Creates a static route for the specified local gateway route table. You must specify one of the following targets:

  • LocalGatewayVirtualInterfaceGroupId

  • NetworkInterfaceId

Parameter Syntax

$result = $client->createLocalGatewayRoute([
    'DestinationCidrBlock' => '<string>',
    'DestinationPrefixListId' => '<string>',
    'DryRun' => true || false,
    'LocalGatewayRouteTableId' => '<string>', // REQUIRED
    'LocalGatewayVirtualInterfaceGroupId' => '<string>',
    'NetworkInterfaceId' => '<string>',
]);

Parameter Details

Members
DestinationCidrBlock
Type: string

The CIDR range used for destination matches. Routing decisions are based on the most specific match.

DestinationPrefixListId
Type: string

The ID of the prefix list. Use a prefix list in place of DestinationCidrBlock. You cannot use DestinationPrefixListId and DestinationCidrBlock in the same 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.

LocalGatewayRouteTableId
Required: Yes
Type: string

The ID of the local gateway route table.

LocalGatewayVirtualInterfaceGroupId
Type: string

The ID of the virtual interface group.

NetworkInterfaceId
Type: string

The ID of the network interface.

Result Syntax

[
    'Route' => [
        'CoipPoolId' => '<string>',
        'DestinationCidrBlock' => '<string>',
        'DestinationPrefixListId' => '<string>',
        'LocalGatewayRouteTableArn' => '<string>',
        'LocalGatewayRouteTableId' => '<string>',
        'LocalGatewayVirtualInterfaceGroupId' => '<string>',
        'NetworkInterfaceId' => '<string>',
        'OwnerId' => '<string>',
        'State' => 'pending|active|blackhole|deleting|deleted',
        'SubnetId' => '<string>',
        'Type' => 'static|propagated',
    ],
]

Result Details

Members
Route
Type: LocalGatewayRoute structure

Information about the route.

Errors

There are no errors described for this operation.

CreateLocalGatewayRouteTable

$result = $client->createLocalGatewayRouteTable([/* ... */]);
$promise = $client->createLocalGatewayRouteTableAsync([/* ... */]);

Creates a local gateway route table.

Parameter Syntax

$result = $client->createLocalGatewayRouteTable([
    'DryRun' => true || false,
    'LocalGatewayId' => '<string>', // REQUIRED
    'Mode' => 'direct-vpc-routing|coip',
    '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.

LocalGatewayId
Required: Yes
Type: string

The ID of the local gateway.

Mode
Type: string

The mode of the local gateway route table.

TagSpecifications
Type: Array of TagSpecification structures

The tags assigned to the local gateway route table.

Result Syntax

[
    'LocalGatewayRouteTable' => [
        'LocalGatewayId' => '<string>',
        'LocalGatewayRouteTableArn' => '<string>',
        'LocalGatewayRouteTableId' => '<string>',
        'Mode' => 'direct-vpc-routing|coip',
        'OutpostArn' => '<string>',
        'OwnerId' => '<string>',
        'State' => '<string>',
        'StateReason' => [
            'Code' => '<string>',
            'Message' => '<string>',
        ],
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
    ],
]

Result Details

Members
LocalGatewayRouteTable
Type: LocalGatewayRouteTable structure

Information about the local gateway route table.

Errors

There are no errors described for this operation.

CreateLocalGatewayRouteTableVirtualInterfaceGroupAssociation

$result = $client->createLocalGatewayRouteTableVirtualInterfaceGroupAssociation([/* ... */]);
$promise = $client->createLocalGatewayRouteTableVirtualInterfaceGroupAssociationAsync([/* ... */]);

Creates a local gateway route table virtual interface group association.

Parameter Syntax

$result = $client->createLocalGatewayRouteTableVirtualInterfaceGroupAssociation([
    'DryRun' => true || false,
    'LocalGatewayRouteTableId' => '<string>', // REQUIRED
    'LocalGatewayVirtualInterfaceGroupId' => '<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.

LocalGatewayVirtualInterfaceGroupId
Required: Yes
Type: string

The ID of the local gateway route table virtual interface group association.

TagSpecifications
Type: Array of TagSpecification structures

The tags assigned to the local gateway route table virtual interface group association.

Result Syntax

[
    'LocalGatewayRouteTableVirtualInterfaceGroupAssociation' => [
        'LocalGatewayId' => '<string>',
        'LocalGatewayRouteTableArn' => '<string>',
        'LocalGatewayRouteTableId' => '<string>',
        'LocalGatewayRouteTableVirtualInterfaceGroupAssociationId' => '<string>',
        'LocalGatewayVirtualInterfaceGroupId' => '<string>',
        'OwnerId' => '<string>',
        'State' => '<string>',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
    ],
]

Result Details

Members
LocalGatewayRouteTableVirtualInterfaceGroupAssociation

Information about the local gateway route table virtual interface group association.

Errors

There are no errors described for this operation.

CreateLocalGatewayRouteTableVpcAssociation

$result = $client->createLocalGatewayRouteTableVpcAssociation([/* ... */]);
$promise = $client->createLocalGatewayRouteTableVpcAssociationAsync([/* ... */]);

Associates the specified VPC with the specified local gateway route table.

Parameter Syntax

$result = $client->createLocalGatewayRouteTableVpcAssociation([
    '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>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    '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.

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 local gateway route table VPC association.

VpcId
Required: Yes
Type: string

The ID of the VPC.

Result Syntax

[
    'LocalGatewayRouteTableVpcAssociation' => [
        'LocalGatewayId' => '<string>',
        'LocalGatewayRouteTableArn' => '<string>',
        'LocalGatewayRouteTableId' => '<string>',
        'LocalGatewayRouteTableVpcAssociationId' => '<string>',
        'OwnerId' => '<string>',
        'State' => '<string>',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'VpcId' => '<string>',
    ],
]

Result Details

Members
LocalGatewayRouteTableVpcAssociation

Information about the association.

Errors

There are no errors described for this operation.

CreateManagedPrefixList

$result = $client->createManagedPrefixList([/* ... */]);
$promise = $client->createManagedPrefixListAsync([/* ... */]);

Creates a managed prefix list. You can specify one or more entries for the prefix list. Each entry consists of a CIDR block and an optional description.

Parameter Syntax

$result = $client->createManagedPrefixList([
    'AddressFamily' => '<string>', // REQUIRED
    'ClientToken' => '<string>',
    'DryRun' => true || false,
    'Entries' => [
        [
            'Cidr' => '<string>', // REQUIRED
            'Description' => '<string>',
        ],
        // ...
    ],
    'MaxEntries' => <integer>, // REQUIRED
    'PrefixListName' => '<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
AddressFamily
Required: Yes
Type: string

The IP address type.

Valid Values: IPv4 | IPv6

ClientToken
Type: string

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

Constraints: Up to 255 UTF-8 characters in length.

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.

Entries
Type: Array of AddPrefixListEntry structures

One or more entries for the prefix list.

MaxEntries
Required: Yes
Type: int

The maximum number of entries for the prefix list.

PrefixListName
Required: Yes
Type: string

A name for the prefix list.

Constraints: Up to 255 characters in length. The name cannot start with com.amazonaws.

TagSpecifications
Type: Array of TagSpecification structures

The tags to apply to the prefix list during creation.

Result Syntax

[
    'PrefixList' => [
        'AddressFamily' => '<string>',
        'MaxEntries' => <integer>,
        'OwnerId' => '<string>',
        'PrefixListArn' => '<string>',
        'PrefixListId' => '<string>',
        'PrefixListName' => '<string>',
        'State' => 'create-in-progress|create-complete|create-failed|modify-in-progress|modify-complete|modify-failed|restore-in-progress|restore-complete|restore-failed|delete-in-progress|delete-complete|delete-failed',
        'StateMessage' => '<string>',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'Version' => <integer>,
    ],
]

Result Details

Members
PrefixList
Type: ManagedPrefixList structure

Information about the prefix list.

Errors

There are no errors described for this operation.

CreateNatGateway

$result = $client->createNatGateway([/* ... */]);
$promise = $client->createNatGatewayAsync([/* ... */]);

Creates a NAT gateway in the specified subnet. This action creates a network interface in the specified subnet with a private IP address from the IP address range of the subnet. You can create either a public NAT gateway or a private NAT gateway.

With a public NAT gateway, internet-bound traffic from a private subnet can be routed to the NAT gateway, so that instances in a private subnet can connect to the internet.

With a private NAT gateway, private communication is routed across VPCs and on-premises networks through a transit gateway or virtual private gateway. Common use cases include running large workloads behind a small pool of allowlisted IPv4 addresses, preserving private IPv4 addresses, and communicating between overlapping networks.

For more information, see NAT gateways in the Amazon VPC User Guide.

When you create a public NAT gateway and assign it an EIP or secondary EIPs, 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 NAT gateway will fail to launch. 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->createNatGateway([
    'AllocationId' => '<string>',
    'ClientToken' => '<string>',
    'ConnectivityType' => 'private|public',
    'DryRun' => true || false,
    'PrivateIpAddress' => '<string>',
    'SecondaryAllocationIds' => ['<string>', ...],
    'SecondaryPrivateIpAddressCount' => <integer>,
    'SecondaryPrivateIpAddresses' => ['<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
AllocationId
Type: string

[Public NAT gateways only] The allocation ID of an Elastic IP address to associate with the NAT gateway. You cannot specify an Elastic IP address with a private NAT gateway. If the Elastic IP address is associated with another resource, you must first disassociate it.

ClientToken
Type: string

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

Constraint: Maximum 64 ASCII characters.

ConnectivityType
Type: string

Indicates whether the NAT gateway supports public or private connectivity. The default is public connectivity.

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.

PrivateIpAddress
Type: string

The private IPv4 address to assign to the NAT gateway. If you don't provide an address, a private IPv4 address will be automatically assigned.

SecondaryAllocationIds
Type: Array of strings

Secondary EIP allocation IDs. For more information, see Create a NAT gateway in the Amazon VPC User Guide.

SecondaryPrivateIpAddressCount
Type: int

[Private NAT gateway only] The number of secondary private IPv4 addresses you want to assign to the NAT gateway. For more information about secondary addresses, see Create a NAT gateway in the Amazon VPC User Guide.

SecondaryPrivateIpAddresses
Type: Array of strings

Secondary private IPv4 addresses. For more information about secondary addresses, see Create a NAT gateway in the Amazon VPC User Guide.

SubnetId
Required: Yes
Type: string

The ID of the subnet in which to create the NAT gateway.

TagSpecifications
Type: Array of TagSpecification structures

The tags to assign to the NAT gateway.

Result Syntax

[
    'ClientToken' => '<string>',
    'NatGateway' => [
        'ConnectivityType' => 'private|public',
        'CreateTime' => <DateTime>,
        'DeleteTime' => <DateTime>,
        'FailureCode' => '<string>',
        'FailureMessage' => '<string>',
        '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>',
        'ProvisionedBandwidth' => [
            'ProvisionTime' => <DateTime>,
            'Provisioned' => '<string>',
            'RequestTime' => <DateTime>,
            'Requested' => '<string>',
            'Status' => '<string>',
        ],
        'State' => 'pending|failed|available|deleting|deleted',
        'SubnetId' => '<string>',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'VpcId' => '<string>',
    ],
]

Result Details

Members
ClientToken
Type: string

Unique, case-sensitive identifier to ensure the idempotency of the request. Only returned if a client token was provided in the request.

NatGateway
Type: NatGateway structure

Information about the NAT gateway.

Errors

There are no errors described for this operation.

Examples

Example 1: To create a NAT gateway

This example creates a NAT gateway in subnet subnet-1a2b3c4d and associates an Elastic IP address with the allocation ID eipalloc-37fc1a52 with the NAT gateway.

$result = $client->createNatGateway([
    'AllocationId' => 'eipalloc-37fc1a52',
    'SubnetId' => 'subnet-1a2b3c4d',
]);

Result syntax:

[
    'NatGateway' => [
        'CreateTime' => ,
        'NatGatewayAddresses' => [
            [
                'AllocationId' => 'eipalloc-37fc1a52',
            ],
        ],
        'NatGatewayId' => 'nat-08d48af2a8e83edfd',
        'State' => 'pending',
        'SubnetId' => 'subnet-1a2b3c4d',
        'VpcId' => 'vpc-1122aabb',
    ],
]

CreateNetworkAcl

$result = $client->createNetworkAcl([/* ... */]);
$promise = $client->createNetworkAclAsync([/* ... */]);

Creates a network ACL in a VPC. Network ACLs provide an optional layer of security (in addition to security groups) for the instances in your VPC.

For more information, see Network ACLs in the Amazon VPC User Guide.

Parameter Syntax

$result = $client->createNetworkAcl([
    '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 network ACL.

VpcId
Required: Yes
Type: string

The ID of the VPC.

Result Syntax

[
    'ClientToken' => '<string>',
    'NetworkAcl' => [
        'Associations' => [
            [
                'NetworkAclAssociationId' => '<string>',
                'NetworkAclId' => '<string>',
                'SubnetId' => '<string>',
            ],
            // ...
        ],
        'Entries' => [
            [
                'CidrBlock' => '<string>',
                'Egress' => true || false,
                'IcmpTypeCode' => [
                    'Code' => <integer>,
                    'Type' => <integer>,
                ],
                'Ipv6CidrBlock' => '<string>',
                'PortRange' => [
                    'From' => <integer>,
                    'To' => <integer>,
                ],
                'Protocol' => '<string>',
                'RuleAction' => 'allow|deny',
                'RuleNumber' => <integer>,
            ],
            // ...
        ],
        'IsDefault' => true || false,
        'NetworkAclId' => '<string>',
        'OwnerId' => '<string>',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'VpcId' => '<string>',
    ],
]

Result Details

Members
ClientToken
Type: string

Unique, case-sensitive identifier to ensure the idempotency of the request. Only returned if a client token was provided in the request.

NetworkAcl
Type: NetworkAcl structure

Information about the network ACL.

Errors

There are no errors described for this operation.

Examples

Example 1: To create a network ACL

This example creates a network ACL for the specified VPC.

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

Result syntax:

[
    'NetworkAcl' => [
        'Associations' => [
        ],
        'Entries' => [
            [
                'CidrBlock' => '0.0.0.0/0',
                'Egress' => 1,
                'Protocol' => '-1',
                'RuleAction' => 'deny',
                'RuleNumber' => 32767,
            ],
            [
                'CidrBlock' => '0.0.0.0/0',
                'Egress' => ,
                'Protocol' => '-1',
                'RuleAction' => 'deny',
                'RuleNumber' => 32767,
            ],
        ],
        'IsDefault' => ,
        'NetworkAclId' => 'acl-5fb85d36',
        'Tags' => [
        ],
        'VpcId' => 'vpc-a01106c2',
    ],
]

CreateNetworkAclEntry

$result = $client->createNetworkAclEntry([/* ... */]);
$promise = $client->createNetworkAclEntryAsync([/* ... */]);

Creates an entry (a rule) in a network ACL with the specified rule number. Each network ACL has a set of numbered ingress rules and a separate set of numbered egress rules. When determining whether a packet should be allowed in or out of a subnet associated with the ACL, we process the entries in the ACL according to the rule numbers, in ascending order. Each network ACL has a set of ingress rules and a separate set of egress rules.

We recommend that you leave room between the rule numbers (for example, 100, 110, 120, ...), and not number them one right after the other (for example, 101, 102, 103, ...). This makes it easier to add a rule between existing ones without having to renumber the rules.

After you add an entry, you can't modify it; you must either replace it, or create an entry and delete the old one.

For more information about network ACLs, see Network ACLs in the Amazon VPC User Guide.

Parameter Syntax

$result = $client->createNetworkAclEntry([
    'CidrBlock' => '<string>',
    'DryRun' => true || false,
    'Egress' => true || false, // REQUIRED
    'IcmpTypeCode' => [
        'Code' => <integer>,
        'Type' => <integer>,
    ],
    'Ipv6CidrBlock' => '<string>',
    'NetworkAclId' => '<string>', // REQUIRED
    'PortRange' => [
        'From' => <integer>,
        'To' => <integer>,
    ],
    'Protocol' => '<string>', // REQUIRED
    'RuleAction' => 'allow|deny', // REQUIRED
    'RuleNumber' => <integer>, // REQUIRED
]);

Parameter Details

Members
CidrBlock
Type: string

The IPv4 network range to allow or deny, in CIDR notation (for example 172.16.0.0/24). We modify the specified CIDR block to its canonical form; for example, if you specify 100.68.0.18/18, we modify it to 100.68.0.0/18.

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.

Egress
Required: Yes
Type: boolean

Indicates whether this is an egress rule (rule is applied to traffic leaving the subnet).

IcmpTypeCode
Type: IcmpTypeCode structure

ICMP protocol: The ICMP or ICMPv6 type and code. Required if specifying protocol 1 (ICMP) or protocol 58 (ICMPv6) with an IPv6 CIDR block.

Ipv6CidrBlock
Type: string

The IPv6 network range to allow or deny, in CIDR notation (for example 2001:db8:1234:1a00::/64).

NetworkAclId
Required: Yes
Type: string

The ID of the network ACL.

PortRange
Type: PortRange structure

TCP or UDP protocols: The range of ports the rule applies to. Required if specifying protocol 6 (TCP) or 17 (UDP).

Protocol
Required: Yes
Type: string

The protocol number. A value of "-1" means all protocols. If you specify "-1" or a protocol number other than "6" (TCP), "17" (UDP), or "1" (ICMP), traffic on all ports is allowed, regardless of any ports or ICMP types or codes that you specify. If you specify protocol "58" (ICMPv6) and specify an IPv4 CIDR block, traffic for all ICMP types and codes allowed, regardless of any that you specify. If you specify protocol "58" (ICMPv6) and specify an IPv6 CIDR block, you must specify an ICMP type and code.

RuleAction
Required: Yes
Type: string

Indicates whether to allow or deny the traffic that matches the rule.

RuleNumber
Required: Yes
Type: int

The rule number for the entry (for example, 100). ACL entries are processed in ascending order by rule number.

Constraints: Positive integer from 1 to 32766. The range 32767 to 65535 is reserved for internal use.

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 create a network ACL entry

This example creates an entry for the specified network ACL. The rule allows ingress traffic from anywhere (0.0.0.0/0) on UDP port 53 (DNS) into any associated subnet.

$result = $client->createNetworkAclEntry([
    'CidrBlock' => '0.0.0.0/0',
    'Egress' => ,
    'NetworkAclId' => 'acl-5fb85d36',
    'PortRange' => [
        'From' => 53,
        'To' => 53,
    ],
    'Protocol' => '17',
    'RuleAction' => 'allow',
    'RuleNumber' => 100,
]);

CreateNetworkInsightsAccessScope

$result = $client->createNetworkInsightsAccessScope([/* ... */]);
$promise = $client->createNetworkInsightsAccessScopeAsync([/* ... */]);

Creates a Network Access Scope.

Amazon Web Services Network Access Analyzer enables cloud networking and cloud operations teams to verify that their networks on Amazon Web Services conform to their network security and governance objectives. For more information, see the Amazon Web Services Network Access Analyzer Guide.

Parameter Syntax

$result = $client->createNetworkInsightsAccessScope([
    'ClientToken' => '<string>', // REQUIRED
    'DryRun' => true || false,
    'ExcludePaths' => [
        [
            'Destination' => [
                'PacketHeaderStatement' => [
                    'DestinationAddresses' => ['<string>', ...],
                    'DestinationPorts' => ['<string>', ...],
                    'DestinationPrefixLists' => ['<string>', ...],
                    'Protocols' => ['<string>', ...],
                    'SourceAddresses' => ['<string>', ...],
                    'SourcePorts' => ['<string>', ...],
                    'SourcePrefixLists' => ['<string>', ...],
                ],
                'ResourceStatement' => [
                    'ResourceTypes' => ['<string>', ...],
                    'Resources' => ['<string>', ...],
                ],
            ],
            'Source' => [
                'PacketHeaderStatement' => [
                    'DestinationAddresses' => ['<string>', ...],
                    'DestinationPorts' => ['<string>', ...],
                    'DestinationPrefixLists' => ['<string>', ...],
                    'Protocols' => ['<string>', ...],
                    'SourceAddresses' => ['<string>', ...],
                    'SourcePorts' => ['<string>', ...],
                    'SourcePrefixLists' => ['<string>', ...],
                ],
                'ResourceStatement' => [
                    'ResourceTypes' => ['<string>', ...],
                    'Resources' => ['<string>', ...],
                ],
            ],
            'ThroughResources' => [
                [
                    'ResourceStatement' => [
                        'ResourceTypes' => ['<string>', ...],
                        'Resources' => ['<string>', ...],
                    ],
                ],
                // ...
            ],
        ],
        // ...
    ],
    'MatchPaths' => [
        [
            'Destination' => [
                'PacketHeaderStatement' => [
                    'DestinationAddresses' => ['<string>', ...],
                    'DestinationPorts' => ['<string>', ...],
                    'DestinationPrefixLists' => ['<string>', ...],
                    'Protocols' => ['<string>', ...],
                    'SourceAddresses' => ['<string>', ...],
                    'SourcePorts' => ['<string>', ...],
                    'SourcePrefixLists' => ['<string>', ...],
                ],
                'ResourceStatement' => [
                    'ResourceTypes' => ['<string>', ...],
                    'Resources' => ['<string>', ...],
                ],
            ],
            'Source' => [
                'PacketHeaderStatement' => [
                    'DestinationAddresses' => ['<string>', ...],
                    'DestinationPorts' => ['<string>', ...],
                    'DestinationPrefixLists' => ['<string>', ...],
                    'Protocols' => ['<string>', ...],
                    'SourceAddresses' => ['<string>', ...],
                    'SourcePorts' => ['<string>', ...],
                    'SourcePrefixLists' => ['<string>', ...],
                ],
                'ResourceStatement' => [
                    'ResourceTypes' => ['<string>', ...],
                    'Resources' => ['<string>', ...],
                ],
            ],
            'ThroughResources' => [
                [
                    'ResourceStatement' => [
                        'ResourceTypes' => ['<string>', ...],
                        'Resources' => ['<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
Required: Yes
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.

ExcludePaths
Type: Array of AccessScopePathRequest structures

The paths to exclude.

MatchPaths
Type: Array of AccessScopePathRequest structures

The paths to match.

TagSpecifications
Type: Array of TagSpecification structures

The tags to apply.

Result Syntax

[
    'NetworkInsightsAccessScope' => [
        'CreatedDate' => <DateTime>,
        'NetworkInsightsAccessScopeArn' => '<string>',
        'NetworkInsightsAccessScopeId' => '<string>',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'UpdatedDate' => <DateTime>,
    ],
    'NetworkInsightsAccessScopeContent' => [
        'ExcludePaths' => [
            [
                'Destination' => [
                    'PacketHeaderStatement' => [
                        'DestinationAddresses' => ['<string>', ...],
                        'DestinationPorts' => ['<string>', ...],
                        'DestinationPrefixLists' => ['<string>', ...],
                        'Protocols' => ['<string>', ...],
                        'SourceAddresses' => ['<string>', ...],
                        'SourcePorts' => ['<string>', ...],
                        'SourcePrefixLists' => ['<string>', ...],
                    ],
                    'ResourceStatement' => [
                        'ResourceTypes' => ['<string>', ...],
                        'Resources' => ['<string>', ...],
                    ],
                ],
                'Source' => [
                    'PacketHeaderStatement' => [
                        'DestinationAddresses' => ['<string>', ...],
                        'DestinationPorts' => ['<string>', ...],
                        'DestinationPrefixLists' => ['<string>', ...],
                        'Protocols' => ['<string>', ...],
                        'SourceAddresses' => ['<string>', ...],
                        'SourcePorts' => ['<string>', ...],
                        'SourcePrefixLists' => ['<string>', ...],
                    ],
                    'ResourceStatement' => [
                        'ResourceTypes' => ['<string>', ...],
                        'Resources' => ['<string>', ...],
                    ],
                ],
                'ThroughResources' => [
                    [
                        'ResourceStatement' => [
                            'ResourceTypes' => ['<string>', ...],
                            'Resources' => ['<string>', ...],
                        ],
                    ],
                    // ...
                ],
            ],
            // ...
        ],
        'MatchPaths' => [
            [
                'Destination' => [
                    'PacketHeaderStatement' => [
                        'DestinationAddresses' => ['<string>', ...],
                        'DestinationPorts' => ['<string>', ...],
                        'DestinationPrefixLists' => ['<string>', ...],
                        'Protocols' => ['<string>', ...],
                        'SourceAddresses' => ['<string>', ...],
                        'SourcePorts' => ['<string>', ...],
                        'SourcePrefixLists' => ['<string>', ...],
                    ],
                    'ResourceStatement' => [
                        'ResourceTypes' => ['<string>', ...],
                        'Resources' => ['<string>', ...],
                    ],
                ],
                'Source' => [
                    'PacketHeaderStatement' => [
                        'DestinationAddresses' => ['<string>', ...],
                        'DestinationPorts' => ['<string>', ...],
                        'DestinationPrefixLists' => ['<string>', ...],
                        'Protocols' => ['<string>', ...],
                        'SourceAddresses' => ['<string>', ...],
                        'SourcePorts' => ['<string>', ...],
                        'SourcePrefixLists' => ['<string>', ...],
                    ],
                    'ResourceStatement' => [
                        'ResourceTypes' => ['<string>', ...],
                        'Resources' => ['<string>', ...],
                    ],
                ],
                'ThroughResources' => [
                    [
                        'ResourceStatement' => [
                            'ResourceTypes' => ['<string>', ...],
                            'Resources' => ['<string>', ...],
                        ],
                    ],
                    // ...
                ],
            ],
            // ...
        ],
        'NetworkInsightsAccessScopeId' => '<string>',
    ],
]

Result Details

Members
NetworkInsightsAccessScope
Type: NetworkInsightsAccessScope structure

The Network Access Scope.

NetworkInsightsAccessScopeContent

The Network Access Scope content.

Errors

There are no errors described for this operation.

CreateNetworkInsightsPath

$result = $client->createNetworkInsightsPath([/* ... */]);
$promise = $client->createNetworkInsightsPathAsync([/* ... */]);

Creates a path to analyze for reachability.

Reachability Analyzer enables you to analyze and debug network reachability between two resources in your virtual private cloud (VPC). For more information, see the Reachability Analyzer Guide.

Parameter Syntax

$result = $client->createNetworkInsightsPath([
    'ClientToken' => '<string>', // REQUIRED
    'Destination' => '<string>',
    'DestinationIp' => '<string>',
    'DestinationPort' => <integer>,
    'DryRun' => true || false,
    'FilterAtDestination' => [
        'DestinationAddress' => '<string>',
        'DestinationPortRange' => [
            'FromPort' => <integer>,
            'ToPort' => <integer>,
        ],
        'SourceAddress' => '<string>',
        'SourcePortRange' => [
            'FromPort' => <integer>,
            'ToPort' => <integer>,
        ],
    ],
    'FilterAtSource' => [
        'DestinationAddress' => '<string>',
        'DestinationPortRange' => [
            'FromPort' => <integer>,
            'ToPort' => <integer>,
        ],
        'SourceAddress' => '<string>',
        'SourcePortRange' => [
            'FromPort' => <integer>,
            'ToPort' => <integer>,
        ],
    ],
    'Protocol' => 'tcp|udp', // REQUIRED
    'Source' => '<string>', // REQUIRED
    'SourceIp' => '<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
Required: Yes
Type: string

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

Destination
Type: string

The ID or ARN of the destination. If the resource is in another account, you must specify an ARN.

DestinationIp
Type: string

The IP address of the destination.

DestinationPort
Type: int

The destination port.

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.

FilterAtDestination
Type: PathRequestFilter structure

Scopes the analysis to network paths that match specific filters at the destination. If you specify this parameter, you can't specify the parameter for the destination IP address.

FilterAtSource
Type: PathRequestFilter structure

Scopes the analysis to network paths that match specific filters at the source. If you specify this parameter, you can't specify the parameters for the source IP address or the destination port.

Protocol
Required: Yes
Type: string

The protocol.

Source
Required: Yes
Type: string

The ID or ARN of the source. If the resource is in another account, you must specify an ARN.

SourceIp
Type: string

The IP address of the source.

TagSpecifications
Type: Array of TagSpecification structures

The tags to add to the path.

Result Syntax

[
    'NetworkInsightsPath' => [
        'CreatedDate' => <DateTime>,
        'Destination' => '<string>',
        'DestinationArn' => '<string>',
        'DestinationIp' => '<string>',
        'DestinationPort' => <integer>,
        'FilterAtDestination' => [
            'DestinationAddress' => '<string>',
            'DestinationPortRange' => [
                'FromPort' => <integer>,
                'ToPort' => <integer>,
            ],
            'SourceAddress' => '<string>',
            'SourcePortRange' => [
                'FromPort' => <integer>,
                'ToPort' => <integer>,
            ],
        ],
        'FilterAtSource' => [
            'DestinationAddress' => '<string>',
            'DestinationPortRange' => [
                'FromPort' => <integer>,
                'ToPort' => <integer>,
            ],
            'SourceAddress' => '<string>',
            'SourcePortRange' => [
                'FromPort' => <integer>,
                'ToPort' => <integer>,
            ],
        ],
        'NetworkInsightsPathArn' => '<string>',
        'NetworkInsightsPathId' => '<string>',
        'Protocol' => 'tcp|udp',
        'Source' => '<string>',
        'SourceArn' => '<string>',
        'SourceIp' => '<string>',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
    ],
]

Result Details

Members
NetworkInsightsPath
Type: NetworkInsightsPath structure

Information about the path.

Errors

There are no errors described for this operation.

CreateNetworkInterface

$result = $client->createNetworkInterface([/* ... */]);
$promise = $client->createNetworkInterfaceAsync([/* ... */]);

Creates a network interface in the specified subnet.

The number of IP addresses you can assign to a network interface varies by instance type.

For more information about network interfaces, see Elastic network interfaces in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->createNetworkInterface([
    'ClientToken' => '<string>',
    'ConnectionTrackingSpecification' => [
        'TcpEstablishedTimeout' => <integer>,
        'UdpStreamTimeout' => <integer>,
        'UdpTimeout' => <integer>,
    ],
    'Description' => '<string>',
    'DryRun' => true || false,
    'EnablePrimaryIpv6' => true || false,
    'Groups' => ['<string>', ...],
    'InterfaceType' => 'efa|efa-only|branch|trunk',
    'Ipv4PrefixCount' => <integer>,
    'Ipv4Prefixes' => [
        [
            'Ipv4Prefix' => '<string>',
        ],
        // ...
    ],
    'Ipv6AddressCount' => <integer>,
    'Ipv6Addresses' => [
        [
            'Ipv6Address' => '<string>',
            'IsPrimaryIpv6' => true || false,
        ],
        // ...
    ],
    'Ipv6PrefixCount' => <integer>,
    'Ipv6Prefixes' => [
        [
            'Ipv6Prefix' => '<string>',
        ],
        // ...
    ],
    'PrivateIpAddress' => '<string>',
    'PrivateIpAddresses' => [
        [
            'Primary' => true || false,
            'PrivateIpAddress' => '<string>',
        ],
        // ...
    ],
    'SecondaryPrivateIpAddressCount' => <integer>,
    '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. For more information, see Ensuring idempotency.

ConnectionTrackingSpecification

A connection tracking specification for the network interface.

Description
Type: string

A description for the network interface.

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.

EnablePrimaryIpv6
Type: boolean

If you’re creating a network interface in a dual-stack or IPv6-only subnet, you have the option to assign a primary IPv6 IP address. A primary IPv6 address is an IPv6 GUA address associated with an ENI that you have enabled to use a primary IPv6 address. Use this option if the instance that this ENI will be attached to relies on its IPv6 address not changing. Amazon Web Services will automatically assign an IPv6 address associated with the ENI attached to your instance to be the primary IPv6 address. Once you enable an IPv6 GUA address to be a primary IPv6, you cannot disable it. When you enable an IPv6 GUA address to be a primary IPv6, the first IPv6 GUA will be made the primary IPv6 address until the instance is terminated or the network interface is detached. If you have multiple IPv6 addresses associated with an ENI attached to your instance and you enable a primary IPv6 address, the first IPv6 GUA address associated with the ENI becomes the primary IPv6 address.

Groups
Type: Array of strings

The IDs of one or more security groups.

InterfaceType
Type: string

The type of network interface. The default is interface.

If you specify efa-only, do not assign any IP addresses to the network interface. EFA-only network interfaces do not support IP addresses.

The only supported values are interface, efa, efa-only, and trunk.

Ipv4PrefixCount
Type: int

The number of IPv4 prefixes that Amazon Web Services automatically assigns to the network interface.

You can't specify a count of IPv4 prefixes if you've specified one of the following: specific IPv4 prefixes, specific private IPv4 addresses, or a count of private IPv4 addresses.

Ipv4Prefixes
Type: Array of Ipv4PrefixSpecificationRequest structures

The IPv4 prefixes assigned to the network interface.

You can't specify IPv4 prefixes if you've specified one of the following: a count of IPv4 prefixes, specific private IPv4 addresses, or a count of private IPv4 addresses.

Ipv6AddressCount
Type: int

The number of IPv6 addresses to assign to a network interface. Amazon EC2 automatically selects the IPv6 addresses from the subnet range.

You can't specify a count of IPv6 addresses using this parameter if you've specified one of the following: specific IPv6 addresses, specific IPv6 prefixes, or a count of IPv6 prefixes.

If your subnet has the AssignIpv6AddressOnCreation attribute set, you can override that setting by specifying 0 as the IPv6 address count.

Ipv6Addresses
Type: Array of InstanceIpv6Address structures

The IPv6 addresses from the IPv6 CIDR block range of your subnet.

You can't specify IPv6 addresses using this parameter if you've specified one of the following: a count of IPv6 addresses, specific IPv6 prefixes, or a count of IPv6 prefixes.

Ipv6PrefixCount
Type: int

The number of IPv6 prefixes that Amazon Web Services automatically assigns to the network interface.

You can't specify a count of IPv6 prefixes if you've specified one of the following: specific IPv6 prefixes, specific IPv6 addresses, or a count of IPv6 addresses.

Ipv6Prefixes
Type: Array of Ipv6PrefixSpecificationRequest structures

The IPv6 prefixes assigned to the network interface.

You can't specify IPv6 prefixes if you've specified one of the following: a count of IPv6 prefixes, specific IPv6 addresses, or a count of IPv6 addresses.

PrivateIpAddress
Type: string

The primary private IPv4 address of the network interface. If you don't specify an IPv4 address, Amazon EC2 selects one for you from the subnet's IPv4 CIDR range. If you specify an IP address, you cannot indicate any IP addresses specified in privateIpAddresses as primary (only one IP address can be designated as primary).

PrivateIpAddresses
Type: Array of PrivateIpAddressSpecification structures

The private IPv4 addresses.

You can't specify private IPv4 addresses if you've specified one of the following: a count of private IPv4 addresses, specific IPv4 prefixes, or a count of IPv4 prefixes.

SecondaryPrivateIpAddressCount
Type: int

The number of secondary private IPv4 addresses to assign to a network interface. When you specify a number of secondary IPv4 addresses, Amazon EC2 selects these IP addresses within the subnet's IPv4 CIDR range. You can't specify this option and specify more than one private IP address using privateIpAddresses.

You can't specify a count of private IPv4 addresses if you've specified one of the following: specific private IPv4 addresses, specific IPv4 prefixes, or a count of IPv4 prefixes.

SubnetId
Required: Yes
Type: string

The ID of the subnet to associate with the network interface.

TagSpecifications
Type: Array of TagSpecification structures

The tags to apply to the new network interface.

Result Syntax

[
    'ClientToken' => '<string>',
    'NetworkInterface' => [
        'Association' => [
            'AllocationId' => '<string>',
            'AssociationId' => '<string>',
            'CarrierIp' => '<string>',
            'CustomerOwnedIp' => '<string>',
            'IpOwnerId' => '<string>',
            'PublicDnsName' => '<string>',
            'PublicIp' => '<string>',
        ],
        'Attachment' => [
            'AttachTime' => <DateTime>,
            'AttachmentId' => '<string>',
            'DeleteOnTermination' => true || false,
            'DeviceIndex' => <integer>,
            'EnaSrdSpecification' => [
                'EnaSrdEnabled' => true || false,
                'EnaSrdUdpSpecification' => [
                    'EnaSrdUdpEnabled' => true || false,
                ],
            ],
            'InstanceId' => '<string>',
            'InstanceOwnerId' => '<string>',
            'NetworkCardIndex' => <integer>,
            'Status' => 'attaching|attached|detaching|detached',
        ],
        'AvailabilityZone' => '<string>',
        'ConnectionTrackingConfiguration' => [
            'TcpEstablishedTimeout' => <integer>,
            'UdpStreamTimeout' => <integer>,
            'UdpTimeout' => <integer>,
        ],
        'DenyAllIgwTraffic' => true || false,
        'Description' => '<string>',
        'Groups' => [
            [
                'GroupId' => '<string>',
                'GroupName' => '<string>',
            ],
            // ...
        ],
        'InterfaceType' => 'interface|natGateway|efa|efa-only|trunk|load_balancer|network_load_balancer|vpc_endpoint|branch|transit_gateway|lambda|quicksight|global_accelerator_managed|api_gateway_managed|gateway_load_balancer|gateway_load_balancer_endpoint|iot_rules_managed|aws_codestar_connections_managed',
        'Ipv4Prefixes' => [
            [
                'Ipv4Prefix' => '<string>',
            ],
            // ...
        ],
        'Ipv6Address' => '<string>',
        'Ipv6Addresses' => [
            [
                'Ipv6Address' => '<string>',
                'IsPrimaryIpv6' => true || false,
            ],
            // ...
        ],
        'Ipv6Native' => true || false,
        'Ipv6Prefixes' => [
            [
                'Ipv6Prefix' => '<string>',
            ],
            // ...
        ],
        'MacAddress' => '<string>',
        'NetworkInterfaceId' => '<string>',
        'OutpostArn' => '<string>',
        'OwnerId' => '<string>',
        'PrivateDnsName' => '<string>',
        'PrivateIpAddress' => '<string>',
        'PrivateIpAddresses' => [
            [
                'Association' => [
                    'AllocationId' => '<string>',
                    'AssociationId' => '<string>',
                    'CarrierIp' => '<string>',
                    'CustomerOwnedIp' => '<string>',
                    'IpOwnerId' => '<string>',
                    'PublicDnsName' => '<string>',
                    'PublicIp' => '<string>',
                ],
                'Primary' => true || false,
                'PrivateDnsName' => '<string>',
                'PrivateIpAddress' => '<string>',
            ],
            // ...
        ],
        'RequesterId' => '<string>',
        'RequesterManaged' => true || false,
        'SourceDestCheck' => true || false,
        'Status' => 'available|associated|attaching|in-use|detaching',
        'SubnetId' => '<string>',
        'TagSet' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'VpcId' => '<string>',
    ],
]

Result Details

Members
ClientToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

NetworkInterface
Type: NetworkInterface structure

Information about the network interface.

Errors

There are no errors described for this operation.

Examples

Example 1: To create a network interface

This example creates a network interface for the specified subnet.

$result = $client->createNetworkInterface([
    'Description' => 'my network interface',
    'Groups' => [
        'sg-903004f8',
    ],
    'PrivateIpAddress' => '10.0.2.17',
    'SubnetId' => 'subnet-9d4a7b6c',
]);

Result syntax:

[
    'NetworkInterface' => [
        'AvailabilityZone' => 'us-east-1d',
        'Description' => 'my network interface',
        'Groups' => [
            [
                'GroupId' => 'sg-903004f8',
                'GroupName' => 'default',
            ],
        ],
        'MacAddress' => '02:1a:80:41:52:9c',
        'NetworkInterfaceId' => 'eni-e5aa89a3',
        'OwnerId' => '123456789012',
        'PrivateIpAddress' => '10.0.2.17',
        'PrivateIpAddresses' => [
            [
                'Primary' => 1,
                'PrivateIpAddress' => '10.0.2.17',
            ],
        ],
        'RequesterManaged' => ,
        'SourceDestCheck' => 1,
        'Status' => 'pending',
        'SubnetId' => 'subnet-9d4a7b6c',
        'TagSet' => [
        ],
        'VpcId' => 'vpc-a01106c2',
    ],
]

CreateNetworkInterfacePermission

$result = $client->createNetworkInterfacePermission([/* ... */]);
$promise = $client->createNetworkInterfacePermissionAsync([/* ... */]);

Grants an Amazon Web Services-authorized account permission to attach the specified network interface to an instance in their account.

You can grant permission to a single Amazon Web Services account only, and only one account at a time.

Parameter Syntax

$result = $client->createNetworkInterfacePermission([
    'AwsAccountId' => '<string>',
    'AwsService' => '<string>',
    'DryRun' => true || false,
    'NetworkInterfaceId' => '<string>', // REQUIRED
    'Permission' => 'INSTANCE-ATTACH|EIP-ASSOCIATE', // REQUIRED
]);

Parameter Details

Members
AwsAccountId
Type: string

The Amazon Web Services account ID.

AwsService
Type: string

The Amazon Web Services service. Currently not supported.

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.

NetworkInterfaceId
Required: Yes
Type: string

The ID of the network interface.

Permission
Required: Yes
Type: string

The type of permission to grant.

Result Syntax

[
    'InterfacePermission' => [
        'AwsAccountId' => '<string>',
        'AwsService' => '<string>',
        'NetworkInterfaceId' => '<string>',
        'NetworkInterfacePermissionId' => '<string>',
        'Permission' => 'INSTANCE-ATTACH|EIP-ASSOCIATE',
        'PermissionState' => [
            'State' => 'pending|granted|revoking|revoked',
            'StatusMessage' => '<string>',
        ],
    ],
]

Result Details

Members
InterfacePermission
Type: NetworkInterfacePermission structure

Information about the permission for the network interface.

Errors

There are no errors described for this operation.

CreatePlacementGroup

$result = $client->createPlacementGroup([/* ... */]);
$promise = $client->createPlacementGroupAsync([/* ... */]);

Creates a placement group in which to launch instances. The strategy of the placement group determines how the instances are organized within the group.

A cluster placement group is a logical grouping of instances within a single Availability Zone that benefit from low network latency, high network throughput. A spread placement group places instances on distinct hardware. A partition placement group places groups of instances in different partitions, where instances in one partition do not share the same hardware with instances in another partition.

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

Parameter Syntax

$result = $client->createPlacementGroup([
    'DryRun' => true || false,
    'GroupName' => '<string>',
    'PartitionCount' => <integer>,
    'SpreadLevel' => 'host|rack',
    'Strategy' => 'cluster|spread|partition',
    '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 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.

GroupName
Type: string

A name for the placement group. Must be unique within the scope of your account for the Region.

Constraints: Up to 255 ASCII characters

PartitionCount
Type: int

The number of partitions. Valid only when Strategy is set to partition.

SpreadLevel
Type: string

Determines how placement groups spread instances.

  • Host – You can use host only with Outpost placement groups.

  • Rack – No usage restrictions.

Strategy
Type: string

The placement strategy.

TagSpecifications
Type: Array of TagSpecification structures

The tags to apply to the new placement group.

Result Syntax

[
    'PlacementGroup' => [
        'GroupArn' => '<string>',
        'GroupId' => '<string>',
        'GroupName' => '<string>',
        'PartitionCount' => <integer>,
        'SpreadLevel' => 'host|rack',
        'State' => 'pending|available|deleting|deleted',
        'Strategy' => 'cluster|spread|partition',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
    ],
]

Result Details

Members
PlacementGroup
Type: PlacementGroup structure

Information about the placement group.

Errors

There are no errors described for this operation.

Examples

Example 1: To create a placement group

This example creates a placement group with the specified name.

$result = $client->createPlacementGroup([
    'GroupName' => 'my-cluster',
    'Strategy' => 'cluster',
]);

Result syntax:

[
]

CreatePublicIpv4Pool

$result = $client->createPublicIpv4Pool([/* ... */]);
$promise = $client->createPublicIpv4PoolAsync([/* ... */]);

Creates a public IPv4 address pool. A public IPv4 pool is an EC2 IP address pool required for the public IPv4 CIDRs that you own and bring to Amazon Web Services to manage with IPAM. IPv6 addresses you bring to Amazon Web Services, however, use IPAM pools only. To monitor the status of pool creation, use DescribePublicIpv4Pools.

Parameter Syntax

$result = $client->createPublicIpv4Pool([
    'DryRun' => true || false,
    'NetworkBorderGroup' => '<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
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.

NetworkBorderGroup
Type: string

The Availability Zone (AZ) or Local Zone (LZ) network border group that the resource that the IP address is assigned to is in. Defaults to an AZ network border group. For more information on available Local Zones, see Local Zone availability in the Amazon EC2 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.

Result Syntax

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

Result Details

Members
PoolId
Type: string

The ID of the public IPv4 pool.

Errors

There are no errors described for this operation.

CreateReplaceRootVolumeTask

$result = $client->createReplaceRootVolumeTask([/* ... */]);
$promise = $client->createReplaceRootVolumeTaskAsync([/* ... */]);

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.

For more information, see Replace a root volume in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->createReplaceRootVolumeTask([
    'ClientToken' => '<string>',
    'DeleteReplacedRootVolume' => true || false,
    'DryRun' => true || false,
    'ImageId' => '<string>',
    'InstanceId' => '<string>', // REQUIRED
    'SnapshotId' => '<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 you provide to ensure the idempotency of the request. If you do not specify a client token, a randomly generated token is used for the request to ensure idempotency. For more information, see Ensuring idempotency.

DeleteReplacedRootVolume
Type: boolean

Indicates whether to automatically delete the original root volume after the root volume replacement task completes. To delete the original root volume, specify true. If you choose to keep the original root volume after the replacement task completes, you must manually delete it when you no longer need it.

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
Type: string

The ID of the AMI to use to restore the root volume. The specified AMI must have the same product code, billing information, architecture type, and virtualization type as that of the instance.

If you want to restore the replacement volume from a specific snapshot, or if you want to restore it to its launch state, omit this parameter.

InstanceId
Required: Yes
Type: string

The ID of the instance for which to replace the root volume.

SnapshotId
Type: string

The ID of the snapshot from which to restore the replacement root volume. The specified snapshot must be a snapshot that you previously created from the original root volume.

If you want to restore the replacement root volume to the initial launch state, or if you want to restore the replacement root volume from an AMI, omit this parameter.

TagSpecifications
Type: Array of TagSpecification structures

The tags to apply to the root volume replacement task.

Result Syntax

[
    'ReplaceRootVolumeTask' => [
        'CompleteTime' => '<string>',
        'DeleteReplacedRootVolume' => true || false,
        'ImageId' => '<string>',
        'InstanceId' => '<string>',
        'ReplaceRootVolumeTaskId' => '<string>',
        'SnapshotId' => '<string>',
        'StartTime' => '<string>',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'TaskState' => 'pending|in-progress|failing|succeeded|failed|failed-detached',
    ],
]

Result Details

Members
ReplaceRootVolumeTask
Type: ReplaceRootVolumeTask structure

Information about the root volume replacement task.

Errors

There are no errors described for this operation.

CreateReservedInstancesListing

$result = $client->createReservedInstancesListing([/* ... */]);
$promise = $client->createReservedInstancesListingAsync([/* ... */]);

Creates a listing for Amazon EC2 Standard Reserved Instances to be sold in the Reserved Instance Marketplace. You can submit one Standard Reserved Instance listing at a time. To get a list of your Standard Reserved Instances, you can use the DescribeReservedInstances operation.

Only Standard Reserved Instances can be sold in the Reserved Instance Marketplace. Convertible Reserved Instances cannot be sold.

The Reserved Instance Marketplace matches sellers who want to resell Standard Reserved Instance capacity that they no longer need with buyers who want to purchase additional capacity. Reserved Instances bought and sold through the Reserved Instance Marketplace work like any other Reserved Instances.

To sell your Standard Reserved Instances, you must first register as a seller in the Reserved Instance Marketplace. After completing the registration process, you can create a Reserved Instance Marketplace listing of some or all of your Standard Reserved Instances, and specify the upfront price to receive for them. Your Standard Reserved Instance listings then become available for purchase. To view the details of your Standard Reserved Instance listing, you can use the DescribeReservedInstancesListings operation.

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

Parameter Syntax

$result = $client->createReservedInstancesListing([
    'ClientToken' => '<string>', // REQUIRED
    'InstanceCount' => <integer>, // REQUIRED
    'PriceSchedules' => [ // REQUIRED
        [
            'CurrencyCode' => 'USD',
            'Price' => <float>,
            'Term' => <integer>,
        ],
        // ...
    ],
    'ReservedInstancesId' => '<string>', // REQUIRED
]);

Parameter Details

Members
ClientToken
Required: Yes
Type: string

Unique, case-sensitive identifier you provide to ensure idempotency of your listings. This helps avoid duplicate listings. For more information, see Ensuring Idempotency.

InstanceCount
Required: Yes
Type: int

The number of instances that are a part of a Reserved Instance account to be listed in the Reserved Instance Marketplace. This number should be less than or equal to the instance count associated with the Reserved Instance ID specified in this call.

PriceSchedules
Required: Yes
Type: Array of PriceScheduleSpecification structures

A list specifying the price of the Standard Reserved Instance for each month remaining in the Reserved Instance term.

ReservedInstancesId
Required: Yes
Type: string

The ID of the active Standard Reserved Instance.

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

Information about the Standard Reserved Instance listing.

Errors

There are no errors described for this operation.

CreateRestoreImageTask

$result = $client->createRestoreImageTask([/* ... */]);
$promise = $client->createRestoreImageTaskAsync([/* ... */]);

Starts a task that restores an AMI from an Amazon S3 object that was previously created by using CreateStoreImageTask.

To use this API, you must have the required permissions. For more information, see Permissions for storing and restoring AMIs using Amazon S3 in the Amazon EC2 User Guide.

For more information, see Store and restore an AMI using Amazon S3 in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->createRestoreImageTask([
    'Bucket' => '<string>', // REQUIRED
    'DryRun' => true || false,
    'Name' => '<string>',
    'ObjectKey' => '<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
Bucket
Required: Yes
Type: string

The name of the Amazon S3 bucket that contains the stored AMI object.

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 restored AMI. The name must be unique for AMIs in the Region for this account. If you do not provide a name, the new AMI gets the same name as the original AMI.

ObjectKey
Required: Yes
Type: string

The name of the stored AMI object in the bucket.

TagSpecifications
Type: Array of TagSpecification structures

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

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

  • To tag the snapshots, the value for ResourceType must be snapshot. The same tag is applied to all of the snapshots that are created.

Result Syntax

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

Result Details

Members
ImageId
Type: string

The AMI ID.

Errors

There are no errors described for this operation.

CreateRoute

$result = $client->createRoute([/* ... */]);
$promise = $client->createRouteAsync([/* ... */]);

Creates a route in a route table within a VPC.

You must specify either a destination CIDR block or a prefix list ID. You must also specify exactly one of the resources from the parameter list.

When determining how to route traffic, we use the route with the most specific match. For example, traffic is destined for the IPv4 address 192.0.2.3, and the route table includes the following two IPv4 routes:

  • 192.0.2.0/24 (goes to some target A)

  • 192.0.2.0/28 (goes to some target B)

Both routes apply to the traffic destined for 192.0.2.3. However, the second route in the list covers a smaller number of IP addresses and is therefore more specific, so we use that route to determine where to target the traffic.

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

Parameter Syntax

$result = $client->createRoute([
    'CarrierGatewayId' => '<string>',
    'CoreNetworkArn' => '<string>',
    'DestinationCidrBlock' => '<string>',
    'DestinationIpv6CidrBlock' => '<string>',
    'DestinationPrefixListId' => '<string>',
    'DryRun' => true || false,
    'EgressOnlyInternetGatewayId' => '<string>',
    'GatewayId' => '<string>',
    'InstanceId' => '<string>',
    'LocalGatewayId' => '<string>',
    'NatGatewayId' => '<string>',
    'NetworkInterfaceId' => '<string>',
    'RouteTableId' => '<string>', // REQUIRED
    'TransitGatewayId' => '<string>',
    'VpcEndpointId' => '<string>',
    'VpcPeeringConnectionId' => '<string>',
]);

Parameter Details

Members
CarrierGatewayId
Type: string

The ID of the carrier gateway.

You can only use this option when the VPC contains a subnet which is associated with a Wavelength Zone.

CoreNetworkArn
Type: string

The Amazon Resource Name (ARN) of the core network.

DestinationCidrBlock
Type: string

The IPv4 CIDR address block used for the destination match. Routing decisions are based on the most specific match. We modify the specified CIDR block to its canonical form; for example, if you specify 100.68.0.18/18, we modify it to 100.68.0.0/18.

DestinationIpv6CidrBlock
Type: string

The IPv6 CIDR block used for the destination match. Routing decisions are based on the most specific match.

DestinationPrefixListId
Type: string

The ID of a prefix list used for the destination match.

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.

EgressOnlyInternetGatewayId
Type: string

[IPv6 traffic only] The ID of an egress-only internet gateway.

GatewayId
Type: string

The ID of an internet gateway or virtual private gateway attached to your VPC.

InstanceId
Type: string

The ID of a NAT instance in your VPC. The operation fails if you specify an instance ID unless exactly one network interface is attached.

LocalGatewayId
Type: string

The ID of the local gateway.

NatGatewayId
Type: string

[IPv4 traffic only] The ID of a NAT gateway.

NetworkInterfaceId
Type: string

The ID of a network interface.

RouteTableId
Required: Yes
Type: string

The ID of the route table for the route.

TransitGatewayId
Type: string

The ID of a transit gateway.

VpcEndpointId
Type: string

The ID of a VPC endpoint. Supported for Gateway Load Balancer endpoints only.

VpcPeeringConnectionId
Type: string

The ID of a VPC peering connection.

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.

Examples

Example 1: To create a route

This example creates a route for the specified route table. The route matches all traffic (0.0.0.0/0) and routes it to the specified Internet gateway.

$result = $client->createRoute([
    'DestinationCidrBlock' => '0.0.0.0/0',
    'GatewayId' => 'igw-c0a643a9',
    'RouteTableId' => 'rtb-22574640',
]);

CreateRouteTable

$result = $client->createRouteTable([/* ... */]);
$promise = $client->createRouteTableAsync([/* ... */]);

Creates a route table for the specified VPC. After you create a route table, you can add routes and associate the table with a subnet.

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

Parameter Syntax

$result = $client->createRouteTable([
    '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 route table.

VpcId
Required: Yes
Type: string

The ID of the VPC.

Result Syntax

[
    'ClientToken' => '<string>',
    'RouteTable' => [
        'Associations' => [
            [
                'AssociationState' => [
                    'State' => 'associating|associated|disassociating|disassociated|failed',
                    'StatusMessage' => '<string>',
                ],
                'GatewayId' => '<string>',
                'Main' => true || false,
                'RouteTableAssociationId' => '<string>',
                'RouteTableId' => '<string>',
                'SubnetId' => '<string>',
            ],
            // ...
        ],
        'OwnerId' => '<string>',
        'PropagatingVgws' => [
            [
                'GatewayId' => '<string>',
            ],
            // ...
        ],
        'RouteTableId' => '<string>',
        'Routes' => [
            [
                'CarrierGatewayId' => '<string>',
                'CoreNetworkArn' => '<string>',
                'DestinationCidrBlock' => '<string>',
                'DestinationIpv6CidrBlock' => '<string>',
                'DestinationPrefixListId' => '<string>',
                'EgressOnlyInternetGatewayId' => '<string>',
                'GatewayId' => '<string>',
                'InstanceId' => '<string>',
                'InstanceOwnerId' => '<string>',
                'LocalGatewayId' => '<string>',
                'NatGatewayId' => '<string>',
                'NetworkInterfaceId' => '<string>',
                'Origin' => 'CreateRouteTable|CreateRoute|EnableVgwRoutePropagation',
                'State' => 'active|blackhole',
                'TransitGatewayId' => '<string>',
                'VpcPeeringConnectionId' => '<string>',
            ],
            // ...
        ],
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'VpcId' => '<string>',
    ],
]

Result Details

Members
ClientToken
Type: string

Unique, case-sensitive identifier to ensure the idempotency of the request. Only returned if a client token was provided in the request.

RouteTable
Type: RouteTable structure

Information about the route table.

Errors

There are no errors described for this operation.

Examples

Example 1: To create a route table

This example creates a route table for the specified VPC.

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

Result syntax:

[
    'RouteTable' => [
        'Associations' => [
        ],
        'PropagatingVgws' => [
        ],
        'RouteTableId' => 'rtb-22574640',
        'Routes' => [
            [
                'DestinationCidrBlock' => '10.0.0.0/16',
                'GatewayId' => 'local',
                'State' => 'active',
            ],
        ],
        'Tags' => [
        ],
        'VpcId' => 'vpc-a01106c2',
    ],
]

CreateSecurityGroup

$result = $client->createSecurityGroup([/* ... */]);
$promise = $client->createSecurityGroupAsync([/* ... */]);

Creates a security group.

A security group acts as a virtual firewall for your instance to control inbound and outbound traffic. For more information, see Amazon EC2 security groups in the Amazon EC2 User Guide and Security groups for your VPC in the Amazon VPC User Guide.

When you create a security group, you specify a friendly name of your choice. You can't have two security groups for the same VPC with the same name.

You have a default security group for use in your VPC. If you don't specify a security group when you launch an instance, the instance is launched into the appropriate default security group. A default security group includes a default rule that grants instances unrestricted network access to each other.

You can add or remove rules from your security groups using AuthorizeSecurityGroupIngress, AuthorizeSecurityGroupEgress, RevokeSecurityGroupIngress, and RevokeSecurityGroupEgress.

For more information about VPC security group limits, see Amazon VPC Limits.

Parameter Syntax

$result = $client->createSecurityGroup([
    'Description' => '<string>', // REQUIRED
    'DryRun' => true || false,
    'GroupName' => '<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>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'VpcId' => '<string>',
]);

Parameter Details

Members
Description
Required: Yes
Type: string

A description for the security group.

Constraints: Up to 255 characters in length

Valid characters: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*

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.

GroupName
Required: Yes
Type: string

The name of the security group.

Constraints: Up to 255 characters in length. Cannot start with sg-.

Valid characters: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*

TagSpecifications
Type: Array of TagSpecification structures

The tags to assign to the security group.

VpcId
Type: string

The ID of the VPC. Required for a nondefault VPC.

Result Syntax

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

Result Details

Members
GroupId
Type: string

The ID of the security group.

SecurityGroupArn
Type: string

The security group ARN.

Tags
Type: Array of Tag structures

The tags assigned to the security group.

Errors

There are no errors described for this operation.

Examples

Example 1: To create a security group for a VPC

This example creates a security group for the specified VPC.

$result = $client->createSecurityGroup([
    'Description' => 'My security group',
    'GroupName' => 'my-security-group',
    'VpcId' => 'vpc-1a2b3c4d',
]);

Result syntax:

[
    'GroupId' => 'sg-903004f8',
]

CreateSnapshot

$result = $client->createSnapshot([/* ... */]);
$promise = $client->createSnapshotAsync([/* ... */]);

Creates a snapshot of an EBS volume and stores it in Amazon S3. You can use snapshots for backups, to make copies of EBS volumes, and to save data before shutting down an instance.

You can create snapshots of volumes in a Region and volumes on an Outpost. If you create a snapshot of a volume in a Region, the snapshot must be stored in the same Region as the volume. If you create a snapshot of a volume on an Outpost, the snapshot can be stored on the same Outpost as the volume, or in the Region for that Outpost.

When a snapshot is created, any Amazon Web Services Marketplace product codes that are associated with the source volume are propagated to the snapshot.

You can take a snapshot of an attached volume that is in use. However, snapshots only capture data that has been written to your Amazon EBS volume at the time the snapshot command is issued; this might exclude any data that has been cached by any applications or the operating system. If you can pause any file systems on the volume long enough to take a snapshot, your snapshot should be complete. However, if you cannot pause all file writes to the volume, you should unmount the volume from within the instance, issue the snapshot command, and then remount the volume to ensure a consistent and complete snapshot. You may remount and use your volume while the snapshot status is pending.

When you create a snapshot for an EBS volume that serves as a root device, we recommend that you stop the instance before taking the snapshot.

Snapshots that are taken from encrypted volumes are automatically encrypted. Volumes that are created from encrypted snapshots are also automatically encrypted. Your encrypted volumes and any associated snapshots always remain protected.

You can tag your snapshots during creation. For more information, see Tag your Amazon EC2 resources in the Amazon EC2 User Guide.

For more information, see Amazon EBS and Amazon EBS encryption in the Amazon EBS User Guide.

Parameter Syntax

$result = $client->createSnapshot([
    'Description' => '<string>',
    'DryRun' => true || false,
    'OutpostArn' => '<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>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'VolumeId' => '<string>', // REQUIRED
]);

Parameter Details

Members
Description
Type: string

A description for the snapshot.

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.

OutpostArn
Type: string

The Amazon Resource Name (ARN) of the Outpost on which to create a local snapshot.

  • To create a snapshot of a volume in a Region, omit this parameter. The snapshot is created in the same Region as the volume.

  • To create a snapshot of a volume on an Outpost and store the snapshot in the Region, omit this parameter. The snapshot is created in the Region for the Outpost.

  • To create a snapshot of a volume on an Outpost and store the snapshot on an Outpost, specify the ARN of the destination Outpost. The snapshot must be created on the same Outpost as the volume.

For more information, see Create local snapshots from volumes on an Outpost in the Amazon EBS User Guide.

TagSpecifications
Type: Array of TagSpecification structures

The tags to apply to the snapshot during creation.

VolumeId
Required: Yes
Type: string

The ID of the Amazon EBS volume.

Result Syntax

[
    'DataEncryptionKeyId' => '<string>',
    'Description' => '<string>',
    'Encrypted' => true || false,
    'KmsKeyId' => '<string>',
    'OutpostArn' => '<string>',
    'OwnerAlias' => '<string>',
    'OwnerId' => '<string>',
    'Progress' => '<string>',
    'RestoreExpiryTime' => <DateTime>,
    'SnapshotId' => '<string>',
    'SseType' => 'sse-ebs|sse-kms|none',
    'StartTime' => <DateTime>,
    'State' => 'pending|completed|error|recoverable|recovering',
    'StateMessage' => '<string>',
    'StorageTier' => 'archive|standard',
    'Tags' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
    'VolumeId' => '<string>',
    'VolumeSize' => <integer>,
]

Result Details

Members
DataEncryptionKeyId
Type: string

The data encryption key identifier for the snapshot. This value is a unique identifier that corresponds to the data encryption key that was used to encrypt the original volume or snapshot copy. Because data encryption keys are inherited by volumes created from snapshots, and vice versa, if snapshots share the same data encryption key identifier, then they belong to the same volume/snapshot lineage. This parameter is only returned by DescribeSnapshots.

Description
Type: string

The description for the snapshot.

Encrypted
Type: boolean

Indicates whether the snapshot is encrypted.

KmsKeyId
Type: string

The Amazon Resource Name (ARN) of the KMS key that was used to protect the volume encryption key for the parent volume.

OutpostArn
Type: string

The ARN of the Outpost on which the snapshot is stored. For more information, see Amazon EBS local snapshots on Outposts in the Amazon EBS User Guide.

OwnerAlias
Type: string

The Amazon Web Services owner alias, from an Amazon-maintained list (amazon). This is not the user-configured Amazon Web Services account alias set using the IAM console.

OwnerId
Type: string

The ID of the Amazon Web Services account that owns the EBS snapshot.

Progress
Type: string

The progress of the snapshot, as a percentage.

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

Only for archived snapshots that are temporarily restored. Indicates the date and time when a temporarily restored snapshot will be automatically re-archived.

SnapshotId
Type: string

The ID of the snapshot. Each snapshot receives a unique identifier when it is created.

SseType
Type: string

Reserved for future use.

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

The time stamp when the snapshot was initiated.

State
Type: string

The snapshot state.

StateMessage
Type: string

Encrypted Amazon EBS snapshots are copied asynchronously. If a snapshot copy operation fails (for example, if the proper KMS permissions are not obtained) this field displays error state details to help you diagnose why the error occurred. This parameter is only returned by DescribeSnapshots.

StorageTier
Type: string

The storage tier in which the snapshot is stored. standard indicates that the snapshot is stored in the standard snapshot storage tier and that it is ready for use. archive indicates that the snapshot is currently archived and that it must be restored before it can be used.

Tags
Type: Array of Tag structures

Any tags assigned to the snapshot.

VolumeId
Type: string

The ID of the volume that was used to create the snapshot. Snapshots created by the CopySnapshot action have an arbitrary volume ID that should not be used for any purpose.

VolumeSize
Type: int

The size of the volume, in GiB.

Errors

There are no errors described for this operation.

Examples

Example 1: To create a snapshot

This example creates a snapshot of the volume with a volume ID of ``vol-1234567890abcdef0`` and a short description to identify the snapshot.

$result = $client->createSnapshot([
    'Description' => 'This is my root volume snapshot.',
    'VolumeId' => 'vol-1234567890abcdef0',
]);

Result syntax:

[
    'Description' => 'This is my root volume snapshot.',
    'OwnerId' => '012345678910',
    'SnapshotId' => 'snap-066877671789bd71b',
    'StartTime' => ,
    'State' => 'pending',
    'Tags' => [
    ],
    'VolumeId' => 'vol-1234567890abcdef0',
    'VolumeSize' => 8,
]

CreateSnapshots

$result = $client->createSnapshots([/* ... */]);
$promise = $client->createSnapshotsAsync([/* ... */]);

Creates crash-consistent snapshots of multiple EBS volumes and stores the data in S3. Volumes are chosen by specifying an instance. Any attached volumes will produce one snapshot each that is crash-consistent across the instance.

You can include all of the volumes currently attached to the instance, or you can exclude the root volume or specific data (non-root) volumes from the multi-volume snapshot set.

You can create multi-volume snapshots of instances in a Region and instances on an Outpost. If you create snapshots from an instance in a Region, the snapshots must be stored in the same Region as the instance. If you create snapshots from an instance on an Outpost, the snapshots can be stored on the same Outpost as the instance, or in the Region for that Outpost.

Parameter Syntax

$result = $client->createSnapshots([
    'CopyTagsFromSource' => 'volume',
    'Description' => '<string>',
    'DryRun' => true || false,
    'InstanceSpecification' => [ // REQUIRED
        'ExcludeBootVolume' => true || false,
        'ExcludeDataVolumeIds' => ['<string>', ...],
        'InstanceId' => '<string>', // REQUIRED
    ],
    'OutpostArn' => '<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
CopyTagsFromSource
Type: string

Copies the tags from the specified volume to corresponding snapshot.

Description
Type: string

A description propagated to every snapshot specified by the instance.

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.

InstanceSpecification
Required: Yes
Type: InstanceSpecification structure

The instance to specify which volumes should be included in the snapshots.

OutpostArn
Type: string

The Amazon Resource Name (ARN) of the Outpost on which to create the local snapshots.

  • To create snapshots from an instance in a Region, omit this parameter. The snapshots are created in the same Region as the instance.

  • To create snapshots from an instance on an Outpost and store the snapshots in the Region, omit this parameter. The snapshots are created in the Region for the Outpost.

  • To create snapshots from an instance on an Outpost and store the snapshots on an Outpost, specify the ARN of the destination Outpost. The snapshots must be created on the same Outpost as the instance.

For more information, see Create multi-volume local snapshots from instances on an Outpost in the Amazon EBS User Guide.

TagSpecifications
Type: Array of TagSpecification structures

Tags to apply to every snapshot specified by the instance.

Result Syntax

[
    'Snapshots' => [
        [
            'Description' => '<string>',
            'Encrypted' => true || false,
            'OutpostArn' => '<string>',
            'OwnerId' => '<string>',
            'Progress' => '<string>',
            'SnapshotId' => '<string>',
            'SseType' => 'sse-ebs|sse-kms|none',
            'StartTime' => <DateTime>,
            'State' => 'pending|completed|error|recoverable|recovering',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'VolumeId' => '<string>',
            'VolumeSize' => <integer>,
        ],
        // ...
    ],
]

Result Details

Members
Snapshots
Type: Array of SnapshotInfo structures

List of snapshots.

Errors

There are no errors described for this operation.

CreateSpotDatafeedSubscription

$result = $client->createSpotDatafeedSubscription([/* ... */]);
$promise = $client->createSpotDatafeedSubscriptionAsync([/* ... */]);

Creates a data feed for Spot Instances, enabling you to view Spot Instance usage logs. You can create one data feed per Amazon Web Services account. For more information, see Spot Instance data feed in the Amazon EC2 User Guide.

Parameter Syntax

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

Parameter Details

Members
Bucket
Required: Yes
Type: string

The name of the Amazon S3 bucket in which to store the Spot Instance data feed. For more information about bucket names, see Bucket naming rules in the Amazon S3 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.

Prefix
Type: string

The prefix for the data feed file names.

Result Syntax

[
    'SpotDatafeedSubscription' => [
        'Bucket' => '<string>',
        'Fault' => [
            'Code' => '<string>',
            'Message' => '<string>',
        ],
        'OwnerId' => '<string>',
        'Prefix' => '<string>',
        'State' => 'Active|Inactive',
    ],
]

Result Details

Members
SpotDatafeedSubscription
Type: SpotDatafeedSubscription structure

The Spot Instance data feed subscription.

Errors

There are no errors described for this operation.

Examples

Example 1: To create a Spot Instance datafeed

This example creates a Spot Instance data feed for your AWS account.

$result = $client->createSpotDatafeedSubscription([
    'Bucket' => 'my-s3-bucket',
    'Prefix' => 'spotdata',
]);

Result syntax:

[
    'SpotDatafeedSubscription' => [
        'Bucket' => 'my-s3-bucket',
        'OwnerId' => '123456789012',
        'Prefix' => 'spotdata',
        'State' => 'Active',
    ],
]

CreateStoreImageTask

$result = $client->createStoreImageTask([/* ... */]);
$promise = $client->createStoreImageTaskAsync([/* ... */]);

Stores an AMI as a single object in an Amazon S3 bucket.

To use this API, you must have the required permissions. For more information, see Permissions for storing and restoring AMIs using Amazon S3 in the Amazon EC2 User Guide.

For more information, see Store and restore an AMI using Amazon S3 in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->createStoreImageTask([
    'Bucket' => '<string>', // REQUIRED
    'DryRun' => true || false,
    'ImageId' => '<string>', // REQUIRED
    'S3ObjectTags' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
]);

Parameter Details

Members
Bucket
Required: Yes
Type: string

The name of the Amazon S3 bucket in which the AMI object will be stored. The bucket must be in the Region in which the request is being made. The AMI object appears in the bucket only after the upload task has completed.

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.

S3ObjectTags
Type: Array of S3ObjectTag structures

The tags to apply to the AMI object that will be stored in the Amazon S3 bucket.

Result Syntax

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

Result Details

Members
ObjectKey
Type: string

The name of the stored AMI object in the S3 bucket.

Errors

There are no errors described for this operation.

CreateSubnet

$result = $client->createSubnet([/* ... */]);
$promise = $client->createSubnetAsync([/* ... */]);

Creates a subnet in the specified VPC. For an IPv4 only subnet, specify an IPv4 CIDR block. If the VPC has an IPv6 CIDR block, you can create an IPv6 only subnet or a dual stack subnet instead. For an IPv6 only subnet, specify an IPv6 CIDR block. For a dual stack subnet, specify both an IPv4 CIDR block and an IPv6 CIDR block.

A subnet CIDR block must not overlap the CIDR block of an existing subnet in the VPC. After you create a subnet, you can't change its CIDR block.

The allowed size for an IPv4 subnet is between a /28 netmask (16 IP addresses) and a /16 netmask (65,536 IP addresses). Amazon Web Services reserves both the first four and the last IPv4 address in each subnet's CIDR block. They're not available for your use.

If you've associated an IPv6 CIDR block with your VPC, you can associate an IPv6 CIDR block with a subnet when you create it.

If you add more than one subnet to a VPC, they're set up in a star topology with a logical router in the middle.

When you stop an instance in a subnet, it retains its private IPv4 address. It's therefore possible to have a subnet with no running instances (they're all stopped), but no remaining IP addresses available.

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

Parameter Syntax

$result = $client->createSubnet([
    'AvailabilityZone' => '<string>',
    'AvailabilityZoneId' => '<string>',
    'CidrBlock' => '<string>',
    'DryRun' => true || false,
    'Ipv4IpamPoolId' => '<string>',
    'Ipv4NetmaskLength' => <integer>,
    'Ipv6CidrBlock' => '<string>',
    'Ipv6IpamPoolId' => '<string>',
    'Ipv6Native' => true || false,
    'Ipv6NetmaskLength' => <integer>,
    'OutpostArn' => '<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>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'VpcId' => '<string>', // REQUIRED
]);

Parameter Details

Members
AvailabilityZone
Type: string

The Availability Zone or Local Zone for the subnet.

Default: Amazon Web Services selects one for you. If you create more than one subnet in your VPC, we do not necessarily select a different zone for each subnet.

To create a subnet in a Local Zone, set this value to the Local Zone ID, for example us-west-2-lax-1a. For information about the Regions that support Local Zones, see Available Local Zones.

To create a subnet in an Outpost, set this value to the Availability Zone for the Outpost and specify the Outpost ARN.

AvailabilityZoneId
Type: string

The AZ ID or the Local Zone ID of the subnet.

CidrBlock
Type: string

The IPv4 network range for the subnet, in CIDR notation. For example, 10.0.0.0/24. We modify the specified CIDR block to its canonical form; for example, if you specify 100.68.0.18/18, we modify it to 100.68.0.0/18.

This parameter is not supported for an IPv6 only 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.

Ipv4IpamPoolId
Type: string

An IPv4 IPAM pool ID for the subnet.

Ipv4NetmaskLength
Type: int

An IPv4 netmask length for the subnet.

Ipv6CidrBlock
Type: string

The IPv6 network range for the subnet, in CIDR notation. This parameter is required for an IPv6 only subnet.

Ipv6IpamPoolId
Type: string

An IPv6 IPAM pool ID for the subnet.

Ipv6Native
Type: boolean

Indicates whether to create an IPv6 only subnet.

Ipv6NetmaskLength
Type: int

An IPv6 netmask length for the subnet.

OutpostArn
Type: string

The Amazon Resource Name (ARN) of the Outpost. If you specify an Outpost ARN, you must also specify the Availability Zone of the Outpost subnet.

TagSpecifications
Type: Array of TagSpecification structures

The tags to assign to the subnet.

VpcId
Required: Yes
Type: string

The ID of the VPC.

Result Syntax

[
    'Subnet' => [
        'AssignIpv6AddressOnCreation' => true || false,
        'AvailabilityZone' => '<string>',
        'AvailabilityZoneId' => '<string>',
        'AvailableIpAddressCount' => <integer>,
        '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.

Examples

Example 1: To create a subnet

This example creates a subnet in the specified VPC with the specified CIDR block. We recommend that you let us select an Availability Zone for you.

$result = $client->createSubnet([
    'CidrBlock' => '10.0.1.0/24',
    'VpcId' => 'vpc-a01106c2',
]);

Result syntax:

[
    'Subnet' => [
        'AvailabilityZone' => 'us-west-2c',
        'AvailableIpAddressCount' => 251,
        'CidrBlock' => '10.0.1.0/24',
        'State' => 'pending',
        'SubnetId' => 'subnet-9d4a7b6c',
        'VpcId' => 'vpc-a01106c2',
    ],
]

CreateSubnetCidrReservation

$result = $client->createSubnetCidrReservation([/* ... */]);
$promise = $client->createSubnetCidrReservationAsync([/* ... */]);

Creates a subnet CIDR reservation. For more information, see Subnet CIDR reservations in the Amazon VPC User Guide and Manage prefixes for your network interfaces in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->createSubnetCidrReservation([
    'Cidr' => '<string>', // REQUIRED
    'Description' => '<string>',
    'DryRun' => true || false,
    'ReservationType' => 'prefix|explicit', // REQUIRED
    '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
Cidr
Required: Yes
Type: string

The IPv4 or IPV6 CIDR range to reserve.

Description
Type: string

The description to assign to the subnet CIDR 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.

ReservationType
Required: Yes
Type: string

The type of reservation. The reservation type determines how the reserved IP addresses are assigned to resources.

  • prefix - Amazon Web Services assigns the reserved IP addresses to network interfaces.

  • explicit - You assign the reserved IP addresses to network interfaces.

SubnetId
Required: Yes
Type: string

The ID of the subnet.

TagSpecifications
Type: Array of TagSpecification structures

The tags to assign to the subnet CIDR reservation.

Result Syntax

[
    'SubnetCidrReservation' => [
        'Cidr' => '<string>',
        'Description' => '<string>',
        'OwnerId' => '<string>',
        'ReservationType' => 'prefix|explicit',
        'SubnetCidrReservationId' => '<string>',
        'SubnetId' => '<string>',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
    ],
]

Result Details

Members
SubnetCidrReservation
Type: SubnetCidrReservation structure

Information about the created subnet CIDR reservation.

Errors

There are no errors described for this operation.

CreateTags

$result = $client->createTags([/* ... */]);
$promise = $client->createTagsAsync([/* ... */]);

Adds or overwrites only the specified tags for the specified Amazon EC2 resource or resources. When you specify an existing tag key, the value is overwritten with the new value. Each resource can have a maximum of 50 tags. Each tag consists of a key and optional value. Tag keys must be unique per resource.

For more information about tags, see Tag your Amazon EC2 resources in the Amazon Elastic Compute Cloud User Guide. For more information about creating IAM policies that control users' access to resources based on tags, see Supported resource-level permissions for Amazon EC2 API actions in the Amazon Elastic Compute Cloud User Guide.

Parameter Syntax

$result = $client->createTags([
    'DryRun' => true || false,
    'Resources' => ['<string>', ...], // REQUIRED
    'Tags' => [ // REQUIRED
        [
            '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.

Resources
Required: Yes
Type: Array of strings

The IDs of the resources, separated by spaces.

Constraints: Up to 1000 resource IDs. We recommend breaking up this request into smaller batches.

Tags
Required: Yes
Type: Array of Tag structures

The tags. The value parameter is required, but if you don't want the tag to have a value, specify the parameter with no value, and we set the value to an empty string.

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 add a tag to a resource

This example adds the tag Stack=production to the specified image, or overwrites an existing tag for the AMI where the tag key is Stack.

$result = $client->createTags([
    'Resources' => [
        'ami-78a54011',
    ],
    'Tags' => [
        [
            'Key' => 'Stack',
            'Value' => 'production',
        ],
    ],
]);

CreateTrafficMirrorFilter

$result = $client->createTrafficMirrorFilter([/* ... */]);
$promise = $client->createTrafficMirrorFilterAsync([/* ... */]);

Creates a Traffic Mirror filter.

A Traffic Mirror filter is a set of rules that defines the traffic to mirror.

By default, no traffic is mirrored. To mirror traffic, use CreateTrafficMirrorFilterRule to add Traffic Mirror rules to the filter. The rules you add define what traffic gets mirrored. You can also use ModifyTrafficMirrorFilterNetworkServices to mirror supported network services.

Parameter Syntax

$result = $client->createTrafficMirrorFilter([
    'ClientToken' => '<string>',
    'Description' => '<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
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.

Description
Type: string

The description of the Traffic Mirror filter.

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 a Traffic Mirror filter.

Result Syntax

[
    'ClientToken' => '<string>',
    'TrafficMirrorFilter' => [
        'Description' => '<string>',
        'EgressFilterRules' => [
            [
                'Description' => '<string>',
                'DestinationCidrBlock' => '<string>',
                'DestinationPortRange' => [
                    'FromPort' => <integer>,
                    'ToPort' => <integer>,
                ],
                'Protocol' => <integer>,
                'RuleAction' => 'accept|reject',
                'RuleNumber' => <integer>,
                'SourceCidrBlock' => '<string>',
                'SourcePortRange' => [
                    'FromPort' => <integer>,
                    'ToPort' => <integer>,
                ],
                'Tags' => [
                    [
                        'Key' => '<string>',
                        'Value' => '<string>',
                    ],
                    // ...
                ],
                'TrafficDirection' => 'ingress|egress',
                'TrafficMirrorFilterId' => '<string>',
                'TrafficMirrorFilterRuleId' => '<string>',
            ],
            // ...
        ],
        'IngressFilterRules' => [
            [
                'Description' => '<string>',
                'DestinationCidrBlock' => '<string>',
                'DestinationPortRange' => [
                    'FromPort' => <integer>,
                    'ToPort' => <integer>,
                ],
                'Protocol' => <integer>,
                'RuleAction' => 'accept|reject',
                'RuleNumber' => <integer>,
                'SourceCidrBlock' => '<string>',
                'SourcePortRange' => [
                    'FromPort' => <integer>,
                    'ToPort' => <integer>,
                ],
                'Tags' => [
                    [
                        'Key' => '<string>',
                        'Value' => '<string>',
                    ],
                    // ...
                ],
                'TrafficDirection' => 'ingress|egress',
                'TrafficMirrorFilterId' => '<string>',
                'TrafficMirrorFilterRuleId' => '<string>',
            ],
            // ...
        ],
        'NetworkServices' => ['<string>', ...],
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'TrafficMirrorFilterId' => '<string>',
    ],
]

Result 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.

TrafficMirrorFilter
Type: TrafficMirrorFilter structure

Information about the Traffic Mirror filter.

Errors

There are no errors described for this operation.

CreateTrafficMirrorFilterRule

$result = $client->createTrafficMirrorFilterRule([/* ... */]);
$promise = $client->createTrafficMirrorFilterRuleAsync([/* ... */]);

Creates a Traffic Mirror filter rule.

A Traffic Mirror rule defines the Traffic Mirror source traffic to mirror.

You need the Traffic Mirror filter ID when you create the rule.

Parameter Syntax

$result = $client->createTrafficMirrorFilterRule([
    'ClientToken' => '<string>',
    'Description' => '<string>',
    'DestinationCidrBlock' => '<string>', // REQUIRED
    'DestinationPortRange' => [
        'FromPort' => <integer>,
        'ToPort' => <integer>,
    ],
    'DryRun' => true || false,
    'Protocol' => <integer>,
    'RuleAction' => 'accept|reject', // REQUIRED
    'RuleNumber' => <integer>, // REQUIRED
    'SourceCidrBlock' => '<string>', // REQUIRED
    'SourcePortRange' => [
        'FromPort' => <integer>,
        'ToPort' => <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>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'TrafficDirection' => 'ingress|egress', // REQUIRED
    'TrafficMirrorFilterId' => '<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.

Description
Type: string

The description of the Traffic Mirror rule.

DestinationCidrBlock
Required: Yes
Type: string

The destination CIDR block to assign to the Traffic Mirror rule.

DestinationPortRange

The destination port 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.

Protocol
Type: int

The protocol, for example UDP, to assign to the Traffic Mirror rule.

For information about the protocol value, see Protocol Numbers on the Internet Assigned Numbers Authority (IANA) website.

RuleAction
Required: Yes
Type: string

The action to take on the filtered traffic.

RuleNumber
Required: Yes
Type: int

The number of the Traffic Mirror rule. This number must be unique for each Traffic Mirror rule in a given direction. The rules are processed in ascending order by rule number.

SourceCidrBlock
Required: Yes
Type: string

The source CIDR block to assign to the Traffic Mirror rule.

SourcePortRange

The source port range.

TagSpecifications
Type: Array of TagSpecification structures

Traffic Mirroring tags specifications.

TrafficDirection
Required: Yes
Type: string

The type of traffic.

TrafficMirrorFilterId
Required: Yes
Type: string

The ID of the filter that this rule is associated with.

Result Syntax

[
    'ClientToken' => '<string>',
    'TrafficMirrorFilterRule' => [
        'Description' => '<string>',
        'DestinationCidrBlock' => '<string>',
        'DestinationPortRange' => [
            'FromPort' => <integer>,
            'ToPort' => <integer>,
        ],
        'Protocol' => <integer>,
        'RuleAction' => 'accept|reject',
        'RuleNumber' => <integer>,
        'SourceCidrBlock' => '<string>',
        'SourcePortRange' => [
            'FromPort' => <integer>,
            'ToPort' => <integer>,
        ],
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'TrafficDirection' => 'ingress|egress',
        'TrafficMirrorFilterId' => '<string>',
        'TrafficMirrorFilterRuleId' => '<string>',
    ],
]

Result 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.

TrafficMirrorFilterRule
Type: TrafficMirrorFilterRule structure

The Traffic Mirror rule.

Errors

There are no errors described for this operation.

CreateTrafficMirrorSession

$result = $client->createTrafficMirrorSession([/* ... */]);
$promise = $client->createTrafficMirrorSessionAsync([/* ... */]);

Creates a Traffic Mirror session.

A Traffic Mirror session actively copies packets from a Traffic Mirror source to a Traffic Mirror target. Create a filter, and then assign it to the session to define a subset of the traffic to mirror, for example all TCP traffic.

The Traffic Mirror source and the Traffic Mirror target (monitoring appliances) can be in the same VPC, or in a different VPC connected via VPC peering or a transit gateway.

By default, no traffic is mirrored. Use CreateTrafficMirrorFilter to create filter rules that specify the traffic to mirror.

Parameter Syntax

$result = $client->createTrafficMirrorSession([
    'ClientToken' => '<string>',
    'Description' => '<string>',
    'DryRun' => true || false,
    'NetworkInterfaceId' => '<string>', // REQUIRED
    'PacketLength' => <integer>,
    'SessionNumber' => <integer>, // 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>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'TrafficMirrorFilterId' => '<string>', // REQUIRED
    'TrafficMirrorTargetId' => '<string>', // REQUIRED
    'VirtualNetworkId' => <integer>,
]);

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.

Description
Type: string

The description of the Traffic Mirror session.

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.

NetworkInterfaceId
Required: Yes
Type: string

The ID of the source network interface.

PacketLength
Type: int

The number of bytes in each packet to mirror. These are bytes after the VXLAN header. Do not specify this parameter when you want to mirror the entire packet. To mirror a subset of the packet, set this to the length (in bytes) that you want to mirror. For example, if you set this value to 100, then the first 100 bytes that meet the filter criteria are copied to the target.

If you do not want to mirror the entire packet, use the PacketLength parameter to specify the number of bytes in each packet to mirror.

For sessions with Network Load Balancer (NLB) Traffic Mirror targets the default PacketLength will be set to 8500. Valid values are 1-8500. Setting a PacketLength greater than 8500 will result in an error response.

SessionNumber
Required: Yes
Type: int

The session number determines the order in which sessions are evaluated when an interface is used by multiple sessions. The first session with a matching filter is the one that mirrors the packets.

Valid values are 1-32766.

TagSpecifications
Type: Array of TagSpecification structures

The tags to assign to a Traffic Mirror session.

TrafficMirrorFilterId
Required: Yes
Type: string

The ID of the Traffic Mirror filter.

TrafficMirrorTargetId
Required: Yes
Type: string

The ID of the Traffic Mirror target.

VirtualNetworkId
Type: int

The VXLAN ID for the Traffic Mirror session. For more information about the VXLAN protocol, see RFC 7348. If you do not specify a VirtualNetworkId, an account-wide unique ID is chosen at random.

Result Syntax

[
    'ClientToken' => '<string>',
    'TrafficMirrorSession' => [
        'Description' => '<string>',
        'NetworkInterfaceId' => '<string>',
        'OwnerId' => '<string>',
        'PacketLength' => <integer>,
        'SessionNumber' => <integer>,
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'TrafficMirrorFilterId' => '<string>',
        'TrafficMirrorSessionId' => '<string>',
        'TrafficMirrorTargetId' => '<string>',
        'VirtualNetworkId' => <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 How to ensure idempotency.

TrafficMirrorSession
Type: TrafficMirrorSession structure

Information about the Traffic Mirror session.

Errors

There are no errors described for this operation.

CreateTrafficMirrorTarget

$result = $client->createTrafficMirrorTarget([/* ... */]);
$promise = $client->createTrafficMirrorTargetAsync([/* ... */]);

Creates a target for your Traffic Mirror session.

A Traffic Mirror target is the destination for mirrored traffic. The Traffic Mirror source and the Traffic Mirror target (monitoring appliances) can be in the same VPC, or in different VPCs connected via VPC peering or a transit gateway.

A Traffic Mirror target can be a network interface, a Network Load Balancer, or a Gateway Load Balancer endpoint.

To use the target in a Traffic Mirror session, use CreateTrafficMirrorSession.

Parameter Syntax

$result = $client->createTrafficMirrorTarget([
    'ClientToken' => '<string>',
    'Description' => '<string>',
    'DryRun' => true || false,
    'GatewayLoadBalancerEndpointId' => '<string>',
    'NetworkInterfaceId' => '<string>',
    'NetworkLoadBalancerArn' => '<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 How to ensure idempotency.

Description
Type: string

The description of the Traffic Mirror target.

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.

GatewayLoadBalancerEndpointId
Type: string

The ID of the Gateway Load Balancer endpoint.

NetworkInterfaceId
Type: string

The network interface ID that is associated with the target.

NetworkLoadBalancerArn
Type: string

The Amazon Resource Name (ARN) of the Network Load Balancer that is associated with the target.

TagSpecifications
Type: Array of TagSpecification structures

The tags to assign to the Traffic Mirror target.

Result Syntax

[
    'ClientToken' => '<string>',
    'TrafficMirrorTarget' => [
        'Description' => '<string>',
        'GatewayLoadBalancerEndpointId' => '<string>',
        'NetworkInterfaceId' => '<string>',
        'NetworkLoadBalancerArn' => '<string>',
        'OwnerId' => '<string>',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'TrafficMirrorTargetId' => '<string>',
        'Type' => 'network-interface|network-load-balancer|gateway-load-balancer-endpoint',
    ],
]

Result 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.

TrafficMirrorTarget
Type: TrafficMirrorTarget structure

Information about the Traffic Mirror target.

Errors

There are no errors described for this operation.

CreateTransitGateway

$result = $client->createTransitGateway([/* ... */]);
$promise = $client->createTransitGatewayAsync([/* ... */]);

Creates a transit gateway.

You can use a transit gateway to interconnect your virtual private clouds (VPC) and on-premises networks. After the transit gateway enters the available state, you can attach your VPCs and VPN connections to the transit gateway.

To attach your VPCs, use CreateTransitGatewayVpcAttachment.

To attach a VPN connection, use CreateCustomerGateway to create a customer gateway and specify the ID of the customer gateway and the ID of the transit gateway in a call to CreateVpnConnection.

When you create a transit gateway, we create a default transit gateway route table and use it as the default association route table and the default propagation route table. You can use CreateTransitGatewayRouteTable to create additional transit gateway route tables. If you disable automatic route propagation, we do not create a default transit gateway route table. You can use EnableTransitGatewayRouteTablePropagation to propagate routes from a resource attachment to a transit gateway route table. If you disable automatic associations, you can use AssociateTransitGatewayRouteTable to associate a resource attachment with a transit gateway route table.

Parameter Syntax

$result = $client->createTransitGateway([
    'Description' => '<string>',
    'DryRun' => true || false,
    'Options' => [
        'AmazonSideAsn' => <integer>,
        'AutoAcceptSharedAttachments' => 'enable|disable',
        'DefaultRouteTableAssociation' => 'enable|disable',
        'DefaultRouteTablePropagation' => 'enable|disable',
        'DnsSupport' => 'enable|disable',
        'MulticastSupport' => 'enable|disable',
        'SecurityGroupReferencingSupport' => 'enable|disable',
        'TransitGatewayCidrBlocks' => ['<string>', ...],
        'VpnEcmpSupport' => 'enable|disable',
    ],
    '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
Description
Type: string

A description of the transit 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.

Options

The transit gateway options.

TagSpecifications
Type: Array of TagSpecification structures

The tags to apply to the transit gateway.

Result Syntax

[
    'TransitGateway' => [
        'CreationTime' => <DateTime>,
        'Description' => '<string>',
        'Options' => [
            'AmazonSideAsn' => <integer>,
            'AssociationDefaultRouteTableId' => '<string>',
            'AutoAcceptSharedAttachments' => 'enable|disable',
            'DefaultRouteTableAssociation' => 'enable|disable',
            'DefaultRouteTablePropagation' => 'enable|disable',
            'DnsSupport' => 'enable|disable',
            'MulticastSupport' => 'enable|disable',
            'PropagationDefaultRouteTableId' => '<string>',
            'SecurityGroupReferencingSupport' => 'enable|disable',
            'TransitGatewayCidrBlocks' => ['<string>', ...],
            'VpnEcmpSupport' => 'enable|disable',
        ],
        'OwnerId' => '<string>',
        'State' => 'pending|available|modifying|deleting|deleted',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'TransitGatewayArn' => '<string>',
        'TransitGatewayId' => '<string>',
    ],
]

Result Details

Members
TransitGateway
Type: TransitGateway structure

Information about the transit gateway.

Errors

There are no errors described for this operation.

CreateTransitGatewayConnect

$result = $client->createTransitGatewayConnect([/* ... */]);
$promise = $client->createTransitGatewayConnectAsync([/* ... */]);

Creates a Connect attachment from a specified transit gateway attachment. A Connect attachment is a GRE-based tunnel attachment that you can use to establish a connection between a transit gateway and an appliance.

A Connect attachment uses an existing VPC or Amazon Web Services Direct Connect attachment as the underlying transport mechanism.

Parameter Syntax

$result = $client->createTransitGatewayConnect([
    'DryRun' => true || false,
    'Options' => [ // REQUIRED
        'Protocol' => 'gre', // 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>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'TransportTransitGatewayAttachmentId' => '<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.

Options
Required: Yes
Type: CreateTransitGatewayConnectRequestOptions structure

The Connect attachment options.

TagSpecifications
Type: Array of TagSpecification structures

The tags to apply to the Connect attachment.

TransportTransitGatewayAttachmentId
Required: Yes
Type: string

The ID of the transit gateway attachment. You can specify a VPC attachment or Amazon Web Services Direct Connect attachment.

Result Syntax

[
    'TransitGatewayConnect' => [
        'CreationTime' => <DateTime>,
        'Options' => [
            'Protocol' => 'gre',
        ],
        'State' => 'initiating|initiatingRequest|pendingAcceptance|rollingBack|pending|available|modifying|deleting|deleted|failed|rejected|rejecting|failing',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'TransitGatewayAttachmentId' => '<string>',
        'TransitGatewayId' => '<string>',
        'TransportTransitGatewayAttachmentId' => '<string>',
    ],
]

Result Details

Members
TransitGatewayConnect
Type: TransitGatewayConnect structure

Information about the Connect attachment.

Errors

There are no errors described for this operation.

CreateTransitGatewayConnectPeer

$result = $client->createTransitGatewayConnectPeer([/* ... */]);
$promise = $client->createTransitGatewayConnectPeerAsync([/* ... */]);

Creates a Connect peer for a specified transit gateway Connect attachment between a transit gateway and an appliance.

The peer address and transit gateway address must be the same IP address family (IPv4 or IPv6).

For more information, see Connect peers in the Amazon Web Services Transit Gateways Guide.

Parameter Syntax

$result = $client->createTransitGatewayConnectPeer([
    'BgpOptions' => [
        'PeerAsn' => <integer>,
    ],
    'DryRun' => true || false,
    'InsideCidrBlocks' => ['<string>', ...], // REQUIRED
    'PeerAddress' => '<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>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'TransitGatewayAddress' => '<string>',
    'TransitGatewayAttachmentId' => '<string>', // REQUIRED
]);

Parameter Details

Members
BgpOptions

The BGP options for the Connect peer.

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.

InsideCidrBlocks
Required: Yes
Type: Array of strings

The range of inside IP addresses that are used for BGP peering. You must specify a size /29 IPv4 CIDR block from the 169.254.0.0/16 range. The first address from the range must be configured on the appliance as the BGP IP address. You can also optionally specify a size /125 IPv6 CIDR block from the fd00::/8 range.

PeerAddress
Required: Yes
Type: string

The peer IP address (GRE outer IP address) on the appliance side of the Connect peer.

TagSpecifications
Type: Array of TagSpecification structures

The tags to apply to the Connect peer.

TransitGatewayAddress
Type: string

The peer IP address (GRE outer IP address) on the transit gateway side of the Connect peer, which must be specified from a transit gateway CIDR block. If not specified, Amazon automatically assigns the first available IP address from the transit gateway CIDR block.

TransitGatewayAttachmentId
Required: Yes
Type: string

The ID of the Connect attachment.

Result Syntax

[
    'TransitGatewayConnectPeer' => [
        'ConnectPeerConfiguration' => [
            'BgpConfigurations' => [
                [
                    'BgpStatus' => 'up|down',
                    'PeerAddress' => '<string>',
                    'PeerAsn' => <integer>,
                    'TransitGatewayAddress' => '<string>',
                    'TransitGatewayAsn' => <integer>,
                ],
                // ...
            ],
            'InsideCidrBlocks' => ['<string>', ...],
            'PeerAddress' => '<string>',
            'Protocol' => 'gre',
            'TransitGatewayAddress' => '<string>',
        ],
        'CreationTime' => <DateTime>,
        'State' => 'pending|available|deleting|deleted',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'TransitGatewayAttachmentId' => '<string>',
        'TransitGatewayConnectPeerId' => '<string>',
    ],
]

Result Details

Members
TransitGatewayConnectPeer
Type: TransitGatewayConnectPeer structure

Information about the Connect peer.

Errors

There are no errors described for this operation.

CreateTransitGatewayMulticastDomain

$result = $client->createTransitGatewayMulticastDomain([/* ... */]);
$promise = $client->createTransitGatewayMulticastDomainAsync([/* ... */]);

Creates a multicast domain using the specified transit gateway.

The transit gateway must be in the available state before you create a domain. Use DescribeTransitGateways to see the state of transit gateway.

Parameter Syntax

$result = $client->createTransitGatewayMulticastDomain([
    'DryRun' => true || false,
    'Options' => [
        'AutoAcceptSharedAssociations' => 'enable|disable',
        'Igmpv2Support' => 'enable|disable',
        'StaticSourcesSupport' => 'enable|disable',
    ],
    '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>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'TransitGatewayId' => '<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.

Options

The options for the transit gateway multicast domain.

TagSpecifications
Type: Array of TagSpecification structures

The tags for the transit gateway multicast domain.

TransitGatewayId
Required: Yes
Type: string

The ID of the transit gateway.

Result Syntax

[
    'TransitGatewayMulticastDomain' => [
        'CreationTime' => <DateTime>,
        'Options' => [
            'AutoAcceptSharedAssociations' => 'enable|disable',
            'Igmpv2Support' => 'enable|disable',
            'StaticSourcesSupport' => 'enable|disable',
        ],
        'OwnerId' => '<string>',
        'State' => 'pending|available|deleting|deleted',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'TransitGatewayId' => '<string>',
        'TransitGatewayMulticastDomainArn' => '<string>',
        'TransitGatewayMulticastDomainId' => '<string>',
    ],
]

Result Details

Members
TransitGatewayMulticastDomain

Information about the transit gateway multicast domain.

Errors

There are no errors described for this operation.

CreateTransitGatewayPeeringAttachment

$result = $client->createTransitGatewayPeeringAttachment([/* ... */]);
$promise = $client->createTransitGatewayPeeringAttachmentAsync([/* ... */]);

Requests a transit gateway peering attachment between the specified transit gateway (requester) and a peer transit gateway (accepter). The peer transit gateway can be in your account or a different Amazon Web Services account.

After you create the peering attachment, the owner of the accepter transit gateway must accept the attachment request.

Parameter Syntax

$result = $client->createTransitGatewayPeeringAttachment([
    'DryRun' => true || false,
    'Options' => [
        'DynamicRouting' => 'enable|disable',
    ],
    'PeerAccountId' => '<string>', // REQUIRED
    'PeerRegion' => '<string>', // REQUIRED
    'PeerTransitGatewayId' => '<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>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'TransitGatewayId' => '<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.

Options

Requests a transit gateway peering attachment.

PeerAccountId
Required: Yes
Type: string

The ID of the Amazon Web Services account that owns the peer transit gateway.

PeerRegion
Required: Yes
Type: string

The Region where the peer transit gateway is located.

PeerTransitGatewayId
Required: Yes
Type: string

The ID of the peer transit gateway with which to create the peering attachment.

TagSpecifications
Type: Array of TagSpecification structures

The tags to apply to the transit gateway peering attachment.

TransitGatewayId
Required: Yes
Type: string

The ID of the transit gateway.

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.

CreateTransitGatewayPolicyTable

$result = $client->createTransitGatewayPolicyTable([/* ... */]);
$promise = $client->createTransitGatewayPolicyTableAsync([/* ... */]);

Creates a transit gateway policy table.

Parameter Syntax

$result = $client->createTransitGatewayPolicyTable([
    '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>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'TransitGatewayId' => '<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.

TagSpecifications
Type: Array of TagSpecification structures

The tags specification for the transit gateway policy table created during the request.

TransitGatewayId
Required: Yes
Type: string

The ID of the transit gateway used for the policy table.

Result Syntax

[
    'TransitGatewayPolicyTable' => [
        'CreationTime' => <DateTime>,
        'State' => 'pending|available|deleting|deleted',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'TransitGatewayId' => '<string>',
        'TransitGatewayPolicyTableId' => '<string>',
    ],
]

Result Details

Members
TransitGatewayPolicyTable
Type: TransitGatewayPolicyTable structure

Describes the created transit gateway policy table.

Errors

There are no errors described for this operation.

CreateTransitGatewayPrefixListReference

$result = $client->createTransitGatewayPrefixListReference([/* ... */]);
$promise = $client->createTransitGatewayPrefixListReferenceAsync([/* ... */]);

Creates a reference (route) to a prefix list in a specified transit gateway route table.

Parameter Syntax

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

Parameter Details

Members
Blackhole
Type: boolean

Indicates whether to drop traffic that matches this route.

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.

PrefixListId
Required: Yes
Type: string

The ID of the prefix list that is used for destination matches.

TransitGatewayAttachmentId
Type: string

The ID of the attachment to which traffic is routed.

TransitGatewayRouteTableId
Required: Yes
Type: string

The ID of the transit gateway route table.

Result Syntax

[
    'TransitGatewayPrefixListReference' => [
        'Blackhole' => true || false,
        'PrefixListId' => '<string>',
        'PrefixListOwnerId' => '<string>',
        'State' => 'pending|available|modifying|deleting',
        'TransitGatewayAttachment' => [
            'ResourceId' => '<string>',
            'ResourceType' => 'vpc|vpn|direct-connect-gateway|connect|peering|tgw-peering',
            'TransitGatewayAttachmentId' => '<string>',
        ],
        'TransitGatewayRouteTableId' => '<string>',
    ],
]

Result Details

Members
TransitGatewayPrefixListReference

Information about the prefix list reference.

Errors

There are no errors described for this operation.

CreateTransitGatewayRoute

$result = $client->createTransitGatewayRoute([/* ... */]);
$promise = $client->createTransitGatewayRouteAsync([/* ... */]);

Creates a static route for the specified transit gateway route table.

Parameter Syntax

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

Parameter Details

Members
Blackhole
Type: boolean

Indicates whether to drop traffic that matches this route.

DestinationCidrBlock
Required: Yes
Type: string

The CIDR range used for destination matches. Routing decisions are based on the most specific match.

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
Type: string

The ID of the attachment.

TransitGatewayRouteTableId
Required: Yes
Type: string

The ID of the transit gateway route table.

Result Syntax

[
    'Route' => [
        'DestinationCidrBlock' => '<string>',
        'PrefixListId' => '<string>',
        'State' => 'pending|active|blackhole|deleting|deleted',
        'TransitGatewayAttachments' => [
            [
                'ResourceId' => '<string>',
                'ResourceType' => 'vpc|vpn|direct-connect-gateway|connect|peering|tgw-peering',
                'TransitGatewayAttachmentId' => '<string>',
            ],
            // ...
        ],
        'TransitGatewayRouteTableAnnouncementId' => '<string>',
        'Type' => 'static|propagated',
    ],
]

Result Details

Members
Route
Type: TransitGatewayRoute structure

Information about the route.

Errors

There are no errors described for this operation.

CreateTransitGatewayRouteTable

$result = $client->createTransitGatewayRouteTable([/* ... */]);
$promise = $client->createTransitGatewayRouteTableAsync([/* ... */]);

Creates a route table for the specified transit gateway.

Parameter Syntax

$result = $client->createTransitGatewayRouteTable([
    '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>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'TransitGatewayId' => '<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.

TagSpecifications
Type: Array of TagSpecification structures

The tags to apply to the transit gateway route table.

TransitGatewayId
Required: Yes
Type: string

The ID of the transit gateway.

Result Syntax

[
    'TransitGatewayRouteTable' => [
        'CreationTime' => <DateTime>,
        'DefaultAssociationRouteTable' => true || false,
        'DefaultPropagationRouteTable' => true || false,
        'State' => 'pending|available|deleting|deleted',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'TransitGatewayId' => '<string>',
        'TransitGatewayRouteTableId' => '<string>',
    ],
]

Result Details

Members
TransitGatewayRouteTable
Type: TransitGatewayRouteTable structure

Information about the transit gateway route table.

Errors

There are no errors described for this operation.

CreateTransitGatewayRouteTableAnnouncement

$result = $client->createTransitGatewayRouteTableAnnouncement([/* ... */]);
$promise = $client->createTransitGatewayRouteTableAnnouncementAsync([/* ... */]);

Advertises a new transit gateway route table.

Parameter Syntax

$result = $client->createTransitGatewayRouteTableAnnouncement([
    'DryRun' => true || false,
    'PeeringAttachmentId' => '<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>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    '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.

PeeringAttachmentId
Required: Yes
Type: string

The ID of the peering attachment.

TagSpecifications
Type: Array of TagSpecification structures

The tags specifications applied to the transit gateway route table announcement.

TransitGatewayRouteTableId
Required: Yes
Type: string

The ID of the transit gateway route table.

Result Syntax

[
    'TransitGatewayRouteTableAnnouncement' => [
        'AnnouncementDirection' => 'outgoing|incoming',
        'CoreNetworkId' => '<string>',
        'CreationTime' => <DateTime>,
        'PeerCoreNetworkId' => '<string>',
        'PeerTransitGatewayId' => '<string>',
        'PeeringAttachmentId' => '<string>',
        'State' => 'available|pending|failing|failed|deleting|deleted',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'TransitGatewayId' => '<string>',
        'TransitGatewayRouteTableAnnouncementId' => '<string>',
        'TransitGatewayRouteTableId' => '<string>',
    ],
]

Result Details

Members
TransitGatewayRouteTableAnnouncement

Provides details about the transit gateway route table announcement.

Errors

There are no errors described for this operation.

CreateTransitGatewayVpcAttachment

$result = $client->createTransitGatewayVpcAttachment([/* ... */]);
$promise = $client->createTransitGatewayVpcAttachmentAsync([/* ... */]);

Attaches the specified VPC to the specified transit gateway.

If you attach a VPC with a CIDR range that overlaps the CIDR range of a VPC that is already attached, the new VPC CIDR range is not propagated to the default propagation route table.

To send VPC traffic to an attached transit gateway, add a route to the VPC route table using CreateRoute.

Parameter Syntax

$result = $client->createTransitGatewayVpcAttachment([
    'DryRun' => true || false,
    'Options' => [
        'ApplianceModeSupport' => 'enable|disable',
        'DnsSupport' => 'enable|disable',
        'Ipv6Support' => 'enable|disable',
        'SecurityGroupReferencingSupport' => 'enable|disable',
    ],
    'SubnetIds' => ['<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>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'TransitGatewayId' => '<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.

Options

The VPC attachment options.

SubnetIds
Required: Yes
Type: Array of strings

The IDs of one or more subnets. You can specify only one subnet per Availability Zone. You must specify at least one subnet, but we recommend that you specify two subnets for better availability. The transit gateway uses one IP address from each specified subnet.

TagSpecifications
Type: Array of TagSpecification structures

The tags to apply to the VPC attachment.

TransitGatewayId
Required: Yes
Type: string

The ID of the transit gateway.

VpcId
Required: Yes
Type: string

The ID of the VPC.

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

Information about the VPC attachment.

Errors

There are no errors described for this operation.

CreateVerifiedAccessEndpoint

$result = $client->createVerifiedAccessEndpoint([/* ... */]);
$promise = $client->createVerifiedAccessEndpointAsync([/* ... */]);

An Amazon Web Services Verified Access endpoint is where you define your application along with an optional endpoint-level access policy.

Parameter Syntax

$result = $client->createVerifiedAccessEndpoint([
    'ApplicationDomain' => '<string>', // REQUIRED
    'AttachmentType' => 'vpc', // REQUIRED
    'ClientToken' => '<string>',
    'Description' => '<string>',
    'DomainCertificateArn' => '<string>', // REQUIRED
    'DryRun' => true || false,
    'EndpointDomainPrefix' => '<string>', // REQUIRED
    'EndpointType' => 'load-balancer|network-interface', // REQUIRED
    'LoadBalancerOptions' => [
        'LoadBalancerArn' => '<string>',
        'Port' => <integer>,
        'Protocol' => 'http|https',
        'SubnetIds' => ['<string>', ...],
    ],
    'NetworkInterfaceOptions' => [
        'NetworkInterfaceId' => '<string>',
        'Port' => <integer>,
        'Protocol' => 'http|https',
    ],
    'PolicyDocument' => '<string>',
    'SecurityGroupIds' => ['<string>', ...],
    'SseSpecification' => [
        'CustomerManagedKeyEnabled' => true || false,
        'KmsKeyArn' => '<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>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'VerifiedAccessGroupId' => '<string>', // REQUIRED
]);

Parameter Details

Members
ApplicationDomain
Required: Yes
Type: string

The DNS name for users to reach your application.

AttachmentType
Required: Yes
Type: string

The type of attachment.

ClientToken
Type: string

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

Description
Type: string

A description for the Verified Access endpoint.

DomainCertificateArn
Required: Yes
Type: string

The ARN of the public TLS/SSL certificate in Amazon Web Services Certificate Manager to associate with the endpoint. The CN in the certificate must match the DNS name your end users will use to reach your application.

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.

EndpointDomainPrefix
Required: Yes
Type: string

A custom identifier that is prepended to the DNS name that is generated for the endpoint.

EndpointType
Required: Yes
Type: string

The type of Verified Access endpoint to create.

LoadBalancerOptions

The load balancer details. This parameter is required if the endpoint type is load-balancer.

NetworkInterfaceOptions

The network interface details. This parameter is required if the endpoint type is network-interface.

PolicyDocument
Type: string

The Verified Access policy document.

SecurityGroupIds
Type: Array of strings

The IDs of the security groups to associate with the Verified Access endpoint. Required if AttachmentType is set to vpc.

SseSpecification

The options for server side encryption.

TagSpecifications
Type: Array of TagSpecification structures

The tags to assign to the Verified Access endpoint.

VerifiedAccessGroupId
Required: Yes
Type: string

The ID of the Verified Access group to associate the endpoint with.

Result Syntax

[
    'VerifiedAccessEndpoint' => [
        'ApplicationDomain' => '<string>',
        'AttachmentType' => 'vpc',
        'CreationTime' => '<string>',
        'DeletionTime' => '<string>',
        'Description' => '<string>',
        'DeviceValidationDomain' => '<string>',
        'DomainCertificateArn' => '<string>',
        'EndpointDomain' => '<string>',
        'EndpointType' => 'load-balancer|network-interface',
        'LastUpdatedTime' => '<string>',
        'LoadBalancerOptions' => [
            'LoadBalancerArn' => '<string>',
            'Port' => <integer>,
            'Protocol' => 'http|https',
            'SubnetIds' => ['<string>', ...],
        ],
        'NetworkInterfaceOptions' => [
            'NetworkInterfaceId' => '<string>',
            'Port' => <integer>,
            'Protocol' => 'http|https',
        ],
        'SecurityGroupIds' => ['<string>', ...],
        'SseSpecification' => [
            'CustomerManagedKeyEnabled' => true || false,
            'KmsKeyArn' => '<string>',
        ],
        'Status' => [
            'Code' => 'pending|active|updating|deleting|deleted',
            'Message' => '<string>',
        ],
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'VerifiedAccessEndpointId' => '<string>',
        'VerifiedAccessGroupId' => '<string>',
        'VerifiedAccessInstanceId' => '<string>',
    ],
]

Result Details

Members
VerifiedAccessEndpoint
Type: VerifiedAccessEndpoint structure

Details about the Verified Access endpoint.

Errors

There are no errors described for this operation.

CreateVerifiedAccessGroup

$result = $client->createVerifiedAccessGroup([/* ... */]);
$promise = $client->createVerifiedAccessGroupAsync([/* ... */]);

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. Each instance within a Verified Access group shares an Verified Access policy. For example, you can group all Verified Access instances associated with "sales" applications together and use one common Verified Access policy.

Parameter Syntax

$result = $client->createVerifiedAccessGroup([
    'ClientToken' => '<string>',
    'Description' => '<string>',
    'DryRun' => true || false,
    'PolicyDocument' => '<string>',
    'SseSpecification' => [
        'CustomerManagedKeyEnabled' => true || false,
        'KmsKeyArn' => '<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>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'VerifiedAccessInstanceId' => '<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.

Description
Type: string

A description for the Verified Access group.

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.

PolicyDocument
Type: string

The Verified Access policy document.

SseSpecification

The options for server side encryption.

TagSpecifications
Type: Array of TagSpecification structures

The tags to assign to the Verified Access group.

VerifiedAccessInstanceId
Required: Yes
Type: string

The ID of the Verified Access instance.

Result Syntax

[
    'VerifiedAccessGroup' => [
        'CreationTime' => '<string>',
        'DeletionTime' => '<string>',
        'Description' => '<string>',
        'LastUpdatedTime' => '<string>',
        'Owner' => '<string>',
        'SseSpecification' => [
            'CustomerManagedKeyEnabled' => true || false,
            'KmsKeyArn' => '<string>',
        ],
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'VerifiedAccessGroupArn' => '<string>',
        'VerifiedAccessGroupId' => '<string>',
        'VerifiedAccessInstanceId' => '<string>',
    ],
]

Result Details

Members
VerifiedAccessGroup
Type: VerifiedAccessGroup structure

Details about the Verified Access group.

Errors

There are no errors described for this operation.

CreateVerifiedAccessInstance

$result = $client->createVerifiedAccessInstance([/* ... */]);
$promise = $client->createVerifiedAccessInstanceAsync([/* ... */]);

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.

Parameter Syntax

$result = $client->createVerifiedAccessInstance([
    'ClientToken' => '<string>',
    'Description' => '<string>',
    'DryRun' => true || false,
    'FIPSEnabled' => 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
ClientToken
Type: string

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

Description
Type: string

A description for the Verified Access instance.

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.

FIPSEnabled
Type: boolean

Enable or disable support for Federal Information Processing Standards (FIPS) on the instance.

TagSpecifications
Type: Array of TagSpecification structures

The tags to assign to the Verified Access instance.

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>',
            ],
            // ...
        ],
    ],
]

Result Details

Members
VerifiedAccessInstance
Type: VerifiedAccessInstance structure

Details about the Verified Access instance.

Errors

There are no errors described for this operation.

CreateVerifiedAccessTrustProvider

$result = $client->createVerifiedAccessTrustProvider([/* ... */]);
$promise = $client->createVerifiedAccessTrustProviderAsync([/* ... */]);

A trust provider is a third-party entity that creates, maintains, and manages identity information for users and devices. When an application request is made, the identity information sent by the trust provider is evaluated by Verified Access before allowing or denying the application request.

Parameter Syntax

$result = $client->createVerifiedAccessTrustProvider([
    'ClientToken' => '<string>',
    'Description' => '<string>',
    'DeviceOptions' => [
        'PublicSigningKeyUrl' => '<string>',
        'TenantId' => '<string>',
    ],
    'DeviceTrustProviderType' => 'jamf|crowdstrike|jumpcloud',
    'DryRun' => true || false,
    'OidcOptions' => [
        'AuthorizationEndpoint' => '<string>',
        'ClientId' => '<string>',
        'ClientSecret' => '<string>',
        'Issuer' => '<string>',
        'Scope' => '<string>',
        'TokenEndpoint' => '<string>',
        'UserInfoEndpoint' => '<string>',
    ],
    'PolicyReferenceName' => '<string>', // REQUIRED
    'SseSpecification' => [
        'CustomerManagedKeyEnabled' => true || false,
        'KmsKeyArn' => '<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>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'TrustProviderType' => 'user|device', // REQUIRED
    'UserTrustProviderType' => 'iam-identity-center|oidc',
]);

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.

Description
Type: string

A description for the Verified Access trust provider.

DeviceOptions

The options for a device-based trust provider. This parameter is required when the provider type is device.

DeviceTrustProviderType
Type: string

The type of device-based trust provider. This parameter is required when the provider type is device.

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.

OidcOptions

The options for a OpenID Connect-compatible user-identity trust provider. This parameter is required when the provider type is user.

PolicyReferenceName
Required: Yes
Type: string

The identifier to be used when working with policy rules.

SseSpecification

The options for server side encryption.

TagSpecifications
Type: Array of TagSpecification structures

The tags to assign to the Verified Access trust provider.

TrustProviderType
Required: Yes
Type: string

The type of trust provider.

UserTrustProviderType
Type: string

The type of user-based trust provider. This parameter is required when the provider type is user.

Result Syntax

[
    '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
VerifiedAccessTrustProvider
Type: VerifiedAccessTrustProvider structure

Details about the Verified Access trust provider.

Errors

There are no errors described for this operation.

CreateVolume

$result = $client->createVolume([/* ... */]);
$promise = $client->createVolumeAsync([/* ... */]);

Creates an EBS volume that can be attached to an instance in the same Availability Zone.

You can create a new empty volume or restore a volume from an EBS snapshot. Any Amazon Web Services Marketplace product codes from the snapshot are propagated to the volume.

You can create encrypted volumes. Encrypted volumes must be attached to instances that support Amazon EBS encryption. Volumes that are created from encrypted snapshots are also automatically encrypted. For more information, see Amazon EBS encryption in the Amazon EBS User Guide.

You can tag your volumes during creation. For more information, see Tag your Amazon EC2 resources in the Amazon EC2 User Guide.

For more information, see Create an Amazon EBS volume in the Amazon EBS User Guide.

Parameter Syntax

$result = $client->createVolume([
    'AvailabilityZone' => '<string>', // REQUIRED
    'ClientToken' => '<string>',
    'DryRun' => true || false,
    'Encrypted' => true || false,
    'Iops' => <integer>,
    'KmsKeyId' => '<string>',
    'MultiAttachEnabled' => true || false,
    'OutpostArn' => '<string>',
    'Size' => <integer>,
    'SnapshotId' => '<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>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'Throughput' => <integer>,
    'VolumeType' => 'standard|io1|io2|gp2|sc1|st1|gp3',
]);

Parameter Details

Members
AvailabilityZone
Required: Yes
Type: string

The ID of the Availability Zone in which to create the volume. For example, us-east-1a.

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.

Encrypted
Type: boolean

Indicates whether the volume should be encrypted. The effect of setting the encryption state to true depends on the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see Encryption by default in the Amazon EBS User Guide.

Encrypted Amazon EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see Supported instance types.

Iops
Type: int

The number of I/O operations per second (IOPS). For gp3, io1, and io2 volumes, this represents the number of IOPS that are provisioned for the volume. For gp2 volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting.

The following are the supported values for each volume type:

  • gp3: 3,000 - 16,000 IOPS

  • io1: 100 - 64,000 IOPS

  • io2: 100 - 256,000 IOPS

For io2 volumes, you can achieve up to 256,000 IOPS on instances built on the Nitro System. On other instances, you can achieve performance up to 32,000 IOPS.

This parameter is required for io1 and io2 volumes. The default for gp3 volumes is 3,000 IOPS. This parameter is not supported for gp2, st1, sc1, or standard volumes.

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.

MultiAttachEnabled
Type: boolean

Indicates whether to enable Amazon EBS Multi-Attach. If you enable Multi-Attach, you can attach the volume to up to 16 Instances built on the Nitro System in the same Availability Zone. This parameter is supported with io1 and io2 volumes only. For more information, see Amazon EBS Multi-Attach in the Amazon EBS User Guide.

OutpostArn
Type: string

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

If you intend to use a volume with an instance running on an outpost, then you must create the volume on the same outpost as the instance. You can't use a volume created in an Amazon Web Services Region with an instance on an Amazon Web Services outpost, or the other way around.

Size
Type: int

The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size.

The following are the supported volumes sizes for each volume type:

  • gp2 and gp3: 1 - 16,384 GiB

  • io1: 4 - 16,384 GiB

  • io2: 4 - 65,536 GiB

  • st1 and sc1: 125 - 16,384 GiB

  • standard: 1 - 1024 GiB

SnapshotId
Type: string

The snapshot from which to create the volume. You must specify either a snapshot ID or a volume size.

TagSpecifications
Type: Array of TagSpecification structures

The tags to apply to the volume during creation.

Throughput
Type: int

The throughput to provision for a volume, with a maximum of 1,000 MiB/s.

This parameter is valid only for gp3 volumes.

Valid Range: Minimum value of 125. Maximum value of 1000.

VolumeType
Type: string

The volume type. This parameter can be one of the following values:

  • General Purpose SSD: gp2 | gp3

  • Provisioned IOPS SSD: io1 | io2

  • Throughput Optimized HDD: st1

  • Cold HDD: sc1

  • Magnetic: standard

Throughput Optimized HDD (st1) and Cold HDD (sc1) volumes can't be used as boot volumes.

For more information, see Amazon EBS volume types in the Amazon EBS User Guide.

Default: gp2

Result Syntax

[
    'Attachments' => [
        [
            'AssociatedResource' => '<string>',
            'AttachTime' => <DateTime>,
            'DeleteOnTermination' => true || false,
            'Device' => '<string>',
            'InstanceId' => '<string>',
            'InstanceOwningService' => '<string>',
            'State' => 'attaching|attached|detaching|detached|busy',
            'VolumeId' => '<string>',
        ],
        // ...
    ],
    'AvailabilityZone' => '<string>',
    'CreateTime' => <DateTime>,
    'Encrypted' => true || false,
    'FastRestored' => true || false,
    'Iops' => <integer>,
    'KmsKeyId' => '<string>',
    'MultiAttachEnabled' => true || false,
    'OutpostArn' => '<string>',
    'Size' => <integer>,
    'SnapshotId' => '<string>',
    'SseType' => 'sse-ebs|sse-kms|none',
    'State' => 'creating|available|in-use|deleting|deleted|error',
    'Tags' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
    'Throughput' => <integer>,
    'VolumeId' => '<string>',
    'VolumeType' => 'standard|io1|io2|gp2|sc1|st1|gp3',
]

Result Details

Members
Attachments
Type: Array of VolumeAttachment structures

This parameter is not returned by CreateVolume.

Information about the volume attachments.

AvailabilityZone
Type: string

The Availability Zone for the volume.

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

The time stamp when volume creation was initiated.

Encrypted
Type: boolean

Indicates whether the volume is encrypted.

FastRestored
Type: boolean

This parameter is not returned by CreateVolume.

Indicates whether the volume was created using fast snapshot restore.

Iops
Type: int

The number of I/O operations per second (IOPS). For gp3, io1, and io2 volumes, this represents the number of IOPS that are provisioned for the volume. For gp2 volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting.

KmsKeyId
Type: string

The Amazon Resource Name (ARN) of the KMS key that was used to protect the volume encryption key for the volume.

MultiAttachEnabled
Type: boolean

Indicates whether Amazon EBS Multi-Attach is enabled.

OutpostArn
Type: string

The Amazon Resource Name (ARN) of the Outpost.

Size
Type: int

The size of the volume, in GiBs.

SnapshotId
Type: string

The snapshot from which the volume was created, if applicable.

SseType
Type: string

This parameter is not returned by CreateVolume.

Reserved for future use.

State
Type: string

The volume state.

Tags
Type: Array of Tag structures

Any tags assigned to the volume.

Throughput
Type: int

The throughput that the volume supports, in MiB/s.

VolumeId
Type: string

The ID of the volume.

VolumeType
Type: string

The volume type.

Errors

There are no errors described for this operation.

Examples

Example 1: To create a new volume

This example creates an 80 GiB General Purpose (SSD) volume in the Availability Zone ``us-east-1a``.

$result = $client->createVolume([
    'AvailabilityZone' => 'us-east-1a',
    'Size' => 80,
    'VolumeType' => 'gp2',
]);

Result syntax:

[
    'AvailabilityZone' => 'us-east-1a',
    'CreateTime' => ,
    'Encrypted' => ,
    'Iops' => 240,
    'Size' => 80,
    'SnapshotId' => '',
    'State' => 'creating',
    'VolumeId' => 'vol-6b60b7c7',
    'VolumeType' => 'gp2',
]
Example 2: To create a new Provisioned IOPS (SSD) volume from a snapshot

This example creates a new Provisioned IOPS (SSD) volume with 1000 provisioned IOPS from a snapshot in the Availability Zone ``us-east-1a``.

$result = $client->createVolume([
    'AvailabilityZone' => 'us-east-1a',
    'Iops' => 1000,
    'SnapshotId' => 'snap-066877671789bd71b',
    'VolumeType' => 'io1',
]);

Result syntax:

[
    'Attachments' => [
    ],
    'AvailabilityZone' => 'us-east-1a',
    'CreateTime' => ,
    'Iops' => 1000,
    'Size' => 500,
    'SnapshotId' => 'snap-066877671789bd71b',
    'State' => 'creating',
    'Tags' => [
    ],
    'VolumeId' => 'vol-1234567890abcdef0',
    'VolumeType' => 'io1',
]

CreateVpc

$result = $client->createVpc([/* ... */]);
$promise = $client->createVpcAsync([/* ... */]);

Creates a VPC with the specified CIDR blocks. For more information, see IP addressing for your VPCs and subnets in the Amazon VPC User Guide.

You can optionally request an IPv6 CIDR block for the VPC. You can request an Amazon-provided IPv6 CIDR block from Amazon's pool of IPv6 addresses or an IPv6 CIDR block from an IPv6 address pool that you provisioned through bring your own IP addresses (BYOIP).

By default, each instance that you launch in the VPC has the default DHCP options, which include only a default DNS server that we provide (AmazonProvidedDNS). For more information, see DHCP option sets in the Amazon VPC User Guide.

You can specify the instance tenancy value for the VPC when you create it. You can't change this value for the VPC after you create it. For more information, see Dedicated Instances in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->createVpc([
    'AmazonProvidedIpv6CidrBlock' => true || false,
    'CidrBlock' => '<string>',
    'DryRun' => true || false,
    'InstanceTenancy' => 'default|dedicated|host',
    'Ipv4IpamPoolId' => '<string>',
    'Ipv4NetmaskLength' => <integer>,
    'Ipv6CidrBlock' => '<string>',
    'Ipv6CidrBlockNetworkBorderGroup' => '<string>',
    'Ipv6IpamPoolId' => '<string>',
    'Ipv6NetmaskLength' => <integer>,
    'Ipv6Pool' => '<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
AmazonProvidedIpv6CidrBlock
Type: boolean

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

CidrBlock
Type: string

The IPv4 network range for the VPC, in CIDR notation. For example, 10.0.0.0/16. We modify the specified CIDR block to its canonical form; for example, if you specify 100.68.0.18/18, we modify it to 100.68.0.0/18.

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.

InstanceTenancy
Type: string

The tenancy options for instances launched into the VPC. For default, instances are launched with shared tenancy by default. You can launch instances with any tenancy into a shared tenancy VPC. For dedicated, instances are launched as dedicated tenancy instances by default. You can only launch instances with a tenancy of dedicated or host into a dedicated tenancy VPC.

Important: The host value cannot be used with this parameter. Use the default or dedicated values only.

Default: default

Ipv4IpamPoolId
Type: string

The ID of an IPv4 IPAM pool you want to use for allocating this VPC's CIDR. For more information, see What is IPAM? in the Amazon VPC IPAM User Guide.

Ipv4NetmaskLength
Type: int

The netmask length of the IPv4 CIDR you want to allocate to this VPC 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

The 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 address to this location.

You must set AmazonProvidedIpv6CidrBlock to true to use this parameter.

Ipv6IpamPoolId
Type: string

The ID of an IPv6 IPAM pool which will be used to allocate this VPC an IPv6 CIDR. 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 What is IPAM? in the Amazon VPC IPAM User Guide.

Ipv6NetmaskLength
Type: int

The netmask length of the IPv6 CIDR you want to allocate to this VPC 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.

TagSpecifications
Type: Array of TagSpecification structures

The tags to assign to the VPC.

Result Syntax

[
    'Vpc' => [
        '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.

Examples

Example 1: To create a VPC

This example creates a VPC with the specified CIDR block.

$result = $client->createVpc([
    'CidrBlock' => '10.0.0.0/16',
]);

Result syntax:

[
    'Vpc' => [
        'CidrBlock' => '10.0.0.0/16',
        'DhcpOptionsId' => 'dopt-7a8b9c2d',
        'InstanceTenancy' => 'default',
        'State' => 'pending',
        'VpcId' => 'vpc-a01106c2',
    ],
]

CreateVpcEndpoint

$result = $client->createVpcEndpoint([/* ... */]);
$promise = $client->createVpcEndpointAsync([/* ... */]);

Creates a VPC endpoint. A VPC endpoint provides a private connection between the specified VPC and the specified endpoint service. You can use an endpoint service provided by Amazon Web Services, an Amazon Web Services Marketplace Partner, or another Amazon Web Services account. For more information, see the Amazon Web Services PrivateLink User Guide.

Parameter Syntax

$result = $client->createVpcEndpoint([
    'ClientToken' => '<string>',
    'DnsOptions' => [
        'DnsRecordIpType' => 'ipv4|dualstack|ipv6|service-defined',
        'PrivateDnsOnlyForInboundResolverEndpoint' => true || false,
    ],
    'DryRun' => true || false,
    'IpAddressType' => 'ipv4|dualstack|ipv6',
    'PolicyDocument' => '<string>',
    'PrivateDnsEnabled' => true || false,
    'RouteTableIds' => ['<string>', ...],
    'SecurityGroupIds' => ['<string>', ...],
    'ServiceName' => '<string>', // REQUIRED
    'SubnetConfigurations' => [
        [
            'Ipv4' => '<string>',
            'Ipv6' => '<string>',
            'SubnetId' => '<string>',
        ],
        // ...
    ],
    'SubnetIds' => ['<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>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'VpcEndpointType' => 'Interface|Gateway|GatewayLoadBalancer',
    '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.

DnsOptions
Type: DnsOptionsSpecification structure

The DNS options for the 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.

IpAddressType
Type: string

The IP address type for the endpoint.

PolicyDocument
Type: string

(Interface and gateway endpoints) A policy to attach to the endpoint that controls access to the service. The policy must be in valid JSON format. If this parameter is not specified, we attach a default policy that allows full access to the service.

PrivateDnsEnabled
Type: boolean

(Interface endpoint) Indicates whether to associate a private hosted zone with the specified VPC. The private hosted zone contains a record set for the default public DNS name for the service for the Region (for example, kinesis.us-east-1.amazonaws.com), which resolves to the private IP addresses of the endpoint network interfaces in the VPC. This enables you to make requests to the default public DNS name for the service instead of the public DNS names that are automatically generated by the VPC endpoint service.

To use a private hosted zone, you must set the following VPC attributes to true: enableDnsHostnames and enableDnsSupport. Use ModifyVpcAttribute to set the VPC attributes.

Default: true

RouteTableIds
Type: Array of strings

(Gateway endpoint) The route table IDs.

SecurityGroupIds
Type: Array of strings

(Interface endpoint) The IDs of the security groups to associate with the endpoint network interfaces. If this parameter is not specified, we use the default security group for the VPC.

ServiceName
Required: Yes
Type: string

The name of the endpoint service.

SubnetConfigurations
Type: Array of SubnetConfiguration structures

The subnet configurations for the endpoint.

SubnetIds
Type: Array of strings

(Interface and Gateway Load Balancer endpoints) The IDs of the subnets in which to create endpoint network interfaces. For a Gateway Load Balancer endpoint, you can specify only one subnet.

TagSpecifications
Type: Array of TagSpecification structures

The tags to associate with the endpoint.

VpcEndpointType
Type: string

The type of endpoint.

Default: Gateway

VpcId
Required: Yes
Type: string

The ID of the VPC.

Result Syntax

[
    'ClientToken' => '<string>',
    'VpcEndpoint' => [
        'CreationTimestamp' => <DateTime>,
        'DnsEntries' => [
            [
                'DnsName' => '<string>',
                'HostedZoneId' => '<string>',
            ],
            // ...
        ],
        'DnsOptions' => [
            'DnsRecordIpType' => 'ipv4|dualstack|ipv6|service-defined',
            'PrivateDnsOnlyForInboundResolverEndpoint' => true || false,
        ],
        'Groups' => [
            [
                'GroupId' => '<string>',
                'GroupName' => '<string>',
            ],
            // ...
        ],
        'IpAddressType' => 'ipv4|dualstack|ipv6',
        'LastError' => [
            'Code' => '<string>',
            'Message' => '<string>',
        ],
        'NetworkInterfaceIds' => ['<string>', ...],
        'OwnerId' => '<string>',
        'PolicyDocument' => '<string>',
        'PrivateDnsEnabled' => true || false,
        'RequesterManaged' => true || false,
        'RouteTableIds' => ['<string>', ...],
        'ServiceName' => '<string>',
        'State' => 'PendingAcceptance|Pending|Available|Deleting|Deleted|Rejected|Failed|Expired',
        'SubnetIds' => ['<string>', ...],
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'VpcEndpointId' => '<string>',
        'VpcEndpointType' => 'Interface|Gateway|GatewayLoadBalancer',
        'VpcId' => '<string>',
    ],
]

Result Details

Members
ClientToken
Type: string

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

VpcEndpoint
Type: VpcEndpoint structure

Information about the endpoint.

Errors

There are no errors described for this operation.

CreateVpcEndpointConnectionNotification

$result = $client->createVpcEndpointConnectionNotification([/* ... */]);
$promise = $client->createVpcEndpointConnectionNotificationAsync([/* ... */]);

Creates a connection notification for a specified VPC endpoint or VPC endpoint service. A connection notification notifies you of specific endpoint events. You must create an SNS topic to receive notifications. For more information, see Creating an Amazon SNS topic in the Amazon SNS Developer Guide.

You can create a connection notification for interface endpoints only.

Parameter Syntax

$result = $client->createVpcEndpointConnectionNotification([
    'ClientToken' => '<string>',
    'ConnectionEvents' => ['<string>', ...], // REQUIRED
    'ConnectionNotificationArn' => '<string>', // REQUIRED
    'DryRun' => true || false,
    'ServiceId' => '<string>',
    'VpcEndpointId' => '<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 How to ensure idempotency.

ConnectionEvents
Required: Yes
Type: Array of strings

The endpoint events for which to receive notifications. Valid values are Accept, Connect, Delete, and Reject.

ConnectionNotificationArn
Required: Yes
Type: string

The ARN of the SNS topic for the notifications.

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
Type: string

The ID of the endpoint service.

VpcEndpointId
Type: string

The ID of the endpoint.

Result Syntax

[
    'ClientToken' => '<string>',
    'ConnectionNotification' => [
        'ConnectionEvents' => ['<string>', ...],
        'ConnectionNotificationArn' => '<string>',
        'ConnectionNotificationId' => '<string>',
        'ConnectionNotificationState' => 'Enabled|Disabled',
        'ConnectionNotificationType' => 'Topic',
        'ServiceId' => '<string>',
        'VpcEndpointId' => '<string>',
    ],
]

Result Details

Members
ClientToken
Type: string

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

ConnectionNotification
Type: ConnectionNotification structure

Information about the notification.

Errors

There are no errors described for this operation.

CreateVpcEndpointServiceConfiguration

$result = $client->createVpcEndpointServiceConfiguration([/* ... */]);
$promise = $client->createVpcEndpointServiceConfigurationAsync([/* ... */]);

Creates a VPC endpoint service to which service consumers (Amazon Web Services accounts, users, and IAM roles) can connect.

Before you create an endpoint service, you must create one of the following for your service:

If you set the private DNS name, you must prove that you own the private DNS domain name.

For more information, see the Amazon Web Services PrivateLink Guide.

Parameter Syntax

$result = $client->createVpcEndpointServiceConfiguration([
    'AcceptanceRequired' => true || false,
    'ClientToken' => '<string>',
    'DryRun' => true || false,
    'GatewayLoadBalancerArns' => ['<string>', ...],
    'NetworkLoadBalancerArns' => ['<string>', ...],
    'PrivateDnsName' => '<string>',
    'SupportedIpAddressTypes' => ['<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
AcceptanceRequired
Type: boolean

Indicates whether requests from service consumers to create an endpoint to your service must be accepted manually.

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.

GatewayLoadBalancerArns
Type: Array of strings

The Amazon Resource Names (ARNs) of the Gateway Load Balancers.

NetworkLoadBalancerArns
Type: Array of strings

The Amazon Resource Names (ARNs) of the Network Load Balancers.

PrivateDnsName
Type: string

(Interface endpoint configuration) The private DNS name to assign to the VPC endpoint service.

SupportedIpAddressTypes
Type: Array of strings

The supported IP address types. The possible values are ipv4 and ipv6.

TagSpecifications
Type: Array of TagSpecification structures

The tags to associate with the service.

Result Syntax

[
    'ClientToken' => '<string>',
    'ServiceConfiguration' => [
        'AcceptanceRequired' => true || false,
        'AvailabilityZones' => ['<string>', ...],
        'BaseEndpointDnsNames' => ['<string>', ...],
        'GatewayLoadBalancerArns' => ['<string>', ...],
        'ManagesVpcEndpoints' => true || false,
        'NetworkLoadBalancerArns' => ['<string>', ...],
        'PayerResponsibility' => 'ServiceOwner',
        'PrivateDnsName' => '<string>',
        'PrivateDnsNameConfiguration' => [
            'Name' => '<string>',
            'State' => 'pendingVerification|verified|failed',
            'Type' => '<string>',
            'Value' => '<string>',
        ],
        'ServiceId' => '<string>',
        'ServiceName' => '<string>',
        'ServiceState' => 'Pending|Available|Deleting|Deleted|Failed',
        'ServiceType' => [
            [
                'ServiceType' => 'Interface|Gateway|GatewayLoadBalancer',
            ],
            // ...
        ],
        'SupportedIpAddressTypes' => ['<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.

ServiceConfiguration
Type: ServiceConfiguration structure

Information about the service configuration.

Errors

There are no errors described for this operation.

CreateVpcPeeringConnection

$result = $client->createVpcPeeringConnection([/* ... */]);
$promise = $client->createVpcPeeringConnectionAsync([/* ... */]);

Requests a VPC peering connection between two VPCs: a requester VPC that you own and an accepter VPC with which to create the connection. The accepter VPC can belong to another Amazon Web Services account and can be in a different Region to the requester VPC. The requester VPC and accepter VPC cannot have overlapping CIDR blocks.

Limitations and rules apply to a VPC peering connection. For more information, see the VPC peering limitations in the VPC Peering Guide.

The owner of the accepter VPC must accept the peering request to activate the peering connection. The VPC peering connection request expires after 7 days, after which it cannot be accepted or rejected.

If you create a VPC peering connection request between VPCs with overlapping CIDR blocks, the VPC peering connection has a status of failed.

Parameter Syntax

$result = $client->createVpcPeeringConnection([
    'DryRun' => true || false,
    'PeerOwnerId' => '<string>',
    'PeerRegion' => '<string>',
    'PeerVpcId' => '<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>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    '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.

PeerOwnerId
Type: string

The Amazon Web Services account ID of the owner of the accepter VPC.

Default: Your Amazon Web Services account ID

PeerRegion
Type: string

The Region code for the accepter VPC, if the accepter VPC is located in a Region other than the Region in which you make the request.

Default: The Region in which you make the request.

PeerVpcId
Type: string

The ID of the VPC with which you are creating the VPC peering connection. You must specify this parameter in the request.

TagSpecifications
Type: Array of TagSpecification structures

The tags to assign to the peering connection.

VpcId
Required: Yes
Type: string

The ID of the requester VPC. 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.

CreateVpnConnection

$result = $client->createVpnConnection([/* ... */]);
$promise = $client->createVpnConnectionAsync([/* ... */]);

Creates a VPN connection between an existing virtual private gateway or transit gateway and a customer gateway. The supported connection type is ipsec.1.

The response includes information that you need to give to your network administrator to configure your customer gateway.

We strongly recommend that you use HTTPS when calling this operation because the response contains sensitive cryptographic information for configuring your customer gateway device.

If you decide to shut down your VPN connection for any reason and later create a new VPN connection, you must reconfigure your customer gateway with the new information returned from this call.

This is an idempotent operation. If you perform the operation more than once, Amazon EC2 doesn't return an error.

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->createVpnConnection([
    'CustomerGatewayId' => '<string>', // REQUIRED
    'DryRun' => true || false,
    'Options' => [
        'EnableAcceleration' => true || false,
        'LocalIpv4NetworkCidr' => '<string>',
        'LocalIpv6NetworkCidr' => '<string>',
        'OutsideIpAddressType' => '<string>',
        'RemoteIpv4NetworkCidr' => '<string>',
        'RemoteIpv6NetworkCidr' => '<string>',
        'StaticRoutesOnly' => true || false,
        'TransportTransitGatewayAttachmentId' => '<string>',
        'TunnelInsideIpVersion' => 'ipv4|ipv6',
        'TunnelOptions' => [
            [
                'DPDTimeoutAction' => '<string>',
                'DPDTimeoutSeconds' => <integer>,
                'EnableTunnelLifecycleControl' => true || false,
                'IKEVersions' => [
                    [
                        'Value' => '<string>',
                    ],
                    // ...
                ],
                'LogOptions' => [
                    'CloudWatchLogOptions' => [
                        'LogEnabled' => true || false,
                        'LogGroupArn' => '<string>',
                        'LogOutputFormat' => '<string>',
                    ],
                ],
                'Phase1DHGroupNumbers' => [
                    [
                        'Value' => <integer>,
                    ],
                    // ...
                ],
                'Phase1EncryptionAlgorithms' => [
                    [
                        'Value' => '<string>',
                    ],
                    // ...
                ],
                'Phase1IntegrityAlgorithms' => [
                    [
                        'Value' => '<string>',
                    ],
                    // ...
                ],
                'Phase1LifetimeSeconds' => <integer>,
                'Phase2DHGroupNumbers' => [
                    [
                        'Value' => <integer>,
                    ],
                    // ...
                ],
                'Phase2EncryptionAlgorithms' => [
                    [
                        'Value' => '<string>',
                    ],
                    // ...
                ],
                'Phase2IntegrityAlgorithms' => [
                    [
                        'Value' => '<string>',
                    ],
                    // ...
                ],
                'Phase2LifetimeSeconds' => <integer>,
                'PreSharedKey' => '<string>',
                'RekeyFuzzPercentage' => <integer>,
                'RekeyMarginTimeSeconds' => <integer>,
                'ReplayWindowSize' => <integer>,
                'StartupAction' => '<string>',
                'TunnelInsideCidr' => '<string>',
                'TunnelInsideIpv6Cidr' => '<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>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'TransitGatewayId' => '<string>',
    'Type' => '<string>', // REQUIRED
    'VpnGatewayId' => '<string>',
]);

Parameter Details

Members
CustomerGatewayId
Required: Yes
Type: string

The ID of the customer 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.

Options

The options for the VPN connection.

TagSpecifications
Type: Array of TagSpecification structures

The tags to apply to the VPN connection.

TransitGatewayId
Type: string

The ID of the transit gateway. If you specify a transit gateway, you cannot specify a virtual private gateway.

Type
Required: Yes
Type: string

The type of VPN connection (ipsec.1).

VpnGatewayId
Type: string

The ID of the virtual private gateway. If you specify a virtual private gateway, you cannot specify a transit gateway.

Result Syntax

[
    'VpnConnection' => [
        'Category' => '<string>',
        'CoreNetworkArn' => '<string>',
        'CoreNetworkAttachmentArn' => '<string>',
        'CustomerGatewayConfiguration' => '<string>',
        'CustomerGatewayId' => '<string>',
        'GatewayAssociationState' => 'associated|not-associated|associating|disassociating',
        'Options' => [
            'EnableAcceleration' => true || false,
            'LocalIpv4NetworkCidr' => '<string>',
            'LocalIpv6NetworkCidr' => '<string>',
            'OutsideIpAddressType' => '<string>',
            'RemoteIpv4NetworkCidr' => '<string>',
            'RemoteIpv6NetworkCidr' => '<string>',
            'StaticRoutesOnly' => true || false,
            'TransportTransitGatewayAttachmentId' => '<string>',
            'TunnelInsideIpVersion' => 'ipv4|ipv6',
            'TunnelOptions' => [
                [
                    'DpdTimeoutAction' => '<string>',
                    'DpdTimeoutSeconds' => <integer>,
                    'EnableTunnelLifecycleControl' => true || false,
                    'IkeVersions' => [
                        [
                            'Value' => '<string>',
                        ],
                        // ...
                    ],
                    'LogOptions' => [
                        'CloudWatchLogOptions' => [
                            'LogEnabled' => true || false,
                            'LogGroupArn' => '<string>',
                            'LogOutputFormat' => '<string>',
                        ],
                    ],
                    'OutsideIpAddress' => '<string>',
                    'Phase1DHGroupNumbers' => [
                        [
                            'Value' => <integer>,
                        ],
                        // ...
                    ],
                    'Phase1EncryptionAlgorithms' => [
                        [
                            'Value' => '<string>',
                        ],
                        // ...
                    ],
                    'Phase1IntegrityAlgorithms' => [
                        [
                            'Value' => '<string>',
                        ],
                        // ...
                    ],
                    'Phase1LifetimeSeconds' => <integer>,
                    'Phase2DHGroupNumbers' => [
                        [
                            'Value' => <integer>,
                        ],
                        // ...
                    ],
                    'Phase2EncryptionAlgorithms' => [
                        [
                            'Value' => '<string>',
                        ],
                        // ...
                    ],
                    'Phase2IntegrityAlgorithms' => [
                        [
                            'Value' => '<string>',
                        ],
                        // ...
                    ],
                    'Phase2LifetimeSeconds' => <integer>,
                    'PreSharedKey' => '<string>',
                    'RekeyFuzzPercentage' => <integer>,
                    'RekeyMarginTimeSeconds' => <integer>,
                    'ReplayWindowSize' => <integer>,
                    'StartupAction' => '<string>',
                    'TunnelInsideCidr' => '<string>',
                    'TunnelInsideIpv6Cidr' => '<string>',
                ],
                // ...
            ],
        ],
        'Routes' => [
            [
                'DestinationCidrBlock' => '<string>',
                'Source' => 'Static',
                'State' => 'pending|available|deleting|deleted',
            ],
            // ...
        ],
        'State' => 'pending|available|deleting|deleted',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'TransitGatewayId' => '<string>',
        'Type' => 'ipsec.1',
        'VgwTelemetry' => [
            [
                'AcceptedRouteCount' => <integer>,
                'CertificateArn' => '<string>',
                'LastStatusChange' => <DateTime>,
                'OutsideIpAddress' => '<string>',
                'Status' => 'UP|DOWN',
                'StatusMessage' => '<string>',
            ],
            // ...
        ],
        'VpnConnectionId' => '<string>',
        'VpnGatewayId' => '<string>',
    ],
]

Result Details

Members
VpnConnection
Type: VpnConnection structure

Information about the VPN connection.

Errors

There are no errors described for this operation.

CreateVpnConnectionRoute

$result = $client->createVpnConnectionRoute([/* ... */]);
$promise = $client->createVpnConnectionRouteAsync([/* ... */]);

Creates a static route associated with a VPN connection between an existing virtual private gateway and a VPN customer gateway. The static route allows traffic to be routed from the virtual private gateway to the VPN customer gateway.

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->createVpnConnectionRoute([
    'DestinationCidrBlock' => '<string>', // REQUIRED
    'VpnConnectionId' => '<string>', // REQUIRED
]);

Parameter Details

Members
DestinationCidrBlock
Required: Yes
Type: string

The CIDR block associated with the local subnet of the customer network.

VpnConnectionId
Required: Yes
Type: string

The ID of the VPN connection.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

There are no errors described for this operation.

CreateVpnGateway

$result = $client->createVpnGateway([/* ... */]);
$promise = $client->createVpnGatewayAsync([/* ... */]);

Creates a virtual private gateway. A virtual private gateway is the endpoint on the VPC side of your VPN connection. You can create a virtual private gateway before creating the VPC itself.

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->createVpnGateway([
    'AmazonSideAsn' => <integer>,
    'AvailabilityZone' => '<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>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'Type' => 'ipsec.1', // REQUIRED
]);

Parameter Details

Members
AmazonSideAsn
Type: long (int|float)

A private Autonomous System Number (ASN) for the Amazon side of a BGP session. If you're using a 16-bit ASN, it must be in the 64512 to 65534 range. If you're using a 32-bit ASN, it must be in the 4200000000 to 4294967294 range.

Default: 64512

AvailabilityZone
Type: string

The Availability Zone for the virtual private 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.

TagSpecifications
Type: Array of TagSpecification structures

The tags to apply to the virtual private gateway.

Type
Required: Yes
Type: string

The type of VPN connection this virtual private gateway supports.

Result Syntax

[
    'VpnGateway' => [
        'AmazonSideAsn' => <integer>,
        'AvailabilityZone' => '<string>',
        'State' => 'pending|available|deleting|deleted',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'Type' => 'ipsec.1',
        'VpcAttachments' => [
            [
                'State' => 'attaching|attached|detaching|detached',
                'VpcId' => '<string>',
            ],
            // ...
        ],
        'VpnGatewayId' => '<string>',
    ],
]

Result Details

Members
VpnGateway
Type: VpnGateway structure

Information about the virtual private gateway.

Errors

There are no errors described for this operation.

DeleteCarrierGateway

$result = $client->deleteCarrierGateway([/* ... */]);
$promise = $client->deleteCarrierGatewayAsync([/* ... */]);

Deletes a carrier gateway.

If you do not delete the route that contains the carrier gateway as the Target, the route is a blackhole route. For information about how to delete a route, see DeleteRoute.

Parameter Syntax

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

Parameter Details

Members
CarrierGatewayId
Required: Yes
Type: string

The ID of the carrier 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.

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.

DeleteClientVpnEndpoint

$result = $client->deleteClientVpnEndpoint([/* ... */]);
$promise = $client->deleteClientVpnEndpointAsync([/* ... */]);

Deletes the specified Client VPN endpoint. You must disassociate all target networks before you can delete a Client VPN endpoint.

Parameter Syntax

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

Parameter Details

Members
ClientVpnEndpointId
Required: Yes
Type: string

The ID of the Client VPN to be deleted.

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

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

Result Details

Members
Status
Type: ClientVpnEndpointStatus structure

The current state of the Client VPN endpoint.

Errors

There are no errors described for this operation.

DeleteClientVpnRoute

$result = $client->deleteClientVpnRoute([/* ... */]);
$promise = $client->deleteClientVpnRouteAsync([/* ... */]);

Deletes a route from a Client VPN endpoint. You can only delete routes that you manually added using the CreateClientVpnRoute action. You cannot delete routes that were automatically added when associating a subnet. To remove routes that have been automatically added, disassociate the target subnet from the Client VPN endpoint.

Parameter Syntax

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

Parameter Details

Members
ClientVpnEndpointId
Required: Yes
Type: string

The ID of the Client VPN endpoint from which the route is to be deleted.

DestinationCidrBlock
Required: Yes
Type: string

The IPv4 address range, in CIDR notation, of the route to be deleted.

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
Type: string

The ID of the target subnet used by the route.

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.

DeleteCoipCidr

$result = $client->deleteCoipCidr([/* ... */]);
$promise = $client->deleteCoipCidrAsync([/* ... */]);

Deletes a range of customer-owned IP addresses.

Parameter Syntax

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

Parameter Details

Members
Cidr
Required: Yes
Type: string

A customer-owned IP address range that you want to delete.

CoipPoolId
Required: Yes
Type: string

The ID of the customer-owned 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.

DeleteCoipPool

$result = $client->deleteCoipPool([/* ... */]);
$promise = $client->deleteCoipPoolAsync([/* ... */]);

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

Parameter Syntax

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

Parameter Details

Members
CoipPoolId
Required: Yes
Type: string

The ID of the CoIP pool that you want to delete.

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

[
    '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.

DeleteCustomerGateway

$result = $client->deleteCustomerGateway([/* ... */]);
$promise = $client->deleteCustomerGatewayAsync([/* ... */]);

Deletes the specified customer gateway. You must delete the VPN connection before you can delete the customer gateway.

Parameter Syntax

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

Parameter Details

Members
CustomerGatewayId
Required: Yes
Type: string

The ID of the customer 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.

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 delete a customer gateway

This example deletes the specified customer gateway.

$result = $client->deleteCustomerGateway([
    'CustomerGatewayId' => 'cgw-0e11f167',
]);

DeleteDhcpOptions

$result = $client->deleteDhcpOptions([/* ... */]);
$promise = $client->deleteDhcpOptionsAsync([/* ... */]);

Deletes the specified set of DHCP options. You must disassociate the set of DHCP options before you can delete it. You can disassociate the set of DHCP options by associating either a new set of options or the default set of options with the VPC.

Parameter Syntax

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

Parameter Details

Members
DhcpOptionsId
Required: Yes
Type: string

The ID of the DHCP options set.

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

[]

Result Details

The results for this operation are always empty.

Errors

There are no errors described for this operation.

Examples

Example 1: To delete a DHCP options set

This example deletes the specified DHCP options set.

$result = $client->deleteDhcpOptions([
    'DhcpOptionsId' => 'dopt-d9070ebb',
]);

DeleteEgressOnlyInternetGateway

$result = $client->deleteEgressOnlyInternetGateway([/* ... */]);
$promise = $client->deleteEgressOnlyInternetGatewayAsync([/* ... */]);

Deletes an egress-only internet gateway.

Parameter Syntax

$result = $client->deleteEgressOnlyInternetGateway([
    'DryRun' => true || false,
    'EgressOnlyInternetGatewayId' => '<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.

EgressOnlyInternetGatewayId
Required: Yes
Type: string

The ID of the egress-only internet gateway.

Result Syntax

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

Result Details

Members
ReturnCode
Type: boolean

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

Errors

There are no errors described for this operation.

DeleteFleets

$result = $client->deleteFleets([/* ... */]);
$promise = $client->deleteFleetsAsync([/* ... */]);

Deletes the specified EC2 Fleets.

After you delete an EC2 Fleet, it launches no new instances.

You must also specify whether a deleted EC2 Fleet should terminate its instances. If you choose to terminate the instances, the EC2 Fleet enters the deleted_terminating state. Otherwise, the EC2 Fleet enters the deleted_running state, and the instances continue to run until they are interrupted or you terminate them manually.

For instant fleets, EC2 Fleet must terminate the instances when the fleet is deleted. Up to 1000 instances can be terminated in a single request to delete instant fleets. A deleted instant fleet with running instances is not supported.

Restrictions

  • You can delete up to 25 fleets of type instant in a single request.

  • You can delete up to 100 fleets of type maintain or request in a single request.

  • You can delete up to 125 fleets in a single request, provided you do not exceed the quota for each fleet type, as specified above.

  • If you exceed the specified number of fleets to delete, no fleets are deleted.

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

Parameter Syntax

$result = $client->deleteFleets([
    'DryRun' => true || false,
    'FleetIds' => ['<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.

FleetIds
Required: Yes
Type: Array of strings

The IDs of the EC2 Fleets.

Constraints: In a single request, you can specify up to 25 instant fleet IDs and up to 100 maintain or request fleet IDs.

TerminateInstances
Required: Yes
Type: boolean

Indicates whether to terminate the associated instances when the EC2 Fleet is deleted. The default is to terminate the instances.

To let the instances continue to run after the EC2 Fleet is deleted, specify no-terminate-instances. Supported only for fleets of type maintain and request.

For instant fleets, you cannot specify NoTerminateInstances. A deleted instant fleet with running instances is not supported.

Result Syntax

[
    'SuccessfulFleetDeletions' => [
        [
            'CurrentFleetState' => 'submitted|active|deleted|failed|deleted_running|deleted_terminating|modifying',
            'FleetId' => '<string>',
            'PreviousFleetState' => 'submitted|active|deleted|failed|deleted_running|deleted_terminating|modifying',
        ],
        // ...
    ],
    'UnsuccessfulFleetDeletions' => [
        [
            'Error' => [
                'Code' => 'fleetIdDoesNotExist|fleetIdMalformed|fleetNotInDeletableState|unexpectedError',
                'Message' => '<string>',
            ],
            'FleetId' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
SuccessfulFleetDeletions
Type: Array of DeleteFleetSuccessItem structures

Information about the EC2 Fleets that are successfully deleted.

UnsuccessfulFleetDeletions
Type: Array of DeleteFleetErrorItem structures

Information about the EC2 Fleets that are not successfully deleted.

Errors

There are no errors described for this operation.

DeleteFlowLogs

$result = $client->deleteFlowLogs([/* ... */]);
$promise = $client->deleteFlowLogsAsync([/* ... */]);

Deletes one or more flow logs.

Parameter Syntax

$result = $client->deleteFlowLogs([
    'DryRun' => true || false,
    'FlowLogIds' => ['<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.

FlowLogIds
Required: Yes
Type: Array of strings

One or more flow log IDs.

Constraint: Maximum of 1000 flow log IDs.

Result Syntax

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

Result Details

Members
Unsuccessful
Type: Array of UnsuccessfulItem structures

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

Errors

There are no errors described for this operation.

DeleteFpgaImage

$result = $client->deleteFpgaImage([/* ... */]);
$promise = $client->deleteFpgaImageAsync([/* ... */]);

Deletes the specified Amazon FPGA Image (AFI).

Parameter Syntax

$result = $client->deleteFpgaImage([
    'DryRun' => true || false,
    'FpgaImageId' => '<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.

FpgaImageId
Required: Yes
Type: string

The ID of the AFI.

Result Syntax

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

Result Details

Members
Return
Type: boolean

Is true if the request succeeds, and an error otherwise.

Errors

There are no errors described for this operation.

DeleteInstanceConnectEndpoint

$result = $client->deleteInstanceConnectEndpoint([/* ... */]);
$promise = $client->deleteInstanceConnectEndpointAsync([/* ... */]);

Deletes the specified EC2 Instance Connect Endpoint.

Parameter Syntax

$result = $client->deleteInstanceConnectEndpoint([
    'DryRun' => true || false,
    'InstanceConnectEndpointId' => '<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.

InstanceConnectEndpointId
Required: Yes
Type: string

The ID of the EC2 Instance Connect Endpoint to delete.

Result Syntax

[
    '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
InstanceConnectEndpoint
Type: Ec2InstanceConnectEndpoint structure

Information about the EC2 Instance Connect Endpoint.

Errors

There are no errors described for this operation.

DeleteInstanceEventWindow

$result = $client->deleteInstanceEventWindow([/* ... */]);
$promise = $client->deleteInstanceEventWindowAsync([/* ... */]);

Deletes the specified event window.

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

Parameter Syntax

$result = $client->deleteInstanceEventWindow([
    'DryRun' => true || false,
    'ForceDelete' => true || false,
    'InstanceEventWindowId' => '<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.

ForceDelete
Type: boolean

Specify true to force delete the event window. Use the force delete parameter if the event window is currently associated with targets.

InstanceEventWindowId
Required: Yes
Type: string

The ID of the event window.

Result Syntax

[
    'InstanceEventWindowState' => [
        'InstanceEventWindowId' => '<string>',
        'State' => 'creating|deleting|active|deleted',
    ],
]

Result Details

Members
InstanceEventWindowState

The state of the event window.

Errors

There are no errors described for this operation.

DeleteInternetGateway

$result = $client->deleteInternetGateway([/* ... */]);
$promise = $client->deleteInternetGatewayAsync([/* ... */]);

Deletes the specified internet gateway. You must detach the internet gateway from the VPC before you can delete it.

Parameter Syntax

$result = $client->deleteInternetGateway([
    'DryRun' => true || false,
    'InternetGatewayId' => '<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.

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 delete an Internet gateway

This example deletes the specified Internet gateway.

$result = $client->deleteInternetGateway([
    'InternetGatewayId' => 'igw-c0a643a9',
]);

DeleteIpam

$result = $client->deleteIpam([/* ... */]);
$promise = $client->deleteIpamAsync([/* ... */]);

Delete an IPAM. Deleting an IPAM removes all monitored data associated with the IPAM including the historical data for CIDRs.

For more information, see Delete an IPAM in the Amazon VPC IPAM User Guide.

Parameter Syntax

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

Parameter Details

Members
Cascade
Type: boolean

Enables you to quickly delete an IPAM, private scopes, pools in private scopes, and any allocations in the pools in private scopes. You cannot delete the IPAM with this option if there is a pool in your public scope. If you use this option, IPAM does the following:

  • Deallocates any CIDRs allocated to VPC resources (such as VPCs) in pools in private scopes.

    No VPC resources are deleted as a result of enabling this option. The CIDR associated with the resource will no longer be allocated from an IPAM pool, but the CIDR itself will remain unchanged.

  • Deprovisions all IPv4 CIDRs provisioned to IPAM pools in private scopes.

  • Deletes all IPAM pools in private scopes.

  • Deletes all non-default private scopes in the IPAM.

  • Deletes the default public and private scopes and 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.

IpamId
Required: Yes
Type: string

The ID of the IPAM to delete.

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 results of the deletion.

Errors

There are no errors described for this operation.

DeleteIpamExternalResourceVerificationToken

$result = $client->deleteIpamExternalResourceVerificationToken([/* ... */]);
$promise = $client->deleteIpamExternalResourceVerificationTokenAsync([/* ... */]);

Delete 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->deleteIpamExternalResourceVerificationToken([
    'DryRun' => true || false,
    'IpamExternalResourceVerificationTokenId' => '<string>', // REQUIRED
]);

Parameter Details

Members
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.

IpamExternalResourceVerificationTokenId
Required: Yes
Type: string

The token ID.

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.

DeleteIpamPool

$result = $client->deleteIpamPool([/* ... */]);
$promise = $client->deleteIpamPoolAsync([/* ... */]);

Delete an IPAM pool.

You cannot delete an IPAM pool if there are allocations in it or CIDRs provisioned to it. To release allocations, see ReleaseIpamPoolAllocation. To deprovision pool CIDRs, see DeprovisionIpamPoolCidr.

For more information, see Delete a pool in the Amazon VPC IPAM User Guide.

Parameter Syntax

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

Parameter Details

Members
Cascade
Type: boolean

Enables you to quickly delete an IPAM pool and all resources within that pool, including provisioned CIDRs, allocations, and other pools.

You can only use this option to delete pools in the private scope or pools in the public scope with a source resource. A source resource is a resource used to provision CIDRs to a resource planning 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.

IpamPoolId
Required: Yes
Type: string

The ID of the pool to delete.

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 results of the deletion.

Errors

There are no errors described for this operation.

DeleteIpamResourceDiscovery

$result = $client->deleteIpamResourceDiscovery([/* ... */]);
$promise = $client->deleteIpamResourceDiscoveryAsync([/* ... */]);

Deletes 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->deleteIpamResourceDiscovery([
    'DryRun' => true || false,
    'IpamResourceDiscoveryId' => '<string>', // REQUIRED
]);

Parameter Details

Members
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.

IpamResourceDiscoveryId
Required: Yes
Type: string

The IPAM resource discovery ID.

Result Syntax

[
    'IpamResourceDiscovery' => [
        'Description' => '<string>',
        'IpamResourceDiscoveryArn' => '<string>',
        'IpamResourceDiscoveryId' => '<string>',
        'IpamResourceDiscoveryRegion' => '<string>',
        'IsDefault' => true || false,
        'OperatingRegions' => [
            [
                'RegionName' => '<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

The IPAM resource discovery.

Errors

There are no errors described for this operation.

DeleteIpamScope

$result = $client->deleteIpamScope([/* ... */]);
$promise = $client->deleteIpamScopeAsync([/* ... */]);

Delete the scope for an IPAM. You cannot delete the default scopes.

For more information, see Delete a scope in the Amazon VPC IPAM User Guide.

Parameter Syntax

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

Parameter Details

Members
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 to delete.

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 results of the deletion.

Errors

There are no errors described for this operation.

DeleteKeyPair

$result = $client->deleteKeyPair([/* ... */]);
$promise = $client->deleteKeyPairAsync([/* ... */]);

Deletes the specified key pair, by removing the public key from Amazon EC2.

Parameter Syntax

$result = $client->deleteKeyPair([
    'DryRun' => true || false,
    'KeyName' => '<string>',
    'KeyPairId' => '<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.

KeyName
Type: string

The name of the key pair.

KeyPairId
Type: string

The ID of the key pair.

Result Syntax

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

Result Details

Members
KeyPairId
Type: string

The ID of the key pair.

Return
Type: boolean

Is true if the request succeeds, and an error otherwise.

Errors

There are no errors described for this operation.

Examples

Example 1: To delete a key pair

This example deletes the specified key pair.

$result = $client->deleteKeyPair([
    'KeyName' => 'my-key-pair',
]);

DeleteLaunchTemplate

$result = $client->deleteLaunchTemplate([/* ... */]);
$promise = $client->deleteLaunchTemplateAsync([/* ... */]);

Deletes a launch template. Deleting a launch template deletes all of its versions.

Parameter Syntax

$result = $client->deleteLaunchTemplate([
    'DryRun' => true || false,
    'LaunchTemplateId' => '<string>',
    'LaunchTemplateName' => '<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.

LaunchTemplateId
Type: string

The ID of the launch template.

You must specify either the launch template ID or the launch template name, but not both.

LaunchTemplateName
Type: string

The name of the launch template.

You must specify either the launch template ID or the launch template name, but not both.

Result Syntax

[
    'LaunchTemplate' => [
        'CreateTime' => <DateTime>,
        'CreatedBy' => '<string>',
        'DefaultVersionNumber' => <integer>,
        'LatestVersionNumber' => <integer>,
        'LaunchTemplateId' => '<string>',
        'LaunchTemplateName' => '<string>',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
    ],
]

Result Details

Members
LaunchTemplate
Type: LaunchTemplate structure

Information about the launch template.

Errors

There are no errors described for this operation.

Examples

Example 1: To delete a launch template

This example deletes the specified launch template.

$result = $client->deleteLaunchTemplate([
    'LaunchTemplateId' => 'lt-0abcd290751193123',
]);

Result syntax:

[
    'LaunchTemplate' => [
        'CreateTime' => ,
        'CreatedBy' => 'arn:aws:iam::123456789012:root',
        'DefaultVersionNumber' => 2,
        'LatestVersionNumber' => 2,
        'LaunchTemplateId' => 'lt-0abcd290751193123',
        'LaunchTemplateName' => 'my-template',
    ],
]

DeleteLaunchTemplateVersions

$result = $client->deleteLaunchTemplateVersions([/* ... */]);
$promise = $client->deleteLaunchTemplateVersionsAsync([/* ... */]);

Deletes one or more versions of a launch template.

You can't delete the default version of a launch template; you must first assign a different version as the default. If the default version is the only version for the launch template, you must delete the entire launch template using DeleteLaunchTemplate.

You can delete up to 200 launch template versions in a single request. To delete more than 200 versions in a single request, use DeleteLaunchTemplate, which deletes the launch template and all of its versions.

For more information, see Delete a launch template version in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->deleteLaunchTemplateVersions([
    'DryRun' => true || false,
    'LaunchTemplateId' => '<string>',
    'LaunchTemplateName' => '<string>',
    'Versions' => ['<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.

LaunchTemplateId
Type: string

The ID of the launch template.

You must specify either the launch template ID or the launch template name, but not both.

LaunchTemplateName
Type: string

The name of the launch template.

You must specify either the launch template ID or the launch template name, but not both.

Versions
Required: Yes
Type: Array of strings

The version numbers of one or more launch template versions to delete. You can specify up to 200 launch template version numbers.

Result Syntax

[
    'SuccessfullyDeletedLaunchTemplateVersions' => [
        [
            'LaunchTemplateId' => '<string>',
            'LaunchTemplateName' => '<string>',
            'VersionNumber' => <integer>,
        ],
        // ...
    ],
    'UnsuccessfullyDeletedLaunchTemplateVersions' => [
        [
            'LaunchTemplateId' => '<string>',
            'LaunchTemplateName' => '<string>',
            'ResponseError' => [
                'Code' => 'launchTemplateIdDoesNotExist|launchTemplateIdMalformed|launchTemplateNameDoesNotExist|launchTemplateNameMalformed|launchTemplateVersionDoesNotExist|unexpectedError',
                'Message' => '<string>',
            ],
            'VersionNumber' => <integer>,
        ],
        // ...
    ],
]

Result Details

Members
SuccessfullyDeletedLaunchTemplateVersions

Information about the launch template versions that were successfully deleted.

UnsuccessfullyDeletedLaunchTemplateVersions

Information about the launch template versions that could not be deleted.

Errors

There are no errors described for this operation.

Examples

Example 1: To delete a launch template version

This example deletes the specified launch template version.

$result = $client->deleteLaunchTemplateVersions([
    'LaunchTemplateId' => 'lt-0abcd290751193123',
    'Versions' => [
        '1',
    ],
]);

Result syntax:

[
    'SuccessfullyDeletedLaunchTemplateVersions' => [
        [
            'LaunchTemplateId' => 'lt-0abcd290751193123',
            'LaunchTemplateName' => 'my-template',
            'VersionNumber' => 1,
        ],
    ],
    'UnsuccessfullyDeletedLaunchTemplateVersions' => [
    ],
]

DeleteLocalGatewayRoute

$result = $client->deleteLocalGatewayRoute([/* ... */]);
$promise = $client->deleteLocalGatewayRouteAsync([/* ... */]);

Deletes the specified route from the specified local gateway route table.

Parameter Syntax

$result = $client->deleteLocalGatewayRoute([
    'DestinationCidrBlock' => '<string>',
    'DestinationPrefixListId' => '<string>',
    'DryRun' => true || false,
    'LocalGatewayRouteTableId' => '<string>', // REQUIRED
]);

Parameter Details

Members
DestinationCidrBlock
Type: string

The CIDR range for the route. This must match the CIDR for the route exactly.

DestinationPrefixListId
Type: string

Use a prefix list in place of DestinationCidrBlock. You cannot use DestinationPrefixListId and DestinationCidrBlock in the same 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.

LocalGatewayRouteTableId
Required: Yes
Type: string

The ID of the local gateway route table.

Result Syntax

[
    'Route' => [
        'CoipPoolId' => '<string>',
        'DestinationCidrBlock' => '<string>',
        'DestinationPrefixListId' => '<string>',
        'LocalGatewayRouteTableArn' => '<string>',
        'LocalGatewayRouteTableId' => '<string>',
        'LocalGatewayVirtualInterfaceGroupId' => '<string>',
        'NetworkInterfaceId' => '<string>',
        'OwnerId' => '<string>',
        'State' => 'pending|active|blackhole|deleting|deleted',
        'SubnetId' => '<string>',
        'Type' => 'static|propagated',
    ],
]

Result Details

Members
Route
Type: LocalGatewayRoute structure

Information about the route.

Errors

There are no errors described for this operation.

DeleteLocalGatewayRouteTable

$result = $client->deleteLocalGatewayRouteTable([/* ... */]);
$promise = $client->deleteLocalGatewayRouteTableAsync([/* ... */]);

Deletes a local gateway route table.

Parameter Syntax

$result = $client->deleteLocalGatewayRouteTable([
    'DryRun' => true || false,
    'LocalGatewayRouteTableId' => '<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.

LocalGatewayRouteTableId
Required: Yes
Type: string

The ID of the local gateway route table.

Result Syntax

[
    'LocalGatewayRouteTable' => [
        'LocalGatewayId' => '<string>',
        'LocalGatewayRouteTableArn' => '<string>',
        'LocalGatewayRouteTableId' => '<string>',
        'Mode' => 'direct-vpc-routing|coip',
        'OutpostArn' => '<string>',
        'OwnerId' => '<string>',
        'State' => '<string>',
        'StateReason' => [
            'Code' => '<string>',
            'Message' => '<string>',
        ],
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
    ],
]

Result Details

Members
LocalGatewayRouteTable
Type: LocalGatewayRouteTable structure

Information about the local gateway route table.

Errors

There are no errors described for this operation.

DeleteLocalGatewayRouteTableVirtualInterfaceGroupAssociation

$result = $client->deleteLocalGatewayRouteTableVirtualInterfaceGroupAssociation([/* ... */]);
$promise = $client->deleteLocalGatewayRouteTableVirtualInterfaceGroupAssociationAsync([/* ... */]);

Deletes a local gateway route table virtual interface group association.

Parameter Syntax

$result = $client->deleteLocalGatewayRouteTableVirtualInterfaceGroupAssociation([
    'DryRun' => true || false,
    'LocalGatewayRouteTableVirtualInterfaceGroupAssociationId' => '<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.

LocalGatewayRouteTableVirtualInterfaceGroupAssociationId
Required: Yes
Type: string

The ID of the local gateway route table virtual interface group association.

Result Syntax

[
    'LocalGatewayRouteTableVirtualInterfaceGroupAssociation' => [
        'LocalGatewayId' => '<string>',
        'LocalGatewayRouteTableArn' => '<string>',
        'LocalGatewayRouteTableId' => '<string>',
        'LocalGatewayRouteTableVirtualInterfaceGroupAssociationId' => '<string>',
        'LocalGatewayVirtualInterfaceGroupId' => '<string>',
        'OwnerId' => '<string>',
        'State' => '<string>',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
    ],
]

Result Details

Members
LocalGatewayRouteTableVirtualInterfaceGroupAssociation

Information about the association.

Errors

There are no errors described for this operation.

DeleteLocalGatewayRouteTableVpcAssociation

$result = $client->deleteLocalGatewayRouteTableVpcAssociation([/* ... */]);
$promise = $client->deleteLocalGatewayRouteTableVpcAssociationAsync([/* ... */]);

Deletes the specified association between a VPC and local gateway route table.

Parameter Syntax

$result = $client->deleteLocalGatewayRouteTableVpcAssociation([
    'DryRun' => true || false,
    'LocalGatewayRouteTableVpcAssociationId' => '<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.

LocalGatewayRouteTableVpcAssociationId
Required: Yes
Type: string

The ID of the association.

Result Syntax

[
    'LocalGatewayRouteTableVpcAssociation' => [
        'LocalGatewayId' => '<string>',
        'LocalGatewayRouteTableArn' => '<string>',
        'LocalGatewayRouteTableId' => '<string>',
        'LocalGatewayRouteTableVpcAssociationId' => '<string>',
        'OwnerId' => '<string>',
        'State' => '<string>',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'VpcId' => '<string>',
    ],
]

Result Details

Members
LocalGatewayRouteTableVpcAssociation

Information about the association.

Errors

There are no errors described for this operation.

DeleteManagedPrefixList

$result = $client->deleteManagedPrefixList([/* ... */]);
$promise = $client->deleteManagedPrefixListAsync([/* ... */]);

Deletes the specified managed prefix list. You must first remove all references to the prefix list in your resources.

Parameter Syntax

$result = $client->deleteManagedPrefixList([
    'DryRun' => true || false,
    'PrefixListId' => '<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.

PrefixListId
Required: Yes
Type: string

The ID of the prefix list.

Result Syntax

[
    'PrefixList' => [
        'AddressFamily' => '<string>',
        'MaxEntries' => <integer>,
        'OwnerId' => '<string>',
        'PrefixListArn' => '<string>',
        'PrefixListId' => '<string>',
        'PrefixListName' => '<string>',
        'State' => 'create-in-progress|create-complete|create-failed|modify-in-progress|modify-complete|modify-failed|restore-in-progress|restore-complete|restore-failed|delete-in-progress|delete-complete|delete-failed',
        'StateMessage' => '<string>',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'Version' => <integer>,
    ],
]

Result Details

Members
PrefixList
Type: ManagedPrefixList structure

Information about the prefix list.

Errors

There are no errors described for this operation.

DeleteNatGateway

$result = $client->deleteNatGateway([/* ... */]);
$promise = $client->deleteNatGatewayAsync([/* ... */]);

Deletes the specified NAT gateway. Deleting a public NAT gateway disassociates its Elastic IP address, but does not release the address from your account. Deleting a NAT gateway does not delete any NAT gateway routes in your route tables.

Parameter Syntax

$result = $client->deleteNatGateway([
    'DryRun' => true || false,
    'NatGatewayId' => '<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.

NatGatewayId
Required: Yes
Type: string

The ID of the NAT gateway.

Result Syntax

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

Result Details

Members
NatGatewayId
Type: string

The ID of the NAT gateway.

Errors

There are no errors described for this operation.

Examples

Example 1: To delete a NAT gateway

This example deletes the specified NAT gateway.

$result = $client->deleteNatGateway([
    'NatGatewayId' => 'nat-04ae55e711cec5680',
]);

Result syntax:

[
    'NatGatewayId' => 'nat-04ae55e711cec5680',
]

DeleteNetworkAcl

$result = $client->deleteNetworkAcl([/* ... */]);
$promise = $client->deleteNetworkAclAsync([/* ... */]);

Deletes the specified network ACL. You can't delete the ACL if it's associated with any subnets. You can't delete the default network ACL.

Parameter Syntax

$result = $client->deleteNetworkAcl([
    'DryRun' => true || false,
    'NetworkAclId' => '<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.

NetworkAclId
Required: Yes
Type: string

The ID of the network ACL.

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 delete a network ACL

This example deletes the specified network ACL.

$result = $client->deleteNetworkAcl([
    'NetworkAclId' => 'acl-5fb85d36',
]);

DeleteNetworkAclEntry

$result = $client->deleteNetworkAclEntry([/* ... */]);
$promise = $client->deleteNetworkAclEntryAsync([/* ... */]);

Deletes the specified ingress or egress entry (rule) from the specified network ACL.

Parameter Syntax

$result = $client->deleteNetworkAclEntry([
    'DryRun' => true || false,
    'Egress' => true || false, // REQUIRED
    'NetworkAclId' => '<string>', // REQUIRED
    'RuleNumber' => <integer>, // 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.

Egress
Required: Yes
Type: boolean

Indicates whether the rule is an egress rule.

NetworkAclId
Required: Yes
Type: string

The ID of the network ACL.

RuleNumber
Required: Yes
Type: int

The rule number of the entry to delete.

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 delete a network ACL entry

This example deletes ingress rule number 100 from the specified network ACL.

$result = $client->deleteNetworkAclEntry([
    'Egress' => 1,
    'NetworkAclId' => 'acl-5fb85d36',
    'RuleNumber' => 100,
]);

DeleteNetworkInsightsAccessScope

$result = $client->deleteNetworkInsightsAccessScope([/* ... */]);
$promise = $client->deleteNetworkInsightsAccessScopeAsync([/* ... */]);

Deletes the specified Network Access Scope.

Parameter Syntax

$result = $client->deleteNetworkInsightsAccessScope([
    'DryRun' => true || false,
    'NetworkInsightsAccessScopeId' => '<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.

NetworkInsightsAccessScopeId
Required: Yes
Type: string

The ID of the Network Access Scope.

Result Syntax

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

Result Details

Members
NetworkInsightsAccessScopeId
Type: string

The ID of the Network Access Scope.

Errors

There are no errors described for this operation.

DeleteNetworkInsightsAccessScopeAnalysis

$result = $client->deleteNetworkInsightsAccessScopeAnalysis([/* ... */]);
$promise = $client->deleteNetworkInsightsAccessScopeAnalysisAsync([/* ... */]);

Deletes the specified Network Access Scope analysis.

Parameter Syntax

$result = $client->deleteNetworkInsightsAccessScopeAnalysis([
    'DryRun' => true || false,
    'NetworkInsightsAccessScopeAnalysisId' => '<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.

NetworkInsightsAccessScopeAnalysisId
Required: Yes
Type: string

The ID of the Network Access Scope analysis.

Result Syntax

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

Result Details

Members
NetworkInsightsAccessScopeAnalysisId
Type: string

The ID of the Network Access Scope analysis.

Errors

There are no errors described for this operation.

DeleteNetworkInsightsAnalysis

$result = $client->deleteNetworkInsightsAnalysis([/* ... */]);
$promise = $client->deleteNetworkInsightsAnalysisAsync([/* ... */]);

Deletes the specified network insights analysis.

Parameter Syntax

$result = $client->deleteNetworkInsightsAnalysis([
    'DryRun' => true || false,
    'NetworkInsightsAnalysisId' => '<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.

NetworkInsightsAnalysisId
Required: Yes
Type: string

The ID of the network insights analysis.

Result Syntax

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

Result Details

Members
NetworkInsightsAnalysisId
Type: string

The ID of the network insights analysis.

Errors

There are no errors described for this operation.

DeleteNetworkInsightsPath

$result = $client->deleteNetworkInsightsPath([/* ... */]);
$promise = $client->deleteNetworkInsightsPathAsync([/* ... */]);

Deletes the specified path.

Parameter Syntax

$result = $client->deleteNetworkInsightsPath([
    'DryRun' => true || false,
    'NetworkInsightsPathId' => '<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.

NetworkInsightsPathId
Required: Yes
Type: string

The ID of the path.

Result Syntax

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

Result Details

Members
NetworkInsightsPathId
Type: string

The ID of the path.

Errors

There are no errors described for this operation.

DeleteNetworkInterface

$result = $client->deleteNetworkInterface([/* ... */]);
$promise = $client->deleteNetworkInterfaceAsync([/* ... */]);

Deletes the specified network interface. You must detach the network interface before you can delete it.

Parameter Syntax

$result = $client->deleteNetworkInterface([
    'DryRun' => true || false,
    'NetworkInterfaceId' => '<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.

NetworkInterfaceId
Required: Yes
Type: string

The ID of the network interface.

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 delete a network interface

This example deletes the specified network interface.

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

DeleteNetworkInterfacePermission

$result = $client->deleteNetworkInterfacePermission([/* ... */]);
$promise = $client->deleteNetworkInterfacePermissionAsync([/* ... */]);

Deletes a permission for a network interface. By default, you cannot delete the permission if the account for which you're removing the permission has attached the network interface to an instance. However, you can force delete the permission, regardless of any attachment.

Parameter Syntax

$result = $client->deleteNetworkInterfacePermission([
    'DryRun' => true || false,
    'Force' => true || false,
    'NetworkInterfacePermissionId' => '<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.

Force
Type: boolean

Specify true to remove the permission even if the network interface is attached to an instance.

NetworkInterfacePermissionId
Required: Yes
Type: string

The ID of the network interface permission.

Result Syntax

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

Result Details

Members
Return
Type: boolean

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

Errors

There are no errors described for this operation.

DeletePlacementGroup

$result = $client->deletePlacementGroup([/* ... */]);
$promise = $client->deletePlacementGroupAsync([/* ... */]);

Deletes the specified placement group. You must terminate all instances in the placement group before you can delete the placement group. For more information, see Placement groups in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->deletePlacementGroup([
    'DryRun' => true || false,
    'GroupName' => '<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.

GroupName
Required: Yes
Type: string

The name of the placement group.

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 delete a placement group

This example deletes the specified placement group.

$result = $client->deletePlacementGroup([
    'GroupName' => 'my-cluster',
]);

Result syntax:

[
]

DeletePublicIpv4Pool

$result = $client->deletePublicIpv4Pool([/* ... */]);
$promise = $client->deletePublicIpv4PoolAsync([/* ... */]);

Delete a public IPv4 pool. A public IPv4 pool is an EC2 IP address pool required for the public IPv4 CIDRs that you own and bring to Amazon Web Services to manage with IPAM. IPv6 addresses you bring to Amazon Web Services, however, use IPAM pools only.

Parameter Syntax

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

Parameter Details

Members
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.

NetworkBorderGroup
Type: string

The Availability Zone (AZ) or Local Zone (LZ) network border group that the resource that the IP address is assigned to is in. Defaults to an AZ network border group. For more information on available Local Zones, see Local Zone availability in the Amazon EC2 User Guide.

PoolId
Required: Yes
Type: string

The ID of the public IPv4 pool you want to delete.

Result Syntax

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

Result Details

Members
ReturnValue
Type: boolean

Information about the result of deleting the public IPv4 pool.

Errors

There are no errors described for this operation.

DeleteQueuedReservedInstances

$result = $client->deleteQueuedReservedInstances([/* ... */]);
$promise = $client->deleteQueuedReservedInstancesAsync([/* ... */]);

Deletes the queued purchases for the specified Reserved Instances.

Parameter Syntax

$result = $client->deleteQueuedReservedInstances([
    'DryRun' => true || false,
    'ReservedInstancesIds' => ['<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.

ReservedInstancesIds
Required: Yes
Type: Array of strings

The IDs of the Reserved Instances.

Result Syntax

[
    'FailedQueuedPurchaseDeletions' => [
        [
            'Error' => [
                'Code' => 'reserved-instances-id-invalid|reserved-instances-not-in-queued-state|unexpected-error',
                'Message' => '<string>',
            ],
            'ReservedInstancesId' => '<string>',
        ],
        // ...
    ],
    'SuccessfulQueuedPurchaseDeletions' => [
        [
            'ReservedInstancesId' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
FailedQueuedPurchaseDeletions
Type: Array of FailedQueuedPurchaseDeletion structures

Information about the queued purchases that could not be deleted.

SuccessfulQueuedPurchaseDeletions
Type: Array of SuccessfulQueuedPurchaseDeletion structures

Information about the queued purchases that were successfully deleted.

Errors

There are no errors described for this operation.

DeleteRoute

$result = $client->deleteRoute([/* ... */]);
$promise = $client->deleteRouteAsync([/* ... */]);

Deletes the specified route from the specified route table.

Parameter Syntax

$result = $client->deleteRoute([
    'DestinationCidrBlock' => '<string>',
    'DestinationIpv6CidrBlock' => '<string>',
    'DestinationPrefixListId' => '<string>',
    'DryRun' => true || false,
    'RouteTableId' => '<string>', // REQUIRED
]);

Parameter Details

Members
DestinationCidrBlock
Type: string

The IPv4 CIDR range for the route. The value you specify must match the CIDR for the route exactly.

DestinationIpv6CidrBlock
Type: string

The IPv6 CIDR range for the route. The value you specify must match the CIDR for the route exactly.

DestinationPrefixListId
Type: string

The ID of the prefix list for the route.

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.

RouteTableId
Required: Yes
Type: string

The ID of the route table.

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 delete a route

This example deletes the specified route from the specified route table.

$result = $client->deleteRoute([
    'DestinationCidrBlock' => '0.0.0.0/0',
    'RouteTableId' => 'rtb-22574640',
]);

DeleteRouteTable

$result = $client->deleteRouteTable([/* ... */]);
$promise = $client->deleteRouteTableAsync([/* ... */]);

Deletes the specified route table. You must disassociate the route table from any subnets before you can delete it. You can't delete the main route table.

Parameter Syntax

$result = $client->deleteRouteTable([
    'DryRun' => true || false,
    'RouteTableId' => '<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.

RouteTableId
Required: Yes
Type: string

The ID of the route table.

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 delete a route table

This example deletes the specified route table.

$result = $client->deleteRouteTable([
    'RouteTableId' => 'rtb-22574640',
]);

DeleteSecurityGroup

$result = $client->deleteSecurityGroup([/* ... */]);
$promise = $client->deleteSecurityGroupAsync([/* ... */]);

Deletes a security group.

If you attempt to delete a security group that is associated with an instance or network interface, is referenced by another security group in the same VPC, or has a VPC association, the operation fails with DependencyViolation.

Parameter Syntax

$result = $client->deleteSecurityGroup([
    'DryRun' => true || false,
    'GroupId' => '<string>',
    'GroupName' => '<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.

GroupId
Type: string

The ID of the security group.

GroupName
Type: string

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

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 delete a security group

This example deletes the specified security group.

$result = $client->deleteSecurityGroup([
    'GroupId' => 'sg-903004f8',
]);

Result syntax:

[
]

DeleteSnapshot

$result = $client->deleteSnapshot([/* ... */]);
$promise = $client->deleteSnapshotAsync([/* ... */]);

Deletes the specified snapshot.

When you make periodic snapshots of a volume, the snapshots are incremental, and only the blocks on the device that have changed since your last snapshot are saved in the new snapshot. When you delete a snapshot, only the data not needed for any other snapshot is removed. So regardless of which prior snapshots have been deleted, all active snapshots will have access to all the information needed to restore the volume.

You cannot delete a snapshot of the root device of an EBS volume used by a registered AMI. You must first de-register the AMI before you can delete the snapshot.

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

Parameter Syntax

$result = $client->deleteSnapshot([
    'DryRun' => true || false,
    'SnapshotId' => '<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.

SnapshotId
Required: Yes
Type: string

The ID of the EBS snapshot.

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 delete a snapshot

This example deletes a snapshot with the snapshot ID of ``snap-1234567890abcdef0``. If the command succeeds, no output is returned.

$result = $client->deleteSnapshot([
    'SnapshotId' => 'snap-1234567890abcdef0',
]);

Result syntax:

[
]

DeleteSpotDatafeedSubscription

$result = $client->deleteSpotDatafeedSubscription([/* ... */]);
$promise = $client->deleteSpotDatafeedSubscriptionAsync([/* ... */]);

Deletes the data feed for Spot Instances.

Parameter Syntax

$result = $client->deleteSpotDatafeedSubscription([
    '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

[]

Result Details

The results for this operation are always empty.

Errors

There are no errors described for this operation.

Examples

Example 1: To cancel a Spot Instance data feed subscription

This example deletes a Spot data feed subscription for the account.

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

DeleteSubnet

$result = $client->deleteSubnet([/* ... */]);
$promise = $client->deleteSubnetAsync([/* ... */]);

Deletes the specified subnet. You must terminate all running instances in the subnet before you can delete the subnet.

Parameter Syntax

$result = $client->deleteSubnet([
    'DryRun' => true || false,
    'SubnetId' => '<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.

SubnetId
Required: Yes
Type: string

The ID of the subnet.

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 delete a subnet

This example deletes the specified subnet.

$result = $client->deleteSubnet([
    'SubnetId' => 'subnet-9d4a7b6c',
]);

DeleteSubnetCidrReservation

$result = $client->deleteSubnetCidrReservation([/* ... */]);
$promise = $client->deleteSubnetCidrReservationAsync([/* ... */]);

Deletes a subnet CIDR reservation.

Parameter Syntax

$result = $client->deleteSubnetCidrReservation([
    'DryRun' => true || false,
    'SubnetCidrReservationId' => '<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.

SubnetCidrReservationId
Required: Yes
Type: string

The ID of the subnet CIDR reservation.

Result Syntax

[
    'DeletedSubnetCidrReservation' => [
        'Cidr' => '<string>',
        'Description' => '<string>',
        'OwnerId' => '<string>',
        'ReservationType' => 'prefix|explicit',
        'SubnetCidrReservationId' => '<string>',
        'SubnetId' => '<string>',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
    ],
]

Result Details

Members
DeletedSubnetCidrReservation
Type: SubnetCidrReservation structure

Information about the deleted subnet CIDR reservation.

Errors

There are no errors described for this operation.

DeleteTags

$result = $client->deleteTags([/* ... */]);
$promise = $client->deleteTagsAsync([/* ... */]);

Deletes the specified set of tags from the specified set of resources.

To list the current tags, use DescribeTags. For more information about tags, see Tag your Amazon EC2 resources in the Amazon Elastic Compute Cloud User Guide.

Parameter Syntax

$result = $client->deleteTags([
    'DryRun' => true || false,
    'Resources' => ['<string>', ...], // REQUIRED
    '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.

Resources
Required: Yes
Type: Array of strings

The IDs of the resources, separated by spaces.

Constraints: Up to 1000 resource IDs. We recommend breaking up this request into smaller batches.

Tags
Type: Array of Tag structures

The tags to delete. Specify a tag key and an optional tag value to delete specific tags. If you specify a tag key without a tag value, we delete any tag with this key regardless of its value. If you specify a tag key with an empty string as the tag value, we delete the tag only if its value is an empty string.

If you omit this parameter, we delete all user-defined tags for the specified resources. We do not delete Amazon Web Services-generated tags (tags that have the aws: prefix).

Constraints: Up to 1000 tags.

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 delete a tag from a resource

This example deletes the tag Stack=test from the specified image.

$result = $client->deleteTags([
    'Resources' => [
        'ami-78a54011',
    ],
    'Tags' => [
        [
            'Key' => 'Stack',
            'Value' => 'test',
        ],
    ],
]);

DeleteTrafficMirrorFilter

$result = $client->deleteTrafficMirrorFilter([/* ... */]);
$promise = $client->deleteTrafficMirrorFilterAsync([/* ... */]);

Deletes the specified Traffic Mirror filter.

You cannot delete a Traffic Mirror filter that is in use by a Traffic Mirror session.

Parameter Syntax

$result = $client->deleteTrafficMirrorFilter([
    'DryRun' => true || false,
    'TrafficMirrorFilterId' => '<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.

TrafficMirrorFilterId
Required: Yes
Type: string

The ID of the Traffic Mirror filter.

Result Syntax

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

Result Details

Members
TrafficMirrorFilterId
Type: string

The ID of the Traffic Mirror filter.

Errors

There are no errors described for this operation.

DeleteTrafficMirrorFilterRule

$result = $client->deleteTrafficMirrorFilterRule([/* ... */]);
$promise = $client->deleteTrafficMirrorFilterRuleAsync([/* ... */]);

Deletes the specified Traffic Mirror rule.

Parameter Syntax

$result = $client->deleteTrafficMirrorFilterRule([
    'DryRun' => true || false,
    'TrafficMirrorFilterRuleId' => '<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.

TrafficMirrorFilterRuleId
Required: Yes
Type: string

The ID of the Traffic Mirror rule.

Result Syntax

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

Result Details

Members
TrafficMirrorFilterRuleId
Type: string

The ID of the deleted Traffic Mirror rule.

Errors

There are no errors described for this operation.

DeleteTrafficMirrorSession

$result = $client->deleteTrafficMirrorSession([/* ... */]);
$promise = $client->deleteTrafficMirrorSessionAsync([/* ... */]);

Deletes the specified Traffic Mirror session.

Parameter Syntax

$result = $client->deleteTrafficMirrorSession([
    'DryRun' => true || false,
    'TrafficMirrorSessionId' => '<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.

TrafficMirrorSessionId
Required: Yes
Type: string

The ID of the Traffic Mirror session.

Result Syntax

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

Result Details

Members
TrafficMirrorSessionId
Type: string

The ID of the deleted Traffic Mirror session.

Errors

There are no errors described for this operation.

DeleteTrafficMirrorTarget

$result = $client->deleteTrafficMirrorTarget([/* ... */]);
$promise = $client->deleteTrafficMirrorTargetAsync([/* ... */]);

Deletes the specified Traffic Mirror target.

You cannot delete a Traffic Mirror target that is in use by a Traffic Mirror session.

Parameter Syntax

$result = $client->deleteTrafficMirrorTarget([
    'DryRun' => true || false,
    'TrafficMirrorTargetId' => '<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.

TrafficMirrorTargetId
Required: Yes
Type: string

The ID of the Traffic Mirror target.

Result Syntax

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

Result Details

Members
TrafficMirrorTargetId
Type: string

The ID of the deleted Traffic Mirror target.

Errors

There are no errors described for this operation.

DeleteTransitGateway

$result = $client->deleteTransitGateway([/* ... */]);
$promise = $client->deleteTransitGatewayAsync([/* ... */]);

Deletes the specified transit gateway.

Parameter Syntax

$result = $client->deleteTransitGateway([
    'DryRun' => true || false,
    'TransitGatewayId' => '<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.

TransitGatewayId
Required: Yes
Type: string

The ID of the transit gateway.

Result Syntax

[
    'TransitGateway' => [
        'CreationTime' => <DateTime>,
        'Description' => '<string>',
        'Options' => [
            'AmazonSideAsn' => <integer>,
            'AssociationDefaultRouteTableId' => '<string>',
            'AutoAcceptSharedAttachments' => 'enable|disable',
            'DefaultRouteTableAssociation' => 'enable|disable',
            'DefaultRouteTablePropagation' => 'enable|disable',
            'DnsSupport' => 'enable|disable',
            'MulticastSupport' => 'enable|disable',
            'PropagationDefaultRouteTableId' => '<string>',
            'SecurityGroupReferencingSupport' => 'enable|disable',
            'TransitGatewayCidrBlocks' => ['<string>', ...],
            'VpnEcmpSupport' => 'enable|disable',
        ],
        'OwnerId' => '<string>',
        'State' => 'pending|available|modifying|deleting|deleted',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'TransitGatewayArn' => '<string>',
        'TransitGatewayId' => '<string>',
    ],
]

Result Details

Members
TransitGateway
Type: TransitGateway structure

Information about the deleted transit gateway.

Errors

There are no errors described for this operation.

DeleteTransitGatewayConnect

$result = $client->deleteTransitGatewayConnect([/* ... */]);
$promise = $client->deleteTransitGatewayConnectAsync([/* ... */]);

Deletes the specified Connect attachment. You must first delete any Connect peers for the attachment.

Parameter Syntax

$result = $client->deleteTransitGatewayConnect([
    '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 Connect attachment.

Result Syntax

[
    'TransitGatewayConnect' => [
        'CreationTime' => <DateTime>,
        'Options' => [
            'Protocol' => 'gre',
        ],
        'State' => 'initiating|initiatingRequest|pendingAcceptance|rollingBack|pending|available|modifying|deleting|deleted|failed|rejected|rejecting|failing',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'TransitGatewayAttachmentId' => '<string>',
        'TransitGatewayId' => '<string>',
        'TransportTransitGatewayAttachmentId' => '<string>',
    ],
]

Result Details

Members
TransitGatewayConnect
Type: TransitGatewayConnect structure

Information about the deleted Connect attachment.

Errors

There are no errors described for this operation.

DeleteTransitGatewayConnectPeer

$result = $client->deleteTransitGatewayConnectPeer([/* ... */]);
$promise = $client->deleteTransitGatewayConnectPeerAsync([/* ... */]);

Deletes the specified Connect peer.

Parameter Syntax

$result = $client->deleteTransitGatewayConnectPeer([
    'DryRun' => true || false,
    'TransitGatewayConnectPeerId' => '<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.

TransitGatewayConnectPeerId
Required: Yes
Type: string

The ID of the Connect peer.

Result Syntax

[
    'TransitGatewayConnectPeer' => [
        'ConnectPeerConfiguration' => [
            'BgpConfigurations' => [
                [
                    'BgpStatus' => 'up|down',
                    'PeerAddress' => '<string>',
                    'PeerAsn' => <integer>,
                    'TransitGatewayAddress' => '<string>',
                    'TransitGatewayAsn' => <integer>,
                ],
                // ...
            ],
            'InsideCidrBlocks' => ['<string>', ...],
            'PeerAddress' => '<string>',
            'Protocol' => 'gre',
            'TransitGatewayAddress' => '<string>',
        ],
        'CreationTime' => <DateTime>,
        'State' => 'pending|available|deleting|deleted',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'TransitGatewayAttachmentId' => '<string>',
        'TransitGatewayConnectPeerId' => '<string>',
    ],
]

Result Details

Members
TransitGatewayConnectPeer
Type: TransitGatewayConnectPeer structure

Information about the deleted Connect peer.

Errors

There are no errors described for this operation.

DeleteTransitGatewayMulticastDomain

$result = $client->deleteTransitGatewayMulticastDomain([/* ... */]);
$promise = $client->deleteTransitGatewayMulticastDomainAsync([/* ... */]);

Deletes the specified transit gateway multicast domain.

Parameter Syntax

$result = $client->deleteTransitGatewayMulticastDomain([
    'DryRun' => true || false,
    '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.

TransitGatewayMulticastDomainId
Required: Yes
Type: string

The ID of the transit gateway multicast domain.

Result Syntax

[
    'TransitGatewayMulticastDomain' => [
        'CreationTime' => <DateTime>,
        'Options' => [
            'AutoAcceptSharedAssociations' => 'enable|disable',
            'Igmpv2Support' => 'enable|disable',
            'StaticSourcesSupport' => 'enable|disable',
        ],
        'OwnerId' => '<string>',
        'State' => 'pending|available|deleting|deleted',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'TransitGatewayId' => '<string>',
        'TransitGatewayMulticastDomainArn' => '<string>',
        'TransitGatewayMulticastDomainId' => '<string>',
    ],
]

Result Details

Members
TransitGatewayMulticastDomain

Information about the deleted transit gateway multicast domain.

Errors

There are no errors described for this operation.

DeleteTransitGatewayPeeringAttachment

$result = $client->deleteTransitGatewayPeeringAttachment([/* ... */]);
$promise = $client->deleteTransitGatewayPeeringAttachmentAsync([/* ... */]);

Deletes a transit gateway peering attachment.

Parameter Syntax

$result = $client->deleteTransitGatewayPeeringAttachment([
    '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 peering 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.

DeleteTransitGatewayPolicyTable

$result = $client->deleteTransitGatewayPolicyTable([/* ... */]);
$promise = $client->deleteTransitGatewayPolicyTableAsync([/* ... */]);

Deletes the specified transit gateway policy table.

Parameter Syntax

$result = $client->deleteTransitGatewayPolicyTable([
    'DryRun' => true || false,
    '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.

TransitGatewayPolicyTableId
Required: Yes
Type: string

The transit gateway policy table to delete.

Result Syntax

[
    'TransitGatewayPolicyTable' => [
        'CreationTime' => <DateTime>,
        'State' => 'pending|available|deleting|deleted',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'TransitGatewayId' => '<string>',
        'TransitGatewayPolicyTableId' => '<string>',
    ],
]

Result Details

Members
TransitGatewayPolicyTable
Type: TransitGatewayPolicyTable structure

Provides details about the deleted transit gateway policy table.

Errors

There are no errors described for this operation.

DeleteTransitGatewayPrefixListReference

$result = $client->deleteTransitGatewayPrefixListReference([/* ... */]);
$promise = $client->deleteTransitGatewayPrefixListReferenceAsync([/* ... */]);

Deletes a reference (route) to a prefix list in a specified transit gateway route table.

Parameter Syntax

$result = $client->deleteTransitGatewayPrefixListReference([
    'DryRun' => true || false,
    'PrefixListId' => '<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.

PrefixListId
Required: Yes
Type: string

The ID of the prefix list.

TransitGatewayRouteTableId
Required: Yes
Type: string

The ID of the route table.

Result Syntax

[
    'TransitGatewayPrefixListReference' => [
        'Blackhole' => true || false,
        'PrefixListId' => '<string>',
        'PrefixListOwnerId' => '<string>',
        'State' => 'pending|available|modifying|deleting',
        'TransitGatewayAttachment' => [
            'ResourceId' => '<string>',
            'ResourceType' => 'vpc|vpn|direct-connect-gateway|connect|peering|tgw-peering',
            'TransitGatewayAttachmentId' => '<string>',
        ],
        'TransitGatewayRouteTableId' => '<string>',
    ],
]

Result Details

Members
TransitGatewayPrefixListReference

Information about the deleted prefix list reference.

Errors

There are no errors described for this operation.

DeleteTransitGatewayRoute

$result = $client->deleteTransitGatewayRoute([/* ... */]);
$promise = $client->deleteTransitGatewayRouteAsync([/* ... */]);

Deletes the specified route from the specified transit gateway route table.

Parameter Syntax

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

Parameter Details

Members
DestinationCidrBlock
Required: Yes
Type: string

The CIDR range for the route. This must match the CIDR for the route exactly.

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.

TransitGatewayRouteTableId
Required: Yes
Type: string

The ID of the transit gateway route table.

Result Syntax

[
    'Route' => [
        'DestinationCidrBlock' => '<string>',
        'PrefixListId' => '<string>',
        'State' => 'pending|active|blackhole|deleting|deleted',
        'TransitGatewayAttachments' => [
            [
                'ResourceId' => '<string>',
                'ResourceType' => 'vpc|vpn|direct-connect-gateway|connect|peering|tgw-peering',
                'TransitGatewayAttachmentId' => '<string>',
            ],
            // ...
        ],
        'TransitGatewayRouteTableAnnouncementId' => '<string>',
        'Type' => 'static|propagated',
    ],
]

Result Details

Members
Route
Type: TransitGatewayRoute structure

Information about the route.

Errors

There are no errors described for this operation.

DeleteTransitGatewayRouteTable

$result = $client->deleteTransitGatewayRouteTable([/* ... */]);
$promise = $client->deleteTransitGatewayRouteTableAsync([/* ... */]);

Deletes the specified transit gateway route table. If there are any route tables associated with the transit gateway route table, you must first run DisassociateRouteTable before you can delete the transit gateway route table. This removes any route tables associated with the transit gateway route table.

Parameter Syntax

$result = $client->deleteTransitGatewayRouteTable([
    'DryRun' => true || false,
    '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.

TransitGatewayRouteTableId
Required: Yes
Type: string

The ID of the transit gateway route table.

Result Syntax

[
    'TransitGatewayRouteTable' => [
        'CreationTime' => <DateTime>,
        'DefaultAssociationRouteTable' => true || false,
        'DefaultPropagationRouteTable' => true || false,
        'State' => 'pending|available|deleting|deleted',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'TransitGatewayId' => '<string>',
        'TransitGatewayRouteTableId' => '<string>',
    ],
]

Result Details

Members
TransitGatewayRouteTable
Type: TransitGatewayRouteTable structure

Information about the deleted transit gateway route table.

Errors

There are no errors described for this operation.

DeleteTransitGatewayRouteTableAnnouncement

$result = $client->deleteTransitGatewayRouteTableAnnouncement([/* ... */]);
$promise = $client->deleteTransitGatewayRouteTableAnnouncementAsync([/* ... */]);

Advertises to the transit gateway that a transit gateway route table is deleted.

Parameter Syntax

$result = $client->deleteTransitGatewayRouteTableAnnouncement([
    'DryRun' => true || false,
    'TransitGatewayRouteTableAnnouncementId' => '<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.

TransitGatewayRouteTableAnnouncementId
Required: Yes
Type: string

The transit gateway route table ID that's being deleted.

Result Syntax

[
    'TransitGatewayRouteTableAnnouncement' => [
        'AnnouncementDirection' => 'outgoing|incoming',
        'CoreNetworkId' => '<string>',
        'CreationTime' => <DateTime>,
        'PeerCoreNetworkId' => '<string>',
        'PeerTransitGatewayId' => '<string>',
        'PeeringAttachmentId' => '<string>',
        'State' => 'available|pending|failing|failed|deleting|deleted',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'TransitGatewayId' => '<string>',
        'TransitGatewayRouteTableAnnouncementId' => '<string>',
        'TransitGatewayRouteTableId' => '<string>',
    ],
]

Result Details

Members
TransitGatewayRouteTableAnnouncement

Provides details about a deleted transit gateway route table.

Errors

There are no errors described for this operation.

DeleteTransitGatewayVpcAttachment

$result = $client->deleteTransitGatewayVpcAttachment([/* ... */]);
$promise = $client->deleteTransitGatewayVpcAttachmentAsync([/* ... */]);

Deletes the specified VPC attachment.

Parameter Syntax

$result = $client->deleteTransitGatewayVpcAttachment([
    '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

Information about the deleted VPC attachment.

Errors

There are no errors described for this operation.

DeleteVerifiedAccessEndpoint

$result = $client->deleteVerifiedAccessEndpoint([/* ... */]);
$promise = $client->deleteVerifiedAccessEndpointAsync([/* ... */]);

Delete an Amazon Web Services Verified Access endpoint.

Parameter Syntax

$result = $client->deleteVerifiedAccessEndpoint([
    'ClientToken' => '<string>',
    'DryRun' => true || false,
    'VerifiedAccessEndpointId' => '<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.

VerifiedAccessEndpointId
Required: Yes
Type: string

The ID of the Verified Access endpoint.

Result Syntax

[
    'VerifiedAccessEndpoint' => [
        'ApplicationDomain' => '<string>',
        'AttachmentType' => 'vpc',
        'CreationTime' => '<string>',
        'DeletionTime' => '<string>',
        'Description' => '<string>',
        'DeviceValidationDomain' => '<string>',
        'DomainCertificateArn' => '<string>',
        'EndpointDomain' => '<string>',
        'EndpointType' => 'load-balancer|network-interface',
        'LastUpdatedTime' => '<string>',
        'LoadBalancerOptions' => [
            'LoadBalancerArn' => '<string>',
            'Port' => <integer>,
            'Protocol' => 'http|https',
            'SubnetIds' => ['<string>', ...],
        ],
        'NetworkInterfaceOptions' => [
            'NetworkInterfaceId' => '<string>',
            'Port' => <integer>,
            'Protocol' => 'http|https',
        ],
        'SecurityGroupIds' => ['<string>', ...],
        'SseSpecification' => [
            'CustomerManagedKeyEnabled' => true || false,
            'KmsKeyArn' => '<string>',
        ],
        'Status' => [
            'Code' => 'pending|active|updating|deleting|deleted',
            'Message' => '<string>',
        ],
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'VerifiedAccessEndpointId' => '<string>',
        'VerifiedAccessGroupId' => '<string>',
        'VerifiedAccessInstanceId' => '<string>',
    ],
]

Result Details

Members
VerifiedAccessEndpoint
Type: VerifiedAccessEndpoint structure

Details about the Verified Access endpoint.

Errors

There are no errors described for this operation.

DeleteVerifiedAccessGroup

$result = $client->deleteVerifiedAccessGroup([/* ... */]);
$promise = $client->deleteVerifiedAccessGroupAsync([/* ... */]);

Delete an Amazon Web Services Verified Access group.

Parameter Syntax

$result = $client->deleteVerifiedAccessGroup([
    'ClientToken' => '<string>',
    'DryRun' => true || false,
    'VerifiedAccessGroupId' => '<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.

VerifiedAccessGroupId
Required: Yes
Type: string

The ID of the Verified Access group.

Result Syntax

[
    'VerifiedAccessGroup' => [
        'CreationTime' => '<string>',
        'DeletionTime' => '<string>',
        'Description' => '<string>',
        'LastUpdatedTime' => '<string>',
        'Owner' => '<string>',
        'SseSpecification' => [
            'CustomerManagedKeyEnabled' => true || false,
            'KmsKeyArn' => '<string>',
        ],
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'VerifiedAccessGroupArn' => '<string>',
        'VerifiedAccessGroupId' => '<string>',
        'VerifiedAccessInstanceId' => '<string>',
    ],
]

Result Details

Members
VerifiedAccessGroup
Type: VerifiedAccessGroup structure

Details about the Verified Access group.

Errors

There are no errors described for this operation.

DeleteVerifiedAccessInstance

$result = $client->deleteVerifiedAccessInstance([/* ... */]);
$promise = $client->deleteVerifiedAccessInstanceAsync([/* ... */]);

Delete an Amazon Web Services Verified Access instance.

Parameter Syntax

$result = $client->deleteVerifiedAccessInstance([
    'ClientToken' => '<string>',
    'DryRun' => true || false,
    'VerifiedAccessInstanceId' => '<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.

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>',
            ],
            // ...
        ],
    ],
]

Result Details

Members
VerifiedAccessInstance
Type: VerifiedAccessInstance structure

Details about the Verified Access instance.

Errors

There are no errors described for this operation.

DeleteVerifiedAccessTrustProvider

$result = $client->deleteVerifiedAccessTrustProvider([/* ... */]);
$promise = $client->deleteVerifiedAccessTrustProviderAsync([/* ... */]);

Delete an Amazon Web Services Verified Access trust provider.

Parameter Syntax

$result = $client->deleteVerifiedAccessTrustProvider([
    'ClientToken' => '<string>',
    'DryRun' => true || false,
    '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.

VerifiedAccessTrustProviderId
Required: Yes
Type: string

The ID of the Verified Access trust provider.

Result Syntax

[
    '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
VerifiedAccessTrustProvider
Type: VerifiedAccessTrustProvider structure

Details about the Verified Access trust provider.

Errors

There are no errors described for this operation.

DeleteVolume

$result = $client->deleteVolume([/* ... */]);
$promise = $client->deleteVolumeAsync([/* ... */]);

Deletes the specified EBS volume. The volume must be in the available state (not attached to an instance).

The volume can remain in the deleting state for several minutes.

For more information, see Delete an Amazon EBS volume in the Amazon EBS User Guide.

Parameter Syntax

$result = $client->deleteVolume([
    'DryRun' => true || false,
    'VolumeId' => '<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.

VolumeId
Required: Yes
Type: string

The ID of the volume.

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 delete a volume

This example deletes an available volume with the volume ID of ``vol-049df61146c4d7901``. If the command succeeds, no output is returned.

$result = $client->deleteVolume([
    'VolumeId' => 'vol-049df61146c4d7901',
]);

Result syntax:

[
]

DeleteVpc

$result = $client->deleteVpc([/* ... */]);
$promise = $client->deleteVpcAsync([/* ... */]);

Deletes the specified VPC. You must detach or delete all gateways and resources that are associated with the VPC before you can delete it. For example, you must terminate all instances running in the VPC, delete all security groups associated with the VPC (except the default one), delete all route tables associated with the VPC (except the default one), and so on. When you delete the VPC, it deletes the default security group, network ACL, and route table for the VPC.

If you created a flow log for the VPC that you are deleting, note that flow logs for deleted VPCs are eventually automatically removed.

Parameter Syntax

$result = $client->deleteVpc([
    'DryRun' => true || false,
    '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.

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 delete a VPC

This example deletes the specified VPC.

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

DeleteVpcEndpointConnectionNotifications

$result = $client->deleteVpcEndpointConnectionNotifications([/* ... */]);
$promise = $client->deleteVpcEndpointConnectionNotificationsAsync([/* ... */]);

Deletes the specified VPC endpoint connection notifications.

Parameter Syntax

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

Parameter Details

Members
ConnectionNotificationIds
Required: Yes
Type: Array of strings

The IDs of the notifications.

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

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

Result Details

Members
Unsuccessful
Type: Array of UnsuccessfulItem structures

Information about the notifications that could not be deleted successfully.

Errors

There are no errors described for this operation.

DeleteVpcEndpointServiceConfigurations

$result = $client->deleteVpcEndpointServiceConfigurations([/* ... */]);
$promise = $client->deleteVpcEndpointServiceConfigurationsAsync([/* ... */]);

Deletes the specified VPC endpoint service configurations. Before you can delete an endpoint service configuration, you must reject any Available or PendingAcceptance interface endpoint connections that are attached to the service.

Parameter Syntax

$result = $client->deleteVpcEndpointServiceConfigurations([
    'DryRun' => true || false,
    'ServiceIds' => ['<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.

ServiceIds
Required: Yes
Type: Array of strings

The IDs of the services.

Result Syntax

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

Result Details

Members
Unsuccessful
Type: Array of UnsuccessfulItem structures

Information about the service configurations that were not deleted, if applicable.

Errors

There are no errors described for this operation.

DeleteVpcEndpoints

$result = $client->deleteVpcEndpoints([/* ... */]);
$promise = $client->deleteVpcEndpointsAsync([/* ... */]);

Deletes the specified VPC endpoints.

When you delete a gateway endpoint, we delete the endpoint routes in the route tables for the endpoint.

When you delete a Gateway Load Balancer endpoint, we delete its endpoint network interfaces. You can only delete Gateway Load Balancer endpoints when the routes that are associated with the endpoint are deleted.

When you delete an interface endpoint, we delete its endpoint network interfaces.

Parameter Syntax

$result = $client->deleteVpcEndpoints([
    'DryRun' => true || false,
    '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.

VpcEndpointIds
Required: Yes
Type: Array of strings

The IDs of the VPC endpoints.

Result Syntax

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

Result Details

Members
Unsuccessful
Type: Array of UnsuccessfulItem structures

Information about the VPC endpoints that were not successfully deleted.

Errors

There are no errors described for this operation.

DeleteVpcPeeringConnection

$result = $client->deleteVpcPeeringConnection([/* ... */]);
$promise = $client->deleteVpcPeeringConnectionAsync([/* ... */]);

Deletes a VPC peering connection. Either the owner of the requester VPC or the owner of the accepter VPC can delete the VPC peering connection if it's in the active state. The owner of the requester VPC can delete a VPC peering connection in the pending-acceptance state. You cannot delete a VPC peering connection that's in the failed or rejected state.

Parameter Syntax

$result = $client->deleteVpcPeeringConnection([
    '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.

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.

DeleteVpnConnection

$result = $client->deleteVpnConnection([/* ... */]);
$promise = $client->deleteVpnConnectionAsync([/* ... */]);

Deletes the specified VPN connection.

If you're deleting the VPC and its associated components, we recommend that you detach the virtual private gateway from the VPC and delete the VPC before deleting the VPN connection. If you believe that the tunnel credentials for your VPN connection have been compromised, you can delete the VPN connection and create a new one that has new keys, without needing to delete the VPC or virtual private gateway. If you create a new VPN connection, you must reconfigure the customer gateway device using the new configuration information returned with the new VPN connection ID.

For certificate-based authentication, delete all Certificate Manager (ACM) private certificates used for the Amazon Web Services-side tunnel endpoints for the VPN connection before deleting the VPN connection.

Parameter Syntax

$result = $client->deleteVpnConnection([
    'DryRun' => true || false,
    'VpnConnectionId' => '<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.

VpnConnectionId
Required: Yes
Type: string

The ID of the VPN connection.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

There are no errors described for this operation.

DeleteVpnConnectionRoute

$result = $client->deleteVpnConnectionRoute([/* ... */]);
$promise = $client->deleteVpnConnectionRouteAsync([/* ... */]);

Deletes the specified static route associated with a VPN connection between an existing virtual private gateway and a VPN customer gateway. The static route allows traffic to be routed from the virtual private gateway to the VPN customer gateway.

Parameter Syntax

$result = $client->deleteVpnConnectionRoute([
    'DestinationCidrBlock' => '<string>', // REQUIRED
    'VpnConnectionId' => '<string>', // REQUIRED
]);

Parameter Details

Members
DestinationCidrBlock
Required: Yes
Type: string

The CIDR block associated with the local subnet of the customer network.

VpnConnectionId
Required: Yes
Type: string

The ID of the VPN connection.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

There are no errors described for this operation.

DeleteVpnGateway

$result = $client->deleteVpnGateway([/* ... */]);
$promise = $client->deleteVpnGatewayAsync([/* ... */]);

Deletes the specified virtual private gateway. You must first detach the virtual private gateway from the VPC. Note that you don't need to delete the virtual private gateway if you plan to delete and recreate the VPN connection between your VPC and your network.

Parameter Syntax

$result = $client->deleteVpnGateway([
    'DryRun' => true || false,
    '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.

VpnGatewayId
Required: Yes
Type: string

The ID of the virtual private gateway.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

There are no errors described for this operation.

DeprovisionByoipCidr

$result = $client->deprovisionByoipCidr([/* ... */]);
$promise = $client->deprovisionByoipCidrAsync([/* ... */]);

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.

Before you can release an address range, you must stop advertising it using WithdrawByoipCidr and you must not have any IP addresses allocated from its address range.

Parameter Syntax

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

Parameter Details

Members
Cidr
Required: Yes
Type: string

The address range, in CIDR notation. The prefix must be the same prefix that you specified when you provisioned the address 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.

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.

DeprovisionIpamByoasn

$result = $client->deprovisionIpamByoasn([/* ... */]);
$promise = $client->deprovisionIpamByoasnAsync([/* ... */]);

Deprovisions your Autonomous System Number (ASN) from your Amazon Web Services account. This action can only be called after any BYOIP CIDR associations are removed from your Amazon Web Services account with DisassociateIpamByoasn. For more information, see Tutorial: Bring your ASN to IPAM in the Amazon VPC IPAM guide.

Parameter Syntax

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

Parameter Details

Members
Asn
Required: Yes
Type: string

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.

IpamId
Required: Yes
Type: string

The IPAM ID.

Result Syntax

[
    'Byoasn' => [
        'Asn' => '<string>',
        'IpamId' => '<string>',
        'State' => 'deprovisioned|failed-deprovision|failed-provision|pending-deprovision|pending-provision|provisioned',
        'StatusMessage' => '<string>',
    ],
]

Result Details

Members
Byoasn
Type: Byoasn structure

An ASN and BYOIP CIDR association.

Errors

There are no errors described for this operation.

DeprovisionIpamPoolCidr

$result = $client->deprovisionIpamPoolCidr([/* ... */]);
$promise = $client->deprovisionIpamPoolCidrAsync([/* ... */]);

Deprovision a CIDR provisioned from an IPAM pool. If you deprovision a CIDR from a pool that has a source pool, the CIDR is recycled back into the source pool. For more information, see Deprovision pool CIDRs in the Amazon VPC IPAM User Guide.

Parameter Syntax

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

Parameter Details

Members
Cidr
Type: string

The CIDR which you want to deprovision from the 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.

IpamPoolId
Required: Yes
Type: string

The ID of the pool that has the CIDR you want to deprovision.

Result Syntax

[
    'IpamPoolCidr' => [
        'Cidr' => '<string>',
        'FailureReason' => [
            'Code' => 'cidr-not-available|limit-exceeded',
            'Message' => '<string>',
        ],
        'IpamPoolCidrId' => '<string>',
        'NetmaskLength' => <integer>,
        'State' => 'pending-provision|provisioned|failed-provision|pending-deprovision|deprovisioned|failed-deprovision|pending-import|failed-import',
    ],
]

Result Details

Members
IpamPoolCidr
Type: IpamPoolCidr structure

The deprovisioned pool CIDR.

Errors

There are no errors described for this operation.

DeprovisionPublicIpv4PoolCidr

$result = $client->deprovisionPublicIpv4PoolCidr([/* ... */]);
$promise = $client->deprovisionPublicIpv4PoolCidrAsync([/* ... */]);

Deprovision a CIDR from a public IPv4 pool.

Parameter Syntax

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

Parameter Details

Members
Cidr
Required: Yes
Type: string

The CIDR you want to deprovision from the pool. Enter the CIDR you want to deprovision with a netmask of /32. You must rerun this command for each IP address in the CIDR range. If your CIDR is a /24, you will have to run this command to deprovision each of the 256 IP addresses in the /24 CIDR.

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.

PoolId
Required: Yes
Type: string

The ID of the pool that you want to deprovision the CIDR from.

Result Syntax

[
    'DeprovisionedAddresses' => ['<string>', ...],
    'PoolId' => '<string>',
]

Result Details

Members
DeprovisionedAddresses
Type: Array of strings

The deprovisioned CIDRs.

PoolId
Type: string

The ID of the pool that you deprovisioned the CIDR from.

Errors

There are no errors described for this operation.

DeregisterImage

$result = $client->deregisterImage([/* ... */]);
$promise = $client->deregisterImageAsync([/* ... */]);

Deregisters the specified AMI. After you deregister an AMI, it can't be used to launch new instances.

If you deregister an AMI that matches a Recycle Bin retention rule, the AMI is retained in the Recycle Bin for the specified retention period. For more information, see Recycle Bin in the Amazon EC2 User Guide.

When you deregister an AMI, it doesn't affect any instances that you've already launched from the AMI. You'll continue to incur usage costs for those instances until you terminate them.

When you deregister an Amazon EBS-backed AMI, it doesn't affect the snapshot that was created for the root volume of the instance during the AMI creation process. When you deregister an instance store-backed AMI, it doesn't affect the files that you uploaded to Amazon S3 when you created the AMI.

Parameter Syntax

$result = $client->deregisterImage([
    '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.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

There are no errors described for this operation.

DeregisterInstanceEventNotificationAttributes

$result = $client->deregisterInstanceEventNotificationAttributes([/* ... */]);
$promise = $client->deregisterInstanceEventNotificationAttributesAsync([/* ... */]);

Deregisters tag keys to prevent tags that have the specified tag keys from being included in scheduled event notifications for resources in the Region.

Parameter Syntax

$result = $client->deregisterInstanceEventNotificationAttributes([
    'DryRun' => true || false,
    'InstanceTagAttribute' => [ // REQUIRED
        'IncludeAllTagsOfInstance' => true || false,
        'InstanceTagKeys' => ['<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.

InstanceTagAttribute
Required: Yes
Type: DeregisterInstanceTagAttributeRequest structure

Information about the tag keys to deregister.

Result Syntax

[
    'InstanceTagAttribute' => [
        'IncludeAllTagsOfInstance' => true || false,
        'InstanceTagKeys' => ['<string>', ...],
    ],
]

Result Details

Members
InstanceTagAttribute

The resulting set of tag keys.

Errors

There are no errors described for this operation.

DeregisterTransitGatewayMulticastGroupMembers

$result = $client->deregisterTransitGatewayMulticastGroupMembers([/* ... */]);
$promise = $client->deregisterTransitGatewayMulticastGroupMembersAsync([/* ... */]);

Deregisters the specified members (network interfaces) from the transit gateway multicast group.

Parameter Syntax

$result = $client->deregisterTransitGatewayMulticastGroupMembers([
    'DryRun' => true || false,
    'GroupIpAddress' => '<string>',
    'NetworkInterfaceIds' => ['<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.

GroupIpAddress
Type: string

The IP address assigned to the transit gateway multicast group.

NetworkInterfaceIds
Type: Array of strings

The IDs of the group members' network interfaces.

TransitGatewayMulticastDomainId
Type: string

The ID of the transit gateway multicast domain.

Result Syntax

[
    'DeregisteredMulticastGroupMembers' => [
        'DeregisteredNetworkInterfaceIds' => ['<string>', ...],
        'GroupIpAddress' => '<string>',
        'TransitGatewayMulticastDomainId' => '<string>',
    ],
]

Result Details

Members
DeregisteredMulticastGroupMembers

Information about the deregistered members.

Errors

There are no errors described for this operation.

DeregisterTransitGatewayMulticastGroupSources

$result = $client->deregisterTransitGatewayMulticastGroupSources([/* ... */]);
$promise = $client->deregisterTransitGatewayMulticastGroupSourcesAsync([/* ... */]);

Deregisters the specified sources (network interfaces) from the transit gateway multicast group.

Parameter Syntax

$result = $client->deregisterTransitGatewayMulticastGroupSources([
    'DryRun' => true || false,
    'GroupIpAddress' => '<string>',
    'NetworkInterfaceIds' => ['<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.

GroupIpAddress
Type: string

The IP address assigned to the transit gateway multicast group.

NetworkInterfaceIds
Type: Array of strings

The IDs of the group sources' network interfaces.

TransitGatewayMulticastDomainId
Type: string

The ID of the transit gateway multicast domain.

Result Syntax

[
    'DeregisteredMulticastGroupSources' => [
        'DeregisteredNetworkInterfaceIds' => ['<string>', ...],
        'GroupIpAddress' => '<string>',
        'TransitGatewayMulticastDomainId' => '<string>',
    ],
]

Result Details

Members
DeregisteredMulticastGroupSources

Information about the deregistered group sources.

Errors

There are no errors described for this operation.

DescribeAccountAttributes

$result = $client->describeAccountAttributes([/* ... */]);
$promise = $client->describeAccountAttributesAsync([/* ... */]);

Describes attributes of your Amazon Web Services account. The following are the supported account attributes:

  • default-vpc: The ID of the default VPC for your account, or none.

  • max-instances: This attribute is no longer supported. The returned value does not reflect your actual vCPU limit for running On-Demand Instances. For more information, see On-Demand Instance Limits in the Amazon Elastic Compute Cloud User Guide.

  • max-elastic-ips: The maximum number of Elastic IP addresses that you can allocate.

  • supported-platforms: This attribute is deprecated.

  • vpc-max-elastic-ips: The maximum number of Elastic IP addresses that you can allocate.

  • vpc-max-security-groups-per-interface: The maximum number of security groups that you can assign to a network interface.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

Parameter Syntax

$result = $client->describeAccountAttributes([
    'AttributeNames' => ['<string>', ...],
    'DryRun' => true || false,
]);

Parameter Details

Members
AttributeNames
Type: Array of strings

The account attribute names.

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

[
    'AccountAttributes' => [
        [
            'AttributeName' => '<string>',
            'AttributeValues' => [
                [
                    'AttributeValue' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
]

Result Details

Members
AccountAttributes
Type: Array of AccountAttribute structures

Information about the account attributes.

Errors

There are no errors described for this operation.

Examples

Example 1: To describe a single attribute for your AWS account

This example describes the supported-platforms attribute for your AWS account.

$result = $client->describeAccountAttributes([
    'AttributeNames' => [
        'supported-platforms',
    ],
]);

Result syntax:

[
    'AccountAttributes' => [
        [
            'AttributeName' => 'supported-platforms',
            'AttributeValues' => [
                [
                    'AttributeValue' => 'EC2',
                ],
                [
                    'AttributeValue' => 'VPC',
                ],
            ],
        ],
    ],
]
Example 2: To describe all attributes for your AWS account

This example describes the attributes for your AWS account.

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

Result syntax:

[
    'AccountAttributes' => [
        [
            'AttributeName' => 'supported-platforms',
            'AttributeValues' => [
                [
                    'AttributeValue' => 'EC2',
                ],
                [
                    'AttributeValue' => 'VPC',
                ],
            ],
        ],
        [
            'AttributeName' => 'vpc-max-security-groups-per-interface',
            'AttributeValues' => [
                [
                    'AttributeValue' => '5',
                ],
            ],
        ],
        [
            'AttributeName' => 'max-elastic-ips',
            'AttributeValues' => [
                [
                    'AttributeValue' => '5',
                ],
            ],
        ],
        [
            'AttributeName' => 'max-instances',
            'AttributeValues' => [
                [
                    'AttributeValue' => '20',
                ],
            ],
        ],
        [
            'AttributeName' => 'vpc-max-elastic-ips',
            'AttributeValues' => [
                [
                    'AttributeValue' => '5',
                ],
            ],
        ],
        [
            'AttributeName' => 'default-vpc',
            'AttributeValues' => [
                [
                    'AttributeValue' => 'none',
                ],
            ],
        ],
    ],
]

DescribeAddressTransfers

$result = $client->describeAddressTransfers([/* ... */]);
$promise = $client->describeAddressTransfersAsync([/* ... */]);

Describes an Elastic IP address transfer. For more information, see Transfer Elastic IP addresses in the Amazon VPC User Guide.

When you transfer an Elastic IP address, there is a two-step handshake between the source and transfer Amazon Web Services accounts. When the source account starts the transfer, the transfer account has seven days to accept the Elastic IP address transfer. During those seven days, the source account can view the pending transfer by using this action. After seven days, the transfer expires and ownership of the Elastic IP address returns to the source account. Accepted transfers are visible to the source account for 14 days after the transfers have been accepted.

Parameter Syntax

$result = $client->describeAddressTransfers([
    'AllocationIds' => ['<string>', ...],
    'DryRun' => true || false,
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
AllocationIds
Type: Array of strings

The allocation IDs of Elastic IP addresses.

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.

MaxResults
Type: int

The maximum number of address transfers to return in one page of results.

NextToken
Type: string

Specify the pagination token from a previous request to retrieve the next page of results.

Result Syntax

[
    'AddressTransfers' => [
        [
            'AddressTransferStatus' => 'pending|disabled|accepted',
            'AllocationId' => '<string>',
            'PublicIp' => '<string>',
            'TransferAccountId' => '<string>',
            'TransferOfferAcceptedTimestamp' => <DateTime>,
            'TransferOfferExpirationTimestamp' => <DateTime>,
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
AddressTransfers
Type: Array of AddressTransfer structures

The Elastic IP address transfer.

NextToken
Type: string

Specify the pagination token from a previous request to retrieve the next page of results.

Errors

There are no errors described for this operation.

DescribeAddresses

$result = $client->describeAddresses([/* ... */]);
$promise = $client->describeAddressesAsync([/* ... */]);

Describes the specified Elastic IP addresses or all of your Elastic IP addresses.

Parameter Syntax

$result = $client->describeAddresses([
    'AllocationIds' => ['<string>', ...],
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'PublicIps' => ['<string>', ...],
]);

Parameter Details

Members
AllocationIds
Type: Array of strings

Information about the allocation IDs.

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.

Filters
Type: Array of Filter structures

One or more filters. Filter names and values are case-sensitive.

  • allocation-id - The allocation ID for the address.

  • association-id - The association ID for the address.

  • instance-id - The ID of the instance the address is associated with, if any.

  • network-border-group - A unique set of Availability Zones, Local Zones, or Wavelength Zones from where Amazon Web Services advertises IP addresses.

  • network-interface-id - The ID of the network interface that the address is associated with, if any.

  • network-interface-owner-id - The Amazon Web Services account ID of the owner.

  • private-ip-address - The private IP address associated with the Elastic IP address.

  • public-ip - The Elastic IP address, or the carrier IP address.

  • 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.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

PublicIps
Type: Array of strings

One or more Elastic IP addresses.

Default: Describes all your Elastic IP addresses.

Result Syntax

[
    'Addresses' => [
        [
            'AllocationId' => '<string>',
            'AssociationId' => '<string>',
            'CarrierIp' => '<string>',
            'CustomerOwnedIp' => '<string>',
            'CustomerOwnedIpv4Pool' => '<string>',
            'Domain' => 'vpc|standard',
            'InstanceId' => '<string>',
            'NetworkBorderGroup' => '<string>',
            'NetworkInterfaceId' => '<string>',
            'NetworkInterfaceOwnerId' => '<string>',
            'PrivateIpAddress' => '<string>',
            'PublicIp' => '<string>',
            'PublicIpv4Pool' => '<string>',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
]

Result Details

Members
Addresses
Type: Array of Address structures

Information about the Elastic IP addresses.

Errors

There are no errors described for this operation.

Examples

Example 1: To describe your Elastic IP addresses

This example describes your Elastic IP addresses.

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

Result syntax:

[
    'Addresses' => [
        [
            'Domain' => 'standard',
            'InstanceId' => 'i-1234567890abcdef0',
            'PublicIp' => '198.51.100.0',
        ],
        [
            'AllocationId' => 'eipalloc-12345678',
            'AssociationId' => 'eipassoc-12345678',
            'Domain' => 'vpc',
            'InstanceId' => 'i-1234567890abcdef0',
            'NetworkInterfaceId' => 'eni-12345678',
            'NetworkInterfaceOwnerId' => '123456789012',
            'PrivateIpAddress' => '10.0.1.241',
            'PublicIp' => '203.0.113.0',
        ],
    ],
]

DescribeAddressesAttribute

$result = $client->describeAddressesAttribute([/* ... */]);
$promise = $client->describeAddressesAttributeAsync([/* ... */]);

Describes the attributes of the specified Elastic IP addresses. For requirements, see Using reverse DNS for email applications.

Parameter Syntax

$result = $client->describeAddressesAttribute([
    'AllocationIds' => ['<string>', ...],
    'Attribute' => 'domain-name',
    'DryRun' => true || false,
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
AllocationIds
Type: Array of strings

[EC2-VPC] The allocation IDs.

Attribute
Type: string

The attribute of the IP address.

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.

MaxResults
Type: int

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

NextToken
Type: string

The token for the next page of results.

Result Syntax

[
    'Addresses' => [
        [
            'AllocationId' => '<string>',
            'PtrRecord' => '<string>',
            'PtrRecordUpdate' => [
                'Reason' => '<string>',
                'Status' => '<string>',
                'Value' => '<string>',
            ],
            'PublicIp' => '<string>',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
Addresses
Type: Array of AddressAttribute structures

Information about the IP addresses.

NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

Errors

There are no errors described for this operation.

DescribeAggregateIdFormat

$result = $client->describeAggregateIdFormat([/* ... */]);
$promise = $client->describeAggregateIdFormatAsync([/* ... */]);

Describes the longer ID format settings for all resource types in a specific Region. This request is useful for performing a quick audit to determine whether a specific Region is fully opted in for longer IDs (17-character IDs).

This request only returns information about resource types that support longer IDs.

The following resource types support longer IDs: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association | export-task | flow-log | image | import-task | instance | internet-gateway | network-acl | network-acl-association | network-interface | network-interface-attachment | prefix-list | reservation | route-table | route-table-association | security-group | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

Parameter Syntax

$result = $client->describeAggregateIdFormat([
    '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

[
    'Statuses' => [
        [
            'Deadline' => <DateTime>,
            'Resource' => '<string>',
            'UseLongIds' => true || false,
        ],
        // ...
    ],
    'UseLongIdsAggregated' => true || false,
]

Result Details

Members
Statuses
Type: Array of IdFormat structures

Information about each resource's ID format.

UseLongIdsAggregated
Type: boolean

Indicates whether all resource types in the Region are configured to use longer IDs. This value is only true if all users are configured to use longer IDs for all resources types in the Region.

Errors

There are no errors described for this operation.

DescribeAvailabilityZones

$result = $client->describeAvailabilityZones([/* ... */]);
$promise = $client->describeAvailabilityZonesAsync([/* ... */]);

Describes the Availability Zones, Local Zones, and Wavelength Zones that are available to you. If there is an event impacting a zone, you can use this request to view the state and any provided messages for that zone.

For more information about Availability Zones, Local Zones, and Wavelength Zones, see Regions and zones in the Amazon EC2 User Guide.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

Parameter Syntax

$result = $client->describeAvailabilityZones([
    'AllAvailabilityZones' => true || false,
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'ZoneIds' => ['<string>', ...],
    'ZoneNames' => ['<string>', ...],
]);

Parameter Details

Members
AllAvailabilityZones
Type: boolean

Include all Availability Zones, Local Zones, and Wavelength Zones regardless of your opt-in status.

If you do not use this parameter, the results include only the zones for the Regions where you have chosen the option to opt in.

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.

Filters
Type: Array of Filter structures

The filters.

  • group-name - For Availability Zones, use the Region name. For Local Zones, use the name of the group associated with the Local Zone (for example, us-west-2-lax-1) For Wavelength Zones, use the name of the group associated with the Wavelength Zone (for example, us-east-1-wl1).

  • message - The Zone message.

  • opt-in-status - The opt-in status (opted-in | not-opted-in | opt-in-not-required).

  • parent-zone-id - The ID of the zone that handles some of the Local Zone and Wavelength Zone control plane operations, such as API calls.

  • parent-zone-name - The ID of the zone that handles some of the Local Zone and Wavelength Zone control plane operations, such as API calls.

  • region-name - The name of the Region for the Zone (for example, us-east-1).

  • state - The state of the Availability Zone, the Local Zone, or the Wavelength Zone (available).

  • zone-id - The ID of the Availability Zone (for example, use1-az1), the Local Zone (for example, usw2-lax1-az1), or the Wavelength Zone (for example, us-east-1-wl1-bos-wlz-1).

  • zone-name - The name of the Availability Zone (for example, us-east-1a), the Local Zone (for example, us-west-2-lax-1a), or the Wavelength Zone (for example, us-east-1-wl1-bos-wlz-1).

  • zone-type - The type of zone (availability-zone | local-zone | wavelength-zone).

ZoneIds
Type: Array of strings

The IDs of the Availability Zones, Local Zones, and Wavelength Zones.

ZoneNames
Type: Array of strings

The names of the Availability Zones, Local Zones, and Wavelength Zones.

Result Syntax

[
    'AvailabilityZones' => [
        [
            'GroupName' => '<string>',
            'Messages' => [
                [
                    'Message' => '<string>',
                ],
                // ...
            ],
            'NetworkBorderGroup' => '<string>',
            'OptInStatus' => 'opt-in-not-required|opted-in|not-opted-in',
            'ParentZoneId' => '<string>',
            'ParentZoneName' => '<string>',
            'RegionName' => '<string>',
            'State' => 'available|information|impaired|unavailable|constrained',
            'ZoneId' => '<string>',
            'ZoneName' => '<string>',
            'ZoneType' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
AvailabilityZones
Type: Array of AvailabilityZone structures

Information about the Availability Zones, Local Zones, and Wavelength Zones.

Errors

There are no errors described for this operation.

Examples

Example 1: To describe your Availability Zones

This example describes the Availability Zones that are available to you. The response includes Availability Zones only for the current region.

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

Result syntax:

[
    'AvailabilityZones' => [
        [
            'Messages' => [
            ],
            'RegionName' => 'us-east-1',
            'State' => 'available',
            'ZoneName' => 'us-east-1b',
        ],
        [
            'Messages' => [
            ],
            'RegionName' => 'us-east-1',
            'State' => 'available',
            'ZoneName' => 'us-east-1c',
        ],
        [
            'Messages' => [
            ],
            'RegionName' => 'us-east-1',
            'State' => 'available',
            'ZoneName' => 'us-east-1d',
        ],
        [
            'Messages' => [
            ],
            'RegionName' => 'us-east-1',
            'State' => 'available',
            'ZoneName' => 'us-east-1e',
        ],
    ],
]

DescribeAwsNetworkPerformanceMetricSubscriptions

$result = $client->describeAwsNetworkPerformanceMetricSubscriptions([/* ... */]);
$promise = $client->describeAwsNetworkPerformanceMetricSubscriptionsAsync([/* ... */]);

Describes the current Infrastructure Performance metric subscriptions.

Parameter Syntax

$result = $client->describeAwsNetworkPerformanceMetricSubscriptions([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<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.

Filters
Type: Array of Filter structures

One or more filters.

MaxResults
Type: int

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

NextToken
Type: string

The token for the next page of results.

Result Syntax

[
    'NextToken' => '<string>',
    'Subscriptions' => [
        [
            'Destination' => '<string>',
            'Metric' => 'aggregate-latency',
            'Period' => 'five-minutes|fifteen-minutes|one-hour|three-hours|one-day|one-week',
            'Source' => '<string>',
            'Statistic' => 'p50',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

Subscriptions
Type: Array of Subscription structures

Describes the current Infrastructure Performance subscriptions.

Errors

There are no errors described for this operation.

DescribeBundleTasks

$result = $client->describeBundleTasks([/* ... */]);
$promise = $client->describeBundleTasksAsync([/* ... */]);

Describes the specified bundle tasks or all of your bundle tasks.

Completed bundle tasks are listed for only a limited time. If your bundle task is no longer in the list, you can still register an AMI from it. Just use RegisterImage with the Amazon S3 bucket name and image manifest name you provided to the bundle task.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

Parameter Syntax

$result = $client->describeBundleTasks([
    'BundleIds' => ['<string>', ...],
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
]);

Parameter Details

Members
BundleIds
Type: Array of strings

The bundle task IDs.

Default: Describes all your bundle tasks.

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.

Filters
Type: Array of Filter structures

The filters.

  • bundle-id - The ID of the bundle task.

  • error-code - If the task failed, the error code returned.

  • error-message - If the task failed, the error message returned.

  • instance-id - The ID of the instance.

  • progress - The level of task completion, as a percentage (for example, 20%).

  • s3-bucket - The Amazon S3 bucket to store the AMI.

  • s3-prefix - The beginning of the AMI name.

  • start-time - The time the task started (for example, 2013-09-15T17:15:20.000Z).

  • state - The state of the task (pending | waiting-for-shutdown | bundling | storing | cancelling | complete | failed).

  • update-time - The time of the most recent update for the task.

Result Syntax

[
    'BundleTasks' => [
        [
            '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
BundleTasks
Type: Array of BundleTask structures

Information about the bundle tasks.

Errors

There are no errors described for this operation.

DescribeByoipCidrs

$result = $client->describeByoipCidrs([/* ... */]);
$promise = $client->describeByoipCidrsAsync([/* ... */]);

Describes the IP address ranges that were specified in calls to ProvisionByoipCidr.

To describe the address pools that were created when you provisioned the address ranges, use DescribePublicIpv4Pools or DescribeIpv6Pools.

Parameter Syntax

$result = $client->describeByoipCidrs([
    'DryRun' => true || false,
    'MaxResults' => <integer>, // REQUIRED
    'NextToken' => '<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.

MaxResults
Required: Yes
Type: int

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

NextToken
Type: string

The token for the next page of results.

Result Syntax

[
    'ByoipCidrs' => [
        [
            '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>',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
ByoipCidrs
Type: Array of ByoipCidr structures

Information about your address ranges.

NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

Errors

There are no errors described for this operation.

DescribeCapacityBlockOfferings

$result = $client->describeCapacityBlockOfferings([/* ... */]);
$promise = $client->describeCapacityBlockOfferingsAsync([/* ... */]);

Describes Capacity Block offerings available for purchase in the Amazon Web Services Region that you're currently using. With Capacity Blocks, you purchase a specific instance type for a period of time.

Parameter Syntax

$result = $client->describeCapacityBlockOfferings([
    'CapacityDurationHours' => <integer>, // REQUIRED
    'DryRun' => true || false,
    'EndDateRange' => <integer || string || DateTime>,
    'InstanceCount' => <integer>,
    'InstanceType' => '<string>',
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'StartDateRange' => <integer || string || DateTime>,
]);

Parameter Details

Members
CapacityDurationHours
Required: Yes
Type: int

The number of hours for which to reserve Capacity Block.

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.

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

The latest end date for the Capacity Block offering.

InstanceCount
Type: int

The number of instances for which to reserve capacity.

InstanceType
Type: string

The type of instance for which the Capacity Block offering reserves capacity.

MaxResults
Type: int

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

NextToken
Type: string

The token to use to retrieve the next page of results.

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

The earliest start date for the Capacity Block offering.

Result Syntax

[
    'CapacityBlockOfferings' => [
        [
            'AvailabilityZone' => '<string>',
            'CapacityBlockDurationHours' => <integer>,
            'CapacityBlockOfferingId' => '<string>',
            'CurrencyCode' => '<string>',
            'EndDate' => <DateTime>,
            'InstanceCount' => <integer>,
            'InstanceType' => '<string>',
            'StartDate' => <DateTime>,
            'Tenancy' => 'default|dedicated',
            'UpfrontFee' => '<string>',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
CapacityBlockOfferings
Type: Array of CapacityBlockOffering structures

The recommended Capacity Block offering for the dates specified.

NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

Errors

There are no errors described for this operation.

DescribeCapacityReservationBillingRequests

$result = $client->describeCapacityReservationBillingRequests([/* ... */]);
$promise = $client->describeCapacityReservationBillingRequestsAsync([/* ... */]);

Describes a request to assign the billing of the unused capacity of a Capacity Reservation. For more information, see Billing assignment for shared Amazon EC2 Capacity Reservations.

Parameter Syntax

$result = $client->describeCapacityReservationBillingRequests([
    'CapacityReservationIds' => ['<string>', ...],
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'Role' => 'odcr-owner|unused-reservation-billing-owner', // REQUIRED
]);

Parameter Details

Members
CapacityReservationIds
Type: Array of strings

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.

Filters
Type: Array of Filter structures

One or more filters.

  • status - The state of the request (pending | accepted | rejected | cancelled | revoked | expired).

  • requested-by - The account ID of the Capacity Reservation owner that initiated the request. Not supported if you specify requested-by for Role.

  • unused-reservation-billing-owner - The ID of the consumer account to which the request was sent. Not supported if you specify unused-reservation-billing-owner for Role.

MaxResults
Type: int

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

NextToken
Type: string

The token to use to retrieve the next page of results.

Role
Required: Yes
Type: string

Specify one of the following:

  • odcr-owner - If you are the Capacity Reservation owner, specify this value to view requests that you have initiated. Not supported with the requested-by filter.

  • unused-reservation-billing-owner - If you are the consumer account, specify this value to view requests that have been sent to you. Not supported with the unused-reservation-billing-owner filter.

Result Syntax

[
    'CapacityReservationBillingRequests' => [
        [
            'CapacityReservationId' => '<string>',
            'CapacityReservationInfo' => [
                'AvailabilityZone' => '<string>',
                'InstanceType' => '<string>',
                'Tenancy' => 'default|dedicated',
            ],
            'LastUpdateTime' => <DateTime>,
            'RequestedBy' => '<string>',
            'Status' => 'pending|accepted|rejected|cancelled|revoked|expired',
            'StatusMessage' => '<string>',
            'UnusedReservationBillingOwnerId' => '<string>',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
CapacityReservationBillingRequests
Type: Array of CapacityReservationBillingRequest structures

Information about the request.

NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

Errors

There are no errors described for this operation.

DescribeCapacityReservationFleets

$result = $client->describeCapacityReservationFleets([/* ... */]);
$promise = $client->describeCapacityReservationFleetsAsync([/* ... */]);

Describes one or more Capacity Reservation Fleets.

Parameter Syntax

$result = $client->describeCapacityReservationFleets([
    'CapacityReservationFleetIds' => ['<string>', ...],
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
CapacityReservationFleetIds
Type: Array of strings

The IDs of the Capacity Reservation Fleets to describe.

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.

Filters
Type: Array of Filter structures

One or more filters.

  • state - The state of the Fleet (submitted | modifying | active | partially_fulfilled | expiring | expired | cancelling | cancelled | failed).

  • instance-match-criteria - The instance matching criteria for the Fleet. Only open is supported.

  • tenancy - The tenancy of the Fleet (default | dedicated).

  • allocation-strategy - The allocation strategy used by the Fleet. Only prioritized is supported.

MaxResults
Type: int

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

NextToken
Type: string

The token to use to retrieve the next page of results.

Result Syntax

[
    'CapacityReservationFleets' => [
        [
            'AllocationStrategy' => '<string>',
            'CapacityReservationFleetArn' => '<string>',
            'CapacityReservationFleetId' => '<string>',
            'CreateTime' => <DateTime>,
            'EndDate' => <DateTime>,
            'InstanceMatchCriteria' => 'open',
            'InstanceTypeSpecifications' => [
                [
                    '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>,
                ],
                // ...
            ],
            'State' => 'submitted|modifying|active|partially_fulfilled|expiring|expired|cancelling|cancelled|failed',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'Tenancy' => 'default',
            'TotalFulfilledCapacity' => <float>,
            'TotalTargetCapacity' => <integer>,
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
CapacityReservationFleets
Type: Array of CapacityReservationFleet structures

Information about the Capacity Reservation Fleets.

NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

Errors

There are no errors described for this operation.

DescribeCapacityReservations

$result = $client->describeCapacityReservations([/* ... */]);
$promise = $client->describeCapacityReservationsAsync([/* ... */]);

Describes one or more of your Capacity Reservations. The results describe only the Capacity Reservations in the Amazon Web Services Region that you're currently using.

Parameter Syntax

$result = $client->describeCapacityReservations([
    'CapacityReservationIds' => ['<string>', ...],
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
CapacityReservationIds
Type: Array of strings

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.

Filters
Type: Array of Filter structures

One or more filters.

  • instance-type - The type of instance for which the Capacity Reservation reserves capacity.

  • owner-id - The ID of the Amazon Web Services account that owns the Capacity Reservation.

  • instance-platform - The type of operating system for which the Capacity Reservation reserves capacity.

  • availability-zone - The Availability Zone of the Capacity Reservation.

  • tenancy - 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.

  • outpost-arn - The Amazon Resource Name (ARN) of the Outpost on which the Capacity Reservation was created.

  • state - The current state of the Capacity Reservation. A Capacity Reservation can be in one of the following states:

    • active- The Capacity Reservation is active and the capacity is available for your use.

    • expired - The Capacity Reservation expired automatically at the date and time specified in your request. The reserved capacity is no longer available for your use.

    • cancelled - The Capacity Reservation was cancelled. The reserved capacity is no longer available for your use.

    • pending - The Capacity Reservation request was successful but the capacity provisioning is still pending.

    • failed - The Capacity Reservation request has failed. A request might fail due to invalid request parameters, capacity constraints, or instance limit constraints. Failed requests are retained for 60 minutes.

  • start-date - The date and time at which the Capacity Reservation was started.

  • end-date - 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.

  • end-date-type - 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.

    • limited - The Capacity Reservation expires automatically at a specified date and time.

  • instance-match-criteria - Indicates the type of instance launches that the Capacity Reservation accepts. The options include:

    • open - The Capacity Reservation accepts all instances that have matching attributes (instance type, platform, and Availability Zone). Instances that have matching attributes launch into 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.

  • placement-group-arn - The ARN of the cluster placement group in which the Capacity Reservation was created.

MaxResults
Type: int

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

NextToken
Type: string

The token to use to retrieve the next page of results.

Result Syntax

[
    'CapacityReservations' => [
        [
            'AvailabilityZone' => '<string>',
            'AvailabilityZoneId' => '<string>',
            'AvailableInstanceCount' => <integer>,
            'CapacityAllocations' => [
                [
                    'AllocationType' => 'used',
                    'Count' => <integer>,
                ],
                // ...
            ],
            'CapacityReservationArn' => '<string>',
            'CapacityReservationFleetId' => '<string>',
            'CapacityReservationId' => '<string>',
            'CreateDate' => <DateTime>,
            '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',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'Tenancy' => 'default|dedicated',
            'TotalInstanceCount' => <integer>,
            'UnusedReservationBillingOwnerId' => '<string>',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
CapacityReservations
Type: Array of CapacityReservation structures

Information about the Capacity Reservations.

NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

Errors

There are no errors described for this operation.

DescribeCarrierGateways

$result = $client->describeCarrierGateways([/* ... */]);
$promise = $client->describeCarrierGatewaysAsync([/* ... */]);

Describes one or more of your carrier gateways.

Parameter Syntax

$result = $client->describeCarrierGateways([
    'CarrierGatewayIds' => ['<string>', ...],
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
CarrierGatewayIds
Type: Array of strings

One or more carrier gateway IDs.

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.

Filters
Type: Array of Filter structures

One or more filters.

  • carrier-gateway-id - The ID of the carrier gateway.

  • state - The state of the carrier gateway (pending | failed | available | deleting | deleted).

  • owner-id - The Amazon Web Services account ID of the owner of the carrier gateway.

  • 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.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • vpc-id - The ID of the VPC associated with the carrier gateway.

MaxResults
Type: int

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

NextToken
Type: string

The token for the next page of results.

Result Syntax

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

Result Details

Members
CarrierGateways
Type: Array of CarrierGateway structures

Information about the carrier gateway.

NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

Errors

There are no errors described for this operation.

DescribeClassicLinkInstances

$result = $client->describeClassicLinkInstances([/* ... */]);
$promise = $client->describeClassicLinkInstancesAsync([/* ... */]);

This action is deprecated.

Describes your linked EC2-Classic instances. This request only returns information about EC2-Classic instances linked to a VPC through ClassicLink. You cannot use this request to return information about other instances.

Parameter Syntax

$result = $client->describeClassicLinkInstances([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'InstanceIds' => ['<string>', ...],
    'MaxResults' => <integer>,
    'NextToken' => '<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.

Filters
Type: Array of Filter structures

The filters.

  • group-id - The ID of a VPC security group that's associated with the instance.

  • instance-id - The ID of the instance.

  • 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.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • vpc-id - The ID of the VPC to which the instance is linked.

InstanceIds
Type: Array of strings

The instance IDs. Must be instances linked to a VPC through ClassicLink.

MaxResults
Type: int

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

Constraint: If the value is greater than 1000, we return only 1000 items.

NextToken
Type: string

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

Result Syntax

[
    'Instances' => [
        [
            'Groups' => [
                [
                    'GroupId' => '<string>',
                    'GroupName' => '<string>',
                ],
                // ...
            ],
            'InstanceId' => '<string>',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'VpcId' => '<string>',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
Instances
Type: Array of ClassicLinkInstance structures

Information about one or more linked EC2-Classic instances.

NextToken
Type: string

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

Errors

There are no errors described for this operation.

DescribeClientVpnAuthorizationRules

$result = $client->describeClientVpnAuthorizationRules([/* ... */]);
$promise = $client->describeClientVpnAuthorizationRulesAsync([/* ... */]);

Describes the authorization rules for a specified Client VPN endpoint.

Parameter Syntax

$result = $client->describeClientVpnAuthorizationRules([
    'ClientVpnEndpointId' => '<string>', // REQUIRED
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

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.

Filters
Type: Array of Filter structures

One or more filters. Filter names and values are case-sensitive.

  • description - The description of the authorization rule.

  • destination-cidr - The CIDR of the network to which the authorization rule applies.

  • group-id - The ID of the Active Directory group to which the authorization rule grants access.

MaxResults
Type: int

The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the nextToken value.

NextToken
Type: string

The token to retrieve the next page of results.

Result Syntax

[
    'AuthorizationRules' => [
        [
            'AccessAll' => true || false,
            'ClientVpnEndpointId' => '<string>',
            'Description' => '<string>',
            'DestinationCidr' => '<string>',
            'GroupId' => '<string>',
            'Status' => [
                'Code' => 'authorizing|active|failed|revoking',
                'Message' => '<string>',
            ],
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
AuthorizationRules
Type: Array of AuthorizationRule structures

Information about the authorization rules.

NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

Errors

There are no errors described for this operation.

DescribeClientVpnConnections

$result = $client->describeClientVpnConnections([/* ... */]);
$promise = $client->describeClientVpnConnectionsAsync([/* ... */]);

Describes active client connections and connections that have been terminated within the last 60 minutes for the specified Client VPN endpoint.

Parameter Syntax

$result = $client->describeClientVpnConnections([
    'ClientVpnEndpointId' => '<string>', // REQUIRED
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

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.

Filters
Type: Array of Filter structures

One or more filters. Filter names and values are case-sensitive.

  • connection-id - The ID of the connection.

  • username - For Active Directory client authentication, the user name of the client who established the client connection.

MaxResults
Type: int

The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the nextToken value.

NextToken
Type: string

The token to retrieve the next page of results.

Result Syntax

[
    'Connections' => [
        [
            'ClientIp' => '<string>',
            'ClientVpnEndpointId' => '<string>',
            'CommonName' => '<string>',
            'ConnectionEndTime' => '<string>',
            'ConnectionEstablishedTime' => '<string>',
            'ConnectionId' => '<string>',
            'EgressBytes' => '<string>',
            'EgressPackets' => '<string>',
            'IngressBytes' => '<string>',
            'IngressPackets' => '<string>',
            'PostureComplianceStatuses' => ['<string>', ...],
            'Status' => [
                'Code' => 'active|failed-to-terminate|terminating|terminated',
                'Message' => '<string>',
            ],
            'Timestamp' => '<string>',
            'Username' => '<string>',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
Connections
Type: Array of ClientVpnConnection structures

Information about the active and terminated client connections.

NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

Errors

There are no errors described for this operation.

DescribeClientVpnEndpoints

$result = $client->describeClientVpnEndpoints([/* ... */]);
$promise = $client->describeClientVpnEndpointsAsync([/* ... */]);

Describes one or more Client VPN endpoints in the account.

Parameter Syntax

$result = $client->describeClientVpnEndpoints([
    'ClientVpnEndpointIds' => ['<string>', ...],
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
ClientVpnEndpointIds
Type: Array of strings

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.

Filters
Type: Array of Filter structures

One or more filters. Filter names and values are case-sensitive.

  • endpoint-id - The ID of the Client VPN endpoint.

  • transport-protocol - The transport protocol (tcp | udp).

MaxResults
Type: int

The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the nextToken value.

NextToken
Type: string

The token to retrieve the next page of results.

Result Syntax

[
    'ClientVpnEndpoints' => [
        [
            'AssociatedTargetNetworks' => [
                [
                    'NetworkId' => '<string>',
                    'NetworkType' => 'vpc',
                ],
                // ...
            ],
            'AuthenticationOptions' => [
                [
                    'ActiveDirectory' => [
                        'DirectoryId' => '<string>',
                    ],
                    'FederatedAuthentication' => [
                        'SamlProviderArn' => '<string>',
                        'SelfServiceSamlProviderArn' => '<string>',
                    ],
                    'MutualAuthentication' => [
                        'ClientRootCertificateChain' => '<string>',
                    ],
                    'Type' => 'certificate-authentication|directory-service-authentication|federated-authentication',
                ],
                // ...
            ],
            'ClientCidrBlock' => '<string>',
            'ClientConnectOptions' => [
                'Enabled' => true || false,
                'LambdaFunctionArn' => '<string>',
                'Status' => [
                    'Code' => 'applying|applied',
                    'Message' => '<string>',
                ],
            ],
            'ClientLoginBannerOptions' => [
                'BannerText' => '<string>',
                'Enabled' => true || false,
            ],
            'ClientVpnEndpointId' => '<string>',
            'ConnectionLogOptions' => [
                'CloudwatchLogGroup' => '<string>',
                'CloudwatchLogStream' => '<string>',
                'Enabled' => true || false,
            ],
            'CreationTime' => '<string>',
            'DeletionTime' => '<string>',
            'Description' => '<string>',
            'DnsName' => '<string>',
            'DnsServers' => ['<string>', ...],
            'SecurityGroupIds' => ['<string>', ...],
            'SelfServicePortalUrl' => '<string>',
            'ServerCertificateArn' => '<string>',
            'SessionTimeoutHours' => <integer>,
            'SplitTunnel' => true || false,
            'Status' => [
                'Code' => 'pending-associate|available|deleting|deleted',
                'Message' => '<string>',
            ],
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'TransportProtocol' => 'tcp|udp',
            'VpcId' => '<string>',
            'VpnPort' => <integer>,
            'VpnProtocol' => 'openvpn',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
ClientVpnEndpoints
Type: Array of ClientVpnEndpoint structures

Information about the Client VPN endpoints.

NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

Errors

There are no errors described for this operation.

DescribeClientVpnRoutes

$result = $client->describeClientVpnRoutes([/* ... */]);
$promise = $client->describeClientVpnRoutesAsync([/* ... */]);

Describes the routes for the specified Client VPN endpoint.

Parameter Syntax

$result = $client->describeClientVpnRoutes([
    'ClientVpnEndpointId' => '<string>', // REQUIRED
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

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.

Filters
Type: Array of Filter structures

One or more filters. Filter names and values are case-sensitive.

  • destination-cidr - The CIDR of the route destination.

  • origin - How the route was associated with the Client VPN endpoint (associate | add-route).

  • target-subnet - The ID of the subnet through which traffic is routed.

MaxResults
Type: int

The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the nextToken value.

NextToken
Type: string

The token to retrieve the next page of results.

Result Syntax

[
    'NextToken' => '<string>',
    'Routes' => [
        [
            'ClientVpnEndpointId' => '<string>',
            'Description' => '<string>',
            'DestinationCidr' => '<string>',
            'Origin' => '<string>',
            'Status' => [
                'Code' => 'creating|active|failed|deleting',
                'Message' => '<string>',
            ],
            'TargetSubnet' => '<string>',
            'Type' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

Routes
Type: Array of ClientVpnRoute structures

Information about the Client VPN endpoint routes.

Errors

There are no errors described for this operation.

DescribeClientVpnTargetNetworks

$result = $client->describeClientVpnTargetNetworks([/* ... */]);
$promise = $client->describeClientVpnTargetNetworksAsync([/* ... */]);

Describes the target networks associated with the specified Client VPN endpoint.

Parameter Syntax

$result = $client->describeClientVpnTargetNetworks([
    'AssociationIds' => ['<string>', ...],
    'ClientVpnEndpointId' => '<string>', // REQUIRED
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
AssociationIds
Type: Array of strings

The IDs of the target network associations.

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.

Filters
Type: Array of Filter structures

One or more filters. Filter names and values are case-sensitive.

  • association-id - The ID of the association.

  • target-network-id - The ID of the subnet specified as the target network.

  • vpc-id - The ID of the VPC in which the target network is located.

MaxResults
Type: int

The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the nextToken value.

NextToken
Type: string

The token to retrieve the next page of results.

Result Syntax

[
    'ClientVpnTargetNetworks' => [
        [
            'AssociationId' => '<string>',
            'ClientVpnEndpointId' => '<string>',
            'SecurityGroups' => ['<string>', ...],
            'Status' => [
                'Code' => 'associating|associated|association-failed|disassociating|disassociated',
                'Message' => '<string>',
            ],
            'TargetNetworkId' => '<string>',
            'VpcId' => '<string>',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
ClientVpnTargetNetworks
Type: Array of TargetNetwork structures

Information about the associated target networks.

NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

Errors

There are no errors described for this operation.

DescribeCoipPools

$result = $client->describeCoipPools([/* ... */]);
$promise = $client->describeCoipPoolsAsync([/* ... */]);

Describes the specified customer-owned address pools or all of your customer-owned address pools.

Parameter Syntax

$result = $client->describeCoipPools([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'PoolIds' => ['<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.

Filters
Type: Array of Filter structures

One or more filters.

  • coip-pool.local-gateway-route-table-id - The ID of the local gateway route table.

  • coip-pool.pool-id - The ID of the address pool.

MaxResults
Type: int

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

NextToken
Type: string

The token for the next page of results.

PoolIds
Type: Array of strings

The IDs of the address pools.

Result Syntax

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

Result Details

Members
CoipPools
Type: Array of CoipPool structures

Information about the address pools.

NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

Errors

There are no errors described for this operation.

DescribeConversionTasks

$result = $client->describeConversionTasks([/* ... */]);
$promise = $client->describeConversionTasksAsync([/* ... */]);

Describes the specified conversion tasks or all your conversion tasks. For more information, see the VM Import/Export User Guide.

For information about the import manifest referenced by this API action, see VM Import Manifest.

Parameter Syntax

$result = $client->describeConversionTasks([
    'ConversionTaskIds' => ['<string>', ...],
    'DryRun' => true || false,
]);

Parameter Details

Members
ConversionTaskIds
Type: Array of strings

The conversion task IDs.

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

[
    'ConversionTasks' => [
        [
            'ConversionTaskId' => '<string>',
            'ExpirationTime' => '<string>',
            'ImportInstance' => [
                'Description' => '<string>',
                'InstanceId' => '<string>',
                'Platform' => 'Windows',
                'Volumes' => [
                    [
                        'AvailabilityZone' => '<string>',
                        'BytesConverted' => <integer>,
                        'Description' => '<string>',
                        'Image' => [
                            'Checksum' => '<string>',
                            'Format' => 'VMDK|RAW|VHD',
                            'ImportManifestUrl' => '<string>',
                            'Size' => <integer>,
                        ],
                        'Status' => '<string>',
                        'StatusMessage' => '<string>',
                        'Volume' => [
                            'Id' => '<string>',
                            'Size' => <integer>,
                        ],
                    ],
                    // ...
                ],
            ],
            'ImportVolume' => [
                'AvailabilityZone' => '<string>',
                'BytesConverted' => <integer>,
                'Description' => '<string>',
                'Image' => [
                    'Checksum' => '<string>',
                    'Format' => 'VMDK|RAW|VHD',
                    'ImportManifestUrl' => '<string>',
                    'Size' => <integer>,
                ],
                'Volume' => [
                    'Id' => '<string>',
                    'Size' => <integer>,
                ],
            ],
            'State' => 'active|cancelling|cancelled|completed',
            'StatusMessage' => '<string>',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
]

Result Details

Members
ConversionTasks
Type: Array of ConversionTask structures

Information about the conversion tasks.

Errors

There are no errors described for this operation.

DescribeCustomerGateways

$result = $client->describeCustomerGateways([/* ... */]);
$promise = $client->describeCustomerGatewaysAsync([/* ... */]);

Describes one or more of your VPN customer gateways.

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->describeCustomerGateways([
    'CustomerGatewayIds' => ['<string>', ...],
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
]);

Parameter Details

Members
CustomerGatewayIds
Type: Array of strings

One or more customer gateway IDs.

Default: Describes all your customer gateways.

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.

Filters
Type: Array of Filter structures

One or more filters.

  • bgp-asn - The customer gateway's Border Gateway Protocol (BGP) Autonomous System Number (ASN).

  • customer-gateway-id - The ID of the customer gateway.

  • ip-address - The IP address of the customer gateway device's external interface.

  • state - The state of the customer gateway (pending | available | deleting | deleted).

  • type - The type of customer gateway. Currently, the only supported type is ipsec.1.

  • 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.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

Result Syntax

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

Result Details

Members
CustomerGateways
Type: Array of CustomerGateway structures

Information about one or more customer gateways.

Errors

There are no errors described for this operation.

Examples

Example 1: To describe a customer gateway

This example describes the specified customer gateway.

$result = $client->describeCustomerGateways([
    'CustomerGatewayIds' => [
        'cgw-0e11f167',
    ],
]);

Result syntax:

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

DescribeDhcpOptions

$result = $client->describeDhcpOptions([/* ... */]);
$promise = $client->describeDhcpOptionsAsync([/* ... */]);

Describes your DHCP option sets. The default is to describe all your DHCP option sets. Alternatively, you can specify specific DHCP option set IDs or filter the results to include only the DHCP option sets that match specific criteria.

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

Parameter Syntax

$result = $client->describeDhcpOptions([
    'DhcpOptionsIds' => ['<string>', ...],
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
DhcpOptionsIds
Type: Array of strings

The IDs of DHCP option sets.

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.

Filters
Type: Array of Filter structures

The filters.

  • dhcp-options-id - The ID of a DHCP options set.

  • key - The key for one of the options (for example, domain-name).

  • value - The value for one of the options.

  • owner-id - The ID of the Amazon Web Services account that owns the DHCP options set.

  • 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.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

MaxResults
Type: int

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

NextToken
Type: string

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

Result Syntax

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

Result Details

Members
DhcpOptions
Type: Array of DhcpOptions structures

Information about the DHCP options sets.

NextToken
Type: string

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

Errors

There are no errors described for this operation.

Examples

Example 1: To describe a DHCP options set

This example describes the specified DHCP options set.

$result = $client->describeDhcpOptions([
    'DhcpOptionsIds' => [
        'dopt-d9070ebb',
    ],
]);

Result syntax:

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

DescribeEgressOnlyInternetGateways

$result = $client->describeEgressOnlyInternetGateways([/* ... */]);
$promise = $client->describeEgressOnlyInternetGatewaysAsync([/* ... */]);

Describes your egress-only internet gateways. The default is to describe all your egress-only internet gateways. Alternatively, you can specify specific egress-only internet gateway IDs or filter the results to include only the egress-only internet gateways that match specific criteria.

Parameter Syntax

$result = $client->describeEgressOnlyInternetGateways([
    'DryRun' => true || false,
    'EgressOnlyInternetGatewayIds' => ['<string>', ...],
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<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.

EgressOnlyInternetGatewayIds
Type: Array of strings

The IDs of the egress-only internet gateways.

Filters
Type: Array of Filter structures

The filters.

  • 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.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

MaxResults
Type: int

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

NextToken
Type: string

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

Result Syntax

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

Result Details

Members
EgressOnlyInternetGateways
Type: Array of EgressOnlyInternetGateway structures

Information about the egress-only internet gateways.

NextToken
Type: string

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

Errors

There are no errors described for this operation.

DescribeElasticGpus

$result = $client->describeElasticGpus([/* ... */]);
$promise = $client->describeElasticGpusAsync([/* ... */]);

Amazon Elastic Graphics reached end of life on January 8, 2024.

Describes the Elastic Graphics accelerator associated with your instances.

Parameter Syntax

$result = $client->describeElasticGpus([
    'DryRun' => true || false,
    'ElasticGpuIds' => ['<string>', ...],
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<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.

ElasticGpuIds
Type: Array of strings

The Elastic Graphics accelerator IDs.

Filters
Type: Array of Filter structures

The filters.

  • availability-zone - The Availability Zone in which the Elastic Graphics accelerator resides.

  • elastic-gpu-health - The status of the Elastic Graphics accelerator (OK | IMPAIRED).

  • elastic-gpu-state - The state of the Elastic Graphics accelerator (ATTACHED).

  • elastic-gpu-type - The type of Elastic Graphics accelerator; for example, eg1.medium.

  • instance-id - The ID of the instance to which the Elastic Graphics accelerator is associated.

MaxResults
Type: int

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value. This value can be between 5 and 1000.

NextToken
Type: string

The token to request the next page of results.

Result Syntax

[
    'ElasticGpuSet' => [
        [
            'AvailabilityZone' => '<string>',
            'ElasticGpuHealth' => [
                'Status' => 'OK|IMPAIRED',
            ],
            'ElasticGpuId' => '<string>',
            'ElasticGpuState' => 'ATTACHED',
            'ElasticGpuType' => '<string>',
            'InstanceId' => '<string>',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]

Result Details

Members
ElasticGpuSet
Type: Array of ElasticGpus structures

Information about the Elastic Graphics accelerators.

MaxResults
Type: int

The total number of items to return. If the total number of items available is more than the value specified in max-items then a Next-Token will be provided in the output that you can use to resume pagination.

NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

Errors

There are no errors described for this operation.

DescribeExportImageTasks

$result = $client->describeExportImageTasks([/* ... */]);
$promise = $client->describeExportImageTasksAsync([/* ... */]);

Describes the specified export image tasks or all of your export image tasks.

Parameter Syntax

$result = $client->describeExportImageTasks([
    'DryRun' => true || false,
    'ExportImageTaskIds' => ['<string>', ...],
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<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.

ExportImageTaskIds
Type: Array of strings

The IDs of the export image tasks.

Filters
Type: Array of Filter structures

Filter tasks using the task-state filter and one of the following values: active, completed, deleting, or deleted.

MaxResults
Type: int

The maximum number of results to return in a single call.

NextToken
Type: string

A token that indicates the next page of results.

Result Syntax

[
    'ExportImageTasks' => [
        [
            'Description' => '<string>',
            'ExportImageTaskId' => '<string>',
            'ImageId' => '<string>',
            'Progress' => '<string>',
            'S3ExportLocation' => [
                'S3Bucket' => '<string>',
                'S3Prefix' => '<string>',
            ],
            'Status' => '<string>',
            'StatusMessage' => '<string>',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
ExportImageTasks
Type: Array of ExportImageTask structures

Information about the export image tasks.

NextToken
Type: string

The token to use to get the next page of results. This value is null when there are no more results to return.

Errors

There are no errors described for this operation.

DescribeExportTasks

$result = $client->describeExportTasks([/* ... */]);
$promise = $client->describeExportTasksAsync([/* ... */]);

Describes the specified export instance tasks or all of your export instance tasks.

Parameter Syntax

$result = $client->describeExportTasks([
    'ExportTaskIds' => ['<string>', ...],
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
]);

Parameter Details

Members
ExportTaskIds
Type: Array of strings

The export task IDs.

Filters
Type: Array of Filter structures

the filters for the export tasks.

Result Syntax

[
    'ExportTasks' => [
        [
            '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
ExportTasks
Type: Array of ExportTask structures

Information about the export tasks.

Errors

There are no errors described for this operation.

DescribeFastLaunchImages

$result = $client->describeFastLaunchImages([/* ... */]);
$promise = $client->describeFastLaunchImagesAsync([/* ... */]);

Describe details for Windows AMIs that are configured for Windows fast launch.

Parameter Syntax

$result = $client->describeFastLaunchImages([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'ImageIds' => ['<string>', ...],
    'MaxResults' => <integer>,
    'NextToken' => '<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.

Filters
Type: Array of Filter structures

Use the following filters to streamline results.

  • resource-type - The resource type for pre-provisioning.

  • owner-id - The owner ID for the pre-provisioning resource.

  • state - The current state of fast launching for the Windows AMI.

ImageIds
Type: Array of strings

Specify one or more Windows AMI image IDs for the request.

MaxResults
Type: int

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

NextToken
Type: string

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

Result Syntax

[
    'FastLaunchImages' => [
        [
            'ImageId' => '<string>',
            'LaunchTemplate' => [
                'LaunchTemplateId' => '<string>',
                'LaunchTemplateName' => '<string>',
                'Version' => '<string>',
            ],
            'MaxParallelLaunches' => <integer>,
            'OwnerId' => '<string>',
            'ResourceType' => 'snapshot',
            'SnapshotConfiguration' => [
                'TargetResourceCount' => <integer>,
            ],
            'State' => 'enabling|enabling-failed|enabled|enabled-failed|disabling|disabling-failed',
            'StateTransitionReason' => '<string>',
            'StateTransitionTime' => <DateTime>,
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
FastLaunchImages
Type: Array of DescribeFastLaunchImagesSuccessItem structures

A collection of details about the fast-launch enabled Windows images that meet the requested criteria.

NextToken
Type: string

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

Errors

There are no errors described for this operation.

DescribeFastSnapshotRestores

$result = $client->describeFastSnapshotRestores([/* ... */]);
$promise = $client->describeFastSnapshotRestoresAsync([/* ... */]);

Describes the state of fast snapshot restores for your snapshots.

Parameter Syntax

$result = $client->describeFastSnapshotRestores([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<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.

Filters
Type: Array of Filter structures

The filters. The possible values are:

  • availability-zone: The Availability Zone of the snapshot.

  • owner-id: The ID of the Amazon Web Services account that enabled fast snapshot restore on the snapshot.

  • snapshot-id: The ID of the snapshot.

  • state: The state of fast snapshot restores for the snapshot (enabling | optimizing | enabled | disabling | disabled).

MaxResults
Type: int

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

NextToken
Type: string

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

Result Syntax

[
    'FastSnapshotRestores' => [
        [
            'AvailabilityZone' => '<string>',
            'DisabledTime' => <DateTime>,
            'DisablingTime' => <DateTime>,
            'EnabledTime' => <DateTime>,
            'EnablingTime' => <DateTime>,
            'OptimizingTime' => <DateTime>,
            'OwnerAlias' => '<string>',
            'OwnerId' => '<string>',
            'SnapshotId' => '<string>',
            'State' => 'enabling|optimizing|enabled|disabling|disabled',
            'StateTransitionReason' => '<string>',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
FastSnapshotRestores
Type: Array of DescribeFastSnapshotRestoreSuccessItem structures

Information about the state of fast snapshot restores.

NextToken
Type: string

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

Errors

There are no errors described for this operation.

DescribeFleetHistory

$result = $client->describeFleetHistory([/* ... */]);
$promise = $client->describeFleetHistoryAsync([/* ... */]);

Describes the events for the specified EC2 Fleet during the specified time.

EC2 Fleet events are delayed by up to 30 seconds before they can be described. This ensures that you can query by the last evaluated time and not miss a recorded event. EC2 Fleet events are available for 48 hours.

For more information, see Monitor fleet events using Amazon EventBridge in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->describeFleetHistory([
    'DryRun' => true || false,
    'EventType' => 'instance-change|fleet-change|service-error',
    'FleetId' => '<string>', // REQUIRED
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'StartTime' => <integer || string || DateTime>, // 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.

EventType
Type: string

The type of events to describe. By default, all events are described.

FleetId
Required: Yes
Type: string

The ID of the EC2 Fleet.

MaxResults
Type: int

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

NextToken
Type: string

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

StartTime
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The start date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

Result Syntax

[
    'FleetId' => '<string>',
    'HistoryRecords' => [
        [
            'EventInformation' => [
                'EventDescription' => '<string>',
                'EventSubType' => '<string>',
                'InstanceId' => '<string>',
            ],
            'EventType' => 'instance-change|fleet-change|service-error',
            'Timestamp' => <DateTime>,
        ],
        // ...
    ],
    'LastEvaluatedTime' => <DateTime>,
    'NextToken' => '<string>',
    'StartTime' => <DateTime>,
]

Result Details

Members
FleetId
Type: string

The ID of the EC Fleet.

HistoryRecords
Type: Array of HistoryRecordEntry structures

Information about the events in the history of the EC2 Fleet.

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

The last date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). All records up to this time were retrieved.

If nextToken indicates that there are more items, this value is not present.

NextToken
Type: string

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

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

The start date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

Errors

There are no errors described for this operation.

DescribeFleetInstances

$result = $client->describeFleetInstances([/* ... */]);
$promise = $client->describeFleetInstancesAsync([/* ... */]);

Describes the running instances for the specified EC2 Fleet.

Currently, DescribeFleetInstances does not support fleets of type instant. Instead, use DescribeFleets, specifying the instant fleet ID in the request.

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

Parameter Syntax

$result = $client->describeFleetInstances([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'FleetId' => '<string>', // REQUIRED
    'MaxResults' => <integer>,
    'NextToken' => '<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.

Filters
Type: Array of Filter structures

The filters.

  • instance-type - The instance type.

FleetId
Required: Yes
Type: string

The ID of the EC2 Fleet.

MaxResults
Type: int

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

NextToken
Type: string

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

Result Syntax

[
    'ActiveInstances' => [
        [
            'InstanceHealth' => 'healthy|unhealthy',
            'InstanceId' => '<string>',
            'InstanceType' => '<string>',
            'SpotInstanceRequestId' => '<string>',
        ],
        // ...
    ],
    'FleetId' => '<string>',
    'NextToken' => '<string>',
]

Result Details

Members
ActiveInstances
Type: Array of ActiveInstance structures

The running instances. This list is refreshed periodically and might be out of date.

FleetId
Type: string

The ID of the EC2 Fleet.

NextToken
Type: string

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

Errors

There are no errors described for this operation.

DescribeFleets

$result = $client->describeFleets([/* ... */]);
$promise = $client->describeFleetsAsync([/* ... */]);

Describes the specified EC2 Fleet or all of your EC2 Fleets.

If a fleet is of type instant, you must specify the fleet ID in the request, otherwise the fleet does not appear in the response.

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

Parameter Syntax

$result = $client->describeFleets([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'FleetIds' => ['<string>', ...],
    'MaxResults' => <integer>,
    'NextToken' => '<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.

Filters
Type: Array of Filter structures

The filters.

  • activity-status - The progress of the EC2 Fleet ( error | pending-fulfillment | pending-termination | fulfilled).

  • excess-capacity-termination-policy - Indicates whether to terminate running instances if the target capacity is decreased below the current EC2 Fleet size (true | false).

  • fleet-state - The state of the EC2 Fleet (submitted | active | deleted | failed | deleted-running | deleted-terminating | modifying).

  • replace-unhealthy-instances - Indicates whether EC2 Fleet should replace unhealthy instances (true | false).

  • type - The type of request (instant | request | maintain).

FleetIds
Type: Array of strings

The IDs of the EC2 Fleets.

If a fleet is of type instant, you must specify the fleet ID, otherwise it does not appear in the response.

MaxResults
Type: int

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

NextToken
Type: string

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

Result Syntax

[
    'Fleets' => [
        [
            'ActivityStatus' => 'error|pending_fulfillment|pending_termination|fulfilled',
            'ClientToken' => '<string>',
            'Context' => '<string>',
            'CreateTime' => <DateTime>,
            '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>,
                                ],
                                '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',
                ],
                // ...
            ],
            'ExcessCapacityTerminationPolicy' => 'no-termination|termination',
            'FleetId' => '<string>',
            'FleetState' => 'submitted|active|deleted|failed|deleted_running|deleted_terminating|modifying',
            'FulfilledCapacity' => <float>,
            'FulfilledOnDemandCapacity' => <float>,
            '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>,
                                ],
                                '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',
                ],
                // ...
            ],
            'LaunchTemplateConfigs' => [
                [
                    '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>,
                                ],
                                '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>,
                        ],
                        // ...
                    ],
                ],
                // ...
            ],
            '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,
            ],
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'TargetCapacitySpecification' => [
                'DefaultTargetCapacityType' => 'spot|on-demand|capacity-block',
                'OnDemandTargetCapacity' => <integer>,
                'SpotTargetCapacity' => <integer>,
                'TargetCapacityUnitType' => 'vcpu|memory-mib|units',
                'TotalTargetCapacity' => <integer>,
            ],
            'TerminateInstancesWithExpiration' => true || false,
            'Type' => 'request|maintain|instant',
            'ValidFrom' => <DateTime>,
            'ValidUntil' => <DateTime>,
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
Fleets
Type: Array of FleetData structures

Information about the EC2 Fleets.

NextToken
Type: string

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

Errors

There are no errors described for this operation.

DescribeFlowLogs

$result = $client->describeFlowLogs([/* ... */]);
$promise = $client->describeFlowLogsAsync([/* ... */]);

Describes one or more flow logs.

To view the published flow log records, you must view the log destination. For example, the CloudWatch Logs log group, the Amazon S3 bucket, or the Kinesis Data Firehose delivery stream.

Parameter Syntax

$result = $client->describeFlowLogs([
    'DryRun' => true || false,
    'Filter' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'FlowLogIds' => ['<string>', ...],
    'MaxResults' => <integer>,
    'NextToken' => '<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.

Filter
Type: Array of Filter structures

One or more filters.

  • deliver-log-status - The status of the logs delivery (SUCCESS | FAILED).

  • log-destination-type - The type of destination for the flow log data (cloud-watch-logs | s3 | kinesis-data-firehose).

  • flow-log-id - The ID of the flow log.

  • log-group-name - The name of the log group.

  • resource-id - The ID of the VPC, subnet, or network interface.

  • traffic-type - The type of traffic (ACCEPT | REJECT | ALL).

  • 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.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

FlowLogIds
Type: Array of strings

One or more flow log IDs.

Constraint: Maximum of 1000 flow log IDs.

MaxResults
Type: int

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

NextToken
Type: string

The token to request the next page of items. Pagination continues from the end of the items returned by the previous request.

Result Syntax

[
    'FlowLogs' => [
        [
            'CreationTime' => <DateTime>,
            'DeliverCrossAccountRole' => '<string>',
            'DeliverLogsErrorMessage' => '<string>',
            'DeliverLogsPermissionArn' => '<string>',
            'DeliverLogsStatus' => '<string>',
            'DestinationOptions' => [
                'FileFormat' => 'plain-text|parquet',
                'HiveCompatiblePartitions' => true || false,
                'PerHourPartition' => true || false,
            ],
            'FlowLogId' => '<string>',
            'FlowLogStatus' => '<string>',
            'LogDestination' => '<string>',
            'LogDestinationType' => 'cloud-watch-logs|s3|kinesis-data-firehose',
            'LogFormat' => '<string>',
            'LogGroupName' => '<string>',
            'MaxAggregationInterval' => <integer>,
            'ResourceId' => '<string>',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'TrafficType' => 'ACCEPT|REJECT|ALL',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
FlowLogs
Type: Array of FlowLog structures

Information about the flow logs.

NextToken
Type: string

The token to request the next page of items. This value is null when there are no more items to return.

Errors

There are no errors described for this operation.

DescribeFpgaImageAttribute

$result = $client->describeFpgaImageAttribute([/* ... */]);
$promise = $client->describeFpgaImageAttributeAsync([/* ... */]);

Describes the specified attribute of the specified Amazon FPGA Image (AFI).

Parameter Syntax

$result = $client->describeFpgaImageAttribute([
    'Attribute' => 'description|name|loadPermission|productCodes', // REQUIRED
    'DryRun' => true || false,
    'FpgaImageId' => '<string>', // REQUIRED
]);

Parameter Details

Members
Attribute
Required: Yes
Type: string

The AFI attribute.

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.

FpgaImageId
Required: Yes
Type: string

The ID of the AFI.

Result Syntax

[
    'FpgaImageAttribute' => [
        'Description' => '<string>',
        'FpgaImageId' => '<string>',
        'LoadPermissions' => [
            [
                'Group' => 'all',
                'UserId' => '<string>',
            ],
            // ...
        ],
        'Name' => '<string>',
        'ProductCodes' => [
            [
                'ProductCodeId' => '<string>',
                'ProductCodeType' => 'devpay|marketplace',
            ],
            // ...
        ],
    ],
]

Result Details

Members
FpgaImageAttribute
Type: FpgaImageAttribute structure

Information about the attribute.

Errors

There are no errors described for this operation.

DescribeFpgaImages

$result = $client->describeFpgaImages([/* ... */]);
$promise = $client->describeFpgaImagesAsync([/* ... */]);

Describes the Amazon FPGA Images (AFIs) available to you. These include public AFIs, private AFIs that you own, and AFIs owned by other Amazon Web Services accounts for which you have load permissions.

Parameter Syntax

$result = $client->describeFpgaImages([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'FpgaImageIds' => ['<string>', ...],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'Owners' => ['<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.

Filters
Type: Array of Filter structures

The filters.

  • create-time - The creation time of the AFI.

  • fpga-image-id - The FPGA image identifier (AFI ID).

  • fpga-image-global-id - The global FPGA image identifier (AGFI ID).

  • name - The name of the AFI.

  • owner-id - The Amazon Web Services account ID of the AFI owner.

  • product-code - The product code.

  • shell-version - The version of the Amazon Web Services Shell that was used to create the bitstream.

  • state - The state of the AFI (pending | failed | available | unavailable).

  • 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.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • update-time - The time of the most recent update.

FpgaImageIds
Type: Array of strings

The AFI IDs.

MaxResults
Type: int

The maximum number of results to return in a single call.

NextToken
Type: string

The token to retrieve the next page of results.

Owners
Type: Array of strings

Filters the AFI by owner. Specify an Amazon Web Services account ID, self (owner is the sender of the request), or an Amazon Web Services owner alias (valid values are amazon | aws-marketplace).

Result Syntax

[
    'FpgaImages' => [
        [
            'CreateTime' => <DateTime>,
            'DataRetentionSupport' => true || false,
            'Description' => '<string>',
            'FpgaImageGlobalId' => '<string>',
            'FpgaImageId' => '<string>',
            'InstanceTypes' => ['<string>', ...],
            'Name' => '<string>',
            'OwnerAlias' => '<string>',
            'OwnerId' => '<string>',
            'PciId' => [
                'DeviceId' => '<string>',
                'SubsystemId' => '<string>',
                'SubsystemVendorId' => '<string>',
                'VendorId' => '<string>',
            ],
            'ProductCodes' => [
                [
                    'ProductCodeId' => '<string>',
                    'ProductCodeType' => 'devpay|marketplace',
                ],
                // ...
            ],
            'Public' => true || false,
            'ShellVersion' => '<string>',
            'State' => [
                'Code' => 'pending|failed|available|unavailable',
                'Message' => '<string>',
            ],
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'UpdateTime' => <DateTime>,
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
FpgaImages
Type: Array of FpgaImage structures

Information about the FPGA images.

NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

Errors

There are no errors described for this operation.

DescribeHostReservationOfferings

$result = $client->describeHostReservationOfferings([/* ... */]);
$promise = $client->describeHostReservationOfferingsAsync([/* ... */]);

Describes the Dedicated Host reservations that are available to purchase.

The results describe all of the Dedicated Host reservation offerings, including offerings that might not match the instance family and Region of your Dedicated Hosts. When purchasing an offering, ensure that the instance family and Region of the offering matches that of the Dedicated Hosts with which it is to be associated. For more information about supported instance types, see Dedicated Hosts in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->describeHostReservationOfferings([
    'Filter' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxDuration' => <integer>,
    'MaxResults' => <integer>,
    'MinDuration' => <integer>,
    'NextToken' => '<string>',
    'OfferingId' => '<string>',
]);

Parameter Details

Members
Filter
Type: Array of Filter structures

The filters.

  • instance-family - The instance family of the offering (for example, m4).

  • payment-option - The payment option (NoUpfront | PartialUpfront | AllUpfront).

MaxDuration
Type: int

This is the maximum duration of the reservation to purchase, specified in seconds. Reservations are available in one-year and three-year terms. The number of seconds specified must be the number of seconds in a year (365x24x60x60) times one of the supported durations (1 or 3). For example, specify 94608000 for three years.

MaxResults
Type: int

The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.

MinDuration
Type: int

This is the minimum duration of the reservation you'd like to purchase, specified in seconds. Reservations are available in one-year and three-year terms. The number of seconds specified must be the number of seconds in a year (365x24x60x60) times one of the supported durations (1 or 3). For example, specify 31536000 for one year.

NextToken
Type: string

The token to use to retrieve the next page of results.

OfferingId
Type: string

The ID of the reservation offering.

Result Syntax

[
    'NextToken' => '<string>',
    'OfferingSet' => [
        [
            'CurrencyCode' => 'USD',
            'Duration' => <integer>,
            'HourlyPrice' => '<string>',
            'InstanceFamily' => '<string>',
            'OfferingId' => '<string>',
            'PaymentOption' => 'AllUpfront|PartialUpfront|NoUpfront',
            'UpfrontPrice' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

OfferingSet
Type: Array of HostOffering structures

Information about the offerings.

Errors

There are no errors described for this operation.

DescribeHostReservations

$result = $client->describeHostReservations([/* ... */]);
$promise = $client->describeHostReservationsAsync([/* ... */]);

Describes reservations that are associated with Dedicated Hosts in your account.

Parameter Syntax

$result = $client->describeHostReservations([
    'Filter' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'HostReservationIdSet' => ['<string>', ...],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
Filter
Type: Array of Filter structures

The filters.

  • instance-family - The instance family (for example, m4).

  • payment-option - The payment option (NoUpfront | PartialUpfront | AllUpfront).

  • state - The state of the reservation (payment-pending | payment-failed | active | retired).

  • 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.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

HostReservationIdSet
Type: Array of strings

The host reservation IDs.

MaxResults
Type: int

The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.

NextToken
Type: string

The token to use to retrieve the next page of results.

Result Syntax

[
    'HostReservationSet' => [
        [
            'Count' => <integer>,
            'CurrencyCode' => 'USD',
            'Duration' => <integer>,
            'End' => <DateTime>,
            'HostIdSet' => ['<string>', ...],
            'HostReservationId' => '<string>',
            'HourlyPrice' => '<string>',
            'InstanceFamily' => '<string>',
            'OfferingId' => '<string>',
            'PaymentOption' => 'AllUpfront|PartialUpfront|NoUpfront',
            'Start' => <DateTime>,
            'State' => 'payment-pending|payment-failed|active|retired',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'UpfrontPrice' => '<string>',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
HostReservationSet
Type: Array of HostReservation structures

Details about the reservation's configuration.

NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

Errors

There are no errors described for this operation.

DescribeHosts

$result = $client->describeHosts([/* ... */]);
$promise = $client->describeHostsAsync([/* ... */]);

Describes the specified Dedicated Hosts or all your Dedicated Hosts.

The results describe only the Dedicated Hosts in the Region you're currently using. All listed instances consume capacity on your Dedicated Host. Dedicated Hosts that have recently been released are listed with the state released.

Parameter Syntax

$result = $client->describeHosts([
    'Filter' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'HostIds' => ['<string>', ...],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
Filter
Type: Array of Filter structures

The filters.

  • auto-placement - Whether auto-placement is enabled or disabled (on | off).

  • availability-zone - The Availability Zone of the host.

  • client-token - The idempotency token that you provided when you allocated the host.

  • host-reservation-id - The ID of the reservation assigned to this host.

  • instance-type - The instance type size that the Dedicated Host is configured to support.

  • state - The allocation state of the Dedicated Host (available | under-assessment | permanent-failure | released | released-permanent-failure).

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

HostIds
Type: Array of strings

The IDs of the Dedicated Hosts. The IDs are used for targeted instance launches.

MaxResults
Type: int

The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.

You cannot specify this parameter and the host IDs parameter in the same request.

NextToken
Type: string

The token to use to retrieve the next page of results.

Result Syntax

[
    'Hosts' => [
        [
            'AllocationTime' => <DateTime>,
            'AllowsMultipleInstanceTypes' => 'on|off',
            'AssetId' => '<string>',
            'AutoPlacement' => 'on|off',
            'AvailabilityZone' => '<string>',
            'AvailabilityZoneId' => '<string>',
            'AvailableCapacity' => [
                'AvailableInstanceCapacity' => [
                    [
                        'AvailableCapacity' => <integer>,
                        'InstanceType' => '<string>',
                        'TotalCapacity' => <integer>,
                    ],
                    // ...
                ],
                'AvailableVCpus' => <integer>,
            ],
            'ClientToken' => '<string>',
            'HostId' => '<string>',
            'HostMaintenance' => 'on|off',
            'HostProperties' => [
                'Cores' => <integer>,
                'InstanceFamily' => '<string>',
                'InstanceType' => '<string>',
                'Sockets' => <integer>,
                'TotalVCpus' => <integer>,
            ],
            'HostRecovery' => 'on|off',
            'HostReservationId' => '<string>',
            'Instances' => [
                [
                    'InstanceId' => '<string>',
                    'InstanceType' => '<string>',
                    'OwnerId' => '<string>',
                ],
                // ...
            ],
            'MemberOfServiceLinkedResourceGroup' => true || false,
            'OutpostArn' => '<string>',
            'OwnerId' => '<string>',
            'ReleaseTime' => <DateTime>,
            'State' => 'available|under-assessment|permanent-failure|released|released-permanent-failure|pending',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
Hosts
Type: Array of Host structures

Information about the Dedicated Hosts.

NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

Errors

There are no errors described for this operation.

DescribeIamInstanceProfileAssociations

$result = $client->describeIamInstanceProfileAssociations([/* ... */]);
$promise = $client->describeIamInstanceProfileAssociationsAsync([/* ... */]);

Describes your IAM instance profile associations.

Parameter Syntax

$result = $client->describeIamInstanceProfileAssociations([
    'AssociationIds' => ['<string>', ...],
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
AssociationIds
Type: Array of strings

The IAM instance profile associations.

Filters
Type: Array of Filter structures

The filters.

  • instance-id - The ID of the instance.

  • state - The state of the association (associating | associated | disassociating).

MaxResults
Type: int

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

NextToken
Type: string

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

Result Syntax

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

Result Details

Members
IamInstanceProfileAssociations
Type: Array of IamInstanceProfileAssociation structures

Information about the IAM instance profile associations.

NextToken
Type: string

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

Errors

There are no errors described for this operation.

Examples

Example 1: To describe an IAM instance profile association

This example describes the specified IAM instance profile association.

$result = $client->describeIamInstanceProfileAssociations([
    'AssociationIds' => [
        'iip-assoc-0db249b1f25fa24b8',
    ],
]);

Result syntax:

[
    'IamInstanceProfileAssociations' => [
        [
            'AssociationId' => 'iip-assoc-0db249b1f25fa24b8',
            'IamInstanceProfile' => [
                'Arn' => 'arn:aws:iam::123456789012:instance-profile/admin-role',
                'Id' => 'AIPAJVQN4F5WVLGCJDRGM',
            ],
            'InstanceId' => 'i-09eb09efa73ec1dee',
            'State' => 'associated',
        ],
    ],
]

DescribeIdFormat

$result = $client->describeIdFormat([/* ... */]);
$promise = $client->describeIdFormatAsync([/* ... */]);

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. This request only returns information about resource types whose ID formats can be modified; it does not return information about other resource types.

The following resource types support longer IDs: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association | export-task | flow-log | image | import-task | instance | internet-gateway | network-acl | network-acl-association | network-interface | network-interface-attachment | prefix-list | reservation | route-table | route-table-association | security-group | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

These settings apply to the IAM user who makes the request; they do not apply to the entire Amazon Web Services account. By default, an IAM user defaults to the same settings as the root user, unless they explicitly override the settings by running the ModifyIdFormat command. Resources created with longer IDs are visible to all IAM users, regardless of these settings and provided that they have permission to use the relevant Describe command for the resource type.

Parameter Syntax

$result = $client->describeIdFormat([
    'Resource' => '<string>',
]);

Parameter Details

Members
Resource
Type: string

The type of resource: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association | export-task | flow-log | image | import-task | instance | internet-gateway | network-acl | network-acl-association | network-interface | network-interface-attachment | prefix-list | reservation | route-table | route-table-association | security-group | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway

Result Syntax

[
    'Statuses' => [
        [
            'Deadline' => <DateTime>,
            'Resource' => '<string>',
            'UseLongIds' => true || false,
        ],
        // ...
    ],
]

Result Details

Members
Statuses
Type: Array of IdFormat structures

Information about the ID format for the resource.

Errors

There are no errors described for this operation.

DescribeIdentityIdFormat

$result = $client->describeIdentityIdFormat([/* ... */]);
$promise = $client->describeIdentityIdFormatAsync([/* ... */]);

Describes the ID format settings for resources for the specified IAM user, IAM role, or root user. For example, you can view the resource types that are enabled for longer IDs. This request only returns information about resource types whose ID formats can be modified; it does not return information about other resource types. For more information, see Resource IDs in the Amazon Elastic Compute Cloud User Guide.

The following resource types support longer IDs: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association | export-task | flow-log | image | import-task | instance | internet-gateway | network-acl | network-acl-association | network-interface | network-interface-attachment | prefix-list | reservation | route-table | route-table-association | security-group | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

These settings apply to the principal specified in the request. They do not apply to the principal that makes the request.

Parameter Syntax

$result = $client->describeIdentityIdFormat([
    'PrincipalArn' => '<string>', // REQUIRED
    'Resource' => '<string>',
]);

Parameter Details

Members
PrincipalArn
Required: Yes
Type: string

The ARN of the principal, which can be an IAM role, IAM user, or the root user.

Resource
Type: string

The type of resource: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association | export-task | flow-log | image | import-task | instance | internet-gateway | network-acl | network-acl-association | network-interface | network-interface-attachment | prefix-list | reservation | route-table | route-table-association | security-group | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway

Result Syntax

[
    'Statuses' => [
        [
            'Deadline' => <DateTime>,
            'Resource' => '<string>',
            'UseLongIds' => true || false,
        ],
        // ...
    ],
]

Result Details

Members
Statuses
Type: Array of IdFormat structures

Information about the ID format for the resources.

Errors

There are no errors described for this operation.

DescribeImageAttribute

$result = $client->describeImageAttribute([/* ... */]);
$promise = $client->describeImageAttributeAsync([/* ... */]);

Describes the specified attribute of the specified AMI. You can specify only one attribute at a time.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

Parameter Syntax

$result = $client->describeImageAttribute([
    'Attribute' => 'description|kernel|ramdisk|launchPermission|productCodes|blockDeviceMapping|sriovNetSupport|bootMode|tpmSupport|uefiData|lastLaunchedTime|imdsSupport|deregistrationProtection', // REQUIRED
    'DryRun' => true || false,
    'ImageId' => '<string>', // REQUIRED
]);

Parameter Details

Members
Attribute
Required: Yes
Type: string

The AMI attribute.

Note: The blockDeviceMapping attribute is deprecated. Using this attribute returns the Client.AuthFailure error. To get information about the block device mappings for an AMI, use the DescribeImages action.

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.

Result Syntax

[
    '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>',
        ],
        // ...
    ],
    'BootMode' => [
        'Value' => '<string>',
    ],
    'DeregistrationProtection' => [
        'Value' => '<string>',
    ],
    'Description' => [
        'Value' => '<string>',
    ],
    'ImageId' => '<string>',
    'ImdsSupport' => [
        'Value' => '<string>',
    ],
    'KernelId' => [
        'Value' => '<string>',
    ],
    'LastLaunchedTime' => [
        'Value' => '<string>',
    ],
    'LaunchPermissions' => [
        [
            'Group' => 'all',
            'OrganizationArn' => '<string>',
            'OrganizationalUnitArn' => '<string>',
            'UserId' => '<string>',
        ],
        // ...
    ],
    'ProductCodes' => [
        [
            'ProductCodeId' => '<string>',
            'ProductCodeType' => 'devpay|marketplace',
        ],
        // ...
    ],
    'RamdiskId' => [
        'Value' => '<string>',
    ],
    'SriovNetSupport' => [
        'Value' => '<string>',
    ],
    'TpmSupport' => [
        'Value' => '<string>',
    ],
    'UefiData' => [
        'Value' => '<string>',
    ],
]

Result Details

Members
BlockDeviceMappings
Type: Array of BlockDeviceMapping structures

The block device mapping entries.

BootMode
Type: AttributeValue structure

The boot mode.

DeregistrationProtection
Type: AttributeValue structure

Indicates whether deregistration protection is enabled for the AMI.

Description
Type: AttributeValue structure

A description for the AMI.

ImageId
Type: string

The ID of the AMI.

ImdsSupport
Type: AttributeValue structure

If v2.0, it indicates that IMDSv2 is specified in the AMI. Instances launched from this AMI will have HttpTokens automatically set to required so that, by default, the instance requires that IMDSv2 is used when requesting instance metadata. In addition, HttpPutResponseHopLimit is set to 2. For more information, see Configure the AMI in the Amazon EC2 User Guide.

KernelId
Type: AttributeValue structure

The kernel ID.

LastLaunchedTime
Type: AttributeValue structure

The date and time, in ISO 8601 date-time format, when the AMI was last used to launch an EC2 instance. When the AMI is used to launch an instance, there is a 24-hour delay before that usage is reported.

lastLaunchedTime data is available starting April 2017.

LaunchPermissions
Type: Array of LaunchPermission structures

The launch permissions.

ProductCodes
Type: Array of ProductCode structures

The product codes.

RamdiskId
Type: AttributeValue structure

The RAM disk ID.

SriovNetSupport
Type: AttributeValue structure

Indicates whether enhanced networking with the Intel 82599 Virtual Function interface is enabled.

TpmSupport
Type: AttributeValue structure

If the image is configured for NitroTPM support, the value is v2.0.

UefiData
Type: AttributeValue structure

Base64 representation of the non-volatile UEFI variable store. To retrieve the UEFI data, use the GetInstanceUefiData command. You can inspect and modify the UEFI data by using the python-uefivars tool on GitHub. For more information, see UEFI Secure Boot in the Amazon EC2 User Guide.

Errors

There are no errors described for this operation.

Examples

Example 1: To describe the launch permissions for an AMI

This example describes the launch permissions for the specified AMI.

$result = $client->describeImageAttribute([
    'Attribute' => 'launchPermission',
    'ImageId' => 'ami-5731123e',
]);

Result syntax:

[
    'ImageId' => 'ami-5731123e',
    'LaunchPermissions' => [
        [
            'UserId' => '123456789012',
        ],
    ],
]

DescribeImages

$result = $client->describeImages([/* ... */]);
$promise = $client->describeImagesAsync([/* ... */]);

Describes the specified images (AMIs, AKIs, and ARIs) available to you or all of the images available to you.

The images available to you include public images, private images that you own, and private images owned by other Amazon Web Services accounts for which you have explicit launch permissions.

Recently deregistered images appear in the returned results for a short interval and then return empty results. After all instances that reference a deregistered AMI are terminated, specifying the ID of the image will eventually return an error indicating that the AMI ID cannot be found.

We strongly recommend using only paginated requests. Unpaginated requests are susceptible to throttling and timeouts.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

Parameter Syntax

$result = $client->describeImages([
    'DryRun' => true || false,
    'ExecutableUsers' => ['<string>', ...],
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'ImageIds' => ['<string>', ...],
    'IncludeDeprecated' => true || false,
    'IncludeDisabled' => true || false,
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'Owners' => ['<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.

ExecutableUsers
Type: Array of strings

Scopes the images by users with explicit launch permissions. Specify an Amazon Web Services account ID, self (the sender of the request), or all (public AMIs).

  • If you specify an Amazon Web Services account ID that is not your own, only AMIs shared with that specific Amazon Web Services account ID are returned. However, AMIs that are shared with the account’s organization or organizational unit (OU) are not returned.

  • If you specify self or your own Amazon Web Services account ID, AMIs shared with your account are returned. In addition, AMIs that are shared with the organization or OU of which you are member are also returned.

  • If you specify all, all public AMIs are returned.

Filters
Type: Array of Filter structures

The filters.

  • architecture - The image architecture (i386 | x86_64 | arm64 | x86_64_mac | arm64_mac).

  • block-device-mapping.delete-on-termination - A Boolean value that indicates whether the Amazon EBS volume is deleted on instance termination.

  • block-device-mapping.device-name - The device name specified in the block device mapping (for example, /dev/sdh or xvdh).

  • block-device-mapping.snapshot-id - The ID of the snapshot used for the Amazon EBS volume.

  • block-device-mapping.volume-size - The volume size of the Amazon EBS volume, in GiB.

  • block-device-mapping.volume-type - The volume type of the Amazon EBS volume (io1 | io2 | gp2 | gp3 | sc1 | st1 | standard).

  • block-device-mapping.encrypted - A Boolean that indicates whether the Amazon EBS volume is encrypted.

  • creation-date - The time when the image was created, in the ISO 8601 format in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ), for example, 2021-09-29T11:04:43.305Z. You can use a wildcard (*), for example, 2021-09-29T*, which matches an entire day.

  • description - The description of the image (provided during image creation).

  • ena-support - A Boolean that indicates whether enhanced networking with ENA is enabled.

  • hypervisor - The hypervisor type (ovm | xen).

  • image-id - The ID of the image.

  • image-type - The image type (machine | kernel | ramdisk).

  • is-public - A Boolean that indicates whether the image is public.

  • kernel-id - The kernel ID.

  • manifest-location - The location of the image manifest.

  • name - The name of the AMI (provided during image creation).

  • owner-alias - The owner alias (amazon | aws-backup-vault | aws-marketplace). The valid aliases are defined in an Amazon-maintained list. This is not the Amazon Web Services account alias that can be set using the IAM console. We recommend that you use the Owner request parameter instead of this filter.

  • owner-id - The Amazon Web Services account ID of the owner. We recommend that you use the Owner request parameter instead of this filter.

  • platform - The platform. The only supported value is windows.

  • product-code - The product code.

  • product-code.type - The type of the product code (marketplace).

  • ramdisk-id - The RAM disk ID.

  • root-device-name - The device name of the root device volume (for example, /dev/sda1).

  • root-device-type - The type of the root device volume (ebs | instance-store).

  • source-instance-id - The ID of the instance that the AMI was created from if the AMI was created using CreateImage. This filter is applicable only if the AMI was created using CreateImage.

  • state - The state of the image (available | pending | failed).

  • state-reason-code - The reason code for the state change.

  • state-reason-message - The message for the state change.

  • sriov-net-support - A value of simple indicates that enhanced networking with the Intel 82599 VF interface is enabled.

  • 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.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • virtualization-type - The virtualization type (paravirtual | hvm).

ImageIds
Type: Array of strings

The image IDs.

Default: Describes all images available to you.

IncludeDeprecated
Type: boolean

Specifies whether to include deprecated AMIs.

Default: No deprecated AMIs are included in the response.

If you are the AMI owner, all deprecated AMIs appear in the response regardless of what you specify for this parameter.

IncludeDisabled
Type: boolean

Specifies whether to include disabled AMIs.

Default: No disabled AMIs are included in the response.

MaxResults
Type: int

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

NextToken
Type: string

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

Owners
Type: Array of strings

Scopes the results to images with the specified owners. You can specify a combination of Amazon Web Services account IDs, self, amazon, aws-backup-vault, and aws-marketplace. If you omit this parameter, the results include all images for which you have launch permissions, regardless of ownership.

Result Syntax

[
    'Images' => [
        [
            'Architecture' => 'i386|x86_64|arm64|x86_64_mac|arm64_mac',
            '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>',
                ],
                // ...
            ],
            'BootMode' => 'legacy-bios|uefi|uefi-preferred',
            'CreationDate' => '<string>',
            'DeprecationTime' => '<string>',
            'DeregistrationProtection' => '<string>',
            'Description' => '<string>',
            'EnaSupport' => true || false,
            'Hypervisor' => 'ovm|xen',
            'ImageId' => '<string>',
            'ImageLocation' => '<string>',
            'ImageOwnerAlias' => '<string>',
            'ImageType' => 'machine|kernel|ramdisk',
            'ImdsSupport' => 'v2.0',
            'KernelId' => '<string>',
            'LastLaunchedTime' => '<string>',
            'Name' => '<string>',
            'OwnerId' => '<string>',
            'Platform' => 'Windows',
            'PlatformDetails' => '<string>',
            'ProductCodes' => [
                [
                    'ProductCodeId' => '<string>',
                    'ProductCodeType' => 'devpay|marketplace',
                ],
                // ...
            ],
            'Public' => true || false,
            'RamdiskId' => '<string>',
            'RootDeviceName' => '<string>',
            'RootDeviceType' => 'ebs|instance-store',
            'SourceImageId' => '<string>',
            'SourceImageRegion' => '<string>',
            'SourceInstanceId' => '<string>',
            'SriovNetSupport' => '<string>',
            'State' => 'pending|available|invalid|deregistered|transient|failed|error|disabled',
            'StateReason' => [
                'Code' => '<string>',
                'Message' => '<string>',
            ],
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'TpmSupport' => 'v2.0',
            'UsageOperation' => '<string>',
            'VirtualizationType' => 'hvm|paravirtual',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
Images
Type: Array of Image structures

Information about the images.

NextToken
Type: string

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

Errors

There are no errors described for this operation.

Examples

Example 1: To describe an AMI

This example describes the specified AMI.

$result = $client->describeImages([
    'ImageIds' => [
        'ami-5731123e',
    ],
]);

Result syntax:

[
    'Images' => [
        [
            'Architecture' => 'x86_64',
            'BlockDeviceMappings' => [
                [
                    'DeviceName' => '/dev/sda1',
                    'Ebs' => [
                        'DeleteOnTermination' => 1,
                        'SnapshotId' => 'snap-1234567890abcdef0',
                        'VolumeSize' => 8,
                        'VolumeType' => 'standard',
                    ],
                ],
            ],
            'Description' => 'An AMI for my server',
            'Hypervisor' => 'xen',
            'ImageId' => 'ami-5731123e',
            'ImageLocation' => '123456789012/My server',
            'ImageType' => 'machine',
            'KernelId' => 'aki-88aa75e1',
            'Name' => 'My server',
            'OwnerId' => '123456789012',
            'Public' => ,
            'RootDeviceName' => '/dev/sda1',
            'RootDeviceType' => 'ebs',
            'State' => 'available',
            'VirtualizationType' => 'paravirtual',
        ],
    ],
]

DescribeImportImageTasks

$result = $client->describeImportImageTasks([/* ... */]);
$promise = $client->describeImportImageTasksAsync([/* ... */]);

Displays details about an import virtual machine or import snapshot tasks that are already created.

Parameter Syntax

$result = $client->describeImportImageTasks([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'ImportTaskIds' => ['<string>', ...],
    'MaxResults' => <integer>,
    'NextToken' => '<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.

Filters
Type: Array of Filter structures

Filter tasks using the task-state filter and one of the following values: active, completed, deleting, or deleted.

ImportTaskIds
Type: Array of strings

The IDs of the import image tasks.

MaxResults
Type: int

The maximum number of results to return in a single call.

NextToken
Type: string

A token that indicates the next page of results.

Result Syntax

[
    'ImportImageTasks' => [
        [
            'Architecture' => '<string>',
            'BootMode' => 'legacy-bios|uefi|uefi-preferred',
            'Description' => '<string>',
            'Encrypted' => true || false,
            'Hypervisor' => '<string>',
            'ImageId' => '<string>',
            'ImportTaskId' => '<string>',
            'KmsKeyId' => '<string>',
            'LicenseSpecifications' => [
                [
                    'LicenseConfigurationArn' => '<string>',
                ],
                // ...
            ],
            'LicenseType' => '<string>',
            'Platform' => '<string>',
            'Progress' => '<string>',
            'SnapshotDetails' => [
                [
                    'Description' => '<string>',
                    'DeviceName' => '<string>',
                    'DiskImageSize' => <float>,
                    'Format' => '<string>',
                    'Progress' => '<string>',
                    'SnapshotId' => '<string>',
                    'Status' => '<string>',
                    'StatusMessage' => '<string>',
                    'Url' => '<string>',
                    'UserBucket' => [
                        'S3Bucket' => '<string>',
                        'S3Key' => '<string>',
                    ],
                ],
                // ...
            ],
            'Status' => '<string>',
            'StatusMessage' => '<string>',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'UsageOperation' => '<string>',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
ImportImageTasks
Type: Array of ImportImageTask structures

A list of zero or more import image tasks that are currently active or were completed or canceled in the previous 7 days.

NextToken
Type: string

The token to use to get the next page of results. This value is null when there are no more results to return.

Errors

There are no errors described for this operation.

DescribeImportSnapshotTasks

$result = $client->describeImportSnapshotTasks([/* ... */]);
$promise = $client->describeImportSnapshotTasksAsync([/* ... */]);

Describes your import snapshot tasks.

Parameter Syntax

$result = $client->describeImportSnapshotTasks([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'ImportTaskIds' => ['<string>', ...],
    'MaxResults' => <integer>,
    'NextToken' => '<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.

Filters
Type: Array of Filter structures

The filters.

ImportTaskIds
Type: Array of strings

A list of import snapshot task IDs.

MaxResults
Type: int

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value.

NextToken
Type: string

A token that indicates the next page of results.

Result Syntax

[
    'ImportSnapshotTasks' => [
        [
            'Description' => '<string>',
            'ImportTaskId' => '<string>',
            'SnapshotTaskDetail' => [
                'Description' => '<string>',
                'DiskImageSize' => <float>,
                'Encrypted' => true || false,
                'Format' => '<string>',
                'KmsKeyId' => '<string>',
                'Progress' => '<string>',
                'SnapshotId' => '<string>',
                'Status' => '<string>',
                'StatusMessage' => '<string>',
                'Url' => '<string>',
                'UserBucket' => [
                    'S3Bucket' => '<string>',
                    'S3Key' => '<string>',
                ],
            ],
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
ImportSnapshotTasks
Type: Array of ImportSnapshotTask structures

A list of zero or more import snapshot tasks that are currently active or were completed or canceled in the previous 7 days.

NextToken
Type: string

The token to use to get the next page of results. This value is null when there are no more results to return.

Errors

There are no errors described for this operation.

DescribeInstanceAttribute

$result = $client->describeInstanceAttribute([/* ... */]);
$promise = $client->describeInstanceAttributeAsync([/* ... */]);

Describes the specified attribute of the specified instance. You can specify only one attribute at a time. Valid attribute values are: instanceType | kernel | ramdisk | userData | disableApiTermination | instanceInitiatedShutdownBehavior | rootDeviceName | blockDeviceMapping | productCodes | sourceDestCheck | groupSet | ebsOptimized | sriovNetSupport

Parameter Syntax

$result = $client->describeInstanceAttribute([
    'Attribute' => 'instanceType|kernel|ramdisk|userData|disableApiTermination|instanceInitiatedShutdownBehavior|rootDeviceName|blockDeviceMapping|productCodes|sourceDestCheck|groupSet|ebsOptimized|sriovNetSupport|enaSupport|enclaveOptions|disableApiStop', // REQUIRED
    'DryRun' => true || false,
    'InstanceId' => '<string>', // REQUIRED
]);

Parameter Details

Members
Attribute
Required: Yes
Type: string

The instance attribute.

Note: The enaSupport attribute is not supported at this time.

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.

Result Syntax

[
    'BlockDeviceMappings' => [
        [
            'DeviceName' => '<string>',
            'Ebs' => [
                'AssociatedResource' => '<string>',
                'AttachTime' => <DateTime>,
                'DeleteOnTermination' => true || false,
                'Status' => 'attaching|attached|detaching|detached',
                'VolumeId' => '<string>',
                'VolumeOwnerId' => '<string>',
            ],
        ],
        // ...
    ],
    'DisableApiStop' => [
        'Value' => true || false,
    ],
    'DisableApiTermination' => [
        'Value' => true || false,
    ],
    'EbsOptimized' => [
        'Value' => true || false,
    ],
    'EnaSupport' => [
        'Value' => true || false,
    ],
    'EnclaveOptions' => [
        'Enabled' => true || false,
    ],
    'Groups' => [
        [
            'GroupId' => '<string>',
            'GroupName' => '<string>',
        ],
        // ...
    ],
    'InstanceId' => '<string>',
    'InstanceInitiatedShutdownBehavior' => [
        'Value' => '<string>',
    ],
    'InstanceType' => [
        'Value' => '<string>',
    ],
    'KernelId' => [
        'Value' => '<string>',
    ],
    'ProductCodes' => [
        [
            'ProductCodeId' => '<string>',
            'ProductCodeType' => 'devpay|marketplace',
        ],
        // ...
    ],
    'RamdiskId' => [
        'Value' => '<string>',
    ],
    'RootDeviceName' => [
        'Value' => '<string>',
    ],
    'SourceDestCheck' => [
        'Value' => true || false,
    ],
    'SriovNetSupport' => [
        'Value' => '<string>',
    ],
    'UserData' => [
        'Value' => '<string>',
    ],
]

Result Details

Members
BlockDeviceMappings
Type: Array of InstanceBlockDeviceMapping structures

The block device mapping of the instance.

DisableApiStop
Type: AttributeBooleanValue structure

To enable the instance for Amazon Web Services Stop Protection, set this parameter to true; otherwise, set it to false.

DisableApiTermination
Type: AttributeBooleanValue structure

If the value is true, you can't terminate the instance through the Amazon EC2 console, CLI, or API; otherwise, you can.

EbsOptimized
Type: AttributeBooleanValue structure

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

EnaSupport
Type: AttributeBooleanValue structure

Indicates whether enhanced networking with ENA is enabled.

EnclaveOptions
Type: EnclaveOptions structure

To enable the instance for Amazon Web Services Nitro Enclaves, set this parameter to true; otherwise, set it to false.

Groups
Type: Array of GroupIdentifier structures

The security groups associated with the instance.

InstanceId
Type: string

The ID of the instance.

InstanceInitiatedShutdownBehavior
Type: AttributeValue structure

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

InstanceType
Type: AttributeValue structure

The instance type.

KernelId
Type: AttributeValue structure

The kernel ID.

ProductCodes
Type: Array of ProductCode structures

A list of product codes.

RamdiskId
Type: AttributeValue structure

The RAM disk ID.

RootDeviceName
Type: AttributeValue structure

The device name of the root device volume (for example, /dev/sda1).

SourceDestCheck
Type: AttributeBooleanValue structure

Enable or disable source/destination checks, which ensure that the instance is either the source or the destination of any traffic that it receives. If the value is true, source/destination checks are enabled; otherwise, they are disabled. The default value is true. You must disable source/destination checks if the instance runs services such as network address translation, routing, or firewalls.

SriovNetSupport
Type: AttributeValue structure

Indicates whether enhanced networking with the Intel 82599 Virtual Function interface is enabled.

UserData
Type: AttributeValue structure

The user data.

Errors

There are no errors described for this operation.

Examples

Example 1: To describe the instance type

This example describes the instance type of the specified instance.

$result = $client->describeInstanceAttribute([
    'Attribute' => 'instanceType',
    'InstanceId' => 'i-1234567890abcdef0',
]);

Result syntax:

[
    'InstanceId' => 'i-1234567890abcdef0',
    'InstanceType' => [
        'Value' => 't1.micro',
    ],
]
Example 2: To describe the disableApiTermination attribute

This example describes the ``disableApiTermination`` attribute of the specified instance.

$result = $client->describeInstanceAttribute([
    'Attribute' => 'disableApiTermination',
    'InstanceId' => 'i-1234567890abcdef0',
]);

Result syntax:

[
    'DisableApiTermination' => [
        'Value' => false,
    ],
    'InstanceId' => 'i-1234567890abcdef0',
]
Example 3: To describe the block device mapping for an instance

This example describes the ``blockDeviceMapping`` attribute of the specified instance.

$result = $client->describeInstanceAttribute([
    'Attribute' => 'blockDeviceMapping',
    'InstanceId' => 'i-1234567890abcdef0',
]);

Result syntax:

[
    'BlockDeviceMappings' => [
        [
            'DeviceName' => '/dev/sda1',
            'Ebs' => [
                'AttachTime' => ,
                'DeleteOnTermination' => 1,
                'Status' => 'attached',
                'VolumeId' => 'vol-049df61146c4d7901',
            ],
        ],
        [
            'DeviceName' => '/dev/sdf',
            'Ebs' => [
                'AttachTime' => ,
                'DeleteOnTermination' => ,
                'Status' => 'attached',
                'VolumeId' => 'vol-049df61146c4d7901',
            ],
        ],
    ],
    'InstanceId' => 'i-1234567890abcdef0',
]

DescribeInstanceConnectEndpoints

$result = $client->describeInstanceConnectEndpoints([/* ... */]);
$promise = $client->describeInstanceConnectEndpointsAsync([/* ... */]);

Describes the specified EC2 Instance Connect Endpoints or all EC2 Instance Connect Endpoints.

Parameter Syntax

$result = $client->describeInstanceConnectEndpoints([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'InstanceConnectEndpointIds' => ['<string>', ...],
    'MaxResults' => <integer>,
    'NextToken' => '<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.

Filters
Type: Array of Filter structures

One or more filters.

  • instance-connect-endpoint-id - The ID of the EC2 Instance Connect Endpoint.

  • state - The state of the EC2 Instance Connect Endpoint (create-in-progress | create-complete | create-failed | delete-in-progress | delete-complete | delete-failed).

  • subnet-id - The ID of the subnet in which the EC2 Instance Connect Endpoint was created.

  • 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.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • tag-value - The value of a tag assigned to the resource. Use this filter to find all resources that have a tag with a specific value, regardless of tag key.

  • vpc-id - The ID of the VPC in which the EC2 Instance Connect Endpoint was created.

InstanceConnectEndpointIds
Type: Array of strings

One or more EC2 Instance Connect Endpoint IDs.

MaxResults
Type: int

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

NextToken
Type: string

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

Result Syntax

[
    'InstanceConnectEndpoints' => [
        [
            '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>',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
InstanceConnectEndpoints
Type: Array of Ec2InstanceConnectEndpoint structures

Information about the EC2 Instance Connect Endpoints.

NextToken
Type: string

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

Errors

There are no errors described for this operation.

DescribeInstanceCreditSpecifications

$result = $client->describeInstanceCreditSpecifications([/* ... */]);
$promise = $client->describeInstanceCreditSpecificationsAsync([/* ... */]);

Describes the credit option for CPU usage of the specified burstable performance instances. The credit options are standard and unlimited.

If you do not specify an instance ID, Amazon EC2 returns burstable performance instances with the unlimited credit option, as well as instances that were previously configured as T2, T3, and T3a with the unlimited credit option. For example, if you resize a T2 instance, while it is configured as unlimited, to an M4 instance, Amazon EC2 returns the M4 instance.

If you specify one or more instance IDs, Amazon EC2 returns the credit option (standard or unlimited) of those instances. If you specify an instance ID that is not valid, such as an instance that is not a burstable performance instance, an error is returned.

Recently terminated instances might appear in the returned results. This interval is usually less than one hour.

If an Availability Zone is experiencing a service disruption and you specify instance IDs in the affected zone, or do not specify any instance IDs at all, the call fails. If you specify only instance IDs in an unaffected zone, the call works normally.

For more information, see Burstable performance instances in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->describeInstanceCreditSpecifications([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'InstanceIds' => ['<string>', ...],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

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.

Filters
Type: Array of Filter structures

The filters.

  • instance-id - The ID of the instance.

InstanceIds
Type: Array of strings

The instance IDs.

Default: Describes all your instances.

Constraints: Maximum 1000 explicitly specified instance IDs.

MaxResults
Type: int

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

You cannot specify this parameter and the instance IDs parameter in the same call.

NextToken
Type: string

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

Result Syntax

[
    'InstanceCreditSpecifications' => [
        [
            'CpuCredits' => '<string>',
            'InstanceId' => '<string>',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
InstanceCreditSpecifications
Type: Array of InstanceCreditSpecification structures

Information about the credit option for CPU usage of an instance.

NextToken
Type: string

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

Errors

There are no errors described for this operation.

DescribeInstanceEventNotificationAttributes

$result = $client->describeInstanceEventNotificationAttributes([/* ... */]);
$promise = $client->describeInstanceEventNotificationAttributesAsync([/* ... */]);

Describes the tag keys that are registered to appear in scheduled event notifications for resources in the current Region.

Parameter Syntax

$result = $client->describeInstanceEventNotificationAttributes([
    '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

[
    'InstanceTagAttribute' => [
        'IncludeAllTagsOfInstance' => true || false,
        'InstanceTagKeys' => ['<string>', ...],
    ],
]

Result Details

Members
InstanceTagAttribute

Information about the registered tag keys.

Errors

There are no errors described for this operation.

DescribeInstanceEventWindows

$result = $client->describeInstanceEventWindows([/* ... */]);
$promise = $client->describeInstanceEventWindowsAsync([/* ... */]);

Describes the specified event windows or all event windows.

If you specify event window IDs, the output includes information for only the specified event windows. If you specify filters, the output includes information for only those event windows that meet the filter criteria. If you do not specify event windows IDs or filters, the output includes information for all event windows, which can affect performance. We recommend that you use pagination to ensure that the operation returns quickly and successfully.

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

Parameter Syntax

$result = $client->describeInstanceEventWindows([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'InstanceEventWindowIds' => ['<string>', ...],
    'MaxResults' => <integer>,
    'NextToken' => '<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.

Filters
Type: Array of Filter structures

One or more filters.

  • dedicated-host-id - The event windows associated with the specified Dedicated Host ID.

  • event-window-name - The event windows associated with the specified names.

  • instance-id - The event windows associated with the specified instance ID.

  • instance-tag - The event windows associated with the specified tag and value.

  • instance-tag-key - The event windows associated with the specified tag key, regardless of the value.

  • instance-tag-value - The event windows associated with the specified tag value, regardless of the key.

  • tag:<key> - The key/value combination of a tag assigned to the event window. 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 CMX, specify tag:Owner for the filter name and CMX for the filter value.

  • tag-key - The key of a tag assigned to the event window. Use this filter to find all event windows that have a tag with a specific key, regardless of the tag value.

  • tag-value - The value of a tag assigned to the event window. Use this filter to find all event windows that have a tag with a specific value, regardless of the tag key.

InstanceEventWindowIds
Type: Array of strings

The IDs of the event windows.

MaxResults
Type: int

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value. This value can be between 20 and 500. You cannot specify this parameter and the event window IDs parameter in the same call.

NextToken
Type: string

The token to request the next page of results.

Result Syntax

[
    'InstanceEventWindows' => [
        [
            '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',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
InstanceEventWindows
Type: Array of InstanceEventWindow structures

Information about the event windows.

NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

Errors

There are no errors described for this operation.

DescribeInstanceImageMetadata

$result = $client->describeInstanceImageMetadata([/* ... */]);
$promise = $client->describeInstanceImageMetadataAsync([/* ... */]);

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).

If you specify instance IDs, the output includes information for only the specified instances. If you specify filters, the output includes information for only those instances that meet the filter criteria. If you do not specify instance IDs or filters, the output includes information for all instances, which can affect performance.

If you specify an instance ID that is not valid, an instance that doesn't exist, or an instance that you do not own, an error (InvalidInstanceID.NotFound) is returned.

Recently terminated instances might appear in the returned results. This interval is usually less than one hour.

In the rare case where an Availability Zone is experiencing a service disruption and you specify instance IDs that are in the affected Availability Zone, or do not specify any instance IDs at all, the call fails. If you specify only instance IDs that are in an unaffected Availability Zone, the call works normally.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

Parameter Syntax

$result = $client->describeInstanceImageMetadata([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'InstanceIds' => ['<string>', ...],
    'MaxResults' => <integer>,
    'NextToken' => '<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.

Filters
Type: Array of Filter structures

The filters.

  • availability-zone - The name of the Availability Zone (for example, us-west-2a) or Local Zone (for example, us-west-2-lax-1b) of the instance.

  • instance-id - The ID of the instance.

  • instance-state-name - The state of the instance (pending | running | shutting-down | terminated | stopping | stopped).

  • instance-type - The type of instance (for example, t3.micro).

  • launch-time - The time when the instance was launched, in the ISO 8601 format in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ), for example, 2023-09-29T11:04:43.305Z. You can use a wildcard (*), for example, 2023-09-29T*, which matches an entire day.

  • 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.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • zone-id - The ID of the Availability Zone (for example, usw2-az2) or Local Zone (for example, usw2-lax1-az1) of the instance.

InstanceIds
Type: Array of strings

The instance IDs.

If you don't specify an instance ID or filters, the output includes information for all instances.

MaxResults
Type: int

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

Default: 1000

NextToken
Type: string

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

Result Syntax

[
    'InstanceImageMetadata' => [
        [
            'AvailabilityZone' => '<string>',
            'ImageMetadata' => [
                'CreationDate' => '<string>',
                'DeprecationTime' => '<string>',
                'ImageId' => '<string>',
                'ImageOwnerAlias' => '<string>',
                'IsPublic' => true || false,
                'Name' => '<string>',
                'OwnerId' => '<string>',
                'State' => 'pending|available|invalid|deregistered|transient|failed|error|disabled',
            ],
            'InstanceId' => '<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',
            'LaunchTime' => <DateTime>,
            'OwnerId' => '<string>',
            'State' => [
                'Code' => <integer>,
                'Name' => 'pending|running|shutting-down|terminated|stopping|stopped',
            ],
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'ZoneId' => '<string>',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
InstanceImageMetadata
Type: Array of InstanceImageMetadata structures

Information about the instance and the AMI used to launch the instance.

NextToken
Type: string

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

Errors

There are no errors described for this operation.

DescribeInstanceStatus

$result = $client->describeInstanceStatus([/* ... */]);
$promise = $client->describeInstanceStatusAsync([/* ... */]);

Describes the status of the specified instances or all of your instances. By default, only running instances are described, unless you specifically indicate to return the status of all instances.

Instance status includes the following components:

  • Status checks - Amazon EC2 performs status checks on running EC2 instances to identify hardware and software issues. For more information, see Status checks for your instances and Troubleshoot instances with failed status checks in the Amazon EC2 User Guide.

  • Scheduled events - Amazon EC2 can schedule events (such as reboot, stop, or terminate) for your instances related to hardware issues, software updates, or system maintenance. For more information, see Scheduled events for your instances in the Amazon EC2 User Guide.

  • Instance state - You can manage your instances from the moment you launch them through their termination. For more information, see Instance lifecycle in the Amazon EC2 User Guide.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

Parameter Syntax

$result = $client->describeInstanceStatus([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'IncludeAllInstances' => true || false,
    'InstanceIds' => ['<string>', ...],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

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.

Filters
Type: Array of Filter structures

The filters.

  • availability-zone - The Availability Zone of the instance.

  • event.code - The code for the scheduled event (instance-reboot | system-reboot | system-maintenance | instance-retirement | instance-stop).

  • event.description - A description of the event.

  • event.instance-event-id - The ID of the event whose date and time you are modifying.

  • event.not-after - The latest end time for the scheduled event (for example, 2014-09-15T17:15:20.000Z).

  • event.not-before - The earliest start time for the scheduled event (for example, 2014-09-15T17:15:20.000Z).

  • event.not-before-deadline - The deadline for starting the event (for example, 2014-09-15T17:15:20.000Z).

  • instance-state-code - The code for the instance state, as a 16-bit unsigned integer. The high byte is used for internal purposes and should be ignored. The low byte is set based on the state represented. The valid values are 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 (stopping), and 80 (stopped).

  • instance-state-name - The state of the instance (pending | running | shutting-down | terminated | stopping | stopped).

  • instance-status.reachability - Filters on instance status where the name is reachability (passed | failed | initializing | insufficient-data).

  • instance-status.status - The status of the instance (ok | impaired | initializing | insufficient-data | not-applicable).

  • system-status.reachability - Filters on system status where the name is reachability (passed | failed | initializing | insufficient-data).

  • system-status.status - The system status of the instance (ok | impaired | initializing | insufficient-data | not-applicable).

  • attached-ebs-status.status - The status of the attached EBS volume for the instance (ok | impaired | initializing | insufficient-data | not-applicable).

IncludeAllInstances
Type: boolean

When true, includes the health status for all instances. When false, includes the health status for running instances only.

Default: false

InstanceIds
Type: Array of strings

The instance IDs.

Default: Describes all your instances.

Constraints: Maximum 100 explicitly specified instance IDs.

MaxResults
Type: int

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

You cannot specify this parameter and the instance IDs parameter in the same request.

NextToken
Type: string

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

Result Syntax

[
    'InstanceStatuses' => [
        [
            'AttachedEbsStatus' => [
                'Details' => [
                    [
                        'ImpairedSince' => <DateTime>,
                        'Name' => 'reachability',
                        'Status' => 'passed|failed|insufficient-data|initializing',
                    ],
                    // ...
                ],
                'Status' => 'ok|impaired|insufficient-data|not-applicable|initializing',
            ],
            'AvailabilityZone' => '<string>',
            'Events' => [
                [
                    'Code' => 'instance-reboot|system-reboot|system-maintenance|instance-retirement|instance-stop',
                    'Description' => '<string>',
                    'InstanceEventId' => '<string>',
                    'NotAfter' => <DateTime>,
                    'NotBefore' => <DateTime>,
                    'NotBeforeDeadline' => <DateTime>,
                ],
                // ...
            ],
            'InstanceId' => '<string>',
            'InstanceState' => [
                'Code' => <integer>,
                'Name' => 'pending|running|shutting-down|terminated|stopping|stopped',
            ],
            'InstanceStatus' => [
                'Details' => [
                    [
                        'ImpairedSince' => <DateTime>,
                        'Name' => 'reachability',
                        'Status' => 'passed|failed|insufficient-data|initializing',
                    ],
                    // ...
                ],
                'Status' => 'ok|impaired|insufficient-data|not-applicable|initializing',
            ],
            'OutpostArn' => '<string>',
            'SystemStatus' => [
                'Details' => [
                    [
                        'ImpairedSince' => <DateTime>,
                        'Name' => 'reachability',
                        'Status' => 'passed|failed|insufficient-data|initializing',
                    ],
                    // ...
                ],
                'Status' => 'ok|impaired|insufficient-data|not-applicable|initializing',
            ],
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
InstanceStatuses
Type: Array of InstanceStatus structures

Information about the status of the instances.

NextToken
Type: string

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

Errors

There are no errors described for this operation.

Examples

Example 1: To describe the status of an instance

This example describes the current status of the specified instance.

$result = $client->describeInstanceStatus([
    'InstanceIds' => [
        'i-1234567890abcdef0',
    ],
]);

Result syntax:

[
    'InstanceStatuses' => [
        [
            'AvailabilityZone' => 'us-east-1d',
            'InstanceId' => 'i-1234567890abcdef0',
            'InstanceState' => [
                'Code' => 16,
                'Name' => 'running',
            ],
            'InstanceStatus' => [
                'Details' => [
                    [
                        'Name' => 'reachability',
                        'Status' => 'passed',
                    ],
                ],
                'Status' => 'ok',
            ],
            'SystemStatus' => [
                'Details' => [
                    [
                        'Name' => 'reachability',
                        'Status' => 'passed',
                    ],
                ],
                'Status' => 'ok',
            ],
        ],
    ],
]

DescribeInstanceTopology

$result = $client->describeInstanceTopology([/* ... */]);
$promise = $client->describeInstanceTopologyAsync([/* ... */]);

Describes a tree-based hierarchy that represents the physical host placement of your EC2 instances within an Availability Zone or Local Zone. You can use this information to determine the relative proximity of your EC2 instances within the Amazon Web Services network to support your tightly coupled workloads.

Limitations

  • Supported zones

    • Availability Zone

    • Local Zone

  • Supported instance types

    • hpc6a.48xlarge | hpc6id.32xlarge | hpc7a.12xlarge | hpc7a.24xlarge | hpc7a.48xlarge | hpc7a.96xlarge | hpc7g.4xlarge | hpc7g.8xlarge | hpc7g.16xlarge

    • p3dn.24xlarge | p4d.24xlarge | p4de.24xlarge | p5.48xlarge | p5e.48xlarge

    • trn1.2xlarge | trn1.32xlarge | trn1n.32xlarge

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

Parameter Syntax

$result = $client->describeInstanceTopology([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'GroupNames' => ['<string>', ...],
    'InstanceIds' => ['<string>', ...],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

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.

Filters
Type: Array of Filter structures

The filters.

  • availability-zone - The name of the Availability Zone (for example, us-west-2a) or Local Zone (for example, us-west-2-lax-1b) that the instance is in.

  • instance-type - The instance type (for example, p4d.24xlarge) or instance family (for example, p4d*). You can use the * wildcard to match zero or more characters, or the ? wildcard to match zero or one character.

  • zone-id - The ID of the Availability Zone (for example, usw2-az2) or Local Zone (for example, usw2-lax1-az1) that the instance is in.

GroupNames
Type: Array of strings

The name of the placement group that each instance is in.

Constraints: Maximum 100 explicitly specified placement group names.

InstanceIds
Type: Array of strings

The instance IDs.

Default: Describes all your instances.

Constraints: Maximum 100 explicitly specified instance IDs.

MaxResults
Type: int

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

You can't specify this parameter and the instance IDs parameter in the same request.

Default: 20

NextToken
Type: string

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

Result Syntax

[
    'Instances' => [
        [
            'AvailabilityZone' => '<string>',
            'GroupName' => '<string>',
            'InstanceId' => '<string>',
            'InstanceType' => '<string>',
            'NetworkNodes' => ['<string>', ...],
            'ZoneId' => '<string>',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
Instances
Type: Array of InstanceTopology structures

Information about the topology of each instance.

NextToken
Type: string

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

Errors

There are no errors described for this operation.

DescribeInstanceTypeOfferings

$result = $client->describeInstanceTypeOfferings([/* ... */]);
$promise = $client->describeInstanceTypeOfferingsAsync([/* ... */]);

Lists the instance types that are offered for the specified location. If no location is specified, the default is to list the instance types that are offered in the current Region.

Parameter Syntax

$result = $client->describeInstanceTypeOfferings([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'LocationType' => 'region|availability-zone|availability-zone-id|outpost',
    'MaxResults' => <integer>,
    'NextToken' => '<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.

Filters
Type: Array of Filter structures

One or more filters. Filter names and values are case-sensitive.

  • instance-type - The instance type. For a list of possible values, see Instance.

  • location - The location. For a list of possible identifiers, see Regions and Zones.

LocationType
Type: string

The location type.

  • availability-zone - The Availability Zone. When you specify a location filter, it must be an Availability Zone for the current Region.

  • availability-zone-id - The AZ ID. When you specify a location filter, it must be an AZ ID for the current Region.

  • outpost - The Outpost ARN. When you specify a location filter, it must be an Outpost ARN for the current Region.

  • region - The current Region. If you specify a location filter, it must match the current Region.

MaxResults
Type: int

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

NextToken
Type: string

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

Result Syntax

[
    'InstanceTypeOfferings' => [
        [
            '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',
            'Location' => '<string>',
            'LocationType' => 'region|availability-zone|availability-zone-id|outpost',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
InstanceTypeOfferings
Type: Array of InstanceTypeOffering structures

The instance types offered in the location.

NextToken
Type: string

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

Errors

There are no errors described for this operation.

DescribeInstanceTypes

$result = $client->describeInstanceTypes([/* ... */]);
$promise = $client->describeInstanceTypesAsync([/* ... */]);

Describes the specified instance types. By default, all instance types for the current Region are described. Alternatively, you can filter the results.

Parameter Syntax

$result = $client->describeInstanceTypes([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'InstanceTypes' => ['<string>', ...],
    'MaxResults' => <integer>,
    'NextToken' => '<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.

Filters
Type: Array of Filter structures

One or more filters. Filter names and values are case-sensitive.

  • auto-recovery-supported - Indicates whether Amazon CloudWatch action based recovery is supported (true | false).

  • bare-metal - Indicates whether it is a bare metal instance type (true | false).

  • burstable-performance-supported - Indicates whether the instance type is a burstable performance T instance type (true | false).

  • current-generation - Indicates whether this instance type is the latest generation instance type of an instance family (true | false).

  • ebs-info.ebs-optimized-info.baseline-bandwidth-in-mbps - The baseline bandwidth performance for an EBS-optimized instance type, in Mbps.

  • ebs-info.ebs-optimized-info.baseline-iops - The baseline input/output storage operations per second for an EBS-optimized instance type.

  • ebs-info.ebs-optimized-info.baseline-throughput-in-mbps - The baseline throughput performance for an EBS-optimized instance type, in MB/s.

  • ebs-info.ebs-optimized-info.maximum-bandwidth-in-mbps - The maximum bandwidth performance for an EBS-optimized instance type, in Mbps.

  • ebs-info.ebs-optimized-info.maximum-iops - The maximum input/output storage operations per second for an EBS-optimized instance type.

  • ebs-info.ebs-optimized-info.maximum-throughput-in-mbps - The maximum throughput performance for an EBS-optimized instance type, in MB/s.

  • ebs-info.ebs-optimized-support - Indicates whether the instance type is EBS-optimized (supported | unsupported | default).

  • ebs-info.encryption-support - Indicates whether EBS encryption is supported (supported | unsupported).

  • ebs-info.nvme-support - Indicates whether non-volatile memory express (NVMe) is supported for EBS volumes (required | supported | unsupported).

  • free-tier-eligible - Indicates whether the instance type is eligible to use in the free tier (true | false).

  • hibernation-supported - Indicates whether On-Demand hibernation is supported (true | false).

  • hypervisor - The hypervisor (nitro | xen).

  • instance-storage-info.disk.count - The number of local disks.

  • instance-storage-info.disk.size-in-gb - The storage size of each instance storage disk, in GB.

  • instance-storage-info.disk.type - The storage technology for the local instance storage disks (hdd | ssd).

  • instance-storage-info.encryption-support - Indicates whether data is encrypted at rest (required | supported | unsupported).

  • instance-storage-info.nvme-support - Indicates whether non-volatile memory express (NVMe) is supported for instance store (required | supported | unsupported).

  • instance-storage-info.total-size-in-gb - The total amount of storage available from all local instance storage, in GB.

  • instance-storage-supported - Indicates whether the instance type has local instance storage (true | false).

  • instance-type - The instance type (for example c5.2xlarge or c5*).

  • memory-info.size-in-mib - The memory size.

  • network-info.efa-info.maximum-efa-interfaces - The maximum number of Elastic Fabric Adapters (EFAs) per instance.

  • network-info.efa-supported - Indicates whether the instance type supports Elastic Fabric Adapter (EFA) (true | false).

  • network-info.ena-support - Indicates whether Elastic Network Adapter (ENA) is supported or required (required | supported | unsupported).

  • network-info.encryption-in-transit-supported - Indicates whether the instance type automatically encrypts in-transit traffic between instances (true | false).

  • network-info.ipv4-addresses-per-interface - The maximum number of private IPv4 addresses per network interface.

  • network-info.ipv6-addresses-per-interface - The maximum number of private IPv6 addresses per network interface.

  • network-info.ipv6-supported - Indicates whether the instance type supports IPv6 (true | false).

  • network-info.maximum-network-cards - The maximum number of network cards per instance.

  • network-info.maximum-network-interfaces - The maximum number of network interfaces per instance.

  • network-info.network-performance - The network performance (for example, "25 Gigabit").

  • nitro-enclaves-support - Indicates whether Nitro Enclaves is supported (supported | unsupported).

  • nitro-tpm-support - Indicates whether NitroTPM is supported (supported | unsupported).

  • nitro-tpm-info.supported-versions - The supported NitroTPM version (2.0).

  • processor-info.supported-architecture - The CPU architecture (arm64 | i386 | x86_64).

  • processor-info.sustained-clock-speed-in-ghz - The CPU clock speed, in GHz.

  • processor-info.supported-features - The supported CPU features (amd-sev-snp).

  • supported-boot-mode - The boot mode (legacy-bios | uefi).

  • supported-root-device-type - The root device type (ebs | instance-store).

  • supported-usage-class - The usage class (on-demand | spot | capacity-block).

  • supported-virtualization-type - The virtualization type (hvm | paravirtual).

  • vcpu-info.default-cores - The default number of cores for the instance type.

  • vcpu-info.default-threads-per-core - The default number of threads per core for the instance type.

  • vcpu-info.default-vcpus - The default number of vCPUs for the instance type.

  • vcpu-info.valid-cores - The number of cores that can be configured for the instance type.

  • vcpu-info.valid-threads-per-core - The number of threads per core that can be configured for the instance type. For example, "1" or "1,2".

InstanceTypes
Type: Array of strings

The instance types.

MaxResults
Type: int

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

NextToken
Type: string

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

Result Syntax

[
    'InstanceTypes' => [
        [
            'AutoRecoverySupported' => true || false,
            'BareMetal' => true || false,
            'BurstablePerformanceSupported' => true || false,
            'CurrentGeneration' => true || false,
            'DedicatedHostsSupported' => true || false,
            'EbsInfo' => [
                'EbsOptimizedInfo' => [
                    'BaselineBandwidthInMbps' => <integer>,
                    'BaselineIops' => <integer>,
                    'BaselineThroughputInMBps' => <float>,
                    'MaximumBandwidthInMbps' => <integer>,
                    'MaximumIops' => <integer>,
                    'MaximumThroughputInMBps' => <float>,
                ],
                'EbsOptimizedSupport' => 'unsupported|supported|default',
                'EncryptionSupport' => 'unsupported|supported',
                'NvmeSupport' => 'unsupported|supported|required',
            ],
            'FpgaInfo' => [
                'Fpgas' => [
                    [
                        'Count' => <integer>,
                        'Manufacturer' => '<string>',
                        'MemoryInfo' => [
                            'SizeInMiB' => <integer>,
                        ],
                        'Name' => '<string>',
                    ],
                    // ...
                ],
                'TotalFpgaMemoryInMiB' => <integer>,
            ],
            'FreeTierEligible' => true || false,
            'GpuInfo' => [
                'Gpus' => [
                    [
                        'Count' => <integer>,
                        'Manufacturer' => '<string>',
                        'MemoryInfo' => [
                            'SizeInMiB' => <integer>,
                        ],
                        'Name' => '<string>',
                    ],
                    // ...
                ],
                'TotalGpuMemoryInMiB' => <integer>,
            ],
            'HibernationSupported' => true || false,
            'Hypervisor' => 'nitro|xen',
            'InferenceAcceleratorInfo' => [
                'Accelerators' => [
                    [
                        'Count' => <integer>,
                        'Manufacturer' => '<string>',
                        'MemoryInfo' => [
                            'SizeInMiB' => <integer>,
                        ],
                        'Name' => '<string>',
                    ],
                    // ...
                ],
                'TotalInferenceMemoryInMiB' => <integer>,
            ],
            'InstanceStorageInfo' => [
                'Disks' => [
                    [
                        'Count' => <integer>,
                        'SizeInGB' => <integer>,
                        'Type' => 'hdd|ssd',
                    ],
                    // ...
                ],
                'EncryptionSupport' => 'unsupported|required',
                'NvmeSupport' => 'unsupported|supported|required',
                'TotalSizeInGB' => <integer>,
            ],
            'InstanceStorageSupported' => true || false,
            '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',
            'MediaAcceleratorInfo' => [
                'Accelerators' => [
                    [
                        'Count' => <integer>,
                        'Manufacturer' => '<string>',
                        'MemoryInfo' => [
                            'SizeInMiB' => <integer>,
                        ],
                        'Name' => '<string>',
                    ],
                    // ...
                ],
                'TotalMediaMemoryInMiB' => <integer>,
            ],
            'MemoryInfo' => [
                'SizeInMiB' => <integer>,
            ],
            'NetworkInfo' => [
                'DefaultNetworkCardIndex' => <integer>,
                'EfaInfo' => [
                    'MaximumEfaInterfaces' => <integer>,
                ],
                'EfaSupported' => true || false,
                'EnaSrdSupported' => true || false,
                'EnaSupport' => 'unsupported|supported|required',
                'EncryptionInTransitSupported' => true || false,
                'Ipv4AddressesPerInterface' => <integer>,
                'Ipv6AddressesPerInterface' => <integer>,
                'Ipv6Supported' => true || false,
                'MaximumNetworkCards' => <integer>,
                'MaximumNetworkInterfaces' => <integer>,
                'NetworkCards' => [
                    [
                        'BaselineBandwidthInGbps' => <float>,
                        'MaximumNetworkInterfaces' => <integer>,
                        'NetworkCardIndex' => <integer>,
                        'NetworkPerformance' => '<string>',
                        'PeakBandwidthInGbps' => <float>,
                    ],
                    // ...
                ],
                'NetworkPerformance' => '<string>',
            ],
            'NeuronInfo' => [
                'NeuronDevices' => [
                    [
                        'CoreInfo' => [
                            'Count' => <integer>,
                            'Version' => <integer>,
                        ],
                        'Count' => <integer>,
                        'MemoryInfo' => [
                            'SizeInMiB' => <integer>,
                        ],
                        'Name' => '<string>',
                    ],
                    // ...
                ],
                'TotalNeuronDeviceMemoryInMiB' => <integer>,
            ],
            'NitroEnclavesSupport' => 'unsupported|supported',
            'NitroTpmInfo' => [
                'SupportedVersions' => ['<string>', ...],
            ],
            'NitroTpmSupport' => 'unsupported|supported',
            'PhcSupport' => 'unsupported|supported',
            'PlacementGroupInfo' => [
                'SupportedStrategies' => ['<string>', ...],
            ],
            'ProcessorInfo' => [
                'Manufacturer' => '<string>',
                'SupportedArchitectures' => ['<string>', ...],
                'SupportedFeatures' => ['<string>', ...],
                'SustainedClockSpeedInGhz' => <float>,
            ],
            'SupportedBootModes' => ['<string>', ...],
            'SupportedRootDeviceTypes' => ['<string>', ...],
            'SupportedUsageClasses' => ['<string>', ...],
            'SupportedVirtualizationTypes' => ['<string>', ...],
            'VCpuInfo' => [
                'DefaultCores' => <integer>,
                'DefaultThreadsPerCore' => <integer>,
                'DefaultVCpus' => <integer>,
                'ValidCores' => [<integer>, ...],
                'ValidThreadsPerCore' => [<integer>, ...],
            ],
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
InstanceTypes
Type: Array of InstanceTypeInfo structures

The instance type.

NextToken
Type: string

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

Errors

There are no errors described for this operation.

DescribeInstances

$result = $client->describeInstances([/* ... */]);
$promise = $client->describeInstancesAsync([/* ... */]);

Describes the specified instances or all instances.

If you specify instance IDs, the output includes information for only the specified instances. If you specify filters, the output includes information for only those instances that meet the filter criteria. If you do not specify instance IDs or filters, the output includes information for all instances, which can affect performance. We recommend that you use pagination to ensure that the operation returns quickly and successfully.

If you specify an instance ID that is not valid, an error is returned. If you specify an instance that you do not own, it is not included in the output.

Recently terminated instances might appear in the returned results. This interval is usually less than one hour.

If you describe instances in the rare case where an Availability Zone is experiencing a service disruption and you specify instance IDs that are in the affected zone, or do not specify any instance IDs at all, the call fails. If you describe instances and specify only instance IDs that are in an unaffected zone, the call works normally.

We strongly recommend using only paginated requests. Unpaginated requests are susceptible to throttling and timeouts.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

Parameter Syntax

$result = $client->describeInstances([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'InstanceIds' => ['<string>', ...],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

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.

Filters
Type: Array of Filter structures

The filters.

  • affinity - The affinity setting for an instance running on a Dedicated Host (default | host).

  • architecture - The instance architecture (i386 | x86_64 | arm64).

  • availability-zone - The Availability Zone of the instance.

  • block-device-mapping.attach-time - The attach time for an EBS volume mapped to the instance, for example, 2022-09-15T17:15:20.000Z.

  • block-device-mapping.delete-on-termination - A Boolean that indicates whether the EBS volume is deleted on instance termination.

  • block-device-mapping.device-name - The device name specified in the block device mapping (for example, /dev/sdh or xvdh).

  • block-device-mapping.status - The status for the EBS volume (attaching | attached | detaching | detached).

  • block-device-mapping.volume-id - The volume ID of the EBS volume.

  • boot-mode - The boot mode that was specified by the AMI (legacy-bios | uefi | uefi-preferred).

  • capacity-reservation-id - The ID of the Capacity Reservation into which the instance was launched.

  • capacity-reservation-specification.capacity-reservation-preference - The instance's Capacity Reservation preference (open | none).

  • capacity-reservation-specification.capacity-reservation-target.capacity-reservation-id - The ID of the targeted Capacity Reservation.

  • capacity-reservation-specification.capacity-reservation-target.capacity-reservation-resource-group-arn - The ARN of the targeted Capacity Reservation group.

  • client-token - The idempotency token you provided when you launched the instance.

  • current-instance-boot-mode - The boot mode that is used to launch the instance at launch or start (legacy-bios | uefi).

  • dns-name - The public DNS name of the instance.

  • ebs-optimized - A Boolean that indicates whether the instance is optimized for Amazon EBS I/O.

  • ena-support - A Boolean that indicates whether the instance is enabled for enhanced networking with ENA.

  • enclave-options.enabled - A Boolean that indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves.

  • hibernation-options.configured - A Boolean that indicates whether the instance is enabled for hibernation. A value of true means that the instance is enabled for hibernation.

  • host-id - The ID of the Dedicated Host on which the instance is running, if applicable.

  • hypervisor - The hypervisor type of the instance (ovm | xen). The value xen is used for both Xen and Nitro hypervisors.

  • iam-instance-profile.arn - The instance profile associated with the instance. Specified as an ARN.

  • iam-instance-profile.id - The instance profile associated with the instance. Specified as an ID.

  • image-id - The ID of the image used to launch the instance.

  • instance-id - The ID of the instance.

  • instance-lifecycle - Indicates whether this is a Spot Instance, a Scheduled Instance, or a Capacity Block (spot | scheduled | capacity-block).

  • instance-state-code - The state of the instance, as a 16-bit unsigned integer. The high byte is used for internal purposes and should be ignored. The low byte is set based on the state represented. The valid values are: 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 (stopping), and 80 (stopped).

  • instance-state-name - The state of the instance (pending | running | shutting-down | terminated | stopping | stopped).

  • instance-type - The type of instance (for example, t2.micro).

  • instance.group-id - The ID of the security group for the instance.

  • instance.group-name - The name of the security group for the instance.

  • ip-address - The public IPv4 address of the instance.

  • ipv6-address - The IPv6 address of the instance.

  • kernel-id - The kernel ID.

  • key-name - The name of the key pair used when the instance was launched.

  • launch-index - When launching multiple instances, this is the index for the instance in the launch group (for example, 0, 1, 2, and so on).

  • launch-time - The time when the instance was launched, in the ISO 8601 format in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ), for example, 2021-09-29T11:04:43.305Z. You can use a wildcard (*), for example, 2021-09-29T*, which matches an entire day.

  • maintenance-options.auto-recovery - The current automatic recovery behavior of the instance (disabled | default).

  • metadata-options.http-endpoint - The status of access to the HTTP metadata endpoint on your instance (enabled | disabled)

  • metadata-options.http-protocol-ipv4 - Indicates whether the IPv4 endpoint is enabled (disabled | enabled).

  • metadata-options.http-protocol-ipv6 - Indicates whether the IPv6 endpoint is enabled (disabled | enabled).

  • metadata-options.http-put-response-hop-limit - The HTTP metadata request put response hop limit (integer, possible values 1 to 64)

  • metadata-options.http-tokens - The metadata request authorization state (optional | required)

  • metadata-options.instance-metadata-tags - The status of access to instance tags from the instance metadata (enabled | disabled)

  • metadata-options.state - The state of the metadata option changes (pending | applied).

  • monitoring-state - Indicates whether detailed monitoring is enabled (disabled | enabled).

  • network-interface.addresses.association.allocation-id - The allocation ID.

  • network-interface.addresses.association.association-id - The association ID.

  • network-interface.addresses.association.carrier-ip - The carrier IP address.

  • network-interface.addresses.association.customer-owned-ip - The customer-owned IP address.

  • network-interface.addresses.association.ip-owner-id - The owner ID of the private IPv4 address associated with the network interface.

  • network-interface.addresses.association.public-dns-name - The public DNS name.

  • network-interface.addresses.association.public-ip - The ID of the association of an Elastic IP address (IPv4) with a network interface.

  • network-interface.addresses.primary - Specifies whether the IPv4 address of the network interface is the primary private IPv4 address.

  • network-interface.addresses.private-dns-name - The private DNS name.

  • network-interface.addresses.private-ip-address - The private IPv4 address associated with the network interface.

  • network-interface.association.allocation-id - The allocation ID returned when you allocated the Elastic IP address (IPv4) for your network interface.

  • network-interface.association.association-id - The association ID returned when the network interface was associated with an IPv4 address.

  • network-interface.association.carrier-ip - The customer-owned IP address.

  • network-interface.association.customer-owned-ip - The customer-owned IP address.

  • network-interface.association.ip-owner-id - The owner of the Elastic IP address (IPv4) associated with the network interface.

  • network-interface.association.public-dns-name - The public DNS name.

  • network-interface.association.public-ip - The address of the Elastic IP address (IPv4) bound to the network interface.

  • network-interface.attachment.attach-time - The time that the network interface was attached to an instance.

  • network-interface.attachment.attachment-id - The ID of the interface attachment.

  • network-interface.attachment.delete-on-termination - Specifies whether the attachment is deleted when an instance is terminated.

  • network-interface.attachment.device-index - The device index to which the network interface is attached.

  • network-interface.attachment.instance-id - The ID of the instance to which the network interface is attached.

  • network-interface.attachment.instance-owner-id - The owner ID of the instance to which the network interface is attached.

  • network-interface.attachment.network-card-index - The index of the network card.

  • network-interface.attachment.status - The status of the attachment (attaching | attached | detaching | detached).

  • network-interface.availability-zone - The Availability Zone for the network interface.

  • network-interface.deny-all-igw-traffic - A Boolean that indicates whether a network interface with an IPv6 address is unreachable from the public internet.

  • network-interface.description - The description of the network interface.

  • network-interface.group-id - The ID of a security group associated with the network interface.

  • network-interface.group-name - The name of a security group associated with the network interface.

  • network-interface.ipv4-prefixes.ipv4-prefix - The IPv4 prefixes that are assigned to the network interface.

  • network-interface.ipv6-address - The IPv6 address associated with the network interface.

  • network-interface.ipv6-addresses.ipv6-address - The IPv6 address associated with the network interface.

  • network-interface.ipv6-addresses.is-primary-ipv6 - A Boolean that indicates whether this is the primary IPv6 address.

  • network-interface.ipv6-native - A Boolean that indicates whether this is an IPv6 only network interface.

  • network-interface.ipv6-prefixes.ipv6-prefix - The IPv6 prefix assigned to the network interface.

  • network-interface.mac-address - The MAC address of the network interface.

  • network-interface.network-interface-id - The ID of the network interface.

  • network-interface.outpost-arn - The ARN of the Outpost.

  • network-interface.owner-id - The ID of the owner of the network interface.

  • network-interface.private-dns-name - The private DNS name of the network interface.

  • network-interface.private-ip-address - The private IPv4 address.

  • network-interface.public-dns-name - The public DNS name.

  • network-interface.requester-id - The requester ID for the network interface.

  • network-interface.requester-managed - Indicates whether the network interface is being managed by Amazon Web Services.

  • network-interface.status - The status of the network interface (available) | in-use).

  • network-interface.source-dest-check - Whether the network interface performs source/destination checking. A value of true means that checking is enabled, and false means that checking is disabled. The value must be false for the network interface to perform network address translation (NAT) in your VPC.

  • network-interface.subnet-id - The ID of the subnet for the network interface.

  • network-interface.tag-key - The key of a tag assigned to the network interface.

  • network-interface.tag-value - The value of a tag assigned to the network interface.

  • network-interface.vpc-id - The ID of the VPC for the network interface.

  • outpost-arn - The Amazon Resource Name (ARN) of the Outpost.

  • owner-id - The Amazon Web Services account ID of the instance owner.

  • placement-group-name - The name of the placement group for the instance.

  • placement-partition-number - The partition in which the instance is located.

  • platform - The platform. To list only Windows instances, use windows.

  • platform-details - The platform (Linux/UNIX | Red Hat BYOL Linux | Red Hat Enterprise Linux | Red Hat Enterprise Linux with HA | Red Hat Enterprise Linux with SQL Server Standard and HA | Red Hat Enterprise Linux with SQL Server Enterprise and HA | Red Hat Enterprise Linux with SQL Server Standard | Red Hat Enterprise Linux with SQL Server Web | Red Hat Enterprise Linux with SQL Server Enterprise | SQL Server Enterprise | SQL Server Standard | SQL Server Web | SUSE Linux | Ubuntu Pro | Windows | Windows BYOL | Windows with SQL Server Enterprise | Windows with SQL Server Standard | Windows with SQL Server Web).

  • private-dns-name - The private IPv4 DNS name of the instance.

  • private-dns-name-options.enable-resource-name-dns-a-record - A Boolean that indicates whether to respond to DNS queries for instance hostnames with DNS A records.

  • private-dns-name-options.enable-resource-name-dns-aaaa-record - A Boolean that indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records.

  • private-dns-name-options.hostname-type - The type of hostname (ip-name | resource-name).

  • private-ip-address - The private IPv4 address of the instance. This can only be used to filter by the primary IP address of the network interface attached to the instance. To filter by additional IP addresses assigned to the network interface, use the filter network-interface.addresses.private-ip-address.

  • product-code - The product code associated with the AMI used to launch the instance.

  • product-code.type - The type of product code (devpay | marketplace).

  • ramdisk-id - The RAM disk ID.

  • reason - The reason for the current state of the instance (for example, shows "User Initiated [date]" when you stop or terminate the instance). Similar to the state-reason-code filter.

  • requester-id - The ID of the entity that launched the instance on your behalf (for example, Amazon Web Services Management Console, Auto Scaling, and so on).

  • reservation-id - The ID of the instance's reservation. A reservation ID is created any time you launch an instance. A reservation ID has a one-to-one relationship with an instance launch request, but can be associated with more than one instance if you launch multiple instances using the same launch request. For example, if you launch one instance, you get one reservation ID. If you launch ten instances using the same launch request, you also get one reservation ID.

  • root-device-name - The device name of the root device volume (for example, /dev/sda1).

  • root-device-type - The type of the root device volume (ebs | instance-store).

  • source-dest-check - Indicates whether the instance performs source/destination checking. A value of true means that checking is enabled, and false means that checking is disabled. The value must be false for the instance to perform network address translation (NAT) in your VPC.

  • spot-instance-request-id - The ID of the Spot Instance request.

  • state-reason-code - The reason code for the state change.

  • state-reason-message - A message that describes the state change.

  • subnet-id - The ID of the subnet for the instance.

  • 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.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources that have a tag with a specific key, regardless of the tag value.

  • tenancy - The tenancy of an instance (dedicated | default | host).

  • tpm-support - Indicates if the instance is configured for NitroTPM support (v2.0).

  • usage-operation - The usage operation value for the instance (RunInstances | RunInstances:00g0 | RunInstances:0010 | RunInstances:1010 | RunInstances:1014 | RunInstances:1110 | RunInstances:0014 | RunInstances:0210 | RunInstances:0110 | RunInstances:0100 | RunInstances:0004 | RunInstances:0200 | RunInstances:000g | RunInstances:0g00 | RunInstances:0002 | RunInstances:0800 | RunInstances:0102 | RunInstances:0006 | RunInstances:0202).

  • usage-operation-update-time - The time that the usage operation was last updated, for example, 2022-09-15T17:15:20.000Z.

  • virtualization-type - The virtualization type of the instance (paravirtual | hvm).

  • vpc-id - The ID of the VPC that the instance is running in.

InstanceIds
Type: Array of strings

The instance IDs.

Default: Describes all your instances.

MaxResults
Type: int

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

You cannot specify this parameter and the instance IDs parameter in the same request.

NextToken
Type: string

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

Result Syntax

[
    'NextToken' => '<string>',
    'Reservations' => [
        [
            'Groups' => [
                [
                    'GroupId' => '<string>',
                    'GroupName' => '<string>',
                ],
                // ...
            ],
            'Instances' => [
                [
                    'AmiLaunchIndex' => <integer>,
                    'Architecture' => 'i386|x86_64|arm64|x86_64_mac|arm64_mac',
                    'BlockDeviceMappings' => [
                        [
                            'DeviceName' => '<string>',
                            'Ebs' => [
                                'AssociatedResource' => '<string>',
                                'AttachTime' => <DateTime>,
                                'DeleteOnTermination' => true || false,
                                'Status' => 'attaching|attached|detaching|detached',
                                'VolumeId' => '<string>',
                                'VolumeOwnerId' => '<string>',
                            ],
                        ],
                        // ...
                    ],
                    'BootMode' => 'legacy-bios|uefi|uefi-preferred',
                    'CapacityReservationId' => '<string>',
                    'CapacityReservationSpecification' => [
                        'CapacityReservationPreference' => 'open|none',
                        'CapacityReservationTarget' => [
                            'CapacityReservationId' => '<string>',
                            'CapacityReservationResourceGroupArn' => '<string>',
                        ],
                    ],
                    'ClientToken' => '<string>',
                    'CpuOptions' => [
                        'AmdSevSnp' => 'enabled|disabled',
                        'CoreCount' => <integer>,
                        'ThreadsPerCore' => <integer>,
                    ],
                    'CurrentInstanceBootMode' => 'legacy-bios|uefi',
                    'EbsOptimized' => true || false,
                    'ElasticGpuAssociations' => [
                        [
                            'ElasticGpuAssociationId' => '<string>',
                            'ElasticGpuAssociationState' => '<string>',
                            'ElasticGpuAssociationTime' => '<string>',
                            'ElasticGpuId' => '<string>',
                        ],
                        // ...
                    ],
                    'ElasticInferenceAcceleratorAssociations' => [
                        [
                            'ElasticInferenceAcceleratorArn' => '<string>',
                            'ElasticInferenceAcceleratorAssociationId' => '<string>',
                            'ElasticInferenceAcceleratorAssociationState' => '<string>',
                            'ElasticInferenceAcceleratorAssociationTime' => <DateTime>,
                        ],
                        // ...
                    ],
                    'EnaSupport' => true || false,
                    'EnclaveOptions' => [
                        'Enabled' => true || false,
                    ],
                    'HibernationOptions' => [
                        'Configured' => true || false,
                    ],
                    'Hypervisor' => 'ovm|xen',
                    'IamInstanceProfile' => [
                        'Arn' => '<string>',
                        'Id' => '<string>',
                    ],
                    'ImageId' => '<string>',
                    'InstanceId' => '<string>',
                    'InstanceLifecycle' => 'spot|scheduled|capacity-block',
                    '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',
                    'Ipv6Address' => '<string>',
                    'KernelId' => '<string>',
                    'KeyName' => '<string>',
                    'LaunchTime' => <DateTime>,
                    'Licenses' => [
                        [
                            'LicenseConfigurationArn' => '<string>',
                        ],
                        // ...
                    ],
                    'MaintenanceOptions' => [
                        'AutoRecovery' => 'disabled|default',
                    ],
                    'MetadataOptions' => [
                        'HttpEndpoint' => 'disabled|enabled',
                        'HttpProtocolIpv6' => 'disabled|enabled',
                        'HttpPutResponseHopLimit' => <integer>,
                        'HttpTokens' => 'optional|required',
                        'InstanceMetadataTags' => 'disabled|enabled',
                        'State' => 'pending|applied',
                    ],
                    'Monitoring' => [
                        'State' => 'disabled|disabling|enabled|pending',
                    ],
                    'NetworkInterfaces' => [
                        [
                            'Association' => [
                                'CarrierIp' => '<string>',
                                'CustomerOwnedIp' => '<string>',
                                'IpOwnerId' => '<string>',
                                'PublicDnsName' => '<string>',
                                'PublicIp' => '<string>',
                            ],
                            'Attachment' => [
                                'AttachTime' => <DateTime>,
                                'AttachmentId' => '<string>',
                                'DeleteOnTermination' => true || false,
                                'DeviceIndex' => <integer>,
                                'EnaSrdSpecification' => [
                                    'EnaSrdEnabled' => true || false,
                                    'EnaSrdUdpSpecification' => [
                                        'EnaSrdUdpEnabled' => true || false,
                                    ],
                                ],
                                'NetworkCardIndex' => <integer>,
                                'Status' => 'attaching|attached|detaching|detached',
                            ],
                            'ConnectionTrackingConfiguration' => [
                                'TcpEstablishedTimeout' => <integer>,
                                'UdpStreamTimeout' => <integer>,
                                'UdpTimeout' => <integer>,
                            ],
                            'Description' => '<string>',
                            'Groups' => [
                                [
                                    'GroupId' => '<string>',
                                    'GroupName' => '<string>',
                                ],
                                // ...
                            ],
                            'InterfaceType' => '<string>',
                            'Ipv4Prefixes' => [
                                [
                                    'Ipv4Prefix' => '<string>',
                                ],
                                // ...
                            ],
                            'Ipv6Addresses' => [
                                [
                                    'Ipv6Address' => '<string>',
                                    'IsPrimaryIpv6' => true || false,
                                ],
                                // ...
                            ],
                            'Ipv6Prefixes' => [
                                [
                                    'Ipv6Prefix' => '<string>',
                                ],
                                // ...
                            ],
                            'MacAddress' => '<string>',
                            'NetworkInterfaceId' => '<string>',
                            'OwnerId' => '<string>',
                            'PrivateDnsName' => '<string>',
                            'PrivateIpAddress' => '<string>',
                            'PrivateIpAddresses' => [
                                [
                                    'Association' => [
                                        'CarrierIp' => '<string>',
                                        'CustomerOwnedIp' => '<string>',
                                        'IpOwnerId' => '<string>',
                                        'PublicDnsName' => '<string>',
                                        'PublicIp' => '<string>',
                                    ],
                                    'Primary' => true || false,
                                    'PrivateDnsName' => '<string>',
                                    'PrivateIpAddress' => '<string>',
                                ],
                                // ...
                            ],
                            'SourceDestCheck' => true || false,
                            'Status' => 'available|associated|attaching|in-use|detaching',
                            'SubnetId' => '<string>',
                            'VpcId' => '<string>',
                        ],
                        // ...
                    ],
                    'OutpostArn' => '<string>',
                    'Placement' => [
                        'Affinity' => '<string>',
                        'AvailabilityZone' => '<string>',
                        'GroupId' => '<string>',
                        'GroupName' => '<string>',
                        'HostId' => '<string>',
                        'HostResourceGroupArn' => '<string>',
                        'PartitionNumber' => <integer>,
                        'SpreadDomain' => '<string>',
                        'Tenancy' => 'default|dedicated|host',
                    ],
                    'Platform' => 'Windows',
                    'PlatformDetails' => '<string>',
                    'PrivateDnsName' => '<string>',
                    'PrivateDnsNameOptions' => [
                        'EnableResourceNameDnsAAAARecord' => true || false,
                        'EnableResourceNameDnsARecord' => true || false,
                        'HostnameType' => 'ip-name|resource-name',
                    ],
                    'PrivateIpAddress' => '<string>',
                    'ProductCodes' => [
                        [
                            'ProductCodeId' => '<string>',
                            'ProductCodeType' => 'devpay|marketplace',
                        ],
                        // ...
                    ],
                    'PublicDnsName' => '<string>',
                    'PublicIpAddress' => '<string>',
                    'RamdiskId' => '<string>',
                    'RootDeviceName' => '<string>',
                    'RootDeviceType' => 'ebs|instance-store',
                    'SecurityGroups' => [
                        [
                            'GroupId' => '<string>',
                            'GroupName' => '<string>',
                        ],
                        // ...
                    ],
                    'SourceDestCheck' => true || false,
                    'SpotInstanceRequestId' => '<string>',
                    'SriovNetSupport' => '<string>',
                    'State' => [
                        'Code' => <integer>,
                        'Name' => 'pending|running|shutting-down|terminated|stopping|stopped',
                    ],
                    'StateReason' => [
                        'Code' => '<string>',
                        'Message' => '<string>',
                    ],
                    'StateTransitionReason' => '<string>',
                    'SubnetId' => '<string>',
                    'Tags' => [
                        [
                            'Key' => '<string>',
                            'Value' => '<string>',
                        ],
                        // ...
                    ],
                    'TpmSupport' => '<string>',
                    'UsageOperation' => '<string>',
                    'UsageOperationUpdateTime' => <DateTime>,
                    'VirtualizationType' => 'hvm|paravirtual',
                    'VpcId' => '<string>',
                ],
                // ...
            ],
            'OwnerId' => '<string>',
            'RequesterId' => '<string>',
            'ReservationId' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

Reservations
Type: Array of Reservation structures

Information about the reservations.

Errors

There are no errors described for this operation.

Examples

Example 1: To describe an Amazon EC2 instance

This example describes the specified instance.

$result = $client->describeInstances([
    'InstanceIds' => [
        'i-1234567890abcdef0',
    ],
]);

Result syntax:

[
]
Example 2: To describe the instances with a specific instance type

This example describes the instances with the t2.micro instance type.

$result = $client->describeInstances([
    'Filters' => [
        [
            'Name' => 'instance-type',
            'Values' => [
                't2.micro',
            ],
        ],
    ],
]);

Result syntax:

[
]
Example 3: To describe the instances with a specific tag

This example describes the instances with the Purpose=test tag.

$result = $client->describeInstances([
    'Filters' => [
        [
            'Name' => 'tag:Purpose',
            'Values' => [
                'test',
            ],
        ],
    ],
]);

Result syntax:

[
]

DescribeInternetGateways

$result = $client->describeInternetGateways([/* ... */]);
$promise = $client->describeInternetGatewaysAsync([/* ... */]);

Describes your internet gateways. The default is to describe all your internet gateways. Alternatively, you can specify specific internet gateway IDs or filter the results to include only the internet gateways that match specific criteria.

Parameter Syntax

$result = $client->describeInternetGateways([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'InternetGatewayIds' => ['<string>', ...],
    'MaxResults' => <integer>,
    'NextToken' => '<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.

Filters
Type: Array of Filter structures

The filters.

  • attachment.state - The current state of the attachment between the gateway and the VPC (available). Present only if a VPC is attached.

  • attachment.vpc-id - The ID of an attached VPC.

  • internet-gateway-id - The ID of the Internet gateway.

  • owner-id - The ID of the Amazon Web Services account that owns the internet gateway.

  • 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.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

InternetGatewayIds
Type: Array of strings

The IDs of the internet gateways.

Default: Describes all your internet gateways.

MaxResults
Type: int

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

NextToken
Type: string

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

Result Syntax

[
    'InternetGateways' => [
        [
            'Attachments' => [
                [
                    'State' => 'attaching|attached|detaching|detached',
                    'VpcId' => '<string>',
                ],
                // ...
            ],
            'InternetGatewayId' => '<string>',
            'OwnerId' => '<string>',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
InternetGateways
Type: Array of InternetGateway structures

Information about the internet gateways.

NextToken
Type: string

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

Errors

There are no errors described for this operation.

Examples

Example 1: To describe the Internet gateway for a VPC

This example describes the Internet gateway for the specified VPC.

$result = $client->describeInternetGateways([
    'Filters' => [
        [
            'Name' => 'attachment.vpc-id',
            'Values' => [
                'vpc-a01106c2',
            ],
        ],
    ],
]);

Result syntax:

[
    'InternetGateways' => [
        [
            'Attachments' => [
                [
                    'State' => 'attached',
                    'VpcId' => 'vpc-a01106c2',
                ],
            ],
            'InternetGatewayId' => 'igw-c0a643a9',
            'Tags' => [
            ],
        ],
    ],
]

DescribeIpamByoasn

$result = $client->describeIpamByoasn([/* ... */]);
$promise = $client->describeIpamByoasnAsync([/* ... */]);

Describes your Autonomous System Numbers (ASNs), their provisioning statuses, and the BYOIP CIDRs with which they are associated. For more information, see Tutorial: Bring your ASN to IPAM in the Amazon VPC IPAM guide.

Parameter Syntax

$result = $client->describeIpamByoasn([
    'DryRun' => true || false,
    'MaxResults' => <integer>,
    'NextToken' => '<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.

MaxResults
Type: int

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

NextToken
Type: string

The token for the next page of results.

Result Syntax

[
    'Byoasns' => [
        [
            'Asn' => '<string>',
            'IpamId' => '<string>',
            'State' => 'deprovisioned|failed-deprovision|failed-provision|pending-deprovision|pending-provision|provisioned',
            'StatusMessage' => '<string>',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
Byoasns
Type: Array of Byoasn structures

ASN and BYOIP CIDR associations.

NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

Errors

There are no errors described for this operation.

DescribeIpamExternalResourceVerificationTokens

$result = $client->describeIpamExternalResourceVerificationTokens([/* ... */]);
$promise = $client->describeIpamExternalResourceVerificationTokensAsync([/* ... */]);

Describe verification tokens. 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->describeIpamExternalResourceVerificationTokens([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'IpamExternalResourceVerificationTokenIds' => ['<string>', ...],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
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.

Filters
Type: Array of Filter structures

One or more filters for the request. For more information about filtering, see Filtering CLI output.

Available filters:

  • ipam-arn

  • ipam-external-resource-verification-token-arn

  • ipam-external-resource-verification-token-id

  • ipam-id

  • ipam-region

  • state

  • status

  • token-name

  • token-value

IpamExternalResourceVerificationTokenIds
Type: Array of strings

Verification token IDs.

MaxResults
Type: int

The maximum number of tokens to return in one page of results.

NextToken
Type: string

The token for the next page of results.

Result Syntax

[
    'IpamExternalResourceVerificationTokens' => [
        [
            '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>',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
IpamExternalResourceVerificationTokens
Type: Array of IpamExternalResourceVerificationToken structures

Verification tokens.

NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

Errors

There are no errors described for this operation.

DescribeIpamPools

$result = $client->describeIpamPools([/* ... */]);
$promise = $client->describeIpamPoolsAsync([/* ... */]);

Get information about your IPAM pools.

Parameter Syntax

$result = $client->describeIpamPools([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'IpamPoolIds' => ['<string>', ...],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
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.

Filters
Type: Array of Filter structures

One or more filters for the request. For more information about filtering, see Filtering CLI output.

IpamPoolIds
Type: Array of strings

The IDs of the IPAM pools you would like information on.

MaxResults
Type: int

The maximum number of results to return in the request.

NextToken
Type: string

The token for the next page of results.

Result Syntax

[
    'IpamPools' => [
        [
            '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>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
IpamPools
Type: Array of IpamPool structures

Information about the IPAM pools.

NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

Errors

There are no errors described for this operation.

DescribeIpamResourceDiscoveries

$result = $client->describeIpamResourceDiscoveries([/* ... */]);
$promise = $client->describeIpamResourceDiscoveriesAsync([/* ... */]);

Describes IPAM resource discoveries. 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->describeIpamResourceDiscoveries([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'IpamResourceDiscoveryIds' => ['<string>', ...],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
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.

Filters
Type: Array of Filter structures

The resource discovery filters.

IpamResourceDiscoveryIds
Type: Array of strings

The IPAM resource discovery IDs.

MaxResults
Type: int

The maximum number of resource discoveries to return in one page of results.

NextToken
Type: string

Specify the pagination token from a previous request to retrieve the next page of results.

Result Syntax

[
    'IpamResourceDiscoveries' => [
        [
            'Description' => '<string>',
            'IpamResourceDiscoveryArn' => '<string>',
            'IpamResourceDiscoveryId' => '<string>',
            'IpamResourceDiscoveryRegion' => '<string>',
            'IsDefault' => true || false,
            'OperatingRegions' => [
                [
                    'RegionName' => '<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>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
IpamResourceDiscoveries
Type: Array of IpamResourceDiscovery structures

The resource discoveries.

NextToken
Type: string

Specify the pagination token from a previous request to retrieve the next page of results.

Errors

There are no errors described for this operation.

DescribeIpamResourceDiscoveryAssociations

$result = $client->describeIpamResourceDiscoveryAssociations([/* ... */]);
$promise = $client->describeIpamResourceDiscoveryAssociationsAsync([/* ... */]);

Describes resource discovery association with an Amazon VPC IPAM. An associated resource discovery is a resource discovery that has been associated with an IPAM..

Parameter Syntax

$result = $client->describeIpamResourceDiscoveryAssociations([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'IpamResourceDiscoveryAssociationIds' => ['<string>', ...],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
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.

Filters
Type: Array of Filter structures

The resource discovery association filters.

IpamResourceDiscoveryAssociationIds
Type: Array of strings

The resource discovery association IDs.

MaxResults
Type: int

The maximum number of resource discovery associations to return in one page of results.

NextToken
Type: string

Specify the pagination token from a previous request to retrieve the next page of results.

Result Syntax

[
    'IpamResourceDiscoveryAssociations' => [
        [
            '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>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
IpamResourceDiscoveryAssociations
Type: Array of IpamResourceDiscoveryAssociation structures

The resource discovery associations.

NextToken
Type: string

Specify the pagination token from a previous request to retrieve the next page of results.

Errors

There are no errors described for this operation.

DescribeIpamScopes

$result = $client->describeIpamScopes([/* ... */]);
$promise = $client->describeIpamScopesAsync([/* ... */]);

Get information about your IPAM scopes.

Parameter Syntax

$result = $client->describeIpamScopes([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'IpamScopeIds' => ['<string>', ...],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
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.

Filters
Type: Array of Filter structures

One or more filters for the request. For more information about filtering, see Filtering CLI output.

IpamScopeIds
Type: Array of strings

The IDs of the scopes you want information on.

MaxResults
Type: int

The maximum number of results to return in the request.

NextToken
Type: string

The token for the next page of results.

Result Syntax

[
    'IpamScopes' => [
        [
            '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>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
IpamScopes
Type: Array of IpamScope structures

The scopes you want information on.

NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

Errors

There are no errors described for this operation.

DescribeIpams

$result = $client->describeIpams([/* ... */]);
$promise = $client->describeIpamsAsync([/* ... */]);

Get information about your IPAM pools.

For more information, see What is IPAM? in the Amazon VPC IPAM User Guide.

Parameter Syntax

$result = $client->describeIpams([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'IpamIds' => ['<string>', ...],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
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.

Filters
Type: Array of Filter structures

One or more filters for the request. For more information about filtering, see Filtering CLI output.

IpamIds
Type: Array of strings

The IDs of the IPAMs you want information on.

MaxResults
Type: int

The maximum number of results to return in the request.

NextToken
Type: string

The token for the next page of results.

Result Syntax

[
    'Ipams' => [
        [
            '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',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
Ipams
Type: Array of Ipam structures

Information about the IPAMs.

NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

Errors

There are no errors described for this operation.

DescribeIpv6Pools

$result = $client->describeIpv6Pools([/* ... */]);
$promise = $client->describeIpv6PoolsAsync([/* ... */]);

Describes your IPv6 address pools.

Parameter Syntax

$result = $client->describeIpv6Pools([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'PoolIds' => ['<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.

Filters
Type: Array of Filter structures

One or more filters.

  • 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.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

MaxResults
Type: int

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

NextToken
Type: string

The token for the next page of results.

PoolIds
Type: Array of strings

The IDs of the IPv6 address pools.

Result Syntax

[
    'Ipv6Pools' => [
        [
            'Description' => '<string>',
            'PoolCidrBlocks' => [
                [
                    'Cidr' => '<string>',
                ],
                // ...
            ],
            'PoolId' => '<string>',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
Ipv6Pools
Type: Array of Ipv6Pool structures

Information about the IPv6 address pools.

NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

Errors

There are no errors described for this operation.

DescribeKeyPairs

$result = $client->describeKeyPairs([/* ... */]);
$promise = $client->describeKeyPairsAsync([/* ... */]);

Describes the specified key pairs or all of your key pairs.

For more information about key pairs, see Amazon EC2 key pairs in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->describeKeyPairs([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'IncludePublicKey' => true || false,
    'KeyNames' => ['<string>', ...],
    'KeyPairIds' => ['<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.

Filters
Type: Array of Filter structures

The filters.

  • key-pair-id - The ID of the key pair.

  • fingerprint - The fingerprint of the key pair.

  • key-name - The name of the key pair.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • 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.

IncludePublicKey
Type: boolean

If true, the public key material is included in the response.

Default: false

KeyNames
Type: Array of strings

The key pair names.

Default: Describes all of your key pairs.

KeyPairIds
Type: Array of strings

The IDs of the key pairs.

Result Syntax

[
    'KeyPairs' => [
        [
            'CreateTime' => <DateTime>,
            'KeyFingerprint' => '<string>',
            'KeyName' => '<string>',
            'KeyPairId' => '<string>',
            'KeyType' => 'rsa|ed25519',
            'PublicKey' => '<string>',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
]

Result Details

Members
KeyPairs
Type: Array of KeyPairInfo structures

Information about the key pairs.

Errors

There are no errors described for this operation.

Examples

Example 1: To display a key pair

This example displays the fingerprint for the specified key.

$result = $client->describeKeyPairs([
    'KeyNames' => [
        'my-key-pair',
    ],
]);

Result syntax:

[
    'KeyPairs' => [
        [
            'KeyFingerprint' => '1f:51:ae:28:bf:89:e9:d8:1f:25:5d:37:2d:7d:b8:ca:9f:f5:f1:6f',
            'KeyName' => 'my-key-pair',
        ],
    ],
]

DescribeLaunchTemplateVersions

$result = $client->describeLaunchTemplateVersions([/* ... */]);
$promise = $client->describeLaunchTemplateVersionsAsync([/* ... */]);

Describes one or more versions of a specified launch template. You can describe all versions, individual versions, or a range of versions. You can also describe all the latest versions or all the default versions of all the launch templates in your account.

Parameter Syntax

$result = $client->describeLaunchTemplateVersions([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'LaunchTemplateId' => '<string>',
    'LaunchTemplateName' => '<string>',
    'MaxResults' => <integer>,
    'MaxVersion' => '<string>',
    'MinVersion' => '<string>',
    'NextToken' => '<string>',
    'ResolveAlias' => true || false,
    'Versions' => ['<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.

Filters
Type: Array of Filter structures

One or more filters.

  • create-time - The time the launch template version was created.

  • ebs-optimized - A boolean that indicates whether the instance is optimized for Amazon EBS I/O.

  • http-endpoint - Indicates whether the HTTP metadata endpoint on your instances is enabled (enabled | disabled).

  • http-protocol-ipv4 - Indicates whether the IPv4 endpoint for the instance metadata service is enabled (enabled | disabled).

  • host-resource-group-arn - The ARN of the host resource group in which to launch the instances.

  • http-tokens - The state of token usage for your instance metadata requests (optional | required).

  • iam-instance-profile - The ARN of the IAM instance profile.

  • image-id - The ID of the AMI.

  • instance-type - The instance type.

  • is-default-version - A boolean that indicates whether the launch template version is the default version.

  • kernel-id - The kernel ID.

  • license-configuration-arn - The ARN of the license configuration.

  • network-card-index - The index of the network card.

  • ram-disk-id - The RAM disk ID.

LaunchTemplateId
Type: string

The ID of the launch template.

To describe one or more versions of a specified launch template, you must specify either the launch template ID or the launch template name, but not both.

To describe all the latest or default launch template versions in your account, you must omit this parameter.

LaunchTemplateName
Type: string

The name of the launch template.

To describe one or more versions of a specified launch template, you must specify either the launch template name or the launch template ID, but not both.

To describe all the latest or default launch template versions in your account, you must omit this parameter.

MaxResults
Type: int

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value. This value can be between 1 and 200.

MaxVersion
Type: string

The version number up to which to describe launch template versions.

MinVersion
Type: string

The version number after which to describe launch template versions.

NextToken
Type: string

The token to request the next page of results.

ResolveAlias
Type: boolean

If true, and if a Systems Manager parameter is specified for ImageId, the AMI ID is displayed in the response for imageId.

If false, and if a Systems Manager parameter is specified for ImageId, the parameter is displayed in the response for imageId.

For more information, see Use a Systems Manager parameter instead of an AMI ID in the Amazon EC2 User Guide.

Default: false

Versions
Type: Array of strings

One or more versions of the launch template. Valid values depend on whether you are describing a specified launch template (by ID or name) or all launch templates in your account.

To describe one or more versions of a specified launch template, valid values are $Latest, $Default, and numbers.

To describe all launch templates in your account that are defined as the latest version, the valid value is $Latest. To describe all launch templates in your account that are defined as the default version, the valid value is $Default. You can specify $Latest and $Default in the same request. You cannot specify numbers.

Result Syntax

[
    'LaunchTemplateVersions' => [
        [
            'CreateTime' => <DateTime>,
            'CreatedBy' => '<string>',
            'DefaultVersion' => true || false,
            'LaunchTemplateData' => [
                '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' => 'open|none',
                    'CapacityReservationTarget' => [
                        'CapacityReservationId' => '<string>',
                        'CapacityReservationResourceGroupArn' => '<string>',
                    ],
                ],
                'CpuOptions' => [
                    'AmdSevSnp' => 'enabled|disabled',
                    'CoreCount' => <integer>,
                    'ThreadsPerCore' => <integer>,
                ],
                'CreditSpecification' => [
                    'CpuCredits' => '<string>',
                ],
                'DisableApiStop' => true || false,
                'DisableApiTermination' => true || false,
                'EbsOptimized' => true || false,
                'ElasticGpuSpecifications' => [
                    [
                        'Type' => '<string>',
                    ],
                    // ...
                ],
                'ElasticInferenceAccelerators' => [
                    [
                        'Count' => <integer>,
                        'Type' => '<string>',
                    ],
                    // ...
                ],
                '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' => <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>,
                    ],
                    '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',
                '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',
                    'State' => 'pending|applied',
                ],
                '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>',
                                'IsPrimaryIpv6' => true || false,
                            ],
                            // ...
                        ],
                        'Ipv6PrefixCount' => <integer>,
                        'Ipv6Prefixes' => [
                            [
                                'Ipv6Prefix' => '<string>',
                            ],
                            // ...
                        ],
                        'NetworkCardIndex' => <integer>,
                        'NetworkInterfaceId' => '<string>',
                        'PrimaryIpv6' => true || false,
                        'PrivateIpAddress' => '<string>',
                        'PrivateIpAddresses' => [
                            [
                                'Primary' => true || false,
                                'PrivateIpAddress' => '<string>',
                            ],
                            // ...
                        ],
                        'SecondaryPrivateIpAddressCount' => <integer>,
                        'SubnetId' => '<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>',
            ],
            'LaunchTemplateId' => '<string>',
            'LaunchTemplateName' => '<string>',
            'VersionDescription' => '<string>',
            'VersionNumber' => <integer>,
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
LaunchTemplateVersions
Type: Array of LaunchTemplateVersion structures

Information about the launch template versions.

NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

Errors

There are no errors described for this operation.

Examples

Example 1: To describe the versions for a launch template

This example describes the versions for the specified launch template.

$result = $client->describeLaunchTemplateVersions([
    'LaunchTemplateId' => '068f72b72934aff71',
]);

Result syntax:

[
    'LaunchTemplateVersions' => [
        [
            'CreateTime' => ,
            'CreatedBy' => 'arn:aws:iam::123456789102:root',
            'DefaultVersion' => ,
            'LaunchTemplateData' => [
                'ImageId' => 'ami-6057e21a',
                'InstanceType' => 't2.medium',
                'KeyName' => 'kp-us-east',
                'NetworkInterfaces' => [
                    [
                        'DeviceIndex' => 0,
                        'Groups' => [
                            'sg-7c227019',
                        ],
                        'SubnetId' => 'subnet-1a2b3c4d',
                    ],
                ],
            ],
            'LaunchTemplateId' => 'lt-068f72b72934aff71',
            'LaunchTemplateName' => 'Webservers',
            'VersionNumber' => 2,
        ],
        [
            'CreateTime' => ,
            'CreatedBy' => 'arn:aws:iam::123456789102:root',
            'DefaultVersion' => 1,
            'LaunchTemplateData' => [
                'ImageId' => 'ami-aabbcc11',
                'InstanceType' => 't2.medium',
                'KeyName' => 'kp-us-east',
                'NetworkInterfaces' => [
                    [
                        'AssociatePublicIpAddress' => 1,
                        'DeleteOnTermination' => ,
                        'DeviceIndex' => 0,
                        'Groups' => [
                            'sg-7c227019',
                        ],
                        'SubnetId' => 'subnet-7b16de0c',
                    ],
                ],
                'UserData' => '',
            ],
            'LaunchTemplateId' => 'lt-068f72b72934aff71',
            'LaunchTemplateName' => 'Webservers',
            'VersionNumber' => 1,
        ],
    ],
]

DescribeLaunchTemplates

$result = $client->describeLaunchTemplates([/* ... */]);
$promise = $client->describeLaunchTemplatesAsync([/* ... */]);

Describes one or more launch templates.

Parameter Syntax

$result = $client->describeLaunchTemplates([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'LaunchTemplateIds' => ['<string>', ...],
    'LaunchTemplateNames' => ['<string>', ...],
    'MaxResults' => <integer>,
    'NextToken' => '<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.

Filters
Type: Array of Filter structures

One or more filters.

  • create-time - The time the launch template was created.

  • launch-template-name - The name of the launch template.

  • 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.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

LaunchTemplateIds
Type: Array of strings

One or more launch template IDs.

LaunchTemplateNames
Type: Array of strings

One or more launch template names.

MaxResults
Type: int

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value. This value can be between 1 and 200.

NextToken
Type: string

The token to request the next page of results.

Result Syntax

[
    'LaunchTemplates' => [
        [
            'CreateTime' => <DateTime>,
            'CreatedBy' => '<string>',
            'DefaultVersionNumber' => <integer>,
            'LatestVersionNumber' => <integer>,
            'LaunchTemplateId' => '<string>',
            'LaunchTemplateName' => '<string>',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
LaunchTemplates
Type: Array of LaunchTemplate structures

Information about the launch templates.

NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

Errors

There are no errors described for this operation.

Examples

Example 1: To describe a launch template

This example describes the specified launch template.

$result = $client->describeLaunchTemplates([
    'LaunchTemplateIds' => [
        'lt-01238c059e3466abc',
    ],
]);

Result syntax:

[
    'LaunchTemplates' => [
        [
            'CreateTime' => ,
            'CreatedBy' => 'arn:aws:iam::123456789012:root',
            'DefaultVersionNumber' => 1,
            'LatestVersionNumber' => 1,
            'LaunchTemplateId' => 'lt-01238c059e3466abc',
            'LaunchTemplateName' => 'my-template',
        ],
    ],
]

DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations

$result = $client->describeLocalGatewayRouteTableVirtualInterfaceGroupAssociations([/* ... */]);
$promise = $client->describeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsAsync([/* ... */]);

Describes the associations between virtual interface groups and local gateway route tables.

Parameter Syntax

$result = $client->describeLocalGatewayRouteTableVirtualInterfaceGroupAssociations([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'LocalGatewayRouteTableVirtualInterfaceGroupAssociationIds' => ['<string>', ...],
    'MaxResults' => <integer>,
    'NextToken' => '<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.

Filters
Type: Array of Filter structures

One or more filters.

  • local-gateway-id - The ID of a local gateway.

  • local-gateway-route-table-arn - The Amazon Resource Name (ARN) of the local gateway route table for the virtual interface group.

  • local-gateway-route-table-id - The ID of the local gateway route table.

  • local-gateway-route-table-virtual-interface-group-association-id - The ID of the association.

  • local-gateway-route-table-virtual-interface-group-id - The ID of the virtual interface group.

  • owner-id - The ID of the Amazon Web Services account that owns the local gateway virtual interface group association.

  • state - The state of the association.

LocalGatewayRouteTableVirtualInterfaceGroupAssociationIds
Type: Array of strings

The IDs of the associations.

MaxResults
Type: int

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

NextToken
Type: string

The token for the next page of results.

Result Syntax

[
    'LocalGatewayRouteTableVirtualInterfaceGroupAssociations' => [
        [
            'LocalGatewayId' => '<string>',
            'LocalGatewayRouteTableArn' => '<string>',
            'LocalGatewayRouteTableId' => '<string>',
            'LocalGatewayRouteTableVirtualInterfaceGroupAssociationId' => '<string>',
            'LocalGatewayVirtualInterfaceGroupId' => '<string>',
            'OwnerId' => '<string>',
            'State' => '<string>',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
LocalGatewayRouteTableVirtualInterfaceGroupAssociations

Information about the associations.

NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

Errors

There are no errors described for this operation.

DescribeLocalGatewayRouteTableVpcAssociations

$result = $client->describeLocalGatewayRouteTableVpcAssociations([/* ... */]);
$promise = $client->describeLocalGatewayRouteTableVpcAssociationsAsync([/* ... */]);

Describes the specified associations between VPCs and local gateway route tables.

Parameter Syntax

$result = $client->describeLocalGatewayRouteTableVpcAssociations([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'LocalGatewayRouteTableVpcAssociationIds' => ['<string>', ...],
    'MaxResults' => <integer>,
    'NextToken' => '<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.

Filters
Type: Array of Filter structures

One or more filters.

  • local-gateway-id - The ID of a local gateway.

  • local-gateway-route-table-arn - The Amazon Resource Name (ARN) of the local gateway route table for the association.

  • local-gateway-route-table-id - The ID of the local gateway route table.

  • local-gateway-route-table-vpc-association-id - The ID of the association.

  • owner-id - The ID of the Amazon Web Services account that owns the local gateway route table for the association.

  • state - The state of the association.

  • vpc-id - The ID of the VPC.

LocalGatewayRouteTableVpcAssociationIds
Type: Array of strings

The IDs of the associations.

MaxResults
Type: int

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

NextToken
Type: string

The token for the next page of results.

Result Syntax

[
    'LocalGatewayRouteTableVpcAssociations' => [
        [
            'LocalGatewayId' => '<string>',
            'LocalGatewayRouteTableArn' => '<string>',
            'LocalGatewayRouteTableId' => '<string>',
            'LocalGatewayRouteTableVpcAssociationId' => '<string>',
            'OwnerId' => '<string>',
            'State' => '<string>',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'VpcId' => '<string>',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
LocalGatewayRouteTableVpcAssociations
Type: Array of LocalGatewayRouteTableVpcAssociation structures

Information about the associations.

NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

Errors

There are no errors described for this operation.

DescribeLocalGatewayRouteTables

$result = $client->describeLocalGatewayRouteTables([/* ... */]);
$promise = $client->describeLocalGatewayRouteTablesAsync([/* ... */]);

Describes one or more local gateway route tables. By default, all local gateway route tables are described. Alternatively, you can filter the results.

Parameter Syntax

$result = $client->describeLocalGatewayRouteTables([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'LocalGatewayRouteTableIds' => ['<string>', ...],
    'MaxResults' => <integer>,
    'NextToken' => '<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.

Filters
Type: Array of Filter structures

One or more filters.

  • local-gateway-id - The ID of a local gateway.

  • local-gateway-route-table-arn - The Amazon Resource Name (ARN) of the local gateway route table.

  • local-gateway-route-table-id - The ID of a local gateway route table.

  • outpost-arn - The Amazon Resource Name (ARN) of the Outpost.

  • owner-id - The ID of the Amazon Web Services account that owns the local gateway route table.

  • state - The state of the local gateway route table.

LocalGatewayRouteTableIds
Type: Array of strings

The IDs of the local gateway route tables.

MaxResults
Type: int

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

NextToken
Type: string

The token for the next page of results.

Result Syntax

[
    'LocalGatewayRouteTables' => [
        [
            'LocalGatewayId' => '<string>',
            'LocalGatewayRouteTableArn' => '<string>',
            'LocalGatewayRouteTableId' => '<string>',
            'Mode' => 'direct-vpc-routing|coip',
            'OutpostArn' => '<string>',
            'OwnerId' => '<string>',
            'State' => '<string>',
            'StateReason' => [
                'Code' => '<string>',
                'Message' => '<string>',
            ],
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
LocalGatewayRouteTables
Type: Array of LocalGatewayRouteTable structures

Information about the local gateway route tables.

NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

Errors

There are no errors described for this operation.

DescribeLocalGatewayVirtualInterfaceGroups

$result = $client->describeLocalGatewayVirtualInterfaceGroups([/* ... */]);
$promise = $client->describeLocalGatewayVirtualInterfaceGroupsAsync([/* ... */]);

Describes the specified local gateway virtual interface groups.

Parameter Syntax

$result = $client->describeLocalGatewayVirtualInterfaceGroups([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'LocalGatewayVirtualInterfaceGroupIds' => ['<string>', ...],
    'MaxResults' => <integer>,
    'NextToken' => '<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.

Filters
Type: Array of Filter structures

One or more filters.

  • local-gateway-id - The ID of a local gateway.

  • local-gateway-virtual-interface-group-id - The ID of the virtual interface group.

  • local-gateway-virtual-interface-id - The ID of the virtual interface.

  • owner-id - The ID of the Amazon Web Services account that owns the local gateway virtual interface group.

LocalGatewayVirtualInterfaceGroupIds
Type: Array of strings

The IDs of the virtual interface groups.

MaxResults
Type: int

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

NextToken
Type: string

The token for the next page of results.

Result Syntax

[
    'LocalGatewayVirtualInterfaceGroups' => [
        [
            'LocalGatewayId' => '<string>',
            'LocalGatewayVirtualInterfaceGroupId' => '<string>',
            'LocalGatewayVirtualInterfaceIds' => ['<string>', ...],
            'OwnerId' => '<string>',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
LocalGatewayVirtualInterfaceGroups
Type: Array of LocalGatewayVirtualInterfaceGroup structures

The virtual interface groups.

NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

Errors

There are no errors described for this operation.

DescribeLocalGatewayVirtualInterfaces

$result = $client->describeLocalGatewayVirtualInterfaces([/* ... */]);
$promise = $client->describeLocalGatewayVirtualInterfacesAsync([/* ... */]);

Describes the specified local gateway virtual interfaces.

Parameter Syntax

$result = $client->describeLocalGatewayVirtualInterfaces([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'LocalGatewayVirtualInterfaceIds' => ['<string>', ...],
    'MaxResults' => <integer>,
    'NextToken' => '<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.

Filters
Type: Array of Filter structures

One or more filters.

  • local-address - The local address.

  • local-bgp-asn - The Border Gateway Protocol (BGP) Autonomous System Number (ASN) of the local gateway.

  • local-gateway-id - The ID of the local gateway.

  • local-gateway-virtual-interface-id - The ID of the virtual interface.

  • owner-id - The ID of the Amazon Web Services account that owns the local gateway virtual interface.

  • peer-address - The peer address.

  • peer-bgp-asn - The peer BGP ASN.

  • vlan - The ID of the VLAN.

LocalGatewayVirtualInterfaceIds
Type: Array of strings

The IDs of the virtual interfaces.

MaxResults
Type: int

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

NextToken
Type: string

The token for the next page of results.

Result Syntax

[
    'LocalGatewayVirtualInterfaces' => [
        [
            'LocalAddress' => '<string>',
            'LocalBgpAsn' => <integer>,
            'LocalGatewayId' => '<string>',
            'LocalGatewayVirtualInterfaceId' => '<string>',
            'OwnerId' => '<string>',
            'PeerAddress' => '<string>',
            'PeerBgpAsn' => <integer>,
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'Vlan' => <integer>,
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
LocalGatewayVirtualInterfaces
Type: Array of LocalGatewayVirtualInterface structures

Information about the virtual interfaces.

NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

Errors

There are no errors described for this operation.

DescribeLocalGateways

$result = $client->describeLocalGateways([/* ... */]);
$promise = $client->describeLocalGatewaysAsync([/* ... */]);

Describes one or more local gateways. By default, all local gateways are described. Alternatively, you can filter the results.

Parameter Syntax

$result = $client->describeLocalGateways([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'LocalGatewayIds' => ['<string>', ...],
    'MaxResults' => <integer>,
    'NextToken' => '<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.

Filters
Type: Array of Filter structures

One or more filters.

  • local-gateway-id - The ID of a local gateway.

  • outpost-arn - The Amazon Resource Name (ARN) of the Outpost.

  • owner-id - The ID of the Amazon Web Services account that owns the local gateway.

  • state - The state of the association.

LocalGatewayIds
Type: Array of strings

The IDs of the local gateways.

MaxResults
Type: int

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

NextToken
Type: string

The token for the next page of results.

Result Syntax

[
    'LocalGateways' => [
        [
            'LocalGatewayId' => '<string>',
            'OutpostArn' => '<string>',
            'OwnerId' => '<string>',
            'State' => '<string>',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
LocalGateways
Type: Array of LocalGateway structures

Information about the local gateways.

NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

Errors

There are no errors described for this operation.

DescribeLockedSnapshots

$result = $client->describeLockedSnapshots([/* ... */]);
$promise = $client->describeLockedSnapshotsAsync([/* ... */]);

Describes the lock status for a snapshot.

Parameter Syntax

$result = $client->describeLockedSnapshots([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'SnapshotIds' => ['<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.

Filters
Type: Array of Filter structures

The filters.

  • lock-state - The state of the snapshot lock (compliance-cooloff | governance | compliance | expired).

MaxResults
Type: int

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

NextToken
Type: string

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

SnapshotIds
Type: Array of strings

The IDs of the snapshots for which to view the lock status.

Result Syntax

[
    'NextToken' => '<string>',
    'Snapshots' => [
        [
            'CoolOffPeriod' => <integer>,
            'CoolOffPeriodExpiresOn' => <DateTime>,
            'LockCreatedOn' => <DateTime>,
            'LockDuration' => <integer>,
            'LockDurationStartTime' => <DateTime>,
            'LockExpiresOn' => <DateTime>,
            'LockState' => 'compliance|governance|compliance-cooloff|expired',
            'OwnerId' => '<string>',
            'SnapshotId' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

Snapshots
Type: Array of LockedSnapshotsInfo structures

Information about the snapshots.

Errors

There are no errors described for this operation.

DescribeMacHosts

$result = $client->describeMacHosts([/* ... */]);
$promise = $client->describeMacHostsAsync([/* ... */]);

Describes the specified EC2 Mac Dedicated Host or all of your EC2 Mac Dedicated Hosts.

Parameter Syntax

$result = $client->describeMacHosts([
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'HostIds' => ['<string>', ...],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
Filters
Type: Array of Filter structures

The filters.

  • availability-zone - The Availability Zone of the EC2 Mac Dedicated Host.

  • instance-type - The instance type size that the EC2 Mac Dedicated Host is configured to support.

HostIds
Type: Array of strings

The IDs of the EC2 Mac Dedicated Hosts.

MaxResults
Type: int

The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.

NextToken
Type: string

The token to use to retrieve the next page of results.

Result Syntax

[
    'MacHosts' => [
        [
            'HostId' => '<string>',
            'MacOSLatestSupportedVersions' => ['<string>', ...],
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
MacHosts
Type: Array of MacHost structures

Information about the EC2 Mac Dedicated Hosts.

NextToken
Type: string

The token to use to retrieve the next page of results.

Errors

There are no errors described for this operation.

DescribeManagedPrefixLists

$result = $client->describeManagedPrefixLists([/* ... */]);
$promise = $client->describeManagedPrefixListsAsync([/* ... */]);

Describes your managed prefix lists and any Amazon Web Services-managed prefix lists.

To view the entries for your prefix list, use GetManagedPrefixListEntries.

Parameter Syntax

$result = $client->describeManagedPrefixLists([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'PrefixListIds' => ['<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.

Filters
Type: Array of Filter structures

One or more filters.

  • owner-id - The ID of the prefix list owner.

  • prefix-list-id - The ID of the prefix list.

  • prefix-list-name - The name of the prefix list.

MaxResults
Type: int

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

NextToken
Type: string

The token for the next page of results.

PrefixListIds
Type: Array of strings

One or more prefix list IDs.

Result Syntax

[
    'NextToken' => '<string>',
    'PrefixLists' => [
        [
            'AddressFamily' => '<string>',
            'MaxEntries' => <integer>,
            'OwnerId' => '<string>',
            'PrefixListArn' => '<string>',
            'PrefixListId' => '<string>',
            'PrefixListName' => '<string>',
            'State' => 'create-in-progress|create-complete|create-failed|modify-in-progress|modify-complete|modify-failed|restore-in-progress|restore-complete|restore-failed|delete-in-progress|delete-complete|delete-failed',
            'StateMessage' => '<string>',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'Version' => <integer>,
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

PrefixLists
Type: Array of ManagedPrefixList structures

Information about the prefix lists.

Errors

There are no errors described for this operation.

DescribeMovingAddresses

$result = $client->describeMovingAddresses([/* ... */]);
$promise = $client->describeMovingAddressesAsync([/* ... */]);

This action is deprecated.

Describes your Elastic IP addresses that are being moved from or being restored to the EC2-Classic platform. This request does not return information about any other Elastic IP addresses in your account.

Parameter Syntax

$result = $client->describeMovingAddresses([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'PublicIps' => ['<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.

Filters
Type: Array of Filter structures

One or more filters.

  • moving-status - The status of the Elastic IP address (MovingToVpc | RestoringToClassic).

MaxResults
Type: int

The maximum number of results to return for the request in a single page. The remaining results of the initial request can be seen by sending another request with the returned NextToken value. This value can be between 5 and 1000; if MaxResults is given a value outside of this range, an error is returned.

Default: If no value is provided, the default is 1000.

NextToken
Type: string

The token for the next page of results.

PublicIps
Type: Array of strings

One or more Elastic IP addresses.

Result Syntax

[
    'MovingAddressStatuses' => [
        [
            'MoveStatus' => 'movingToVpc|restoringToClassic',
            'PublicIp' => '<string>',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
MovingAddressStatuses
Type: Array of MovingAddressStatus structures

The status for each Elastic IP address.

NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

Errors

There are no errors described for this operation.

Examples

Example 1: To describe your moving addresses

This example describes all of your moving Elastic IP addresses.

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

Result syntax:

[
    'MovingAddressStatuses' => [
        [
            'MoveStatus' => 'movingToVpc',
            'PublicIp' => '198.51.100.0',
        ],
    ],
]

DescribeNatGateways

$result = $client->describeNatGateways([/* ... */]);
$promise = $client->describeNatGatewaysAsync([/* ... */]);

Describes your NAT gateways. The default is to describe all your NAT gateways. Alternatively, you can specify specific NAT gateway IDs or filter the results to include only the NAT gateways that match specific criteria.

Parameter Syntax

$result = $client->describeNatGateways([
    'DryRun' => true || false,
    'Filter' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NatGatewayIds' => ['<string>', ...],
    'NextToken' => '<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.

Filter
Type: Array of Filter structures

The filters.

  • nat-gateway-id - The ID of the NAT gateway.

  • state - The state of the NAT gateway (pending | failed | available | deleting | deleted).

  • subnet-id - The ID of the subnet in which the NAT gateway resides.

  • 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.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • vpc-id - The ID of the VPC in which the NAT gateway resides.

MaxResults
Type: int

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

NatGatewayIds
Type: Array of strings

The IDs of the NAT gateways.

NextToken
Type: string

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

Result Syntax

[
    'NatGateways' => [
        [
            'ConnectivityType' => 'private|public',
            'CreateTime' => <DateTime>,
            'DeleteTime' => <DateTime>,
            'FailureCode' => '<string>',
            'FailureMessage' => '<string>',
            '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>',
            'ProvisionedBandwidth' => [
                'ProvisionTime' => <DateTime>,
                'Provisioned' => '<string>',
                'RequestTime' => <DateTime>,
                'Requested' => '<string>',
                'Status' => '<string>',
            ],
            'State' => 'pending|failed|available|deleting|deleted',
            'SubnetId' => '<string>',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'VpcId' => '<string>',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
NatGateways
Type: Array of NatGateway structures

Information about the NAT gateways.

NextToken
Type: string

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

Errors

There are no errors described for this operation.

Examples

Example 1: To describe a NAT gateway

This example describes the NAT gateway for the specified VPC.

$result = $client->describeNatGateways([
    'Filter' => [
        [
            'Name' => 'vpc-id',
            'Values' => [
                'vpc-1a2b3c4d',
            ],
        ],
    ],
]);

Result syntax:

[
    'NatGateways' => [
        [
            'CreateTime' => ,
            'NatGatewayAddresses' => [
                [
                    'AllocationId' => 'eipalloc-89c620ec',
                    'NetworkInterfaceId' => 'eni-9dec76cd',
                    'PrivateIp' => '10.0.0.149',
                    'PublicIp' => '198.11.222.333',
                ],
            ],
            'NatGatewayId' => 'nat-05dba92075d71c408',
            'State' => 'available',
            'SubnetId' => 'subnet-847e4dc2',
            'VpcId' => 'vpc-1a2b3c4d',
        ],
    ],
]

DescribeNetworkAcls

$result = $client->describeNetworkAcls([/* ... */]);
$promise = $client->describeNetworkAclsAsync([/* ... */]);

Describes your network ACLs. The default is to describe all your network ACLs. Alternatively, you can specify specific network ACL IDs or filter the results to include only the network ACLs that match specific criteria.

For more information, see Network ACLs in the Amazon VPC User Guide.

Parameter Syntax

$result = $client->describeNetworkAcls([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NetworkAclIds' => ['<string>', ...],
    'NextToken' => '<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.

Filters
Type: Array of Filter structures

The filters.

  • association.association-id - The ID of an association ID for the ACL.

  • association.network-acl-id - The ID of the network ACL involved in the association.

  • association.subnet-id - The ID of the subnet involved in the association.

  • default - Indicates whether the ACL is the default network ACL for the VPC.

  • entry.cidr - The IPv4 CIDR range specified in the entry.

  • entry.icmp.code - The ICMP code specified in the entry, if any.

  • entry.icmp.type - The ICMP type specified in the entry, if any.

  • entry.ipv6-cidr - The IPv6 CIDR range specified in the entry.

  • entry.port-range.from - The start of the port range specified in the entry.

  • entry.port-range.to - The end of the port range specified in the entry.

  • entry.protocol - The protocol specified in the entry (tcp | udp | icmp or a protocol number).

  • entry.rule-action - Allows or denies the matching traffic (allow | deny).

  • entry.egress - A Boolean that indicates the type of rule. Specify true for egress rules, or false for ingress rules.

  • entry.rule-number - The number of an entry (in other words, rule) in the set of ACL entries.

  • network-acl-id - The ID of the network ACL.

  • owner-id - The ID of the Amazon Web Services account that owns the network ACL.

  • 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.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • vpc-id - The ID of the VPC for the network ACL.

MaxResults
Type: int

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

NetworkAclIds
Type: Array of strings

The IDs of the network ACLs.

NextToken
Type: string

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

Result Syntax

[
    'NetworkAcls' => [
        [
            'Associations' => [
                [
                    'NetworkAclAssociationId' => '<string>',
                    'NetworkAclId' => '<string>',
                    'SubnetId' => '<string>',
                ],
                // ...
            ],
            'Entries' => [
                [
                    'CidrBlock' => '<string>',
                    'Egress' => true || false,
                    'IcmpTypeCode' => [
                        'Code' => <integer>,
                        'Type' => <integer>,
                    ],
                    'Ipv6CidrBlock' => '<string>',
                    'PortRange' => [
                        'From' => <integer>,
                        'To' => <integer>,
                    ],
                    'Protocol' => '<string>',
                    'RuleAction' => 'allow|deny',
                    'RuleNumber' => <integer>,
                ],
                // ...
            ],
            'IsDefault' => true || false,
            'NetworkAclId' => '<string>',
            'OwnerId' => '<string>',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'VpcId' => '<string>',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
NetworkAcls
Type: Array of NetworkAcl structures

Information about the network ACLs.

NextToken
Type: string

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

Errors

There are no errors described for this operation.

Examples

Example 1: To describe a network ACL

This example describes the specified network ACL.

$result = $client->describeNetworkAcls([
    'NetworkAclIds' => [
        'acl-5fb85d36',
    ],
]);

Result syntax:

[
    'NetworkAcls' => [
        [
            'Associations' => [
                [
                    'NetworkAclAssociationId' => 'aclassoc-66ea5f0b',
                    'NetworkAclId' => 'acl-9aeb5ef7',
                    'SubnetId' => 'subnet-65ea5f08',
                ],
            ],
            'Entries' => [
                [
                    'CidrBlock' => '0.0.0.0/0',
                    'Egress' => 1,
                    'Protocol' => '-1',
                    'RuleAction' => 'deny',
                    'RuleNumber' => 32767,
                ],
                [
                    'CidrBlock' => '0.0.0.0/0',
                    'Egress' => ,
                    'Protocol' => '-1',
                    'RuleAction' => 'deny',
                    'RuleNumber' => 32767,
                ],
            ],
            'IsDefault' => ,
            'NetworkAclId' => 'acl-5fb85d36',
            'Tags' => [
            ],
            'VpcId' => 'vpc-a01106c2',
        ],
    ],
]

DescribeNetworkInsightsAccessScopeAnalyses

$result = $client->describeNetworkInsightsAccessScopeAnalyses([/* ... */]);
$promise = $client->describeNetworkInsightsAccessScopeAnalysesAsync([/* ... */]);

Describes the specified Network Access Scope analyses.

Parameter Syntax

$result = $client->describeNetworkInsightsAccessScopeAnalyses([
    'AnalysisStartTimeBegin' => <integer || string || DateTime>,
    'AnalysisStartTimeEnd' => <integer || string || DateTime>,
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NetworkInsightsAccessScopeAnalysisIds' => ['<string>', ...],
    'NetworkInsightsAccessScopeId' => '<string>',
    'NextToken' => '<string>',
]);

Parameter Details

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

Filters the results based on the start time. The analysis must have started on or after this time.

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

Filters the results based on the start time. The analysis must have started on or before this time.

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.

Filters
Type: Array of Filter structures

There are no supported filters.

MaxResults
Type: int

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

NetworkInsightsAccessScopeAnalysisIds
Type: Array of strings

The IDs of the Network Access Scope analyses.

NetworkInsightsAccessScopeId
Type: string

The ID of the Network Access Scope.

NextToken
Type: string

The token for the next page of results.

Result Syntax

[
    'NetworkInsightsAccessScopeAnalyses' => [
        [
            'AnalyzedEniCount' => <integer>,
            'EndDate' => <DateTime>,
            'FindingsFound' => 'true|false|unknown',
            'NetworkInsightsAccessScopeAnalysisArn' => '<string>',
            'NetworkInsightsAccessScopeAnalysisId' => '<string>',
            'NetworkInsightsAccessScopeId' => '<string>',
            'StartDate' => <DateTime>,
            'Status' => 'running|succeeded|failed',
            'StatusMessage' => '<string>',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'WarningMessage' => '<string>',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
NetworkInsightsAccessScopeAnalyses
Type: Array of NetworkInsightsAccessScopeAnalysis structures

The Network Access Scope analyses.

NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

Errors

There are no errors described for this operation.

DescribeNetworkInsightsAccessScopes

$result = $client->describeNetworkInsightsAccessScopes([/* ... */]);
$promise = $client->describeNetworkInsightsAccessScopesAsync([/* ... */]);

Describes the specified Network Access Scopes.

Parameter Syntax

$result = $client->describeNetworkInsightsAccessScopes([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NetworkInsightsAccessScopeIds' => ['<string>', ...],
    'NextToken' => '<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.

Filters
Type: Array of Filter structures

There are no supported filters.

MaxResults
Type: int

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

NetworkInsightsAccessScopeIds
Type: Array of strings

The IDs of the Network Access Scopes.

NextToken
Type: string

The token for the next page of results.

Result Syntax

[
    'NetworkInsightsAccessScopes' => [
        [
            'CreatedDate' => <DateTime>,
            'NetworkInsightsAccessScopeArn' => '<string>',
            'NetworkInsightsAccessScopeId' => '<string>',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'UpdatedDate' => <DateTime>,
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
NetworkInsightsAccessScopes
Type: Array of NetworkInsightsAccessScope structures

The Network Access Scopes.

NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

Errors

There are no errors described for this operation.

DescribeNetworkInsightsAnalyses

$result = $client->describeNetworkInsightsAnalyses([/* ... */]);
$promise = $client->describeNetworkInsightsAnalysesAsync([/* ... */]);

Describes one or more of your network insights analyses.

Parameter Syntax

$result = $client->describeNetworkInsightsAnalyses([
    'AnalysisEndTime' => <integer || string || DateTime>,
    'AnalysisStartTime' => <integer || string || DateTime>,
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NetworkInsightsAnalysisIds' => ['<string>', ...],
    'NetworkInsightsPathId' => '<string>',
    'NextToken' => '<string>',
]);

Parameter Details

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

The time when the network insights analyses ended.

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

The time when the network insights analyses started.

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.

Filters
Type: Array of Filter structures

The filters. The following are the possible values:

  • path-found - A Boolean value that indicates whether a feasible path is found.

  • status - The status of the analysis (running | succeeded | failed).

MaxResults
Type: int

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

NetworkInsightsAnalysisIds
Type: Array of strings

The ID of the network insights analyses. You must specify either analysis IDs or a path ID.

NetworkInsightsPathId
Type: string

The ID of the path. You must specify either a path ID or analysis IDs.

NextToken
Type: string

The token for the next page of results.

Result Syntax

[
    'NetworkInsightsAnalyses' => [
        [
            'AdditionalAccounts' => ['<string>', ...],
            'AlternatePathHints' => [
                [
                    'ComponentArn' => '<string>',
                    'ComponentId' => '<string>',
                ],
                // ...
            ],
            'Explanations' => [
                [
                    'Acl' => [
                        'Arn' => '<string>',
                        'Id' => '<string>',
                        'Name' => '<string>',
                    ],
                    'AclRule' => [
                        'Cidr' => '<string>',
                        'Egress' => true || false,
                        'PortRange' => [
                            'From' => <integer>,
                            'To' => <integer>,
                        ],
                        'Protocol' => '<string>',
                        'RuleAction' => '<string>',
                        'RuleNumber' => <integer>,
                    ],
                    'Address' => '<string>',
                    'Addresses' => ['<string>', ...],
                    'AttachedTo' => [
                        'Arn' => '<string>',
                        'Id' => '<string>',
                        'Name' => '<string>',
                    ],
                    'AvailabilityZones' => ['<string>', ...],
                    'Cidrs' => ['<string>', ...],
                    'ClassicLoadBalancerListener' => [
                        'InstancePort' => <integer>,
                        'LoadBalancerPort' => <integer>,
                    ],
                    'Component' => [
                        'Arn' => '<string>',
                        'Id' => '<string>',
                        'Name' => '<string>',
                    ],
                    'ComponentAccount' => '<string>',
                    'ComponentRegion' => '<string>',
                    'CustomerGateway' => [
                        'Arn' => '<string>',
                        'Id' => '<string>',
                        'Name' => '<string>',
                    ],
                    'Destination' => [
                        'Arn' => '<string>',
                        'Id' => '<string>',
                        'Name' => '<string>',
                    ],
                    'DestinationVpc' => [
                        'Arn' => '<string>',
                        'Id' => '<string>',
                        'Name' => '<string>',
                    ],
                    'Direction' => '<string>',
                    'ElasticLoadBalancerListener' => [
                        'Arn' => '<string>',
                        'Id' => '<string>',
                        'Name' => '<string>',
                    ],
                    'ExplanationCode' => '<string>',
                    'FirewallStatefulRule' => [
                        'DestinationPorts' => [
                            [
                                'From' => <integer>,
                                'To' => <integer>,
                            ],
                            // ...
                        ],
                        'Destinations' => ['<string>', ...],
                        'Direction' => '<string>',
                        'Protocol' => '<string>',
                        'RuleAction' => '<string>',
                        'RuleGroupArn' => '<string>',
                        'SourcePorts' => [
                            [
                                'From' => <integer>,
                                'To' => <integer>,
                            ],
                            // ...
                        ],
                        'Sources' => ['<string>', ...],
                    ],
                    'FirewallStatelessRule' => [
                        'DestinationPorts' => [
                            [
                                'From' => <integer>,
                                'To' => <integer>,
                            ],
                            // ...
                        ],
                        'Destinations' => ['<string>', ...],
                        'Priority' => <integer>,
                        'Protocols' => [<integer>, ...],
                        'RuleAction' => '<string>',
                        'RuleGroupArn' => '<string>',
                        'SourcePorts' => [
                            [
                                'From' => <integer>,
                                'To' => <integer>,
                            ],
                            // ...
                        ],
                        'Sources' => ['<string>', ...],
                    ],
                    'IngressRouteTable' => [
                        'Arn' => '<string>',
                        'Id' => '<string>',
                        'Name' => '<string>',
                    ],
                    'InternetGateway' => [
                        'Arn' => '<string>',
                        'Id' => '<string>',
                        'Name' => '<string>',
                    ],
                    'LoadBalancerArn' => '<string>',
                    'LoadBalancerListenerPort' => <integer>,
                    'LoadBalancerTarget' => [
                        'Address' => '<string>',
                        'AvailabilityZone' => '<string>',
                        'Instance' => [
                            'Arn' => '<string>',
                            'Id' => '<string>',
                            'Name' => '<string>',
                        ],
                        'Port' => <integer>,
                    ],
                    'LoadBalancerTargetGroup' => [
                        'Arn' => '<string>',
                        'Id' => '<string>',
                        'Name' => '<string>',
                    ],
                    'LoadBalancerTargetGroups' => [
                        [
                            'Arn' => '<string>',
                            'Id' => '<string>',
                            'Name' => '<string>',
                        ],
                        // ...
                    ],
                    'LoadBalancerTargetPort' => <integer>,
                    'MissingComponent' => '<string>',
                    'NatGateway' => [
                        'Arn' => '<string>',
                        'Id' => '<string>',
                        'Name' => '<string>',
                    ],
                    'NetworkInterface' => [
                        'Arn' => '<string>',
                        'Id' => '<string>',
                        'Name' => '<string>',
                    ],
                    'PacketField' => '<string>',
                    'Port' => <integer>,
                    'PortRanges' => [
                        [
                            'From' => <integer>,
                            'To' => <integer>,
                        ],
                        // ...
                    ],
                    'PrefixList' => [
                        'Arn' => '<string>',
                        'Id' => '<string>',
                        'Name' => '<string>',
                    ],
                    'Protocols' => ['<string>', ...],
                    'RouteTable' => [
                        'Arn' => '<string>',
                        'Id' => '<string>',
                        'Name' => '<string>',
                    ],
                    'RouteTableRoute' => [
                        'CarrierGatewayId' => '<string>',
                        'CoreNetworkArn' => '<string>',
                        'DestinationCidr' => '<string>',
                        'DestinationPrefixListId' => '<string>',
                        'EgressOnlyInternetGatewayId' => '<string>',
                        'GatewayId' => '<string>',
                        'InstanceId' => '<string>',
                        'LocalGatewayId' => '<string>',
                        'NatGatewayId' => '<string>',
                        'NetworkInterfaceId' => '<string>',
                        'Origin' => '<string>',
                        'State' => '<string>',
                        'TransitGatewayId' => '<string>',
                        'VpcPeeringConnectionId' => '<string>',
                    ],
                    'SecurityGroup' => [
                        'Arn' => '<string>',
                        'Id' => '<string>',
                        'Name' => '<string>',
                    ],
                    'SecurityGroupRule' => [
                        'Cidr' => '<string>',
                        'Direction' => '<string>',
                        'PortRange' => [
                            'From' => <integer>,
                            'To' => <integer>,
                        ],
                        'PrefixListId' => '<string>',
                        'Protocol' => '<string>',
                        'SecurityGroupId' => '<string>',
                    ],
                    'SecurityGroups' => [
                        [
                            'Arn' => '<string>',
                            'Id' => '<string>',
                            'Name' => '<string>',
                        ],
                        // ...
                    ],
                    'SourceVpc' => [
                        'Arn' => '<string>',
                        'Id' => '<string>',
                        'Name' => '<string>',
                    ],
                    'State' => '<string>',
                    'Subnet' => [
                        'Arn' => '<string>',
                        'Id' => '<string>',
                        'Name' => '<string>',
                    ],
                    'SubnetRouteTable' => [
                        'Arn' => '<string>',
                        'Id' => '<string>',
                        'Name' => '<string>',
                    ],
                    'TransitGateway' => [
                        'Arn' => '<string>',
                        'Id' => '<string>',
                        'Name' => '<string>',
                    ],
                    'TransitGatewayAttachment' => [
                        'Arn' => '<string>',
                        'Id' => '<string>',
                        'Name' => '<string>',
                    ],
                    'TransitGatewayRouteTable' => [
                        'Arn' => '<string>',
                        'Id' => '<string>',
                        'Name' => '<string>',
                    ],
                    'TransitGatewayRouteTableRoute' => [
                        'AttachmentId' => '<string>',
                        'DestinationCidr' => '<string>',
                        'PrefixListId' => '<string>',
                        'ResourceId' => '<string>',
                        'ResourceType' => '<string>',
                        'RouteOrigin' => '<string>',
                        'State' => '<string>',
                    ],
                    'Vpc' => [
                        'Arn' => '<string>',
                        'Id' => '<string>',
                        'Name' => '<string>',
                    ],
                    'VpcEndpoint' => [
                        'Arn' => '<string>',
                        'Id' => '<string>',
                        'Name' => '<string>',
                    ],
                    'VpcPeeringConnection' => [
                        'Arn' => '<string>',
                        'Id' => '<string>',
                        'Name' => '<string>',
                    ],
                    'VpnConnection' => [
                        'Arn' => '<string>',
                        'Id' => '<string>',
                        'Name' => '<string>',
                    ],
                    'VpnGateway' => [
                        'Arn' => '<string>',
                        'Id' => '<string>',
                        'Name' => '<string>',
                    ],
                ],
                // ...
            ],
            'FilterInArns' => ['<string>', ...],
            'ForwardPathComponents' => [
                [
                    'AclRule' => [
                        'Cidr' => '<string>',
                        'Egress' => true || false,
                        'PortRange' => [
                            'From' => <integer>,
                            'To' => <integer>,
                        ],
                        'Protocol' => '<string>',
                        'RuleAction' => '<string>',
                        'RuleNumber' => <integer>,
                    ],
                    'AdditionalDetails' => [
                        [
                            'AdditionalDetailType' => '<string>',
                            'Component' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'LoadBalancers' => [
                                [
                                    'Arn' => '<string>',
                                    'Id' => '<string>',
                                    'Name' => '<string>',
                                ],
                                // ...
                            ],
                            'RuleGroupRuleOptionsPairs' => [
                                [
                                    'RuleGroupArn' => '<string>',
                                    'RuleOptions' => [
                                        [
                                            'Keyword' => '<string>',
                                            'Settings' => ['<string>', ...],
                                        ],
                                        // ...
                                    ],
                                ],
                                // ...
                            ],
                            'RuleGroupTypePairs' => [
                                [
                                    'RuleGroupArn' => '<string>',
                                    'RuleGroupType' => '<string>',
                                ],
                                // ...
                            ],
                            'RuleOptions' => [
                                [
                                    'Keyword' => '<string>',
                                    'Settings' => ['<string>', ...],
                                ],
                                // ...
                            ],
                            'ServiceName' => '<string>',
                            'VpcEndpointService' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                        ],
                        // ...
                    ],
                    'AttachedTo' => [
                        'Arn' => '<string>',
                        'Id' => '<string>',
                        'Name' => '<string>',
                    ],
                    'Component' => [
                        'Arn' => '<string>',
                        'Id' => '<string>',
                        'Name' => '<string>',
                    ],
                    'DestinationVpc' => [
                        'Arn' => '<string>',
                        'Id' => '<string>',
                        'Name' => '<string>',
                    ],
                    'ElasticLoadBalancerListener' => [
                        'Arn' => '<string>',
                        'Id' => '<string>',
                        'Name' => '<string>',
                    ],
                    'Explanations' => [
                        [
                            'Acl' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'AclRule' => [
                                'Cidr' => '<string>',
                                'Egress' => true || false,
                                'PortRange' => [
                                    'From' => <integer>,
                                    'To' => <integer>,
                                ],
                                'Protocol' => '<string>',
                                'RuleAction' => '<string>',
                                'RuleNumber' => <integer>,
                            ],
                            'Address' => '<string>',
                            'Addresses' => ['<string>', ...],
                            'AttachedTo' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'AvailabilityZones' => ['<string>', ...],
                            'Cidrs' => ['<string>', ...],
                            'ClassicLoadBalancerListener' => [
                                'InstancePort' => <integer>,
                                'LoadBalancerPort' => <integer>,
                            ],
                            'Component' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'ComponentAccount' => '<string>',
                            'ComponentRegion' => '<string>',
                            'CustomerGateway' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'Destination' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'DestinationVpc' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'Direction' => '<string>',
                            'ElasticLoadBalancerListener' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'ExplanationCode' => '<string>',
                            'FirewallStatefulRule' => [
                                'DestinationPorts' => [
                                    [
                                        'From' => <integer>,
                                        'To' => <integer>,
                                    ],
                                    // ...
                                ],
                                'Destinations' => ['<string>', ...],
                                'Direction' => '<string>',
                                'Protocol' => '<string>',
                                'RuleAction' => '<string>',
                                'RuleGroupArn' => '<string>',
                                'SourcePorts' => [
                                    [
                                        'From' => <integer>,
                                        'To' => <integer>,
                                    ],
                                    // ...
                                ],
                                'Sources' => ['<string>', ...],
                            ],
                            'FirewallStatelessRule' => [
                                'DestinationPorts' => [
                                    [
                                        'From' => <integer>,
                                        'To' => <integer>,
                                    ],
                                    // ...
                                ],
                                'Destinations' => ['<string>', ...],
                                'Priority' => <integer>,
                                'Protocols' => [<integer>, ...],
                                'RuleAction' => '<string>',
                                'RuleGroupArn' => '<string>',
                                'SourcePorts' => [
                                    [
                                        'From' => <integer>,
                                        'To' => <integer>,
                                    ],
                                    // ...
                                ],
                                'Sources' => ['<string>', ...],
                            ],
                            'IngressRouteTable' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'InternetGateway' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'LoadBalancerArn' => '<string>',
                            'LoadBalancerListenerPort' => <integer>,
                            'LoadBalancerTarget' => [
                                'Address' => '<string>',
                                'AvailabilityZone' => '<string>',
                                'Instance' => [
                                    'Arn' => '<string>',
                                    'Id' => '<string>',
                                    'Name' => '<string>',
                                ],
                                'Port' => <integer>,
                            ],
                            'LoadBalancerTargetGroup' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'LoadBalancerTargetGroups' => [
                                [
                                    'Arn' => '<string>',
                                    'Id' => '<string>',
                                    'Name' => '<string>',
                                ],
                                // ...
                            ],
                            'LoadBalancerTargetPort' => <integer>,
                            'MissingComponent' => '<string>',
                            'NatGateway' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'NetworkInterface' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'PacketField' => '<string>',
                            'Port' => <integer>,
                            'PortRanges' => [
                                [
                                    'From' => <integer>,
                                    'To' => <integer>,
                                ],
                                // ...
                            ],
                            'PrefixList' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'Protocols' => ['<string>', ...],
                            'RouteTable' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'RouteTableRoute' => [
                                'CarrierGatewayId' => '<string>',
                                'CoreNetworkArn' => '<string>',
                                'DestinationCidr' => '<string>',
                                'DestinationPrefixListId' => '<string>',
                                'EgressOnlyInternetGatewayId' => '<string>',
                                'GatewayId' => '<string>',
                                'InstanceId' => '<string>',
                                'LocalGatewayId' => '<string>',
                                'NatGatewayId' => '<string>',
                                'NetworkInterfaceId' => '<string>',
                                'Origin' => '<string>',
                                'State' => '<string>',
                                'TransitGatewayId' => '<string>',
                                'VpcPeeringConnectionId' => '<string>',
                            ],
                            'SecurityGroup' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'SecurityGroupRule' => [
                                'Cidr' => '<string>',
                                'Direction' => '<string>',
                                'PortRange' => [
                                    'From' => <integer>,
                                    'To' => <integer>,
                                ],
                                'PrefixListId' => '<string>',
                                'Protocol' => '<string>',
                                'SecurityGroupId' => '<string>',
                            ],
                            'SecurityGroups' => [
                                [
                                    'Arn' => '<string>',
                                    'Id' => '<string>',
                                    'Name' => '<string>',
                                ],
                                // ...
                            ],
                            'SourceVpc' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'State' => '<string>',
                            'Subnet' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'SubnetRouteTable' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'TransitGateway' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'TransitGatewayAttachment' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'TransitGatewayRouteTable' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'TransitGatewayRouteTableRoute' => [
                                'AttachmentId' => '<string>',
                                'DestinationCidr' => '<string>',
                                'PrefixListId' => '<string>',
                                'ResourceId' => '<string>',
                                'ResourceType' => '<string>',
                                'RouteOrigin' => '<string>',
                                'State' => '<string>',
                            ],
                            'Vpc' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'VpcEndpoint' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'VpcPeeringConnection' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'VpnConnection' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'VpnGateway' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                        ],
                        // ...
                    ],
                    'FirewallStatefulRule' => [
                        'DestinationPorts' => [
                            [
                                'From' => <integer>,
                                'To' => <integer>,
                            ],
                            // ...
                        ],
                        'Destinations' => ['<string>', ...],
                        'Direction' => '<string>',
                        'Protocol' => '<string>',
                        'RuleAction' => '<string>',
                        'RuleGroupArn' => '<string>',
                        'SourcePorts' => [
                            [
                                'From' => <integer>,
                                'To' => <integer>,
                            ],
                            // ...
                        ],
                        'Sources' => ['<string>', ...],
                    ],
                    'FirewallStatelessRule' => [
                        'DestinationPorts' => [
                            [
                                'From' => <integer>,
                                'To' => <integer>,
                            ],
                            // ...
                        ],
                        'Destinations' => ['<string>', ...],
                        'Priority' => <integer>,
                        'Protocols' => [<integer>, ...],
                        'RuleAction' => '<string>',
                        'RuleGroupArn' => '<string>',
                        'SourcePorts' => [
                            [
                                'From' => <integer>,
                                'To' => <integer>,
                            ],
                            // ...
                        ],
                        'Sources' => ['<string>', ...],
                    ],
                    'InboundHeader' => [
                        'DestinationAddresses' => ['<string>', ...],
                        'DestinationPortRanges' => [
                            [
                                'From' => <integer>,
                                'To' => <integer>,
                            ],
                            // ...
                        ],
                        'Protocol' => '<string>',
                        'SourceAddresses' => ['<string>', ...],
                        'SourcePortRanges' => [
                            [
                                'From' => <integer>,
                                'To' => <integer>,
                            ],
                            // ...
                        ],
                    ],
                    'OutboundHeader' => [
                        'DestinationAddresses' => ['<string>', ...],
                        'DestinationPortRanges' => [
                            [
                                'From' => <integer>,
                                'To' => <integer>,
                            ],
                            // ...
                        ],
                        'Protocol' => '<string>',
                        'SourceAddresses' => ['<string>', ...],
                        'SourcePortRanges' => [
                            [
                                'From' => <integer>,
                                'To' => <integer>,
                            ],
                            // ...
                        ],
                    ],
                    'RouteTableRoute' => [
                        'CarrierGatewayId' => '<string>',
                        'CoreNetworkArn' => '<string>',
                        'DestinationCidr' => '<string>',
                        'DestinationPrefixListId' => '<string>',
                        'EgressOnlyInternetGatewayId' => '<string>',
                        'GatewayId' => '<string>',
                        'InstanceId' => '<string>',
                        'LocalGatewayId' => '<string>',
                        'NatGatewayId' => '<string>',
                        'NetworkInterfaceId' => '<string>',
                        'Origin' => '<string>',
                        'State' => '<string>',
                        'TransitGatewayId' => '<string>',
                        'VpcPeeringConnectionId' => '<string>',
                    ],
                    'SecurityGroupRule' => [
                        'Cidr' => '<string>',
                        'Direction' => '<string>',
                        'PortRange' => [
                            'From' => <integer>,
                            'To' => <integer>,
                        ],
                        'PrefixListId' => '<string>',
                        'Protocol' => '<string>',
                        'SecurityGroupId' => '<string>',
                    ],
                    'SequenceNumber' => <integer>,
                    'ServiceName' => '<string>',
                    'SourceVpc' => [
                        'Arn' => '<string>',
                        'Id' => '<string>',
                        'Name' => '<string>',
                    ],
                    'Subnet' => [
                        'Arn' => '<string>',
                        'Id' => '<string>',
                        'Name' => '<string>',
                    ],
                    'TransitGateway' => [
                        'Arn' => '<string>',
                        'Id' => '<string>',
                        'Name' => '<string>',
                    ],
                    'TransitGatewayRouteTableRoute' => [
                        'AttachmentId' => '<string>',
                        'DestinationCidr' => '<string>',
                        'PrefixListId' => '<string>',
                        'ResourceId' => '<string>',
                        'ResourceType' => '<string>',
                        'RouteOrigin' => '<string>',
                        'State' => '<string>',
                    ],
                    'Vpc' => [
                        'Arn' => '<string>',
                        'Id' => '<string>',
                        'Name' => '<string>',
                    ],
                ],
                // ...
            ],
            'NetworkInsightsAnalysisArn' => '<string>',
            'NetworkInsightsAnalysisId' => '<string>',
            'NetworkInsightsPathId' => '<string>',
            'NetworkPathFound' => true || false,
            'ReturnPathComponents' => [
                [
                    'AclRule' => [
                        'Cidr' => '<string>',
                        'Egress' => true || false,
                        'PortRange' => [
                            'From' => <integer>,
                            'To' => <integer>,
                        ],
                        'Protocol' => '<string>',
                        'RuleAction' => '<string>',
                        'RuleNumber' => <integer>,
                    ],
                    'AdditionalDetails' => [
                        [
                            'AdditionalDetailType' => '<string>',
                            'Component' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'LoadBalancers' => [
                                [
                                    'Arn' => '<string>',
                                    'Id' => '<string>',
                                    'Name' => '<string>',
                                ],
                                // ...
                            ],
                            'RuleGroupRuleOptionsPairs' => [
                                [
                                    'RuleGroupArn' => '<string>',
                                    'RuleOptions' => [
                                        [
                                            'Keyword' => '<string>',
                                            'Settings' => ['<string>', ...],
                                        ],
                                        // ...
                                    ],
                                ],
                                // ...
                            ],
                            'RuleGroupTypePairs' => [
                                [
                                    'RuleGroupArn' => '<string>',
                                    'RuleGroupType' => '<string>',
                                ],
                                // ...
                            ],
                            'RuleOptions' => [
                                [
                                    'Keyword' => '<string>',
                                    'Settings' => ['<string>', ...],
                                ],
                                // ...
                            ],
                            'ServiceName' => '<string>',
                            'VpcEndpointService' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                        ],
                        // ...
                    ],
                    'AttachedTo' => [
                        'Arn' => '<string>',
                        'Id' => '<string>',
                        'Name' => '<string>',
                    ],
                    'Component' => [
                        'Arn' => '<string>',
                        'Id' => '<string>',
                        'Name' => '<string>',
                    ],
                    'DestinationVpc' => [
                        'Arn' => '<string>',
                        'Id' => '<string>',
                        'Name' => '<string>',
                    ],
                    'ElasticLoadBalancerListener' => [
                        'Arn' => '<string>',
                        'Id' => '<string>',
                        'Name' => '<string>',
                    ],
                    'Explanations' => [
                        [
                            'Acl' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'AclRule' => [
                                'Cidr' => '<string>',
                                'Egress' => true || false,
                                'PortRange' => [
                                    'From' => <integer>,
                                    'To' => <integer>,
                                ],
                                'Protocol' => '<string>',
                                'RuleAction' => '<string>',
                                'RuleNumber' => <integer>,
                            ],
                            'Address' => '<string>',
                            'Addresses' => ['<string>', ...],
                            'AttachedTo' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'AvailabilityZones' => ['<string>', ...],
                            'Cidrs' => ['<string>', ...],
                            'ClassicLoadBalancerListener' => [
                                'InstancePort' => <integer>,
                                'LoadBalancerPort' => <integer>,
                            ],
                            'Component' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'ComponentAccount' => '<string>',
                            'ComponentRegion' => '<string>',
                            'CustomerGateway' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'Destination' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'DestinationVpc' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'Direction' => '<string>',
                            'ElasticLoadBalancerListener' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'ExplanationCode' => '<string>',
                            'FirewallStatefulRule' => [
                                'DestinationPorts' => [
                                    [
                                        'From' => <integer>,
                                        'To' => <integer>,
                                    ],
                                    // ...
                                ],
                                'Destinations' => ['<string>', ...],
                                'Direction' => '<string>',
                                'Protocol' => '<string>',
                                'RuleAction' => '<string>',
                                'RuleGroupArn' => '<string>',
                                'SourcePorts' => [
                                    [
                                        'From' => <integer>,
                                        'To' => <integer>,
                                    ],
                                    // ...
                                ],
                                'Sources' => ['<string>', ...],
                            ],
                            'FirewallStatelessRule' => [
                                'DestinationPorts' => [
                                    [
                                        'From' => <integer>,
                                        'To' => <integer>,
                                    ],
                                    // ...
                                ],
                                'Destinations' => ['<string>', ...],
                                'Priority' => <integer>,
                                'Protocols' => [<integer>, ...],
                                'RuleAction' => '<string>',
                                'RuleGroupArn' => '<string>',
                                'SourcePorts' => [
                                    [
                                        'From' => <integer>,
                                        'To' => <integer>,
                                    ],
                                    // ...
                                ],
                                'Sources' => ['<string>', ...],
                            ],
                            'IngressRouteTable' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'InternetGateway' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'LoadBalancerArn' => '<string>',
                            'LoadBalancerListenerPort' => <integer>,
                            'LoadBalancerTarget' => [
                                'Address' => '<string>',
                                'AvailabilityZone' => '<string>',
                                'Instance' => [
                                    'Arn' => '<string>',
                                    'Id' => '<string>',
                                    'Name' => '<string>',
                                ],
                                'Port' => <integer>,
                            ],
                            'LoadBalancerTargetGroup' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'LoadBalancerTargetGroups' => [
                                [
                                    'Arn' => '<string>',
                                    'Id' => '<string>',
                                    'Name' => '<string>',
                                ],
                                // ...
                            ],
                            'LoadBalancerTargetPort' => <integer>,
                            'MissingComponent' => '<string>',
                            'NatGateway' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'NetworkInterface' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'PacketField' => '<string>',
                            'Port' => <integer>,
                            'PortRanges' => [
                                [
                                    'From' => <integer>,
                                    'To' => <integer>,
                                ],
                                // ...
                            ],
                            'PrefixList' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'Protocols' => ['<string>', ...],
                            'RouteTable' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'RouteTableRoute' => [
                                'CarrierGatewayId' => '<string>',
                                'CoreNetworkArn' => '<string>',
                                'DestinationCidr' => '<string>',
                                'DestinationPrefixListId' => '<string>',
                                'EgressOnlyInternetGatewayId' => '<string>',
                                'GatewayId' => '<string>',
                                'InstanceId' => '<string>',
                                'LocalGatewayId' => '<string>',
                                'NatGatewayId' => '<string>',
                                'NetworkInterfaceId' => '<string>',
                                'Origin' => '<string>',
                                'State' => '<string>',
                                'TransitGatewayId' => '<string>',
                                'VpcPeeringConnectionId' => '<string>',
                            ],
                            'SecurityGroup' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'SecurityGroupRule' => [
                                'Cidr' => '<string>',
                                'Direction' => '<string>',
                                'PortRange' => [
                                    'From' => <integer>,
                                    'To' => <integer>,
                                ],
                                'PrefixListId' => '<string>',
                                'Protocol' => '<string>',
                                'SecurityGroupId' => '<string>',
                            ],
                            'SecurityGroups' => [
                                [
                                    'Arn' => '<string>',
                                    'Id' => '<string>',
                                    'Name' => '<string>',
                                ],
                                // ...
                            ],
                            'SourceVpc' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'State' => '<string>',
                            'Subnet' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'SubnetRouteTable' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'TransitGateway' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'TransitGatewayAttachment' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'TransitGatewayRouteTable' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'TransitGatewayRouteTableRoute' => [
                                'AttachmentId' => '<string>',
                                'DestinationCidr' => '<string>',
                                'PrefixListId' => '<string>',
                                'ResourceId' => '<string>',
                                'ResourceType' => '<string>',
                                'RouteOrigin' => '<string>',
                                'State' => '<string>',
                            ],
                            'Vpc' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'VpcEndpoint' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'VpcPeeringConnection' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'VpnConnection' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'VpnGateway' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                        ],
                        // ...
                    ],
                    'FirewallStatefulRule' => [
                        'DestinationPorts' => [
                            [
                                'From' => <integer>,
                                'To' => <integer>,
                            ],
                            // ...
                        ],
                        'Destinations' => ['<string>', ...],
                        'Direction' => '<string>',
                        'Protocol' => '<string>',
                        'RuleAction' => '<string>',
                        'RuleGroupArn' => '<string>',
                        'SourcePorts' => [
                            [
                                'From' => <integer>,
                                'To' => <integer>,
                            ],
                            // ...
                        ],
                        'Sources' => ['<string>', ...],
                    ],
                    'FirewallStatelessRule' => [
                        'DestinationPorts' => [
                            [
                                'From' => <integer>,
                                'To' => <integer>,
                            ],
                            // ...
                        ],
                        'Destinations' => ['<string>', ...],
                        'Priority' => <integer>,
                        'Protocols' => [<integer>, ...],
                        'RuleAction' => '<string>',
                        'RuleGroupArn' => '<string>',
                        'SourcePorts' => [
                            [
                                'From' => <integer>,
                                'To' => <integer>,
                            ],
                            // ...
                        ],
                        'Sources' => ['<string>', ...],
                    ],
                    'InboundHeader' => [
                        'DestinationAddresses' => ['<string>', ...],
                        'DestinationPortRanges' => [
                            [
                                'From' => <integer>,
                                'To' => <integer>,
                            ],
                            // ...
                        ],
                        'Protocol' => '<string>',
                        'SourceAddresses' => ['<string>', ...],
                        'SourcePortRanges' => [
                            [
                                'From' => <integer>,
                                'To' => <integer>,
                            ],
                            // ...
                        ],
                    ],
                    'OutboundHeader' => [
                        'DestinationAddresses' => ['<string>', ...],
                        'DestinationPortRanges' => [
                            [
                                'From' => <integer>,
                                'To' => <integer>,
                            ],
                            // ...
                        ],
                        'Protocol' => '<string>',
                        'SourceAddresses' => ['<string>', ...],
                        'SourcePortRanges' => [
                            [
                                'From' => <integer>,
                                'To' => <integer>,
                            ],
                            // ...
                        ],
                    ],
                    'RouteTableRoute' => [
                        'CarrierGatewayId' => '<string>',
                        'CoreNetworkArn' => '<string>',
                        'DestinationCidr' => '<string>',
                        'DestinationPrefixListId' => '<string>',
                        'EgressOnlyInternetGatewayId' => '<string>',
                        'GatewayId' => '<string>',
                        'InstanceId' => '<string>',
                        'LocalGatewayId' => '<string>',
                        'NatGatewayId' => '<string>',
                        'NetworkInterfaceId' => '<string>',
                        'Origin' => '<string>',
                        'State' => '<string>',
                        'TransitGatewayId' => '<string>',
                        'VpcPeeringConnectionId' => '<string>',
                    ],
                    'SecurityGroupRule' => [
                        'Cidr' => '<string>',
                        'Direction' => '<string>',
                        'PortRange' => [
                            'From' => <integer>,
                            'To' => <integer>,
                        ],
                        'PrefixListId' => '<string>',
                        'Protocol' => '<string>',
                        'SecurityGroupId' => '<string>',
                    ],
                    'SequenceNumber' => <integer>,
                    'ServiceName' => '<string>',
                    'SourceVpc' => [
                        'Arn' => '<string>',
                        'Id' => '<string>',
                        'Name' => '<string>',
                    ],
                    'Subnet' => [
                        'Arn' => '<string>',
                        'Id' => '<string>',
                        'Name' => '<string>',
                    ],
                    'TransitGateway' => [
                        'Arn' => '<string>',
                        'Id' => '<string>',
                        'Name' => '<string>',
                    ],
                    'TransitGatewayRouteTableRoute' => [
                        'AttachmentId' => '<string>',
                        'DestinationCidr' => '<string>',
                        'PrefixListId' => '<string>',
                        'ResourceId' => '<string>',
                        'ResourceType' => '<string>',
                        'RouteOrigin' => '<string>',
                        'State' => '<string>',
                    ],
                    'Vpc' => [
                        'Arn' => '<string>',
                        'Id' => '<string>',
                        'Name' => '<string>',
                    ],
                ],
                // ...
            ],
            'StartDate' => <DateTime>,
            'Status' => 'running|succeeded|failed',
            'StatusMessage' => '<string>',
            'SuggestedAccounts' => ['<string>', ...],
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'WarningMessage' => '<string>',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
NetworkInsightsAnalyses
Type: Array of NetworkInsightsAnalysis structures

Information about the network insights analyses.

NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

Errors

There are no errors described for this operation.

DescribeNetworkInsightsPaths

$result = $client->describeNetworkInsightsPaths([/* ... */]);
$promise = $client->describeNetworkInsightsPathsAsync([/* ... */]);

Describes one or more of your paths.

Parameter Syntax

$result = $client->describeNetworkInsightsPaths([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NetworkInsightsPathIds' => ['<string>', ...],
    'NextToken' => '<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.

Filters
Type: Array of Filter structures

The filters. The following are the possible values:

  • destination - The ID of the resource.

  • filter-at-source.source-address - The source IPv4 address at the source.

  • filter-at-source.source-port-range - The source port range at the source.

  • filter-at-source.destination-address - The destination IPv4 address at the source.

  • filter-at-source.destination-port-range - The destination port range at the source.

  • filter-at-destination.source-address - The source IPv4 address at the destination.

  • filter-at-destination.source-port-range - The source port range at the destination.

  • filter-at-destination.destination-address - The destination IPv4 address at the destination.

  • filter-at-destination.destination-port-range - The destination port range at the destination.

  • protocol - The protocol.

  • source - The ID of the resource.

MaxResults
Type: int

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

NetworkInsightsPathIds
Type: Array of strings

The IDs of the paths.

NextToken
Type: string

The token for the next page of results.

Result Syntax

[
    'NetworkInsightsPaths' => [
        [
            'CreatedDate' => <DateTime>,
            'Destination' => '<string>',
            'DestinationArn' => '<string>',
            'DestinationIp' => '<string>',
            'DestinationPort' => <integer>,
            'FilterAtDestination' => [
                'DestinationAddress' => '<string>',
                'DestinationPortRange' => [
                    'FromPort' => <integer>,
                    'ToPort' => <integer>,
                ],
                'SourceAddress' => '<string>',
                'SourcePortRange' => [
                    'FromPort' => <integer>,
                    'ToPort' => <integer>,
                ],
            ],
            'FilterAtSource' => [
                'DestinationAddress' => '<string>',
                'DestinationPortRange' => [
                    'FromPort' => <integer>,
                    'ToPort' => <integer>,
                ],
                'SourceAddress' => '<string>',
                'SourcePortRange' => [
                    'FromPort' => <integer>,
                    'ToPort' => <integer>,
                ],
            ],
            'NetworkInsightsPathArn' => '<string>',
            'NetworkInsightsPathId' => '<string>',
            'Protocol' => 'tcp|udp',
            'Source' => '<string>',
            'SourceArn' => '<string>',
            'SourceIp' => '<string>',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
NetworkInsightsPaths
Type: Array of NetworkInsightsPath structures

Information about the paths.

NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

Errors

There are no errors described for this operation.

DescribeNetworkInterfaceAttribute

$result = $client->describeNetworkInterfaceAttribute([/* ... */]);
$promise = $client->describeNetworkInterfaceAttributeAsync([/* ... */]);

Describes a network interface attribute. You can specify only one attribute at a time.

Parameter Syntax

$result = $client->describeNetworkInterfaceAttribute([
    'Attribute' => 'description|groupSet|sourceDestCheck|attachment|associatePublicIpAddress',
    'DryRun' => true || false,
    'NetworkInterfaceId' => '<string>', // REQUIRED
]);

Parameter Details

Members
Attribute
Type: string

The attribute of the network interface. This parameter is required.

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.

NetworkInterfaceId
Required: Yes
Type: string

The ID of the network interface.

Result Syntax

[
    'AssociatePublicIpAddress' => true || false,
    'Attachment' => [
        'AttachTime' => <DateTime>,
        'AttachmentId' => '<string>',
        'DeleteOnTermination' => true || false,
        'DeviceIndex' => <integer>,
        'EnaSrdSpecification' => [
            'EnaSrdEnabled' => true || false,
            'EnaSrdUdpSpecification' => [
                'EnaSrdUdpEnabled' => true || false,
            ],
        ],
        'InstanceId' => '<string>',
        'InstanceOwnerId' => '<string>',
        'NetworkCardIndex' => <integer>,
        'Status' => 'attaching|attached|detaching|detached',
    ],
    'Description' => [
        'Value' => '<string>',
    ],
    'Groups' => [
        [
            'GroupId' => '<string>',
            'GroupName' => '<string>',
        ],
        // ...
    ],
    'NetworkInterfaceId' => '<string>',
    'SourceDestCheck' => [
        'Value' => true || false,
    ],
]

Result Details

Members
AssociatePublicIpAddress
Type: boolean

Indicates whether to assign a public IPv4 address to a network interface. This option can be enabled for any network interface but will only apply to the primary network interface (eth0).

Attachment
Type: NetworkInterfaceAttachment structure

The attachment (if any) of the network interface.

Description
Type: AttributeValue structure

The description of the network interface.

Groups
Type: Array of GroupIdentifier structures

The security groups associated with the network interface.

NetworkInterfaceId
Type: string

The ID of the network interface.

SourceDestCheck
Type: AttributeBooleanValue structure

Indicates whether source/destination checking is enabled.

Errors

There are no errors described for this operation.

Examples

Example 1: To describe the attachment attribute of a network interface

This example describes the attachment attribute of the specified network interface.

$result = $client->describeNetworkInterfaceAttribute([
    'Attribute' => 'attachment',
    'NetworkInterfaceId' => 'eni-686ea200',
]);

Result syntax:

[
    'Attachment' => [
        'AttachTime' => ,
        'AttachmentId' => 'eni-attach-43348162',
        'DeleteOnTermination' => 1,
        'DeviceIndex' => 0,
        'InstanceId' => 'i-1234567890abcdef0',
        'InstanceOwnerId' => '123456789012',
        'Status' => 'attached',
    ],
    'NetworkInterfaceId' => 'eni-686ea200',
]
Example 2: To describe the description attribute of a network interface

This example describes the description attribute of the specified network interface.

$result = $client->describeNetworkInterfaceAttribute([
    'Attribute' => 'description',
    'NetworkInterfaceId' => 'eni-686ea200',
]);

Result syntax:

[
    'Description' => [
        'Value' => 'My description',
    ],
    'NetworkInterfaceId' => 'eni-686ea200',
]
Example 3: To describe the groupSet attribute of a network interface

This example describes the groupSet attribute of the specified network interface.

$result = $client->describeNetworkInterfaceAttribute([
    'Attribute' => 'groupSet',
    'NetworkInterfaceId' => 'eni-686ea200',
]);

Result syntax:

[
    'Groups' => [
        [
            'GroupId' => 'sg-903004f8',
            'GroupName' => 'my-security-group',
        ],
    ],
    'NetworkInterfaceId' => 'eni-686ea200',
]
Example 4: To describe the sourceDestCheck attribute of a network interface

This example describes the sourceDestCheck attribute of the specified network interface.

$result = $client->describeNetworkInterfaceAttribute([
    'Attribute' => 'sourceDestCheck',
    'NetworkInterfaceId' => 'eni-686ea200',
]);

Result syntax:

[
    'NetworkInterfaceId' => 'eni-686ea200',
    'SourceDestCheck' => [
        'Value' => 1,
    ],
]

DescribeNetworkInterfacePermissions

$result = $client->describeNetworkInterfacePermissions([/* ... */]);
$promise = $client->describeNetworkInterfacePermissionsAsync([/* ... */]);

Describes the permissions for your network interfaces.

Parameter Syntax

$result = $client->describeNetworkInterfacePermissions([
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NetworkInterfacePermissionIds' => ['<string>', ...],
    'NextToken' => '<string>',
]);

Parameter Details

Members
Filters
Type: Array of Filter structures

One or more filters.

  • network-interface-permission.network-interface-permission-id - The ID of the permission.

  • network-interface-permission.network-interface-id - The ID of the network interface.

  • network-interface-permission.aws-account-id - The Amazon Web Services account ID.

  • network-interface-permission.aws-service - The Amazon Web Services service.

  • network-interface-permission.permission - The type of permission (INSTANCE-ATTACH | EIP-ASSOCIATE).

MaxResults
Type: int

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. If this parameter is not specified, up to 50 results are returned by default. For more information, see Pagination.

NetworkInterfacePermissionIds
Type: Array of strings

The network interface permission IDs.

NextToken
Type: string

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

Result Syntax

[
    'NetworkInterfacePermissions' => [
        [
            'AwsAccountId' => '<string>',
            'AwsService' => '<string>',
            'NetworkInterfaceId' => '<string>',
            'NetworkInterfacePermissionId' => '<string>',
            'Permission' => 'INSTANCE-ATTACH|EIP-ASSOCIATE',
            'PermissionState' => [
                'State' => 'pending|granted|revoking|revoked',
                'StatusMessage' => '<string>',
            ],
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
NetworkInterfacePermissions
Type: Array of NetworkInterfacePermission structures

The network interface permissions.

NextToken
Type: string

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

Errors

There are no errors described for this operation.

DescribeNetworkInterfaces

$result = $client->describeNetworkInterfaces([/* ... */]);
$promise = $client->describeNetworkInterfacesAsync([/* ... */]);

Describes one or more of your network interfaces.

If you have a large number of network interfaces, the operation fails unless you use pagination or one of the following filters: group-id, mac-address, private-dns-name, private-ip-address, private-dns-name, subnet-id, or vpc-id.

We strongly recommend using only paginated requests. Unpaginated requests are susceptible to throttling and timeouts.

Parameter Syntax

$result = $client->describeNetworkInterfaces([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NetworkInterfaceIds' => ['<string>', ...],
    'NextToken' => '<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.

Filters
Type: Array of Filter structures

One or more filters.

  • association.allocation-id - The allocation ID returned when you allocated the Elastic IP address (IPv4) for your network interface.

  • association.association-id - The association ID returned when the network interface was associated with an IPv4 address.

  • addresses.association.owner-id - The owner ID of the addresses associated with the network interface.

  • addresses.association.public-ip - The association ID returned when the network interface was associated with the Elastic IP address (IPv4).

  • addresses.primary - Whether the private IPv4 address is the primary IP address associated with the network interface.

  • addresses.private-ip-address - The private IPv4 addresses associated with the network interface.

  • association.ip-owner-id - The owner of the Elastic IP address (IPv4) associated with the network interface.

  • association.public-ip - The address of the Elastic IP address (IPv4) bound to the network interface.

  • association.public-dns-name - The public DNS name for the network interface (IPv4).

  • attachment.attach-time - The time that the network interface was attached to an instance.

  • attachment.attachment-id - The ID of the interface attachment.

  • attachment.delete-on-termination - Indicates whether the attachment is deleted when an instance is terminated.

  • attachment.device-index - The device index to which the network interface is attached.

  • attachment.instance-id - The ID of the instance to which the network interface is attached.

  • attachment.instance-owner-id - The owner ID of the instance to which the network interface is attached.

  • attachment.status - The status of the attachment (attaching | attached | detaching | detached).

  • availability-zone - The Availability Zone of the network interface.

  • description - The description of the network interface.

  • group-id - The ID of a security group associated with the network interface.

  • ipv6-addresses.ipv6-address - An IPv6 address associated with the network interface.

  • interface-type - The type of network interface (api_gateway_managed | aws_codestar_connections_managed | branch | ec2_instance_connect_endpoint | efa | efa-only | efs | gateway_load_balancer | gateway_load_balancer_endpoint | global_accelerator_managed | interface | iot_rules_managed | lambda | load_balancer | nat_gateway | network_load_balancer | quicksight | transit_gateway | trunk | vpc_endpoint).

  • mac-address - The MAC address of the network interface.

  • network-interface-id - The ID of the network interface.

  • owner-id - The Amazon Web Services account ID of the network interface owner.

  • private-dns-name - The private DNS name of the network interface (IPv4).

  • private-ip-address - The private IPv4 address or addresses of the network interface.

  • requester-id - The alias or Amazon Web Services account ID of the principal or service that created the network interface.

  • requester-managed - Indicates whether the network interface is being managed by an Amazon Web Services service (for example, Amazon Web Services Management Console, Auto Scaling, and so on).

  • source-dest-check - Indicates whether the network interface performs source/destination checking. A value of true means checking is enabled, and false means checking is disabled. The value must be false for the network interface to perform network address translation (NAT) in your VPC.

  • status - The status of the network interface. If the network interface is not attached to an instance, the status is available; if a network interface is attached to an instance the status is in-use.

  • subnet-id - The ID of the subnet for the network interface.

  • 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.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • vpc-id - The ID of the VPC for the network interface.

MaxResults
Type: int

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. You cannot specify this parameter and the network interface IDs parameter in the same request. For more information, see Pagination.

NetworkInterfaceIds
Type: Array of strings

The network interface IDs.

Default: Describes all your network interfaces.

NextToken
Type: string

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

Result Syntax

[
    'NetworkInterfaces' => [
        [
            'Association' => [
                'AllocationId' => '<string>',
                'AssociationId' => '<string>',
                'CarrierIp' => '<string>',
                'CustomerOwnedIp' => '<string>',
                'IpOwnerId' => '<string>',
                'PublicDnsName' => '<string>',
                'PublicIp' => '<string>',
            ],
            'Attachment' => [
                'AttachTime' => <DateTime>,
                'AttachmentId' => '<string>',
                'DeleteOnTermination' => true || false,
                'DeviceIndex' => <integer>,
                'EnaSrdSpecification' => [
                    'EnaSrdEnabled' => true || false,
                    'EnaSrdUdpSpecification' => [
                        'EnaSrdUdpEnabled' => true || false,
                    ],
                ],
                'InstanceId' => '<string>',
                'InstanceOwnerId' => '<string>',
                'NetworkCardIndex' => <integer>,
                'Status' => 'attaching|attached|detaching|detached',
            ],
            'AvailabilityZone' => '<string>',
            'ConnectionTrackingConfiguration' => [
                'TcpEstablishedTimeout' => <integer>,
                'UdpStreamTimeout' => <integer>,
                'UdpTimeout' => <integer>,
            ],
            'DenyAllIgwTraffic' => true || false,
            'Description' => '<string>',
            'Groups' => [
                [
                    'GroupId' => '<string>',
                    'GroupName' => '<string>',
                ],
                // ...
            ],
            'InterfaceType' => 'interface|natGateway|efa|efa-only|trunk|load_balancer|network_load_balancer|vpc_endpoint|branch|transit_gateway|lambda|quicksight|global_accelerator_managed|api_gateway_managed|gateway_load_balancer|gateway_load_balancer_endpoint|iot_rules_managed|aws_codestar_connections_managed',
            'Ipv4Prefixes' => [
                [
                    'Ipv4Prefix' => '<string>',
                ],
                // ...
            ],
            'Ipv6Address' => '<string>',
            'Ipv6Addresses' => [
                [
                    'Ipv6Address' => '<string>',
                    'IsPrimaryIpv6' => true || false,
                ],
                // ...
            ],
            'Ipv6Native' => true || false,
            'Ipv6Prefixes' => [
                [
                    'Ipv6Prefix' => '<string>',
                ],
                // ...
            ],
            'MacAddress' => '<string>',
            'NetworkInterfaceId' => '<string>',
            'OutpostArn' => '<string>',
            'OwnerId' => '<string>',
            'PrivateDnsName' => '<string>',
            'PrivateIpAddress' => '<string>',
            'PrivateIpAddresses' => [
                [
                    'Association' => [
                        'AllocationId' => '<string>',
                        'AssociationId' => '<string>',
                        'CarrierIp' => '<string>',
                        'CustomerOwnedIp' => '<string>',
                        'IpOwnerId' => '<string>',
                        'PublicDnsName' => '<string>',
                        'PublicIp' => '<string>',
                    ],
                    'Primary' => true || false,
                    'PrivateDnsName' => '<string>',
                    'PrivateIpAddress' => '<string>',
                ],
                // ...
            ],
            'RequesterId' => '<string>',
            'RequesterManaged' => true || false,
            'SourceDestCheck' => true || false,
            'Status' => 'available|associated|attaching|in-use|detaching',
            'SubnetId' => '<string>',
            'TagSet' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'VpcId' => '<string>',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
NetworkInterfaces
Type: Array of NetworkInterface structures

Information about the network interfaces.

NextToken
Type: string

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

Errors

There are no errors described for this operation.

Examples

Example 1: To describe a network interface

$result = $client->describeNetworkInterfaces([
    'NetworkInterfaceIds' => [
        'eni-e5aa89a3',
    ],
]);

Result syntax:

[
    'NetworkInterfaces' => [
        [
            'Association' => [
                'AssociationId' => 'eipassoc-0fbb766a',
                'IpOwnerId' => '123456789012',
                'PublicDnsName' => 'ec2-203-0-113-12.compute-1.amazonaws.com',
                'PublicIp' => '203.0.113.12',
            ],
            'Attachment' => [
                'AttachTime' => ,
                'AttachmentId' => 'eni-attach-66c4350a',
                'DeleteOnTermination' => ,
                'DeviceIndex' => 1,
                'InstanceId' => 'i-1234567890abcdef0',
                'InstanceOwnerId' => '123456789012',
                'Status' => 'attached',
            ],
            'AvailabilityZone' => 'us-east-1d',
            'Description' => 'my network interface',
            'Groups' => [
                [
                    'GroupId' => 'sg-8637d3e3',
                    'GroupName' => 'default',
                ],
            ],
            'MacAddress' => '02:2f:8f:b0:cf:75',
            'NetworkInterfaceId' => 'eni-e5aa89a3',
            'OwnerId' => '123456789012',
            'PrivateDnsName' => 'ip-10-0-1-17.ec2.internal',
            'PrivateIpAddress' => '10.0.1.17',
            'PrivateIpAddresses' => [
                [
                    'Association' => [
                        'AssociationId' => 'eipassoc-0fbb766a',
                        'IpOwnerId' => '123456789012',
                        'PublicDnsName' => 'ec2-203-0-113-12.compute-1.amazonaws.com',
                        'PublicIp' => '203.0.113.12',
                    ],
                    'Primary' => 1,
                    'PrivateDnsName' => 'ip-10-0-1-17.ec2.internal',
                    'PrivateIpAddress' => '10.0.1.17',
                ],
            ],
            'RequesterManaged' => ,
            'SourceDestCheck' => 1,
            'Status' => 'in-use',
            'SubnetId' => 'subnet-b61f49f0',
            'TagSet' => [
            ],
            'VpcId' => 'vpc-a01106c2',
        ],
    ],
]

DescribePlacementGroups

$result = $client->describePlacementGroups([/* ... */]);
$promise = $client->describePlacementGroupsAsync([/* ... */]);

Describes the specified placement groups or all of your placement groups.

To describe a specific placement group that is shared with your account, you must specify the ID of the placement group using the GroupId parameter. Specifying the name of a shared placement group using the GroupNames parameter will result in an error.

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

Parameter Syntax

$result = $client->describePlacementGroups([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'GroupIds' => ['<string>', ...],
    'GroupNames' => ['<string>', ...],
]);

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.

Filters
Type: Array of Filter structures

The filters.

  • group-name - The name of the placement group.

  • group-arn - The Amazon Resource Name (ARN) of the placement group.

  • spread-level - The spread level for the placement group (host | rack).

  • state - The state of the placement group (pending | available | deleting | deleted).

  • strategy - The strategy of the placement group (cluster | spread | partition).

  • 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.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources that have a tag with a specific key, regardless of the tag value.

GroupIds
Type: Array of strings

The IDs of the placement groups.

GroupNames
Type: Array of strings

The names of the placement groups.

Constraints:

  • You can specify a name only if the placement group is owned by your account.

  • If a placement group is shared with your account, specifying the name results in an error. You must use the GroupId parameter instead.

Result Syntax

[
    'PlacementGroups' => [
        [
            'GroupArn' => '<string>',
            'GroupId' => '<string>',
            'GroupName' => '<string>',
            'PartitionCount' => <integer>,
            'SpreadLevel' => 'host|rack',
            'State' => 'pending|available|deleting|deleted',
            'Strategy' => 'cluster|spread|partition',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
]

Result Details

Members
PlacementGroups
Type: Array of PlacementGroup structures

Information about the placement groups.

Errors

There are no errors described for this operation.

DescribePrefixLists

$result = $client->describePrefixLists([/* ... */]);
$promise = $client->describePrefixListsAsync([/* ... */]);

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.

We recommend that you use DescribeManagedPrefixLists instead.

Parameter Syntax

$result = $client->describePrefixLists([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'PrefixListIds' => ['<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.

Filters
Type: Array of Filter structures

One or more filters.

  • prefix-list-id: The ID of a prefix list.

  • prefix-list-name: The name of a prefix list.

MaxResults
Type: int

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

NextToken
Type: string

The token for the next page of results.

PrefixListIds
Type: Array of strings

One or more prefix list IDs.

Result Syntax

[
    'NextToken' => '<string>',
    'PrefixLists' => [
        [
            'Cidrs' => ['<string>', ...],
            'PrefixListId' => '<string>',
            'PrefixListName' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

PrefixLists
Type: Array of PrefixList structures

All available prefix lists.

Errors

There are no errors described for this operation.

DescribePrincipalIdFormat

$result = $client->describePrincipalIdFormat([/* ... */]);
$promise = $client->describePrincipalIdFormatAsync([/* ... */]);

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.

By default, all IAM roles and IAM users default to the same ID settings as the root user, unless they explicitly override the settings. This request is useful for identifying those IAM users and IAM roles that have overridden the default ID settings.

The following resource types support longer IDs: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association | export-task | flow-log | image | import-task | instance | internet-gateway | network-acl | network-acl-association | network-interface | network-interface-attachment | prefix-list | reservation | route-table | route-table-association | security-group | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

Parameter Syntax

$result = $client->describePrincipalIdFormat([
    'DryRun' => true || false,
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'Resources' => ['<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.

MaxResults
Type: int

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value.

NextToken
Type: string

The token to request the next page of results.

Resources
Type: Array of strings

The type of resource: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association | export-task | flow-log | image | import-task | instance | internet-gateway | network-acl | network-acl-association | network-interface | network-interface-attachment | prefix-list | reservation | route-table | route-table-association | security-group | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway

Result Syntax

[
    'NextToken' => '<string>',
    'Principals' => [
        [
            'Arn' => '<string>',
            'Statuses' => [
                [
                    'Deadline' => <DateTime>,
                    'Resource' => '<string>',
                    'UseLongIds' => true || false,
                ],
                // ...
            ],
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

Principals
Type: Array of PrincipalIdFormat structures

Information about the ID format settings for the ARN.

Errors

There are no errors described for this operation.

DescribePublicIpv4Pools

$result = $client->describePublicIpv4Pools([/* ... */]);
$promise = $client->describePublicIpv4PoolsAsync([/* ... */]);

Describes the specified IPv4 address pools.

Parameter Syntax

$result = $client->describePublicIpv4Pools([
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'PoolIds' => ['<string>', ...],
]);

Parameter Details

Members
Filters
Type: Array of Filter structures

One or more filters.

  • 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.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

MaxResults
Type: int

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

NextToken
Type: string

The token for the next page of results.

PoolIds
Type: Array of strings

The IDs of the address pools.

Result Syntax

[
    'NextToken' => '<string>',
    'PublicIpv4Pools' => [
        [
            'Description' => '<string>',
            'NetworkBorderGroup' => '<string>',
            'PoolAddressRanges' => [
                [
                    'AddressCount' => <integer>,
                    'AvailableAddressCount' => <integer>,
                    'FirstAddress' => '<string>',
                    'LastAddress' => '<string>',
                ],
                // ...
            ],
            'PoolId' => '<string>',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'TotalAddressCount' => <integer>,
            'TotalAvailableAddressCount' => <integer>,
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

PublicIpv4Pools
Type: Array of PublicIpv4Pool structures

Information about the address pools.

Errors

There are no errors described for this operation.

DescribeRegions

$result = $client->describeRegions([/* ... */]);
$promise = $client->describeRegionsAsync([/* ... */]);

Describes the Regions that are enabled for your account, or all Regions.

For a list of the Regions supported by Amazon EC2, see Amazon EC2 service endpoints.

For information about enabling and disabling Regions for your account, see Specify which Amazon Web Services Regions your account can use in the Amazon Web Services Account Management Reference Guide.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

Parameter Syntax

$result = $client->describeRegions([
    'AllRegions' => true || false,
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'RegionNames' => ['<string>', ...],
]);

Parameter Details

Members
AllRegions
Type: boolean

Indicates whether to display all Regions, including Regions that are disabled for your account.

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.

Filters
Type: Array of Filter structures

The filters.

  • endpoint - The endpoint of the Region (for example, ec2.us-east-1.amazonaws.com).

  • opt-in-status - The opt-in status of the Region (opt-in-not-required | opted-in | not-opted-in).

  • region-name - The name of the Region (for example, us-east-1).

RegionNames
Type: Array of strings

The names of the Regions. You can specify any Regions, whether they are enabled and disabled for your account.

Result Syntax

[
    'Regions' => [
        [
            'Endpoint' => '<string>',
            'OptInStatus' => '<string>',
            'RegionName' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
Regions
Type: Array of Region structures

Information about the Regions.

Errors

There are no errors described for this operation.

Examples

Example 1: To describe your regions

This example describes all the regions that are available to you.

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

Result syntax:

[
    'Regions' => [
        [
            'Endpoint' => 'ec2.ap-south-1.amazonaws.com',
            'RegionName' => 'ap-south-1',
        ],
        [
            'Endpoint' => 'ec2.eu-west-1.amazonaws.com',
            'RegionName' => 'eu-west-1',
        ],
        [
            'Endpoint' => 'ec2.ap-southeast-1.amazonaws.com',
            'RegionName' => 'ap-southeast-1',
        ],
        [
            'Endpoint' => 'ec2.ap-southeast-2.amazonaws.com',
            'RegionName' => 'ap-southeast-2',
        ],
        [
            'Endpoint' => 'ec2.eu-central-1.amazonaws.com',
            'RegionName' => 'eu-central-1',
        ],
        [
            'Endpoint' => 'ec2.ap-northeast-2.amazonaws.com',
            'RegionName' => 'ap-northeast-2',
        ],
        [
            'Endpoint' => 'ec2.ap-northeast-1.amazonaws.com',
            'RegionName' => 'ap-northeast-1',
        ],
        [
            'Endpoint' => 'ec2.us-east-1.amazonaws.com',
            'RegionName' => 'us-east-1',
        ],
        [
            'Endpoint' => 'ec2.sa-east-1.amazonaws.com',
            'RegionName' => 'sa-east-1',
        ],
        [
            'Endpoint' => 'ec2.us-west-1.amazonaws.com',
            'RegionName' => 'us-west-1',
        ],
        [
            'Endpoint' => 'ec2.us-west-2.amazonaws.com',
            'RegionName' => 'us-west-2',
        ],
    ],
]

DescribeReplaceRootVolumeTasks

$result = $client->describeReplaceRootVolumeTasks([/* ... */]);
$promise = $client->describeReplaceRootVolumeTasksAsync([/* ... */]);

Describes a root volume replacement task. For more information, see Replace a root volume in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->describeReplaceRootVolumeTasks([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'ReplaceRootVolumeTaskIds' => ['<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.

Filters
Type: Array of Filter structures

Filter to use:

  • instance-id - The ID of the instance for which the root volume replacement task was created.

MaxResults
Type: int

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

NextToken
Type: string

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

ReplaceRootVolumeTaskIds
Type: Array of strings

The ID of the root volume replacement task to view.

Result Syntax

[
    'NextToken' => '<string>',
    'ReplaceRootVolumeTasks' => [
        [
            'CompleteTime' => '<string>',
            'DeleteReplacedRootVolume' => true || false,
            'ImageId' => '<string>',
            'InstanceId' => '<string>',
            'ReplaceRootVolumeTaskId' => '<string>',
            'SnapshotId' => '<string>',
            'StartTime' => '<string>',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'TaskState' => 'pending|in-progress|failing|succeeded|failed|failed-detached',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

ReplaceRootVolumeTasks
Type: Array of ReplaceRootVolumeTask structures

Information about the root volume replacement task.

Errors

There are no errors described for this operation.

DescribeReservedInstances

$result = $client->describeReservedInstances([/* ... */]);
$promise = $client->describeReservedInstancesAsync([/* ... */]);

Describes one or more of the Reserved Instances that you purchased.

For more information about Reserved Instances, see Reserved Instances in the Amazon EC2 User Guide.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

Parameter Syntax

$result = $client->describeReservedInstances([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'OfferingClass' => 'standard|convertible',
    'OfferingType' => 'Heavy Utilization|Medium Utilization|Light Utilization|No Upfront|Partial Upfront|All Upfront',
    'ReservedInstancesIds' => ['<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.

Filters
Type: Array of Filter structures

One or more filters.

  • availability-zone - The Availability Zone where the Reserved Instance can be used.

  • duration - The duration of the Reserved Instance (one year or three years), in seconds (31536000 | 94608000).

  • end - The time when the Reserved Instance expires (for example, 2015-08-07T11:54:42.000Z).

  • fixed-price - The purchase price of the Reserved Instance (for example, 9800.0).

  • instance-type - The instance type that is covered by the reservation.

  • scope - The scope of the Reserved Instance (Region or Availability Zone).

  • product-description - The Reserved Instance product platform description (Linux/UNIX | Linux with SQL Server Standard | Linux with SQL Server Web | Linux with SQL Server Enterprise | SUSE Linux | Red Hat Enterprise Linux | Red Hat Enterprise Linux with HA | Windows | Windows with SQL Server Standard | Windows with SQL Server Web | Windows with SQL Server Enterprise).

  • reserved-instances-id - The ID of the Reserved Instance.

  • start - The time at which the Reserved Instance purchase request was placed (for example, 2014-08-07T11:54:42.000Z).

  • state - The state of the Reserved Instance (payment-pending | active | payment-failed | retired).

  • 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.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • usage-price - The usage price of the Reserved Instance, per hour (for example, 0.84).

OfferingClass
Type: string

Describes whether the Reserved Instance is Standard or Convertible.

OfferingType
Type: string

The Reserved Instance offering type. If you are using tools that predate the 2011-11-01 API version, you only have access to the Medium Utilization Reserved Instance offering type.

ReservedInstancesIds
Type: Array of strings

One or more Reserved Instance IDs.

Default: Describes all your Reserved Instances, or only those otherwise specified.

Result Syntax

[
    'ReservedInstances' => [
        [
            'AvailabilityZone' => '<string>',
            'CurrencyCode' => 'USD',
            'Duration' => <integer>,
            'End' => <DateTime>,
            'FixedPrice' => <float>,
            'InstanceCount' => <integer>,
            'InstanceTenancy' => 'default|dedicated|host',
            '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',
            'OfferingClass' => 'standard|convertible',
            'OfferingType' => 'Heavy Utilization|Medium Utilization|Light Utilization|No Upfront|Partial Upfront|All Upfront',
            'ProductDescription' => 'Linux/UNIX|Linux/UNIX (Amazon VPC)|Windows|Windows (Amazon VPC)',
            'RecurringCharges' => [
                [
                    'Amount' => <float>,
                    'Frequency' => 'Hourly',
                ],
                // ...
            ],
            'ReservedInstancesId' => '<string>',
            'Scope' => 'Availability Zone|Region',
            'Start' => <DateTime>,
            'State' => 'payment-pending|active|payment-failed|retired|queued|queued-deleted',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'UsagePrice' => <float>,
        ],
        // ...
    ],
]

Result Details

Members
ReservedInstances
Type: Array of ReservedInstances structures

A list of Reserved Instances.

Errors

There are no errors described for this operation.

DescribeReservedInstancesListings

$result = $client->describeReservedInstancesListings([/* ... */]);
$promise = $client->describeReservedInstancesListingsAsync([/* ... */]);

Describes your account's Reserved Instance listings in the Reserved Instance Marketplace.

The Reserved Instance Marketplace matches sellers who want to resell Reserved Instance capacity that they no longer need with buyers who want to purchase additional capacity. Reserved Instances bought and sold through the Reserved Instance Marketplace work like any other Reserved Instances.

As a seller, you choose to list some or all of your Reserved Instances, and you specify the upfront price to receive for them. Your Reserved Instances are then listed in the Reserved Instance Marketplace and are available for purchase.

As a buyer, you specify the configuration of the Reserved Instance to purchase, and the Marketplace matches what you're searching for with what's available. The Marketplace first sells the lowest priced Reserved Instances to you, and continues to sell available Reserved Instance listings to you until your demand is met. You are charged based on the total price of all of the listings that you purchase.

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

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

Parameter Syntax

$result = $client->describeReservedInstancesListings([
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'ReservedInstancesId' => '<string>',
    'ReservedInstancesListingId' => '<string>',
]);

Parameter Details

Members
Filters
Type: Array of Filter structures

One or more filters.

  • reserved-instances-id - The ID of the Reserved Instances.

  • reserved-instances-listing-id - The ID of the Reserved Instances listing.

  • status - The status of the Reserved Instance listing (pending | active | cancelled | closed).

  • status-message - The reason for the status.

ReservedInstancesId
Type: string

One or more Reserved Instance IDs.

ReservedInstancesListingId
Type: string

One or more Reserved Instance listing IDs.

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

Information about the Reserved Instance listing.

Errors

There are no errors described for this operation.

DescribeReservedInstancesModifications

$result = $client->describeReservedInstancesModifications([/* ... */]);
$promise = $client->describeReservedInstancesModificationsAsync([/* ... */]);

Describes the modifications made to your Reserved Instances. If no parameter is specified, information about all your Reserved Instances modification requests is returned. If a modification ID is specified, only information about the specific modification is returned.

For more information, see Modify Reserved Instances in the Amazon EC2 User Guide.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

Parameter Syntax

$result = $client->describeReservedInstancesModifications([
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'NextToken' => '<string>',
    'ReservedInstancesModificationIds' => ['<string>', ...],
]);

Parameter Details

Members
Filters
Type: Array of Filter structures

One or more filters.

  • client-token - The idempotency token for the modification request.

  • create-date - The time when the modification request was created.

  • effective-date - The time when the modification becomes effective.

  • modification-result.reserved-instances-id - The ID for the Reserved Instances created as part of the modification request. This ID is only available when the status of the modification is fulfilled.

  • modification-result.target-configuration.availability-zone - The Availability Zone for the new Reserved Instances.

  • modification-result.target-configuration.instance-count - The number of new Reserved Instances.

  • modification-result.target-configuration.instance-type - The instance type of the new Reserved Instances.

  • reserved-instances-id - The ID of the Reserved Instances modified.

  • reserved-instances-modification-id - The ID of the modification request.

  • status - The status of the Reserved Instances modification request (processing | fulfilled | failed).

  • status-message - The reason for the status.

  • update-date - The time when the modification request was last updated.

NextToken
Type: string

The token to retrieve the next page of results.

ReservedInstancesModificationIds
Type: Array of strings

IDs for the submitted modification request.

Result Syntax

[
    'NextToken' => '<string>',
    'ReservedInstancesModifications' => [
        [
            'ClientToken' => '<string>',
            'CreateDate' => <DateTime>,
            'EffectiveDate' => <DateTime>,
            'ModificationResults' => [
                [
                    'ReservedInstancesId' => '<string>',
                    'TargetConfiguration' => [
                        'AvailabilityZone' => '<string>',
                        'InstanceCount' => <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',
                        'Platform' => '<string>',
                        'Scope' => 'Availability Zone|Region',
                    ],
                ],
                // ...
            ],
            'ReservedInstancesIds' => [
                [
                    'ReservedInstancesId' => '<string>',
                ],
                // ...
            ],
            'ReservedInstancesModificationId' => '<string>',
            'Status' => '<string>',
            'StatusMessage' => '<string>',
            'UpdateDate' => <DateTime>,
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

ReservedInstancesModifications
Type: Array of ReservedInstancesModification structures

The Reserved Instance modification information.

Errors

There are no errors described for this operation.

DescribeReservedInstancesOfferings

$result = $client->describeReservedInstancesOfferings([/* ... */]);
$promise = $client->describeReservedInstancesOfferingsAsync([/* ... */]);

Describes Reserved Instance offerings that are available for purchase. With Reserved Instances, you purchase the right to launch instances for a period of time. During that time period, you do not receive insufficient capacity errors, and you pay a lower usage rate than the rate charged for On-Demand instances for the actual time used.

If you have listed your own Reserved Instances for sale in the Reserved Instance Marketplace, they will be excluded from these results. This is to ensure that you do not purchase your own Reserved Instances.

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

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

Parameter Syntax

$result = $client->describeReservedInstancesOfferings([
    'AvailabilityZone' => '<string>',
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'IncludeMarketplace' => true || false,
    'InstanceTenancy' => 'default|dedicated|host',
    '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',
    'MaxDuration' => <integer>,
    'MaxInstanceCount' => <integer>,
    'MaxResults' => <integer>,
    'MinDuration' => <integer>,
    'NextToken' => '<string>',
    'OfferingClass' => 'standard|convertible',
    'OfferingType' => 'Heavy Utilization|Medium Utilization|Light Utilization|No Upfront|Partial Upfront|All Upfront',
    'ProductDescription' => 'Linux/UNIX|Linux/UNIX (Amazon VPC)|Windows|Windows (Amazon VPC)',
    'ReservedInstancesOfferingIds' => ['<string>', ...],
]);

Parameter Details

Members
AvailabilityZone
Type: string

The Availability Zone in which the Reserved Instance can be used.

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.

Filters
Type: Array of Filter structures

One or more filters.

  • availability-zone - The Availability Zone where the Reserved Instance can be used.

  • duration - The duration of the Reserved Instance (for example, one year or three years), in seconds (31536000 | 94608000).

  • fixed-price - The purchase price of the Reserved Instance (for example, 9800.0).

  • instance-type - The instance type that is covered by the reservation.

  • marketplace - Set to true to show only Reserved Instance Marketplace offerings. When this filter is not used, which is the default behavior, all offerings from both Amazon Web Services and the Reserved Instance Marketplace are listed.

  • product-description - The Reserved Instance product platform description (Linux/UNIX | Linux with SQL Server Standard | Linux with SQL Server Web | Linux with SQL Server Enterprise | SUSE Linux | Red Hat Enterprise Linux | Red Hat Enterprise Linux with HA | Windows | Windows with SQL Server Standard | Windows with SQL Server Web | Windows with SQL Server Enterprise).

  • reserved-instances-offering-id - The Reserved Instances offering ID.

  • scope - The scope of the Reserved Instance (Availability Zone or Region).

  • usage-price - The usage price of the Reserved Instance, per hour (for example, 0.84).

IncludeMarketplace
Type: boolean

Include Reserved Instance Marketplace offerings in the response.

InstanceTenancy
Type: string

The tenancy of the instances covered by the reservation. A Reserved Instance with a tenancy of dedicated is applied to instances that run in a VPC on single-tenant hardware (i.e., Dedicated Instances).

Important: The host value cannot be used with this parameter. Use the default or dedicated values only.

Default: default

InstanceType
Type: string

The instance type that the reservation will cover (for example, m1.small). For more information, see Amazon EC2 instance types in the Amazon EC2 User Guide.

MaxDuration
Type: long (int|float)

The maximum duration (in seconds) to filter when searching for offerings.

Default: 94608000 (3 years)

MaxInstanceCount
Type: int

The maximum number of instances to filter when searching for offerings.

Default: 20

MaxResults
Type: int

The maximum number of results to return for the request in a single page. The remaining results of the initial request can be seen by sending another request with the returned NextToken value. The maximum is 100.

Default: 100

MinDuration
Type: long (int|float)

The minimum duration (in seconds) to filter when searching for offerings.

Default: 2592000 (1 month)

NextToken
Type: string

The token to retrieve the next page of results.

OfferingClass
Type: string

The offering class of the Reserved Instance. Can be standard or convertible.

OfferingType
Type: string

The Reserved Instance offering type. If you are using tools that predate the 2011-11-01 API version, you only have access to the Medium Utilization Reserved Instance offering type.

ProductDescription
Type: string

The Reserved Instance product platform description. Instances that include (Amazon VPC) in the description are for use with Amazon VPC.

ReservedInstancesOfferingIds
Type: Array of strings

One or more Reserved Instances offering IDs.

Result Syntax

[
    'NextToken' => '<string>',
    'ReservedInstancesOfferings' => [
        [
            'AvailabilityZone' => '<string>',
            'CurrencyCode' => 'USD',
            'Duration' => <integer>,
            'FixedPrice' => <float>,
            'InstanceTenancy' => 'default|dedicated|host',
            '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',
            'Marketplace' => true || false,
            'OfferingClass' => 'standard|convertible',
            'OfferingType' => 'Heavy Utilization|Medium Utilization|Light Utilization|No Upfront|Partial Upfront|All Upfront',
            'PricingDetails' => [
                [
                    'Count' => <integer>,
                    'Price' => <float>,
                ],
                // ...
            ],
            'ProductDescription' => 'Linux/UNIX|Linux/UNIX (Amazon VPC)|Windows|Windows (Amazon VPC)',
            'RecurringCharges' => [
                [
                    'Amount' => <float>,
                    'Frequency' => 'Hourly',
                ],
                // ...
            ],
            'ReservedInstancesOfferingId' => '<string>',
            'Scope' => 'Availability Zone|Region',
            'UsagePrice' => <float>,
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

ReservedInstancesOfferings
Type: Array of ReservedInstancesOffering structures

A list of Reserved Instances offerings.

Errors

There are no errors described for this operation.

DescribeRouteTables

$result = $client->describeRouteTables([/* ... */]);
$promise = $client->describeRouteTablesAsync([/* ... */]);

Describes your route tables. The default is to describe all your route tables. Alternatively, you can specify specific route table IDs or filter the results to include only the route tables that match specific criteria.

Each subnet in your VPC must be associated with a route table. If a subnet is not explicitly associated with any route table, it is implicitly associated with the main route table. This command does not return the subnet ID for implicit associations.

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

Parameter Syntax

$result = $client->describeRouteTables([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'RouteTableIds' => ['<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.

Filters
Type: Array of Filter structures

The filters.

  • association.gateway-id - The ID of the gateway involved in the association.

  • association.route-table-association-id - The ID of an association ID for the route table.

  • association.route-table-id - The ID of the route table involved in the association.

  • association.subnet-id - The ID of the subnet involved in the association.

  • association.main - Indicates whether the route table is the main route table for the VPC (true | false). Route tables that do not have an association ID are not returned in the response.

  • owner-id - The ID of the Amazon Web Services account that owns the route table.

  • route-table-id - The ID of the route table.

  • route.destination-cidr-block - The IPv4 CIDR range specified in a route in the table.

  • route.destination-ipv6-cidr-block - The IPv6 CIDR range specified in a route in the route table.

  • route.destination-prefix-list-id - The ID (prefix) of the Amazon Web Services service specified in a route in the table.

  • route.egress-only-internet-gateway-id - The ID of an egress-only Internet gateway specified in a route in the route table.

  • route.gateway-id - The ID of a gateway specified in a route in the table.

  • route.instance-id - The ID of an instance specified in a route in the table.

  • route.nat-gateway-id - The ID of a NAT gateway.

  • route.transit-gateway-id - The ID of a transit gateway.

  • route.origin - Describes how the route was created. CreateRouteTable indicates that the route was automatically created when the route table was created; CreateRoute indicates that the route was manually added to the route table; EnableVgwRoutePropagation indicates that the route was propagated by route propagation.

  • route.state - The state of a route in the route table (active | blackhole). The blackhole state indicates that the route's target isn't available (for example, the specified gateway isn't attached to the VPC, the specified NAT instance has been terminated, and so on).

  • route.vpc-peering-connection-id - The ID of a VPC peering connection specified in a route in the table.

  • 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.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • vpc-id - The ID of the VPC for the route table.

MaxResults
Type: int

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

NextToken
Type: string

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

RouteTableIds
Type: Array of strings

The IDs of the route tables.

Result Syntax

[
    'NextToken' => '<string>',
    'RouteTables' => [
        [
            'Associations' => [
                [
                    'AssociationState' => [
                        'State' => 'associating|associated|disassociating|disassociated|failed',
                        'StatusMessage' => '<string>',
                    ],
                    'GatewayId' => '<string>',
                    'Main' => true || false,
                    'RouteTableAssociationId' => '<string>',
                    'RouteTableId' => '<string>',
                    'SubnetId' => '<string>',
                ],
                // ...
            ],
            'OwnerId' => '<string>',
            'PropagatingVgws' => [
                [
                    'GatewayId' => '<string>',
                ],
                // ...
            ],
            'RouteTableId' => '<string>',
            'Routes' => [
                [
                    'CarrierGatewayId' => '<string>',
                    'CoreNetworkArn' => '<string>',
                    'DestinationCidrBlock' => '<string>',
                    'DestinationIpv6CidrBlock' => '<string>',
                    'DestinationPrefixListId' => '<string>',
                    'EgressOnlyInternetGatewayId' => '<string>',
                    'GatewayId' => '<string>',
                    'InstanceId' => '<string>',
                    'InstanceOwnerId' => '<string>',
                    'LocalGatewayId' => '<string>',
                    'NatGatewayId' => '<string>',
                    'NetworkInterfaceId' => '<string>',
                    'Origin' => 'CreateRouteTable|CreateRoute|EnableVgwRoutePropagation',
                    'State' => 'active|blackhole',
                    'TransitGatewayId' => '<string>',
                    'VpcPeeringConnectionId' => '<string>',
                ],
                // ...
            ],
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'VpcId' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

RouteTables
Type: Array of RouteTable structures

Information about the route tables.

Errors

There are no errors described for this operation.

Examples

Example 1: To describe a route table

This example describes the specified route table.

$result = $client->describeRouteTables([
    'RouteTableIds' => [
        'rtb-1f382e7d',
    ],
]);

Result syntax:

[
    'RouteTables' => [
        [
            'Associations' => [
                [
                    'Main' => 1,
                    'RouteTableAssociationId' => 'rtbassoc-d8ccddba',
                    'RouteTableId' => 'rtb-1f382e7d',
                ],
            ],
            'PropagatingVgws' => [
            ],
            'RouteTableId' => 'rtb-1f382e7d',
            'Routes' => [
                [
                    'DestinationCidrBlock' => '10.0.0.0/16',
                    'GatewayId' => 'local',
                    'State' => 'active',
                ],
            ],
            'Tags' => [
            ],
            'VpcId' => 'vpc-a01106c2',
        ],
    ],
]

DescribeScheduledInstanceAvailability

$result = $client->describeScheduledInstanceAvailability([/* ... */]);
$promise = $client->describeScheduledInstanceAvailabilityAsync([/* ... */]);

Finds available schedules that meet the specified criteria.

You can search for an available schedule no more than 3 months in advance. You must meet the minimum required duration of 1,200 hours per year. For example, the minimum daily schedule is 4 hours, the minimum weekly schedule is 24 hours, and the minimum monthly schedule is 100 hours.

After you find a schedule that meets your needs, call PurchaseScheduledInstances to purchase Scheduled Instances with that schedule.

Parameter Syntax

$result = $client->describeScheduledInstanceAvailability([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'FirstSlotStartTimeRange' => [ // REQUIRED
        'EarliestTime' => <integer || string || DateTime>, // REQUIRED
        'LatestTime' => <integer || string || DateTime>, // REQUIRED
    ],
    'MaxResults' => <integer>,
    'MaxSlotDurationInHours' => <integer>,
    'MinSlotDurationInHours' => <integer>,
    'NextToken' => '<string>',
    'Recurrence' => [ // REQUIRED
        'Frequency' => '<string>',
        'Interval' => <integer>,
        'OccurrenceDays' => [<integer>, ...],
        'OccurrenceRelativeToEnd' => true || false,
        'OccurrenceUnit' => '<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.

Filters
Type: Array of Filter structures

The filters.

  • availability-zone - The Availability Zone (for example, us-west-2a).

  • instance-type - The instance type (for example, c4.large).

  • platform - The platform (Linux/UNIX or Windows).

FirstSlotStartTimeRange
Required: Yes
Type: SlotDateTimeRangeRequest structure

The time period for the first schedule to start.

MaxResults
Type: int

The maximum number of results to return in a single call. This value can be between 5 and 300. The default value is 300. To retrieve the remaining results, make another call with the returned NextToken value.

MaxSlotDurationInHours
Type: int

The maximum available duration, in hours. This value must be greater than MinSlotDurationInHours and less than 1,720.

MinSlotDurationInHours
Type: int

The minimum available duration, in hours. The minimum required duration is 1,200 hours per year. For example, the minimum daily schedule is 4 hours, the minimum weekly schedule is 24 hours, and the minimum monthly schedule is 100 hours.

NextToken
Type: string

The token for the next set of results.

Recurrence
Required: Yes
Type: ScheduledInstanceRecurrenceRequest structure

The schedule recurrence.

Result Syntax

[
    'NextToken' => '<string>',
    'ScheduledInstanceAvailabilitySet' => [
        [
            'AvailabilityZone' => '<string>',
            'AvailableInstanceCount' => <integer>,
            'FirstSlotStartTime' => <DateTime>,
            'HourlyPrice' => '<string>',
            'InstanceType' => '<string>',
            'MaxTermDurationInDays' => <integer>,
            'MinTermDurationInDays' => <integer>,
            'NetworkPlatform' => '<string>',
            'Platform' => '<string>',
            'PurchaseToken' => '<string>',
            'Recurrence' => [
                'Frequency' => '<string>',
                'Interval' => <integer>,
                'OccurrenceDaySet' => [<integer>, ...],
                'OccurrenceRelativeToEnd' => true || false,
                'OccurrenceUnit' => '<string>',
            ],
            'SlotDurationInHours' => <integer>,
            'TotalScheduledInstanceHours' => <integer>,
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token required to retrieve the next set of results. This value is null when there are no more results to return.

ScheduledInstanceAvailabilitySet
Type: Array of ScheduledInstanceAvailability structures

Information about the available Scheduled Instances.

Errors

There are no errors described for this operation.

DescribeScheduledInstances

$result = $client->describeScheduledInstances([/* ... */]);
$promise = $client->describeScheduledInstancesAsync([/* ... */]);

Describes the specified Scheduled Instances or all your Scheduled Instances.

Parameter Syntax

$result = $client->describeScheduledInstances([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'ScheduledInstanceIds' => ['<string>', ...],
    'SlotStartTimeRange' => [
        'EarliestTime' => <integer || string || DateTime>,
        'LatestTime' => <integer || string || DateTime>,
    ],
]);

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.

Filters
Type: Array of Filter structures

The filters.

  • availability-zone - The Availability Zone (for example, us-west-2a).

  • instance-type - The instance type (for example, c4.large).

  • platform - The platform (Linux/UNIX or Windows).

MaxResults
Type: int

The maximum number of results to return in a single call. This value can be between 5 and 300. The default value is 100. To retrieve the remaining results, make another call with the returned NextToken value.

NextToken
Type: string

The token for the next set of results.

ScheduledInstanceIds
Type: Array of strings

The Scheduled Instance IDs.

SlotStartTimeRange
Type: SlotStartTimeRangeRequest structure

The time period for the first schedule to start.

Result Syntax

[
    'NextToken' => '<string>',
    'ScheduledInstanceSet' => [
        [
            'AvailabilityZone' => '<string>',
            'CreateDate' => <DateTime>,
            'HourlyPrice' => '<string>',
            'InstanceCount' => <integer>,
            'InstanceType' => '<string>',
            'NetworkPlatform' => '<string>',
            'NextSlotStartTime' => <DateTime>,
            'Platform' => '<string>',
            'PreviousSlotEndTime' => <DateTime>,
            'Recurrence' => [
                'Frequency' => '<string>',
                'Interval' => <integer>,
                'OccurrenceDaySet' => [<integer>, ...],
                'OccurrenceRelativeToEnd' => true || false,
                'OccurrenceUnit' => '<string>',
            ],
            'ScheduledInstanceId' => '<string>',
            'SlotDurationInHours' => <integer>,
            'TermEndDate' => <DateTime>,
            'TermStartDate' => <DateTime>,
            'TotalScheduledInstanceHours' => <integer>,
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token required to retrieve the next set of results. This value is null when there are no more results to return.

ScheduledInstanceSet
Type: Array of ScheduledInstance structures

Information about the Scheduled Instances.

Errors

There are no errors described for this operation.

DescribeSecurityGroupReferences

$result = $client->describeSecurityGroupReferences([/* ... */]);
$promise = $client->describeSecurityGroupReferencesAsync([/* ... */]);

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.

Parameter Syntax

$result = $client->describeSecurityGroupReferences([
    'DryRun' => true || false,
    'GroupId' => ['<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: Array of strings

The IDs of the security groups in your account.

Result Syntax

[
    'SecurityGroupReferenceSet' => [
        [
            'GroupId' => '<string>',
            'ReferencingVpcId' => '<string>',
            'TransitGatewayId' => '<string>',
            'VpcPeeringConnectionId' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
SecurityGroupReferenceSet
Type: Array of SecurityGroupReference structures

Information about the VPCs with the referencing security groups.

Errors

There are no errors described for this operation.

Examples

Example 1: To describe security group references

This example describes the security group references for the specified security group.

$result = $client->describeSecurityGroupReferences([
    'GroupId' => [
        'sg-903004f8',
    ],
]);

Result syntax:

[
    'SecurityGroupReferenceSet' => [
        [
            'GroupId' => 'sg-903004f8',
            'ReferencingVpcId' => 'vpc-1a2b3c4d',
            'VpcPeeringConnectionId' => 'pcx-b04deed9',
        ],
    ],
]

DescribeSecurityGroupRules

$result = $client->describeSecurityGroupRules([/* ... */]);
$promise = $client->describeSecurityGroupRulesAsync([/* ... */]);

Describes one or more of your security group rules.

Parameter Syntax

$result = $client->describeSecurityGroupRules([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'SecurityGroupRuleIds' => ['<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.

Filters
Type: Array of Filter structures

One or more filters.

  • group-id - The ID of the security group.

  • security-group-rule-id - The ID of the security group rule.

  • 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.

MaxResults
Type: int

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. This value can be between 5 and 1000. If this parameter is not specified, then all items are returned. For more information, see Pagination.

NextToken
Type: string

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

SecurityGroupRuleIds
Type: Array of strings

The IDs of the security group rules.

Result Syntax

[
    'NextToken' => '<string>',
    '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
NextToken
Type: string

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

SecurityGroupRules
Type: Array of SecurityGroupRule structures

Information about security group rules.

Errors

There are no errors described for this operation.

DescribeSecurityGroupVpcAssociations

$result = $client->describeSecurityGroupVpcAssociations([/* ... */]);
$promise = $client->describeSecurityGroupVpcAssociationsAsync([/* ... */]);

Describes security group VPC associations made with AssociateSecurityGroupVpc.

Parameter Syntax

$result = $client->describeSecurityGroupVpcAssociations([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<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.

Filters
Type: Array of Filter structures

Security group VPC association filters.

  • group-id: The security group ID.

  • vpc-id: The ID of the associated VPC.

  • vpc-owner-id: The account ID of the VPC owner.

  • state: The state of the association.

  • 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.

  • tag-key: The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

MaxResults
Type: int

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

NextToken
Type: string

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

Result Syntax

[
    'NextToken' => '<string>',
    'SecurityGroupVpcAssociations' => [
        [
            'GroupId' => '<string>',
            'State' => 'associating|associated|association-failed|disassociating|disassociated|disassociation-failed',
            'StateReason' => '<string>',
            'VpcId' => '<string>',
            'VpcOwnerId' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

SecurityGroupVpcAssociations
Type: Array of SecurityGroupVpcAssociation structures

The security group VPC associations.

Errors

There are no errors described for this operation.

DescribeSecurityGroups

$result = $client->describeSecurityGroups([/* ... */]);
$promise = $client->describeSecurityGroupsAsync([/* ... */]);

Describes the specified security groups or all of your security groups.

Parameter Syntax

$result = $client->describeSecurityGroups([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'GroupIds' => ['<string>', ...],
    'GroupNames' => ['<string>', ...],
    'MaxResults' => <integer>,
    'NextToken' => '<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.

Filters
Type: Array of Filter structures

The filters. If using multiple filters for rules, the results include security groups for which any combination of rules - not necessarily a single rule - match all filters.

  • description - The description of the security group.

  • egress.ip-permission.cidr - An IPv4 CIDR block for an outbound security group rule.

  • egress.ip-permission.from-port - For an outbound rule, the start of port range for the TCP and UDP protocols, or an ICMP type number.

  • egress.ip-permission.group-id - The ID of a security group that has been referenced in an outbound security group rule.

  • egress.ip-permission.group-name - The name of a security group that is referenced in an outbound security group rule.

  • egress.ip-permission.ipv6-cidr - An IPv6 CIDR block for an outbound security group rule.

  • egress.ip-permission.prefix-list-id - The ID of a prefix list to which a security group rule allows outbound access.

  • egress.ip-permission.protocol - The IP protocol for an outbound security group rule (tcp | udp | icmp, a protocol number, or -1 for all protocols).

  • egress.ip-permission.to-port - For an outbound rule, the end of port range for the TCP and UDP protocols, or an ICMP code.

  • egress.ip-permission.user-id - The ID of an Amazon Web Services account that has been referenced in an outbound security group rule.

  • group-id - The ID of the security group.

  • group-name - The name of the security group.

  • ip-permission.cidr - An IPv4 CIDR block for an inbound security group rule.

  • ip-permission.from-port - For an inbound rule, the start of port range for the TCP and UDP protocols, or an ICMP type number.

  • ip-permission.group-id - The ID of a security group that has been referenced in an inbound security group rule.

  • ip-permission.group-name - The name of a security group that is referenced in an inbound security group rule.

  • ip-permission.ipv6-cidr - An IPv6 CIDR block for an inbound security group rule.

  • ip-permission.prefix-list-id - The ID of a prefix list from which a security group rule allows inbound access.

  • ip-permission.protocol - The IP protocol for an inbound security group rule (tcp | udp | icmp, a protocol number, or -1 for all protocols).

  • ip-permission.to-port - For an inbound rule, the end of port range for the TCP and UDP protocols, or an ICMP code.

  • ip-permission.user-id - The ID of an Amazon Web Services account that has been referenced in an inbound security group rule.

  • owner-id - The Amazon Web Services account ID of the owner of the security group.

  • 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.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • vpc-id - The ID of the VPC specified when the security group was created.

GroupIds
Type: Array of strings

The IDs of the security groups. Required for security groups in a nondefault VPC.

Default: Describes all of your security groups.

GroupNames
Type: Array of strings

[Default VPC] The names of the security groups. You can specify either the security group name or the security group ID.

Default: Describes all of your security groups.

MaxResults
Type: int

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. This value can be between 5 and 1000. If this parameter is not specified, then all items are returned. For more information, see Pagination.

NextToken
Type: string

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

Result Syntax

[
    'NextToken' => '<string>',
    'SecurityGroups' => [
        [
            'Description' => '<string>',
            '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>',
                        ],
                        // ...
                    ],
                ],
                // ...
            ],
            'IpPermissionsEgress' => [
                [
                    '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>',
                        ],
                        // ...
                    ],
                ],
                // ...
            ],
            'OwnerId' => '<string>',
            'SecurityGroupArn' => '<string>',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'VpcId' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

SecurityGroups
Type: Array of SecurityGroup structures

Information about the security groups.

Errors

There are no errors described for this operation.

Examples

Example 1: To describe a security group

This example describes the specified security group.

$result = $client->describeSecurityGroups([
    'GroupIds' => [
        'sg-903004f8',
    ],
]);

Result syntax:

[
]
Example 2: To describe a tagged security group

This example describes the security groups that include the specified tag (Purpose=test).

$result = $client->describeSecurityGroups([
    'Filters' => [
        [
            'Name' => 'tag:Purpose',
            'Values' => [
                'test',
            ],
        ],
    ],
]);

Result syntax:

[
]

DescribeSnapshotAttribute

$result = $client->describeSnapshotAttribute([/* ... */]);
$promise = $client->describeSnapshotAttributeAsync([/* ... */]);

Describes the specified attribute of the specified snapshot. You can specify only one attribute at a time.

For more information about EBS snapshots, see Amazon EBS snapshots in the Amazon EBS User Guide.

Parameter Syntax

$result = $client->describeSnapshotAttribute([
    'Attribute' => 'productCodes|createVolumePermission', // REQUIRED
    'DryRun' => true || false,
    'SnapshotId' => '<string>', // REQUIRED
]);

Parameter Details

Members
Attribute
Required: Yes
Type: string

The snapshot attribute you would like to view.

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.

SnapshotId
Required: Yes
Type: string

The ID of the EBS snapshot.

Result Syntax

[
    'CreateVolumePermissions' => [
        [
            'Group' => 'all',
            'UserId' => '<string>',
        ],
        // ...
    ],
    'ProductCodes' => [
        [
            'ProductCodeId' => '<string>',
            'ProductCodeType' => 'devpay|marketplace',
        ],
        // ...
    ],
    'SnapshotId' => '<string>',
]

Result Details

Members
CreateVolumePermissions
Type: Array of CreateVolumePermission structures

The users and groups that have the permissions for creating volumes from the snapshot.

ProductCodes
Type: Array of ProductCode structures

The product codes.

SnapshotId
Type: string

The ID of the EBS snapshot.

Errors

There are no errors described for this operation.

Examples

Example 1: To describe snapshot attributes

This example describes the ``createVolumePermission`` attribute on a snapshot with the snapshot ID of ``snap-066877671789bd71b``.

$result = $client->describeSnapshotAttribute([
    'Attribute' => 'createVolumePermission',
    'SnapshotId' => 'snap-066877671789bd71b',
]);

Result syntax:

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

DescribeSnapshotTierStatus

$result = $client->describeSnapshotTierStatus([/* ... */]);
$promise = $client->describeSnapshotTierStatusAsync([/* ... */]);

Describes the storage tier status of one or more Amazon EBS snapshots.

Parameter Syntax

$result = $client->describeSnapshotTierStatus([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<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.

Filters
Type: Array of Filter structures

The filters.

  • snapshot-id - The snapshot ID.

  • volume-id - The ID of the volume the snapshot is for.

  • last-tiering-operation - The state of the last archive or restore action. (archival-in-progress | archival-completed | archival-failed | permanent-restore-in-progress | permanent-restore-completed | permanent-restore-failed | temporary-restore-in-progress | temporary-restore-completed | temporary-restore-failed)

MaxResults
Type: int

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

NextToken
Type: string

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

Result Syntax

[
    'NextToken' => '<string>',
    'SnapshotTierStatuses' => [
        [
            'ArchivalCompleteTime' => <DateTime>,
            'LastTieringOperationStatus' => 'archival-in-progress|archival-completed|archival-failed|temporary-restore-in-progress|temporary-restore-completed|temporary-restore-failed|permanent-restore-in-progress|permanent-restore-completed|permanent-restore-failed',
            'LastTieringOperationStatusDetail' => '<string>',
            'LastTieringProgress' => <integer>,
            'LastTieringStartTime' => <DateTime>,
            'OwnerId' => '<string>',
            'RestoreExpiryTime' => <DateTime>,
            'SnapshotId' => '<string>',
            'Status' => 'pending|completed|error|recoverable|recovering',
            'StorageTier' => 'archive|standard',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'VolumeId' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

SnapshotTierStatuses
Type: Array of SnapshotTierStatus structures

Information about the snapshot's storage tier.

Errors

There are no errors described for this operation.

DescribeSnapshots

$result = $client->describeSnapshots([/* ... */]);
$promise = $client->describeSnapshotsAsync([/* ... */]);

Describes the specified EBS snapshots available to you or all of the EBS snapshots available to you.

The snapshots available to you include public snapshots, private snapshots that you own, and private snapshots owned by other Amazon Web Services accounts for which you have explicit create volume permissions.

The create volume permissions fall into the following categories:

  • public: The owner of the snapshot granted create volume permissions for the snapshot to the all group. All Amazon Web Services accounts have create volume permissions for these snapshots.

  • explicit: The owner of the snapshot granted create volume permissions to a specific Amazon Web Services account.

  • implicit: An Amazon Web Services account has implicit create volume permissions for all snapshots it owns.

The list of snapshots returned can be filtered by specifying snapshot IDs, snapshot owners, or Amazon Web Services accounts with create volume permissions. If no options are specified, Amazon EC2 returns all snapshots for which you have create volume permissions.

If you specify one or more snapshot IDs, only snapshots that have the specified IDs are returned. If you specify an invalid snapshot ID, an error is returned. If you specify a snapshot ID for which you do not have access, it is not included in the returned results.

If you specify one or more snapshot owners using the OwnerIds option, only snapshots from the specified owners and for which you have access are returned. The results can include the Amazon Web Services account IDs of the specified owners, amazon for snapshots owned by Amazon, or self for snapshots that you own.

If you specify a list of restorable users, only snapshots with create snapshot permissions for those users are returned. You can specify Amazon Web Services account IDs (if you own the snapshots), self for snapshots for which you own or have explicit permissions, or all for public snapshots.

If you are describing a long list of snapshots, we recommend that you paginate the output to make the list more manageable. For more information, see Pagination.

To get the state of fast snapshot restores for a snapshot, use DescribeFastSnapshotRestores.

For more information about EBS snapshots, see Amazon EBS snapshots in the Amazon EBS User Guide.

We strongly recommend using only paginated requests. Unpaginated requests are susceptible to throttling and timeouts.

Parameter Syntax

$result = $client->describeSnapshots([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'OwnerIds' => ['<string>', ...],
    'RestorableByUserIds' => ['<string>', ...],
    'SnapshotIds' => ['<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.

Filters
Type: Array of Filter structures

The filters.

  • description - A description of the snapshot.

  • encrypted - Indicates whether the snapshot is encrypted (true | false)

  • owner-alias - The owner alias, from an Amazon-maintained list (amazon). This is not the user-configured Amazon Web Services account alias set using the IAM console. We recommend that you use the related parameter instead of this filter.

  • owner-id - The Amazon Web Services account ID of the owner. We recommend that you use the related parameter instead of this filter.

  • progress - The progress of the snapshot, as a percentage (for example, 80%).

  • snapshot-id - The snapshot ID.

  • start-time - The time stamp when the snapshot was initiated.

  • status - The status of the snapshot (pending | completed | error).

  • storage-tier - The storage tier of the snapshot (archive | standard).

  • 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.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • volume-id - The ID of the volume the snapshot is for.

  • volume-size - The size of the volume, in GiB.

MaxResults
Type: int

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

NextToken
Type: string

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

OwnerIds
Type: Array of strings

Scopes the results to snapshots with the specified owners. You can specify a combination of Amazon Web Services account IDs, self, and amazon.

RestorableByUserIds
Type: Array of strings

The IDs of the Amazon Web Services accounts that can create volumes from the snapshot.

SnapshotIds
Type: Array of strings

The snapshot IDs.

Default: Describes the snapshots for which you have create volume permissions.

Result Syntax

[
    'NextToken' => '<string>',
    'Snapshots' => [
        [
            'DataEncryptionKeyId' => '<string>',
            'Description' => '<string>',
            'Encrypted' => true || false,
            'KmsKeyId' => '<string>',
            'OutpostArn' => '<string>',
            'OwnerAlias' => '<string>',
            'OwnerId' => '<string>',
            'Progress' => '<string>',
            'RestoreExpiryTime' => <DateTime>,
            'SnapshotId' => '<string>',
            'SseType' => 'sse-ebs|sse-kms|none',
            'StartTime' => <DateTime>,
            'State' => 'pending|completed|error|recoverable|recovering',
            'StateMessage' => '<string>',
            'StorageTier' => 'archive|standard',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'VolumeId' => '<string>',
            'VolumeSize' => <integer>,
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

Snapshots
Type: Array of Snapshot structures

Information about the snapshots.

Errors

There are no errors described for this operation.

Examples

Example 1: To describe a snapshot

This example describes a snapshot with the snapshot ID of ``snap-1234567890abcdef0``.

$result = $client->describeSnapshots([
    'SnapshotIds' => [
        'snap-1234567890abcdef0',
    ],
]);

Result syntax:

[
    'NextToken' => '',
    'Snapshots' => [
        [
            'Description' => 'This is my snapshot.',
            'OwnerId' => '012345678910',
            'Progress' => '100%',
            'SnapshotId' => 'snap-1234567890abcdef0',
            'StartTime' => ,
            'State' => 'completed',
            'VolumeId' => 'vol-049df61146c4d7901',
            'VolumeSize' => 8,
        ],
    ],
]
Example 2: To describe snapshots using filters

This example describes all snapshots owned by the ID 012345678910 that are in the ``pending`` status.

$result = $client->describeSnapshots([
    'Filters' => [
        [
            'Name' => 'status',
            'Values' => [
                'pending',
            ],
        ],
    ],
    'OwnerIds' => [
        '012345678910',
    ],
]);

Result syntax:

[
    'NextToken' => '',
    'Snapshots' => [
        [
            'Description' => 'This is my copied snapshot.',
            'OwnerId' => '012345678910',
            'Progress' => '87%',
            'SnapshotId' => 'snap-066877671789bd71b',
            'StartTime' => ,
            'State' => 'pending',
            'VolumeId' => 'vol-1234567890abcdef0',
            'VolumeSize' => 8,
        ],
    ],
]

DescribeSpotDatafeedSubscription

$result = $client->describeSpotDatafeedSubscription([/* ... */]);
$promise = $client->describeSpotDatafeedSubscriptionAsync([/* ... */]);

Describes the data feed for Spot Instances. For more information, see Spot Instance data feed in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->describeSpotDatafeedSubscription([
    '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

[
    'SpotDatafeedSubscription' => [
        'Bucket' => '<string>',
        'Fault' => [
            'Code' => '<string>',
            'Message' => '<string>',
        ],
        'OwnerId' => '<string>',
        'Prefix' => '<string>',
        'State' => 'Active|Inactive',
    ],
]

Result Details

Members
SpotDatafeedSubscription
Type: SpotDatafeedSubscription structure

The Spot Instance data feed subscription.

Errors

There are no errors described for this operation.

Examples

Example 1: To describe the datafeed for your AWS account

This example describes the Spot Instance datafeed subscription for your AWS account.

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

Result syntax:

[
    'SpotDatafeedSubscription' => [
        'Bucket' => 'my-s3-bucket',
        'OwnerId' => '123456789012',
        'Prefix' => 'spotdata',
        'State' => 'Active',
    ],
]

DescribeSpotFleetInstances

$result = $client->describeSpotFleetInstances([/* ... */]);
$promise = $client->describeSpotFleetInstancesAsync([/* ... */]);

Describes the running instances for the specified Spot Fleet.

Parameter Syntax

$result = $client->describeSpotFleetInstances([
    'DryRun' => true || false,
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'SpotFleetRequestId' => '<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.

MaxResults
Type: int

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

NextToken
Type: string

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

SpotFleetRequestId
Required: Yes
Type: string

The ID of the Spot Fleet request.

Result Syntax

[
    'ActiveInstances' => [
        [
            'InstanceHealth' => 'healthy|unhealthy',
            'InstanceId' => '<string>',
            'InstanceType' => '<string>',
            'SpotInstanceRequestId' => '<string>',
        ],
        // ...
    ],
    'NextToken' => '<string>',
    'SpotFleetRequestId' => '<string>',
]

Result Details

Members
ActiveInstances
Type: Array of ActiveInstance structures

The running instances. This list is refreshed periodically and might be out of date.

NextToken
Type: string

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

SpotFleetRequestId
Type: string

The ID of the Spot Fleet request.

Errors

There are no errors described for this operation.

Examples

Example 1: To describe the Spot Instances associated with a Spot fleet

This example lists the Spot Instances associated with the specified Spot fleet.

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

Result syntax:

[
    'ActiveInstances' => [
        [
            'InstanceId' => 'i-1234567890abcdef0',
            'InstanceType' => 'm3.medium',
            'SpotInstanceRequestId' => 'sir-08b93456',
        ],
    ],
    'SpotFleetRequestId' => 'sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE',
]

DescribeSpotFleetRequestHistory

$result = $client->describeSpotFleetRequestHistory([/* ... */]);
$promise = $client->describeSpotFleetRequestHistoryAsync([/* ... */]);

Describes the events for the specified Spot Fleet request during the specified time.

Spot Fleet events are delayed by up to 30 seconds before they can be described. This ensures that you can query by the last evaluated time and not miss a recorded event. Spot Fleet events are available for 48 hours.

For more information, see Monitor fleet events using Amazon EventBridge in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->describeSpotFleetRequestHistory([
    'DryRun' => true || false,
    'EventType' => 'instanceChange|fleetRequestChange|error|information',
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'SpotFleetRequestId' => '<string>', // REQUIRED
    'StartTime' => <integer || string || DateTime>, // 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.

EventType
Type: string

The type of events to describe. By default, all events are described.

MaxResults
Type: int

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

NextToken
Type: string

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

SpotFleetRequestId
Required: Yes
Type: string

The ID of the Spot Fleet request.

StartTime
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The starting date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

Result Syntax

[
    'HistoryRecords' => [
        [
            'EventInformation' => [
                'EventDescription' => '<string>',
                'EventSubType' => '<string>',
                'InstanceId' => '<string>',
            ],
            'EventType' => 'instanceChange|fleetRequestChange|error|information',
            'Timestamp' => <DateTime>,
        ],
        // ...
    ],
    'LastEvaluatedTime' => <DateTime>,
    'NextToken' => '<string>',
    'SpotFleetRequestId' => '<string>',
    'StartTime' => <DateTime>,
]

Result Details

Members
HistoryRecords
Type: Array of HistoryRecord structures

Information about the events in the history of the Spot Fleet request.

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

The last date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). All records up to this time were retrieved.

If nextToken indicates that there are more items, this value is not present.

NextToken
Type: string

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

SpotFleetRequestId
Type: string

The ID of the Spot Fleet request.

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

The starting date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

Errors

There are no errors described for this operation.

Examples

Example 1: To describe Spot fleet history

This example returns the history for the specified Spot fleet starting at the specified time.

$result = $client->describeSpotFleetRequestHistory([
    'SpotFleetRequestId' => 'sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE',
    'StartTime' => ,
]);

Result syntax:

[
    'HistoryRecords' => [
        [
            'EventInformation' => [
                'EventSubType' => 'submitted',
            ],
            'EventType' => 'fleetRequestChange',
            'Timestamp' => ,
        ],
        [
            'EventInformation' => [
                'EventSubType' => 'active',
            ],
            'EventType' => 'fleetRequestChange',
            'Timestamp' => ,
        ],
        [
            'EventInformation' => [
                'EventSubType' => 'launched',
                'InstanceId' => 'i-1234567890abcdef0',
            ],
            'EventType' => 'instanceChange',
            'Timestamp' => ,
        ],
        [
            'EventInformation' => [
                'EventSubType' => 'launched',
                'InstanceId' => 'i-1234567890abcdef1',
            ],
            'EventType' => 'instanceChange',
            'Timestamp' => ,
        ],
    ],
    'NextToken' => 'CpHNsscimcV5oH7bSbub03CI2Qms5+ypNpNm+53MNlR0YcXAkp0xFlfKf91yVxSExmbtma3awYxMFzNA663ZskT0AHtJ6TCb2Z8bQC2EnZgyELbymtWPfpZ1ZbauVg+P+TfGlWxWWB/Vr5dk5d4LfdgA/DRAHUrYgxzrEXAMPLE=',
    'SpotFleetRequestId' => 'sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE',
    'StartTime' => ,
]

DescribeSpotFleetRequests

$result = $client->describeSpotFleetRequests([/* ... */]);
$promise = $client->describeSpotFleetRequestsAsync([/* ... */]);

Describes your Spot Fleet requests.

Spot Fleet requests are deleted 48 hours after they are canceled and their instances are terminated.

Parameter Syntax

$result = $client->describeSpotFleetRequests([
    'DryRun' => true || false,
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'SpotFleetRequestIds' => ['<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.

MaxResults
Type: int

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

NextToken
Type: string

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

SpotFleetRequestIds
Type: Array of strings

The IDs of the Spot Fleet requests.

Result Syntax

[
    'NextToken' => '<string>',
    'SpotFleetRequestConfigs' => [
        [
            'ActivityStatus' => 'error|pending_fulfillment|pending_termination|fulfilled',
            'CreateTime' => <DateTime>,
            'SpotFleetRequestConfig' => [
                'AllocationStrategy' => 'lowestPrice|diversified|capacityOptimized|capacityOptimizedPrioritized|priceCapacityOptimized',
                'ClientToken' => '<string>',
                'Context' => '<string>',
                'ExcessCapacityTerminationPolicy' => 'noTermination|default',
                'FulfilledCapacity' => <float>,
                'IamFleetRole' => '<string>',
                'InstanceInterruptionBehavior' => 'hibernate|stop|terminate',
                'InstancePoolsToUseCount' => <integer>,
                'LaunchSpecifications' => [
                    [
                        'AddressingType' => '<string>',
                        '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>',
                            ],
                            // ...
                        ],
                        'EbsOptimized' => true || false,
                        'IamInstanceProfile' => [
                            'Arn' => '<string>',
                            'Name' => '<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>,
                            ],
                            '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',
                        'KernelId' => '<string>',
                        'KeyName' => '<string>',
                        '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>',
                                        'IsPrimaryIpv6' => true || false,
                                    ],
                                    // ...
                                ],
                                'Ipv6PrefixCount' => <integer>,
                                'Ipv6Prefixes' => [
                                    [
                                        'Ipv6Prefix' => '<string>',
                                    ],
                                    // ...
                                ],
                                'NetworkCardIndex' => <integer>,
                                'NetworkInterfaceId' => '<string>',
                                'PrimaryIpv6' => true || false,
                                'PrivateIpAddress' => '<string>',
                                'PrivateIpAddresses' => [
                                    [
                                        'Primary' => true || false,
                                        'PrivateIpAddress' => '<string>',
                                    ],
                                    // ...
                                ],
                                'SecondaryPrivateIpAddressCount' => <integer>,
                                'SubnetId' => '<string>',
                            ],
                            // ...
                        ],
                        'Placement' => [
                            'AvailabilityZone' => '<string>',
                            'GroupName' => '<string>',
                            'Tenancy' => 'default|dedicated|host',
                        ],
                        'RamdiskId' => '<string>',
                        'SecurityGroups' => [
                            [
                                'GroupId' => '<string>',
                                'GroupName' => '<string>',
                            ],
                            // ...
                        ],
                        'SpotPrice' => '<string>',
                        'SubnetId' => '<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>',
                        'WeightedCapacity' => <float>,
                    ],
                    // ...
                ],
                'LaunchTemplateConfigs' => [
                    [
                        'LaunchTemplateSpecification' => [
                            'LaunchTemplateId' => '<string>',
                            'LaunchTemplateName' => '<string>',
                            'Version' => '<string>',
                        ],
                        'Overrides' => [
                            [
                                'AvailabilityZone' => '<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>,
                                    ],
                                    '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',
                                'Priority' => <float>,
                                'SpotPrice' => '<string>',
                                'SubnetId' => '<string>',
                                'WeightedCapacity' => <float>,
                            ],
                            // ...
                        ],
                    ],
                    // ...
                ],
                'LoadBalancersConfig' => [
                    'ClassicLoadBalancersConfig' => [
                        'ClassicLoadBalancers' => [
                            [
                                'Name' => '<string>',
                            ],
                            // ...
                        ],
                    ],
                    'TargetGroupsConfig' => [
                        'TargetGroups' => [
                            [
                                'Arn' => '<string>',
                            ],
                            // ...
                        ],
                    ],
                ],
                'OnDemandAllocationStrategy' => 'lowestPrice|prioritized',
                'OnDemandFulfilledCapacity' => <float>,
                'OnDemandMaxTotalPrice' => '<string>',
                'OnDemandTargetCapacity' => <integer>,
                'ReplaceUnhealthyInstances' => true || false,
                'SpotMaintenanceStrategies' => [
                    'CapacityRebalance' => [
                        'ReplacementStrategy' => 'launch|launch-before-terminate',
                        'TerminationDelay' => <integer>,
                    ],
                ],
                'SpotMaxTotalPrice' => '<string>',
                'SpotPrice' => '<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>',
                            ],
                            // ...
                        ],
                    ],
                    // ...
                ],
                'TargetCapacity' => <integer>,
                'TargetCapacityUnitType' => 'vcpu|memory-mib|units',
                'TerminateInstancesWithExpiration' => true || false,
                'Type' => 'request|maintain|instant',
                'ValidFrom' => <DateTime>,
                'ValidUntil' => <DateTime>,
            ],
            'SpotFleetRequestId' => '<string>',
            'SpotFleetRequestState' => 'submitted|active|cancelled|failed|cancelled_running|cancelled_terminating|modifying',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

SpotFleetRequestConfigs
Type: Array of SpotFleetRequestConfig structures

Information about the configuration of your Spot Fleet.

Errors

There are no errors described for this operation.

Examples

Example 1: To describe a Spot fleet request

This example describes the specified Spot fleet request.

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

Result syntax:

[
    'SpotFleetRequestConfigs' => [
        [
            'SpotFleetRequestConfig' => [
                'IamFleetRole' => 'arn:aws:iam::123456789012:role/my-spot-fleet-role',
                'LaunchSpecifications' => [
                    [
                        'EbsOptimized' => ,
                        'ImageId' => 'ami-1a2b3c4d',
                        'InstanceType' => 'cc2.8xlarge',
                        'NetworkInterfaces' => [
                            [
                                'AssociatePublicIpAddress' => 1,
                                'DeleteOnTermination' => ,
                                'DeviceIndex' => 0,
                                'SecondaryPrivateIpAddressCount' => 0,
                                'SubnetId' => 'subnet-a61dafcf',
                            ],
                        ],
                    ],
                    [
                        'EbsOptimized' => ,
                        'ImageId' => 'ami-1a2b3c4d',
                        'InstanceType' => 'r3.8xlarge',
                        'NetworkInterfaces' => [
                            [
                                'AssociatePublicIpAddress' => 1,
                                'DeleteOnTermination' => ,
                                'DeviceIndex' => 0,
                                'SecondaryPrivateIpAddressCount' => 0,
                                'SubnetId' => 'subnet-a61dafcf',
                            ],
                        ],
                    ],
                ],
                'SpotPrice' => '0.05',
                'TargetCapacity' => 20,
            ],
            'SpotFleetRequestId' => 'sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE',
            'SpotFleetRequestState' => 'active',
        ],
    ],
]

DescribeSpotInstanceRequests

$result = $client->describeSpotInstanceRequests([/* ... */]);
$promise = $client->describeSpotInstanceRequestsAsync([/* ... */]);

Describes the specified Spot Instance requests.

You can use DescribeSpotInstanceRequests to find a running Spot Instance by examining the response. If the status of the Spot Instance is fulfilled, the instance ID appears in the response and contains the identifier of the instance. Alternatively, you can use DescribeInstances with a filter to look for instances where the instance lifecycle is spot.

We recommend that you set MaxResults to a value between 5 and 1000 to limit the number of items returned. This paginates the output, which makes the list more manageable and returns the items faster. If the list of items exceeds your MaxResults value, then that number of items is returned along with a NextToken value that can be passed to a subsequent DescribeSpotInstanceRequests request to retrieve the remaining items.

Spot Instance requests are deleted four hours after they are canceled and their instances are terminated.

Parameter Syntax

$result = $client->describeSpotInstanceRequests([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'SpotInstanceRequestIds' => ['<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.

Filters
Type: Array of Filter structures

The filters.

  • availability-zone-group - The Availability Zone group.

  • create-time - The time stamp when the Spot Instance request was created.

  • fault-code - The fault code related to the request.

  • fault-message - The fault message related to the request.

  • instance-id - The ID of the instance that fulfilled the request.

  • launch-group - The Spot Instance launch group.

  • launch.block-device-mapping.delete-on-termination - Indicates whether the EBS volume is deleted on instance termination.

  • launch.block-device-mapping.device-name - The device name for the volume in the block device mapping (for example, /dev/sdh or xvdh).

  • launch.block-device-mapping.snapshot-id - The ID of the snapshot for the EBS volume.

  • launch.block-device-mapping.volume-size - The size of the EBS volume, in GiB.

  • launch.block-device-mapping.volume-type - The type of EBS volume: gp2 or gp3 for General Purpose SSD, io1 or io2 for Provisioned IOPS SSD, st1 for Throughput Optimized HDD, sc1 for Cold HDD, or standard for Magnetic.

  • launch.group-id - The ID of the security group for the instance.

  • launch.group-name - The name of the security group for the instance.

  • launch.image-id - The ID of the AMI.

  • launch.instance-type - The type of instance (for example, m3.medium).

  • launch.kernel-id - The kernel ID.

  • launch.key-name - The name of the key pair the instance launched with.

  • launch.monitoring-enabled - Whether detailed monitoring is enabled for the Spot Instance.

  • launch.ramdisk-id - The RAM disk ID.

  • launched-availability-zone - The Availability Zone in which the request is launched.

  • network-interface.addresses.primary - Indicates whether the IP address is the primary private IP address.

  • network-interface.delete-on-termination - Indicates whether the network interface is deleted when the instance is terminated.

  • network-interface.description - A description of the network interface.

  • network-interface.device-index - The index of the device for the network interface attachment on the instance.

  • network-interface.group-id - The ID of the security group associated with the network interface.

  • network-interface.network-interface-id - The ID of the network interface.

  • network-interface.private-ip-address - The primary private IP address of the network interface.

  • network-interface.subnet-id - The ID of the subnet for the instance.

  • product-description - The product description associated with the instance (Linux/UNIX | Windows).

  • spot-instance-request-id - The Spot Instance request ID.

  • spot-price - The maximum hourly price for any Spot Instance launched to fulfill the request.

  • state - The state of the Spot Instance request (open | active | closed | cancelled | failed). Spot request status information can help you track your Amazon EC2 Spot Instance requests. For more information, see Spot request status in the Amazon EC2 User Guide.

  • status-code - The short code describing the most recent evaluation of your Spot Instance request.

  • status-message - The message explaining the status of the Spot Instance request.

  • 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.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • type - The type of Spot Instance request (one-time | persistent).

  • valid-from - The start date of the request.

  • valid-until - The end date of the request.

MaxResults
Type: int

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

NextToken
Type: string

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

SpotInstanceRequestIds
Type: Array of strings

The IDs of the Spot Instance requests.

Result Syntax

[
    'NextToken' => '<string>',
    'SpotInstanceRequests' => [
        [
            'ActualBlockHourlyPrice' => '<string>',
            'AvailabilityZoneGroup' => '<string>',
            'BlockDurationMinutes' => <integer>,
            'CreateTime' => <DateTime>,
            'Fault' => [
                'Code' => '<string>',
                'Message' => '<string>',
            ],
            'InstanceId' => '<string>',
            'InstanceInterruptionBehavior' => 'hibernate|stop|terminate',
            'LaunchGroup' => '<string>',
            'LaunchSpecification' => [
                'AddressingType' => '<string>',
                '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>',
                    ],
                    // ...
                ],
                'EbsOptimized' => true || false,
                'IamInstanceProfile' => [
                    'Arn' => '<string>',
                    'Name' => '<string>',
                ],
                'ImageId' => '<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',
                'KernelId' => '<string>',
                'KeyName' => '<string>',
                '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>',
                                'IsPrimaryIpv6' => true || false,
                            ],
                            // ...
                        ],
                        'Ipv6PrefixCount' => <integer>,
                        'Ipv6Prefixes' => [
                            [
                                'Ipv6Prefix' => '<string>',
                            ],
                            // ...
                        ],
                        'NetworkCardIndex' => <integer>,
                        'NetworkInterfaceId' => '<string>',
                        'PrimaryIpv6' => true || false,
                        'PrivateIpAddress' => '<string>',
                        'PrivateIpAddresses' => [
                            [
                                'Primary' => true || false,
                                'PrivateIpAddress' => '<string>',
                            ],
                            // ...
                        ],
                        'SecondaryPrivateIpAddressCount' => <integer>,
                        'SubnetId' => '<string>',
                    ],
                    // ...
                ],
                'Placement' => [
                    'AvailabilityZone' => '<string>',
                    'GroupName' => '<string>',
                    'Tenancy' => 'default|dedicated|host',
                ],
                'RamdiskId' => '<string>',
                'SecurityGroups' => [
                    [
                        'GroupId' => '<string>',
                        'GroupName' => '<string>',
                    ],
                    // ...
                ],
                'SubnetId' => '<string>',
                'UserData' => '<string>',
            ],
            'LaunchedAvailabilityZone' => '<string>',
            'ProductDescription' => 'Linux/UNIX|Linux/UNIX (Amazon VPC)|Windows|Windows (Amazon VPC)',
            'SpotInstanceRequestId' => '<string>',
            'SpotPrice' => '<string>',
            'State' => 'open|active|closed|cancelled|failed|disabled',
            'Status' => [
                'Code' => '<string>',
                'Message' => '<string>',
                'UpdateTime' => <DateTime>,
            ],
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'Type' => 'one-time|persistent',
            'ValidFrom' => <DateTime>,
            'ValidUntil' => <DateTime>,
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

SpotInstanceRequests
Type: Array of SpotInstanceRequest structures

The Spot Instance requests.

Errors

There are no errors described for this operation.

Examples

Example 1: To describe a Spot Instance request

This example describes the specified Spot Instance request.

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

Result syntax:

[
    'SpotInstanceRequests' => [
        [
            'CreateTime' => ,
            'InstanceId' => 'i-1234567890abcdef0',
            'LaunchSpecification' => [
                'BlockDeviceMappings' => [
                    [
                        'DeviceName' => '/dev/sda1',
                        'Ebs' => [
                            'DeleteOnTermination' => 1,
                            'VolumeSize' => 8,
                            'VolumeType' => 'standard',
                        ],
                    ],
                ],
                'EbsOptimized' => ,
                'ImageId' => 'ami-7aba833f',
                'InstanceType' => 'm1.small',
                'KeyName' => 'my-key-pair',
                'SecurityGroups' => [
                    [
                        'GroupId' => 'sg-e38f24a7',
                        'GroupName' => 'my-security-group',
                    ],
                ],
            ],
            'LaunchedAvailabilityZone' => 'us-west-1b',
            'ProductDescription' => 'Linux/UNIX',
            'SpotInstanceRequestId' => 'sir-08b93456',
            'SpotPrice' => '0.010000',
            'State' => 'active',
            'Status' => [
                'Code' => 'fulfilled',
                'Message' => 'Your Spot request is fulfilled.',
                'UpdateTime' => ,
            ],
            'Type' => 'one-time',
        ],
    ],
]

DescribeSpotPriceHistory

$result = $client->describeSpotPriceHistory([/* ... */]);
$promise = $client->describeSpotPriceHistoryAsync([/* ... */]);

Describes the Spot price history. For more information, see Spot Instance pricing history in the Amazon EC2 User Guide.

When you specify a start and end time, the operation returns the prices of the instance types within that time range. It also returns the last price change before the start time, which is the effective price as of the start time.

Parameter Syntax

$result = $client->describeSpotPriceHistory([
    'AvailabilityZone' => '<string>',
    'DryRun' => true || false,
    'EndTime' => <integer || string || DateTime>,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'InstanceTypes' => ['<string>', ...],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'ProductDescriptions' => ['<string>', ...],
    'StartTime' => <integer || string || DateTime>,
]);

Parameter Details

Members
AvailabilityZone
Type: string

Filters the results by the specified Availability Zone.

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.

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

The date and time, up to the current date, from which to stop retrieving the price history data, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

Filters
Type: Array of Filter structures

The filters.

  • availability-zone - The Availability Zone for which prices should be returned.

  • instance-type - The type of instance (for example, m3.medium).

  • product-description - The product description for the Spot price (Linux/UNIX | Red Hat Enterprise Linux | SUSE Linux | Windows | Linux/UNIX (Amazon VPC) | Red Hat Enterprise Linux (Amazon VPC) | SUSE Linux (Amazon VPC) | Windows (Amazon VPC)).

  • spot-price - The Spot price. The value must match exactly (or use wildcards; greater than or less than comparison is not supported).

  • timestamp - The time stamp of the Spot price history, in UTC format (for example, ddd MMM dd HH:mm:ss UTC YYYY). You can use wildcards (* and ?). Greater than or less than comparison is not supported.

InstanceTypes
Type: Array of strings

Filters the results by the specified instance types.

MaxResults
Type: int

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

NextToken
Type: string

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

ProductDescriptions
Type: Array of strings

Filters the results by the specified basic product descriptions.

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

The date and time, up to the past 90 days, from which to start retrieving the price history data, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

Result Syntax

[
    'NextToken' => '<string>',
    'SpotPriceHistory' => [
        [
            'AvailabilityZone' => '<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',
            'ProductDescription' => 'Linux/UNIX|Linux/UNIX (Amazon VPC)|Windows|Windows (Amazon VPC)',
            'SpotPrice' => '<string>',
            'Timestamp' => <DateTime>,
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token to include in another request to get the next page of items. This value is an empty string ("") or null when there are no more items to return.

SpotPriceHistory
Type: Array of SpotPrice structures

The historical Spot prices.

Errors

There are no errors described for this operation.

Examples

Example 1: To describe Spot price history for Linux/UNIX (Amazon VPC)

This example returns the Spot Price history for m1.xlarge, Linux/UNIX (Amazon VPC) instances for a particular day in January.

$result = $client->describeSpotPriceHistory([
    'EndTime' => ,
    'InstanceTypes' => [
        'm1.xlarge',
    ],
    'ProductDescriptions' => [
        'Linux/UNIX (Amazon VPC)',
    ],
    'StartTime' => ,
]);

Result syntax:

[
    'SpotPriceHistory' => [
        [
            'AvailabilityZone' => 'us-west-1a',
            'InstanceType' => 'm1.xlarge',
            'ProductDescription' => 'Linux/UNIX (Amazon VPC)',
            'SpotPrice' => '0.080000',
            'Timestamp' => ,
        ],
        [
            'AvailabilityZone' => 'us-west-1c',
            'InstanceType' => 'm1.xlarge',
            'ProductDescription' => 'Linux/UNIX (Amazon VPC)',
            'SpotPrice' => '0.080000',
            'Timestamp' => ,
        ],
    ],
]

DescribeStaleSecurityGroups

$result = $client->describeStaleSecurityGroups([/* ... */]);
$promise = $client->describeStaleSecurityGroupsAsync([/* ... */]);

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. Rules are stale when they reference a deleted security group. Rules can also be stale if they reference a security group in a peer VPC for which the VPC peering connection has been deleted, across a transit gateway where the transit gateway has been deleted (or the transit gateway security group referencing feature has been disabled), or if a security group VPC association has been disassociated.

Parameter Syntax

$result = $client->describeStaleSecurityGroups([
    'DryRun' => true || false,
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    '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.

MaxResults
Type: int

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

NextToken
Type: string

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

VpcId
Required: Yes
Type: string

The ID of the VPC.

Result Syntax

[
    'NextToken' => '<string>',
    'StaleSecurityGroupSet' => [
        [
            'Description' => '<string>',
            'GroupId' => '<string>',
            'GroupName' => '<string>',
            'StaleIpPermissions' => [
                [
                    'FromPort' => <integer>,
                    'IpProtocol' => '<string>',
                    'IpRanges' => ['<string>', ...],
                    'PrefixListIds' => ['<string>', ...],
                    'ToPort' => <integer>,
                    'UserIdGroupPairs' => [
                        [
                            'Description' => '<string>',
                            'GroupId' => '<string>',
                            'GroupName' => '<string>',
                            'PeeringStatus' => '<string>',
                            'UserId' => '<string>',
                            'VpcId' => '<string>',
                            'VpcPeeringConnectionId' => '<string>',
                        ],
                        // ...
                    ],
                ],
                // ...
            ],
            'StaleIpPermissionsEgress' => [
                [
                    'FromPort' => <integer>,
                    'IpProtocol' => '<string>',
                    'IpRanges' => ['<string>', ...],
                    'PrefixListIds' => ['<string>', ...],
                    'ToPort' => <integer>,
                    'UserIdGroupPairs' => [
                        [
                            'Description' => '<string>',
                            'GroupId' => '<string>',
                            'GroupName' => '<string>',
                            'PeeringStatus' => '<string>',
                            'UserId' => '<string>',
                            'VpcId' => '<string>',
                            'VpcPeeringConnectionId' => '<string>',
                        ],
                        // ...
                    ],
                ],
                // ...
            ],
            'VpcId' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

StaleSecurityGroupSet
Type: Array of StaleSecurityGroup structures

Information about the stale security groups.

Errors

There are no errors described for this operation.

DescribeStoreImageTasks

$result = $client->describeStoreImageTasks([/* ... */]);
$promise = $client->describeStoreImageTasksAsync([/* ... */]);

Describes the progress of the AMI store tasks. You can describe the store tasks for specified AMIs. If you don't specify the AMIs, you get a paginated list of store tasks from the last 31 days.

For each AMI task, the response indicates if the task is InProgress, Completed, or Failed. For tasks InProgress, the response shows the estimated progress as a percentage.

Tasks are listed in reverse chronological order. Currently, only tasks from the past 31 days can be viewed.

To use this API, you must have the required permissions. For more information, see Permissions for storing and restoring AMIs using Amazon S3 in the Amazon EC2 User Guide.

For more information, see Store and restore an AMI using Amazon S3 in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->describeStoreImageTasks([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'ImageIds' => ['<string>', ...],
    'MaxResults' => <integer>,
    'NextToken' => '<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.

Filters
Type: Array of Filter structures

The filters.

  • task-state - Returns tasks in a certain state (InProgress | Completed | Failed)

  • bucket - Returns task information for tasks that targeted a specific bucket. For the filter value, specify the bucket name.

When you specify the ImageIds parameter, any filters that you specify are ignored. To use the filters, you must remove the ImageIds parameter.

ImageIds
Type: Array of strings

The AMI IDs for which to show progress. Up to 20 AMI IDs can be included in a request.

MaxResults
Type: int

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

You cannot specify this parameter and the ImageIds parameter in the same call.

NextToken
Type: string

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

Result Syntax

[
    'NextToken' => '<string>',
    'StoreImageTaskResults' => [
        [
            'AmiId' => '<string>',
            'Bucket' => '<string>',
            'ProgressPercentage' => <integer>,
            'S3objectKey' => '<string>',
            'StoreTaskFailureReason' => '<string>',
            'StoreTaskState' => '<string>',
            'TaskStartTime' => <DateTime>,
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

StoreImageTaskResults
Type: Array of StoreImageTaskResult structures

The information about the AMI store tasks.

Errors

There are no errors described for this operation.

DescribeSubnets

$result = $client->describeSubnets([/* ... */]);
$promise = $client->describeSubnetsAsync([/* ... */]);

Describes your subnets. The default is to describe all your subnets. Alternatively, you can specify specific subnet IDs or filter the results to include only the subnets that match specific criteria.

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

Parameter Syntax

$result = $client->describeSubnets([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'SubnetIds' => ['<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.

Filters
Type: Array of Filter structures

The filters.

  • availability-zone - The Availability Zone for the subnet. You can also use availabilityZone as the filter name.

  • availability-zone-id - The ID of the Availability Zone for the subnet. You can also use availabilityZoneId as the filter name.

  • available-ip-address-count - The number of IPv4 addresses in the subnet that are available.

  • cidr-block - The IPv4 CIDR block of the subnet. The CIDR block you specify must exactly match the subnet's CIDR block for information to be returned for the subnet. You can also use cidr or cidrBlock as the filter names.

  • customer-owned-ipv4-pool - The customer-owned IPv4 address pool associated with the subnet.

  • default-for-az - Indicates whether this is the default subnet for the Availability Zone (true | false). You can also use defaultForAz as the filter name.

  • enable-dns64 - Indicates whether DNS queries made to the Amazon-provided DNS Resolver in this subnet should return synthetic IPv6 addresses for IPv4-only destinations.

  • enable-lni-at-device-index - Indicates the device position for local network interfaces in this subnet. For example, 1 indicates local network interfaces in this subnet are the secondary network interface (eth1).

  • ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR block associated with the subnet.

  • ipv6-cidr-block-association.association-id - An association ID for an IPv6 CIDR block associated with the subnet.

  • ipv6-cidr-block-association.state - The state of an IPv6 CIDR block associated with the subnet.

  • ipv6-native - Indicates whether this is an IPv6 only subnet (true | false).

  • map-customer-owned-ip-on-launch - Indicates whether a network interface created in this subnet (including a network interface created by RunInstances) receives a customer-owned IPv4 address.

  • map-public-ip-on-launch - Indicates whether instances launched in this subnet receive a public IPv4 address.

  • outpost-arn - The Amazon Resource Name (ARN) of the Outpost.

  • owner-id - The ID of the Amazon Web Services account that owns the subnet.

  • private-dns-name-options-on-launch.hostname-type - The type of hostname to assign to instances in the subnet at launch. For IPv4-only and dual-stack (IPv4 and IPv6) subnets, an instance DNS name can be based on the instance IPv4 address (ip-name) or the instance ID (resource-name). For IPv6 only subnets, an instance DNS name must be based on the instance ID (resource-name).

  • private-dns-name-options-on-launch.enable-resource-name-dns-a-record - Indicates whether to respond to DNS queries for instance hostnames with DNS A records.

  • private-dns-name-options-on-launch.enable-resource-name-dns-aaaa-record - Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records.

  • state - The state of the subnet (pending | available).

  • subnet-arn - The Amazon Resource Name (ARN) of the subnet.

  • subnet-id - The ID of the subnet.

  • 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.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • vpc-id - The ID of the VPC for the subnet.

MaxResults
Type: int

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

NextToken
Type: string

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

SubnetIds
Type: Array of strings

The IDs of the subnets.

Default: Describes all your subnets.

Result Syntax

[
    'NextToken' => '<string>',
    'Subnets' => [
        [
            'AssignIpv6AddressOnCreation' => true || false,
            'AvailabilityZone' => '<string>',
            'AvailabilityZoneId' => '<string>',
            'AvailableIpAddressCount' => <integer>,
            '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
NextToken
Type: string

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

Subnets
Type: Array of Subnet structures

Information about the subnets.

Errors

There are no errors described for this operation.

Examples

Example 1: To describe the subnets for a VPC

This example describes the subnets for the specified VPC.

$result = $client->describeSubnets([
    'Filters' => [
        [
            'Name' => 'vpc-id',
            'Values' => [
                'vpc-a01106c2',
            ],
        ],
    ],
]);

Result syntax:

[
    'Subnets' => [
        [
            'AvailabilityZone' => 'us-east-1c',
            'AvailableIpAddressCount' => 251,
            'CidrBlock' => '10.0.1.0/24',
            'DefaultForAz' => ,
            'MapPublicIpOnLaunch' => ,
            'State' => 'available',
            'SubnetId' => 'subnet-9d4a7b6c',
            'VpcId' => 'vpc-a01106c2',
        ],
    ],
]

DescribeTags

$result = $client->describeTags([/* ... */]);
$promise = $client->describeTagsAsync([/* ... */]);

Describes the specified tags for your EC2 resources.

For more information about tags, see Tag your Amazon EC2 resources in the Amazon Elastic Compute Cloud User Guide.

We strongly recommend using only paginated requests. Unpaginated requests are susceptible to throttling and timeouts.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

Parameter Syntax

$result = $client->describeTags([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<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.

Filters
Type: Array of Filter structures

The filters.

  • key - The tag key.

  • resource-id - The ID of the resource.

  • resource-type - The resource type. For a list of possible values, see TagSpecification.

  • tag:<key> - The key/value combination of the tag. For example, specify "tag:Owner" for the filter name and "TeamA" for the filter value to find resources with the tag "Owner=TeamA".

  • value - The tag value.

MaxResults
Type: int

The maximum number of items to return for this request. This value can be between 5 and 1000. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

NextToken
Type: string

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

Result Syntax

[
    'NextToken' => '<string>',
    'Tags' => [
        [
            'Key' => '<string>',
            'ResourceId' => '<string>',
            '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',
            'Value' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

Tags
Type: Array of TagDescription structures

The tags.

Errors

There are no errors described for this operation.

Examples

Example 1: To describe the tags for a single resource

This example describes the tags for the specified instance.

$result = $client->describeTags([
    'Filters' => [
        [
            'Name' => 'resource-id',
            'Values' => [
                'i-1234567890abcdef8',
            ],
        ],
    ],
]);

Result syntax:

[
    'Tags' => [
        [
            'Key' => 'Stack',
            'ResourceId' => 'i-1234567890abcdef8',
            'ResourceType' => 'instance',
            'Value' => 'test',
        ],
        [
            'Key' => 'Name',
            'ResourceId' => 'i-1234567890abcdef8',
            'ResourceType' => 'instance',
            'Value' => 'Beta Server',
        ],
    ],
]

DescribeTrafficMirrorFilterRules

$result = $client->describeTrafficMirrorFilterRules([/* ... */]);
$promise = $client->describeTrafficMirrorFilterRulesAsync([/* ... */]);

Describe traffic mirror filters that determine the traffic that is mirrored.

Parameter Syntax

$result = $client->describeTrafficMirrorFilterRules([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'TrafficMirrorFilterId' => '<string>',
    'TrafficMirrorFilterRuleIds' => ['<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.

Filters
Type: Array of Filter structures

Traffic mirror filters.

  • traffic-mirror-filter-rule-id: The ID of the Traffic Mirror rule.

  • traffic-mirror-filter-id: The ID of the filter that this rule is associated with.

  • rule-number: The number of the Traffic Mirror rule.

  • rule-action: The action taken on the filtered traffic. Possible actions are accept and reject.

  • traffic-direction: The traffic direction. Possible directions are ingress and egress.

  • protocol: The protocol, for example UDP, assigned to the Traffic Mirror rule.

  • source-cidr-block: The source CIDR block assigned to the Traffic Mirror rule.

  • destination-cidr-block: The destination CIDR block assigned to the Traffic Mirror rule.

  • description: The description of the Traffic Mirror rule.

MaxResults
Type: int

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

NextToken
Type: string

The token for the next page of results.

TrafficMirrorFilterId
Type: string

Traffic filter ID.

TrafficMirrorFilterRuleIds
Type: Array of strings

Traffic filter rule IDs.

Result Syntax

[
    'NextToken' => '<string>',
    'TrafficMirrorFilterRules' => [
        [
            'Description' => '<string>',
            'DestinationCidrBlock' => '<string>',
            'DestinationPortRange' => [
                'FromPort' => <integer>,
                'ToPort' => <integer>,
            ],
            'Protocol' => <integer>,
            'RuleAction' => 'accept|reject',
            'RuleNumber' => <integer>,
            'SourceCidrBlock' => '<string>',
            'SourcePortRange' => [
                'FromPort' => <integer>,
                'ToPort' => <integer>,
            ],
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'TrafficDirection' => 'ingress|egress',
            'TrafficMirrorFilterId' => '<string>',
            'TrafficMirrorFilterRuleId' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token to use to retrieve the next page of results. The value is null when there are no more results to return.

TrafficMirrorFilterRules
Type: Array of TrafficMirrorFilterRule structures

Traffic mirror rules.

Errors

There are no errors described for this operation.

DescribeTrafficMirrorFilters

$result = $client->describeTrafficMirrorFilters([/* ... */]);
$promise = $client->describeTrafficMirrorFiltersAsync([/* ... */]);

Describes one or more Traffic Mirror filters.

Parameter Syntax

$result = $client->describeTrafficMirrorFilters([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'TrafficMirrorFilterIds' => ['<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.

Filters
Type: Array of Filter structures

One or more filters. The possible values are:

  • description: The Traffic Mirror filter description.

  • traffic-mirror-filter-id: The ID of the Traffic Mirror filter.

MaxResults
Type: int

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

NextToken
Type: string

The token for the next page of results.

TrafficMirrorFilterIds
Type: Array of strings

The ID of the Traffic Mirror filter.

Result Syntax

[
    'NextToken' => '<string>',
    'TrafficMirrorFilters' => [
        [
            'Description' => '<string>',
            'EgressFilterRules' => [
                [
                    'Description' => '<string>',
                    'DestinationCidrBlock' => '<string>',
                    'DestinationPortRange' => [
                        'FromPort' => <integer>,
                        'ToPort' => <integer>,
                    ],
                    'Protocol' => <integer>,
                    'RuleAction' => 'accept|reject',
                    'RuleNumber' => <integer>,
                    'SourceCidrBlock' => '<string>',
                    'SourcePortRange' => [
                        'FromPort' => <integer>,
                        'ToPort' => <integer>,
                    ],
                    'Tags' => [
                        [
                            'Key' => '<string>',
                            'Value' => '<string>',
                        ],
                        // ...
                    ],
                    'TrafficDirection' => 'ingress|egress',
                    'TrafficMirrorFilterId' => '<string>',
                    'TrafficMirrorFilterRuleId' => '<string>',
                ],
                // ...
            ],
            'IngressFilterRules' => [
                [
                    'Description' => '<string>',
                    'DestinationCidrBlock' => '<string>',
                    'DestinationPortRange' => [
                        'FromPort' => <integer>,
                        'ToPort' => <integer>,
                    ],
                    'Protocol' => <integer>,
                    'RuleAction' => 'accept|reject',
                    'RuleNumber' => <integer>,
                    'SourceCidrBlock' => '<string>',
                    'SourcePortRange' => [
                        'FromPort' => <integer>,
                        'ToPort' => <integer>,
                    ],
                    'Tags' => [
                        [
                            'Key' => '<string>',
                            'Value' => '<string>',
                        ],
                        // ...
                    ],
                    'TrafficDirection' => 'ingress|egress',
                    'TrafficMirrorFilterId' => '<string>',
                    'TrafficMirrorFilterRuleId' => '<string>',
                ],
                // ...
            ],
            'NetworkServices' => ['<string>', ...],
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'TrafficMirrorFilterId' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token to use to retrieve the next page of results. The value is null when there are no more results to return.

TrafficMirrorFilters
Type: Array of TrafficMirrorFilter structures

Information about one or more Traffic Mirror filters.

Errors

There are no errors described for this operation.

DescribeTrafficMirrorSessions

$result = $client->describeTrafficMirrorSessions([/* ... */]);
$promise = $client->describeTrafficMirrorSessionsAsync([/* ... */]);

Describes one or more Traffic Mirror sessions. By default, all Traffic Mirror sessions are described. Alternatively, you can filter the results.

Parameter Syntax

$result = $client->describeTrafficMirrorSessions([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'TrafficMirrorSessionIds' => ['<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.

Filters
Type: Array of Filter structures

One or more filters. The possible values are:

  • description: The Traffic Mirror session description.

  • network-interface-id: The ID of the Traffic Mirror session network interface.

  • owner-id: The ID of the account that owns the Traffic Mirror session.

  • packet-length: The assigned number of packets to mirror.

  • session-number: The assigned session number.

  • traffic-mirror-filter-id: The ID of the Traffic Mirror filter.

  • traffic-mirror-session-id: The ID of the Traffic Mirror session.

  • traffic-mirror-target-id: The ID of the Traffic Mirror target.

  • virtual-network-id: The virtual network ID of the Traffic Mirror session.

MaxResults
Type: int

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

NextToken
Type: string

The token for the next page of results.

TrafficMirrorSessionIds
Type: Array of strings

The ID of the Traffic Mirror session.

Result Syntax

[
    'NextToken' => '<string>',
    'TrafficMirrorSessions' => [
        [
            'Description' => '<string>',
            'NetworkInterfaceId' => '<string>',
            'OwnerId' => '<string>',
            'PacketLength' => <integer>,
            'SessionNumber' => <integer>,
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'TrafficMirrorFilterId' => '<string>',
            'TrafficMirrorSessionId' => '<string>',
            'TrafficMirrorTargetId' => '<string>',
            'VirtualNetworkId' => <integer>,
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token to use to retrieve the next page of results. The value is null when there are no more results to return.

TrafficMirrorSessions
Type: Array of TrafficMirrorSession structures

Describes one or more Traffic Mirror sessions. By default, all Traffic Mirror sessions are described. Alternatively, you can filter the results.

Errors

There are no errors described for this operation.

DescribeTrafficMirrorTargets

$result = $client->describeTrafficMirrorTargets([/* ... */]);
$promise = $client->describeTrafficMirrorTargetsAsync([/* ... */]);

Information about one or more Traffic Mirror targets.

Parameter Syntax

$result = $client->describeTrafficMirrorTargets([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'TrafficMirrorTargetIds' => ['<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.

Filters
Type: Array of Filter structures

One or more filters. The possible values are:

  • description: The Traffic Mirror target description.

  • network-interface-id: The ID of the Traffic Mirror session network interface.

  • network-load-balancer-arn: The Amazon Resource Name (ARN) of the Network Load Balancer that is associated with the session.

  • owner-id: The ID of the account that owns the Traffic Mirror session.

  • traffic-mirror-target-id: The ID of the Traffic Mirror target.

MaxResults
Type: int

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

NextToken
Type: string

The token for the next page of results.

TrafficMirrorTargetIds
Type: Array of strings

The ID of the Traffic Mirror targets.

Result Syntax

[
    'NextToken' => '<string>',
    'TrafficMirrorTargets' => [
        [
            'Description' => '<string>',
            'GatewayLoadBalancerEndpointId' => '<string>',
            'NetworkInterfaceId' => '<string>',
            'NetworkLoadBalancerArn' => '<string>',
            'OwnerId' => '<string>',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'TrafficMirrorTargetId' => '<string>',
            'Type' => 'network-interface|network-load-balancer|gateway-load-balancer-endpoint',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token to use to retrieve the next page of results. The value is null when there are no more results to return.

TrafficMirrorTargets
Type: Array of TrafficMirrorTarget structures

Information about one or more Traffic Mirror targets.

Errors

There are no errors described for this operation.

DescribeTransitGatewayAttachments

$result = $client->describeTransitGatewayAttachments([/* ... */]);
$promise = $client->describeTransitGatewayAttachmentsAsync([/* ... */]);

Describes one or more attachments between resources and transit gateways. By default, all attachments are described. Alternatively, you can filter the results by attachment ID, attachment state, resource ID, or resource owner.

Parameter Syntax

$result = $client->describeTransitGatewayAttachments([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'TransitGatewayAttachmentIds' => ['<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.

Filters
Type: Array of Filter structures

One or more filters. The possible values are:

  • association.state - The state of the association (associating | associated | disassociating).

  • association.transit-gateway-route-table-id - The ID of the route table for the transit gateway.

  • resource-id - The ID of the resource.

  • resource-owner-id - The ID of the Amazon Web Services account that owns the resource.

  • resource-type - The resource type. Valid values are vpc | vpn | direct-connect-gateway | peering | connect.

  • state - The state of the attachment. Valid values are available | deleted | deleting | failed | failing | initiatingRequest | modifying | pendingAcceptance | pending | rollingBack | rejected | rejecting.

  • transit-gateway-attachment-id - The ID of the attachment.

  • transit-gateway-id - The ID of the transit gateway.

  • transit-gateway-owner-id - The ID of the Amazon Web Services account that owns the transit gateway.

MaxResults
Type: int

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

NextToken
Type: string

The token for the next page of results.

TransitGatewayAttachmentIds
Type: Array of strings

The IDs of the attachments.

Result Syntax

[
    'NextToken' => '<string>',
    'TransitGatewayAttachments' => [
        [
            'Association' => [
                'State' => 'associating|associated|disassociating|disassociated',
                'TransitGatewayRouteTableId' => '<string>',
            ],
            'CreationTime' => <DateTime>,
            'ResourceId' => '<string>',
            'ResourceOwnerId' => '<string>',
            'ResourceType' => 'vpc|vpn|direct-connect-gateway|connect|peering|tgw-peering',
            'State' => 'initiating|initiatingRequest|pendingAcceptance|rollingBack|pending|available|modifying|deleting|deleted|failed|rejected|rejecting|failing',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'TransitGatewayAttachmentId' => '<string>',
            'TransitGatewayId' => '<string>',
            'TransitGatewayOwnerId' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

TransitGatewayAttachments
Type: Array of TransitGatewayAttachment structures

Information about the attachments.

Errors

There are no errors described for this operation.

DescribeTransitGatewayConnectPeers

$result = $client->describeTransitGatewayConnectPeers([/* ... */]);
$promise = $client->describeTransitGatewayConnectPeersAsync([/* ... */]);

Describes one or more Connect peers.

Parameter Syntax

$result = $client->describeTransitGatewayConnectPeers([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'TransitGatewayConnectPeerIds' => ['<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.

Filters
Type: Array of Filter structures

One or more filters. The possible values are:

  • state - The state of the Connect peer (pending | available | deleting | deleted).

  • transit-gateway-attachment-id - The ID of the attachment.

  • transit-gateway-connect-peer-id - The ID of the Connect peer.

MaxResults
Type: int

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

NextToken
Type: string

The token for the next page of results.

TransitGatewayConnectPeerIds
Type: Array of strings

The IDs of the Connect peers.

Result Syntax

[
    'NextToken' => '<string>',
    'TransitGatewayConnectPeers' => [
        [
            'ConnectPeerConfiguration' => [
                'BgpConfigurations' => [
                    [
                        'BgpStatus' => 'up|down',
                        'PeerAddress' => '<string>',
                        'PeerAsn' => <integer>,
                        'TransitGatewayAddress' => '<string>',
                        'TransitGatewayAsn' => <integer>,
                    ],
                    // ...
                ],
                'InsideCidrBlocks' => ['<string>', ...],
                'PeerAddress' => '<string>',
                'Protocol' => 'gre',
                'TransitGatewayAddress' => '<string>',
            ],
            'CreationTime' => <DateTime>,
            'State' => 'pending|available|deleting|deleted',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'TransitGatewayAttachmentId' => '<string>',
            'TransitGatewayConnectPeerId' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

TransitGatewayConnectPeers
Type: Array of TransitGatewayConnectPeer structures

Information about the Connect peers.

Errors

There are no errors described for this operation.

DescribeTransitGatewayConnects

$result = $client->describeTransitGatewayConnects([/* ... */]);
$promise = $client->describeTransitGatewayConnectsAsync([/* ... */]);

Describes one or more Connect attachments.

Parameter Syntax

$result = $client->describeTransitGatewayConnects([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'TransitGatewayAttachmentIds' => ['<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.

Filters
Type: Array of Filter structures

One or more filters. The possible values are:

  • options.protocol - The tunnel protocol (gre).

  • state - The state of the attachment (initiating | initiatingRequest | pendingAcceptance | rollingBack | pending | available | modifying | deleting | deleted | failed | rejected | rejecting | failing).

  • transit-gateway-attachment-id - The ID of the Connect attachment.

  • transit-gateway-id - The ID of the transit gateway.

  • transport-transit-gateway-attachment-id - The ID of the transit gateway attachment from which the Connect attachment was created.

MaxResults
Type: int

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

NextToken
Type: string

The token for the next page of results.

TransitGatewayAttachmentIds
Type: Array of strings

The IDs of the attachments.

Result Syntax

[
    'NextToken' => '<string>',
    'TransitGatewayConnects' => [
        [
            'CreationTime' => <DateTime>,
            'Options' => [
                'Protocol' => 'gre',
            ],
            'State' => 'initiating|initiatingRequest|pendingAcceptance|rollingBack|pending|available|modifying|deleting|deleted|failed|rejected|rejecting|failing',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'TransitGatewayAttachmentId' => '<string>',
            'TransitGatewayId' => '<string>',
            'TransportTransitGatewayAttachmentId' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

TransitGatewayConnects
Type: Array of TransitGatewayConnect structures

Information about the Connect attachments.

Errors

There are no errors described for this operation.

DescribeTransitGatewayMulticastDomains

$result = $client->describeTransitGatewayMulticastDomains([/* ... */]);
$promise = $client->describeTransitGatewayMulticastDomainsAsync([/* ... */]);

Describes one or more transit gateway multicast domains.

Parameter Syntax

$result = $client->describeTransitGatewayMulticastDomains([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'TransitGatewayMulticastDomainIds' => ['<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.

Filters
Type: Array of Filter structures

One or more filters. The possible values are:

  • state - The state of the transit gateway multicast domain. Valid values are pending | available | deleting | deleted.

  • transit-gateway-id - The ID of the transit gateway.

  • transit-gateway-multicast-domain-id - The ID of the transit gateway multicast domain.

MaxResults
Type: int

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

NextToken
Type: string

The token for the next page of results.

TransitGatewayMulticastDomainIds
Type: Array of strings

The ID of the transit gateway multicast domain.

Result Syntax

[
    'NextToken' => '<string>',
    'TransitGatewayMulticastDomains' => [
        [
            'CreationTime' => <DateTime>,
            'Options' => [
                'AutoAcceptSharedAssociations' => 'enable|disable',
                'Igmpv2Support' => 'enable|disable',
                'StaticSourcesSupport' => 'enable|disable',
            ],
            'OwnerId' => '<string>',
            'State' => 'pending|available|deleting|deleted',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'TransitGatewayId' => '<string>',
            'TransitGatewayMulticastDomainArn' => '<string>',
            'TransitGatewayMulticastDomainId' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

TransitGatewayMulticastDomains
Type: Array of TransitGatewayMulticastDomain structures

Information about the transit gateway multicast domains.

Errors

There are no errors described for this operation.

DescribeTransitGatewayPeeringAttachments

$result = $client->describeTransitGatewayPeeringAttachments([/* ... */]);
$promise = $client->describeTransitGatewayPeeringAttachmentsAsync([/* ... */]);

Describes your transit gateway peering attachments.

Parameter Syntax

$result = $client->describeTransitGatewayPeeringAttachments([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'TransitGatewayAttachmentIds' => ['<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.

Filters
Type: Array of Filter structures

One or more filters. The possible values are:

  • transit-gateway-attachment-id - The ID of the transit gateway attachment.

  • local-owner-id - The ID of your Amazon Web Services account.

  • remote-owner-id - The ID of the Amazon Web Services account in the remote Region that owns the transit gateway.

  • state - The state of the peering attachment. Valid values are available | deleted | deleting | failed | failing | initiatingRequest | modifying | pendingAcceptance | pending | rollingBack | rejected | rejecting).

  • 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.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources that have a tag with a specific key, regardless of the tag value.

  • transit-gateway-id - The ID of the transit gateway.

MaxResults
Type: int

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

NextToken
Type: string

The token for the next page of results.

TransitGatewayAttachmentIds
Type: Array of strings

One or more IDs of the transit gateway peering attachments.

Result Syntax

[
    'NextToken' => '<string>',
    'TransitGatewayPeeringAttachments' => [
        [
            '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
NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

TransitGatewayPeeringAttachments
Type: Array of TransitGatewayPeeringAttachment structures

The transit gateway peering attachments.

Errors

There are no errors described for this operation.

DescribeTransitGatewayPolicyTables

$result = $client->describeTransitGatewayPolicyTables([/* ... */]);
$promise = $client->describeTransitGatewayPolicyTablesAsync([/* ... */]);

Describes one or more transit gateway route policy tables.

Parameter Syntax

$result = $client->describeTransitGatewayPolicyTables([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'TransitGatewayPolicyTableIds' => ['<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.

Filters
Type: Array of Filter structures

The filters associated with the transit gateway policy table.

MaxResults
Type: int

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

NextToken
Type: string

The token for the next page of results.

TransitGatewayPolicyTableIds
Type: Array of strings

The IDs of the transit gateway policy tables.

Result Syntax

[
    'NextToken' => '<string>',
    'TransitGatewayPolicyTables' => [
        [
            'CreationTime' => <DateTime>,
            'State' => 'pending|available|deleting|deleted',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'TransitGatewayId' => '<string>',
            'TransitGatewayPolicyTableId' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token for the next page of results.

TransitGatewayPolicyTables
Type: Array of TransitGatewayPolicyTable structures

Describes the transit gateway policy tables.

Errors

There are no errors described for this operation.

DescribeTransitGatewayRouteTableAnnouncements

$result = $client->describeTransitGatewayRouteTableAnnouncements([/* ... */]);
$promise = $client->describeTransitGatewayRouteTableAnnouncementsAsync([/* ... */]);

Describes one or more transit gateway route table advertisements.

Parameter Syntax

$result = $client->describeTransitGatewayRouteTableAnnouncements([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'TransitGatewayRouteTableAnnouncementIds' => ['<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.

Filters
Type: Array of Filter structures

The filters associated with the transit gateway policy table.

MaxResults
Type: int

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

NextToken
Type: string

The token for the next page of results.

TransitGatewayRouteTableAnnouncementIds
Type: Array of strings

The IDs of the transit gateway route tables that are being advertised.

Result Syntax

[
    'NextToken' => '<string>',
    'TransitGatewayRouteTableAnnouncements' => [
        [
            'AnnouncementDirection' => 'outgoing|incoming',
            'CoreNetworkId' => '<string>',
            'CreationTime' => <DateTime>,
            'PeerCoreNetworkId' => '<string>',
            'PeerTransitGatewayId' => '<string>',
            'PeeringAttachmentId' => '<string>',
            'State' => 'available|pending|failing|failed|deleting|deleted',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'TransitGatewayId' => '<string>',
            'TransitGatewayRouteTableAnnouncementId' => '<string>',
            'TransitGatewayRouteTableId' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token for the next page of results.

TransitGatewayRouteTableAnnouncements
Type: Array of TransitGatewayRouteTableAnnouncement structures

Describes the transit gateway route table announcement.

Errors

There are no errors described for this operation.

DescribeTransitGatewayRouteTables

$result = $client->describeTransitGatewayRouteTables([/* ... */]);
$promise = $client->describeTransitGatewayRouteTablesAsync([/* ... */]);

Describes one or more transit gateway route tables. By default, all transit gateway route tables are described. Alternatively, you can filter the results.

Parameter Syntax

$result = $client->describeTransitGatewayRouteTables([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'TransitGatewayRouteTableIds' => ['<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.

Filters
Type: Array of Filter structures

One or more filters. The possible values are:

  • default-association-route-table - Indicates whether this is the default association route table for the transit gateway (true | false).

  • default-propagation-route-table - Indicates whether this is the default propagation route table for the transit gateway (true | false).

  • state - The state of the route table (available | deleting | deleted | pending).

  • transit-gateway-id - The ID of the transit gateway.

  • transit-gateway-route-table-id - The ID of the transit gateway route table.

MaxResults
Type: int

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

NextToken
Type: string

The token for the next page of results.

TransitGatewayRouteTableIds
Type: Array of strings

The IDs of the transit gateway route tables.

Result Syntax

[
    'NextToken' => '<string>',
    'TransitGatewayRouteTables' => [
        [
            'CreationTime' => <DateTime>,
            'DefaultAssociationRouteTable' => true || false,
            'DefaultPropagationRouteTable' => true || false,
            'State' => 'pending|available|deleting|deleted',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'TransitGatewayId' => '<string>',
            'TransitGatewayRouteTableId' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

TransitGatewayRouteTables
Type: Array of TransitGatewayRouteTable structures

Information about the transit gateway route tables.

Errors

There are no errors described for this operation.

DescribeTransitGatewayVpcAttachments

$result = $client->describeTransitGatewayVpcAttachments([/* ... */]);
$promise = $client->describeTransitGatewayVpcAttachmentsAsync([/* ... */]);

Describes one or more VPC attachments. By default, all VPC attachments are described. Alternatively, you can filter the results.

Parameter Syntax

$result = $client->describeTransitGatewayVpcAttachments([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'TransitGatewayAttachmentIds' => ['<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.

Filters
Type: Array of Filter structures

One or more filters. The possible values are:

  • state - The state of the attachment. Valid values are available | deleted | deleting | failed | failing | initiatingRequest | modifying | pendingAcceptance | pending | rollingBack | rejected | rejecting.

  • transit-gateway-attachment-id - The ID of the attachment.

  • transit-gateway-id - The ID of the transit gateway.

  • vpc-id - The ID of the VPC.

MaxResults
Type: int

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

NextToken
Type: string

The token for the next page of results.

TransitGatewayAttachmentIds
Type: Array of strings

The IDs of the attachments.

Result Syntax

[
    'NextToken' => '<string>',
    'TransitGatewayVpcAttachments' => [
        [
            '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
NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

TransitGatewayVpcAttachments
Type: Array of TransitGatewayVpcAttachment structures

Information about the VPC attachments.

Errors

There are no errors described for this operation.

DescribeTransitGateways

$result = $client->describeTransitGateways([/* ... */]);
$promise = $client->describeTransitGatewaysAsync([/* ... */]);

Describes one or more transit gateways. By default, all transit gateways are described. Alternatively, you can filter the results.

Parameter Syntax

$result = $client->describeTransitGateways([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'TransitGatewayIds' => ['<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.

Filters
Type: Array of Filter structures

One or more filters. The possible values are:

  • options.propagation-default-route-table-id - The ID of the default propagation route table.

  • options.amazon-side-asn - The private ASN for the Amazon side of a BGP session.

  • options.association-default-route-table-id - The ID of the default association route table.

  • options.auto-accept-shared-attachments - Indicates whether there is automatic acceptance of attachment requests (enable | disable).

  • options.default-route-table-association - Indicates whether resource attachments are automatically associated with the default association route table (enable | disable).

  • options.default-route-table-propagation - Indicates whether resource attachments automatically propagate routes to the default propagation route table (enable | disable).

  • options.dns-support - Indicates whether DNS support is enabled (enable | disable).

  • options.vpn-ecmp-support - Indicates whether Equal Cost Multipath Protocol support is enabled (enable | disable).

  • owner-id - The ID of the Amazon Web Services account that owns the transit gateway.

  • state - The state of the transit gateway (available | deleted | deleting | modifying | pending).

  • transit-gateway-id - The ID of the transit gateway.

  • 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.

MaxResults
Type: int

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

NextToken
Type: string

The token for the next page of results.

TransitGatewayIds
Type: Array of strings

The IDs of the transit gateways.

Result Syntax

[
    'NextToken' => '<string>',
    'TransitGateways' => [
        [
            'CreationTime' => <DateTime>,
            'Description' => '<string>',
            'Options' => [
                'AmazonSideAsn' => <integer>,
                'AssociationDefaultRouteTableId' => '<string>',
                'AutoAcceptSharedAttachments' => 'enable|disable',
                'DefaultRouteTableAssociation' => 'enable|disable',
                'DefaultRouteTablePropagation' => 'enable|disable',
                'DnsSupport' => 'enable|disable',
                'MulticastSupport' => 'enable|disable',
                'PropagationDefaultRouteTableId' => '<string>',
                'SecurityGroupReferencingSupport' => 'enable|disable',
                'TransitGatewayCidrBlocks' => ['<string>', ...],
                'VpnEcmpSupport' => 'enable|disable',
            ],
            'OwnerId' => '<string>',
            'State' => 'pending|available|modifying|deleting|deleted',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'TransitGatewayArn' => '<string>',
            'TransitGatewayId' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

TransitGateways
Type: Array of TransitGateway structures

Information about the transit gateways.

Errors

There are no errors described for this operation.

DescribeTrunkInterfaceAssociations

$result = $client->describeTrunkInterfaceAssociations([/* ... */]);
$promise = $client->describeTrunkInterfaceAssociationsAsync([/* ... */]);

Describes one or more network interface trunk associations.

Parameter Syntax

$result = $client->describeTrunkInterfaceAssociations([
    'AssociationIds' => ['<string>', ...],
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
AssociationIds
Type: Array of strings

The IDs of the associations.

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.

Filters
Type: Array of Filter structures

One or more filters.

  • gre-key - The ID of a trunk interface association.

  • interface-protocol - The interface protocol. Valid values are VLAN and GRE.

MaxResults
Type: int

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

NextToken
Type: string

The token for the next page of results.

Result Syntax

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

Result Details

Members
InterfaceAssociations
Type: Array of TrunkInterfaceAssociation structures

Information about the trunk associations.

NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

Errors

There are no errors described for this operation.

DescribeVerifiedAccessEndpoints

$result = $client->describeVerifiedAccessEndpoints([/* ... */]);
$promise = $client->describeVerifiedAccessEndpointsAsync([/* ... */]);

Describes the specified Amazon Web Services Verified Access endpoints.

Parameter Syntax

$result = $client->describeVerifiedAccessEndpoints([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'VerifiedAccessEndpointIds' => ['<string>', ...],
    'VerifiedAccessGroupId' => '<string>',
    'VerifiedAccessInstanceId' => '<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.

Filters
Type: Array of Filter structures

One or more filters. Filter names and values are case-sensitive.

MaxResults
Type: int

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

NextToken
Type: string

The token for the next page of results.

VerifiedAccessEndpointIds
Type: Array of strings

The ID of the Verified Access endpoint.

VerifiedAccessGroupId
Type: string

The ID of the Verified Access group.

VerifiedAccessInstanceId
Type: string

The ID of the Verified Access instance.

Result Syntax

[
    'NextToken' => '<string>',
    'VerifiedAccessEndpoints' => [
        [
            'ApplicationDomain' => '<string>',
            'AttachmentType' => 'vpc',
            'CreationTime' => '<string>',
            'DeletionTime' => '<string>',
            'Description' => '<string>',
            'DeviceValidationDomain' => '<string>',
            'DomainCertificateArn' => '<string>',
            'EndpointDomain' => '<string>',
            'EndpointType' => 'load-balancer|network-interface',
            'LastUpdatedTime' => '<string>',
            'LoadBalancerOptions' => [
                'LoadBalancerArn' => '<string>',
                'Port' => <integer>,
                'Protocol' => 'http|https',
                'SubnetIds' => ['<string>', ...],
            ],
            'NetworkInterfaceOptions' => [
                'NetworkInterfaceId' => '<string>',
                'Port' => <integer>,
                'Protocol' => 'http|https',
            ],
            'SecurityGroupIds' => ['<string>', ...],
            'SseSpecification' => [
                'CustomerManagedKeyEnabled' => true || false,
                'KmsKeyArn' => '<string>',
            ],
            'Status' => [
                'Code' => 'pending|active|updating|deleting|deleted',
                'Message' => '<string>',
            ],
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'VerifiedAccessEndpointId' => '<string>',
            'VerifiedAccessGroupId' => '<string>',
            'VerifiedAccessInstanceId' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

VerifiedAccessEndpoints
Type: Array of VerifiedAccessEndpoint structures

Details about the Verified Access endpoints.

Errors

There are no errors described for this operation.

DescribeVerifiedAccessGroups

$result = $client->describeVerifiedAccessGroups([/* ... */]);
$promise = $client->describeVerifiedAccessGroupsAsync([/* ... */]);

Describes the specified Verified Access groups.

Parameter Syntax

$result = $client->describeVerifiedAccessGroups([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'VerifiedAccessGroupIds' => ['<string>', ...],
    'VerifiedAccessInstanceId' => '<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.

Filters
Type: Array of Filter structures

One or more filters. Filter names and values are case-sensitive.

MaxResults
Type: int

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

NextToken
Type: string

The token for the next page of results.

VerifiedAccessGroupIds
Type: Array of strings

The ID of the Verified Access groups.

VerifiedAccessInstanceId
Type: string

The ID of the Verified Access instance.

Result Syntax

[
    'NextToken' => '<string>',
    'VerifiedAccessGroups' => [
        [
            'CreationTime' => '<string>',
            'DeletionTime' => '<string>',
            'Description' => '<string>',
            'LastUpdatedTime' => '<string>',
            'Owner' => '<string>',
            'SseSpecification' => [
                'CustomerManagedKeyEnabled' => true || false,
                'KmsKeyArn' => '<string>',
            ],
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'VerifiedAccessGroupArn' => '<string>',
            'VerifiedAccessGroupId' => '<string>',
            'VerifiedAccessInstanceId' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

VerifiedAccessGroups
Type: Array of VerifiedAccessGroup structures

Details about the Verified Access groups.

Errors

There are no errors described for this operation.

DescribeVerifiedAccessInstanceLoggingConfigurations

$result = $client->describeVerifiedAccessInstanceLoggingConfigurations([/* ... */]);
$promise = $client->describeVerifiedAccessInstanceLoggingConfigurationsAsync([/* ... */]);

Describes the specified Amazon Web Services Verified Access instances.

Parameter Syntax

$result = $client->describeVerifiedAccessInstanceLoggingConfigurations([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'VerifiedAccessInstanceIds' => ['<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.

Filters
Type: Array of Filter structures

One or more filters. Filter names and values are case-sensitive.

MaxResults
Type: int

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

NextToken
Type: string

The token for the next page of results.

VerifiedAccessInstanceIds
Type: Array of strings

The IDs of the Verified Access instances.

Result Syntax

[
    'LoggingConfigurations' => [
        [
            'AccessLogs' => [
                'CloudWatchLogs' => [
                    'DeliveryStatus' => [
                        'Code' => 'success|failed',
                        'Message' => '<string>',
                    ],
                    'Enabled' => true || false,
                    'LogGroup' => '<string>',
                ],
                'IncludeTrustContext' => true || false,
                'KinesisDataFirehose' => [
                    'DeliveryStatus' => [
                        'Code' => 'success|failed',
                        'Message' => '<string>',
                    ],
                    'DeliveryStream' => '<string>',
                    'Enabled' => true || false,
                ],
                'LogVersion' => '<string>',
                'S3' => [
                    'BucketName' => '<string>',
                    'BucketOwner' => '<string>',
                    'DeliveryStatus' => [
                        'Code' => 'success|failed',
                        'Message' => '<string>',
                    ],
                    'Enabled' => true || false,
                    'Prefix' => '<string>',
                ],
            ],
            'VerifiedAccessInstanceId' => '<string>',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
LoggingConfigurations
Type: Array of VerifiedAccessInstanceLoggingConfiguration structures

The logging configuration for the Verified Access instances.

NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

Errors

There are no errors described for this operation.

DescribeVerifiedAccessInstances

$result = $client->describeVerifiedAccessInstances([/* ... */]);
$promise = $client->describeVerifiedAccessInstancesAsync([/* ... */]);

Describes the specified Amazon Web Services Verified Access instances.

Parameter Syntax

$result = $client->describeVerifiedAccessInstances([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'VerifiedAccessInstanceIds' => ['<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.

Filters
Type: Array of Filter structures

One or more filters. Filter names and values are case-sensitive.

MaxResults
Type: int

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

NextToken
Type: string

The token for the next page of results.

VerifiedAccessInstanceIds
Type: Array of strings

The IDs of the Verified Access instances.

Result Syntax

[
    'NextToken' => '<string>',
    'VerifiedAccessInstances' => [
        [
            '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>',
                ],
                // ...
            ],
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

VerifiedAccessInstances
Type: Array of VerifiedAccessInstance structures

Details about the Verified Access instances.

Errors

There are no errors described for this operation.

DescribeVerifiedAccessTrustProviders

$result = $client->describeVerifiedAccessTrustProviders([/* ... */]);
$promise = $client->describeVerifiedAccessTrustProvidersAsync([/* ... */]);

Describes the specified Amazon Web Services Verified Access trust providers.

Parameter Syntax

$result = $client->describeVerifiedAccessTrustProviders([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'VerifiedAccessTrustProviderIds' => ['<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.

Filters
Type: Array of Filter structures

One or more filters. Filter names and values are case-sensitive.

MaxResults
Type: int

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

NextToken
Type: string

The token for the next page of results.

VerifiedAccessTrustProviderIds
Type: Array of strings

The IDs of the Verified Access trust providers.

Result Syntax

[
    'NextToken' => '<string>',
    'VerifiedAccessTrustProviders' => [
        [
            '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
NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

VerifiedAccessTrustProviders
Type: Array of VerifiedAccessTrustProvider structures

Details about the Verified Access trust providers.

Errors

There are no errors described for this operation.

DescribeVolumeAttribute

$result = $client->describeVolumeAttribute([/* ... */]);
$promise = $client->describeVolumeAttributeAsync([/* ... */]);

Describes the specified attribute of the specified volume. You can specify only one attribute at a time.

For more information about EBS volumes, see Amazon EBS volumes in the Amazon EBS User Guide.

Parameter Syntax

$result = $client->describeVolumeAttribute([
    'Attribute' => 'autoEnableIO|productCodes', // REQUIRED
    'DryRun' => true || false,
    'VolumeId' => '<string>', // REQUIRED
]);

Parameter Details

Members
Attribute
Required: Yes
Type: string

The attribute of the volume. This parameter is required.

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.

VolumeId
Required: Yes
Type: string

The ID of the volume.

Result Syntax

[
    'AutoEnableIO' => [
        'Value' => true || false,
    ],
    'ProductCodes' => [
        [
            'ProductCodeId' => '<string>',
            'ProductCodeType' => 'devpay|marketplace',
        ],
        // ...
    ],
    'VolumeId' => '<string>',
]

Result Details

Members
AutoEnableIO
Type: AttributeBooleanValue structure

The state of autoEnableIO attribute.

ProductCodes
Type: Array of ProductCode structures

A list of product codes.

VolumeId
Type: string

The ID of the volume.

Errors

There are no errors described for this operation.

Examples

Example 1: To describe a volume attribute

This example describes the ``autoEnableIo`` attribute of the volume with the ID ``vol-049df61146c4d7901``.

$result = $client->describeVolumeAttribute([
    'Attribute' => 'autoEnableIO',
    'VolumeId' => 'vol-049df61146c4d7901',
]);

Result syntax:

[
    'AutoEnableIO' => [
        'Value' => ,
    ],
    'VolumeId' => 'vol-049df61146c4d7901',
]

DescribeVolumeStatus

$result = $client->describeVolumeStatus([/* ... */]);
$promise = $client->describeVolumeStatusAsync([/* ... */]);

Describes the status of the specified volumes. Volume status provides the result of the checks performed on your volumes to determine events that can impair the performance of your volumes. The performance of a volume can be affected if an issue occurs on the volume's underlying host. If the volume's underlying host experiences a power outage or system issue, after the system is restored, there could be data inconsistencies on the volume. Volume events notify you if this occurs. Volume actions notify you if any action needs to be taken in response to the event.

The DescribeVolumeStatus operation provides the following information about the specified volumes:

Status: Reflects the current status of the volume. The possible values are ok, impaired , warning, or insufficient-data. If all checks pass, the overall status of the volume is ok. If the check fails, the overall status is impaired. If the status is insufficient-data, then the checks might still be taking place on your volume at the time. We recommend that you retry the request. For more information about volume status, see Monitor the status of your volumes in the Amazon EBS User Guide.

Events: Reflect the cause of a volume status and might require you to take action. For example, if your volume returns an impaired status, then the volume event might be potential-data-inconsistency. This means that your volume has been affected by an issue with the underlying host, has all I/O operations disabled, and might have inconsistent data.

Actions: Reflect the actions you might have to take in response to an event. For example, if the status of the volume is impaired and the volume event shows potential-data-inconsistency, then the action shows enable-volume-io. This means that you may want to enable the I/O operations for the volume by calling the EnableVolumeIO action and then check the volume for data consistency.

Volume status is based on the volume status checks, and does not reflect the volume state. Therefore, volume status does not indicate volumes in the error state (for example, when a volume is incapable of accepting I/O.)

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

Parameter Syntax

$result = $client->describeVolumeStatus([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'VolumeIds' => ['<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.

Filters
Type: Array of Filter structures

The filters.

  • action.code - The action code for the event (for example, enable-volume-io).

  • action.description - A description of the action.

  • action.event-id - The event ID associated with the action.

  • availability-zone - The Availability Zone of the instance.

  • event.description - A description of the event.

  • event.event-id - The event ID.

  • event.event-type - The event type (for io-enabled: passed | failed; for io-performance: io-performance:degraded | io-performance:severely-degraded | io-performance:stalled).

  • event.not-after - The latest end time for the event.

  • event.not-before - The earliest start time for the event.

  • volume-status.details-name - The cause for volume-status.status (io-enabled | io-performance).

  • volume-status.details-status - The status of volume-status.details-name (for io-enabled: passed | failed; for io-performance: normal | degraded | severely-degraded | stalled).

  • volume-status.status - The status of the volume (ok | impaired | warning | insufficient-data).

MaxResults
Type: int

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

NextToken
Type: string

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

VolumeIds
Type: Array of strings

The IDs of the volumes.

Default: Describes all your volumes.

Result Syntax

[
    'NextToken' => '<string>',
    'VolumeStatuses' => [
        [
            'Actions' => [
                [
                    'Code' => '<string>',
                    'Description' => '<string>',
                    'EventId' => '<string>',
                    'EventType' => '<string>',
                ],
                // ...
            ],
            'AttachmentStatuses' => [
                [
                    'InstanceId' => '<string>',
                    'IoPerformance' => '<string>',
                ],
                // ...
            ],
            'AvailabilityZone' => '<string>',
            'Events' => [
                [
                    'Description' => '<string>',
                    'EventId' => '<string>',
                    'EventType' => '<string>',
                    'InstanceId' => '<string>',
                    'NotAfter' => <DateTime>,
                    'NotBefore' => <DateTime>,
                ],
                // ...
            ],
            'OutpostArn' => '<string>',
            'VolumeId' => '<string>',
            'VolumeStatus' => [
                'Details' => [
                    [
                        'Name' => 'io-enabled|io-performance',
                        'Status' => '<string>',
                    ],
                    // ...
                ],
                'Status' => 'ok|impaired|insufficient-data',
            ],
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

VolumeStatuses
Type: Array of VolumeStatusItem structures

Information about the status of the volumes.

Errors

There are no errors described for this operation.

Examples

Example 1: To describe the status of a single volume

This example describes the status for the volume ``vol-1234567890abcdef0``.

$result = $client->describeVolumeStatus([
    'VolumeIds' => [
        'vol-1234567890abcdef0',
    ],
]);

Result syntax:

[
    'VolumeStatuses' => [
        [
            'Actions' => [
            ],
            'AvailabilityZone' => 'us-east-1a',
            'Events' => [
            ],
            'VolumeId' => 'vol-1234567890abcdef0',
            'VolumeStatus' => [
                'Details' => [
                    [
                        'Name' => 'io-enabled',
                        'Status' => 'passed',
                    ],
                    [
                        'Name' => 'io-performance',
                        'Status' => 'not-applicable',
                    ],
                ],
                'Status' => 'ok',
            ],
        ],
    ],
]
Example 2: To describe the status of impaired volumes

This example describes the status for all volumes that are impaired. In this example output, there are no impaired volumes.

$result = $client->describeVolumeStatus([
    'Filters' => [
        [
            'Name' => 'volume-status.status',
            'Values' => [
                'impaired',
            ],
        ],
    ],
]);

Result syntax:

[
    'VolumeStatuses' => [
    ],
]

DescribeVolumes

$result = $client->describeVolumes([/* ... */]);
$promise = $client->describeVolumesAsync([/* ... */]);

Describes the specified EBS volumes or all of your EBS volumes.

If you are describing a long list of volumes, we recommend that you paginate the output to make the list more manageable. For more information, see Pagination.

For more information about EBS volumes, see Amazon EBS volumes in the Amazon EBS User Guide.

We strongly recommend using only paginated requests. Unpaginated requests are susceptible to throttling and timeouts.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

Parameter Syntax

$result = $client->describeVolumes([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'VolumeIds' => ['<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.

Filters
Type: Array of Filter structures

The filters.

  • attachment.attach-time - The time stamp when the attachment initiated.

  • attachment.delete-on-termination - Whether the volume is deleted on instance termination.

  • attachment.device - The device name specified in the block device mapping (for example, /dev/sda1).

  • attachment.instance-id - The ID of the instance the volume is attached to.

  • attachment.status - The attachment state (attaching | attached | detaching).

  • availability-zone - The Availability Zone in which the volume was created.

  • create-time - The time stamp when the volume was created.

  • encrypted - Indicates whether the volume is encrypted (true | false)

  • multi-attach-enabled - Indicates whether the volume is enabled for Multi-Attach (true | false)

  • fast-restored - Indicates whether the volume was created from a snapshot that is enabled for fast snapshot restore (true | false).

  • size - The size of the volume, in GiB.

  • snapshot-id - The snapshot from which the volume was created.

  • status - The state of the volume (creating | available | in-use | deleting | deleted | error).

  • 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.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • volume-id - The volume ID.

  • volume-type - The Amazon EBS volume type (gp2 | gp3 | io1 | io2 | st1 | sc1| standard)

MaxResults
Type: int

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

NextToken
Type: string

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

VolumeIds
Type: Array of strings

The volume IDs. If not specified, then all volumes are included in the response.

Result Syntax

[
    'NextToken' => '<string>',
    'Volumes' => [
        [
            'Attachments' => [
                [
                    'AssociatedResource' => '<string>',
                    'AttachTime' => <DateTime>,
                    'DeleteOnTermination' => true || false,
                    'Device' => '<string>',
                    'InstanceId' => '<string>',
                    'InstanceOwningService' => '<string>',
                    'State' => 'attaching|attached|detaching|detached|busy',
                    'VolumeId' => '<string>',
                ],
                // ...
            ],
            'AvailabilityZone' => '<string>',
            'CreateTime' => <DateTime>,
            'Encrypted' => true || false,
            'FastRestored' => true || false,
            'Iops' => <integer>,
            'KmsKeyId' => '<string>',
            'MultiAttachEnabled' => true || false,
            'OutpostArn' => '<string>',
            'Size' => <integer>,
            'SnapshotId' => '<string>',
            'SseType' => 'sse-ebs|sse-kms|none',
            'State' => 'creating|available|in-use|deleting|deleted|error',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'Throughput' => <integer>,
            'VolumeId' => '<string>',
            'VolumeType' => 'standard|io1|io2|gp2|sc1|st1|gp3',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

Volumes
Type: Array of Volume structures

Information about the volumes.

Errors

There are no errors described for this operation.

Examples

Example 1: To describe all volumes

This example describes all of your volumes in the default region.

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

Result syntax:

[
    'NextToken' => '',
    'Volumes' => [
        [
            'Attachments' => [
                [
                    'AttachTime' => ,
                    'DeleteOnTermination' => 1,
                    'Device' => '/dev/sda1',
                    'InstanceId' => 'i-1234567890abcdef0',
                    'State' => 'attached',
                    'VolumeId' => 'vol-049df61146c4d7901',
                ],
            ],
            'AvailabilityZone' => 'us-east-1a',
            'CreateTime' => ,
            'Size' => 8,
            'SnapshotId' => 'snap-1234567890abcdef0',
            'State' => 'in-use',
            'VolumeId' => 'vol-049df61146c4d7901',
            'VolumeType' => 'standard',
        ],
    ],
]
Example 2: To describe volumes that are attached to a specific instance

This example describes all volumes that are both attached to the instance with the ID i-1234567890abcdef0 and set to delete when the instance terminates.

$result = $client->describeVolumes([
    'Filters' => [
        [
            'Name' => 'attachment.instance-id',
            'Values' => [
                'i-1234567890abcdef0',
            ],
        ],
        [
            'Name' => 'attachment.delete-on-termination',
            'Values' => [
                'true',
            ],
        ],
    ],
]);

Result syntax:

[
    'Volumes' => [
        [
            'Attachments' => [
                [
                    'AttachTime' => ,
                    'DeleteOnTermination' => 1,
                    'Device' => '/dev/sda1',
                    'InstanceId' => 'i-1234567890abcdef0',
                    'State' => 'attached',
                    'VolumeId' => 'vol-049df61146c4d7901',
                ],
            ],
            'AvailabilityZone' => 'us-east-1a',
            'CreateTime' => ,
            'Size' => 8,
            'SnapshotId' => 'snap-1234567890abcdef0',
            'State' => 'in-use',
            'VolumeId' => 'vol-049df61146c4d7901',
            'VolumeType' => 'standard',
        ],
    ],
]

DescribeVolumesModifications

$result = $client->describeVolumesModifications([/* ... */]);
$promise = $client->describeVolumesModificationsAsync([/* ... */]);

Describes the most recent volume modification request for the specified EBS volumes.

For more information, see Monitor the progress of volume modifications in the Amazon EBS User Guide.

Parameter Syntax

$result = $client->describeVolumesModifications([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'VolumeIds' => ['<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.

Filters
Type: Array of Filter structures

The filters.

  • modification-state - The current modification state (modifying | optimizing | completed | failed).

  • original-iops - The original IOPS rate of the volume.

  • original-size - The original size of the volume, in GiB.

  • original-volume-type - The original volume type of the volume (standard | io1 | io2 | gp2 | sc1 | st1).

  • originalMultiAttachEnabled - Indicates whether Multi-Attach support was enabled (true | false).

  • start-time - The modification start time.

  • target-iops - The target IOPS rate of the volume.

  • target-size - The target size of the volume, in GiB.

  • target-volume-type - The target volume type of the volume (standard | io1 | io2 | gp2 | sc1 | st1).

  • targetMultiAttachEnabled - Indicates whether Multi-Attach support is to be enabled (true | false).

  • volume-id - The ID of the volume.

MaxResults
Type: int

The maximum number of results (up to a limit of 500) to be returned in a paginated request. For more information, see Pagination.

NextToken
Type: string

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

VolumeIds
Type: Array of strings

The IDs of the volumes.

Result Syntax

[
    'NextToken' => '<string>',
    'VolumesModifications' => [
        [
            'EndTime' => <DateTime>,
            'ModificationState' => 'modifying|optimizing|completed|failed',
            'OriginalIops' => <integer>,
            'OriginalMultiAttachEnabled' => true || false,
            'OriginalSize' => <integer>,
            'OriginalThroughput' => <integer>,
            'OriginalVolumeType' => 'standard|io1|io2|gp2|sc1|st1|gp3',
            'Progress' => <integer>,
            'StartTime' => <DateTime>,
            'StatusMessage' => '<string>',
            'TargetIops' => <integer>,
            'TargetMultiAttachEnabled' => true || false,
            'TargetSize' => <integer>,
            'TargetThroughput' => <integer>,
            'TargetVolumeType' => 'standard|io1|io2|gp2|sc1|st1|gp3',
            'VolumeId' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

VolumesModifications
Type: Array of VolumeModification structures

Information about the volume modifications.

Errors

There are no errors described for this operation.

DescribeVpcAttribute

$result = $client->describeVpcAttribute([/* ... */]);
$promise = $client->describeVpcAttributeAsync([/* ... */]);

Describes the specified attribute of the specified VPC. You can specify only one attribute at a time.

Parameter Syntax

$result = $client->describeVpcAttribute([
    'Attribute' => 'enableDnsSupport|enableDnsHostnames|enableNetworkAddressUsageMetrics', // REQUIRED
    'DryRun' => true || false,
    'VpcId' => '<string>', // REQUIRED
]);

Parameter Details

Members
Attribute
Required: Yes
Type: string

The VPC attribute.

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

[
    'EnableDnsHostnames' => [
        'Value' => true || false,
    ],
    'EnableDnsSupport' => [
        'Value' => true || false,
    ],
    'EnableNetworkAddressUsageMetrics' => [
        'Value' => true || false,
    ],
    'VpcId' => '<string>',
]

Result Details

Members
EnableDnsHostnames
Type: AttributeBooleanValue structure

Indicates whether the instances launched in the VPC get DNS hostnames. If this attribute is true, instances in the VPC get DNS hostnames; otherwise, they do not.

EnableDnsSupport
Type: AttributeBooleanValue structure

Indicates whether DNS resolution is enabled for the VPC. If this attribute is true, the Amazon DNS server resolves DNS hostnames for your instances to their corresponding IP addresses; otherwise, it does not.

EnableNetworkAddressUsageMetrics
Type: AttributeBooleanValue structure

Indicates whether Network Address Usage metrics are enabled for your VPC.

VpcId
Type: string

The ID of the VPC.

Errors

There are no errors described for this operation.

Examples

Example 1: To describe the enableDnsSupport attribute

This example describes the enableDnsSupport attribute. This attribute indicates whether DNS resolution is enabled for the VPC. If this attribute is true, the Amazon DNS server resolves DNS hostnames for your instances to their corresponding IP addresses; otherwise, it does not.

$result = $client->describeVpcAttribute([
    'Attribute' => 'enableDnsSupport',
    'VpcId' => 'vpc-a01106c2',
]);

Result syntax:

[
    'EnableDnsSupport' => [
        'Value' => 1,
    ],
    'VpcId' => 'vpc-a01106c2',
]
Example 2: To describe the enableDnsHostnames attribute

This example describes the enableDnsHostnames attribute. This attribute indicates whether the instances launched in the VPC get DNS hostnames. If this attribute is true, instances in the VPC get DNS hostnames; otherwise, they do not.

$result = $client->describeVpcAttribute([
    'Attribute' => 'enableDnsHostnames',
    'VpcId' => 'vpc-a01106c2',
]);

Result syntax:

[
    'EnableDnsHostnames' => [
        'Value' => 1,
    ],
    'VpcId' => 'vpc-a01106c2',
]
$result = $client->describeVpcClassicLink([/* ... */]);
$promise = $client->describeVpcClassicLinkAsync([/* ... */]);

This action is deprecated.

Describes the ClassicLink status of the specified VPCs.

Parameter Syntax

$result = $client->describeVpcClassicLink([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'VpcIds' => ['<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.

Filters
Type: Array of Filter structures

The filters.

  • is-classic-link-enabled - Whether the VPC is enabled for ClassicLink (true | false).

  • 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.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

VpcIds
Type: Array of strings

The VPCs for which you want to describe the ClassicLink status.

Result Syntax

[
    'Vpcs' => [
        [
            'ClassicLinkEnabled' => true || false,
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'VpcId' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
Vpcs
Type: Array of VpcClassicLink structures

The ClassicLink status of the VPCs.

Errors

There are no errors described for this operation.

DescribeVpcClassicLinkDnsSupport

$result = $client->describeVpcClassicLinkDnsSupport([/* ... */]);
$promise = $client->describeVpcClassicLinkDnsSupportAsync([/* ... */]);

This action is deprecated.

Describes the ClassicLink DNS support status of one or more VPCs. If enabled, the DNS hostname of a linked EC2-Classic instance resolves to its private IP address when addressed from an instance in the VPC to which it's linked. Similarly, the DNS hostname of an instance in a VPC resolves to its private IP address when addressed from a linked EC2-Classic instance.

Parameter Syntax

$result = $client->describeVpcClassicLinkDnsSupport([
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'VpcIds' => ['<string>', ...],
]);

Parameter Details

Members
MaxResults
Type: int

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

NextToken
Type: string

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

VpcIds
Type: Array of strings

The IDs of the VPCs.

Result Syntax

[
    'NextToken' => '<string>',
    'Vpcs' => [
        [
            'ClassicLinkDnsSupported' => true || false,
            'VpcId' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

Vpcs
Type: Array of ClassicLinkDnsSupport structures

Information about the ClassicLink DNS support status of the VPCs.

Errors

There are no errors described for this operation.

DescribeVpcEndpointConnectionNotifications

$result = $client->describeVpcEndpointConnectionNotifications([/* ... */]);
$promise = $client->describeVpcEndpointConnectionNotificationsAsync([/* ... */]);

Describes the connection notifications for VPC endpoints and VPC endpoint services.

Parameter Syntax

$result = $client->describeVpcEndpointConnectionNotifications([
    'ConnectionNotificationId' => '<string>',
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
ConnectionNotificationId
Type: string

The ID of the notification.

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.

Filters
Type: Array of Filter structures

The filters.

  • connection-notification-arn - The ARN of the SNS topic for the notification.

  • connection-notification-id - The ID of the notification.

  • connection-notification-state - The state of the notification (Enabled | Disabled).

  • connection-notification-type - The type of notification (Topic).

  • service-id - The ID of the endpoint service.

  • vpc-endpoint-id - The ID of the VPC endpoint.

MaxResults
Type: int

The maximum number of results to return in a single call. To retrieve the remaining results, make another request with the returned NextToken value.

NextToken
Type: string

The token to request the next page of results.

Result Syntax

[
    'ConnectionNotificationSet' => [
        [
            'ConnectionEvents' => ['<string>', ...],
            'ConnectionNotificationArn' => '<string>',
            'ConnectionNotificationId' => '<string>',
            'ConnectionNotificationState' => 'Enabled|Disabled',
            'ConnectionNotificationType' => 'Topic',
            'ServiceId' => '<string>',
            'VpcEndpointId' => '<string>',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
ConnectionNotificationSet
Type: Array of ConnectionNotification structures

The notifications.

NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

Errors

There are no errors described for this operation.

DescribeVpcEndpointConnections

$result = $client->describeVpcEndpointConnections([/* ... */]);
$promise = $client->describeVpcEndpointConnectionsAsync([/* ... */]);

Describes the VPC endpoint connections to your VPC endpoint services, including any endpoints that are pending your acceptance.

Parameter Syntax

$result = $client->describeVpcEndpointConnections([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<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.

Filters
Type: Array of Filter structures

The filters.

  • ip-address-type - The IP address type (ipv4 | ipv6).

  • service-id - The ID of the service.

  • vpc-endpoint-owner - The ID of the Amazon Web Services account ID that owns the endpoint.

  • vpc-endpoint-state - The state of the endpoint (pendingAcceptance | pending | available | deleting | deleted | rejected | failed).

  • vpc-endpoint-id - The ID of the endpoint.

MaxResults
Type: int

The maximum number of results to return for the request in a single page. The remaining results of the initial request can be seen by sending another request with the returned NextToken value. This value can be between 5 and 1,000; if MaxResults is given a value larger than 1,000, only 1,000 results are returned.

NextToken
Type: string

The token to retrieve the next page of results.

Result Syntax

[
    'NextToken' => '<string>',
    'VpcEndpointConnections' => [
        [
            'CreationTimestamp' => <DateTime>,
            'DnsEntries' => [
                [
                    'DnsName' => '<string>',
                    'HostedZoneId' => '<string>',
                ],
                // ...
            ],
            'GatewayLoadBalancerArns' => ['<string>', ...],
            'IpAddressType' => 'ipv4|dualstack|ipv6',
            'NetworkLoadBalancerArns' => ['<string>', ...],
            'ServiceId' => '<string>',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'VpcEndpointConnectionId' => '<string>',
            'VpcEndpointId' => '<string>',
            'VpcEndpointOwner' => '<string>',
            'VpcEndpointState' => 'PendingAcceptance|Pending|Available|Deleting|Deleted|Rejected|Failed|Expired',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

VpcEndpointConnections
Type: Array of VpcEndpointConnection structures

Information about the VPC endpoint connections.

Errors

There are no errors described for this operation.

DescribeVpcEndpointServiceConfigurations

$result = $client->describeVpcEndpointServiceConfigurations([/* ... */]);
$promise = $client->describeVpcEndpointServiceConfigurationsAsync([/* ... */]);

Describes the VPC endpoint service configurations in your account (your services).

Parameter Syntax

$result = $client->describeVpcEndpointServiceConfigurations([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'ServiceIds' => ['<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.

Filters
Type: Array of Filter structures

The filters.

  • service-name - The name of the service.

  • service-id - The ID of the service.

  • service-state - The state of the service (Pending | Available | Deleting | Deleted | Failed).

  • supported-ip-address-types - The IP address type (ipv4 | ipv6).

  • 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.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

MaxResults
Type: int

The maximum number of results to return for the request in a single page. The remaining results of the initial request can be seen by sending another request with the returned NextToken value. This value can be between 5 and 1,000; if MaxResults is given a value larger than 1,000, only 1,000 results are returned.

NextToken
Type: string

The token to retrieve the next page of results.

ServiceIds
Type: Array of strings

The IDs of the endpoint services.

Result Syntax

[
    'NextToken' => '<string>',
    'ServiceConfigurations' => [
        [
            'AcceptanceRequired' => true || false,
            'AvailabilityZones' => ['<string>', ...],
            'BaseEndpointDnsNames' => ['<string>', ...],
            'GatewayLoadBalancerArns' => ['<string>', ...],
            'ManagesVpcEndpoints' => true || false,
            'NetworkLoadBalancerArns' => ['<string>', ...],
            'PayerResponsibility' => 'ServiceOwner',
            'PrivateDnsName' => '<string>',
            'PrivateDnsNameConfiguration' => [
                'Name' => '<string>',
                'State' => 'pendingVerification|verified|failed',
                'Type' => '<string>',
                'Value' => '<string>',
            ],
            'ServiceId' => '<string>',
            'ServiceName' => '<string>',
            'ServiceState' => 'Pending|Available|Deleting|Deleted|Failed',
            'ServiceType' => [
                [
                    'ServiceType' => 'Interface|Gateway|GatewayLoadBalancer',
                ],
                // ...
            ],
            'SupportedIpAddressTypes' => ['<string>', ...],
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

ServiceConfigurations
Type: Array of ServiceConfiguration structures

Information about the services.

Errors

There are no errors described for this operation.

DescribeVpcEndpointServicePermissions

$result = $client->describeVpcEndpointServicePermissions([/* ... */]);
$promise = $client->describeVpcEndpointServicePermissionsAsync([/* ... */]);

Describes the principals (service consumers) that are permitted to discover your VPC endpoint service.

Parameter Syntax

$result = $client->describeVpcEndpointServicePermissions([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'ServiceId' => '<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.

Filters
Type: Array of Filter structures

The filters.

  • principal - The ARN of the principal.

  • principal-type - The principal type (All | Service | OrganizationUnit | Account | User | Role).

MaxResults
Type: int

The maximum number of results to return for the request in a single page. The remaining results of the initial request can be seen by sending another request with the returned NextToken value. This value can be between 5 and 1,000; if MaxResults is given a value larger than 1,000, only 1,000 results are returned.

NextToken
Type: string

The token to retrieve the next page of results.

ServiceId
Required: Yes
Type: string

The ID of the service.

Result Syntax

[
    'AllowedPrincipals' => [
        [
            'Principal' => '<string>',
            'PrincipalType' => 'All|Service|OrganizationUnit|Account|User|Role',
            'ServiceId' => '<string>',
            'ServicePermissionId' => '<string>',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
AllowedPrincipals
Type: Array of AllowedPrincipal structures

Information about the allowed principals.

NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

Errors

There are no errors described for this operation.

DescribeVpcEndpointServices

$result = $client->describeVpcEndpointServices([/* ... */]);
$promise = $client->describeVpcEndpointServicesAsync([/* ... */]);

Describes available services to which you can create a VPC endpoint.

When the service provider and the consumer have different accounts in multiple Availability Zones, and the consumer views the VPC endpoint service information, the response only includes the common Availability Zones. For example, when the service provider account uses us-east-1a and us-east-1c and the consumer uses us-east-1a and us-east-1b, the response includes the VPC endpoint services in the common Availability Zone, us-east-1a.

Parameter Syntax

$result = $client->describeVpcEndpointServices([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'ServiceNames' => ['<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.

Filters
Type: Array of Filter structures

The filters.

  • owner - The ID or alias of the Amazon Web Services account that owns the service.

  • service-name - The name of the service.

  • service-type - The type of service (Interface | Gateway | GatewayLoadBalancer).

  • supported-ip-address-types - The IP address type (ipv4 | ipv6).

  • 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.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

MaxResults
Type: int

The maximum number of items to return for this request. The request returns a token that you can specify in a subsequent call to get the next set of results.

Constraint: If the value is greater than 1,000, we return only 1,000 items.

NextToken
Type: string

The token for the next set of items to return. (You received this token from a prior call.)

ServiceNames
Type: Array of strings

The service names.

Result Syntax

[
    'NextToken' => '<string>',
    'ServiceDetails' => [
        [
            'AcceptanceRequired' => true || false,
            'AvailabilityZones' => ['<string>', ...],
            'BaseEndpointDnsNames' => ['<string>', ...],
            'ManagesVpcEndpoints' => true || false,
            'Owner' => '<string>',
            'PayerResponsibility' => 'ServiceOwner',
            'PrivateDnsName' => '<string>',
            'PrivateDnsNameVerificationState' => 'pendingVerification|verified|failed',
            'PrivateDnsNames' => [
                [
                    'PrivateDnsName' => '<string>',
                ],
                // ...
            ],
            'ServiceId' => '<string>',
            'ServiceName' => '<string>',
            'ServiceType' => [
                [
                    'ServiceType' => 'Interface|Gateway|GatewayLoadBalancer',
                ],
                // ...
            ],
            'SupportedIpAddressTypes' => ['<string>', ...],
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'VpcEndpointPolicySupported' => true || false,
        ],
        // ...
    ],
    'ServiceNames' => ['<string>', ...],
]

Result Details

Members
NextToken
Type: string

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

ServiceDetails
Type: Array of ServiceDetail structures

Information about the service.

ServiceNames
Type: Array of strings

The supported services.

Errors

There are no errors described for this operation.

DescribeVpcEndpoints

$result = $client->describeVpcEndpoints([/* ... */]);
$promise = $client->describeVpcEndpointsAsync([/* ... */]);

Describes your VPC endpoints. The default is to describe all your VPC endpoints. Alternatively, you can specify specific VPC endpoint IDs or filter the results to include only the VPC endpoints that match specific criteria.

Parameter Syntax

$result = $client->describeVpcEndpoints([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'VpcEndpointIds' => ['<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.

Filters
Type: Array of Filter structures

The filters.

  • ip-address-type - The IP address type (ipv4 | ipv6).

  • service-name - The name of the service.

  • 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.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • vpc-id - The ID of the VPC in which the endpoint resides.

  • vpc-endpoint-id - The ID of the endpoint.

  • vpc-endpoint-state - The state of the endpoint (pendingAcceptance | pending | available | deleting | deleted | rejected | failed).

  • vpc-endpoint-type - The type of VPC endpoint (Interface | Gateway | GatewayLoadBalancer).

MaxResults
Type: int

The maximum number of items to return for this request. The request returns a token that you can specify in a subsequent call to get the next set of results.

Constraint: If the value is greater than 1,000, we return only 1,000 items.

NextToken
Type: string

The token for the next set of items to return. (You received this token from a prior call.)

VpcEndpointIds
Type: Array of strings

The IDs of the VPC endpoints.

Result Syntax

[
    'NextToken' => '<string>',
    'VpcEndpoints' => [
        [
            'CreationTimestamp' => <DateTime>,
            'DnsEntries' => [
                [
                    'DnsName' => '<string>',
                    'HostedZoneId' => '<string>',
                ],
                // ...
            ],
            'DnsOptions' => [
                'DnsRecordIpType' => 'ipv4|dualstack|ipv6|service-defined',
                'PrivateDnsOnlyForInboundResolverEndpoint' => true || false,
            ],
            'Groups' => [
                [
                    'GroupId' => '<string>',
                    'GroupName' => '<string>',
                ],
                // ...
            ],
            'IpAddressType' => 'ipv4|dualstack|ipv6',
            'LastError' => [
                'Code' => '<string>',
                'Message' => '<string>',
            ],
            'NetworkInterfaceIds' => ['<string>', ...],
            'OwnerId' => '<string>',
            'PolicyDocument' => '<string>',
            'PrivateDnsEnabled' => true || false,
            'RequesterManaged' => true || false,
            'RouteTableIds' => ['<string>', ...],
            'ServiceName' => '<string>',
            'State' => 'PendingAcceptance|Pending|Available|Deleting|Deleted|Rejected|Failed|Expired',
            'SubnetIds' => ['<string>', ...],
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'VpcEndpointId' => '<string>',
            'VpcEndpointType' => 'Interface|Gateway|GatewayLoadBalancer',
            'VpcId' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

VpcEndpoints
Type: Array of VpcEndpoint structures

Information about the VPC endpoints.

Errors

There are no errors described for this operation.

DescribeVpcPeeringConnections

$result = $client->describeVpcPeeringConnections([/* ... */]);
$promise = $client->describeVpcPeeringConnectionsAsync([/* ... */]);

Describes your VPC peering connections. The default is to describe all your VPC peering connections. Alternatively, you can specify specific VPC peering connection IDs or filter the results to include only the VPC peering connections that match specific criteria.

Parameter Syntax

$result = $client->describeVpcPeeringConnections([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'VpcPeeringConnectionIds' => ['<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.

Filters
Type: Array of Filter structures

The filters.

  • accepter-vpc-info.cidr-block - The IPv4 CIDR block of the accepter VPC.

  • accepter-vpc-info.owner-id - The ID of the Amazon Web Services account that owns the accepter VPC.

  • accepter-vpc-info.vpc-id - The ID of the accepter VPC.

  • expiration-time - The expiration date and time for the VPC peering connection.

  • requester-vpc-info.cidr-block - The IPv4 CIDR block of the requester's VPC.

  • requester-vpc-info.owner-id - The ID of the Amazon Web Services account that owns the requester VPC.

  • requester-vpc-info.vpc-id - The ID of the requester VPC.

  • status-code - The status of the VPC peering connection (pending-acceptance | failed | expired | provisioning | active | deleting | deleted | rejected).

  • status-message - A message that provides more information about the status of the VPC peering connection, if applicable.

  • 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.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • vpc-peering-connection-id - The ID of the VPC peering connection.

MaxResults
Type: int

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

NextToken
Type: string

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

VpcPeeringConnectionIds
Type: Array of strings

The IDs of the VPC peering connections.

Default: Describes all your VPC peering connections.

Result Syntax

[
    'NextToken' => '<string>',
    'VpcPeeringConnections' => [
        [
            '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
NextToken
Type: string

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

VpcPeeringConnections
Type: Array of VpcPeeringConnection structures

Information about the VPC peering connections.

Errors

There are no errors described for this operation.

DescribeVpcs

$result = $client->describeVpcs([/* ... */]);
$promise = $client->describeVpcsAsync([/* ... */]);

Describes your VPCs. The default is to describe all your VPCs. Alternatively, you can specify specific VPC IDs or filter the results to include only the VPCs that match specific criteria.

Parameter Syntax

$result = $client->describeVpcs([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'VpcIds' => ['<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.

Filters
Type: Array of Filter structures

The filters.

  • cidr - The primary IPv4 CIDR block of the VPC. The CIDR block you specify must exactly match the VPC's CIDR block for information to be returned for the VPC. Must contain the slash followed by one or two digits (for example, /28).

  • cidr-block-association.cidr-block - An IPv4 CIDR block associated with the VPC.

  • cidr-block-association.association-id - The association ID for an IPv4 CIDR block associated with the VPC.

  • cidr-block-association.state - The state of an IPv4 CIDR block associated with the VPC.

  • dhcp-options-id - The ID of a set of DHCP options.

  • ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR block associated with the VPC.

  • ipv6-cidr-block-association.ipv6-pool - The ID of the IPv6 address pool from which the IPv6 CIDR block is allocated.

  • ipv6-cidr-block-association.association-id - The association ID for an IPv6 CIDR block associated with the VPC.

  • ipv6-cidr-block-association.state - The state of an IPv6 CIDR block associated with the VPC.

  • is-default - Indicates whether the VPC is the default VPC.

  • owner-id - The ID of the Amazon Web Services account that owns the VPC.

  • state - The state of the VPC (pending | available).

  • 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.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • vpc-id - The ID of the VPC.

MaxResults
Type: int

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

NextToken
Type: string

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

VpcIds
Type: Array of strings

The IDs of the VPCs.

Result Syntax

[
    'NextToken' => '<string>',
    'Vpcs' => [
        [
            '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
NextToken
Type: string

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

Vpcs
Type: Array of Vpc structures

Information about the VPCs.

Errors

There are no errors described for this operation.

Examples

Example 1: To describe a VPC

This example describes the specified VPC.

$result = $client->describeVpcs([
    'VpcIds' => [
        'vpc-a01106c2',
    ],
]);

Result syntax:

[
    'Vpcs' => [
        [
            'CidrBlock' => '10.0.0.0/16',
            'DhcpOptionsId' => 'dopt-7a8b9c2d',
            'InstanceTenancy' => 'default',
            'IsDefault' => ,
            'State' => 'available',
            'Tags' => [
                [
                    'Key' => 'Name',
                    'Value' => 'MyVPC',
                ],
            ],
            'VpcId' => 'vpc-a01106c2',
        ],
    ],
]

DescribeVpnConnections

$result = $client->describeVpnConnections([/* ... */]);
$promise = $client->describeVpnConnectionsAsync([/* ... */]);

Describes one or more of your VPN connections.

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->describeVpnConnections([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'VpnConnectionIds' => ['<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.

Filters
Type: Array of Filter structures

One or more filters.

  • customer-gateway-configuration - The configuration information for the customer gateway.

  • customer-gateway-id - The ID of a customer gateway associated with the VPN connection.

  • state - The state of the VPN connection (pending | available | deleting | deleted).

  • option.static-routes-only - Indicates whether the connection has static routes only. Used for devices that do not support Border Gateway Protocol (BGP).

  • route.destination-cidr-block - The destination CIDR block. This corresponds to the subnet used in a customer data center.

  • bgp-asn - The BGP Autonomous System Number (ASN) associated with a BGP device.

  • 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.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • type - The type of VPN connection. Currently the only supported type is ipsec.1.

  • vpn-connection-id - The ID of the VPN connection.

  • vpn-gateway-id - The ID of a virtual private gateway associated with the VPN connection.

  • transit-gateway-id - The ID of a transit gateway associated with the VPN connection.

VpnConnectionIds
Type: Array of strings

One or more VPN connection IDs.

Default: Describes your VPN connections.

Result Syntax

[
    'VpnConnections' => [
        [
            'Category' => '<string>',
            'CoreNetworkArn' => '<string>',
            'CoreNetworkAttachmentArn' => '<string>',
            'CustomerGatewayConfiguration' => '<string>',
            'CustomerGatewayId' => '<string>',
            'GatewayAssociationState' => 'associated|not-associated|associating|disassociating',
            'Options' => [
                'EnableAcceleration' => true || false,
                'LocalIpv4NetworkCidr' => '<string>',
                'LocalIpv6NetworkCidr' => '<string>',
                'OutsideIpAddressType' => '<string>',
                'RemoteIpv4NetworkCidr' => '<string>',
                'RemoteIpv6NetworkCidr' => '<string>',
                'StaticRoutesOnly' => true || false,
                'TransportTransitGatewayAttachmentId' => '<string>',
                'TunnelInsideIpVersion' => 'ipv4|ipv6',
                'TunnelOptions' => [
                    [
                        'DpdTimeoutAction' => '<string>',
                        'DpdTimeoutSeconds' => <integer>,
                        'EnableTunnelLifecycleControl' => true || false,
                        'IkeVersions' => [
                            [
                                'Value' => '<string>',
                            ],
                            // ...
                        ],
                        'LogOptions' => [
                            'CloudWatchLogOptions' => [
                                'LogEnabled' => true || false,
                                'LogGroupArn' => '<string>',
                                'LogOutputFormat' => '<string>',
                            ],
                        ],
                        'OutsideIpAddress' => '<string>',
                        'Phase1DHGroupNumbers' => [
                            [
                                'Value' => <integer>,
                            ],
                            // ...
                        ],
                        'Phase1EncryptionAlgorithms' => [
                            [
                                'Value' => '<string>',
                            ],
                            // ...
                        ],
                        'Phase1IntegrityAlgorithms' => [
                            [
                                'Value' => '<string>',
                            ],
                            // ...
                        ],
                        'Phase1LifetimeSeconds' => <integer>,
                        'Phase2DHGroupNumbers' => [
                            [
                                'Value' => <integer>,
                            ],
                            // ...
                        ],
                        'Phase2EncryptionAlgorithms' => [
                            [
                                'Value' => '<string>',
                            ],
                            // ...
                        ],
                        'Phase2IntegrityAlgorithms' => [
                            [
                                'Value' => '<string>',
                            ],
                            // ...
                        ],
                        'Phase2LifetimeSeconds' => <integer>,
                        'PreSharedKey' => '<string>',
                        'RekeyFuzzPercentage' => <integer>,
                        'RekeyMarginTimeSeconds' => <integer>,
                        'ReplayWindowSize' => <integer>,
                        'StartupAction' => '<string>',
                        'TunnelInsideCidr' => '<string>',
                        'TunnelInsideIpv6Cidr' => '<string>',
                    ],
                    // ...
                ],
            ],
            'Routes' => [
                [
                    'DestinationCidrBlock' => '<string>',
                    'Source' => 'Static',
                    'State' => 'pending|available|deleting|deleted',
                ],
                // ...
            ],
            'State' => 'pending|available|deleting|deleted',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'TransitGatewayId' => '<string>',
            'Type' => 'ipsec.1',
            'VgwTelemetry' => [
                [
                    'AcceptedRouteCount' => <integer>,
                    'CertificateArn' => '<string>',
                    'LastStatusChange' => <DateTime>,
                    'OutsideIpAddress' => '<string>',
                    'Status' => 'UP|DOWN',
                    'StatusMessage' => '<string>',
                ],
                // ...
            ],
            'VpnConnectionId' => '<string>',
            'VpnGatewayId' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
VpnConnections
Type: Array of VpnConnection structures

Information about one or more VPN connections.

Errors

There are no errors described for this operation.

DescribeVpnGateways

$result = $client->describeVpnGateways([/* ... */]);
$promise = $client->describeVpnGatewaysAsync([/* ... */]);

Describes one or more of your virtual private gateways.

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->describeVpnGateways([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'VpnGatewayIds' => ['<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.

Filters
Type: Array of Filter structures

One or more filters.

  • amazon-side-asn - The Autonomous System Number (ASN) for the Amazon side of the gateway.

  • attachment.state - The current state of the attachment between the gateway and the VPC (attaching | attached | detaching | detached).

  • attachment.vpc-id - The ID of an attached VPC.

  • availability-zone - The Availability Zone for the virtual private gateway (if applicable).

  • state - The state of the virtual private gateway (pending | available | deleting | deleted).

  • 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.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • type - The type of virtual private gateway. Currently the only supported type is ipsec.1.

  • vpn-gateway-id - The ID of the virtual private gateway.

VpnGatewayIds
Type: Array of strings

One or more virtual private gateway IDs.

Default: Describes all your virtual private gateways.

Result Syntax

[
    'VpnGateways' => [
        [
            'AmazonSideAsn' => <integer>,
            'AvailabilityZone' => '<string>',
            'State' => 'pending|available|deleting|deleted',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'Type' => 'ipsec.1',
            'VpcAttachments' => [
                [
                    'State' => 'attaching|attached|detaching|detached',
                    'VpcId' => '<string>',
                ],
                // ...
            ],
            'VpnGatewayId' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
VpnGateways
Type: Array of VpnGateway structures

Information about one or more virtual private gateways.

Errors

There are no errors described for this operation.

DetachClassicLinkVpc

$result = $client->detachClassicLinkVpc([/* ... */]);
$promise = $client->detachClassicLinkVpcAsync([/* ... */]);

This action is deprecated.

Unlinks (detaches) a linked EC2-Classic instance from a VPC. After the instance has been unlinked, the VPC security groups are no longer associated with it. An instance is automatically unlinked from a VPC when it's stopped.

Parameter Syntax

$result = $client->detachClassicLinkVpc([
    'DryRun' => true || false,
    '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.

InstanceId
Required: Yes
Type: string

The ID of the instance to unlink from the VPC.

VpcId
Required: Yes
Type: string

The ID of the VPC to which the instance is linked.

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.

DetachInternetGateway

$result = $client->detachInternetGateway([/* ... */]);
$promise = $client->detachInternetGatewayAsync([/* ... */]);

Detaches an internet gateway from a VPC, disabling connectivity between the internet and the VPC. The VPC must not contain any running instances with Elastic IP addresses or public IPv4 addresses.

Parameter Syntax

$result = $client->detachInternetGateway([
    '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 detach an Internet gateway from a VPC

This example detaches the specified Internet gateway from the specified VPC.

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

DetachNetworkInterface

$result = $client->detachNetworkInterface([/* ... */]);
$promise = $client->detachNetworkInterfaceAsync([/* ... */]);

Detaches a network interface from an instance.

Parameter Syntax

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

Parameter Details

Members
AttachmentId
Required: Yes
Type: string

The ID of the 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.

Force
Type: boolean

Specifies whether to force a detachment.

  • Use the Force parameter only as a last resort to detach a network interface from a failed instance.

  • If you use the Force parameter to detach a network interface, you might not be able to attach a different network interface to the same index on the instance without first stopping and starting the instance.

  • If you force the detachment of a network interface, the instance metadata might not get updated. This means that the attributes associated with the detached network interface might still be visible. The instance metadata will get updated when you stop and start the instance.

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 detach a network interface from an instance

This example detaches the specified network interface from its attached instance.

$result = $client->detachNetworkInterface([
    'AttachmentId' => 'eni-attach-66c4350a',
]);

DetachVerifiedAccessTrustProvider

$result = $client->detachVerifiedAccessTrustProvider([/* ... */]);
$promise = $client->detachVerifiedAccessTrustProviderAsync([/* ... */]);

Detaches the specified Amazon Web Services Verified Access trust provider from the specified Amazon Web Services Verified Access instance.

Parameter Syntax

$result = $client->detachVerifiedAccessTrustProvider([
    '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.

DetachVolume

$result = $client->detachVolume([/* ... */]);
$promise = $client->detachVolumeAsync([/* ... */]);

Detaches an EBS volume from an instance. Make sure to unmount any file systems on the device within your operating system before detaching the volume. Failure to do so can result in the volume becoming stuck in the busy state while detaching. If this happens, detachment can be delayed indefinitely until you unmount the volume, force detachment, reboot the instance, or all three. If an EBS volume is the root device of an instance, it can't be detached while the instance is running. To detach the root volume, stop the instance first.

When a volume with an Amazon Web Services Marketplace product code is detached from an instance, the product code is no longer associated with the instance.

You can't detach or force detach volumes that are attached to Amazon ECS or Fargate tasks. Attempting to do this results in the UnsupportedOperationException exception with the Unable to detach volume attached to ECS tasks error message.

For more information, see Detach an Amazon EBS volume in the Amazon EBS User Guide.

Parameter Syntax

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

Parameter Details

Members
Device
Type: string

The device name.

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.

Force
Type: boolean

Forces detachment if the previous detachment attempt did not occur cleanly (for example, logging into an instance, unmounting the volume, and detaching normally). This option can lead to data loss or a corrupted file system. Use this option only as a last resort to detach a volume from a failed instance. The instance won't have an opportunity to flush file system caches or file system metadata. If you use this option, you must perform file system check and repair procedures.

InstanceId
Type: string

The ID of the instance. If you are detaching a Multi-Attach enabled volume, you must specify an instance ID.

VolumeId
Required: Yes
Type: string

The ID of the volume.

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 detach a volume from an instance

This example detaches the volume (``vol-049df61146c4d7901``) from the instance it is attached to.

$result = $client->detachVolume([
    'VolumeId' => 'vol-1234567890abcdef0',
]);

Result syntax:

[
    'AttachTime' => ,
    'Device' => '/dev/sdb',
    'InstanceId' => 'i-1234567890abcdef0',
    'State' => 'detaching',
    'VolumeId' => 'vol-049df61146c4d7901',
]

DetachVpnGateway

$result = $client->detachVpnGateway([/* ... */]);
$promise = $client->detachVpnGatewayAsync([/* ... */]);

Detaches a virtual private gateway from a VPC. You do this if you're planning to turn off the VPC and not use it anymore. You can confirm a virtual private gateway has been completely detached from a VPC by describing the virtual private gateway (any attachments to the virtual private gateway are also described).

You must wait for the attachment's state to switch to detached before you can delete the VPC or attach a different VPC to the virtual private gateway.

Parameter Syntax

$result = $client->detachVpnGateway([
    '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

[]

Result Details

The results for this operation are always empty.

Errors

There are no errors described for this operation.

DisableAddressTransfer

$result = $client->disableAddressTransfer([/* ... */]);
$promise = $client->disableAddressTransferAsync([/* ... */]);

Disables Elastic IP address transfer. For more information, see Transfer Elastic IP addresses in the Amazon VPC User Guide.

Parameter Syntax

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

Parameter Details

Members
AllocationId
Required: Yes
Type: string

The allocation ID of an Elastic IP address.

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

[
    '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.

DisableAwsNetworkPerformanceMetricSubscription

$result = $client->disableAwsNetworkPerformanceMetricSubscription([/* ... */]);
$promise = $client->disableAwsNetworkPerformanceMetricSubscriptionAsync([/* ... */]);

Disables Infrastructure Performance metric subscriptions.

Parameter Syntax

$result = $client->disableAwsNetworkPerformanceMetricSubscription([
    'Destination' => '<string>',
    'DryRun' => true || false,
    'Metric' => 'aggregate-latency',
    'Source' => '<string>',
    'Statistic' => 'p50',
]);

Parameter Details

Members
Destination
Type: string

The target Region or Availability Zone that the metric subscription is disabled for. For example, eu-north-1.

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.

Metric
Type: string

The metric used for the disabled subscription.

Source
Type: string

The source Region or Availability Zone that the metric subscription is disabled for. For example, us-east-1.

Statistic
Type: string

The statistic used for the disabled subscription.

Result Syntax

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

Result Details

Members
Output
Type: boolean

Indicates whether the unsubscribe action was successful.

Errors

There are no errors described for this operation.

DisableEbsEncryptionByDefault

$result = $client->disableEbsEncryptionByDefault([/* ... */]);
$promise = $client->disableEbsEncryptionByDefaultAsync([/* ... */]);

Disables EBS encryption by default for your account in the current Region.

After you disable encryption by default, you can still create encrypted volumes by enabling encryption when you create each volume.

Disabling encryption by default does not change the encryption status of your existing volumes.

For more information, see Amazon EBS encryption in the Amazon EBS User Guide.

Parameter Syntax

$result = $client->disableEbsEncryptionByDefault([
    '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

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

Result Details

Members
EbsEncryptionByDefault
Type: boolean

The updated status of encryption by default.

Errors

There are no errors described for this operation.

DisableFastLaunch

$result = $client->disableFastLaunch([/* ... */]);
$promise = $client->disableFastLaunchAsync([/* ... */]);

Discontinue Windows fast launch for a Windows AMI, and clean up existing pre-provisioned snapshots. After you disable Windows fast launch, the AMI uses the standard launch process for each new instance. Amazon EC2 must remove all pre-provisioned snapshots before you can enable Windows fast launch again.

You can only change these settings for Windows AMIs that you own or that have been shared with you.

Parameter Syntax

$result = $client->disableFastLaunch([
    'DryRun' => true || false,
    'Force' => 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.

Force
Type: boolean

Forces the image settings to turn off Windows fast launch for your Windows AMI. This parameter overrides any errors that are encountered while cleaning up resources in your account.

ImageId
Required: Yes
Type: string

Specify the ID of the image for which to disable Windows fast launch.

Result Syntax

[
    'ImageId' => '<string>',
    'LaunchTemplate' => [
        'LaunchTemplateId' => '<string>',
        'LaunchTemplateName' => '<string>',
        'Version' => '<string>',
    ],
    'MaxParallelLaunches' => <integer>,
    'OwnerId' => '<string>',
    'ResourceType' => 'snapshot',
    'SnapshotConfiguration' => [
        'TargetResourceCount' => <integer>,
    ],
    'State' => 'enabling|enabling-failed|enabled|enabled-failed|disabling|disabling-failed',
    'StateTransitionReason' => '<string>',
    'StateTransitionTime' => <DateTime>,
]

Result Details

Members
ImageId
Type: string

The ID of the image for which Windows fast launch was disabled.

LaunchTemplate

The launch template that was used to launch Windows instances from pre-provisioned snapshots.

MaxParallelLaunches
Type: int

The maximum number of instances that Amazon EC2 can launch at the same time to create pre-provisioned snapshots for Windows fast launch.

OwnerId
Type: string

The owner of the Windows AMI for which Windows fast launch was disabled.

ResourceType
Type: string

The pre-provisioning resource type that must be cleaned after turning off Windows fast launch for the Windows AMI. Supported values include: snapshot.

SnapshotConfiguration

Parameters that were used for Windows fast launch for the Windows AMI before Windows fast launch was disabled. This informs the clean-up process.

State
Type: string

The current state of Windows fast launch for the specified Windows AMI.

StateTransitionReason
Type: string

The reason that the state changed for Windows fast launch for the Windows AMI.

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

The time that the state changed for Windows fast launch for the Windows AMI.

Errors

There are no errors described for this operation.

DisableFastSnapshotRestores

$result = $client->disableFastSnapshotRestores([/* ... */]);
$promise = $client->disableFastSnapshotRestoresAsync([/* ... */]);

Disables fast snapshot restores for the specified snapshots in the specified Availability Zones.

Parameter Syntax

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

Parameter Details

Members
AvailabilityZones
Required: Yes
Type: Array of strings

One or more Availability Zones. For example, us-east-2a.

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.

SourceSnapshotIds
Required: Yes
Type: Array of strings

The IDs of one or more snapshots. For example, snap-1234567890abcdef0.

Result Syntax

[
    'Successful' => [
        [
            'AvailabilityZone' => '<string>',
            'DisabledTime' => <DateTime>,
            'DisablingTime' => <DateTime>,
            'EnabledTime' => <DateTime>,
            'EnablingTime' => <DateTime>,
            'OptimizingTime' => <DateTime>,
            'OwnerAlias' => '<string>',
            'OwnerId' => '<string>',
            'SnapshotId' => '<string>',
            'State' => 'enabling|optimizing|enabled|disabling|disabled',
            'StateTransitionReason' => '<string>',
        ],
        // ...
    ],
    'Unsuccessful' => [
        [
            'FastSnapshotRestoreStateErrors' => [
                [
                    'AvailabilityZone' => '<string>',
                    'Error' => [
                        'Code' => '<string>',
                        'Message' => '<string>',
                    ],
                ],
                // ...
            ],
            'SnapshotId' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
Successful
Type: Array of DisableFastSnapshotRestoreSuccessItem structures

Information about the snapshots for which fast snapshot restores were successfully disabled.

Unsuccessful
Type: Array of DisableFastSnapshotRestoreErrorItem structures

Information about the snapshots for which fast snapshot restores could not be disabled.

Errors

There are no errors described for this operation.

DisableImage

$result = $client->disableImage([/* ... */]);
$promise = $client->disableImageAsync([/* ... */]);

Sets the AMI state to disabled and removes all launch permissions from the AMI. A disabled AMI can't be used for instance launches.

A disabled AMI can't be shared. If an AMI was public or previously shared, it is made private. If an AMI was shared with an Amazon Web Services account, organization, or Organizational Unit, they lose access to the disabled AMI.

A disabled AMI does not appear in DescribeImages API calls by default.

Only the AMI owner can disable an AMI.

You can re-enable a disabled AMI using EnableImage.

For more information, see Disable an AMI in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->disableImage([
    '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.

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.

DisableImageBlockPublicAccess

$result = $client->disableImageBlockPublicAccess([/* ... */]);
$promise = $client->disableImageBlockPublicAccessAsync([/* ... */]);

Disables block public access for AMIs at the account level in the specified Amazon Web Services Region. This removes the block public access restriction from your account. With the restriction removed, you can publicly share your AMIs in the specified Amazon Web Services Region.

The API can take up to 10 minutes to configure this setting. During this time, if you run GetImageBlockPublicAccessState, the response will be block-new-sharing. When the API has completed the configuration, the response will be unblocked.

For more information, see Block public access to your AMIs in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->disableImageBlockPublicAccess([
    '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

[
    'ImageBlockPublicAccessState' => 'unblocked',
]

Result Details

Members
ImageBlockPublicAccessState
Type: string

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

Errors

There are no errors described for this operation.

DisableImageDeprecation

$result = $client->disableImageDeprecation([/* ... */]);
$promise = $client->disableImageDeprecationAsync([/* ... */]);

Cancels the deprecation of the specified AMI.

For more information, see Deprecate an AMI in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->disableImageDeprecation([
    '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.

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.

DisableImageDeregistrationProtection

$result = $client->disableImageDeregistrationProtection([/* ... */]);
$promise = $client->disableImageDeregistrationProtectionAsync([/* ... */]);

Disables deregistration protection for an AMI. When deregistration protection is disabled, the AMI can be deregistered.

If you chose to include a 24-hour cooldown period when you enabled deregistration protection for the AMI, then, when you disable deregistration protection, you won’t immediately be able to deregister the AMI.

For more information, see Protect an AMI from deregistration in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->disableImageDeregistrationProtection([
    '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.

Result Syntax

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

Result Details

Members
Return
Type: string

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

Errors

There are no errors described for this operation.

DisableIpamOrganizationAdminAccount

$result = $client->disableIpamOrganizationAdminAccount([/* ... */]);
$promise = $client->disableIpamOrganizationAdminAccountAsync([/* ... */]);

Disable the IPAM account. For more information, see Enable integration with Organizations in the Amazon VPC IPAM User Guide.

Parameter Syntax

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

Parameter Details

Members
DelegatedAdminAccountId
Required: Yes
Type: string

The Organizations member account ID that you want to disable as IPAM account.

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.

Result Syntax

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

Result Details

Members
Success
Type: boolean

The result of disabling the IPAM account.

Errors

There are no errors described for this operation.

DisableSerialConsoleAccess

$result = $client->disableSerialConsoleAccess([/* ... */]);
$promise = $client->disableSerialConsoleAccessAsync([/* ... */]);

Disables access to the EC2 serial console of all instances for your account. By default, access to the EC2 serial console is disabled for your account. For more information, see Manage account access to the EC2 serial console in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->disableSerialConsoleAccess([
    '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

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

Result Details

Members
SerialConsoleAccessEnabled
Type: boolean

If true, access to the EC2 serial console of all instances is enabled for your account. If false, access to the EC2 serial console of all instances is disabled for your account.

Errors

There are no errors described for this operation.

DisableSnapshotBlockPublicAccess

$result = $client->disableSnapshotBlockPublicAccess([/* ... */]);
$promise = $client->disableSnapshotBlockPublicAccessAsync([/* ... */]);

Disables the block public access for snapshots setting at the account level for the specified Amazon Web Services Region. After you disable block public access for snapshots in a Region, users can publicly share snapshots in that Region.

Enabling block public access for snapshots in block-all-sharing mode does not change the permissions for snapshots that are already publicly shared. Instead, it prevents these snapshots from be publicly visible and publicly accessible. Therefore, the attributes for these snapshots still indicate that they are publicly shared, even though they are not publicly available.

If you disable block public access , these snapshots will become publicly available again.

For more information, see Block public access for snapshots in the Amazon EBS User Guide .

Parameter Syntax

$result = $client->disableSnapshotBlockPublicAccess([
    '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

[
    'State' => 'block-all-sharing|block-new-sharing|unblocked',
]

Result Details

Members
State
Type: string

Returns unblocked if the request succeeds.

Errors

There are no errors described for this operation.

DisableTransitGatewayRouteTablePropagation

$result = $client->disableTransitGatewayRouteTablePropagation([/* ... */]);
$promise = $client->disableTransitGatewayRouteTablePropagationAsync([/* ... */]);

Disables the specified resource attachment from propagating routes to the specified propagation route table.

Parameter Syntax

$result = $client->disableTransitGatewayRouteTablePropagation([
    'DryRun' => true || false,
    'TransitGatewayAttachmentId' => '<string>',
    'TransitGatewayRouteTableAnnouncementId' => '<string>',
    '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
Type: string

The ID of the attachment.

TransitGatewayRouteTableAnnouncementId
Type: string

The ID of the route table announcement.

TransitGatewayRouteTableId
Required: Yes
Type: string

The ID of the propagation route table.

Result Syntax

[
    'Propagation' => [
        'ResourceId' => '<string>',
        'ResourceType' => 'vpc|vpn|direct-connect-gateway|connect|peering|tgw-peering',
        'State' => 'enabling|enabled|disabling|disabled',
        'TransitGatewayAttachmentId' => '<string>',
        'TransitGatewayRouteTableAnnouncementId' => '<string>',
        'TransitGatewayRouteTableId' => '<string>',
    ],
]

Result Details

Members
Propagation
Type: TransitGatewayPropagation structure

Information about route propagation.

Errors

There are no errors described for this operation.

DisableVgwRoutePropagation

$result = $client->disableVgwRoutePropagation([/* ... */]);
$promise = $client->disableVgwRoutePropagationAsync([/* ... */]);

Disables a virtual private gateway (VGW) from propagating routes to a specified route table of a VPC.

Parameter Syntax

$result = $client->disableVgwRoutePropagation([
    'DryRun' => true || false,
    'GatewayId' => '<string>', // REQUIRED
    'RouteTableId' => '<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.

GatewayId
Required: Yes
Type: string

The ID of the virtual private gateway.

RouteTableId
Required: Yes
Type: string

The ID of the route table.

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 disable route propagation

This example disables the specified virtual private gateway from propagating static routes to the specified route table.

$result = $client->disableVgwRoutePropagation([
    'GatewayId' => 'vgw-9a4cacf3',
    'RouteTableId' => 'rtb-22574640',
]);
$result = $client->disableVpcClassicLink([/* ... */]);
$promise = $client->disableVpcClassicLinkAsync([/* ... */]);

This action is deprecated.

Disables ClassicLink for a VPC. You cannot disable ClassicLink for a VPC that has EC2-Classic instances linked to it.

Parameter Syntax

$result = $client->disableVpcClassicLink([
    'DryRun' => true || false,
    '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.

VpcId
Required: Yes
Type: string

The ID of the 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.

DisableVpcClassicLinkDnsSupport

$result = $client->disableVpcClassicLinkDnsSupport([/* ... */]);
$promise = $client->disableVpcClassicLinkDnsSupportAsync([/* ... */]);

This action is deprecated.

Disables ClassicLink DNS support for a VPC. If disabled, DNS hostnames resolve to public IP addresses when addressed between a linked EC2-Classic instance and instances in the VPC to which it's linked.

You must specify a VPC ID in the request.

Parameter Syntax

$result = $client->disableVpcClassicLinkDnsSupport([
    'VpcId' => '<string>',
]);

Parameter Details

Members
VpcId
Type: string

The ID of the 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.

DisassociateAddress

$result = $client->disassociateAddress([/* ... */]);
$promise = $client->disassociateAddressAsync([/* ... */]);

Disassociates an Elastic IP address from the instance or network interface it's associated with.

This is an idempotent operation. If you perform the operation more than once, Amazon EC2 doesn't return an error.

Parameter Syntax

$result = $client->disassociateAddress([
    'AssociationId' => '<string>',
    'DryRun' => true || false,
    'PublicIp' => '<string>',
]);

Parameter Details

Members
AssociationId
Type: string

The association ID. This parameter is required.

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.

PublicIp
Type: string

Deprecated.

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 disassociate an Elastic IP address

This example disassociates an Elastic IP address from an instance.

$result = $client->disassociateAddress([
    'AssociationId' => 'eipassoc-2bebb745',
]);

DisassociateCapacityReservationBillingOwner

$result = $client->disassociateCapacityReservationBillingOwner([/* ... */]);
$promise = $client->disassociateCapacityReservationBillingOwnerAsync([/* ... */]);

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. For more information, see Billing assignment for shared Amazon EC2 Capacity Reservations.

Parameter Syntax

$result = $client->disassociateCapacityReservationBillingOwner([
    '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 the request was sent.

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.

DisassociateClientVpnTargetNetwork

$result = $client->disassociateClientVpnTargetNetwork([/* ... */]);
$promise = $client->disassociateClientVpnTargetNetworkAsync([/* ... */]);

Disassociates a target network from the specified Client VPN endpoint. When you disassociate the last target network from a Client VPN, the following happens:

  • The route that was automatically added for the VPC is deleted

  • All active client connections are terminated

  • New client connections are disallowed

  • The Client VPN endpoint's status changes to pending-associate

Parameter Syntax

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

Parameter Details

Members
AssociationId
Required: Yes
Type: string

The ID of the target network association.

ClientVpnEndpointId
Required: Yes
Type: string

The ID of the Client VPN endpoint from which to disassociate the target network.

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

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

Result Details

Members
AssociationId
Type: string

The 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.

DisassociateEnclaveCertificateIamRole

$result = $client->disassociateEnclaveCertificateIamRole([/* ... */]);
$promise = $client->disassociateEnclaveCertificateIamRoleAsync([/* ... */]);

Disassociates an IAM role from an Certificate Manager (ACM) certificate. Disassociating an IAM role from an ACM certificate removes the Amazon S3 object that contains the certificate, certificate chain, and encrypted private key from the Amazon S3 bucket. It also revokes the IAM role's permission to use the KMS key used to encrypt the private key. This effectively revokes the role's permission to use the certificate.

Parameter Syntax

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

Parameter Details

Members
CertificateArn
Required: Yes
Type: string

The ARN of the ACM certificate from which to disassociate 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 disassociate.

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.

DisassociateIamInstanceProfile

$result = $client->disassociateIamInstanceProfile([/* ... */]);
$promise = $client->disassociateIamInstanceProfileAsync([/* ... */]);

Disassociates an IAM instance profile from a running or stopped instance.

Use DescribeIamInstanceProfileAssociations to get the association ID.

Parameter Syntax

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

Parameter Details

Members
AssociationId
Required: Yes
Type: string

The ID of the IAM instance profile association.

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 disassociate an IAM instance profile

This example disassociates the specified IAM instance profile from an instance.

$result = $client->disassociateIamInstanceProfile([
    'AssociationId' => 'iip-assoc-05020b59952902f5f',
]);

Result syntax:

[
    'IamInstanceProfileAssociation' => [
        'AssociationId' => 'iip-assoc-05020b59952902f5f',
        'IamInstanceProfile' => [
            'Arn' => 'arn:aws:iam::123456789012:instance-profile/admin-role',
            'Id' => 'AIPAI5IVIHMFFYY2DKV5Y',
        ],
        'InstanceId' => 'i-123456789abcde123',
        'State' => 'disassociating',
    ],
]

DisassociateInstanceEventWindow

$result = $client->disassociateInstanceEventWindow([/* ... */]);
$promise = $client->disassociateInstanceEventWindowAsync([/* ... */]);

Disassociates one or more targets from an event window.

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

Parameter Syntax

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

Parameter Details

Members
AssociationTarget
Required: Yes
Type: InstanceEventWindowDisassociationRequest structure

One or more targets to disassociate from 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.

DisassociateIpamByoasn

$result = $client->disassociateIpamByoasn([/* ... */]);
$promise = $client->disassociateIpamByoasnAsync([/* ... */]);

Remove the association between your Autonomous System Number (ASN) and your BYOIP CIDR. You may want to use this action to disassociate an ASN from a CIDR or if you want to swap ASNs. For more information, see Tutorial: Bring your ASN to IPAM in the Amazon VPC IPAM guide.

Parameter Syntax

$result = $client->disassociateIpamByoasn([
    '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

A BYOIP CIDR.

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

An ASN and BYOIP CIDR association.

Errors

There are no errors described for this operation.

DisassociateIpamResourceDiscovery

$result = $client->disassociateIpamResourceDiscovery([/* ... */]);
$promise = $client->disassociateIpamResourceDiscoveryAsync([/* ... */]);

Disassociates a resource discovery from 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->disassociateIpamResourceDiscovery([
    'DryRun' => true || false,
    'IpamResourceDiscoveryAssociationId' => '<string>', // REQUIRED
]);

Parameter Details

Members
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.

IpamResourceDiscoveryAssociationId
Required: Yes
Type: string

A resource discovery association ID.

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.

Errors

There are no errors described for this operation.

DisassociateNatGatewayAddress

$result = $client->disassociateNatGatewayAddress([/* ... */]);
$promise = $client->disassociateNatGatewayAddressAsync([/* ... */]);

Disassociates secondary Elastic IP addresses (EIPs) from a public NAT gateway. You cannot disassociate your primary EIP. For more information, see Edit secondary IP address associations in the Amazon VPC User Guide.

While disassociating is in progress, you cannot associate/disassociate additional EIPs while the connections are being drained. You are, however, allowed to delete the NAT gateway.

An EIP is released only at the end of MaxDrainDurationSeconds. It stays associated and supports the existing connections but does not support any new connections (new connections are distributed across the remaining associated EIPs). As the existing connections drain out, the EIPs (and the corresponding private IP addresses mapped to them) are released.

Parameter Syntax

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

Parameter Details

Members
AssociationIds
Required: Yes
Type: Array of strings

The association IDs of EIPs that have been associated with the 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.

MaxDrainDurationSeconds
Type: int

The maximum amount of time to wait (in seconds) before forcibly releasing the IP addresses if connections are still in progress. Default value is 350 seconds.

NatGatewayId
Required: Yes
Type: string

The ID of 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

Information about the NAT gateway IP addresses.

NatGatewayId
Type: string

The ID of the NAT gateway.

Errors

There are no errors described for this operation.

DisassociateRouteTable

$result = $client->disassociateRouteTable([/* ... */]);
$promise = $client->disassociateRouteTableAsync([/* ... */]);

Disassociates a subnet or gateway from a route table.

After you perform this action, the subnet no longer uses the routes in the route table. Instead, it uses the routes in the VPC's main route table. For more information about route tables, see Route tables in the Amazon VPC User Guide.

Parameter Syntax

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

Parameter Details

Members
AssociationId
Required: Yes
Type: string

The association ID representing the current association between the route table and subnet or 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.

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 disassociate a route table

This example disassociates the specified route table from its associated subnet.

$result = $client->disassociateRouteTable([
    'AssociationId' => 'rtbassoc-781d0d1a',
]);

DisassociateSecurityGroupVpc

$result = $client->disassociateSecurityGroupVpc([/* ... */]);
$promise = $client->disassociateSecurityGroupVpcAsync([/* ... */]);

Disassociates a security group from a VPC. You cannot disassociate the security group if any Elastic network interfaces in the associated VPC are still associated with the security group. Note that the disassociation is asynchronous and you can check the status of the request with DescribeSecurityGroupVpcAssociations.

Parameter Syntax

$result = $client->disassociateSecurityGroupVpc([
    '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 disassociation.

Errors

There are no errors described for this operation.

DisassociateSubnetCidrBlock

$result = $client->disassociateSubnetCidrBlock([/* ... */]);
$promise = $client->disassociateSubnetCidrBlockAsync([/* ... */]);

Disassociates a CIDR block from a subnet. Currently, you can disassociate an IPv6 CIDR block only. You must detach or delete all gateways and resources that are associated with the CIDR block before you can disassociate it.

Parameter Syntax

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

Parameter Details

Members
AssociationId
Required: Yes
Type: string

The association ID for the CIDR block.

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 CIDR block association.

SubnetId
Type: string

The ID of the subnet.

Errors

There are no errors described for this operation.

DisassociateTransitGatewayMulticastDomain

$result = $client->disassociateTransitGatewayMulticastDomain([/* ... */]);
$promise = $client->disassociateTransitGatewayMulticastDomainAsync([/* ... */]);

Disassociates the specified subnets from the transit gateway multicast domain.

Parameter Syntax

$result = $client->disassociateTransitGatewayMulticastDomain([
    '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;

TransitGatewayAttachmentId
Required: Yes
Type: string

The ID of the attachment.

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 association.

Errors

There are no errors described for this operation.

DisassociateTransitGatewayPolicyTable

$result = $client->disassociateTransitGatewayPolicyTable([/* ... */]);
$promise = $client->disassociateTransitGatewayPolicyTableAsync([/* ... */]);

Removes the association between an an attachment and a policy table.

Parameter Syntax

$result = $client->disassociateTransitGatewayPolicyTable([
    '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 disassociate from the policy table.

TransitGatewayPolicyTableId
Required: Yes
Type: string

The ID of the disassociated policy table.

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

Returns details about the transit gateway policy table disassociation.

Errors

There are no errors described for this operation.

DisassociateTransitGatewayRouteTable

$result = $client->disassociateTransitGatewayRouteTable([/* ... */]);
$promise = $client->disassociateTransitGatewayRouteTableAsync([/* ... */]);

Disassociates a resource attachment from a transit gateway route table.

Parameter Syntax

$result = $client->disassociateTransitGatewayRouteTable([
    '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

Information about the association.

Errors

There are no errors described for this operation.

DisassociateTrunkInterface

$result = $client->disassociateTrunkInterface([/* ... */]);
$promise = $client->disassociateTrunkInterfaceAsync([/* ... */]);

Removes an association between a branch network interface with a trunk network interface.

Parameter Syntax

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

Parameter Details

Members
AssociationId
Required: Yes
Type: string

The ID of the association

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.

Result Syntax

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

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.

Return
Type: boolean

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

Errors

There are no errors described for this operation.

DisassociateVpcCidrBlock

$result = $client->disassociateVpcCidrBlock([/* ... */]);
$promise = $client->disassociateVpcCidrBlockAsync([/* ... */]);

Disassociates a CIDR block from a VPC. To disassociate the CIDR block, you must specify its association ID. You can get the association ID by using DescribeVpcs. You must detach or delete all gateways and resources that are associated with the CIDR block before you can disassociate it.

You cannot disassociate the CIDR block with which you originally created the VPC (the primary CIDR block).

Parameter Syntax

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

Parameter Details

Members
AssociationId
Required: Yes
Type: string

The association ID for the CIDR block.

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.

EnableAddressTransfer

$result = $client->enableAddressTransfer([/* ... */]);
$promise = $client->enableAddressTransferAsync([/* ... */]);

Enables Elastic IP address transfer. For more information, see Transfer Elastic IP addresses in the Amazon VPC User Guide.

Parameter Syntax

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

Parameter Details

Members
AllocationId
Required: Yes
Type: string

The allocation ID of an Elastic IP address.

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.

TransferAccountId
Required: Yes
Type: string

The ID of the account that you want to transfer the Elastic IP address to.

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.

EnableAwsNetworkPerformanceMetricSubscription

$result = $client->enableAwsNetworkPerformanceMetricSubscription([/* ... */]);
$promise = $client->enableAwsNetworkPerformanceMetricSubscriptionAsync([/* ... */]);

Enables Infrastructure Performance subscriptions.

Parameter Syntax

$result = $client->enableAwsNetworkPerformanceMetricSubscription([
    'Destination' => '<string>',
    'DryRun' => true || false,
    'Metric' => 'aggregate-latency',
    'Source' => '<string>',
    'Statistic' => 'p50',
]);

Parameter Details

Members
Destination
Type: string

The target Region (like us-east-2) or Availability Zone ID (like use2-az2) that the metric subscription is enabled for. If you use Availability Zone IDs, the Source and Destination Availability Zones must be in the same Region.

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.

Metric
Type: string

The metric used for the enabled subscription.

Source
Type: string

The source Region (like us-east-1) or Availability Zone ID (like use1-az1) that the metric subscription is enabled for. If you use Availability Zone IDs, the Source and Destination Availability Zones must be in the same Region.

Statistic
Type: string

The statistic used for the enabled subscription.

Result Syntax

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

Result Details

Members
Output
Type: boolean

Indicates whether the subscribe action was successful.

Errors

There are no errors described for this operation.

EnableEbsEncryptionByDefault

$result = $client->enableEbsEncryptionByDefault([/* ... */]);
$promise = $client->enableEbsEncryptionByDefaultAsync([/* ... */]);

Enables EBS encryption by default for your account in the current Region.

After you enable encryption by default, the EBS volumes that you create are always encrypted, either using the default KMS key or the KMS key that you specified when you created each volume. For more information, see Amazon EBS encryption in the Amazon EBS User Guide.

You can specify the default KMS key for encryption by default using ModifyEbsDefaultKmsKeyId or ResetEbsDefaultKmsKeyId.

Enabling encryption by default has no effect on the encryption status of your existing volumes.

After you enable encryption by default, you can no longer launch instances using instance types that do not support encryption. For more information, see Supported instance types.

Parameter Syntax

$result = $client->enableEbsEncryptionByDefault([
    '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

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

Result Details

Members
EbsEncryptionByDefault
Type: boolean

The updated status of encryption by default.

Errors

There are no errors described for this operation.

EnableFastLaunch

$result = $client->enableFastLaunch([/* ... */]);
$promise = $client->enableFastLaunchAsync([/* ... */]);

When you enable Windows fast launch for a Windows AMI, images are pre-provisioned, using snapshots to launch instances up to 65% faster. To create the optimized Windows image, Amazon EC2 launches an instance and runs through Sysprep steps, rebooting as required. Then it creates a set of reserved snapshots that are used for subsequent launches. The reserved snapshots are automatically replenished as they are used, depending on your settings for launch frequency.

You can only change these settings for Windows AMIs that you own or that have been shared with you.

Parameter Syntax

$result = $client->enableFastLaunch([
    'DryRun' => true || false,
    'ImageId' => '<string>', // REQUIRED
    'LaunchTemplate' => [
        'LaunchTemplateId' => '<string>',
        'LaunchTemplateName' => '<string>',
        'Version' => '<string>', // REQUIRED
    ],
    'MaxParallelLaunches' => <integer>,
    'ResourceType' => '<string>',
    'SnapshotConfiguration' => [
        'TargetResourceCount' => <integer>,
    ],
]);

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

Specify the ID of the image for which to enable Windows fast launch.

LaunchTemplate

The launch template to use when launching Windows instances from pre-provisioned snapshots. Launch template parameters can include either the name or ID of the launch template, but not both.

MaxParallelLaunches
Type: int

The maximum number of instances that Amazon EC2 can launch at the same time to create pre-provisioned snapshots for Windows fast launch. Value must be 6 or greater.

ResourceType
Type: string

The type of resource to use for pre-provisioning the AMI for Windows fast launch. Supported values include: snapshot, which is the default value.

SnapshotConfiguration

Configuration settings for creating and managing the snapshots that are used for pre-provisioning the AMI for Windows fast launch. The associated ResourceType must be snapshot.

Result Syntax

[
    'ImageId' => '<string>',
    'LaunchTemplate' => [
        'LaunchTemplateId' => '<string>',
        'LaunchTemplateName' => '<string>',
        'Version' => '<string>',
    ],
    'MaxParallelLaunches' => <integer>,
    'OwnerId' => '<string>',
    'ResourceType' => 'snapshot',
    'SnapshotConfiguration' => [
        'TargetResourceCount' => <integer>,
    ],
    'State' => 'enabling|enabling-failed|enabled|enabled-failed|disabling|disabling-failed',
    'StateTransitionReason' => '<string>',
    'StateTransitionTime' => <DateTime>,
]

Result Details

Members
ImageId
Type: string

The image ID that identifies the AMI for which Windows fast launch was enabled.

LaunchTemplate

The launch template that is used when launching Windows instances from pre-provisioned snapshots.

MaxParallelLaunches
Type: int

The maximum number of instances that Amazon EC2 can launch at the same time to create pre-provisioned snapshots for Windows fast launch.

OwnerId
Type: string

The owner ID for the AMI for which Windows fast launch was enabled.

ResourceType
Type: string

The type of resource that was defined for pre-provisioning the AMI for Windows fast launch.

SnapshotConfiguration

Settings to create and manage the pre-provisioned snapshots that Amazon EC2 uses for faster launches from the Windows AMI. This property is returned when the associated resourceType is snapshot.

State
Type: string

The current state of Windows fast launch for the specified AMI.

StateTransitionReason
Type: string

The reason that the state changed for Windows fast launch for the AMI.

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

The time that the state changed for Windows fast launch for the AMI.

Errors

There are no errors described for this operation.

EnableFastSnapshotRestores

$result = $client->enableFastSnapshotRestores([/* ... */]);
$promise = $client->enableFastSnapshotRestoresAsync([/* ... */]);

Enables fast snapshot restores for the specified snapshots in the specified Availability Zones.

You get the full benefit of fast snapshot restores after they enter the enabled state. To get the current state of fast snapshot restores, use DescribeFastSnapshotRestores. To disable fast snapshot restores, use DisableFastSnapshotRestores.

For more information, see Amazon EBS fast snapshot restore in the Amazon EBS User Guide.

Parameter Syntax

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

Parameter Details

Members
AvailabilityZones
Required: Yes
Type: Array of strings

One or more Availability Zones. For example, us-east-2a.

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.

SourceSnapshotIds
Required: Yes
Type: Array of strings

The IDs of one or more snapshots. For example, snap-1234567890abcdef0. You can specify a snapshot that was shared with you from another Amazon Web Services account.

Result Syntax

[
    'Successful' => [
        [
            'AvailabilityZone' => '<string>',
            'DisabledTime' => <DateTime>,
            'DisablingTime' => <DateTime>,
            'EnabledTime' => <DateTime>,
            'EnablingTime' => <DateTime>,
            'OptimizingTime' => <DateTime>,
            'OwnerAlias' => '<string>',
            'OwnerId' => '<string>',
            'SnapshotId' => '<string>',
            'State' => 'enabling|optimizing|enabled|disabling|disabled',
            'StateTransitionReason' => '<string>',
        ],
        // ...
    ],
    'Unsuccessful' => [
        [
            'FastSnapshotRestoreStateErrors' => [
                [
                    'AvailabilityZone' => '<string>',
                    'Error' => [
                        'Code' => '<string>',
                        'Message' => '<string>',
                    ],
                ],
                // ...
            ],
            'SnapshotId' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
Successful
Type: Array of EnableFastSnapshotRestoreSuccessItem structures

Information about the snapshots for which fast snapshot restores were successfully enabled.

Unsuccessful
Type: Array of EnableFastSnapshotRestoreErrorItem structures

Information about the snapshots for which fast snapshot restores could not be enabled.

Errors

There are no errors described for this operation.

EnableImage

$result = $client->enableImage([/* ... */]);
$promise = $client->enableImageAsync([/* ... */]);

Re-enables a disabled AMI. The re-enabled AMI is marked as available and can be used for instance launches, appears in describe operations, and can be shared. Amazon Web Services accounts, organizations, and Organizational Units that lost access to the AMI when it was disabled do not regain access automatically. Once the AMI is available, it can be shared with them again.

Only the AMI owner can re-enable a disabled AMI.

For more information, see Disable an AMI in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->enableImage([
    '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.

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.

EnableImageBlockPublicAccess

$result = $client->enableImageBlockPublicAccess([/* ... */]);
$promise = $client->enableImageBlockPublicAccessAsync([/* ... */]);

Enables block public access for AMIs at the account level in the specified Amazon Web Services Region. This prevents the public sharing of your AMIs. However, if you already have public AMIs, they will remain publicly available.

The API can take up to 10 minutes to configure this setting. During this time, if you run GetImageBlockPublicAccessState, the response will be unblocked. When the API has completed the configuration, the response will be block-new-sharing.

For more information, see Block public access to your AMIs in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->enableImageBlockPublicAccess([
    'DryRun' => true || false,
    'ImageBlockPublicAccessState' => 'block-new-sharing', // 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.

ImageBlockPublicAccessState
Required: Yes
Type: string

Specify block-new-sharing to enable block public access for AMIs at the account level in the specified Region. This will block any attempt to publicly share your AMIs in the specified Region.

Result Syntax

[
    'ImageBlockPublicAccessState' => 'block-new-sharing',
]

Result Details

Members
ImageBlockPublicAccessState
Type: string

Returns block-new-sharing if the request succeeds; otherwise, it returns an error.

Errors

There are no errors described for this operation.

EnableImageDeprecation

$result = $client->enableImageDeprecation([/* ... */]);
$promise = $client->enableImageDeprecationAsync([/* ... */]);

Enables deprecation of the specified AMI at the specified date and time.

For more information, see Deprecate an AMI in the Amazon EC2 User Guide.

Parameter Syntax

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

Parameter Details

Members
DeprecateAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time to deprecate the AMI, in UTC, in the following format: YYYY-MM-DDTHH:MM:SSZ. If you specify a value for seconds, Amazon EC2 rounds the seconds to the nearest minute.

You can’t specify a date in the past. The upper limit for DeprecateAt is 10 years from now, except for public AMIs, where the upper limit is 2 years from the creation date.

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.

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.

EnableImageDeregistrationProtection

$result = $client->enableImageDeregistrationProtection([/* ... */]);
$promise = $client->enableImageDeregistrationProtectionAsync([/* ... */]);

Enables deregistration protection for an AMI. When deregistration protection is enabled, the AMI can't be deregistered.

To allow the AMI to be deregistered, you must first disable deregistration protection using DisableImageDeregistrationProtection.

For more information, see Protect an AMI from deregistration in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->enableImageDeregistrationProtection([
    'DryRun' => true || false,
    'ImageId' => '<string>', // REQUIRED
    'WithCooldown' => 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.

ImageId
Required: Yes
Type: string

The ID of the AMI.

WithCooldown
Type: boolean

If true, enforces deregistration protection for 24 hours after deregistration protection is disabled.

Result Syntax

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

Result Details

Members
Return
Type: string

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

Errors

There are no errors described for this operation.

EnableIpamOrganizationAdminAccount

$result = $client->enableIpamOrganizationAdminAccount([/* ... */]);
$promise = $client->enableIpamOrganizationAdminAccountAsync([/* ... */]);

Enable an Organizations member account as the IPAM admin account. You cannot select the Organizations management account as the IPAM admin account. For more information, see Enable integration with Organizations in the Amazon VPC IPAM User Guide.

Parameter Syntax

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

Parameter Details

Members
DelegatedAdminAccountId
Required: Yes
Type: string

The Organizations member account ID that you want to enable as the IPAM account.

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.

Result Syntax

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

Result Details

Members
Success
Type: boolean

The result of enabling the IPAM account.

Errors

There are no errors described for this operation.

EnableReachabilityAnalyzerOrganizationSharing

$result = $client->enableReachabilityAnalyzerOrganizationSharing([/* ... */]);
$promise = $client->enableReachabilityAnalyzerOrganizationSharingAsync([/* ... */]);

Establishes a trust relationship between Reachability Analyzer and Organizations. This operation must be performed by the management account for the organization.

After you establish a trust relationship, a user in the management account or a delegated administrator account can run a cross-account analysis using resources from the member accounts.

Parameter Syntax

$result = $client->enableReachabilityAnalyzerOrganizationSharing([
    '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

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

Result Details

Members
ReturnValue
Type: boolean

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

Errors

There are no errors described for this operation.

EnableSerialConsoleAccess

$result = $client->enableSerialConsoleAccess([/* ... */]);
$promise = $client->enableSerialConsoleAccessAsync([/* ... */]);

Enables access to the EC2 serial console of all instances for your account. By default, access to the EC2 serial console is disabled for your account. For more information, see Manage account access to the EC2 serial console in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->enableSerialConsoleAccess([
    '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

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

Result Details

Members
SerialConsoleAccessEnabled
Type: boolean

If true, access to the EC2 serial console of all instances is enabled for your account. If false, access to the EC2 serial console of all instances is disabled for your account.

Errors

There are no errors described for this operation.

EnableSnapshotBlockPublicAccess

$result = $client->enableSnapshotBlockPublicAccess([/* ... */]);
$promise = $client->enableSnapshotBlockPublicAccessAsync([/* ... */]);

Enables or modifies the block public access for snapshots setting at the account level for the specified Amazon Web Services Region. After you enable block public access for snapshots in a Region, users can no longer request public sharing for snapshots in that Region. Snapshots that are already publicly shared are either treated as private or they remain publicly shared, depending on the State that you specify.

Enabling block public access for snapshots in block all sharing mode does not change the permissions for snapshots that are already publicly shared. Instead, it prevents these snapshots from be publicly visible and publicly accessible. Therefore, the attributes for these snapshots still indicate that they are publicly shared, even though they are not publicly available.

If you later disable block public access or change the mode to block new sharing, these snapshots will become publicly available again.

For more information, see Block public access for snapshots in the Amazon EBS User Guide.

Parameter Syntax

$result = $client->enableSnapshotBlockPublicAccess([
    'DryRun' => true || false,
    'State' => 'block-all-sharing|block-new-sharing|unblocked', // 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.

State
Required: Yes
Type: string

The mode in which to enable block public access for snapshots for the Region. Specify one of the following values:

  • block-all-sharing - Prevents all public sharing of snapshots in the Region. Users in the account will no longer be able to request new public sharing. Additionally, snapshots that are already publicly shared are treated as private and they are no longer publicly available.

  • block-new-sharing - Prevents only new public sharing of snapshots in the Region. Users in the account will no longer be able to request new public sharing. However, snapshots that are already publicly shared, remain publicly available.

unblocked is not a valid value for EnableSnapshotBlockPublicAccess.

Result Syntax

[
    'State' => 'block-all-sharing|block-new-sharing|unblocked',
]

Result Details

Members
State
Type: string

The state of block public access for snapshots for the account and Region. Returns either block-all-sharing or block-new-sharing if the request succeeds.

Errors

There are no errors described for this operation.

EnableTransitGatewayRouteTablePropagation

$result = $client->enableTransitGatewayRouteTablePropagation([/* ... */]);
$promise = $client->enableTransitGatewayRouteTablePropagationAsync([/* ... */]);

Enables the specified attachment to propagate routes to the specified propagation route table.

Parameter Syntax

$result = $client->enableTransitGatewayRouteTablePropagation([
    'DryRun' => true || false,
    'TransitGatewayAttachmentId' => '<string>',
    'TransitGatewayRouteTableAnnouncementId' => '<string>',
    '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
Type: string

The ID of the attachment.

TransitGatewayRouteTableAnnouncementId
Type: string

The ID of the transit gateway route table announcement.

TransitGatewayRouteTableId
Required: Yes
Type: string

The ID of the propagation route table.

Result Syntax

[
    'Propagation' => [
        'ResourceId' => '<string>',
        'ResourceType' => 'vpc|vpn|direct-connect-gateway|connect|peering|tgw-peering',
        'State' => 'enabling|enabled|disabling|disabled',
        'TransitGatewayAttachmentId' => '<string>',
        'TransitGatewayRouteTableAnnouncementId' => '<string>',
        'TransitGatewayRouteTableId' => '<string>',
    ],
]

Result Details

Members
Propagation
Type: TransitGatewayPropagation structure

Information about route propagation.

Errors

There are no errors described for this operation.

EnableVgwRoutePropagation

$result = $client->enableVgwRoutePropagation([/* ... */]);
$promise = $client->enableVgwRoutePropagationAsync([/* ... */]);

Enables a virtual private gateway (VGW) to propagate routes to the specified route table of a VPC.

Parameter Syntax

$result = $client->enableVgwRoutePropagation([
    'DryRun' => true || false,
    'GatewayId' => '<string>', // REQUIRED
    'RouteTableId' => '<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.

GatewayId
Required: Yes
Type: string

The ID of the virtual private gateway that is attached to a VPC. The virtual private gateway must be attached to the same VPC that the routing tables are associated with.

RouteTableId
Required: Yes
Type: string

The ID of the route table. The routing table must be associated with the same VPC that the virtual private gateway is attached to.

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 enable route propagation

This example enables the specified virtual private gateway to propagate static routes to the specified route table.

$result = $client->enableVgwRoutePropagation([
    'GatewayId' => 'vgw-9a4cacf3',
    'RouteTableId' => 'rtb-22574640',
]);

EnableVolumeIO

$result = $client->enableVolumeIO([/* ... */]);
$promise = $client->enableVolumeIOAsync([/* ... */]);

Enables I/O operations for a volume that had I/O operations disabled because the data on the volume was potentially inconsistent.

Parameter Syntax

$result = $client->enableVolumeIO([
    'DryRun' => true || false,
    'VolumeId' => '<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.

VolumeId
Required: Yes
Type: string

The ID of the volume.

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 enable I/O for a volume

This example enables I/O on volume ``vol-1234567890abcdef0``.

$result = $client->enableVolumeIO([
    'VolumeId' => 'vol-1234567890abcdef0',
]);
$result = $client->enableVpcClassicLink([/* ... */]);
$promise = $client->enableVpcClassicLinkAsync([/* ... */]);

This action is deprecated.

Enables a VPC for ClassicLink. You can then link EC2-Classic instances to your ClassicLink-enabled VPC to allow communication over private IP addresses. You cannot enable your VPC for ClassicLink if any of your VPC route tables have existing routes for address ranges within the 10.0.0.0/8 IP address range, excluding local routes for VPCs in the 10.0.0.0/16 and 10.1.0.0/16 IP address ranges.

Parameter Syntax

$result = $client->enableVpcClassicLink([
    'DryRun' => true || false,
    '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.

VpcId
Required: Yes
Type: string

The ID of the 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.

EnableVpcClassicLinkDnsSupport

$result = $client->enableVpcClassicLinkDnsSupport([/* ... */]);
$promise = $client->enableVpcClassicLinkDnsSupportAsync([/* ... */]);

This action is deprecated.

Enables a VPC to support DNS hostname resolution for ClassicLink. If enabled, the DNS hostname of a linked EC2-Classic instance resolves to its private IP address when addressed from an instance in the VPC to which it's linked. Similarly, the DNS hostname of an instance in a VPC resolves to its private IP address when addressed from a linked EC2-Classic instance.

You must specify a VPC ID in the request.

Parameter Syntax

$result = $client->enableVpcClassicLinkDnsSupport([
    'VpcId' => '<string>',
]);

Parameter Details

Members
VpcId
Type: string

The ID of the 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.

ExportClientVpnClientCertificateRevocationList

$result = $client->exportClientVpnClientCertificateRevocationList([/* ... */]);
$promise = $client->exportClientVpnClientCertificateRevocationListAsync([/* ... */]);

Downloads the client certificate revocation list for the specified Client VPN endpoint.

Parameter Syntax

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

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.

Result Syntax

[
    'CertificateRevocationList' => '<string>',
    'Status' => [
        'Code' => 'pending|active',
        'Message' => '<string>',
    ],
]

Result Details

Members
CertificateRevocationList
Type: string

Information about the client certificate revocation list.

Status

The current state of the client certificate revocation list.

Errors

There are no errors described for this operation.

ExportClientVpnClientConfiguration

$result = $client->exportClientVpnClientConfiguration([/* ... */]);
$promise = $client->exportClientVpnClientConfigurationAsync([/* ... */]);

Downloads the contents of the Client VPN endpoint configuration file for the specified Client VPN endpoint. The Client VPN endpoint configuration file includes the Client VPN endpoint and certificate information clients need to establish a connection with the Client VPN endpoint.

Parameter Syntax

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

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.

Result Syntax

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

Result Details

Members
ClientConfiguration
Type: string

The contents of the Client VPN endpoint configuration file.

Errors

There are no errors described for this operation.

ExportImage

$result = $client->exportImage([/* ... */]);
$promise = $client->exportImageAsync([/* ... */]);

Exports an Amazon Machine Image (AMI) to a VM file. For more information, see Exporting a VM directly from an Amazon Machine Image (AMI) in the VM Import/Export User Guide.

Parameter Syntax

$result = $client->exportImage([
    'ClientToken' => '<string>',
    'Description' => '<string>',
    'DiskImageFormat' => 'VMDK|RAW|VHD', // REQUIRED
    'DryRun' => true || false,
    'ImageId' => '<string>', // REQUIRED
    'RoleName' => '<string>',
    'S3ExportLocation' => [ // REQUIRED
        'S3Bucket' => '<string>', // REQUIRED
        'S3Prefix' => '<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

Token to enable idempotency for export image requests.

Description
Type: string

A description of the image being exported. The maximum length is 255 characters.

DiskImageFormat
Required: Yes
Type: string

The disk image format.

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 image.

RoleName
Type: string

The name of the role that grants VM Import/Export permission to export images to your Amazon S3 bucket. If this parameter is not specified, the default role is named 'vmimport'.

S3ExportLocation
Required: Yes
Type: ExportTaskS3LocationRequest structure

The Amazon S3 bucket for the destination image. The destination bucket must exist.

TagSpecifications
Type: Array of TagSpecification structures

The tags to apply to the export image task during creation.

Result Syntax

[
    'Description' => '<string>',
    'DiskImageFormat' => 'VMDK|RAW|VHD',
    'ExportImageTaskId' => '<string>',
    'ImageId' => '<string>',
    'Progress' => '<string>',
    'RoleName' => '<string>',
    'S3ExportLocation' => [
        'S3Bucket' => '<string>',
        'S3Prefix' => '<string>',
    ],
    'Status' => '<string>',
    'StatusMessage' => '<string>',
    'Tags' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
Description
Type: string

A description of the image being exported.

DiskImageFormat
Type: string

The disk image format for the exported image.

ExportImageTaskId
Type: string

The ID of the export image task.

ImageId
Type: string

The ID of the image.

Progress
Type: string

The percent complete of the export image task.

RoleName
Type: string

The name of the role that grants VM Import/Export permission to export images to your Amazon S3 bucket.

S3ExportLocation
Type: ExportTaskS3Location structure

Information about the destination Amazon S3 bucket.

Status
Type: string

The status of the export image task. The possible values are active, completed, deleting, and deleted.

StatusMessage
Type: string

The status message for the export image task.

Tags
Type: Array of Tag structures

Any tags assigned to the export image task.

Errors

There are no errors described for this operation.

ExportTransitGatewayRoutes

$result = $client->exportTransitGatewayRoutes([/* ... */]);
$promise = $client->exportTransitGatewayRoutesAsync([/* ... */]);

Exports routes from the specified transit gateway route table to the specified S3 bucket. By default, all routes are exported. Alternatively, you can filter by CIDR range.

The routes are saved to the specified bucket in a JSON file. For more information, see Export route tables to Amazon S3 in the Amazon Web Services Transit Gateways Guide.

Parameter Syntax

$result = $client->exportTransitGatewayRoutes([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'S3Bucket' => '<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.

Filters
Type: Array of Filter structures

One or more filters. The possible values are:

  • attachment.transit-gateway-attachment-id - The id of the transit gateway attachment.

  • attachment.resource-id - The resource id of the transit gateway attachment.

  • route-search.exact-match - The exact match of the specified filter.

  • route-search.longest-prefix-match - The longest prefix that matches the route.

  • route-search.subnet-of-match - The routes with a subnet that match the specified CIDR filter.

  • route-search.supernet-of-match - The routes with a CIDR that encompass the CIDR filter. For example, if you have 10.0.1.0/29 and 10.0.1.0/31 routes in your route table and you specify supernet-of-match as 10.0.1.0/30, then the result returns 10.0.1.0/29.

  • state - The state of the route (active | blackhole).

  • transit-gateway-route-destination-cidr-block - The CIDR range.

  • type - The type of route (propagated | static).

S3Bucket
Required: Yes
Type: string

The name of the S3 bucket.

TransitGatewayRouteTableId
Required: Yes
Type: string

The ID of the route table.

Result Syntax

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

Result Details

Members
S3Location
Type: string

The URL of the exported file in Amazon S3. For example, s3://bucket_name/VPCTransitGateway/TransitGatewayRouteTables/file_name.

Errors

There are no errors described for this operation.

GetAssociatedEnclaveCertificateIamRoles

$result = $client->getAssociatedEnclaveCertificateIamRoles([/* ... */]);
$promise = $client->getAssociatedEnclaveCertificateIamRolesAsync([/* ... */]);

Returns the IAM roles that are associated with the specified ACM (ACM) certificate. It also returns the name of the Amazon S3 bucket and the Amazon S3 object key where the certificate, certificate chain, and encrypted private key bundle are stored, and the ARN of the KMS key that's used to encrypt the private key.

Parameter Syntax

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

Parameter Details

Members
CertificateArn
Required: Yes
Type: string

The ARN of the ACM certificate for which to view the associated IAM roles, encryption keys, and Amazon S3 object information.

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

[
    'AssociatedRoles' => [
        [
            'AssociatedRoleArn' => '<string>',
            'CertificateS3BucketName' => '<string>',
            'CertificateS3ObjectKey' => '<string>',
            'EncryptionKmsKeyId' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
AssociatedRoles
Type: Array of AssociatedRole structures

Information about the associated IAM roles.

Errors

There are no errors described for this operation.

GetAssociatedIpv6PoolCidrs

$result = $client->getAssociatedIpv6PoolCidrs([/* ... */]);
$promise = $client->getAssociatedIpv6PoolCidrsAsync([/* ... */]);

Gets information about the IPv6 CIDR block associations for a specified IPv6 address pool.

Parameter Syntax

$result = $client->getAssociatedIpv6PoolCidrs([
    'DryRun' => true || false,
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'PoolId' => '<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.

MaxResults
Type: int

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

NextToken
Type: string

The token for the next page of results.

PoolId
Required: Yes
Type: string

The ID of the IPv6 address pool.

Result Syntax

[
    'Ipv6CidrAssociations' => [
        [
            'AssociatedResource' => '<string>',
            'Ipv6Cidr' => '<string>',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
Ipv6CidrAssociations
Type: Array of Ipv6CidrAssociation structures

Information about the IPv6 CIDR block associations.

NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

Errors

There are no errors described for this operation.

GetAwsNetworkPerformanceData

$result = $client->getAwsNetworkPerformanceData([/* ... */]);
$promise = $client->getAwsNetworkPerformanceDataAsync([/* ... */]);

Gets network performance data.

Parameter Syntax

$result = $client->getAwsNetworkPerformanceData([
    'DataQueries' => [
        [
            'Destination' => '<string>',
            'Id' => '<string>',
            'Metric' => 'aggregate-latency',
            'Period' => 'five-minutes|fifteen-minutes|one-hour|three-hours|one-day|one-week',
            'Source' => '<string>',
            'Statistic' => 'p50',
        ],
        // ...
    ],
    'DryRun' => true || false,
    'EndTime' => <integer || string || DateTime>,
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'StartTime' => <integer || string || DateTime>,
]);

Parameter Details

Members
DataQueries
Type: Array of DataQuery structures

A list of network performance data queries.

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.

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

The ending time for the performance data request. The end time must be formatted as yyyy-mm-ddThh:mm:ss. For example, 2022-06-12T12:00:00.000Z.

MaxResults
Type: int

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

NextToken
Type: string

The token for the next page of results.

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

The starting time for the performance data request. The starting time must be formatted as yyyy-mm-ddThh:mm:ss. For example, 2022-06-10T12:00:00.000Z.

Result Syntax

[
    'DataResponses' => [
        [
            'Destination' => '<string>',
            'Id' => '<string>',
            'Metric' => 'aggregate-latency',
            'MetricPoints' => [
                [
                    'EndDate' => <DateTime>,
                    'StartDate' => <DateTime>,
                    'Status' => '<string>',
                    'Value' => <float>,
                ],
                // ...
            ],
            'Period' => 'five-minutes|fifteen-minutes|one-hour|three-hours|one-day|one-week',
            'Source' => '<string>',
            'Statistic' => 'p50',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
DataResponses
Type: Array of DataResponse structures

The list of data responses.

NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

Errors

There are no errors described for this operation.

GetCapacityReservationUsage

$result = $client->getCapacityReservationUsage([/* ... */]);
$promise = $client->getCapacityReservationUsageAsync([/* ... */]);

Gets usage information about a Capacity Reservation. If the Capacity Reservation is shared, it shows usage information for the Capacity Reservation owner and each Amazon Web Services account that is currently using the shared capacity. If the Capacity Reservation is not shared, it shows only the Capacity Reservation owner's usage.

Parameter Syntax

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

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.

MaxResults
Type: int

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

NextToken
Type: string

The token to use to retrieve the next page of results.

Result Syntax

[
    'AvailableInstanceCount' => <integer>,
    'CapacityReservationId' => '<string>',
    'InstanceType' => '<string>',
    'InstanceUsages' => [
        [
            'AccountId' => '<string>',
            'UsedInstanceCount' => <integer>,
        ],
        // ...
    ],
    'NextToken' => '<string>',
    'State' => 'active|expired|cancelled|pending|failed|scheduled|payment-pending|payment-failed',
    'TotalInstanceCount' => <integer>,
]

Result Details

Members
AvailableInstanceCount
Type: int

The remaining capacity. Indicates the number of instances that can be launched in the Capacity Reservation.

CapacityReservationId
Type: string

The ID of the Capacity Reservation.

InstanceType
Type: string

The type of instance for which the Capacity Reservation reserves capacity.

InstanceUsages
Type: Array of InstanceUsage structures

Information about the Capacity Reservation usage.

NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

State
Type: string

The current state of the Capacity Reservation. A Capacity Reservation can be in one of the following states:

  • active - The Capacity Reservation is active and the capacity is available for your use.

  • expired - The Capacity Reservation expired automatically at the date and time specified in your request. The reserved capacity is no longer available for your use.

  • cancelled - The Capacity Reservation was cancelled. The reserved capacity is no longer available for your use.

  • pending - The Capacity Reservation request was successful but the capacity provisioning is still pending.

  • failed - The Capacity Reservation request has failed. A request might fail due to invalid request parameters, capacity constraints, or instance limit constraints. Failed requests are retained for 60 minutes.

TotalInstanceCount
Type: int

The number of instances for which the Capacity Reservation reserves capacity.

Errors

There are no errors described for this operation.

GetCoipPoolUsage

$result = $client->getCoipPoolUsage([/* ... */]);
$promise = $client->getCoipPoolUsageAsync([/* ... */]);

Describes the allocations from the specified customer-owned address pool.

Parameter Syntax

$result = $client->getCoipPoolUsage([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'PoolId' => '<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.

Filters
Type: Array of Filter structures

One or more filters.

  • coip-address-usage.allocation-id - The allocation ID of the address.

  • coip-address-usage.aws-account-id - The ID of the Amazon Web Services account that is using the customer-owned IP address.

  • coip-address-usage.aws-service - The Amazon Web Services service that is using the customer-owned IP address.

  • coip-address-usage.co-ip - The customer-owned IP address.

MaxResults
Type: int

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

NextToken
Type: string

The token for the next page of results.

PoolId
Required: Yes
Type: string

The ID of the address pool.

Result Syntax

[
    'CoipAddressUsages' => [
        [
            'AllocationId' => '<string>',
            'AwsAccountId' => '<string>',
            'AwsService' => '<string>',
            'CoIp' => '<string>',
        ],
        // ...
    ],
    'CoipPoolId' => '<string>',
    'LocalGatewayRouteTableId' => '<string>',
    'NextToken' => '<string>',
]

Result Details

Members
CoipAddressUsages
Type: Array of CoipAddressUsage structures

Information about the address usage.

CoipPoolId
Type: string

The ID of the customer-owned address pool.

LocalGatewayRouteTableId
Type: string

The ID of the local gateway route table.

NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

Errors

There are no errors described for this operation.

GetConsoleOutput

$result = $client->getConsoleOutput([/* ... */]);
$promise = $client->getConsoleOutputAsync([/* ... */]);

Gets the console output for the specified instance. For Linux instances, the instance console output displays the exact console output that would normally be displayed on a physical monitor attached to a computer. For Windows instances, the instance console output includes the last three system event log errors.

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

Parameter Syntax

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

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.

Latest
Type: boolean

When enabled, retrieves the latest console output for the instance.

Default: disabled (false)

Result Syntax

[
    'InstanceId' => '<string>',
    'Output' => '<string>',
    'Timestamp' => <DateTime>,
]

Result Details

Members
InstanceId
Type: string

The ID of the instance.

Output
Type: string

The console output, base64-encoded. If you are using a command line tool, the tool decodes the output for you.

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

The time at which the output was last updated.

Errors

There are no errors described for this operation.

Examples

Example 1: To get the console output

This example gets the console output for the specified instance.

$result = $client->getConsoleOutput([
    'InstanceId' => 'i-1234567890abcdef0',
]);

Result syntax:

[
    'InstanceId' => 'i-1234567890abcdef0',
    'Output' => '...',
    'Timestamp' => ,
]

GetConsoleScreenshot

$result = $client->getConsoleScreenshot([/* ... */]);
$promise = $client->getConsoleScreenshotAsync([/* ... */]);

Retrieve a JPG-format screenshot of a running instance to help with troubleshooting.

The returned content is Base64-encoded.

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

Parameter Syntax

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

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.

WakeUp
Type: boolean

When set to true, acts as keystroke input and wakes up an instance that's in standby or "sleep" mode.

Result Syntax

[
    'ImageData' => '<string>',
    'InstanceId' => '<string>',
]

Result Details

Members
ImageData
Type: string

The data that comprises the image.

InstanceId
Type: string

The ID of the instance.

Errors

There are no errors described for this operation.

GetDefaultCreditSpecification

$result = $client->getDefaultCreditSpecification([/* ... */]);
$promise = $client->getDefaultCreditSpecificationAsync([/* ... */]);

Describes the default credit option for CPU usage of a burstable performance instance family.

For more information, see Burstable performance instances in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->getDefaultCreditSpecification([
    'DryRun' => true || false,
    'InstanceFamily' => 't2|t3|t3a|t4g', // 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.

InstanceFamily
Required: Yes
Type: string

The instance family.

Result Syntax

[
    'InstanceFamilyCreditSpecification' => [
        'CpuCredits' => '<string>',
        'InstanceFamily' => 't2|t3|t3a|t4g',
    ],
]

Result Details

Members
InstanceFamilyCreditSpecification

The default credit option for CPU usage of the instance family.

Errors

There are no errors described for this operation.

GetEbsDefaultKmsKeyId

$result = $client->getEbsDefaultKmsKeyId([/* ... */]);
$promise = $client->getEbsDefaultKmsKeyIdAsync([/* ... */]);

Describes the default KMS key for EBS encryption by default for your account in this Region. You can change the default KMS key for encryption by default using ModifyEbsDefaultKmsKeyId or ResetEbsDefaultKmsKeyId.

For more information, see Amazon EBS encryption in the Amazon EBS User Guide.

Parameter Syntax

$result = $client->getEbsDefaultKmsKeyId([
    '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

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

Result Details

Members
KmsKeyId
Type: string

The Amazon Resource Name (ARN) of the default KMS key for encryption by default.

Errors

There are no errors described for this operation.

GetEbsEncryptionByDefault

$result = $client->getEbsEncryptionByDefault([/* ... */]);
$promise = $client->getEbsEncryptionByDefaultAsync([/* ... */]);

Describes whether EBS encryption by default is enabled for your account in the current Region.

For more information, see Amazon EBS encryption in the Amazon EBS User Guide.

Parameter Syntax

$result = $client->getEbsEncryptionByDefault([
    '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

[
    'EbsEncryptionByDefault' => true || false,
    'SseType' => 'sse-ebs|sse-kms|none',
]

Result Details

Members
EbsEncryptionByDefault
Type: boolean

Indicates whether encryption by default is enabled.

SseType
Type: string

Reserved for future use.

Errors

There are no errors described for this operation.

GetFlowLogsIntegrationTemplate

$result = $client->getFlowLogsIntegrationTemplate([/* ... */]);
$promise = $client->getFlowLogsIntegrationTemplateAsync([/* ... */]);

Generates a CloudFormation template that streamlines and automates the integration of VPC flow logs with Amazon Athena. This make it easier for you to query and gain insights from VPC flow logs data. Based on the information that you provide, we configure resources in the template to do the following:

  • Create a table in Athena that maps fields to a custom log format

  • Create a Lambda function that updates the table with new partitions on a daily, weekly, or monthly basis

  • Create a table partitioned between two timestamps in the past

  • Create a set of named queries in Athena that you can use to get started quickly

GetFlowLogsIntegrationTemplate does not support integration between Amazon Web Services Transit Gateway Flow Logs and Amazon Athena.

Parameter Syntax

$result = $client->getFlowLogsIntegrationTemplate([
    'ConfigDeliveryS3DestinationArn' => '<string>', // REQUIRED
    'DryRun' => true || false,
    'FlowLogId' => '<string>', // REQUIRED
    'IntegrateServices' => [ // REQUIRED
        'AthenaIntegrations' => [
            [
                'IntegrationResultS3DestinationArn' => '<string>', // REQUIRED
                'PartitionEndDate' => <integer || string || DateTime>,
                'PartitionLoadFrequency' => 'none|daily|weekly|monthly', // REQUIRED
                'PartitionStartDate' => <integer || string || DateTime>,
            ],
            // ...
        ],
    ],
]);

Parameter Details

Members
ConfigDeliveryS3DestinationArn
Required: Yes
Type: string

To store the CloudFormation template in Amazon S3, specify the location in Amazon S3.

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.

FlowLogId
Required: Yes
Type: string

The ID of the flow log.

IntegrateServices
Required: Yes
Type: IntegrateServices structure

Information about the service integration.

Result Syntax

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

Result Details

Members
Result
Type: string

The generated CloudFormation template.

Errors

There are no errors described for this operation.

GetGroupsForCapacityReservation

$result = $client->getGroupsForCapacityReservation([/* ... */]);
$promise = $client->getGroupsForCapacityReservationAsync([/* ... */]);

Lists the resource groups to which a Capacity Reservation has been added.

Parameter Syntax

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

Parameter Details

Members
CapacityReservationId
Required: Yes
Type: string

The ID of the Capacity Reservation. If you specify a Capacity Reservation that is shared with you, the operation returns only Capacity Reservation groups that you own.

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.

MaxResults
Type: int

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

NextToken
Type: string

The token to use to retrieve the next page of results.

Result Syntax

[
    'CapacityReservationGroups' => [
        [
            'GroupArn' => '<string>',
            'OwnerId' => '<string>',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
CapacityReservationGroups
Type: Array of CapacityReservationGroup structures

Information about the resource groups to which the Capacity Reservation has been added.

NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

Errors

There are no errors described for this operation.

GetHostReservationPurchasePreview

$result = $client->getHostReservationPurchasePreview([/* ... */]);
$promise = $client->getHostReservationPurchasePreviewAsync([/* ... */]);

Preview a reservation purchase with configurations that match those of your Dedicated Host. You must have active Dedicated Hosts in your account before you purchase a reservation.

This is a preview of the PurchaseHostReservation action and does not result in the offering being purchased.

Parameter Syntax

$result = $client->getHostReservationPurchasePreview([
    'HostIdSet' => ['<string>', ...], // REQUIRED
    'OfferingId' => '<string>', // REQUIRED
]);

Parameter Details

Members
HostIdSet
Required: Yes
Type: Array of strings

The IDs of the Dedicated Hosts with which the reservation is associated.

OfferingId
Required: Yes
Type: string

The offering ID of the reservation.

Result Syntax

[
    'CurrencyCode' => 'USD',
    'Purchase' => [
        [
            'CurrencyCode' => 'USD',
            'Duration' => <integer>,
            'HostIdSet' => ['<string>', ...],
            'HostReservationId' => '<string>',
            'HourlyPrice' => '<string>',
            'InstanceFamily' => '<string>',
            'PaymentOption' => 'AllUpfront|PartialUpfront|NoUpfront',
            'UpfrontPrice' => '<string>',
        ],
        // ...
    ],
    'TotalHourlyPrice' => '<string>',
    'TotalUpfrontPrice' => '<string>',
]

Result Details

Members
CurrencyCode
Type: string

The currency in which the totalUpfrontPrice and totalHourlyPrice amounts are specified. At this time, the only supported currency is USD.

Purchase
Type: Array of Purchase structures

The purchase information of the Dedicated Host reservation and the Dedicated Hosts associated with it.

TotalHourlyPrice
Type: string

The potential total hourly price of the reservation per hour.

TotalUpfrontPrice
Type: string

The potential total upfront price. This is billed immediately.

Errors

There are no errors described for this operation.

GetImageBlockPublicAccessState

$result = $client->getImageBlockPublicAccessState([/* ... */]);
$promise = $client->getImageBlockPublicAccessStateAsync([/* ... */]);

Gets the current state of block public access for AMIs at the account level in the specified Amazon Web Services Region.

For more information, see Block public access to your AMIs in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->getImageBlockPublicAccessState([
    '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

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

Result Details

Members
ImageBlockPublicAccessState
Type: string

The current state of block public access for AMIs at the account level in the specified Amazon Web Services Region.

Possible values:

  • block-new-sharing - Any attempt to publicly share your AMIs in the specified Region is blocked.

  • unblocked - Your AMIs in the specified Region can be publicly shared.

Errors

There are no errors described for this operation.

GetInstanceMetadataDefaults

$result = $client->getInstanceMetadataDefaults([/* ... */]);
$promise = $client->getInstanceMetadataDefaultsAsync([/* ... */]);

Gets the default instance metadata service (IMDS) settings that are set at the account level in the specified Amazon Web Services
 Region.

For more information, see Order of precedence for instance metadata options in the Amazon EC2 User Guide.

Parameter Syntax

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

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.

Result Syntax

[
    'AccountLevel' => [
        'HttpEndpoint' => 'disabled|enabled',
        'HttpPutResponseHopLimit' => <integer>,
        'HttpTokens' => 'optional|required',
        'InstanceMetadataTags' => 'disabled|enabled',
    ],
]

Result Details

Members
AccountLevel

The account-level default IMDS settings.

Errors

There are no errors described for this operation.

GetInstanceTpmEkPub

$result = $client->getInstanceTpmEkPub([/* ... */]);
$promise = $client->getInstanceTpmEkPubAsync([/* ... */]);

Gets the public endorsement key associated with the Nitro Trusted Platform Module (NitroTPM) for the specified instance.

Parameter Syntax

$result = $client->getInstanceTpmEkPub([
    'DryRun' => true || false,
    'InstanceId' => '<string>', // REQUIRED
    'KeyFormat' => 'der|tpmt', // REQUIRED
    'KeyType' => 'rsa-2048|ecc-sec-p384', // REQUIRED
]);

Parameter Details

Members
DryRun
Type: boolean

Specify this parameter to verify whether the request will succeed, without actually making the request. If the request will succeed, the response is DryRunOperation. Otherwise, the response is UnauthorizedOperation.

InstanceId
Required: Yes
Type: string

The ID of the instance for which to get the public endorsement key.

KeyFormat
Required: Yes
Type: string

The required public endorsement key format. Specify der for a DER-encoded public key that is compatible with OpenSSL. Specify tpmt for a TPM 2.0 format that is compatible with tpm2-tools. The returned key is base64 encoded.

KeyType
Required: Yes
Type: string

The required public endorsement key type.

Result Syntax

[
    'InstanceId' => '<string>',
    'KeyFormat' => 'der|tpmt',
    'KeyType' => 'rsa-2048|ecc-sec-p384',
    'KeyValue' => '<string>',
]

Result Details

Members
InstanceId
Type: string

The ID of the instance.

KeyFormat
Type: string

The public endorsement key format.

KeyType
Type: string

The public endorsement key type.

KeyValue
Type: string

The public endorsement key material.

Errors

There are no errors described for this operation.

GetInstanceTypesFromInstanceRequirements

$result = $client->getInstanceTypesFromInstanceRequirements([/* ... */]);
$promise = $client->getInstanceTypesFromInstanceRequirementsAsync([/* ... */]);

Returns a list of instance types with the specified instance attributes. You can use the response to preview the instance types without launching instances. Note that the response does not consider capacity.

When you specify multiple parameters, you get instance types that satisfy all of the specified parameters. If you specify multiple values for a parameter, you get instance types that satisfy any of the specified values.

For more information, see Preview instance types with specified attributes, Specify attributes for instance type selection for EC2 Fleet or Spot Fleet, and Spot placement score in the Amazon EC2 User Guide, and Creating mixed instance groups using attribute-based instance type selection in the Amazon EC2 Auto Scaling User Guide.

Parameter Syntax

$result = $client->getInstanceTypesFromInstanceRequirements([
    'ArchitectureTypes' => ['<string>', ...], // REQUIRED
    'DryRun' => true || false,
    'InstanceRequirements' => [ // REQUIRED
        '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>,
        ],
        '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
        ],
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'VirtualizationTypes' => ['<string>', ...], // REQUIRED
]);

Parameter Details

Members
ArchitectureTypes
Required: Yes
Type: Array of strings

The processor architecture type.

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.

InstanceRequirements
Required: Yes
Type: InstanceRequirementsRequest structure

The attributes required for the instance types.

MaxResults
Type: int

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

NextToken
Type: string

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

VirtualizationTypes
Required: Yes
Type: Array of strings

The virtualization type.

Result Syntax

[
    'InstanceTypes' => [
        [
            'InstanceType' => '<string>',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
InstanceTypes
Type: Array of InstanceTypeInfoFromInstanceRequirements structures

The instance types with the specified instance attributes.

NextToken
Type: string

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

Errors

There are no errors described for this operation.

GetInstanceUefiData

$result = $client->getInstanceUefiData([/* ... */]);
$promise = $client->getInstanceUefiDataAsync([/* ... */]);

A binary representation of the UEFI variable store. Only non-volatile variables are stored. This is a base64 encoded and zlib compressed binary value that must be properly encoded.

When you use register-image to create an AMI, you can create an exact copy of your variable store by passing the UEFI data in the UefiData parameter. You can modify the UEFI data by using the python-uefivars tool on GitHub. You can use the tool to convert the UEFI data into a human-readable format (JSON), which you can inspect and modify, and then convert back into the binary format to use with register-image.

For more information, see UEFI Secure Boot in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->getInstanceUefiData([
    'DryRun' => true || false,
    'InstanceId' => '<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 from which to retrieve the UEFI data.

Result Syntax

[
    'InstanceId' => '<string>',
    'UefiData' => '<string>',
]

Result Details

Members
InstanceId
Type: string

The ID of the instance from which to retrieve the UEFI data.

UefiData
Type: string

Base64 representation of the non-volatile UEFI variable store.

Errors

There are no errors described for this operation.

GetIpamAddressHistory

$result = $client->getIpamAddressHistory([/* ... */]);
$promise = $client->getIpamAddressHistoryAsync([/* ... */]);

Retrieve historical information about a CIDR within an IPAM scope. For more information, see View the history of IP addresses in the Amazon VPC IPAM User Guide.

Parameter Syntax

$result = $client->getIpamAddressHistory([
    'Cidr' => '<string>', // REQUIRED
    'DryRun' => true || false,
    'EndTime' => <integer || string || DateTime>,
    'IpamScopeId' => '<string>', // REQUIRED
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'StartTime' => <integer || string || DateTime>,
    'VpcId' => '<string>',
]);

Parameter Details

Members
Cidr
Required: Yes
Type: string

The CIDR you want the history of. The CIDR can be an IPv4 or IPv6 IP address range. If you enter a /16 IPv4 CIDR, you will get records that match it exactly. You will not get records for any subnets within the /16 CIDR.

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.

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

The end of the time period for which you are looking for history. If you omit this option, it will default to the current time.

IpamScopeId
Required: Yes
Type: string

The ID of the IPAM scope that the CIDR is in.

MaxResults
Type: int

The maximum number of historical results you would like returned per page. Defaults to 100.

NextToken
Type: string

The token for the next page of results.

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

The start of the time period for which you are looking for history. If you omit this option, it will default to the value of EndTime.

VpcId
Type: string

The ID of the VPC you want your history records filtered by.

Result Syntax

[
    'HistoryRecords' => [
        [
            'ResourceCidr' => '<string>',
            'ResourceComplianceStatus' => 'compliant|noncompliant|unmanaged|ignored',
            'ResourceId' => '<string>',
            'ResourceName' => '<string>',
            'ResourceOverlapStatus' => 'overlapping|nonoverlapping|ignored',
            'ResourceOwnerId' => '<string>',
            'ResourceRegion' => '<string>',
            'ResourceType' => 'eip|vpc|subnet|network-interface|instance',
            'SampledEndTime' => <DateTime>,
            'SampledStartTime' => <DateTime>,
            'VpcId' => '<string>',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
HistoryRecords
Type: Array of IpamAddressHistoryRecord structures

A historical record for a CIDR within an IPAM scope. If the CIDR is associated with an EC2 instance, you will see an object in the response for the instance and one for the network interface.

NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

Errors

There are no errors described for this operation.

GetIpamDiscoveredAccounts

$result = $client->getIpamDiscoveredAccounts([/* ... */]);
$promise = $client->getIpamDiscoveredAccountsAsync([/* ... */]);

Gets IPAM discovered accounts. A discovered account is an Amazon Web Services account that is monitored under a resource discovery. If you have integrated IPAM with Amazon Web Services Organizations, all accounts in the organization are discovered accounts. Only the IPAM account can get all discovered accounts in the organization.

Parameter Syntax

$result = $client->getIpamDiscoveredAccounts([
    'DiscoveryRegion' => '<string>', // REQUIRED
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'IpamResourceDiscoveryId' => '<string>', // REQUIRED
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
DiscoveryRegion
Required: Yes
Type: string

The Amazon Web Services Region that the account information is returned from.

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.

Filters
Type: Array of Filter structures

Discovered account filters.

IpamResourceDiscoveryId
Required: Yes
Type: string

A resource discovery ID.

MaxResults
Type: int

The maximum number of discovered accounts to return in one page of results.

NextToken
Type: string

Specify the pagination token from a previous request to retrieve the next page of results.

Result Syntax

[
    'IpamDiscoveredAccounts' => [
        [
            'AccountId' => '<string>',
            'DiscoveryRegion' => '<string>',
            'FailureReason' => [
                'Code' => 'assume-role-failure|throttling-failure|unauthorized-failure',
                'Message' => '<string>',
            ],
            'LastAttemptedDiscoveryTime' => <DateTime>,
            'LastSuccessfulDiscoveryTime' => <DateTime>,
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
IpamDiscoveredAccounts
Type: Array of IpamDiscoveredAccount structures

Discovered accounts.

NextToken
Type: string

Specify the pagination token from a previous request to retrieve the next page of results.

Errors

There are no errors described for this operation.

GetIpamDiscoveredPublicAddresses

$result = $client->getIpamDiscoveredPublicAddresses([/* ... */]);
$promise = $client->getIpamDiscoveredPublicAddressesAsync([/* ... */]);

Gets the public IP addresses that have been discovered by IPAM.

Parameter Syntax

$result = $client->getIpamDiscoveredPublicAddresses([
    'AddressRegion' => '<string>', // REQUIRED
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'IpamResourceDiscoveryId' => '<string>', // REQUIRED
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
AddressRegion
Required: Yes
Type: string

The Amazon Web Services Region for the IP address.

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.

Filters
Type: Array of Filter structures

Filters.

IpamResourceDiscoveryId
Required: Yes
Type: string

An IPAM resource discovery ID.

MaxResults
Type: int

The maximum number of IPAM discovered public addresses to return in one page of results.

NextToken
Type: string

The token for the next page of results.

Result Syntax

[
    'IpamDiscoveredPublicAddresses' => [
        [
            'Address' => '<string>',
            'AddressAllocationId' => '<string>',
            'AddressOwnerId' => '<string>',
            'AddressRegion' => '<string>',
            'AddressType' => 'service-managed-ip|service-managed-byoip|amazon-owned-eip|amazon-owned-contig|byoip|ec2-public-ip',
            'AssociationStatus' => 'associated|disassociated',
            'InstanceId' => '<string>',
            'IpamResourceDiscoveryId' => '<string>',
            'NetworkBorderGroup' => '<string>',
            'NetworkInterfaceDescription' => '<string>',
            'NetworkInterfaceId' => '<string>',
            'PublicIpv4PoolId' => '<string>',
            'SampleTime' => <DateTime>,
            'SecurityGroups' => [
                [
                    'GroupId' => '<string>',
                    'GroupName' => '<string>',
                ],
                // ...
            ],
            'Service' => 'nat-gateway|database-migration-service|redshift|elastic-container-service|relational-database-service|site-to-site-vpn|load-balancer|global-accelerator|other',
            'ServiceResource' => '<string>',
            'SubnetId' => '<string>',
            'Tags' => [
                'EipTags' => [
                    [
                        'Key' => '<string>',
                        'Value' => '<string>',
                    ],
                    // ...
                ],
            ],
            'VpcId' => '<string>',
        ],
        // ...
    ],
    'NextToken' => '<string>',
    'OldestSampleTime' => <DateTime>,
]

Result Details

Members
IpamDiscoveredPublicAddresses
Type: Array of IpamDiscoveredPublicAddress structures

IPAM discovered public addresses.

NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

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

The oldest successful resource discovery time.

Errors

There are no errors described for this operation.

GetIpamDiscoveredResourceCidrs

$result = $client->getIpamDiscoveredResourceCidrs([/* ... */]);
$promise = $client->getIpamDiscoveredResourceCidrsAsync([/* ... */]);

Returns the resource CIDRs that are monitored as part of a resource discovery. A discovered resource is a resource CIDR monitored under a resource discovery. The following resources can be discovered: VPCs, Public IPv4 pools, VPC subnets, and Elastic IP addresses.

Parameter Syntax

$result = $client->getIpamDiscoveredResourceCidrs([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'IpamResourceDiscoveryId' => '<string>', // REQUIRED
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'ResourceRegion' => '<string>', // REQUIRED
]);

Parameter Details

Members
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.

Filters
Type: Array of Filter structures

Filters.

IpamResourceDiscoveryId
Required: Yes
Type: string

A resource discovery ID.

MaxResults
Type: int

The maximum number of discovered resource CIDRs to return in one page of results.

NextToken
Type: string

Specify the pagination token from a previous request to retrieve the next page of results.

ResourceRegion
Required: Yes
Type: string

A resource Region.

Result Syntax

[
    'IpamDiscoveredResourceCidrs' => [
        [
            'AvailabilityZoneId' => '<string>',
            'IpSource' => 'amazon|byoip|none',
            'IpUsage' => <float>,
            'IpamResourceDiscoveryId' => '<string>',
            'NetworkInterfaceAttachmentStatus' => 'available|in-use',
            'ResourceCidr' => '<string>',
            'ResourceId' => '<string>',
            'ResourceOwnerId' => '<string>',
            'ResourceRegion' => '<string>',
            'ResourceTags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'ResourceType' => 'vpc|subnet|eip|public-ipv4-pool|ipv6-pool|eni',
            'SampleTime' => <DateTime>,
            'SubnetId' => '<string>',
            'VpcId' => '<string>',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
IpamDiscoveredResourceCidrs
Type: Array of IpamDiscoveredResourceCidr structures

Discovered resource CIDRs.

NextToken
Type: string

Specify the pagination token from a previous request to retrieve the next page of results.

Errors

There are no errors described for this operation.

GetIpamPoolAllocations

$result = $client->getIpamPoolAllocations([/* ... */]);
$promise = $client->getIpamPoolAllocationsAsync([/* ... */]);

Get a list of all the CIDR allocations in 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.

If you use this action after AllocateIpamPoolCidr or ReleaseIpamPoolAllocation, note that all EC2 API actions follow an eventual consistency model.

Parameter Syntax

$result = $client->getIpamPoolAllocations([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'IpamPoolAllocationId' => '<string>',
    'IpamPoolId' => '<string>', // REQUIRED
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
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.

Filters
Type: Array of Filter structures

One or more filters for the request. For more information about filtering, see Filtering CLI output.

IpamPoolAllocationId
Type: string

The ID of the allocation.

IpamPoolId
Required: Yes
Type: string

The ID of the IPAM pool you want to see the allocations for.

MaxResults
Type: int

The maximum number of results you would like returned per page.

NextToken
Type: string

The token for the next page of results.

Result Syntax

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

Result Details

Members
IpamPoolAllocations
Type: Array of IpamPoolAllocation structures

The IPAM pool allocations you want information on.

NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

Errors

There are no errors described for this operation.

GetIpamPoolCidrs

$result = $client->getIpamPoolCidrs([/* ... */]);
$promise = $client->getIpamPoolCidrsAsync([/* ... */]);

Get the CIDRs provisioned to an IPAM pool.

Parameter Syntax

$result = $client->getIpamPoolCidrs([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'IpamPoolId' => '<string>', // REQUIRED
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
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.

Filters
Type: Array of Filter structures

One or more filters for the request. For more information about filtering, see Filtering CLI output.

IpamPoolId
Required: Yes
Type: string

The ID of the IPAM pool you want the CIDR for.

MaxResults
Type: int

The maximum number of results to return in the request.

NextToken
Type: string

The token for the next page of results.

Result Syntax

[
    'IpamPoolCidrs' => [
        [
            'Cidr' => '<string>',
            'FailureReason' => [
                'Code' => 'cidr-not-available|limit-exceeded',
                'Message' => '<string>',
            ],
            'IpamPoolCidrId' => '<string>',
            'NetmaskLength' => <integer>,
            'State' => 'pending-provision|provisioned|failed-provision|pending-deprovision|deprovisioned|failed-deprovision|pending-import|failed-import',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
IpamPoolCidrs
Type: Array of IpamPoolCidr structures

Information about the CIDRs provisioned to an IPAM pool.

NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

Errors

There are no errors described for this operation.

GetIpamResourceCidrs

$result = $client->getIpamResourceCidrs([/* ... */]);
$promise = $client->getIpamResourceCidrsAsync([/* ... */]);

Returns resource CIDRs managed by IPAM in a given scope. If an IPAM is associated with more than one resource discovery, the resource CIDRs across all of the resource discoveries is returned. 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->getIpamResourceCidrs([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'IpamPoolId' => '<string>',
    'IpamScopeId' => '<string>', // REQUIRED
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'ResourceId' => '<string>',
    'ResourceOwner' => '<string>',
    'ResourceTag' => [
        'Key' => '<string>',
        'Value' => '<string>',
    ],
    'ResourceType' => 'vpc|subnet|eip|public-ipv4-pool|ipv6-pool|eni',
]);

Parameter Details

Members
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.

Filters
Type: Array of Filter structures

One or more filters for the request. For more information about filtering, see Filtering CLI output.

IpamPoolId
Type: string

The ID of the IPAM pool that the resource is in.

IpamScopeId
Required: Yes
Type: string

The ID of the scope that the resource is in.

MaxResults
Type: int

The maximum number of results to return in the request.

NextToken
Type: string

The token for the next page of results.

ResourceId
Type: string

The ID of the resource.

ResourceOwner
Type: string

The ID of the Amazon Web Services account that owns the resource.

ResourceTag
Type: RequestIpamResourceTag structure

The resource tag.

ResourceType
Type: string

The resource type.

Result Syntax

[
    'IpamResourceCidrs' => [
        [
            'AvailabilityZoneId' => '<string>',
            'ComplianceStatus' => 'compliant|noncompliant|unmanaged|ignored',
            'IpUsage' => <float>,
            'IpamId' => '<string>',
            'IpamPoolId' => '<string>',
            'IpamScopeId' => '<string>',
            'ManagementState' => 'managed|unmanaged|ignored',
            'OverlapStatus' => 'overlapping|nonoverlapping|ignored',
            'ResourceCidr' => '<string>',
            'ResourceId' => '<string>',
            'ResourceName' => '<string>',
            'ResourceOwnerId' => '<string>',
            'ResourceRegion' => '<string>',
            'ResourceTags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'ResourceType' => 'vpc|subnet|eip|public-ipv4-pool|ipv6-pool|eni',
            'VpcId' => '<string>',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
IpamResourceCidrs
Type: Array of IpamResourceCidr structures

The resource CIDRs.

NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

Errors

There are no errors described for this operation.

GetLaunchTemplateData

$result = $client->getLaunchTemplateData([/* ... */]);
$promise = $client->getLaunchTemplateDataAsync([/* ... */]);

Retrieves the configuration data of the specified instance. You can use this data to create a launch template.

This action calls on other describe actions to get instance information. Depending on your instance configuration, you may need to allow the following actions in your IAM policy: DescribeSpotInstanceRequests, DescribeInstanceCreditSpecifications, DescribeVolumes, and DescribeInstanceAttribute. Or, you can allow describe* depending on your instance requirements.

Parameter Syntax

$result = $client->getLaunchTemplateData([
    'DryRun' => true || false,
    'InstanceId' => '<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.

InstanceId
Required: Yes
Type: string

The ID of the instance.

Result Syntax

[
    'LaunchTemplateData' => [
        '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' => 'open|none',
            'CapacityReservationTarget' => [
                'CapacityReservationId' => '<string>',
                'CapacityReservationResourceGroupArn' => '<string>',
            ],
        ],
        'CpuOptions' => [
            'AmdSevSnp' => 'enabled|disabled',
            'CoreCount' => <integer>,
            'ThreadsPerCore' => <integer>,
        ],
        'CreditSpecification' => [
            'CpuCredits' => '<string>',
        ],
        'DisableApiStop' => true || false,
        'DisableApiTermination' => true || false,
        'EbsOptimized' => true || false,
        'ElasticGpuSpecifications' => [
            [
                'Type' => '<string>',
            ],
            // ...
        ],
        'ElasticInferenceAccelerators' => [
            [
                'Count' => <integer>,
                'Type' => '<string>',
            ],
            // ...
        ],
        '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' => <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>,
            ],
            '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',
        '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',
            'State' => 'pending|applied',
        ],
        '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>',
                        'IsPrimaryIpv6' => true || false,
                    ],
                    // ...
                ],
                'Ipv6PrefixCount' => <integer>,
                'Ipv6Prefixes' => [
                    [
                        'Ipv6Prefix' => '<string>',
                    ],
                    // ...
                ],
                'NetworkCardIndex' => <integer>,
                'NetworkInterfaceId' => '<string>',
                'PrimaryIpv6' => true || false,
                'PrivateIpAddress' => '<string>',
                'PrivateIpAddresses' => [
                    [
                        'Primary' => true || false,
                        'PrivateIpAddress' => '<string>',
                    ],
                    // ...
                ],
                'SecondaryPrivateIpAddressCount' => <integer>,
                'SubnetId' => '<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>',
    ],
]

Result Details

Members
LaunchTemplateData
Type: ResponseLaunchTemplateData structure

The instance data.

Errors

There are no errors described for this operation.

Examples

Example 1: To get the launch template data for an instance

This example gets the launch template data for the specified instance.

$result = $client->getLaunchTemplateData([
    'InstanceId' => '0123d646e8048babc',
]);

Result syntax:

[
    'LaunchTemplateData' => [
        'BlockDeviceMappings' => [
            [
                'DeviceName' => '/dev/xvda',
                'Ebs' => [
                    'DeleteOnTermination' => 1,
                    'Encrypted' => ,
                    'Iops' => 100,
                    'SnapshotId' => 'snap-02594938353ef77d3',
                    'VolumeSize' => 8,
                    'VolumeType' => 'gp2',
                ],
            ],
        ],
        'EbsOptimized' => ,
        'ImageId' => 'ami-32cf7b4a',
        'InstanceType' => 't2.medium',
        'KeyName' => 'my-key-pair',
        'Monitoring' => [
            'Enabled' => ,
        ],
        'NetworkInterfaces' => [
            [
                'AssociatePublicIpAddress' => ,
                'DeleteOnTermination' => 1,
                'Description' => '',
                'DeviceIndex' => 0,
                'Groups' => [
                    'sg-d14e1bb4',
                ],
                'Ipv6Addresses' => [
                ],
                'NetworkInterfaceId' => 'eni-4338b5a9',
                'PrivateIpAddress' => '10.0.3.233',
                'PrivateIpAddresses' => [
                    [
                        'Primary' => 1,
                        'PrivateIpAddress' => '10.0.3.233',
                    ],
                ],
                'SubnetId' => 'subnet-5264e837',
            ],
        ],
        'Placement' => [
            'AvailabilityZone' => 'us-east-2b',
            'GroupName' => '',
            'Tenancy' => 'default',
        ],
    ],
]

GetManagedPrefixListAssociations

$result = $client->getManagedPrefixListAssociations([/* ... */]);
$promise = $client->getManagedPrefixListAssociationsAsync([/* ... */]);

Gets information about the resources that are associated with the specified managed prefix list.

Parameter Syntax

$result = $client->getManagedPrefixListAssociations([
    'DryRun' => true || false,
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'PrefixListId' => '<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.

MaxResults
Type: int

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

NextToken
Type: string

The token for the next page of results.

PrefixListId
Required: Yes
Type: string

The ID of the prefix list.

Result Syntax

[
    'NextToken' => '<string>',
    'PrefixListAssociations' => [
        [
            'ResourceId' => '<string>',
            'ResourceOwner' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

PrefixListAssociations
Type: Array of PrefixListAssociation structures

Information about the associations.

Errors

There are no errors described for this operation.

GetManagedPrefixListEntries

$result = $client->getManagedPrefixListEntries([/* ... */]);
$promise = $client->getManagedPrefixListEntriesAsync([/* ... */]);

Gets information about the entries for a specified managed prefix list.

Parameter Syntax

$result = $client->getManagedPrefixListEntries([
    'DryRun' => true || false,
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'PrefixListId' => '<string>', // REQUIRED
    'TargetVersion' => <integer>,
]);

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.

MaxResults
Type: int

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

NextToken
Type: string

The token for the next page of results.

PrefixListId
Required: Yes
Type: string

The ID of the prefix list.

TargetVersion
Type: long (int|float)

The version of the prefix list for which to return the entries. The default is the current version.

Result Syntax

[
    'Entries' => [
        [
            'Cidr' => '<string>',
            'Description' => '<string>',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
Entries
Type: Array of PrefixListEntry structures

Information about the prefix list entries.

NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

Errors

There are no errors described for this operation.

GetNetworkInsightsAccessScopeAnalysisFindings

$result = $client->getNetworkInsightsAccessScopeAnalysisFindings([/* ... */]);
$promise = $client->getNetworkInsightsAccessScopeAnalysisFindingsAsync([/* ... */]);

Gets the findings for the specified Network Access Scope analysis.

Parameter Syntax

$result = $client->getNetworkInsightsAccessScopeAnalysisFindings([
    'DryRun' => true || false,
    'MaxResults' => <integer>,
    'NetworkInsightsAccessScopeAnalysisId' => '<string>', // REQUIRED
    'NextToken' => '<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.

MaxResults
Type: int

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

NetworkInsightsAccessScopeAnalysisId
Required: Yes
Type: string

The ID of the Network Access Scope analysis.

NextToken
Type: string

The token for the next page of results.

Result Syntax

[
    'AnalysisFindings' => [
        [
            'FindingComponents' => [
                [
                    'AclRule' => [
                        'Cidr' => '<string>',
                        'Egress' => true || false,
                        'PortRange' => [
                            'From' => <integer>,
                            'To' => <integer>,
                        ],
                        'Protocol' => '<string>',
                        'RuleAction' => '<string>',
                        'RuleNumber' => <integer>,
                    ],
                    'AdditionalDetails' => [
                        [
                            'AdditionalDetailType' => '<string>',
                            'Component' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'LoadBalancers' => [
                                [
                                    'Arn' => '<string>',
                                    'Id' => '<string>',
                                    'Name' => '<string>',
                                ],
                                // ...
                            ],
                            'RuleGroupRuleOptionsPairs' => [
                                [
                                    'RuleGroupArn' => '<string>',
                                    'RuleOptions' => [
                                        [
                                            'Keyword' => '<string>',
                                            'Settings' => ['<string>', ...],
                                        ],
                                        // ...
                                    ],
                                ],
                                // ...
                            ],
                            'RuleGroupTypePairs' => [
                                [
                                    'RuleGroupArn' => '<string>',
                                    'RuleGroupType' => '<string>',
                                ],
                                // ...
                            ],
                            'RuleOptions' => [
                                [
                                    'Keyword' => '<string>',
                                    'Settings' => ['<string>', ...],
                                ],
                                // ...
                            ],
                            'ServiceName' => '<string>',
                            'VpcEndpointService' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                        ],
                        // ...
                    ],
                    'AttachedTo' => [
                        'Arn' => '<string>',
                        'Id' => '<string>',
                        'Name' => '<string>',
                    ],
                    'Component' => [
                        'Arn' => '<string>',
                        'Id' => '<string>',
                        'Name' => '<string>',
                    ],
                    'DestinationVpc' => [
                        'Arn' => '<string>',
                        'Id' => '<string>',
                        'Name' => '<string>',
                    ],
                    'ElasticLoadBalancerListener' => [
                        'Arn' => '<string>',
                        'Id' => '<string>',
                        'Name' => '<string>',
                    ],
                    'Explanations' => [
                        [
                            'Acl' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'AclRule' => [
                                'Cidr' => '<string>',
                                'Egress' => true || false,
                                'PortRange' => [
                                    'From' => <integer>,
                                    'To' => <integer>,
                                ],
                                'Protocol' => '<string>',
                                'RuleAction' => '<string>',
                                'RuleNumber' => <integer>,
                            ],
                            'Address' => '<string>',
                            'Addresses' => ['<string>', ...],
                            'AttachedTo' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'AvailabilityZones' => ['<string>', ...],
                            'Cidrs' => ['<string>', ...],
                            'ClassicLoadBalancerListener' => [
                                'InstancePort' => <integer>,
                                'LoadBalancerPort' => <integer>,
                            ],
                            'Component' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'ComponentAccount' => '<string>',
                            'ComponentRegion' => '<string>',
                            'CustomerGateway' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'Destination' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'DestinationVpc' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'Direction' => '<string>',
                            'ElasticLoadBalancerListener' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'ExplanationCode' => '<string>',
                            'FirewallStatefulRule' => [
                                'DestinationPorts' => [
                                    [
                                        'From' => <integer>,
                                        'To' => <integer>,
                                    ],
                                    // ...
                                ],
                                'Destinations' => ['<string>', ...],
                                'Direction' => '<string>',
                                'Protocol' => '<string>',
                                'RuleAction' => '<string>',
                                'RuleGroupArn' => '<string>',
                                'SourcePorts' => [
                                    [
                                        'From' => <integer>,
                                        'To' => <integer>,
                                    ],
                                    // ...
                                ],
                                'Sources' => ['<string>', ...],
                            ],
                            'FirewallStatelessRule' => [
                                'DestinationPorts' => [
                                    [
                                        'From' => <integer>,
                                        'To' => <integer>,
                                    ],
                                    // ...
                                ],
                                'Destinations' => ['<string>', ...],
                                'Priority' => <integer>,
                                'Protocols' => [<integer>, ...],
                                'RuleAction' => '<string>',
                                'RuleGroupArn' => '<string>',
                                'SourcePorts' => [
                                    [
                                        'From' => <integer>,
                                        'To' => <integer>,
                                    ],
                                    // ...
                                ],
                                'Sources' => ['<string>', ...],
                            ],
                            'IngressRouteTable' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'InternetGateway' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'LoadBalancerArn' => '<string>',
                            'LoadBalancerListenerPort' => <integer>,
                            'LoadBalancerTarget' => [
                                'Address' => '<string>',
                                'AvailabilityZone' => '<string>',
                                'Instance' => [
                                    'Arn' => '<string>',
                                    'Id' => '<string>',
                                    'Name' => '<string>',
                                ],
                                'Port' => <integer>,
                            ],
                            'LoadBalancerTargetGroup' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'LoadBalancerTargetGroups' => [
                                [
                                    'Arn' => '<string>',
                                    'Id' => '<string>',
                                    'Name' => '<string>',
                                ],
                                // ...
                            ],
                            'LoadBalancerTargetPort' => <integer>,
                            'MissingComponent' => '<string>',
                            'NatGateway' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'NetworkInterface' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'PacketField' => '<string>',
                            'Port' => <integer>,
                            'PortRanges' => [
                                [
                                    'From' => <integer>,
                                    'To' => <integer>,
                                ],
                                // ...
                            ],
                            'PrefixList' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'Protocols' => ['<string>', ...],
                            'RouteTable' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'RouteTableRoute' => [
                                'CarrierGatewayId' => '<string>',
                                'CoreNetworkArn' => '<string>',
                                'DestinationCidr' => '<string>',
                                'DestinationPrefixListId' => '<string>',
                                'EgressOnlyInternetGatewayId' => '<string>',
                                'GatewayId' => '<string>',
                                'InstanceId' => '<string>',
                                'LocalGatewayId' => '<string>',
                                'NatGatewayId' => '<string>',
                                'NetworkInterfaceId' => '<string>',
                                'Origin' => '<string>',
                                'State' => '<string>',
                                'TransitGatewayId' => '<string>',
                                'VpcPeeringConnectionId' => '<string>',
                            ],
                            'SecurityGroup' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'SecurityGroupRule' => [
                                'Cidr' => '<string>',
                                'Direction' => '<string>',
                                'PortRange' => [
                                    'From' => <integer>,
                                    'To' => <integer>,
                                ],
                                'PrefixListId' => '<string>',
                                'Protocol' => '<string>',
                                'SecurityGroupId' => '<string>',
                            ],
                            'SecurityGroups' => [
                                [
                                    'Arn' => '<string>',
                                    'Id' => '<string>',
                                    'Name' => '<string>',
                                ],
                                // ...
                            ],
                            'SourceVpc' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'State' => '<string>',
                            'Subnet' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'SubnetRouteTable' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'TransitGateway' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'TransitGatewayAttachment' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'TransitGatewayRouteTable' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'TransitGatewayRouteTableRoute' => [
                                'AttachmentId' => '<string>',
                                'DestinationCidr' => '<string>',
                                'PrefixListId' => '<string>',
                                'ResourceId' => '<string>',
                                'ResourceType' => '<string>',
                                'RouteOrigin' => '<string>',
                                'State' => '<string>',
                            ],
                            'Vpc' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'VpcEndpoint' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'VpcPeeringConnection' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'VpnConnection' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'VpnGateway' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                        ],
                        // ...
                    ],
                    'FirewallStatefulRule' => [
                        'DestinationPorts' => [
                            [
                                'From' => <integer>,
                                'To' => <integer>,
                            ],
                            // ...
                        ],
                        'Destinations' => ['<string>', ...],
                        'Direction' => '<string>',
                        'Protocol' => '<string>',
                        'RuleAction' => '<string>',
                        'RuleGroupArn' => '<string>',
                        'SourcePorts' => [
                            [
                                'From' => <integer>,
                                'To' => <integer>,
                            ],
                            // ...
                        ],
                        'Sources' => ['<string>', ...],
                    ],
                    'FirewallStatelessRule' => [
                        'DestinationPorts' => [
                            [
                                'From' => <integer>,
                                'To' => <integer>,
                            ],
                            // ...
                        ],
                        'Destinations' => ['<string>', ...],
                        'Priority' => <integer>,
                        'Protocols' => [<integer>, ...],
                        'RuleAction' => '<string>',
                        'RuleGroupArn' => '<string>',
                        'SourcePorts' => [
                            [
                                'From' => <integer>,
                                'To' => <integer>,
                            ],
                            // ...
                        ],
                        'Sources' => ['<string>', ...],
                    ],
                    'InboundHeader' => [
                        'DestinationAddresses' => ['<string>', ...],
                        'DestinationPortRanges' => [
                            [
                                'From' => <integer>,
                                'To' => <integer>,
                            ],
                            // ...
                        ],
                        'Protocol' => '<string>',
                        'SourceAddresses' => ['<string>', ...],
                        'SourcePortRanges' => [
                            [
                                'From' => <integer>,
                                'To' => <integer>,
                            ],
                            // ...
                        ],
                    ],
                    'OutboundHeader' => [
                        'DestinationAddresses' => ['<string>', ...],
                        'DestinationPortRanges' => [
                            [
                                'From' => <integer>,
                                'To' => <integer>,
                            ],
                            // ...
                        ],
                        'Protocol' => '<string>',
                        'SourceAddresses' => ['<string>', ...],
                        'SourcePortRanges' => [
                            [
                                'From' => <integer>,
                                'To' => <integer>,
                            ],
                            // ...
                        ],
                    ],
                    'RouteTableRoute' => [
                        'CarrierGatewayId' => '<string>',
                        'CoreNetworkArn' => '<string>',
                        'DestinationCidr' => '<string>',
                        'DestinationPrefixListId' => '<string>',
                        'EgressOnlyInternetGatewayId' => '<string>',
                        'GatewayId' => '<string>',
                        'InstanceId' => '<string>',
                        'LocalGatewayId' => '<string>',
                        'NatGatewayId' => '<string>',
                        'NetworkInterfaceId' => '<string>',
                        'Origin' => '<string>',
                        'State' => '<string>',
                        'TransitGatewayId' => '<string>',
                        'VpcPeeringConnectionId' => '<string>',
                    ],
                    'SecurityGroupRule' => [
                        'Cidr' => '<string>',
                        'Direction' => '<string>',
                        'PortRange' => [
                            'From' => <integer>,
                            'To' => <integer>,
                        ],
                        'PrefixListId' => '<string>',
                        'Protocol' => '<string>',
                        'SecurityGroupId' => '<string>',
                    ],
                    'SequenceNumber' => <integer>,
                    'ServiceName' => '<string>',
                    'SourceVpc' => [
                        'Arn' => '<string>',
                        'Id' => '<string>',
                        'Name' => '<string>',
                    ],
                    'Subnet' => [
                        'Arn' => '<string>',
                        'Id' => '<string>',
                        'Name' => '<string>',
                    ],
                    'TransitGateway' => [
                        'Arn' => '<string>',
                        'Id' => '<string>',
                        'Name' => '<string>',
                    ],
                    'TransitGatewayRouteTableRoute' => [
                        'AttachmentId' => '<string>',
                        'DestinationCidr' => '<string>',
                        'PrefixListId' => '<string>',
                        'ResourceId' => '<string>',
                        'ResourceType' => '<string>',
                        'RouteOrigin' => '<string>',
                        'State' => '<string>',
                    ],
                    'Vpc' => [
                        'Arn' => '<string>',
                        'Id' => '<string>',
                        'Name' => '<string>',
                    ],
                ],
                // ...
            ],
            'FindingId' => '<string>',
            'NetworkInsightsAccessScopeAnalysisId' => '<string>',
            'NetworkInsightsAccessScopeId' => '<string>',
        ],
        // ...
    ],
    'AnalysisStatus' => 'running|succeeded|failed',
    'NetworkInsightsAccessScopeAnalysisId' => '<string>',
    'NextToken' => '<string>',
]

Result Details

Members
AnalysisFindings
Type: Array of AccessScopeAnalysisFinding structures

The findings associated with Network Access Scope Analysis.

AnalysisStatus
Type: string

The status of Network Access Scope Analysis.

NetworkInsightsAccessScopeAnalysisId
Type: string

The ID of the Network Access Scope analysis.

NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

Errors

There are no errors described for this operation.

GetNetworkInsightsAccessScopeContent

$result = $client->getNetworkInsightsAccessScopeContent([/* ... */]);
$promise = $client->getNetworkInsightsAccessScopeContentAsync([/* ... */]);

Gets the content for the specified Network Access Scope.

Parameter Syntax

$result = $client->getNetworkInsightsAccessScopeContent([
    'DryRun' => true || false,
    'NetworkInsightsAccessScopeId' => '<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.

NetworkInsightsAccessScopeId
Required: Yes
Type: string

The ID of the Network Access Scope.

Result Syntax

[
    'NetworkInsightsAccessScopeContent' => [
        'ExcludePaths' => [
            [
                'Destination' => [
                    'PacketHeaderStatement' => [
                        'DestinationAddresses' => ['<string>', ...],
                        'DestinationPorts' => ['<string>', ...],
                        'DestinationPrefixLists' => ['<string>', ...],
                        'Protocols' => ['<string>', ...],
                        'SourceAddresses' => ['<string>', ...],
                        'SourcePorts' => ['<string>', ...],
                        'SourcePrefixLists' => ['<string>', ...],
                    ],
                    'ResourceStatement' => [
                        'ResourceTypes' => ['<string>', ...],
                        'Resources' => ['<string>', ...],
                    ],
                ],
                'Source' => [
                    'PacketHeaderStatement' => [
                        'DestinationAddresses' => ['<string>', ...],
                        'DestinationPorts' => ['<string>', ...],
                        'DestinationPrefixLists' => ['<string>', ...],
                        'Protocols' => ['<string>', ...],
                        'SourceAddresses' => ['<string>', ...],
                        'SourcePorts' => ['<string>', ...],
                        'SourcePrefixLists' => ['<string>', ...],
                    ],
                    'ResourceStatement' => [
                        'ResourceTypes' => ['<string>', ...],
                        'Resources' => ['<string>', ...],
                    ],
                ],
                'ThroughResources' => [
                    [
                        'ResourceStatement' => [
                            'ResourceTypes' => ['<string>', ...],
                            'Resources' => ['<string>', ...],
                        ],
                    ],
                    // ...
                ],
            ],
            // ...
        ],
        'MatchPaths' => [
            [
                'Destination' => [
                    'PacketHeaderStatement' => [
                        'DestinationAddresses' => ['<string>', ...],
                        'DestinationPorts' => ['<string>', ...],
                        'DestinationPrefixLists' => ['<string>', ...],
                        'Protocols' => ['<string>', ...],
                        'SourceAddresses' => ['<string>', ...],
                        'SourcePorts' => ['<string>', ...],
                        'SourcePrefixLists' => ['<string>', ...],
                    ],
                    'ResourceStatement' => [
                        'ResourceTypes' => ['<string>', ...],
                        'Resources' => ['<string>', ...],
                    ],
                ],
                'Source' => [
                    'PacketHeaderStatement' => [
                        'DestinationAddresses' => ['<string>', ...],
                        'DestinationPorts' => ['<string>', ...],
                        'DestinationPrefixLists' => ['<string>', ...],
                        'Protocols' => ['<string>', ...],
                        'SourceAddresses' => ['<string>', ...],
                        'SourcePorts' => ['<string>', ...],
                        'SourcePrefixLists' => ['<string>', ...],
                    ],
                    'ResourceStatement' => [
                        'ResourceTypes' => ['<string>', ...],
                        'Resources' => ['<string>', ...],
                    ],
                ],
                'ThroughResources' => [
                    [
                        'ResourceStatement' => [
                            'ResourceTypes' => ['<string>', ...],
                            'Resources' => ['<string>', ...],
                        ],
                    ],
                    // ...
                ],
            ],
            // ...
        ],
        'NetworkInsightsAccessScopeId' => '<string>',
    ],
]

Result Details

Members
NetworkInsightsAccessScopeContent

The Network Access Scope content.

Errors

There are no errors described for this operation.

GetPasswordData

$result = $client->getPasswordData([/* ... */]);
$promise = $client->getPasswordDataAsync([/* ... */]);

Retrieves the encrypted administrator password for a running Windows instance.

The Windows password is generated at boot by the EC2Config service or EC2Launch scripts (Windows Server 2016 and later). This usually only happens the first time an instance is launched. For more information, see EC2Config and EC2Launch in the Amazon EC2 User Guide.

For the EC2Config service, the password is not generated for rebundled AMIs unless Ec2SetPassword is enabled before bundling.

The password is encrypted using the key pair that you specified when you launched the instance. You must provide the corresponding key pair file.

When you launch an instance, password generation and encryption may take a few minutes. If you try to retrieve the password before it's available, the output returns an empty string. We recommend that you wait up to 15 minutes after launching an instance before trying to retrieve the generated password.

Parameter Syntax

$result = $client->getPasswordData([
    'DryRun' => true || false,
    'InstanceId' => '<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 Windows instance.

Result Syntax

[
    'InstanceId' => '<string>',
    'PasswordData' => '<string>',
    'Timestamp' => <DateTime>,
]

Result Details

Members
InstanceId
Type: string

The ID of the Windows instance.

PasswordData
Type: string

The password of the instance. Returns an empty string if the password is not available.

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

The time the data was last updated.

Errors

There are no errors described for this operation.

GetReservedInstancesExchangeQuote

$result = $client->getReservedInstancesExchangeQuote([/* ... */]);
$promise = $client->getReservedInstancesExchangeQuoteAsync([/* ... */]);

Returns a quote and exchange information for exchanging one or more specified Convertible Reserved Instances for a new Convertible Reserved Instance. If the exchange cannot be performed, the reason is returned in the response. Use AcceptReservedInstancesExchangeQuote to perform the exchange.

Parameter Syntax

$result = $client->getReservedInstancesExchangeQuote([
    '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.

TargetConfigurations
Type: Array of TargetConfigurationRequest structures

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

Result Syntax

[
    'CurrencyCode' => '<string>',
    'IsValidExchange' => true || false,
    'OutputReservedInstancesWillExpireAt' => <DateTime>,
    'PaymentDue' => '<string>',
    'ReservedInstanceValueRollup' => [
        'HourlyPrice' => '<string>',
        'RemainingTotalValue' => '<string>',
        'RemainingUpfrontValue' => '<string>',
    ],
    'ReservedInstanceValueSet' => [
        [
            'ReservationValue' => [
                'HourlyPrice' => '<string>',
                'RemainingTotalValue' => '<string>',
                'RemainingUpfrontValue' => '<string>',
            ],
            'ReservedInstanceId' => '<string>',
        ],
        // ...
    ],
    'TargetConfigurationValueRollup' => [
        'HourlyPrice' => '<string>',
        'RemainingTotalValue' => '<string>',
        'RemainingUpfrontValue' => '<string>',
    ],
    'TargetConfigurationValueSet' => [
        [
            'ReservationValue' => [
                'HourlyPrice' => '<string>',
                'RemainingTotalValue' => '<string>',
                'RemainingUpfrontValue' => '<string>',
            ],
            'TargetConfiguration' => [
                'InstanceCount' => <integer>,
                'OfferingId' => '<string>',
            ],
        ],
        // ...
    ],
    'ValidationFailureReason' => '<string>',
]

Result Details

Members
CurrencyCode
Type: string

The currency of the transaction.

IsValidExchange
Type: boolean

If true, the exchange is valid. If false, the exchange cannot be completed.

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

The new end date of the reservation term.

PaymentDue
Type: string

The total true upfront charge for the exchange.

ReservedInstanceValueRollup
Type: ReservationValue structure

The cost associated with the Reserved Instance.

ReservedInstanceValueSet
Type: Array of ReservedInstanceReservationValue structures

The configuration of your Convertible Reserved Instances.

TargetConfigurationValueRollup
Type: ReservationValue structure

The cost associated with the Reserved Instance.

TargetConfigurationValueSet
Type: Array of TargetReservationValue structures

The values of the target Convertible Reserved Instances.

ValidationFailureReason
Type: string

Describes the reason why the exchange cannot be completed.

Errors

There are no errors described for this operation.

GetSecurityGroupsForVpc

$result = $client->getSecurityGroupsForVpc([/* ... */]);
$promise = $client->getSecurityGroupsForVpcAsync([/* ... */]);

Gets security groups that can be associated by the Amazon Web Services account making the request with network interfaces in the specified VPC.

Parameter Syntax

$result = $client->getSecurityGroupsForVpc([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    '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.

Filters
Type: Array of Filter structures

The filters. If using multiple filters, the results include security groups which match all filters.

  • group-id: The security group ID.

  • description: The security group's description.

  • group-name: The security group name.

  • owner-id: The security group owner ID.

  • primary-vpc-id: The VPC ID in which the security group was created.

MaxResults
Type: int

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

NextToken
Type: string

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

VpcId
Required: Yes
Type: string

The VPC ID where the security group can be used.

Result Syntax

[
    'NextToken' => '<string>',
    'SecurityGroupForVpcs' => [
        [
            'Description' => '<string>',
            'GroupId' => '<string>',
            'GroupName' => '<string>',
            'OwnerId' => '<string>',
            'PrimaryVpcId' => '<string>',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

SecurityGroupForVpcs
Type: Array of SecurityGroupForVpc structures

The security group that can be used by interfaces in the VPC.

Errors

There are no errors described for this operation.

GetSerialConsoleAccessStatus

$result = $client->getSerialConsoleAccessStatus([/* ... */]);
$promise = $client->getSerialConsoleAccessStatusAsync([/* ... */]);

Retrieves the access status of your account to the EC2 serial console of all instances. By default, access to the EC2 serial console is disabled for your account. For more information, see Manage account access to the EC2 serial console in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->getSerialConsoleAccessStatus([
    '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

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

Result Details

Members
SerialConsoleAccessEnabled
Type: boolean

If true, access to the EC2 serial console of all instances is enabled for your account. If false, access to the EC2 serial console of all instances is disabled for your account.

Errors

There are no errors described for this operation.

GetSnapshotBlockPublicAccessState

$result = $client->getSnapshotBlockPublicAccessState([/* ... */]);
$promise = $client->getSnapshotBlockPublicAccessStateAsync([/* ... */]);

Gets the current state of block public access for snapshots setting for the account and Region.

For more information, see Block public access for snapshots in the Amazon EBS User Guide.

Parameter Syntax

$result = $client->getSnapshotBlockPublicAccessState([
    '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

[
    'State' => 'block-all-sharing|block-new-sharing|unblocked',
]

Result Details

Members
State
Type: string

The current state of block public access for snapshots. Possible values include:

  • block-all-sharing - All public sharing of snapshots is blocked. Users in the account can't request new public sharing. Additionally, snapshots that were already publicly shared are treated as private and are not publicly available.

  • block-new-sharing - Only new public sharing of snapshots is blocked. Users in the account can't request new public sharing. However, snapshots that were already publicly shared, remain publicly available.

  • unblocked - Public sharing is not blocked. Users can publicly share snapshots.

Errors

There are no errors described for this operation.

GetSpotPlacementScores

$result = $client->getSpotPlacementScores([/* ... */]);
$promise = $client->getSpotPlacementScoresAsync([/* ... */]);

Calculates the Spot placement score for a Region or Availability Zone based on the specified target capacity and compute requirements.

You can specify your compute requirements either by using InstanceRequirementsWithMetadata and letting Amazon EC2 choose the optimal instance types to fulfill your Spot request, or you can specify the instance types by using InstanceTypes.

For more information, see Spot placement score in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->getSpotPlacementScores([
    'DryRun' => true || false,
    'InstanceRequirementsWithMetadata' => [
        'ArchitectureTypes' => ['<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>,
            ],
            '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
            ],
        ],
        'VirtualizationTypes' => ['<string>', ...],
    ],
    'InstanceTypes' => ['<string>', ...],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'RegionNames' => ['<string>', ...],
    'SingleAvailabilityZone' => true || false,
    'TargetCapacity' => <integer>, // REQUIRED
    'TargetCapacityUnitType' => 'vcpu|memory-mib|units',
]);

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.

InstanceRequirementsWithMetadata

The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with those attributes.

If you specify InstanceRequirementsWithMetadata, you can't specify InstanceTypes.

InstanceTypes
Type: Array of strings

The instance types. We recommend that you specify at least three instance types. If you specify one or two instance types, or specify variations of a single instance type (for example, an m3.xlarge with and without instance storage), the returned placement score will always be low.

If you specify InstanceTypes, you can't specify InstanceRequirementsWithMetadata.

MaxResults
Type: int

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

NextToken
Type: string

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

RegionNames
Type: Array of strings

The Regions used to narrow down the list of Regions to be scored. Enter the Region code, for example, us-east-1.

SingleAvailabilityZone
Type: boolean

Specify true so that the response returns a list of scored Availability Zones. Otherwise, the response returns a list of scored Regions.

A list of scored Availability Zones is useful if you want to launch all of your Spot capacity into a single Availability Zone.

TargetCapacity
Required: Yes
Type: int

The target capacity.

TargetCapacityUnitType
Type: string

The unit for the target capacity.

Result Syntax

[
    'NextToken' => '<string>',
    'SpotPlacementScores' => [
        [
            'AvailabilityZoneId' => '<string>',
            'Region' => '<string>',
            'Score' => <integer>,
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

SpotPlacementScores
Type: Array of SpotPlacementScore structures

The Spot placement score for the top 10 Regions or Availability Zones, scored on a scale from 1 to 10. Each score
 reflects how likely it is that each Region or Availability Zone will succeed at fulfilling the specified target capacity
 at the time of the Spot placement score request. A score of 10 means that your Spot capacity request is highly likely to succeed in that Region or Availability Zone.

If you request a Spot placement score for Regions, a high score assumes that your fleet request will be configured to use all Availability Zones and the capacity-optimized allocation strategy. If you request a Spot placement score for Availability Zones, a high score assumes that your fleet request will be configured to use a single Availability Zone and the capacity-optimized allocation strategy.

Different
 Regions or Availability Zones might return the same score.

The Spot placement score serves as a recommendation only. No score guarantees that your Spot request will be fully or partially fulfilled.

Errors

There are no errors described for this operation.

GetSubnetCidrReservations

$result = $client->getSubnetCidrReservations([/* ... */]);
$promise = $client->getSubnetCidrReservationsAsync([/* ... */]);

Gets information about the subnet CIDR reservations.

Parameter Syntax

$result = $client->getSubnetCidrReservations([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'SubnetId' => '<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.

Filters
Type: Array of Filter structures

One or more filters.

  • reservationType - The type of reservation (prefix | explicit).

  • subnet-id - The ID of the subnet.

  • 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.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

MaxResults
Type: int

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

NextToken
Type: string

The token for the next page of results.

SubnetId
Required: Yes
Type: string

The ID of the subnet.

Result Syntax

[
    'NextToken' => '<string>',
    'SubnetIpv4CidrReservations' => [
        [
            'Cidr' => '<string>',
            'Description' => '<string>',
            'OwnerId' => '<string>',
            'ReservationType' => 'prefix|explicit',
            'SubnetCidrReservationId' => '<string>',
            'SubnetId' => '<string>',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'SubnetIpv6CidrReservations' => [
        [
            'Cidr' => '<string>',
            'Description' => '<string>',
            'OwnerId' => '<string>',
            'ReservationType' => 'prefix|explicit',
            'SubnetCidrReservationId' => '<string>',
            'SubnetId' => '<string>',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

SubnetIpv4CidrReservations
Type: Array of SubnetCidrReservation structures

Information about the IPv4 subnet CIDR reservations.

SubnetIpv6CidrReservations
Type: Array of SubnetCidrReservation structures

Information about the IPv6 subnet CIDR reservations.

Errors

There are no errors described for this operation.

GetTransitGatewayAttachmentPropagations

$result = $client->getTransitGatewayAttachmentPropagations([/* ... */]);
$promise = $client->getTransitGatewayAttachmentPropagationsAsync([/* ... */]);

Lists the route tables to which the specified resource attachment propagates routes.

Parameter Syntax

$result = $client->getTransitGatewayAttachmentPropagations([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    '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.

Filters
Type: Array of Filter structures

One or more filters. The possible values are:

  • transit-gateway-route-table-id - The ID of the transit gateway route table.

MaxResults
Type: int

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

NextToken
Type: string

The token for the next page of results.

TransitGatewayAttachmentId
Required: Yes
Type: string

The ID of the attachment.

Result Syntax

[
    'NextToken' => '<string>',
    'TransitGatewayAttachmentPropagations' => [
        [
            'State' => 'enabling|enabled|disabling|disabled',
            'TransitGatewayRouteTableId' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

TransitGatewayAttachmentPropagations
Type: Array of TransitGatewayAttachmentPropagation structures

Information about the propagation route tables.

Errors

There are no errors described for this operation.

GetTransitGatewayMulticastDomainAssociations

$result = $client->getTransitGatewayMulticastDomainAssociations([/* ... */]);
$promise = $client->getTransitGatewayMulticastDomainAssociationsAsync([/* ... */]);

Gets information about the associations for the transit gateway multicast domain.

Parameter Syntax

$result = $client->getTransitGatewayMulticastDomainAssociations([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    '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.

Filters
Type: Array of Filter structures

One or more filters. The possible values are:

  • resource-id - The ID of the resource.

  • resource-type - The type of resource. The valid value is: vpc.

  • state - The state of the subnet association. Valid values are associated | associating | disassociated | disassociating.

  • subnet-id - The ID of the subnet.

  • transit-gateway-attachment-id - The id of the transit gateway attachment.

MaxResults
Type: int

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

NextToken
Type: string

The token for the next page of results.

TransitGatewayMulticastDomainId
Required: Yes
Type: string

The ID of the transit gateway multicast domain.

Result Syntax

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

Result Details

Members
MulticastDomainAssociations
Type: Array of TransitGatewayMulticastDomainAssociation structures

Information about the multicast domain associations.

NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

Errors

There are no errors described for this operation.

GetTransitGatewayPolicyTableAssociations

$result = $client->getTransitGatewayPolicyTableAssociations([/* ... */]);
$promise = $client->getTransitGatewayPolicyTableAssociationsAsync([/* ... */]);

Gets a list of the transit gateway policy table associations.

Parameter Syntax

$result = $client->getTransitGatewayPolicyTableAssociations([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    '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.

Filters
Type: Array of Filter structures

The filters associated with the transit gateway policy table.

MaxResults
Type: int

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

NextToken
Type: string

The token for the next page of results.

TransitGatewayPolicyTableId
Required: Yes
Type: string

The ID of the transit gateway policy table.

Result Syntax

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

Result Details

Members
Associations
Type: Array of TransitGatewayPolicyTableAssociation structures

Returns details about the transit gateway policy table association.

NextToken
Type: string

The token for the next page of results.

Errors

There are no errors described for this operation.

GetTransitGatewayPolicyTableEntries

$result = $client->getTransitGatewayPolicyTableEntries([/* ... */]);
$promise = $client->getTransitGatewayPolicyTableEntriesAsync([/* ... */]);

Returns a list of transit gateway policy table entries.

Parameter Syntax

$result = $client->getTransitGatewayPolicyTableEntries([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    '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.

Filters
Type: Array of Filter structures

The filters associated with the transit gateway policy table.

MaxResults
Type: int

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

NextToken
Type: string

The token for the next page of results.

TransitGatewayPolicyTableId
Required: Yes
Type: string

The ID of the transit gateway policy table.

Result Syntax

[
    'TransitGatewayPolicyTableEntries' => [
        [
            'PolicyRule' => [
                'DestinationCidrBlock' => '<string>',
                'DestinationPortRange' => '<string>',
                'MetaData' => [
                    'MetaDataKey' => '<string>',
                    'MetaDataValue' => '<string>',
                ],
                'Protocol' => '<string>',
                'SourceCidrBlock' => '<string>',
                'SourcePortRange' => '<string>',
            ],
            'PolicyRuleNumber' => '<string>',
            'TargetRouteTableId' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
TransitGatewayPolicyTableEntries
Type: Array of TransitGatewayPolicyTableEntry structures

The entries for the transit gateway policy table.

Errors

There are no errors described for this operation.

GetTransitGatewayPrefixListReferences

$result = $client->getTransitGatewayPrefixListReferences([/* ... */]);
$promise = $client->getTransitGatewayPrefixListReferencesAsync([/* ... */]);

Gets information about the prefix list references in a specified transit gateway route table.

Parameter Syntax

$result = $client->getTransitGatewayPrefixListReferences([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    '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.

Filters
Type: Array of Filter structures

One or more filters. The possible values are:

  • attachment.resource-id - The ID of the resource for the attachment.

  • attachment.resource-type - The type of resource for the attachment. Valid values are vpc | vpn | direct-connect-gateway | peering.

  • attachment.transit-gateway-attachment-id - The ID of the attachment.

  • is-blackhole - Whether traffic matching the route is blocked (true | false).

  • prefix-list-id - The ID of the prefix list.

  • prefix-list-owner-id - The ID of the owner of the prefix list.

  • state - The state of the prefix list reference (pending | available | modifying | deleting).

MaxResults
Type: int

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

NextToken
Type: string

The token for the next page of results.

TransitGatewayRouteTableId
Required: Yes
Type: string

The ID of the transit gateway route table.

Result Syntax

[
    'NextToken' => '<string>',
    'TransitGatewayPrefixListReferences' => [
        [
            'Blackhole' => true || false,
            'PrefixListId' => '<string>',
            'PrefixListOwnerId' => '<string>',
            'State' => 'pending|available|modifying|deleting',
            'TransitGatewayAttachment' => [
                'ResourceId' => '<string>',
                'ResourceType' => 'vpc|vpn|direct-connect-gateway|connect|peering|tgw-peering',
                'TransitGatewayAttachmentId' => '<string>',
            ],
            'TransitGatewayRouteTableId' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

TransitGatewayPrefixListReferences
Type: Array of TransitGatewayPrefixListReference structures

Information about the prefix list references.

Errors

There are no errors described for this operation.

GetTransitGatewayRouteTableAssociations

$result = $client->getTransitGatewayRouteTableAssociations([/* ... */]);
$promise = $client->getTransitGatewayRouteTableAssociationsAsync([/* ... */]);

Gets information about the associations for the specified transit gateway route table.

Parameter Syntax

$result = $client->getTransitGatewayRouteTableAssociations([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    '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.

Filters
Type: Array of Filter structures

One or more filters. The possible values are:

  • resource-id - The ID of the resource.

  • resource-type - The resource type. Valid values are vpc | vpn | direct-connect-gateway | peering | connect.

  • transit-gateway-attachment-id - The ID of the attachment.

MaxResults
Type: int

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

NextToken
Type: string

The token for the next page of results.

TransitGatewayRouteTableId
Required: Yes
Type: string

The ID of the transit gateway route table.

Result Syntax

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

Result Details

Members
Associations
Type: Array of TransitGatewayRouteTableAssociation structures

Information about the associations.

NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

Errors

There are no errors described for this operation.

GetTransitGatewayRouteTablePropagations

$result = $client->getTransitGatewayRouteTablePropagations([/* ... */]);
$promise = $client->getTransitGatewayRouteTablePropagationsAsync([/* ... */]);

Gets information about the route table propagations for the specified transit gateway route table.

Parameter Syntax

$result = $client->getTransitGatewayRouteTablePropagations([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    '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.

Filters
Type: Array of Filter structures

One or more filters. The possible values are:

  • resource-id - The ID of the resource.

  • resource-type - The resource type. Valid values are vpc | vpn | direct-connect-gateway | peering | connect.

  • transit-gateway-attachment-id - The ID of the attachment.

MaxResults
Type: int

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

NextToken
Type: string

The token for the next page of results.

TransitGatewayRouteTableId
Required: Yes
Type: string

The ID of the transit gateway route table.

Result Syntax

[
    'NextToken' => '<string>',
    'TransitGatewayRouteTablePropagations' => [
        [
            'ResourceId' => '<string>',
            'ResourceType' => 'vpc|vpn|direct-connect-gateway|connect|peering|tgw-peering',
            'State' => 'enabling|enabled|disabling|disabled',
            'TransitGatewayAttachmentId' => '<string>',
            'TransitGatewayRouteTableAnnouncementId' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

TransitGatewayRouteTablePropagations
Type: Array of TransitGatewayRouteTablePropagation structures

Information about the route table propagations.

Errors

There are no errors described for this operation.

GetVerifiedAccessEndpointPolicy

$result = $client->getVerifiedAccessEndpointPolicy([/* ... */]);
$promise = $client->getVerifiedAccessEndpointPolicyAsync([/* ... */]);

Get the Verified Access policy associated with the endpoint.

Parameter Syntax

$result = $client->getVerifiedAccessEndpointPolicy([
    'DryRun' => true || false,
    'VerifiedAccessEndpointId' => '<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.

VerifiedAccessEndpointId
Required: Yes
Type: string

The ID of the Verified Access endpoint.

Result Syntax

[
    'PolicyDocument' => '<string>',
    'PolicyEnabled' => true || false,
]

Result Details

Members
PolicyDocument
Type: string

The Verified Access policy document.

PolicyEnabled
Type: boolean

The status of the Verified Access policy.

Errors

There are no errors described for this operation.

GetVerifiedAccessGroupPolicy

$result = $client->getVerifiedAccessGroupPolicy([/* ... */]);
$promise = $client->getVerifiedAccessGroupPolicyAsync([/* ... */]);

Shows the contents of the Verified Access policy associated with the group.

Parameter Syntax

$result = $client->getVerifiedAccessGroupPolicy([
    'DryRun' => true || false,
    'VerifiedAccessGroupId' => '<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.

VerifiedAccessGroupId
Required: Yes
Type: string

The ID of the Verified Access group.

Result Syntax

[
    'PolicyDocument' => '<string>',
    'PolicyEnabled' => true || false,
]

Result Details

Members
PolicyDocument
Type: string

The Verified Access policy document.

PolicyEnabled
Type: boolean

The status of the Verified Access policy.

Errors

There are no errors described for this operation.

GetVpnConnectionDeviceSampleConfiguration

$result = $client->getVpnConnectionDeviceSampleConfiguration([/* ... */]);
$promise = $client->getVpnConnectionDeviceSampleConfigurationAsync([/* ... */]);

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.

Parameter Syntax

$result = $client->getVpnConnectionDeviceSampleConfiguration([
    'DryRun' => true || false,
    'InternetKeyExchangeVersion' => '<string>',
    'VpnConnectionDeviceTypeId' => '<string>', // REQUIRED
    'VpnConnectionId' => '<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.

InternetKeyExchangeVersion
Type: string

The IKE version to be used in the sample configuration file for your customer gateway device. You can specify one of the following versions: ikev1 or ikev2.

VpnConnectionDeviceTypeId
Required: Yes
Type: string

Device identifier provided by the GetVpnConnectionDeviceTypes API.

VpnConnectionId
Required: Yes
Type: string

The VpnConnectionId specifies the Site-to-Site VPN connection used for the sample configuration.

Result Syntax

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

Result Details

Members
VpnConnectionDeviceSampleConfiguration
Type: string

Sample configuration file for the specified customer gateway device.

Errors

There are no errors described for this operation.

GetVpnConnectionDeviceTypes

$result = $client->getVpnConnectionDeviceTypes([/* ... */]);
$promise = $client->getVpnConnectionDeviceTypesAsync([/* ... */]);

Obtain a list of customer gateway devices for which sample configuration files can be provided. The request has no additional parameters. You can also see the list of device types with sample configuration files available under Your customer gateway device in the Amazon Web Services Site-to-Site VPN User Guide.

Parameter Syntax

$result = $client->getVpnConnectionDeviceTypes([
    'DryRun' => true || false,
    'MaxResults' => <integer>,
    'NextToken' => '<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.

MaxResults
Type: int

The maximum number of results returned by GetVpnConnectionDeviceTypes in paginated output. When this parameter is used, GetVpnConnectionDeviceTypes only returns MaxResults results in a single page along with a NextToken response element. The remaining results of the initial request can be seen by sending another GetVpnConnectionDeviceTypes request with the returned NextToken value. This value can be between 200 and 1000. If this parameter is not used, then GetVpnConnectionDeviceTypes returns all results.

NextToken
Type: string

The NextToken value returned from a previous paginated GetVpnConnectionDeviceTypes request where MaxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the NextToken value. This value is null when there are no more results to return.

Result Syntax

[
    'NextToken' => '<string>',
    'VpnConnectionDeviceTypes' => [
        [
            'Platform' => '<string>',
            'Software' => '<string>',
            'Vendor' => '<string>',
            'VpnConnectionDeviceTypeId' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The NextToken value to include in a future GetVpnConnectionDeviceTypes request. When the results of a GetVpnConnectionDeviceTypes request exceed MaxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.

VpnConnectionDeviceTypes
Type: Array of VpnConnectionDeviceType structures

List of customer gateway devices that have a sample configuration file available for use.

Errors

There are no errors described for this operation.

GetVpnTunnelReplacementStatus

$result = $client->getVpnTunnelReplacementStatus([/* ... */]);
$promise = $client->getVpnTunnelReplacementStatusAsync([/* ... */]);

Get details of available tunnel endpoint maintenance.

Parameter Syntax

$result = $client->getVpnTunnelReplacementStatus([
    'DryRun' => true || false,
    'VpnConnectionId' => '<string>', // REQUIRED
    'VpnTunnelOutsideIpAddress' => '<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.

VpnConnectionId
Required: Yes
Type: string

The ID of the Site-to-Site VPN connection.

VpnTunnelOutsideIpAddress
Required: Yes
Type: string

The external IP address of the VPN tunnel.

Result Syntax

[
    'CustomerGatewayId' => '<string>',
    'MaintenanceDetails' => [
        'LastMaintenanceApplied' => <DateTime>,
        'MaintenanceAutoAppliedAfter' => <DateTime>,
        'PendingMaintenance' => '<string>',
    ],
    'TransitGatewayId' => '<string>',
    'VpnConnectionId' => '<string>',
    'VpnGatewayId' => '<string>',
    'VpnTunnelOutsideIpAddress' => '<string>',
]

Result Details

Members
CustomerGatewayId
Type: string

The ID of the customer gateway.

MaintenanceDetails
Type: MaintenanceDetails structure

Get details of pending tunnel endpoint maintenance.

TransitGatewayId
Type: string

The ID of the transit gateway associated with the VPN connection.

VpnConnectionId
Type: string

The ID of the Site-to-Site VPN connection.

VpnGatewayId
Type: string

The ID of the virtual private gateway.

VpnTunnelOutsideIpAddress
Type: string

The external IP address of the VPN tunnel.

Errors

There are no errors described for this operation.

ImportClientVpnClientCertificateRevocationList

$result = $client->importClientVpnClientCertificateRevocationList([/* ... */]);
$promise = $client->importClientVpnClientCertificateRevocationListAsync([/* ... */]);

Uploads a client certificate revocation list to the specified Client VPN endpoint. Uploading a client certificate revocation list overwrites the existing client certificate revocation list.

Uploading a client certificate revocation list resets existing client connections.

Parameter Syntax

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

Parameter Details

Members
CertificateRevocationList
Required: Yes
Type: string

The client certificate revocation list file. For more information, see Generate a Client Certificate Revocation List in the Client VPN Administrator Guide.

ClientVpnEndpointId
Required: Yes
Type: string

The ID of the Client VPN endpoint to which the client certificate revocation list applies.

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.

ImportImage

$result = $client->importImage([/* ... */]);
$promise = $client->importImageAsync([/* ... */]);

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. For more information, see the Migration Hub Orchestrator User Guide .

Import single or multi-volume disk images or EBS snapshots into an Amazon Machine Image (AMI).

Amazon Web Services VM Import/Export strongly recommends specifying a value for either the --license-type or --usage-operation parameter when you create a new VM Import task. This ensures your operating system is licensed appropriately and your billing is optimized.

For more information, see Importing a VM as an image using VM Import/Export in the VM Import/Export User Guide.

Parameter Syntax

$result = $client->importImage([
    'Architecture' => '<string>',
    'BootMode' => 'legacy-bios|uefi|uefi-preferred',
    'ClientData' => [
        'Comment' => '<string>',
        'UploadEnd' => <integer || string || DateTime>,
        'UploadSize' => <float>,
        'UploadStart' => <integer || string || DateTime>,
    ],
    'ClientToken' => '<string>',
    'Description' => '<string>',
    'DiskContainers' => [
        [
            'Description' => '<string>',
            'DeviceName' => '<string>',
            'Format' => '<string>',
            'SnapshotId' => '<string>',
            'Url' => '<string>',
            'UserBucket' => [
                'S3Bucket' => '<string>',
                'S3Key' => '<string>',
            ],
        ],
        // ...
    ],
    'DryRun' => true || false,
    'Encrypted' => true || false,
    'Hypervisor' => '<string>',
    'KmsKeyId' => '<string>',
    'LicenseSpecifications' => [
        [
            'LicenseConfigurationArn' => '<string>',
        ],
        // ...
    ],
    'LicenseType' => '<string>',
    'Platform' => '<string>',
    'RoleName' => '<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>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'UsageOperation' => '<string>',
]);

Parameter Details

Members
Architecture
Type: string

The architecture of the virtual machine.

Valid values: i386 | x86_64

BootMode
Type: string

The boot mode of the virtual machine.

The uefi-preferred boot mode isn't supported for importing images. For more information, see Boot modes in the VM Import/Export User Guide.

ClientData
Type: ClientData structure

The client-specific data.

ClientToken
Type: string

The token to enable idempotency for VM import requests.

Description
Type: string

A description string for the import image task.

DiskContainers
Type: Array of ImageDiskContainer structures

Information about the disk containers.

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 AMI of the imported image should be encrypted. The default KMS key for EBS is used unless you specify a non-default KMS key using KmsKeyId. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

Hypervisor
Type: string

The target hypervisor platform.

Valid values: xen

KmsKeyId
Type: string

An identifier for the symmetric KMS key to use when creating the encrypted AMI. This parameter is only required if you want to use a non-default KMS key; if this parameter is not specified, the default KMS key for EBS is used. If a KmsKeyId is specified, the Encrypted flag must also be set.

The KMS key identifier may be provided in any of the following formats:

  • Key ID

  • Key alias

  • ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the key namespace, and then the key ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.

  • ARN using key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the alias namespace, and then the key alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

Amazon Web Services parses KmsKeyId asynchronously, meaning that the action you call may appear to complete even though you provided an invalid identifier. This action will eventually report failure.

The specified KMS key must exist in the Region that the AMI is being copied to.

Amazon EBS does not support asymmetric KMS keys.

LicenseSpecifications
Type: Array of ImportImageLicenseConfigurationRequest structures

The ARNs of the license configurations.

LicenseType
Type: string

The license type to be used for the Amazon Machine Image (AMI) after importing.

Specify AWS to replace the source-system license with an Amazon Web Services license or BYOL to retain the source-system license. Leaving this parameter undefined is the same as choosing AWS when importing a Windows Server operating system, and the same as choosing BYOL when importing a Windows client operating system (such as Windows 10) or a Linux operating system.

To use BYOL, you must have existing licenses with rights to use these licenses in a third party cloud, such as Amazon Web Services. For more information, see Prerequisites in the VM Import/Export User Guide.

Platform
Type: string

The operating system of the virtual machine. If you import a VM that is compatible with Unified Extensible Firmware Interface (UEFI) using an EBS snapshot, you must specify a value for the platform.

Valid values: Windows | Linux

RoleName
Type: string

The name of the role to use when not using the default role, 'vmimport'.

TagSpecifications
Type: Array of TagSpecification structures

The tags to apply to the import image task during creation.

UsageOperation
Type: string

The usage operation value. For more information, see Licensing options in the VM Import/Export User Guide.

Result Syntax

[
    'Architecture' => '<string>',
    'Description' => '<string>',
    'Encrypted' => true || false,
    'Hypervisor' => '<string>',
    'ImageId' => '<string>',
    'ImportTaskId' => '<string>',
    'KmsKeyId' => '<string>',
    'LicenseSpecifications' => [
        [
            'LicenseConfigurationArn' => '<string>',
        ],
        // ...
    ],
    'LicenseType' => '<string>',
    'Platform' => '<string>',
    'Progress' => '<string>',
    'SnapshotDetails' => [
        [
            'Description' => '<string>',
            'DeviceName' => '<string>',
            'DiskImageSize' => <float>,
            'Format' => '<string>',
            'Progress' => '<string>',
            'SnapshotId' => '<string>',
            'Status' => '<string>',
            'StatusMessage' => '<string>',
            'Url' => '<string>',
            'UserBucket' => [
                'S3Bucket' => '<string>',
                'S3Key' => '<string>',
            ],
        ],
        // ...
    ],
    'Status' => '<string>',
    'StatusMessage' => '<string>',
    'Tags' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
    'UsageOperation' => '<string>',
]

Result Details

Members
Architecture
Type: string

The architecture of the virtual machine.

Description
Type: string

A description of the import task.

Encrypted
Type: boolean

Indicates whether the AMI is encrypted.

Hypervisor
Type: string

The target hypervisor of the import task.

ImageId
Type: string

The ID of the Amazon Machine Image (AMI) created by the import task.

ImportTaskId
Type: string

The task ID of the import image task.

KmsKeyId
Type: string

The identifier for the symmetric KMS key that was used to create the encrypted AMI.

LicenseSpecifications
Type: Array of ImportImageLicenseConfigurationResponse structures

The ARNs of the license configurations.

LicenseType
Type: string

The license type of the virtual machine.

Platform
Type: string

The operating system of the virtual machine.

Progress
Type: string

The progress of the task.

SnapshotDetails
Type: Array of SnapshotDetail structures

Information about the snapshots.

Status
Type: string

A brief status of the task.

StatusMessage
Type: string

A detailed status message of the import task.

Tags
Type: Array of Tag structures

Any tags assigned to the import image task.

UsageOperation
Type: string

The usage operation value.

Errors

There are no errors described for this operation.

ImportInstance

$result = $client->importInstance([/* ... */]);
$promise = $client->importInstanceAsync([/* ... */]);

We recommend that you use the ImportImage API instead. For more information, see Importing a VM as an image using VM Import/Export in the VM Import/Export User Guide.

Creates an import instance task using metadata from the specified disk image.

This API action supports only single-volume VMs. To import multi-volume VMs, use ImportImage instead.

For information about the import manifest referenced by this API action, see VM Import Manifest.

This API action is not supported by the Command Line Interface (CLI).

Parameter Syntax

$result = $client->importInstance([
    'Description' => '<string>',
    'DiskImages' => [
        [
            'Description' => '<string>',
            'Image' => [
                'Bytes' => <integer>, // REQUIRED
                'Format' => 'VMDK|RAW|VHD', // REQUIRED
                'ImportManifestUrl' => '<string>', // REQUIRED
            ],
            'Volume' => [
                'Size' => <integer>, // REQUIRED
            ],
        ],
        // ...
    ],
    'DryRun' => true || false,
    'LaunchSpecification' => [
        'AdditionalInfo' => '<string>',
        'Architecture' => 'i386|x86_64|arm64|x86_64_mac|arm64_mac',
        'GroupIds' => ['<string>', ...],
        'GroupNames' => ['<string>', ...],
        'InstanceInitiatedShutdownBehavior' => 'stop|terminate',
        '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',
        'Monitoring' => true || false,
        'Placement' => [
            'Affinity' => '<string>',
            'AvailabilityZone' => '<string>',
            'GroupId' => '<string>',
            'GroupName' => '<string>',
            'HostId' => '<string>',
            'HostResourceGroupArn' => '<string>',
            'PartitionNumber' => <integer>,
            'SpreadDomain' => '<string>',
            'Tenancy' => 'default|dedicated|host',
        ],
        'PrivateIpAddress' => '<string>',
        'SubnetId' => '<string>',
        'UserData' => [
            'Data' => '<string>',
        ],
    ],
    'Platform' => 'Windows', // REQUIRED
]);

Parameter Details

Members
Description
Type: string

A description for the instance being imported.

DiskImages
Type: Array of DiskImage structures

The disk 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.

LaunchSpecification

The launch specification.

Platform
Required: Yes
Type: string

The instance operating system.

Result Syntax

[
    'ConversionTask' => [
        'ConversionTaskId' => '<string>',
        'ExpirationTime' => '<string>',
        'ImportInstance' => [
            'Description' => '<string>',
            'InstanceId' => '<string>',
            'Platform' => 'Windows',
            'Volumes' => [
                [
                    'AvailabilityZone' => '<string>',
                    'BytesConverted' => <integer>,
                    'Description' => '<string>',
                    'Image' => [
                        'Checksum' => '<string>',
                        'Format' => 'VMDK|RAW|VHD',
                        'ImportManifestUrl' => '<string>',
                        'Size' => <integer>,
                    ],
                    'Status' => '<string>',
                    'StatusMessage' => '<string>',
                    'Volume' => [
                        'Id' => '<string>',
                        'Size' => <integer>,
                    ],
                ],
                // ...
            ],
        ],
        'ImportVolume' => [
            'AvailabilityZone' => '<string>',
            'BytesConverted' => <integer>,
            'Description' => '<string>',
            'Image' => [
                'Checksum' => '<string>',
                'Format' => 'VMDK|RAW|VHD',
                'ImportManifestUrl' => '<string>',
                'Size' => <integer>,
            ],
            'Volume' => [
                'Id' => '<string>',
                'Size' => <integer>,
            ],
        ],
        'State' => 'active|cancelling|cancelled|completed',
        'StatusMessage' => '<string>',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
    ],
]

Result Details

Members
ConversionTask
Type: ConversionTask structure

Information about the conversion task.

Errors

There are no errors described for this operation.

ImportKeyPair

$result = $client->importKeyPair([/* ... */]);
$promise = $client->importKeyPairAsync([/* ... */]);

Imports the public key from an RSA or ED25519 key pair that you created using a third-party tool. You give Amazon Web Services only the public key. The private key is never transferred between you and Amazon Web Services.

For more information about the requirements for importing a key pair, see Create a key pair and import the public key to Amazon EC2 in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->importKeyPair([
    'DryRun' => true || false,
    'KeyName' => '<string>', // REQUIRED
    'PublicKeyMaterial' => <string || resource || Psr\Http\Message\StreamInterface>, // 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.

KeyName
Required: Yes
Type: string

A unique name for the key pair.

PublicKeyMaterial
Required: Yes
Type: blob (string|resource|Psr\Http\Message\StreamInterface)

The public key.

TagSpecifications
Type: Array of TagSpecification structures

The tags to apply to the imported key pair.

Result Syntax

[
    'KeyFingerprint' => '<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 MD5 public key fingerprint as specified in section 4 of RFC 4716.

  • 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.

KeyName
Type: string

The key pair name that you provided.

KeyPairId
Type: string

The ID of the resulting key pair.

Tags
Type: Array of Tag structures

The tags applied to the imported key pair.

Errors

There are no errors described for this operation.

ImportSnapshot

$result = $client->importSnapshot([/* ... */]);
$promise = $client->importSnapshotAsync([/* ... */]);

Imports a disk into an EBS snapshot.

For more information, see Importing a disk as a snapshot using VM Import/Export in the VM Import/Export User Guide.

Parameter Syntax

$result = $client->importSnapshot([
    'ClientData' => [
        'Comment' => '<string>',
        'UploadEnd' => <integer || string || DateTime>,
        'UploadSize' => <float>,
        'UploadStart' => <integer || string || DateTime>,
    ],
    'ClientToken' => '<string>',
    'Description' => '<string>',
    'DiskContainer' => [
        'Description' => '<string>',
        'Format' => '<string>',
        'Url' => '<string>',
        'UserBucket' => [
            'S3Bucket' => '<string>',
            'S3Key' => '<string>',
        ],
    ],
    'DryRun' => true || false,
    'Encrypted' => true || false,
    'KmsKeyId' => '<string>',
    'RoleName' => '<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
ClientData
Type: ClientData structure

The client-specific data.

ClientToken
Type: string

Token to enable idempotency for VM import requests.

Description
Type: string

The description string for the import snapshot task.

DiskContainer
Type: SnapshotDiskContainer structure

Information about the disk container.

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 snapshot of the imported image should be encrypted. The default KMS key for EBS is used unless you specify a non-default KMS key using KmsKeyId. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

KmsKeyId
Type: string

An identifier for the symmetric KMS key to use when creating the encrypted snapshot. This parameter is only required if you want to use a non-default KMS key; if this parameter is not specified, the default KMS key for EBS is used. If a KmsKeyId is specified, the Encrypted flag must also be set.

The KMS key identifier may be provided in any of the following formats:

  • Key ID

  • Key alias

  • ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the key namespace, and then the key ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.

  • ARN using key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the alias namespace, and then the key alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

Amazon Web Services parses KmsKeyId asynchronously, meaning that the action you call may appear to complete even though you provided an invalid identifier. This action will eventually report failure.

The specified KMS key must exist in the Region that the snapshot is being copied to.

Amazon EBS does not support asymmetric KMS keys.

RoleName
Type: string

The name of the role to use when not using the default role, 'vmimport'.

TagSpecifications
Type: Array of TagSpecification structures

The tags to apply to the import snapshot task during creation.

Result Syntax

[
    'Description' => '<string>',
    'ImportTaskId' => '<string>',
    'SnapshotTaskDetail' => [
        'Description' => '<string>',
        'DiskImageSize' => <float>,
        'Encrypted' => true || false,
        'Format' => '<string>',
        'KmsKeyId' => '<string>',
        'Progress' => '<string>',
        'SnapshotId' => '<string>',
        'Status' => '<string>',
        'StatusMessage' => '<string>',
        'Url' => '<string>',
        'UserBucket' => [
            'S3Bucket' => '<string>',
            'S3Key' => '<string>',
        ],
    ],
    'Tags' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
Description
Type: string

A description of the import snapshot task.

ImportTaskId
Type: string

The ID of the import snapshot task.

SnapshotTaskDetail
Type: SnapshotTaskDetail structure

Information about the import snapshot task.

Tags
Type: Array of Tag structures

Any tags assigned to the import snapshot task.

Errors

There are no errors described for this operation.

ImportVolume

$result = $client->importVolume([/* ... */]);
$promise = $client->importVolumeAsync([/* ... */]);

This API action supports only single-volume VMs. To import multi-volume VMs, use ImportImage instead. To import a disk to a snapshot, use ImportSnapshot instead.

Creates an import volume task using metadata from the specified disk image.

For information about the import manifest referenced by this API action, see VM Import Manifest.

This API action is not supported by the Command Line Interface (CLI).

Parameter Syntax

$result = $client->importVolume([
    'AvailabilityZone' => '<string>', // REQUIRED
    'Description' => '<string>',
    'DryRun' => true || false,
    'Image' => [ // REQUIRED
        'Bytes' => <integer>, // REQUIRED
        'Format' => 'VMDK|RAW|VHD', // REQUIRED
        'ImportManifestUrl' => '<string>', // REQUIRED
    ],
    'Volume' => [ // REQUIRED
        'Size' => <integer>, // REQUIRED
    ],
]);

Parameter Details

Members
AvailabilityZone
Required: Yes
Type: string

The Availability Zone for the resulting EBS volume.

Description
Type: string

A description of the volume.

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.

Image
Required: Yes
Type: DiskImageDetail structure

The disk image.

Volume
Required: Yes
Type: VolumeDetail structure

The volume size.

Result Syntax

[
    'ConversionTask' => [
        'ConversionTaskId' => '<string>',
        'ExpirationTime' => '<string>',
        'ImportInstance' => [
            'Description' => '<string>',
            'InstanceId' => '<string>',
            'Platform' => 'Windows',
            'Volumes' => [
                [
                    'AvailabilityZone' => '<string>',
                    'BytesConverted' => <integer>,
                    'Description' => '<string>',
                    'Image' => [
                        'Checksum' => '<string>',
                        'Format' => 'VMDK|RAW|VHD',
                        'ImportManifestUrl' => '<string>',
                        'Size' => <integer>,
                    ],
                    'Status' => '<string>',
                    'StatusMessage' => '<string>',
                    'Volume' => [
                        'Id' => '<string>',
                        'Size' => <integer>,
                    ],
                ],
                // ...
            ],
        ],
        'ImportVolume' => [
            'AvailabilityZone' => '<string>',
            'BytesConverted' => <integer>,
            'Description' => '<string>',
            'Image' => [
                'Checksum' => '<string>',
                'Format' => 'VMDK|RAW|VHD',
                'ImportManifestUrl' => '<string>',
                'Size' => <integer>,
            ],
            'Volume' => [
                'Id' => '<string>',
                'Size' => <integer>,
            ],
        ],
        'State' => 'active|cancelling|cancelled|completed',
        'StatusMessage' => '<string>',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
    ],
]

Result Details

Members
ConversionTask
Type: ConversionTask structure

Information about the conversion task.

Errors

There are no errors described for this operation.

ListImagesInRecycleBin

$result = $client->listImagesInRecycleBin([/* ... */]);
$promise = $client->listImagesInRecycleBinAsync([/* ... */]);

Lists one or more AMIs that are currently in the Recycle Bin. For more information, see Recycle Bin in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->listImagesInRecycleBin([
    'DryRun' => true || false,
    'ImageIds' => ['<string>', ...],
    'MaxResults' => <integer>,
    'NextToken' => '<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.

ImageIds
Type: Array of strings

The IDs of the AMIs to list. Omit this parameter to list all of the AMIs that are in the Recycle Bin. You can specify up to 20 IDs in a single request.

MaxResults
Type: int

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

NextToken
Type: string

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

Result Syntax

[
    'Images' => [
        [
            'Description' => '<string>',
            'ImageId' => '<string>',
            'Name' => '<string>',
            'RecycleBinEnterTime' => <DateTime>,
            'RecycleBinExitTime' => <DateTime>,
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
Images
Type: Array of ImageRecycleBinInfo structures

Information about the AMIs.

NextToken
Type: string

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

Errors

There are no errors described for this operation.

ListSnapshotsInRecycleBin

$result = $client->listSnapshotsInRecycleBin([/* ... */]);
$promise = $client->listSnapshotsInRecycleBinAsync([/* ... */]);

Lists one or more snapshots that are currently in the Recycle Bin.

Parameter Syntax

$result = $client->listSnapshotsInRecycleBin([
    'DryRun' => true || false,
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'SnapshotIds' => ['<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.

MaxResults
Type: int

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

NextToken
Type: string

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

SnapshotIds
Type: Array of strings

The IDs of the snapshots to list. Omit this parameter to list all of the snapshots that are in the Recycle Bin.

Result Syntax

[
    'NextToken' => '<string>',
    'Snapshots' => [
        [
            'Description' => '<string>',
            'RecycleBinEnterTime' => <DateTime>,
            'RecycleBinExitTime' => <DateTime>,
            'SnapshotId' => '<string>',
            'VolumeId' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

Snapshots
Type: Array of SnapshotRecycleBinInfo structures

Information about the snapshots.

Errors

There are no errors described for this operation.

LockSnapshot

$result = $client->lockSnapshot([/* ... */]);
$promise = $client->lockSnapshotAsync([/* ... */]);

Locks an Amazon EBS snapshot in either governance or compliance mode to protect it against accidental or malicious deletions for a specific duration. A locked snapshot can't be deleted.

You can also use this action to modify the lock settings for a snapshot that is already locked. The allowed modifications depend on the lock mode and lock state:

  • If the snapshot is locked in governance mode, you can modify the lock mode and the lock duration or lock expiration date.

  • If the snapshot is locked in compliance mode and it is in the cooling-off period, you can modify the lock mode and the lock duration or lock expiration date.

  • If the snapshot is locked in compliance mode and the cooling-off period has lapsed, you can only increase the lock duration or extend the lock expiration date.

Parameter Syntax

$result = $client->lockSnapshot([
    'CoolOffPeriod' => <integer>,
    'DryRun' => true || false,
    'ExpirationDate' => <integer || string || DateTime>,
    'LockDuration' => <integer>,
    'LockMode' => 'compliance|governance', // REQUIRED
    'SnapshotId' => '<string>', // REQUIRED
]);

Parameter Details

Members
CoolOffPeriod
Type: int

The cooling-off period during which you can unlock the snapshot or modify the lock settings after locking the snapshot in compliance mode, in hours. After the cooling-off period expires, you can't unlock or delete the snapshot, decrease the lock duration, or change the lock mode. You can increase the lock duration after the cooling-off period expires.

The cooling-off period is optional when locking a snapshot in compliance mode. If you are locking the snapshot in governance mode, omit this parameter.

To lock the snapshot in compliance mode immediately without a cooling-off period, omit this parameter.

If you are extending the lock duration for a snapshot that is locked in compliance mode after the cooling-off period has expired, omit this parameter. If you specify a cooling-period in a such a request, the request fails.

Allowed values: Min 1, max 72.

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.

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

The date and time at which the snapshot lock is to automatically expire, in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ).

You must specify either this parameter or LockDuration, but not both.

LockDuration
Type: int

The period of time for which to lock the snapshot, in days. The snapshot lock will automatically expire after this period lapses.

You must specify either this parameter or ExpirationDate, but not both.

Allowed values: Min: 1, max 36500

LockMode
Required: Yes
Type: string

The mode in which to lock the snapshot. Specify one of the following:

  • governance - Locks the snapshot in governance mode. Snapshots locked in governance mode can't be deleted until one of the following conditions are met:

    • The lock duration expires.

    • The snapshot is unlocked by a user with the appropriate permissions.

    Users with the appropriate IAM permissions can unlock the snapshot, increase or decrease the lock duration, and change the lock mode to compliance at any time.

    If you lock a snapshot in governance mode, omit CoolOffPeriod.

  • compliance - Locks the snapshot in compliance mode. Snapshots locked in compliance mode can't be unlocked by any user. They can be deleted only after the lock duration expires. Users can't decrease the lock duration or change the lock mode to governance. However, users with appropriate IAM permissions can increase the lock duration at any time.

    If you lock a snapshot in compliance mode, you can optionally specify CoolOffPeriod.

SnapshotId
Required: Yes
Type: string

The ID of the snapshot to lock.

Result Syntax

[
    'CoolOffPeriod' => <integer>,
    'CoolOffPeriodExpiresOn' => <DateTime>,
    'LockCreatedOn' => <DateTime>,
    'LockDuration' => <integer>,
    'LockDurationStartTime' => <DateTime>,
    'LockExpiresOn' => <DateTime>,
    'LockState' => 'compliance|governance|compliance-cooloff|expired',
    'SnapshotId' => '<string>',
]

Result Details

Members
CoolOffPeriod
Type: int

The compliance mode cooling-off period, in hours.

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

The date and time at which the compliance mode cooling-off period expires, in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ).

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

The date and time at which the snapshot was locked, in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ).

LockDuration
Type: int

The period of time for which the snapshot is locked, in days.

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

The date and time at which the lock duration started, in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ).

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

The date and time at which the lock will expire, in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ).

LockState
Type: string

The state of the snapshot lock. Valid states include:

  • compliance-cooloff - The snapshot has been locked in compliance mode but it is still within the cooling-off period. The snapshot can't be deleted, but it can be unlocked and the lock settings can be modified by users with appropriate permissions.

  • governance - The snapshot is locked in governance mode. The snapshot can't be deleted, but it can be unlocked and the lock settings can be modified by users with appropriate permissions.

  • compliance - The snapshot is locked in compliance mode and the cooling-off period has expired. The snapshot can't be unlocked or deleted. The lock duration can only be increased by users with appropriate permissions.

  • expired - The snapshot was locked in compliance or governance mode but the lock duration has expired. The snapshot is not locked and can be deleted.

SnapshotId
Type: string

The ID of the snapshot

Errors

There are no errors described for this operation.

ModifyAddressAttribute

$result = $client->modifyAddressAttribute([/* ... */]);
$promise = $client->modifyAddressAttributeAsync([/* ... */]);

Modifies an attribute of the specified Elastic IP address. For requirements, see Using reverse DNS for email applications.

Parameter Syntax

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

Parameter Details

Members
AllocationId
Required: Yes
Type: string

[EC2-VPC] The allocation ID.

DomainName
Type: string

The domain name to modify for the IP address.

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

[
    'Address' => [
        'AllocationId' => '<string>',
        'PtrRecord' => '<string>',
        'PtrRecordUpdate' => [
            'Reason' => '<string>',
            'Status' => '<string>',
            'Value' => '<string>',
        ],
        'PublicIp' => '<string>',
    ],
]

Result Details

Members
Address
Type: AddressAttribute structure

Information about the Elastic IP address.

Errors

There are no errors described for this operation.

ModifyAvailabilityZoneGroup

$result = $client->modifyAvailabilityZoneGroup([/* ... */]);
$promise = $client->modifyAvailabilityZoneGroupAsync([/* ... */]);

Changes the opt-in status of the specified zone group for your account.

Parameter Syntax

$result = $client->modifyAvailabilityZoneGroup([
    'DryRun' => true || false,
    'GroupName' => '<string>', // REQUIRED
    'OptInStatus' => 'opted-in|not-opted-in', // 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.

GroupName
Required: Yes
Type: string

The name of the Availability Zone group, Local Zone group, or Wavelength Zone group.

OptInStatus
Required: Yes
Type: string

Indicates whether to opt in to the zone group. The only valid value is opted-in. You must contact Amazon Web Services Support to opt out of a Local Zone or Wavelength Zone group.

Result Syntax

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

Result Details

Members
Return
Type: boolean

Is true if the request succeeds, and an error otherwise.

Errors

There are no errors described for this operation.

ModifyCapacityReservation

$result = $client->modifyCapacityReservation([/* ... */]);
$promise = $client->modifyCapacityReservationAsync([/* ... */]);

Modifies a Capacity Reservation's capacity, instance eligibility, and the conditions under which it is to be released. You can't modify a Capacity Reservation's instance type, EBS optimization, platform, instance store settings, Availability Zone, or tenancy. If you need to modify any of these attributes, we recommend that you cancel the Capacity Reservation, and then create a new one with the required attributes. For more information, see Modify an active Capacity Reservation.

Parameter Syntax

$result = $client->modifyCapacityReservation([
    'Accept' => true || false,
    'AdditionalInfo' => '<string>',
    'CapacityReservationId' => '<string>', // REQUIRED
    'DryRun' => true || false,
    'EndDate' => <integer || string || DateTime>,
    'EndDateType' => 'unlimited|limited',
    'InstanceCount' => <integer>,
    'InstanceMatchCriteria' => 'open|targeted',
]);

Parameter Details

Members
Accept
Type: boolean

Reserved. Capacity Reservations you have created are accepted by default.

AdditionalInfo
Type: string

Reserved for future use.

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.

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.

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.

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

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 value if EndDateType is unlimited.

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

InstanceCount
Type: int

The number of instances for which to reserve capacity. The number of instances can't be increased or decreased by more than 1000 in a single request.

InstanceMatchCriteria
Type: string

The matching criteria (instance eligibility) that you want to use in the modified Capacity Reservation. If you change the instance eligibility of an existing Capacity Reservation from targeted to open, any running instances that match the attributes of the Capacity Reservation, have the CapacityReservationPreference set to open, and are not yet running in the Capacity Reservation, will automatically use the modified Capacity Reservation.

To modify the instance eligibility, the Capacity Reservation must be completely idle (zero usage).

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.

ModifyCapacityReservationFleet

$result = $client->modifyCapacityReservationFleet([/* ... */]);
$promise = $client->modifyCapacityReservationFleetAsync([/* ... */]);

Modifies a Capacity Reservation Fleet.

When you modify the total target capacity of a Capacity Reservation Fleet, the Fleet automatically creates new Capacity Reservations, or modifies or cancels existing Capacity Reservations in the Fleet to meet the new total target capacity. When you modify the end date for the Fleet, the end dates for all of the individual Capacity Reservations in the Fleet are updated accordingly.

Parameter Syntax

$result = $client->modifyCapacityReservationFleet([
    'CapacityReservationFleetId' => '<string>', // REQUIRED
    'DryRun' => true || false,
    'EndDate' => <integer || string || DateTime>,
    'RemoveEndDate' => true || false,
    'TotalTargetCapacity' => <integer>,
]);

Parameter Details

Members
CapacityReservationFleetId
Required: Yes
Type: string

The ID of the Capacity Reservation Fleet to modify.

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.

You can't specify EndDate and RemoveEndDate in the same request.

RemoveEndDate
Type: boolean

Indicates whether to remove the end date from the Capacity Reservation Fleet. If you remove the end date, the Capacity Reservation Fleet does not expire and it remains active until you explicitly cancel it using the CancelCapacityReservationFleet action.

You can't specify RemoveEndDate and EndDate in the same request.

TotalTargetCapacity
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

[
    '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.

ModifyClientVpnEndpoint

$result = $client->modifyClientVpnEndpoint([/* ... */]);
$promise = $client->modifyClientVpnEndpointAsync([/* ... */]);

Modifies the specified Client VPN endpoint. Modifying the DNS server resets existing client connections.

Parameter Syntax

$result = $client->modifyClientVpnEndpoint([
    'ClientConnectOptions' => [
        'Enabled' => true || false,
        'LambdaFunctionArn' => '<string>',
    ],
    'ClientLoginBannerOptions' => [
        'BannerText' => '<string>',
        'Enabled' => true || false,
    ],
    'ClientVpnEndpointId' => '<string>', // REQUIRED
    'ConnectionLogOptions' => [
        'CloudwatchLogGroup' => '<string>',
        'CloudwatchLogStream' => '<string>',
        'Enabled' => true || false,
    ],
    'Description' => '<string>',
    'DnsServers' => [
        'CustomDnsServers' => ['<string>', ...],
        'Enabled' => true || false,
    ],
    'DryRun' => true || false,
    'SecurityGroupIds' => ['<string>', ...],
    'SelfServicePortal' => 'enabled|disabled',
    'ServerCertificateArn' => '<string>',
    'SessionTimeoutHours' => <integer>,
    'SplitTunnel' => true || false,
    'VpcId' => '<string>',
    'VpnPort' => <integer>,
]);

Parameter Details

Members
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.

ClientVpnEndpointId
Required: Yes
Type: string

The ID of the Client VPN endpoint to modify.

ConnectionLogOptions
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

Information about the DNS servers to be used by Client VPN connections. A Client VPN endpoint can have up to two DNS servers.

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.

SelfServicePortal
Type: string

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

ServerCertificateArn
Type: string

The ARN of the server certificate to be used. The server certificate must be provisioned in Certificate Manager (ACM).

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 the VPN is split-tunnel.

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

VpcId
Type: string

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

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

[
    '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.

ModifyDefaultCreditSpecification

$result = $client->modifyDefaultCreditSpecification([/* ... */]);
$promise = $client->modifyDefaultCreditSpecificationAsync([/* ... */]);

Modifies the default credit option for CPU usage of burstable performance instances. The default credit option is set at the account level per Amazon Web Services Region, and is specified per instance family. All new burstable performance instances in the account launch using the default credit option.

ModifyDefaultCreditSpecification is an asynchronous operation, which works at an Amazon Web Services Region level and modifies the credit option for each Availability Zone. All zones in a Region are updated within five minutes. But if instances are launched during this operation, they might not get the new credit option until the zone is updated. To verify whether the update has occurred, you can call GetDefaultCreditSpecification and check DefaultCreditSpecification for updates.

For more information, see Burstable performance instances in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->modifyDefaultCreditSpecification([
    'CpuCredits' => '<string>', // REQUIRED
    'DryRun' => true || false,
    'InstanceFamily' => 't2|t3|t3a|t4g', // REQUIRED
]);

Parameter Details

Members
CpuCredits
Required: Yes
Type: string

The credit option for CPU usage of the instance family.

Valid Values: standard | unlimited

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.

InstanceFamily
Required: Yes
Type: string

The instance family.

Result Syntax

[
    'InstanceFamilyCreditSpecification' => [
        'CpuCredits' => '<string>',
        'InstanceFamily' => 't2|t3|t3a|t4g',
    ],
]

Result Details

Members
InstanceFamilyCreditSpecification

The default credit option for CPU usage of the instance family.

Errors

There are no errors described for this operation.

ModifyEbsDefaultKmsKeyId

$result = $client->modifyEbsDefaultKmsKeyId([/* ... */]);
$promise = $client->modifyEbsDefaultKmsKeyIdAsync([/* ... */]);

Changes the default KMS key for EBS encryption by default for your account in this Region.

Amazon Web Services creates a unique Amazon Web Services managed KMS key in each Region for use with encryption by default. If you change the default KMS key to a symmetric customer managed KMS key, it is used instead of the Amazon Web Services managed KMS key. To reset the default KMS key to the Amazon Web Services managed KMS key for EBS, use ResetEbsDefaultKmsKeyId. Amazon EBS does not support asymmetric KMS keys.

If you delete or disable the customer managed KMS key that you specified for use with encryption by default, your instances will fail to launch.

For more information, see Amazon EBS encryption in the Amazon EBS User Guide.

Parameter Syntax

$result = $client->modifyEbsDefaultKmsKeyId([
    'DryRun' => true || false,
    'KmsKeyId' => '<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.

KmsKeyId
Required: Yes
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.

Amazon EBS does not support asymmetric KMS keys.

Result Syntax

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

Result Details

Members
KmsKeyId
Type: string

The Amazon Resource Name (ARN) of the default KMS key for encryption by default.

Errors

There are no errors described for this operation.

ModifyFleet

$result = $client->modifyFleet([/* ... */]);
$promise = $client->modifyFleetAsync([/* ... */]);

Modifies the specified EC2 Fleet.

You can only modify an EC2 Fleet request of type maintain.

While the EC2 Fleet is being modified, it is in the modifying state.

To scale up your EC2 Fleet, increase its target capacity. The EC2 Fleet launches the additional Spot Instances according to the allocation strategy for the EC2 Fleet request. If the allocation strategy is lowest-price, the EC2 Fleet launches instances using the Spot Instance pool with the lowest price. If the allocation strategy is diversified, the EC2 Fleet distributes the instances across the Spot Instance pools. If the allocation strategy is capacity-optimized, EC2 Fleet launches instances from Spot Instance pools with optimal capacity for the number of instances that are launching.

To scale down your EC2 Fleet, decrease its target capacity. First, the EC2 Fleet cancels any open requests that exceed the new target capacity. You can request that the EC2 Fleet terminate Spot Instances until the size of the fleet no longer exceeds the new target capacity. If the allocation strategy is lowest-price, the EC2 Fleet terminates the instances with the highest price per unit. If the allocation strategy is capacity-optimized, the EC2 Fleet terminates the instances in the Spot Instance pools that have the least available Spot Instance capacity. If the allocation strategy is diversified, the EC2 Fleet terminates instances across the Spot Instance pools. Alternatively, you can request that the EC2 Fleet keep the fleet at its current size, but not replace any Spot Instances that are interrupted or that you terminate manually.

If you are finished with your EC2 Fleet for now, but will use it again later, you can set the target capacity to 0.

Parameter Syntax

$result = $client->modifyFleet([
    'Context' => '<string>',
    'DryRun' => true || false,
    'ExcessCapacityTerminationPolicy' => 'no-termination|termination',
    'FleetId' => '<string>', // REQUIRED
    'LaunchTemplateConfigs' => [
        [
            '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>,
                        ],
                        '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>,
                ],
                // ...
            ],
        ],
        // ...
    ],
    'TargetCapacitySpecification' => [
        'DefaultTargetCapacityType' => 'spot|on-demand|capacity-block',
        'OnDemandTargetCapacity' => <integer>,
        'SpotTargetCapacity' => <integer>,
        'TargetCapacityUnitType' => 'vcpu|memory-mib|units',
        'TotalTargetCapacity' => <integer>, // REQUIRED
    ],
]);

Parameter Details

Members
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.

FleetId
Required: Yes
Type: string

The ID of the EC2 Fleet.

LaunchTemplateConfigs
Type: Array of FleetLaunchTemplateConfigRequest structures

The launch template and overrides.

TargetCapacitySpecification

The size of the EC2 Fleet.

Result Syntax

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

Result Details

Members
Return
Type: boolean

If the request succeeds, the response returns true. If the request fails, no response is returned, and instead an error message is returned.

Errors

There are no errors described for this operation.

ModifyFpgaImageAttribute

$result = $client->modifyFpgaImageAttribute([/* ... */]);
$promise = $client->modifyFpgaImageAttributeAsync([/* ... */]);

Modifies the specified attribute of the specified Amazon FPGA Image (AFI).

Parameter Syntax

$result = $client->modifyFpgaImageAttribute([
    'Attribute' => 'description|name|loadPermission|productCodes',
    'Description' => '<string>',
    'DryRun' => true || false,
    'FpgaImageId' => '<string>', // REQUIRED
    'LoadPermission' => [
        'Add' => [
            [
                'Group' => 'all',
                'UserId' => '<string>',
            ],
            // ...
        ],
        'Remove' => [
            [
                'Group' => 'all',
                'UserId' => '<string>',
            ],
            // ...
        ],
    ],
    'Name' => '<string>',
    'OperationType' => 'add|remove',
    'ProductCodes' => ['<string>', ...],
    'UserGroups' => ['<string>', ...],
    'UserIds' => ['<string>', ...],
]);

Parameter Details

Members
Attribute
Type: string

The name of the attribute.

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.

FpgaImageId
Required: Yes
Type: string

The ID of the AFI.

LoadPermission
Type: LoadPermissionModifications structure

The load permission for the AFI.

Name
Type: string

A name for the AFI.

OperationType
Type: string

The operation type.

ProductCodes
Type: Array of strings

The product codes. After you add a product code to an AFI, it can't be removed. This parameter is valid only when modifying the productCodes attribute.

UserGroups
Type: Array of strings

The user groups. This parameter is valid only when modifying the loadPermission attribute.

UserIds
Type: Array of strings

The Amazon Web Services account IDs. This parameter is valid only when modifying the loadPermission attribute.

Result Syntax

[
    'FpgaImageAttribute' => [
        'Description' => '<string>',
        'FpgaImageId' => '<string>',
        'LoadPermissions' => [
            [
                'Group' => 'all',
                'UserId' => '<string>',
            ],
            // ...
        ],
        'Name' => '<string>',
        'ProductCodes' => [
            [
                'ProductCodeId' => '<string>',
                'ProductCodeType' => 'devpay|marketplace',
            ],
            // ...
        ],
    ],
]

Result Details

Members
FpgaImageAttribute
Type: FpgaImageAttribute structure

Information about the attribute.

Errors

There are no errors described for this operation.

ModifyHosts

$result = $client->modifyHosts([/* ... */]);
$promise = $client->modifyHostsAsync([/* ... */]);

Modify the auto-placement setting of a Dedicated Host. When auto-placement is enabled, any instances that you launch with a tenancy of host but without a specific host ID are placed onto any available Dedicated Host in your account that has auto-placement enabled. When auto-placement is disabled, you need to provide a host ID to have the instance launch onto a specific host. If no host ID is provided, the instance is launched onto a suitable host with auto-placement enabled.

You can also use this API action to modify a Dedicated Host to support either multiple instance types in an instance family, or to support a specific instance type only.

Parameter Syntax

$result = $client->modifyHosts([
    'AutoPlacement' => 'on|off',
    'HostIds' => ['<string>', ...], // REQUIRED
    'HostMaintenance' => 'on|off',
    'HostRecovery' => 'on|off',
    'InstanceFamily' => '<string>',
    'InstanceType' => '<string>',
]);

Parameter Details

Members
AutoPlacement
Type: string

Specify whether to enable or disable auto-placement.

HostIds
Required: Yes
Type: Array of strings

The IDs of the Dedicated Hosts to modify.

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. For more information, see Host recovery in the Amazon EC2 User Guide.

InstanceFamily
Type: string

Specifies the instance family to be supported by the Dedicated Host. Specify this parameter to modify a Dedicated Host to support multiple instance types within its current instance family.

If you want to modify a Dedicated Host 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 Host. Specify this parameter to modify a Dedicated Host to support only a specific instance type.

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

Result Syntax

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

Result Details

Members
Successful
Type: Array of strings

The IDs of the Dedicated Hosts that were successfully modified.

Unsuccessful
Type: Array of UnsuccessfulItem structures

The IDs of the Dedicated Hosts that could not be modified. Check whether the setting you requested can be used.

Errors

There are no errors described for this operation.

ModifyIdFormat

$result = $client->modifyIdFormat([/* ... */]);
$promise = $client->modifyIdFormatAsync([/* ... */]);

Modifies the ID format for the specified resource on a per-Region basis. You can specify that resources should receive longer IDs (17-character IDs) when they are created.

This request can only be used to modify longer ID settings for resource types that are within the opt-in period. Resources currently in their opt-in period include: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association | export-task | flow-log | image | import-task | internet-gateway | network-acl | network-acl-association | network-interface | network-interface-attachment | prefix-list | route-table | route-table-association | security-group | subnet | subnet-cidr-block-association | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

This setting applies to the IAM user who makes the request; it does not apply to the entire Amazon Web Services account. By default, an IAM user defaults to the same settings as the root user. If you're using this action as the root user, then these settings apply to the entire account, unless an IAM user explicitly overrides these settings for themselves. For more information, see Resource IDs in the Amazon Elastic Compute Cloud User Guide.

Resources created with longer IDs are visible to all IAM roles and users, regardless of these settings and provided that they have permission to use the relevant Describe command for the resource type.

Parameter Syntax

$result = $client->modifyIdFormat([
    'Resource' => '<string>', // REQUIRED
    'UseLongIds' => true || false, // REQUIRED
]);

Parameter Details

Members
Resource
Required: Yes
Type: string

The type of resource: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association | export-task | flow-log | image | import-task | internet-gateway | network-acl | network-acl-association | network-interface | network-interface-attachment | prefix-list | route-table | route-table-association | security-group | subnet | subnet-cidr-block-association | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

Alternatively, use the all-current option to include all resource types that are currently within their opt-in period for longer IDs.

UseLongIds
Required: Yes
Type: boolean

Indicate whether the resource should use longer IDs (17-character IDs).

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

There are no errors described for this operation.

ModifyIdentityIdFormat

$result = $client->modifyIdentityIdFormat([/* ... */]);
$promise = $client->modifyIdentityIdFormatAsync([/* ... */]);

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. You can specify that resources should receive longer IDs (17-character IDs) when they are created.

This request can only be used to modify longer ID settings for resource types that are within the opt-in period. Resources currently in their opt-in period include: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association | export-task | flow-log | image | import-task | internet-gateway | network-acl | network-acl-association | network-interface | network-interface-attachment | prefix-list | route-table | route-table-association | security-group | subnet | subnet-cidr-block-association | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

For more information, see Resource IDs in the Amazon Elastic Compute Cloud User Guide.

This setting applies to the principal specified in the request; it does not apply to the principal that makes the request.

Resources created with longer IDs are visible to all IAM roles and users, regardless of these settings and provided that they have permission to use the relevant Describe command for the resource type.

Parameter Syntax

$result = $client->modifyIdentityIdFormat([
    'PrincipalArn' => '<string>', // REQUIRED
    'Resource' => '<string>', // REQUIRED
    'UseLongIds' => true || false, // REQUIRED
]);

Parameter Details

Members
PrincipalArn
Required: Yes
Type: string

The ARN of the principal, which can be an IAM user, IAM role, or the root user. Specify all to modify the ID format for all IAM users, IAM roles, and the root user of the account.

Resource
Required: Yes
Type: string

The type of resource: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association | export-task | flow-log | image | import-task | internet-gateway | network-acl | network-acl-association | network-interface | network-interface-attachment | prefix-list | route-table | route-table-association | security-group | subnet | subnet-cidr-block-association | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

Alternatively, use the all-current option to include all resource types that are currently within their opt-in period for longer IDs.

UseLongIds
Required: Yes
Type: boolean

Indicates whether the resource should use longer IDs (17-character IDs)

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

There are no errors described for this operation.

ModifyImageAttribute

$result = $client->modifyImageAttribute([/* ... */]);
$promise = $client->modifyImageAttributeAsync([/* ... */]);

Modifies the specified attribute of the specified AMI. You can specify only one attribute at a time.

To specify the attribute, you can use the Attribute parameter, or one of the following parameters: Description, ImdsSupport, or LaunchPermission.

Images with an Amazon Web Services Marketplace product code cannot be made public.

To enable the SriovNetSupport enhanced networking attribute of an image, enable SriovNetSupport on an instance and create an AMI from the instance.

Parameter Syntax

$result = $client->modifyImageAttribute([
    'Attribute' => '<string>',
    'Description' => [
        'Value' => '<string>',
    ],
    'DryRun' => true || false,
    'ImageId' => '<string>', // REQUIRED
    'ImdsSupport' => [
        'Value' => '<string>',
    ],
    'LaunchPermission' => [
        'Add' => [
            [
                'Group' => 'all',
                'OrganizationArn' => '<string>',
                'OrganizationalUnitArn' => '<string>',
                'UserId' => '<string>',
            ],
            // ...
        ],
        'Remove' => [
            [
                'Group' => 'all',
                'OrganizationArn' => '<string>',
                'OrganizationalUnitArn' => '<string>',
                'UserId' => '<string>',
            ],
            // ...
        ],
    ],
    'OperationType' => 'add|remove',
    'OrganizationArns' => ['<string>', ...],
    'OrganizationalUnitArns' => ['<string>', ...],
    'ProductCodes' => ['<string>', ...],
    'UserGroups' => ['<string>', ...],
    'UserIds' => ['<string>', ...],
    'Value' => '<string>',
]);

Parameter Details

Members
Attribute
Type: string

The name of the attribute to modify.

Valid values: description | imdsSupport | launchPermission

Description
Type: AttributeValue structure

A new description for the AMI.

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.

ImdsSupport
Type: AttributeValue structure

Set to v2.0 to indicate that IMDSv2 is specified in the AMI. Instances launched from this AMI will have HttpTokens automatically set to required so that, by default, the instance requires that IMDSv2 is used when requesting instance metadata. In addition, HttpPutResponseHopLimit is set to 2. For more information, see Configure the AMI in the Amazon EC2 User Guide.

Do not use this parameter unless your AMI software supports IMDSv2. After you set the value to v2.0, you can't undo it. The only way to “reset” your AMI is to create a new AMI from the underlying snapshot.

LaunchPermission

A new launch permission for the AMI.

OperationType
Type: string

The operation type. This parameter can be used only when the Attribute parameter is launchPermission.

OrganizationArns
Type: Array of strings

The Amazon Resource Name (ARN) of an organization. This parameter can be used only when the Attribute parameter is launchPermission.

OrganizationalUnitArns
Type: Array of strings

The Amazon Resource Name (ARN) of an organizational unit (OU). This parameter can be used only when the Attribute parameter is launchPermission.

ProductCodes
Type: Array of strings

Not supported.

UserGroups
Type: Array of strings

The user groups. This parameter can be used only when the Attribute parameter is launchPermission.

UserIds
Type: Array of strings

The Amazon Web Services account IDs. This parameter can be used only when the Attribute parameter is launchPermission.

Value
Type: string

The value of the attribute being modified. This parameter can be used only when the Attribute parameter is description or imdsSupport.

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 make an AMI public

This example makes the specified AMI public.

$result = $client->modifyImageAttribute([
    'ImageId' => 'ami-5731123e',
    'LaunchPermission' => [
        'Add' => [
            [
                'Group' => 'all',
            ],
        ],
    ],
]);

Result syntax:

[
]
Example 2: To grant launch permissions

This example grants launch permissions for the specified AMI to the specified AWS account.

$result = $client->modifyImageAttribute([
    'ImageId' => 'ami-5731123e',
    'LaunchPermission' => [
        'Add' => [
            [
                'UserId' => '123456789012',
            ],
        ],
    ],
]);

Result syntax:

[
]

ModifyInstanceAttribute

$result = $client->modifyInstanceAttribute([/* ... */]);
$promise = $client->modifyInstanceAttributeAsync([/* ... */]);

Modifies the specified attribute of the specified instance. You can specify only one attribute at a time.

Note: Using this action to change the security groups associated with an elastic network interface (ENI) attached to an instance can result in an error if the instance has more than one ENI. To change the security groups associated with an ENI attached to an instance that has multiple ENIs, we recommend that you use the ModifyNetworkInterfaceAttribute action.

To modify some attributes, the instance must be stopped. For more information, see Modify a stopped instance in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->modifyInstanceAttribute([
    'Attribute' => 'instanceType|kernel|ramdisk|userData|disableApiTermination|instanceInitiatedShutdownBehavior|rootDeviceName|blockDeviceMapping|productCodes|sourceDestCheck|groupSet|ebsOptimized|sriovNetSupport|enaSupport|enclaveOptions|disableApiStop',
    'BlockDeviceMappings' => [
        [
            'DeviceName' => '<string>',
            'Ebs' => [
                'DeleteOnTermination' => true || false,
                'VolumeId' => '<string>',
            ],
            'NoDevice' => '<string>',
            'VirtualName' => '<string>',
        ],
        // ...
    ],
    'DisableApiStop' => [
        'Value' => true || false,
    ],
    'DisableApiTermination' => [
        'Value' => true || false,
    ],
    'DryRun' => true || false,
    'EbsOptimized' => [
        'Value' => true || false,
    ],
    'EnaSupport' => [
        'Value' => true || false,
    ],
    'Groups' => ['<string>', ...],
    'InstanceId' => '<string>', // REQUIRED
    'InstanceInitiatedShutdownBehavior' => [
        'Value' => '<string>',
    ],
    'InstanceType' => [
        'Value' => '<string>',
    ],
    'Kernel' => [
        'Value' => '<string>',
    ],
    'Ramdisk' => [
        'Value' => '<string>',
    ],
    'SourceDestCheck' => [
        'Value' => true || false,
    ],
    'SriovNetSupport' => [
        'Value' => '<string>',
    ],
    'UserData' => [
        'Value' => <string || resource || Psr\Http\Message\StreamInterface>,
    ],
    'Value' => '<string>',
]);

Parameter Details

Members
Attribute
Type: string

The name of the attribute to modify.

You can modify the following attributes only: disableApiTermination | instanceType | kernel | ramdisk | instanceInitiatedShutdownBehavior | blockDeviceMapping | userData | sourceDestCheck | groupSet | ebsOptimized | sriovNetSupport | enaSupport | nvmeSupport | disableApiStop | enclaveOptions

BlockDeviceMappings
Type: Array of InstanceBlockDeviceMappingSpecification structures

Modifies the DeleteOnTermination attribute for volumes that are currently attached. The volume must be owned by the caller. If no value is specified for DeleteOnTermination, the default is true and the volume is deleted when the instance is terminated. You can't modify the DeleteOnTermination attribute for volumes that are attached to Fargate tasks.

To add instance store volumes to an Amazon EBS-backed instance, you must add them when you launch the instance. For more information, see Update the block device mapping when launching an instance in the Amazon EC2 User Guide.

DisableApiStop
Type: AttributeBooleanValue structure

Indicates whether an instance is enabled for stop protection. For more information, see Enable stop protection for your instance.

DisableApiTermination
Type: AttributeBooleanValue structure

If the value is true, you can't terminate the instance using the Amazon EC2 console, CLI, or API; otherwise, you can. You cannot use this parameter for Spot Instances.

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.

EbsOptimized
Type: AttributeBooleanValue structure

Specifies whether the instance is optimized for Amazon EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS Optimized instance.

EnaSupport
Type: AttributeBooleanValue structure

Set to true to enable enhanced networking with ENA for the instance.

This option is supported only for HVM instances. Specifying this option with a PV instance can make it unreachable.

Groups
Type: Array of strings

Replaces the security groups of the instance with the specified security groups. You must specify the ID of at least one security group, even if it's just the default security group for the VPC.

InstanceId
Required: Yes
Type: string

The ID of the instance.

InstanceInitiatedShutdownBehavior
Type: AttributeValue structure

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

InstanceType
Type: AttributeValue structure

Changes the instance type to the specified value. For more information, see Instance types in the Amazon EC2 User Guide. If the instance type is not valid, the error returned is InvalidInstanceAttributeValue.

Kernel
Type: AttributeValue structure

Changes the instance's kernel to the specified value. We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB.

Ramdisk
Type: AttributeValue structure

Changes the instance's RAM disk to the specified value. We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB.

SourceDestCheck
Type: AttributeBooleanValue structure

Enable or disable source/destination checks, which ensure that the instance is either the source or the destination of any traffic that it receives. If the value is true, source/destination checks are enabled; otherwise, they are disabled. The default value is true. You must disable source/destination checks if the instance runs services such as network address translation, routing, or firewalls.

SriovNetSupport
Type: AttributeValue structure

Set to simple to enable enhanced networking with the Intel 82599 Virtual Function interface for the instance.

There is no way to disable enhanced networking with the Intel 82599 Virtual Function interface at this time.

This option is supported only for HVM instances. Specifying this option with a PV instance can make it unreachable.

UserData
Type: BlobAttributeValue structure

Changes the instance's user data to the specified value. User data must be base64-encoded. Depending on the tool or SDK that you're using, the base64-encoding might be performed for you. For more information, see Work with instance user data.

Value
Type: string

A new value for the attribute. Use only with the kernel, ramdisk, userData, disableApiTermination, or instanceInitiatedShutdownBehavior attribute.

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 modify the instance type

This example modifies the instance type of the specified stopped instance.

$result = $client->modifyInstanceAttribute([
    'InstanceId' => 'i-1234567890abcdef0',
    'InstanceType' => [
        'Value' => 'm5.large',
    ],
]);

Result syntax:

[
]
Example 2: To enable enhanced networking

This example enables enhanced networking for the specified stopped instance.

$result = $client->modifyInstanceAttribute([
    'EnaSupport' => [
        'Value' => 1,
    ],
    'InstanceId' => 'i-1234567890abcdef0',
]);

Result syntax:

[
]

ModifyInstanceCapacityReservationAttributes

$result = $client->modifyInstanceCapacityReservationAttributes([/* ... */]);
$promise = $client->modifyInstanceCapacityReservationAttributesAsync([/* ... */]);

Modifies the Capacity Reservation settings for a stopped instance. Use this action to configure an instance to target a specific Capacity Reservation, run in any open Capacity Reservation with matching attributes, or run On-Demand Instance capacity.

Parameter Syntax

$result = $client->modifyInstanceCapacityReservationAttributes([
    'CapacityReservationSpecification' => [ // REQUIRED
        'CapacityReservationPreference' => 'open|none',
        'CapacityReservationTarget' => [
            'CapacityReservationId' => '<string>',
            'CapacityReservationResourceGroupArn' => '<string>',
        ],
    ],
    'DryRun' => true || false,
    'InstanceId' => '<string>', // REQUIRED
]);

Parameter Details

Members
CapacityReservationSpecification
Required: Yes
Type: CapacityReservationSpecification structure

Information about the Capacity Reservation targeting 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.

InstanceId
Required: Yes
Type: string

The ID of the instance to be modified.

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.

ModifyInstanceCpuOptions

$result = $client->modifyInstanceCpuOptions([/* ... */]);
$promise = $client->modifyInstanceCpuOptionsAsync([/* ... */]);

By default, all vCPUs for the instance type are active when you launch an instance. When you configure the number of active vCPUs for the instance, it can help you save on licensing costs and optimize performance. The base cost of the instance remains unchanged.

The number of active vCPUs equals the number of threads per CPU core multiplied by the number of cores. The instance must be in a Stopped state before you make changes.

Some instance type options do not support this capability. For more information, see Supported CPU options in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->modifyInstanceCpuOptions([
    'CoreCount' => <integer>, // REQUIRED
    'DryRun' => true || false,
    'InstanceId' => '<string>', // REQUIRED
    'ThreadsPerCore' => <integer>, // REQUIRED
]);

Parameter Details

Members
CoreCount
Required: Yes
Type: int

The number of CPU cores to activate for the specified instance.

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 to update.

ThreadsPerCore
Required: Yes
Type: int

The number of threads to run for each CPU core.

Result Syntax

[
    'CoreCount' => <integer>,
    'InstanceId' => '<string>',
    'ThreadsPerCore' => <integer>,
]

Result Details

Members
CoreCount
Type: int

The number of CPU cores that are running for the specified instance after the update.

InstanceId
Type: string

The ID of the instance that was updated.

ThreadsPerCore
Type: int

The number of threads that are running per CPU core for the specified instance after the update.

Errors

There are no errors described for this operation.

ModifyInstanceCreditSpecification

$result = $client->modifyInstanceCreditSpecification([/* ... */]);
$promise = $client->modifyInstanceCreditSpecificationAsync([/* ... */]);

Modifies the credit option for CPU usage on a running or stopped burstable performance instance. The credit options are standard and unlimited.

For more information, see Burstable performance instances in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->modifyInstanceCreditSpecification([
    'ClientToken' => '<string>',
    'DryRun' => true || false,
    'InstanceCreditSpecifications' => [ // REQUIRED
        [
            'CpuCredits' => '<string>',
            'InstanceId' => '<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 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.

InstanceCreditSpecifications
Required: Yes
Type: Array of InstanceCreditSpecificationRequest structures

Information about the credit option for CPU usage.

Result Syntax

[
    'SuccessfulInstanceCreditSpecifications' => [
        [
            'InstanceId' => '<string>',
        ],
        // ...
    ],
    'UnsuccessfulInstanceCreditSpecifications' => [
        [
            'Error' => [
                'Code' => 'InvalidInstanceID.Malformed|InvalidInstanceID.NotFound|IncorrectInstanceState|InstanceCreditSpecification.NotSupported',
                'Message' => '<string>',
            ],
            'InstanceId' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
SuccessfulInstanceCreditSpecifications
Type: Array of SuccessfulInstanceCreditSpecificationItem structures

Information about the instances whose credit option for CPU usage was successfully modified.

UnsuccessfulInstanceCreditSpecifications

Information about the instances whose credit option for CPU usage was not modified.

Errors

There are no errors described for this operation.

ModifyInstanceEventStartTime

$result = $client->modifyInstanceEventStartTime([/* ... */]);
$promise = $client->modifyInstanceEventStartTimeAsync([/* ... */]);

Modifies the start time for a scheduled Amazon EC2 instance event.

Parameter Syntax

$result = $client->modifyInstanceEventStartTime([
    'DryRun' => true || false,
    'InstanceEventId' => '<string>', // REQUIRED
    'InstanceId' => '<string>', // REQUIRED
    'NotBefore' => <integer || string || DateTime>, // 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.

InstanceEventId
Required: Yes
Type: string

The ID of the event whose date and time you are modifying.

InstanceId
Required: Yes
Type: string

The ID of the instance with the scheduled event.

NotBefore
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The new date and time when the event will take place.

Result Syntax

[
    'Event' => [
        'Code' => 'instance-reboot|system-reboot|system-maintenance|instance-retirement|instance-stop',
        'Description' => '<string>',
        'InstanceEventId' => '<string>',
        'NotAfter' => <DateTime>,
        'NotBefore' => <DateTime>,
        'NotBeforeDeadline' => <DateTime>,
    ],
]

Result Details

Members
Event
Type: InstanceStatusEvent structure

Information about the event.

Errors

There are no errors described for this operation.

ModifyInstanceEventWindow

$result = $client->modifyInstanceEventWindow([/* ... */]);
$promise = $client->modifyInstanceEventWindowAsync([/* ... */]);

Modifies the specified event window.

You can define either a set of time ranges or a cron expression when modifying the event window, but not both.

To modify the targets associated with the event window, use the AssociateInstanceEventWindow and DisassociateInstanceEventWindow API.

If Amazon Web Services has already scheduled an event, modifying an event window won't change the time of the scheduled event.

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

Parameter Syntax

$result = $client->modifyInstanceEventWindow([
    'CronExpression' => '<string>',
    'DryRun' => true || false,
    'InstanceEventWindowId' => '<string>', // REQUIRED
    'Name' => '<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 of the event window, for example, * 0-4,20-23 * * 1,5.

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.

InstanceEventWindowId
Required: Yes
Type: string

The ID of the event window.

Name
Type: string

The name of the event window.

TimeRanges
Type: Array of InstanceEventWindowTimeRangeRequest structures

The time ranges 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.

ModifyInstanceMaintenanceOptions

$result = $client->modifyInstanceMaintenanceOptions([/* ... */]);
$promise = $client->modifyInstanceMaintenanceOptionsAsync([/* ... */]);

Modifies the recovery behavior of your instance to disable simplified automatic recovery or set the recovery behavior to default. The default configuration will not enable simplified automatic recovery for an unsupported instance type. For more information, see Simplified automatic recovery.

Parameter Syntax

$result = $client->modifyInstanceMaintenanceOptions([
    'AutoRecovery' => 'disabled|default',
    'DryRun' => true || false,
    'InstanceId' => '<string>', // REQUIRED
]);

Parameter Details

Members
AutoRecovery
Type: string

Disables the automatic recovery behavior of your instance or sets it to default.

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.

Result Syntax

[
    'AutoRecovery' => 'disabled|default',
    'InstanceId' => '<string>',
]

Result Details

Members
AutoRecovery
Type: string

Provides information on the current automatic recovery behavior of your instance.

InstanceId
Type: string

The ID of the instance.

Errors

There are no errors described for this operation.

ModifyInstanceMetadataDefaults

$result = $client->modifyInstanceMetadataDefaults([/* ... */]);
$promise = $client->modifyInstanceMetadataDefaultsAsync([/* ... */]);

Modifies the default instance metadata service (IMDS) settings at the account level in the specified Amazon Web Services
 Region.

To remove a parameter's account-level default setting, specify no-preference. If an account-level setting is cleared with no-preference, then the instance launch considers the other instance metadata settings. For more information, see Order of precedence for instance metadata options in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->modifyInstanceMetadataDefaults([
    'DryRun' => true || false,
    'HttpEndpoint' => 'disabled|enabled|no-preference',
    'HttpPutResponseHopLimit' => <integer>,
    'HttpTokens' => 'optional|required|no-preference',
    'InstanceMetadataTags' => 'disabled|enabled|no-preference',
]);

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.

HttpEndpoint
Type: string

Enables or disables the IMDS endpoint on an instance. When disabled, the instance metadata can't be accessed.

HttpPutResponseHopLimit
Type: int

The maximum number of hops that the metadata token can travel. To indicate no preference, specify -1.

Possible values: Integers from 1 to 64, and -1 to indicate no preference

HttpTokens
Type: string

Indicates whether IMDSv2 is required.

  • optional – IMDSv2 is optional, which means that you can use either IMDSv2 or IMDSv1.

  • required – IMDSv2 is required, which means that IMDSv1 is disabled, and you must use IMDSv2.

InstanceMetadataTags
Type: string

Enables or disables access to an instance's tags from the instance metadata. For more information, see Work with instance tags using the instance metadata in the Amazon EC2 User Guide.

Result Syntax

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

Result Details

Members
Return
Type: boolean

If the request succeeds, the response returns true. If the request fails, no response is returned, and instead an error message is returned.

Errors

There are no errors described for this operation.

ModifyInstanceMetadataOptions

$result = $client->modifyInstanceMetadataOptions([/* ... */]);
$promise = $client->modifyInstanceMetadataOptionsAsync([/* ... */]);

Modify the instance metadata parameters on a running or stopped instance. When you modify the parameters on a stopped instance, they are applied when the instance is started. When you modify the parameters on a running instance, the API responds with a state of “pending”. After the parameter modifications are successfully applied to the instance, the state of the modifications changes from “pending” to “applied” in subsequent describe-instances API calls. For more information, see Instance metadata and user data in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->modifyInstanceMetadataOptions([
    'DryRun' => true || false,
    'HttpEndpoint' => 'disabled|enabled',
    'HttpProtocolIpv6' => 'disabled|enabled',
    'HttpPutResponseHopLimit' => <integer>,
    'HttpTokens' => 'optional|required',
    'InstanceId' => '<string>', // REQUIRED
    'InstanceMetadataTags' => 'disabled|enabled',
]);

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.

HttpEndpoint
Type: string

Enables or disables the HTTP metadata endpoint on your instances. If this parameter is not specified, the existing state is maintained.

If you specify a value of disabled, you cannot access your instance metadata.

HttpProtocolIpv6
Type: string

Enables or disables the IPv6 endpoint for the instance metadata service. Applies only if you enabled the HTTP metadata endpoint.

HttpPutResponseHopLimit
Type: int

The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel. If no parameter is specified, the existing state is maintained.

Possible values: Integers from 1 to 64

HttpTokens
Type: string

Indicates whether IMDSv2 is required.

  • optional - IMDSv2 is optional. You can choose whether to send a session token in your instance metadata retrieval requests. If you retrieve IAM role credentials without a session token, you receive the IMDSv1 role credentials. If you retrieve IAM role credentials using a valid session token, you receive the IMDSv2 role credentials.

  • required - IMDSv2 is required. You must send a session token in your instance metadata retrieval requests. With this option, retrieving the IAM role credentials always returns IMDSv2 credentials; IMDSv1 credentials are not available.

Default:

  • If the value of ImdsSupport for the Amazon Machine Image (AMI) for your instance is v2.0 and the account level default is set to no-preference, the default is required.

  • If the value of ImdsSupport for the Amazon Machine Image (AMI) for your instance is v2.0, but the account level default is set to V1 or V2, the default is optional.

The default value can also be affected by other combinations of parameters. For more information, see Order of precedence for instance metadata options in the Amazon EC2 User Guide.

InstanceId
Required: Yes
Type: string

The ID of the instance.

InstanceMetadataTags
Type: string

Set to enabled to allow access to instance tags from the instance metadata. Set to disabled to turn off access to instance tags from the instance metadata. For more information, see Work with instance tags using the instance metadata.

Result Syntax

[
    'InstanceId' => '<string>',
    'InstanceMetadataOptions' => [
        'HttpEndpoint' => 'disabled|enabled',
        'HttpProtocolIpv6' => 'disabled|enabled',
        'HttpPutResponseHopLimit' => <integer>,
        'HttpTokens' => 'optional|required',
        'InstanceMetadataTags' => 'disabled|enabled',
        'State' => 'pending|applied',
    ],
]

Result Details

Members
InstanceId
Type: string

The ID of the instance.

InstanceMetadataOptions

The metadata options for the instance.

Errors

There are no errors described for this operation.

ModifyInstancePlacement

$result = $client->modifyInstancePlacement([/* ... */]);
$promise = $client->modifyInstancePlacementAsync([/* ... */]);

Modifies the placement attributes for a specified instance. You can do the following:

  • Modify the affinity between an instance and a Dedicated Host. When affinity is set to host and the instance is not associated with a specific Dedicated Host, the next time the instance is started, it is automatically associated with the host on which it lands. If the instance is restarted or rebooted, this relationship persists.

  • Change the Dedicated Host with which an instance is associated.

  • Change the instance tenancy of an instance.

  • Move an instance to or from a placement group.

At least one attribute for affinity, host ID, tenancy, or placement group name must be specified in the request. Affinity and tenancy can be modified in the same request.

To modify the host ID, tenancy, placement group, or partition for an instance, the instance must be in the stopped state.

Parameter Syntax

$result = $client->modifyInstancePlacement([
    'Affinity' => 'default|host',
    'GroupId' => '<string>',
    'GroupName' => '<string>',
    'HostId' => '<string>',
    'HostResourceGroupArn' => '<string>',
    'InstanceId' => '<string>', // REQUIRED
    'PartitionNumber' => <integer>,
    'Tenancy' => 'default|dedicated|host',
]);

Parameter Details

Members
Affinity
Type: string

The affinity setting for the instance. For more information, see Host affinity in the Amazon EC2 User Guide.

GroupId
Type: string

The Group Id of a placement group. You must specify the Placement Group Group Id to launch an instance in a shared placement group.

GroupName
Type: string

The name of the placement group in which to place the instance. For spread placement groups, the instance must have a tenancy of default. For cluster and partition placement groups, the instance must have a tenancy of default or dedicated.

To remove an instance from a placement group, specify an empty string ("").

HostId
Type: string

The ID of the Dedicated Host with which to associate the instance.

HostResourceGroupArn
Type: string

The ARN of the host resource group in which to place the instance. The instance must have a tenancy of host to specify this parameter.

InstanceId
Required: Yes
Type: string

The ID of the instance that you are modifying.

PartitionNumber
Type: int

The number of the partition in which to place the instance. Valid only if the placement group strategy is set to partition.

Tenancy
Type: string

The tenancy for the instance.

For T3 instances, you must launch the instance on a Dedicated Host to use a tenancy of host. You can't change the tenancy from host to dedicated or default. Attempting to make one of these unsupported tenancy changes results in an InvalidRequest error code.

Result Syntax

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

Result Details

Members
Return
Type: boolean

Is true if the request succeeds, and an error otherwise.

Errors

There are no errors described for this operation.

ModifyIpam

$result = $client->modifyIpam([/* ... */]);
$promise = $client->modifyIpamAsync([/* ... */]);

Modify the configurations of an IPAM.

Parameter Syntax

$result = $client->modifyIpam([
    'AddOperatingRegions' => [
        [
            'RegionName' => '<string>',
        ],
        // ...
    ],
    'Description' => '<string>',
    'DryRun' => true || false,
    'EnablePrivateGua' => true || false,
    'IpamId' => '<string>', // REQUIRED
    'RemoveOperatingRegions' => [
        [
            'RegionName' => '<string>',
        ],
        // ...
    ],
    'Tier' => 'free|advanced',
]);

Parameter Details

Members
AddOperatingRegions
Type: Array of AddIpamOperatingRegion structures

Choose 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.

Description
Type: string

The description of the IPAM you want to modify.

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.

IpamId
Required: Yes
Type: string

The ID of the IPAM you want to modify.

RemoveOperatingRegions
Type: Array of RemoveIpamOperatingRegion structures

The operating Regions to remove.

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

The results of the modification.

Errors

There are no errors described for this operation.

ModifyIpamPool

$result = $client->modifyIpamPool([/* ... */]);
$promise = $client->modifyIpamPoolAsync([/* ... */]);

Modify the configurations of an IPAM pool.

For more information, see Modify a pool in the Amazon VPC IPAM User Guide.

Parameter Syntax

$result = $client->modifyIpamPool([
    'AddAllocationResourceTags' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
    'AllocationDefaultNetmaskLength' => <integer>,
    'AllocationMaxNetmaskLength' => <integer>,
    'AllocationMinNetmaskLength' => <integer>,
    'AutoImport' => true || false,
    'ClearAllocationDefaultNetmaskLength' => true || false,
    'Description' => '<string>',
    'DryRun' => true || false,
    'IpamPoolId' => '<string>', // REQUIRED
    'RemoveAllocationResourceTags' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
]);

Parameter Details

Members
AddAllocationResourceTags
Type: Array of RequestIpamResourceTag structures

Add tag allocation rules to a pool. For more information about allocation rules, see Create a top-level pool in the Amazon VPC IPAM User Guide.

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. Possible netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128.The maximum netmask length must be greater than the minimum netmask length.

AllocationMinNetmaskLength
Type: int

The minimum netmask length required for CIDR allocations in this IPAM pool to be compliant. Possible netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128. The minimum netmask length must be less than the maximum netmask length.

AutoImport
Type: boolean

If true, 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.

ClearAllocationDefaultNetmaskLength
Type: boolean

Clear the default netmask length allocation rule for this pool.

Description
Type: string

The description of the IPAM pool you want to modify.

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 you want to modify.

RemoveAllocationResourceTags
Type: Array of RequestIpamResourceTag structures

Remove tag allocation rules from a pool.

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

The results of the modification.

Errors

There are no errors described for this operation.

ModifyIpamResourceCidr

$result = $client->modifyIpamResourceCidr([/* ... */]);
$promise = $client->modifyIpamResourceCidrAsync([/* ... */]);

Modify a resource CIDR. You can use this action to transfer resource CIDRs between scopes and ignore resource CIDRs that you do not want to manage. If set to false, the resource will not be tracked for overlap, it cannot be auto-imported into a pool, and it will be removed from any pool it has an allocation in.

For more information, see Move resource CIDRs between scopes and Change the monitoring state of resource CIDRs in the Amazon VPC IPAM User Guide.

Parameter Syntax

$result = $client->modifyIpamResourceCidr([
    'CurrentIpamScopeId' => '<string>', // REQUIRED
    'DestinationIpamScopeId' => '<string>',
    'DryRun' => true || false,
    'Monitored' => true || false, // REQUIRED
    'ResourceCidr' => '<string>', // REQUIRED
    'ResourceId' => '<string>', // REQUIRED
    'ResourceRegion' => '<string>', // REQUIRED
]);

Parameter Details

Members
CurrentIpamScopeId
Required: Yes
Type: string

The ID of the current scope that the resource CIDR is in.

DestinationIpamScopeId
Type: string

The ID of the scope you want to transfer the resource CIDR to.

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.

Monitored
Required: Yes
Type: boolean

Determines if the resource is monitored by IPAM. If a resource is monitored, the resource is discovered by IPAM and you can view details about the resource’s CIDR.

ResourceCidr
Required: Yes
Type: string

The CIDR of the resource you want to modify.

ResourceId
Required: Yes
Type: string

The ID of the resource you want to modify.

ResourceRegion
Required: Yes
Type: string

The Amazon Web Services Region of the resource you want to modify.

Result Syntax

[
    'IpamResourceCidr' => [
        'AvailabilityZoneId' => '<string>',
        'ComplianceStatus' => 'compliant|noncompliant|unmanaged|ignored',
        'IpUsage' => <float>,
        'IpamId' => '<string>',
        'IpamPoolId' => '<string>',
        'IpamScopeId' => '<string>',
        'ManagementState' => 'managed|unmanaged|ignored',
        'OverlapStatus' => 'overlapping|nonoverlapping|ignored',
        'ResourceCidr' => '<string>',
        'ResourceId' => '<string>',
        'ResourceName' => '<string>',
        'ResourceOwnerId' => '<string>',
        'ResourceRegion' => '<string>',
        'ResourceTags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'ResourceType' => 'vpc|subnet|eip|public-ipv4-pool|ipv6-pool|eni',
        'VpcId' => '<string>',
    ],
]

Result Details

Members
IpamResourceCidr
Type: IpamResourceCidr structure

The CIDR of the resource.

Errors

There are no errors described for this operation.

ModifyIpamResourceDiscovery

$result = $client->modifyIpamResourceDiscovery([/* ... */]);
$promise = $client->modifyIpamResourceDiscoveryAsync([/* ... */]);

Modifies a 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->modifyIpamResourceDiscovery([
    'AddOperatingRegions' => [
        [
            'RegionName' => '<string>',
        ],
        // ...
    ],
    'Description' => '<string>',
    'DryRun' => true || false,
    'IpamResourceDiscoveryId' => '<string>', // REQUIRED
    'RemoveOperatingRegions' => [
        [
            'RegionName' => '<string>',
        ],
        // ...
    ],
]);

Parameter Details

Members
AddOperatingRegions
Type: Array of AddIpamOperatingRegion structures

Add operating Regions to the 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.

Description
Type: string

A resource discovery description.

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.

IpamResourceDiscoveryId
Required: Yes
Type: string

A resource discovery ID.

RemoveOperatingRegions
Type: Array of RemoveIpamOperatingRegion structures

Remove operating Regions.

Result Syntax

[
    'IpamResourceDiscovery' => [
        'Description' => '<string>',
        'IpamResourceDiscoveryArn' => '<string>',
        'IpamResourceDiscoveryId' => '<string>',
        'IpamResourceDiscoveryRegion' => '<string>',
        'IsDefault' => true || false,
        'OperatingRegions' => [
            [
                'RegionName' => '<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

A resource discovery.

Errors

There are no errors described for this operation.

ModifyIpamScope

$result = $client->modifyIpamScope([/* ... */]);
$promise = $client->modifyIpamScopeAsync([/* ... */]);

Modify an IPAM scope.

Parameter Syntax

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

Parameter Details

Members
Description
Type: string

The description of the scope you want to modify.

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 you want to modify.

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

The results of the modification.

Errors

There are no errors described for this operation.

ModifyLaunchTemplate

$result = $client->modifyLaunchTemplate([/* ... */]);
$promise = $client->modifyLaunchTemplateAsync([/* ... */]);

Modifies a launch template. You can specify which version of the launch template to set as the default version. When launching an instance, the default version applies when a launch template version is not specified.

Parameter Syntax

$result = $client->modifyLaunchTemplate([
    'ClientToken' => '<string>',
    'DefaultVersion' => '<string>',
    'DryRun' => true || false,
    'LaunchTemplateId' => '<string>',
    'LaunchTemplateName' => '<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.

DefaultVersion
Type: string

The version number of the launch template to set as the default version.

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.

LaunchTemplateId
Type: string

The ID of the launch template.

You must specify either the launch template ID or the launch template name, but not both.

LaunchTemplateName
Type: string

The name of the launch template.

You must specify either the launch template ID or the launch template name, but not both.

Result Syntax

[
    'LaunchTemplate' => [
        'CreateTime' => <DateTime>,
        'CreatedBy' => '<string>',
        'DefaultVersionNumber' => <integer>,
        'LatestVersionNumber' => <integer>,
        'LaunchTemplateId' => '<string>',
        'LaunchTemplateName' => '<string>',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
    ],
]

Result Details

Members
LaunchTemplate
Type: LaunchTemplate structure

Information about the launch template.

Errors

There are no errors described for this operation.

Examples

Example 1: To change the default version of a launch template

This example specifies version 2 as the default version of the specified launch template.

$result = $client->modifyLaunchTemplate([
    'DefaultVersion' => '2',
    'LaunchTemplateId' => 'lt-0abcd290751193123',
]);

Result syntax:

[
    'LaunchTemplate' => [
        'CreateTime' => ,
        'CreatedBy' => 'arn:aws:iam::123456789012:root',
        'DefaultVersionNumber' => 2,
        'LatestVersionNumber' => 2,
        'LaunchTemplateId' => 'lt-0abcd290751193123',
        'LaunchTemplateName' => 'WebServers',
    ],
]

ModifyLocalGatewayRoute

$result = $client->modifyLocalGatewayRoute([/* ... */]);
$promise = $client->modifyLocalGatewayRouteAsync([/* ... */]);

Modifies the specified local gateway route.

Parameter Syntax

$result = $client->modifyLocalGatewayRoute([
    'DestinationCidrBlock' => '<string>',
    'DestinationPrefixListId' => '<string>',
    'DryRun' => true || false,
    'LocalGatewayRouteTableId' => '<string>', // REQUIRED
    'LocalGatewayVirtualInterfaceGroupId' => '<string>',
    'NetworkInterfaceId' => '<string>',
]);

Parameter Details

Members
DestinationCidrBlock
Type: string

The CIDR block used for destination matches. The value that you provide must match the CIDR of an existing route in the table.

DestinationPrefixListId
Type: string

The ID of the prefix list. Use a prefix list in place of DestinationCidrBlock. You cannot use DestinationPrefixListId and DestinationCidrBlock in the same 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.

LocalGatewayRouteTableId
Required: Yes
Type: string

The ID of the local gateway route table.

LocalGatewayVirtualInterfaceGroupId
Type: string

The ID of the virtual interface group.

NetworkInterfaceId
Type: string

The ID of the network interface.

Result Syntax

[
    'Route' => [
        'CoipPoolId' => '<string>',
        'DestinationCidrBlock' => '<string>',
        'DestinationPrefixListId' => '<string>',
        'LocalGatewayRouteTableArn' => '<string>',
        'LocalGatewayRouteTableId' => '<string>',
        'LocalGatewayVirtualInterfaceGroupId' => '<string>',
        'NetworkInterfaceId' => '<string>',
        'OwnerId' => '<string>',
        'State' => 'pending|active|blackhole|deleting|deleted',
        'SubnetId' => '<string>',
        'Type' => 'static|propagated',
    ],
]

Result Details

Members
Route
Type: LocalGatewayRoute structure

Information about the local gateway route table.

Errors

There are no errors described for this operation.

ModifyManagedPrefixList

$result = $client->modifyManagedPrefixList([/* ... */]);
$promise = $client->modifyManagedPrefixListAsync([/* ... */]);

Modifies the specified managed prefix list.

Adding or removing entries in a prefix list creates a new version of the prefix list. Changing the name of the prefix list does not affect the version.

If you specify a current version number that does not match the true current version number, the request fails.

Parameter Syntax

$result = $client->modifyManagedPrefixList([
    'AddEntries' => [
        [
            'Cidr' => '<string>', // REQUIRED
            'Description' => '<string>',
        ],
        // ...
    ],
    'CurrentVersion' => <integer>,
    'DryRun' => true || false,
    'MaxEntries' => <integer>,
    'PrefixListId' => '<string>', // REQUIRED
    'PrefixListName' => '<string>',
    'RemoveEntries' => [
        [
            'Cidr' => '<string>', // REQUIRED
        ],
        // ...
    ],
]);

Parameter Details

Members
AddEntries
Type: Array of AddPrefixListEntry structures

One or more entries to add to the prefix list.

CurrentVersion
Type: long (int|float)

The current version of the prefix list.

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.

MaxEntries
Type: int

The maximum number of entries for the prefix list. You cannot modify the entries of a prefix list and modify the size of a prefix list at the same time.

If any of the resources that reference the prefix list cannot support the new maximum size, the modify operation fails. Check the state message for the IDs of the first ten resources that do not support the new maximum size.

PrefixListId
Required: Yes
Type: string

The ID of the prefix list.

PrefixListName
Type: string

A name for the prefix list.

RemoveEntries
Type: Array of RemovePrefixListEntry structures

One or more entries to remove from the prefix list.

Result Syntax

[
    'PrefixList' => [
        'AddressFamily' => '<string>',
        'MaxEntries' => <integer>,
        'OwnerId' => '<string>',
        'PrefixListArn' => '<string>',
        'PrefixListId' => '<string>',
        'PrefixListName' => '<string>',
        'State' => 'create-in-progress|create-complete|create-failed|modify-in-progress|modify-complete|modify-failed|restore-in-progress|restore-complete|restore-failed|delete-in-progress|delete-complete|delete-failed',
        'StateMessage' => '<string>',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'Version' => <integer>,
    ],
]

Result Details

Members
PrefixList
Type: ManagedPrefixList structure

Information about the prefix list.

Errors

There are no errors described for this operation.

ModifyNetworkInterfaceAttribute

$result = $client->modifyNetworkInterfaceAttribute([/* ... */]);
$promise = $client->modifyNetworkInterfaceAttributeAsync([/* ... */]);

Modifies the specified network interface attribute. You can specify only one attribute at a time. You can use this action to attach and detach security groups from an existing EC2 instance.

Parameter Syntax

$result = $client->modifyNetworkInterfaceAttribute([
    'AssociatePublicIpAddress' => true || false,
    'Attachment' => [
        'AttachmentId' => '<string>',
        'DeleteOnTermination' => true || false,
    ],
    'ConnectionTrackingSpecification' => [
        'TcpEstablishedTimeout' => <integer>,
        'UdpStreamTimeout' => <integer>,
        'UdpTimeout' => <integer>,
    ],
    'Description' => [
        'Value' => '<string>',
    ],
    'DryRun' => true || false,
    'EnaSrdSpecification' => [
        'EnaSrdEnabled' => true || false,
        'EnaSrdUdpSpecification' => [
            'EnaSrdUdpEnabled' => true || false,
        ],
    ],
    'EnablePrimaryIpv6' => true || false,
    'Groups' => ['<string>', ...],
    'NetworkInterfaceId' => '<string>', // REQUIRED
    'SourceDestCheck' => [
        'Value' => true || false,
    ],
]);

Parameter Details

Members
AssociatePublicIpAddress
Type: boolean

Indicates whether to assign a public IPv4 address to a network interface. This option can be enabled for any network interface but will only apply to the primary network interface (eth0).

Attachment

Information about the interface attachment. If modifying the delete on termination attribute, you must specify the ID of the interface attachment.

ConnectionTrackingSpecification

A connection tracking specification.

Description
Type: AttributeValue structure

A description for the network interface.

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

Updates the ENA Express configuration for the network interface that’s attached to the instance.

EnablePrimaryIpv6
Type: boolean

If you’re modifying a network interface in a dual-stack or IPv6-only subnet, you have the option to assign a primary IPv6 IP address. A primary IPv6 address is an IPv6 GUA address associated with an ENI that you have enabled to use a primary IPv6 address. Use this option if the instance that this ENI will be attached to relies on its IPv6 address not changing. Amazon Web Services will automatically assign an IPv6 address associated with the ENI attached to your instance to be the primary IPv6 address. Once you enable an IPv6 GUA address to be a primary IPv6, you cannot disable it. When you enable an IPv6 GUA address to be a primary IPv6, the first IPv6 GUA will be made the primary IPv6 address until the instance is terminated or the network interface is detached. If you have multiple IPv6 addresses associated with an ENI attached to your instance and you enable a primary IPv6 address, the first IPv6 GUA address associated with the ENI becomes the primary IPv6 address.

Groups
Type: Array of strings

Changes the security groups for the network interface. The new set of groups you specify replaces the current set. You must specify at least one group, even if it's just the default security group in the VPC. You must specify the ID of the security group, not the name.

NetworkInterfaceId
Required: Yes
Type: string

The ID of the network interface.

SourceDestCheck
Type: AttributeBooleanValue structure

Enable or disable source/destination checks, which ensure that the instance is either the source or the destination of any traffic that it receives. If the value is true, source/destination checks are enabled; otherwise, they are disabled. The default value is true. You must disable source/destination checks if the instance runs services such as network address translation, routing, or firewalls.

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 modify the attachment attribute of a network interface

This example modifies the attachment attribute of the specified network interface.

$result = $client->modifyNetworkInterfaceAttribute([
    'Attachment' => [
        'AttachmentId' => 'eni-attach-43348162',
        'DeleteOnTermination' => ,
    ],
    'NetworkInterfaceId' => 'eni-686ea200',
]);
Example 2: To modify the description attribute of a network interface

This example modifies the description attribute of the specified network interface.

$result = $client->modifyNetworkInterfaceAttribute([
    'Description' => [
        'Value' => 'My description',
    ],
    'NetworkInterfaceId' => 'eni-686ea200',
]);
Example 3: To modify the groupSet attribute of a network interface

This example command modifies the groupSet attribute of the specified network interface.

$result = $client->modifyNetworkInterfaceAttribute([
    'Groups' => [
        'sg-903004f8',
        'sg-1a2b3c4d',
    ],
    'NetworkInterfaceId' => 'eni-686ea200',
]);
Example 4: To modify the sourceDestCheck attribute of a network interface

This example command modifies the sourceDestCheck attribute of the specified network interface.

$result = $client->modifyNetworkInterfaceAttribute([
    'NetworkInterfaceId' => 'eni-686ea200',
    'SourceDestCheck' => [
        'Value' => ,
    ],
]);

ModifyPrivateDnsNameOptions

$result = $client->modifyPrivateDnsNameOptions([/* ... */]);
$promise = $client->modifyPrivateDnsNameOptionsAsync([/* ... */]);

Modifies the options for instance hostnames for the specified instance.

Parameter Syntax

$result = $client->modifyPrivateDnsNameOptions([
    'DryRun' => true || false,
    'EnableResourceNameDnsAAAARecord' => true || false,
    'EnableResourceNameDnsARecord' => true || false,
    'InstanceId' => '<string>', // REQUIRED
    'PrivateDnsHostnameType' => 'ip-name|resource-name',
]);

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.

EnableResourceNameDnsAAAARecord
Type: boolean

Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records.

EnableResourceNameDnsARecord
Type: boolean

Indicates whether to respond to DNS queries for instance hostnames with DNS A records.

InstanceId
Required: Yes
Type: string

The ID of the instance.

PrivateDnsHostnameType
Type: string

The type of hostname for EC2 instances. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID.

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.

ModifyReservedInstances

$result = $client->modifyReservedInstances([/* ... */]);
$promise = $client->modifyReservedInstancesAsync([/* ... */]);

Modifies the configuration of your Reserved Instances, such as the Availability Zone, instance count, or instance type. The Reserved Instances to be modified must be identical, except for Availability Zone, network platform, and instance type.

For more information, see Modify Reserved Instances in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->modifyReservedInstances([
    'ClientToken' => '<string>',
    'ReservedInstancesIds' => ['<string>', ...], // REQUIRED
    'TargetConfigurations' => [ // REQUIRED
        [
            'AvailabilityZone' => '<string>',
            'InstanceCount' => <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',
            'Platform' => '<string>',
            'Scope' => 'Availability Zone|Region',
        ],
        // ...
    ],
]);

Parameter Details

Members
ClientToken
Type: string

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

ReservedInstancesIds
Required: Yes
Type: Array of strings

The IDs of the Reserved Instances to modify.

TargetConfigurations
Required: Yes
Type: Array of ReservedInstancesConfiguration structures

The configuration settings for the Reserved Instances to modify.

Result Syntax

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

Result Details

Members
ReservedInstancesModificationId
Type: string

The ID for the modification.

Errors

There are no errors described for this operation.

ModifySecurityGroupRules

$result = $client->modifySecurityGroupRules([/* ... */]);
$promise = $client->modifySecurityGroupRulesAsync([/* ... */]);

Modifies the rules of a security group.

Parameter Syntax

$result = $client->modifySecurityGroupRules([
    'DryRun' => true || false,
    'GroupId' => '<string>', // REQUIRED
    'SecurityGroupRules' => [ // REQUIRED
        [
            'SecurityGroupRule' => [
                'CidrIpv4' => '<string>',
                'CidrIpv6' => '<string>',
                'Description' => '<string>',
                'FromPort' => <integer>,
                'IpProtocol' => '<string>',
                'PrefixListId' => '<string>',
                'ReferencedGroupId' => '<string>',
                'ToPort' => <integer>,
            ],
            'SecurityGroupRuleId' => '<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

The ID of the security group.

SecurityGroupRules
Required: Yes
Type: Array of SecurityGroupRuleUpdate structures

Information about the security group properties to update.

Result Syntax

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

Result Details

Members
Return
Type: boolean

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

Errors

There are no errors described for this operation.

ModifySnapshotAttribute

$result = $client->modifySnapshotAttribute([/* ... */]);
$promise = $client->modifySnapshotAttributeAsync([/* ... */]);

Adds or removes permission settings for the specified snapshot. You may add or remove specified Amazon Web Services account IDs from a snapshot's list of create volume permissions, but you cannot do both in a single operation. If you need to both add and remove account IDs for a snapshot, you must use multiple operations. You can make up to 500 modifications to a snapshot in a single operation.

Encrypted snapshots and snapshots with Amazon Web Services Marketplace product codes cannot be made public. Snapshots encrypted with your default KMS key cannot be shared with other accounts.

For more information about modifying snapshot permissions, see Share a snapshot in the Amazon EBS User Guide.

Parameter Syntax

$result = $client->modifySnapshotAttribute([
    'Attribute' => 'productCodes|createVolumePermission',
    'CreateVolumePermission' => [
        'Add' => [
            [
                'Group' => 'all',
                'UserId' => '<string>',
            ],
            // ...
        ],
        'Remove' => [
            [
                'Group' => 'all',
                'UserId' => '<string>',
            ],
            // ...
        ],
    ],
    'DryRun' => true || false,
    'GroupNames' => ['<string>', ...],
    'OperationType' => 'add|remove',
    'SnapshotId' => '<string>', // REQUIRED
    'UserIds' => ['<string>', ...],
]);

Parameter Details

Members
Attribute
Type: string

The snapshot attribute to modify. Only volume creation permissions can be modified.

CreateVolumePermission

A JSON representation of the snapshot attribute modification.

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.

GroupNames
Type: Array of strings

The group to modify for the snapshot.

OperationType
Type: string

The type of operation to perform to the attribute.

SnapshotId
Required: Yes
Type: string

The ID of the snapshot.

UserIds
Type: Array of strings

The account ID to modify for the snapshot.

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 modify a snapshot attribute

This example modifies snapshot ``snap-1234567890abcdef0`` to remove the create volume permission for a user with the account ID ``123456789012``. If the command succeeds, no output is returned.

$result = $client->modifySnapshotAttribute([
    'Attribute' => 'createVolumePermission',
    'OperationType' => 'remove',
    'SnapshotId' => 'snap-1234567890abcdef0',
    'UserIds' => [
        '123456789012',
    ],
]);

Result syntax:

[
]
Example 2: To make a snapshot public

This example makes the snapshot ``snap-1234567890abcdef0`` public.

$result = $client->modifySnapshotAttribute([
    'Attribute' => 'createVolumePermission',
    'GroupNames' => [
        'all',
    ],
    'OperationType' => 'add',
    'SnapshotId' => 'snap-1234567890abcdef0',
]);

Result syntax:

[
]

ModifySnapshotTier

$result = $client->modifySnapshotTier([/* ... */]);
$promise = $client->modifySnapshotTierAsync([/* ... */]);

Archives an Amazon EBS snapshot. When you archive a snapshot, it is converted to a full snapshot that includes all of the blocks of data that were written to the volume at the time the snapshot was created, and moved from the standard tier to the archive tier. For more information, see Archive Amazon EBS snapshots in the Amazon EBS User Guide.

Parameter Syntax

$result = $client->modifySnapshotTier([
    'DryRun' => true || false,
    'SnapshotId' => '<string>', // REQUIRED
    'StorageTier' => 'archive',
]);

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.

SnapshotId
Required: Yes
Type: string

The ID of the snapshot.

StorageTier
Type: string

The name of the storage tier. You must specify archive.

Result Syntax

[
    'SnapshotId' => '<string>',
    'TieringStartTime' => <DateTime>,
]

Result Details

Members
SnapshotId
Type: string

The ID of the snapshot.

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

The date and time when the archive process was started.

Errors

There are no errors described for this operation.

ModifySpotFleetRequest

$result = $client->modifySpotFleetRequest([/* ... */]);
$promise = $client->modifySpotFleetRequestAsync([/* ... */]);

Modifies the specified Spot Fleet request.

You can only modify a Spot Fleet request of type maintain.

While the Spot Fleet request is being modified, it is in the modifying state.

To scale up your Spot Fleet, increase its target capacity. The Spot Fleet launches the additional Spot Instances according to the allocation strategy for the Spot Fleet request. If the allocation strategy is lowestPrice, the Spot Fleet launches instances using the Spot Instance pool with the lowest price. If the allocation strategy is diversified, the Spot Fleet distributes the instances across the Spot Instance pools. If the allocation strategy is capacityOptimized, Spot Fleet launches instances from Spot Instance pools with optimal capacity for the number of instances that are launching.

To scale down your Spot Fleet, decrease its target capacity. First, the Spot Fleet cancels any open requests that exceed the new target capacity. You can request that the Spot Fleet terminate Spot Instances until the size of the fleet no longer exceeds the new target capacity. If the allocation strategy is lowestPrice, the Spot Fleet terminates the instances with the highest price per unit. If the allocation strategy is capacityOptimized, the Spot Fleet terminates the instances in the Spot Instance pools that have the least available Spot Instance capacity. If the allocation strategy is diversified, the Spot Fleet terminates instances across the Spot Instance pools. Alternatively, you can request that the Spot Fleet keep the fleet at its current size, but not replace any Spot Instances that are interrupted or that you terminate manually.

If you are finished with your Spot Fleet for now, but will use it again later, you can set the target capacity to 0.

Parameter Syntax

$result = $client->modifySpotFleetRequest([
    'Context' => '<string>',
    'ExcessCapacityTerminationPolicy' => 'noTermination|default',
    'LaunchTemplateConfigs' => [
        [
            'LaunchTemplateSpecification' => [
                'LaunchTemplateId' => '<string>',
                'LaunchTemplateName' => '<string>',
                'Version' => '<string>',
            ],
            'Overrides' => [
                [
                    'AvailabilityZone' => '<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>,
                        ],
                        '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',
                    'Priority' => <float>,
                    'SpotPrice' => '<string>',
                    'SubnetId' => '<string>',
                    'WeightedCapacity' => <float>,
                ],
                // ...
            ],
        ],
        // ...
    ],
    'OnDemandTargetCapacity' => <integer>,
    'SpotFleetRequestId' => '<string>', // REQUIRED
    'TargetCapacity' => <integer>,
]);

Parameter Details

Members
Context
Type: string

Reserved.

ExcessCapacityTerminationPolicy
Type: string

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

Supported only for fleets of type maintain.

LaunchTemplateConfigs
Type: Array of LaunchTemplateConfig structures

The launch template and overrides. You can only use this parameter if you specified a launch template (LaunchTemplateConfigs) in your Spot Fleet request. If you specified LaunchSpecifications in your Spot Fleet request, then omit this parameter.

OnDemandTargetCapacity
Type: int

The number of On-Demand Instances in the fleet.

SpotFleetRequestId
Required: Yes
Type: string

The ID of the Spot Fleet request.

TargetCapacity
Type: int

The size of the fleet.

Result Syntax

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

Result Details

Members
Return
Type: boolean

If the request succeeds, the response returns true. If the request fails, no response is returned, and instead an error message is returned.

Errors

There are no errors described for this operation.

Examples

Example 1: To increase the target capacity of a Spot fleet request

This example increases the target capacity of the specified Spot fleet request.

$result = $client->modifySpotFleetRequest([
    'SpotFleetRequestId' => 'sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE',
    'TargetCapacity' => 20,
]);

Result syntax:

[
    'Return' => 1,
]
Example 2: To decrease the target capacity of a Spot fleet request

This example decreases the target capacity of the specified Spot fleet request without terminating any Spot Instances as a result.

$result = $client->modifySpotFleetRequest([
    'ExcessCapacityTerminationPolicy' => 'NoTermination ',
    'SpotFleetRequestId' => 'sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE',
    'TargetCapacity' => 10,
]);

Result syntax:

[
    'Return' => 1,
]

ModifySubnetAttribute

$result = $client->modifySubnetAttribute([/* ... */]);
$promise = $client->modifySubnetAttributeAsync([/* ... */]);

Modifies a subnet attribute. You can only modify one attribute at a time.

Use this action to modify subnets on Amazon Web Services Outposts.

  • To modify a subnet on an Outpost rack, set both MapCustomerOwnedIpOnLaunch and CustomerOwnedIpv4Pool. These two parameters act as a single attribute.

  • To modify a subnet on an Outpost server, set either EnableLniAtDeviceIndex or DisableLniAtDeviceIndex.

For more information about Amazon Web Services Outposts, see the following:

Parameter Syntax

$result = $client->modifySubnetAttribute([
    'AssignIpv6AddressOnCreation' => [
        'Value' => true || false,
    ],
    'CustomerOwnedIpv4Pool' => '<string>',
    'DisableLniAtDeviceIndex' => [
        'Value' => true || false,
    ],
    'EnableDns64' => [
        'Value' => true || false,
    ],
    'EnableLniAtDeviceIndex' => <integer>,
    'EnableResourceNameDnsAAAARecordOnLaunch' => [
        'Value' => true || false,
    ],
    'EnableResourceNameDnsARecordOnLaunch' => [
        'Value' => true || false,
    ],
    'MapCustomerOwnedIpOnLaunch' => [
        'Value' => true || false,
    ],
    'MapPublicIpOnLaunch' => [
        'Value' => true || false,
    ],
    'PrivateDnsHostnameTypeOnLaunch' => 'ip-name|resource-name',
    'SubnetId' => '<string>', // REQUIRED
]);

Parameter Details

Members
AssignIpv6AddressOnCreation
Type: AttributeBooleanValue structure

Specify true to indicate that network interfaces created in the specified subnet should be assigned an IPv6 address. This includes a network interface that's created when launching an instance into the subnet (the instance therefore receives an IPv6 address).

If you enable the IPv6 addressing feature for your subnet, your network interface or instance only receives an IPv6 address if it's created using version 2016-11-15 or later of the Amazon EC2 API.

CustomerOwnedIpv4Pool
Type: string

The customer-owned IPv4 address pool associated with the subnet.

You must set this value when you specify true for MapCustomerOwnedIpOnLaunch.

DisableLniAtDeviceIndex
Type: AttributeBooleanValue structure

Specify true to indicate that local network interfaces at the current position should be disabled.

EnableDns64
Type: AttributeBooleanValue structure

Indicates whether DNS queries made to the Amazon-provided DNS Resolver in this subnet should return synthetic IPv6 addresses for IPv4-only destinations.

You must first configure a NAT gateway in a public subnet (separate from the subnet containing the IPv6-only workloads). For example, the subnet containing the NAT gateway should have a 0.0.0.0/0 route pointing to the internet gateway. For more information, see Configure DNS64 and NAT64 in the Amazon VPC User Guide.

EnableLniAtDeviceIndex
Type: int

Indicates the device position for local network interfaces in this subnet. For example, 1 indicates local network interfaces in this subnet are the secondary network interface (eth1). A local network interface cannot be the primary network interface (eth0).

EnableResourceNameDnsAAAARecordOnLaunch
Type: AttributeBooleanValue structure

Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records.

EnableResourceNameDnsARecordOnLaunch
Type: AttributeBooleanValue structure

Indicates whether to respond to DNS queries for instance hostnames with DNS A records.

MapCustomerOwnedIpOnLaunch
Type: AttributeBooleanValue structure

Specify true to indicate that network interfaces attached to instances created in the specified subnet should be assigned a customer-owned IPv4 address.

When this value is true, you must specify the customer-owned IP pool using CustomerOwnedIpv4Pool.

MapPublicIpOnLaunch
Type: AttributeBooleanValue structure

Specify true to indicate that network interfaces attached to instances created in the specified subnet should be assigned a public IPv4 address.

Amazon Web Services charges for all public IPv4 addresses, including public IPv4 addresses associated with running instances and Elastic IP addresses. For more information, see the Public IPv4 Address tab on the Amazon VPC pricing page.

PrivateDnsHostnameTypeOnLaunch
Type: string

The type of hostname to assign to instances in the subnet at launch. For IPv4-only and dual-stack (IPv4 and IPv6) subnets, an instance DNS name can be based on the instance IPv4 address (ip-name) or the instance ID (resource-name). For IPv6 only subnets, an instance DNS name must be based on the instance ID (resource-name).

SubnetId
Required: Yes
Type: string

The ID of the subnet.

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 change a subnet's public IP addressing behavior

This example modifies the specified subnet so that all instances launched into this subnet are assigned a public IP address.

$result = $client->modifySubnetAttribute([
    'MapPublicIpOnLaunch' => [
        'Value' => 1,
    ],
    'SubnetId' => 'subnet-1a2b3c4d',
]);

ModifyTrafficMirrorFilterNetworkServices

$result = $client->modifyTrafficMirrorFilterNetworkServices([/* ... */]);
$promise = $client->modifyTrafficMirrorFilterNetworkServicesAsync([/* ... */]);

Allows or restricts mirroring network services.

By default, Amazon DNS network services are not eligible for Traffic Mirror. Use AddNetworkServices to add network services to a Traffic Mirror filter. When a network service is added to the Traffic Mirror filter, all traffic related to that network service will be mirrored. When you no longer want to mirror network services, use RemoveNetworkServices to remove the network services from the Traffic Mirror filter.

Parameter Syntax

$result = $client->modifyTrafficMirrorFilterNetworkServices([
    'AddNetworkServices' => ['<string>', ...],
    'DryRun' => true || false,
    'RemoveNetworkServices' => ['<string>', ...],
    'TrafficMirrorFilterId' => '<string>', // REQUIRED
]);

Parameter Details

Members
AddNetworkServices
Type: Array of strings

The network service, for example Amazon DNS, that you want to mirror.

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.

RemoveNetworkServices
Type: Array of strings

The network service, for example Amazon DNS, that you no longer want to mirror.

TrafficMirrorFilterId
Required: Yes
Type: string

The ID of the Traffic Mirror filter.

Result Syntax

[
    'TrafficMirrorFilter' => [
        'Description' => '<string>',
        'EgressFilterRules' => [
            [
                'Description' => '<string>',
                'DestinationCidrBlock' => '<string>',
                'DestinationPortRange' => [
                    'FromPort' => <integer>,
                    'ToPort' => <integer>,
                ],
                'Protocol' => <integer>,
                'RuleAction' => 'accept|reject',
                'RuleNumber' => <integer>,
                'SourceCidrBlock' => '<string>',
                'SourcePortRange' => [
                    'FromPort' => <integer>,
                    'ToPort' => <integer>,
                ],
                'Tags' => [
                    [
                        'Key' => '<string>',
                        'Value' => '<string>',
                    ],
                    // ...
                ],
                'TrafficDirection' => 'ingress|egress',
                'TrafficMirrorFilterId' => '<string>',
                'TrafficMirrorFilterRuleId' => '<string>',
            ],
            // ...
        ],
        'IngressFilterRules' => [
            [
                'Description' => '<string>',
                'DestinationCidrBlock' => '<string>',
                'DestinationPortRange' => [
                    'FromPort' => <integer>,
                    'ToPort' => <integer>,
                ],
                'Protocol' => <integer>,
                'RuleAction' => 'accept|reject',
                'RuleNumber' => <integer>,
                'SourceCidrBlock' => '<string>',
                'SourcePortRange' => [
                    'FromPort' => <integer>,
                    'ToPort' => <integer>,
                ],
                'Tags' => [
                    [
                        'Key' => '<string>',
                        'Value' => '<string>',
                    ],
                    // ...
                ],
                'TrafficDirection' => 'ingress|egress',
                'TrafficMirrorFilterId' => '<string>',
                'TrafficMirrorFilterRuleId' => '<string>',
            ],
            // ...
        ],
        'NetworkServices' => ['<string>', ...],
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'TrafficMirrorFilterId' => '<string>',
    ],
]

Result Details

Members
TrafficMirrorFilter
Type: TrafficMirrorFilter structure

The Traffic Mirror filter that the network service is associated with.

Errors

There are no errors described for this operation.

ModifyTrafficMirrorFilterRule

$result = $client->modifyTrafficMirrorFilterRule([/* ... */]);
$promise = $client->modifyTrafficMirrorFilterRuleAsync([/* ... */]);

Modifies the specified Traffic Mirror rule.

DestinationCidrBlock and SourceCidrBlock must both be an IPv4 range or an IPv6 range.

Parameter Syntax

$result = $client->modifyTrafficMirrorFilterRule([
    'Description' => '<string>',
    'DestinationCidrBlock' => '<string>',
    'DestinationPortRange' => [
        'FromPort' => <integer>,
        'ToPort' => <integer>,
    ],
    'DryRun' => true || false,
    'Protocol' => <integer>,
    'RemoveFields' => ['<string>', ...],
    'RuleAction' => 'accept|reject',
    'RuleNumber' => <integer>,
    'SourceCidrBlock' => '<string>',
    'SourcePortRange' => [
        'FromPort' => <integer>,
        'ToPort' => <integer>,
    ],
    'TrafficDirection' => 'ingress|egress',
    'TrafficMirrorFilterRuleId' => '<string>', // REQUIRED
]);

Parameter Details

Members
Description
Type: string

The description to assign to the Traffic Mirror rule.

DestinationCidrBlock
Type: string

The destination CIDR block to assign to the Traffic Mirror rule.

DestinationPortRange

The destination ports that are associated with the Traffic Mirror 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.

Protocol
Type: int

The protocol, for example TCP, to assign to the Traffic Mirror rule.

RemoveFields
Type: Array of strings

The properties that you want to remove from the Traffic Mirror filter rule.

When you remove a property from a Traffic Mirror filter rule, the property is set to the default.

RuleAction
Type: string

The action to assign to the rule.

RuleNumber
Type: int

The number of the Traffic Mirror rule. This number must be unique for each Traffic Mirror rule in a given direction. The rules are processed in ascending order by rule number.

SourceCidrBlock
Type: string

The source CIDR block to assign to the Traffic Mirror rule.

SourcePortRange

The port range to assign to the Traffic Mirror rule.

TrafficDirection
Type: string

The type of traffic to assign to the rule.

TrafficMirrorFilterRuleId
Required: Yes
Type: string

The ID of the Traffic Mirror rule.

Result Syntax

[
    'TrafficMirrorFilterRule' => [
        'Description' => '<string>',
        'DestinationCidrBlock' => '<string>',
        'DestinationPortRange' => [
            'FromPort' => <integer>,
            'ToPort' => <integer>,
        ],
        'Protocol' => <integer>,
        'RuleAction' => 'accept|reject',
        'RuleNumber' => <integer>,
        'SourceCidrBlock' => '<string>',
        'SourcePortRange' => [
            'FromPort' => <integer>,
            'ToPort' => <integer>,
        ],
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'TrafficDirection' => 'ingress|egress',
        'TrafficMirrorFilterId' => '<string>',
        'TrafficMirrorFilterRuleId' => '<string>',
    ],
]

Result Details

Members
TrafficMirrorFilterRule
Type: TrafficMirrorFilterRule structure

Tags are not returned for ModifyTrafficMirrorFilterRule.

A Traffic Mirror rule.

Errors

There are no errors described for this operation.

ModifyTrafficMirrorSession

$result = $client->modifyTrafficMirrorSession([/* ... */]);
$promise = $client->modifyTrafficMirrorSessionAsync([/* ... */]);

Modifies a Traffic Mirror session.

Parameter Syntax

$result = $client->modifyTrafficMirrorSession([
    'Description' => '<string>',
    'DryRun' => true || false,
    'PacketLength' => <integer>,
    'RemoveFields' => ['<string>', ...],
    'SessionNumber' => <integer>,
    'TrafficMirrorFilterId' => '<string>',
    'TrafficMirrorSessionId' => '<string>', // REQUIRED
    'TrafficMirrorTargetId' => '<string>',
    'VirtualNetworkId' => <integer>,
]);

Parameter Details

Members
Description
Type: string

The description to assign to the Traffic Mirror session.

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.

PacketLength
Type: int

The number of bytes in each packet to mirror. These are bytes after the VXLAN header. To mirror a subset, set this to the length (in bytes) to mirror. For example, if you set this value to 100, then the first 100 bytes that meet the filter criteria are copied to the target. Do not specify this parameter when you want to mirror the entire packet.

For sessions with Network Load Balancer (NLB) traffic mirror targets, the default PacketLength will be set to 8500. Valid values are 1-8500. Setting a PacketLength greater than 8500 will result in an error response.

RemoveFields
Type: Array of strings

The properties that you want to remove from the Traffic Mirror session.

When you remove a property from a Traffic Mirror session, the property is set to the default.

SessionNumber
Type: int

The session number determines the order in which sessions are evaluated when an interface is used by multiple sessions. The first session with a matching filter is the one that mirrors the packets.

Valid values are 1-32766.

TrafficMirrorFilterId
Type: string

The ID of the Traffic Mirror filter.

TrafficMirrorSessionId
Required: Yes
Type: string

The ID of the Traffic Mirror session.

TrafficMirrorTargetId
Type: string

The Traffic Mirror target. The target must be in the same VPC as the source, or have a VPC peering connection with the source.

VirtualNetworkId
Type: int

The virtual network ID of the Traffic Mirror session.

Result Syntax

[
    'TrafficMirrorSession' => [
        'Description' => '<string>',
        'NetworkInterfaceId' => '<string>',
        'OwnerId' => '<string>',
        'PacketLength' => <integer>,
        'SessionNumber' => <integer>,
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'TrafficMirrorFilterId' => '<string>',
        'TrafficMirrorSessionId' => '<string>',
        'TrafficMirrorTargetId' => '<string>',
        'VirtualNetworkId' => <integer>,
    ],
]

Result Details

Members
TrafficMirrorSession
Type: TrafficMirrorSession structure

Information about the Traffic Mirror session.

Errors

There are no errors described for this operation.

ModifyTransitGateway

$result = $client->modifyTransitGateway([/* ... */]);
$promise = $client->modifyTransitGatewayAsync([/* ... */]);

Modifies the specified transit gateway. When you modify a transit gateway, the modified options are applied to new transit gateway attachments only. Your existing transit gateway attachments are not modified.

Parameter Syntax

$result = $client->modifyTransitGateway([
    'Description' => '<string>',
    'DryRun' => true || false,
    'Options' => [
        'AddTransitGatewayCidrBlocks' => ['<string>', ...],
        'AmazonSideAsn' => <integer>,
        'AssociationDefaultRouteTableId' => '<string>',
        'AutoAcceptSharedAttachments' => 'enable|disable',
        'DefaultRouteTableAssociation' => 'enable|disable',
        'DefaultRouteTablePropagation' => 'enable|disable',
        'DnsSupport' => 'enable|disable',
        'PropagationDefaultRouteTableId' => '<string>',
        'RemoveTransitGatewayCidrBlocks' => ['<string>', ...],
        'SecurityGroupReferencingSupport' => 'enable|disable',
        'VpnEcmpSupport' => 'enable|disable',
    ],
    'TransitGatewayId' => '<string>', // REQUIRED
]);

Parameter Details

Members
Description
Type: string

The description for the transit 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.

Options
Type: ModifyTransitGatewayOptions structure

The options to modify.

TransitGatewayId
Required: Yes
Type: string

The ID of the transit gateway.

Result Syntax

[
    'TransitGateway' => [
        'CreationTime' => <DateTime>,
        'Description' => '<string>',
        'Options' => [
            'AmazonSideAsn' => <integer>,
            'AssociationDefaultRouteTableId' => '<string>',
            'AutoAcceptSharedAttachments' => 'enable|disable',
            'DefaultRouteTableAssociation' => 'enable|disable',
            'DefaultRouteTablePropagation' => 'enable|disable',
            'DnsSupport' => 'enable|disable',
            'MulticastSupport' => 'enable|disable',
            'PropagationDefaultRouteTableId' => '<string>',
            'SecurityGroupReferencingSupport' => 'enable|disable',
            'TransitGatewayCidrBlocks' => ['<string>', ...],
            'VpnEcmpSupport' => 'enable|disable',
        ],
        'OwnerId' => '<string>',
        'State' => 'pending|available|modifying|deleting|deleted',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'TransitGatewayArn' => '<string>',
        'TransitGatewayId' => '<string>',
    ],
]

Result Details

Members
TransitGateway
Type: TransitGateway structure

Information about the transit gateway.

Errors

There are no errors described for this operation.

ModifyTransitGatewayPrefixListReference

$result = $client->modifyTransitGatewayPrefixListReference([/* ... */]);
$promise = $client->modifyTransitGatewayPrefixListReferenceAsync([/* ... */]);

Modifies a reference (route) to a prefix list in a specified transit gateway route table.

Parameter Syntax

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

Parameter Details

Members
Blackhole
Type: boolean

Indicates whether to drop traffic that matches this route.

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.

PrefixListId
Required: Yes
Type: string

The ID of the prefix list.

TransitGatewayAttachmentId
Type: string

The ID of the attachment to which traffic is routed.

TransitGatewayRouteTableId
Required: Yes
Type: string

The ID of the transit gateway route table.

Result Syntax

[
    'TransitGatewayPrefixListReference' => [
        'Blackhole' => true || false,
        'PrefixListId' => '<string>',
        'PrefixListOwnerId' => '<string>',
        'State' => 'pending|available|modifying|deleting',
        'TransitGatewayAttachment' => [
            'ResourceId' => '<string>',
            'ResourceType' => 'vpc|vpn|direct-connect-gateway|connect|peering|tgw-peering',
            'TransitGatewayAttachmentId' => '<string>',
        ],
        'TransitGatewayRouteTableId' => '<string>',
    ],
]

Result Details

Members
TransitGatewayPrefixListReference

Information about the prefix list reference.

Errors

There are no errors described for this operation.

ModifyTransitGatewayVpcAttachment

$result = $client->modifyTransitGatewayVpcAttachment([/* ... */]);
$promise = $client->modifyTransitGatewayVpcAttachmentAsync([/* ... */]);

Modifies the specified VPC attachment.

Parameter Syntax

$result = $client->modifyTransitGatewayVpcAttachment([
    'AddSubnetIds' => ['<string>', ...],
    'DryRun' => true || false,
    'Options' => [
        'ApplianceModeSupport' => 'enable|disable',
        'DnsSupport' => 'enable|disable',
        'Ipv6Support' => 'enable|disable',
        'SecurityGroupReferencingSupport' => 'enable|disable',
    ],
    'RemoveSubnetIds' => ['<string>', ...],
    'TransitGatewayAttachmentId' => '<string>', // REQUIRED
]);

Parameter Details

Members
AddSubnetIds
Type: Array of strings

The IDs of one or more subnets to add. You can specify at most one subnet per Availability Zone.

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.

Options

The new VPC attachment options.

RemoveSubnetIds
Type: Array of strings

The IDs of one or more subnets to remove.

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

Information about the modified attachment.

Errors

There are no errors described for this operation.

ModifyVerifiedAccessEndpoint

$result = $client->modifyVerifiedAccessEndpoint([/* ... */]);
$promise = $client->modifyVerifiedAccessEndpointAsync([/* ... */]);

Modifies the configuration of the specified Amazon Web Services Verified Access endpoint.

Parameter Syntax

$result = $client->modifyVerifiedAccessEndpoint([
    'ClientToken' => '<string>',
    'Description' => '<string>',
    'DryRun' => true || false,
    'LoadBalancerOptions' => [
        'Port' => <integer>,
        'Protocol' => 'http|https',
        'SubnetIds' => ['<string>', ...],
    ],
    'NetworkInterfaceOptions' => [
        'Port' => <integer>,
        'Protocol' => 'http|https',
    ],
    'VerifiedAccessEndpointId' => '<string>', // REQUIRED
    'VerifiedAccessGroupId' => '<string>',
]);

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.

Description
Type: string

A description for the Verified Access 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.

LoadBalancerOptions

The load balancer details if creating the Verified Access endpoint as load-balancertype.

NetworkInterfaceOptions

The network interface options.

VerifiedAccessEndpointId
Required: Yes
Type: string

The ID of the Verified Access endpoint.

VerifiedAccessGroupId
Type: string

The ID of the Verified Access group.

Result Syntax

[
    'VerifiedAccessEndpoint' => [
        'ApplicationDomain' => '<string>',
        'AttachmentType' => 'vpc',
        'CreationTime' => '<string>',
        'DeletionTime' => '<string>',
        'Description' => '<string>',
        'DeviceValidationDomain' => '<string>',
        'DomainCertificateArn' => '<string>',
        'EndpointDomain' => '<string>',
        'EndpointType' => 'load-balancer|network-interface',
        'LastUpdatedTime' => '<string>',
        'LoadBalancerOptions' => [
            'LoadBalancerArn' => '<string>',
            'Port' => <integer>,
            'Protocol' => 'http|https',
            'SubnetIds' => ['<string>', ...],
        ],
        'NetworkInterfaceOptions' => [
            'NetworkInterfaceId' => '<string>',
            'Port' => <integer>,
            'Protocol' => 'http|https',
        ],
        'SecurityGroupIds' => ['<string>', ...],
        'SseSpecification' => [
            'CustomerManagedKeyEnabled' => true || false,
            'KmsKeyArn' => '<string>',
        ],
        'Status' => [
            'Code' => 'pending|active|updating|deleting|deleted',
            'Message' => '<string>',
        ],
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'VerifiedAccessEndpointId' => '<string>',
        'VerifiedAccessGroupId' => '<string>',
        'VerifiedAccessInstanceId' => '<string>',
    ],
]

Result Details

Members
VerifiedAccessEndpoint
Type: VerifiedAccessEndpoint structure

Details about the Verified Access endpoint.

Errors

There are no errors described for this operation.

ModifyVerifiedAccessEndpointPolicy

$result = $client->modifyVerifiedAccessEndpointPolicy([/* ... */]);
$promise = $client->modifyVerifiedAccessEndpointPolicyAsync([/* ... */]);

Modifies the specified Amazon Web Services Verified Access endpoint policy.

Parameter Syntax

$result = $client->modifyVerifiedAccessEndpointPolicy([
    'ClientToken' => '<string>',
    'DryRun' => true || false,
    'PolicyDocument' => '<string>',
    'PolicyEnabled' => true || false,
    'SseSpecification' => [
        'CustomerManagedKeyEnabled' => true || false,
        'KmsKeyArn' => '<string>',
    ],
    'VerifiedAccessEndpointId' => '<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.

PolicyDocument
Type: string

The Verified Access policy document.

PolicyEnabled
Type: boolean

The status of the Verified Access policy.

SseSpecification

The options for server side encryption.

VerifiedAccessEndpointId
Required: Yes
Type: string

The ID of the Verified Access endpoint.

Result Syntax

[
    'PolicyDocument' => '<string>',
    'PolicyEnabled' => true || false,
    'SseSpecification' => [
        'CustomerManagedKeyEnabled' => true || false,
        'KmsKeyArn' => '<string>',
    ],
]

Result Details

Members
PolicyDocument
Type: string

The Verified Access policy document.

PolicyEnabled
Type: boolean

The status of the Verified Access policy.

SseSpecification

The options in use for server side encryption.

Errors

There are no errors described for this operation.

ModifyVerifiedAccessGroup

$result = $client->modifyVerifiedAccessGroup([/* ... */]);
$promise = $client->modifyVerifiedAccessGroupAsync([/* ... */]);

Modifies the specified Amazon Web Services Verified Access group configuration.

Parameter Syntax

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

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.

Description
Type: string

A description for the Verified Access group.

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.

VerifiedAccessGroupId
Required: Yes
Type: string

The ID of the Verified Access group.

VerifiedAccessInstanceId
Type: string

The ID of the Verified Access instance.

Result Syntax

[
    'VerifiedAccessGroup' => [
        'CreationTime' => '<string>',
        'DeletionTime' => '<string>',
        'Description' => '<string>',
        'LastUpdatedTime' => '<string>',
        'Owner' => '<string>',
        'SseSpecification' => [
            'CustomerManagedKeyEnabled' => true || false,
            'KmsKeyArn' => '<string>',
        ],
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'VerifiedAccessGroupArn' => '<string>',
        'VerifiedAccessGroupId' => '<string>',
        'VerifiedAccessInstanceId' => '<string>',
    ],
]

Result Details

Members
VerifiedAccessGroup
Type: VerifiedAccessGroup structure

Details about the Verified Access group.

Errors

There are no errors described for this operation.

ModifyVerifiedAccessGroupPolicy

$result = $client->modifyVerifiedAccessGroupPolicy([/* ... */]);
$promise = $client->modifyVerifiedAccessGroupPolicyAsync([/* ... */]);

Modifies the specified Amazon Web Services Verified Access group policy.

Parameter Syntax

$result = $client->modifyVerifiedAccessGroupPolicy([
    'ClientToken' => '<string>',
    'DryRun' => true || false,
    'PolicyDocument' => '<string>',
    'PolicyEnabled' => true || false,
    'SseSpecification' => [
        'CustomerManagedKeyEnabled' => true || false,
        'KmsKeyArn' => '<string>',
    ],
    'VerifiedAccessGroupId' => '<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.

PolicyDocument
Type: string

The Verified Access policy document.

PolicyEnabled
Type: boolean

The status of the Verified Access policy.

SseSpecification

The options for server side encryption.

VerifiedAccessGroupId
Required: Yes
Type: string

The ID of the Verified Access group.

Result Syntax

[
    'PolicyDocument' => '<string>',
    'PolicyEnabled' => true || false,
    'SseSpecification' => [
        'CustomerManagedKeyEnabled' => true || false,
        'KmsKeyArn' => '<string>',
    ],
]

Result Details

Members
PolicyDocument
Type: string

The Verified Access policy document.

PolicyEnabled
Type: boolean

The status of the Verified Access policy.

SseSpecification

The options in use for server side encryption.

Errors

There are no errors described for this operation.

ModifyVerifiedAccessInstance

$result = $client->modifyVerifiedAccessInstance([/* ... */]);
$promise = $client->modifyVerifiedAccessInstanceAsync([/* ... */]);

Modifies the configuration of the specified Amazon Web Services Verified Access instance.

Parameter Syntax

$result = $client->modifyVerifiedAccessInstance([
    'ClientToken' => '<string>',
    'Description' => '<string>',
    'DryRun' => true || false,
    'VerifiedAccessInstanceId' => '<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.

Description
Type: string

A description for the Verified Access instance.

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.

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>',
            ],
            // ...
        ],
    ],
]

Result Details

Members
VerifiedAccessInstance
Type: VerifiedAccessInstance structure

Details about the Verified Access instance.

Errors

There are no errors described for this operation.

ModifyVerifiedAccessInstanceLoggingConfiguration

$result = $client->modifyVerifiedAccessInstanceLoggingConfiguration([/* ... */]);
$promise = $client->modifyVerifiedAccessInstanceLoggingConfigurationAsync([/* ... */]);

Modifies the logging configuration for the specified Amazon Web Services Verified Access instance.

Parameter Syntax

$result = $client->modifyVerifiedAccessInstanceLoggingConfiguration([
    'AccessLogs' => [ // REQUIRED
        'CloudWatchLogs' => [
            'Enabled' => true || false, // REQUIRED
            'LogGroup' => '<string>',
        ],
        'IncludeTrustContext' => true || false,
        'KinesisDataFirehose' => [
            'DeliveryStream' => '<string>',
            'Enabled' => true || false, // REQUIRED
        ],
        'LogVersion' => '<string>',
        'S3' => [
            'BucketName' => '<string>',
            'BucketOwner' => '<string>',
            'Enabled' => true || false, // REQUIRED
            'Prefix' => '<string>',
        ],
    ],
    'ClientToken' => '<string>',
    'DryRun' => true || false,
    'VerifiedAccessInstanceId' => '<string>', // REQUIRED
]);

Parameter Details

Members
AccessLogs
Required: Yes
Type: VerifiedAccessLogOptions structure

The configuration options for Verified Access instances.

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.

Result Syntax

[
    'LoggingConfiguration' => [
        'AccessLogs' => [
            'CloudWatchLogs' => [
                'DeliveryStatus' => [
                    'Code' => 'success|failed',
                    'Message' => '<string>',
                ],
                'Enabled' => true || false,
                'LogGroup' => '<string>',
            ],
            'IncludeTrustContext' => true || false,
            'KinesisDataFirehose' => [
                'DeliveryStatus' => [
                    'Code' => 'success|failed',
                    'Message' => '<string>',
                ],
                'DeliveryStream' => '<string>',
                'Enabled' => true || false,
            ],
            'LogVersion' => '<string>',
            'S3' => [
                'BucketName' => '<string>',
                'BucketOwner' => '<string>',
                'DeliveryStatus' => [
                    'Code' => 'success|failed',
                    'Message' => '<string>',
                ],
                'Enabled' => true || false,
                'Prefix' => '<string>',
            ],
        ],
        'VerifiedAccessInstanceId' => '<string>',
    ],
]

Result Details

Members
LoggingConfiguration

The logging configuration for the Verified Access instance.

Errors

There are no errors described for this operation.

ModifyVerifiedAccessTrustProvider

$result = $client->modifyVerifiedAccessTrustProvider([/* ... */]);
$promise = $client->modifyVerifiedAccessTrustProviderAsync([/* ... */]);

Modifies the configuration of the specified Amazon Web Services Verified Access trust provider.

Parameter Syntax

$result = $client->modifyVerifiedAccessTrustProvider([
    'ClientToken' => '<string>',
    'Description' => '<string>',
    'DeviceOptions' => [
        'PublicSigningKeyUrl' => '<string>',
    ],
    'DryRun' => true || false,
    'OidcOptions' => [
        'AuthorizationEndpoint' => '<string>',
        'ClientId' => '<string>',
        'ClientSecret' => '<string>',
        'Issuer' => '<string>',
        'Scope' => '<string>',
        'TokenEndpoint' => '<string>',
        'UserInfoEndpoint' => '<string>',
    ],
    'SseSpecification' => [
        'CustomerManagedKeyEnabled' => true || false,
        'KmsKeyArn' => '<string>',
    ],
    '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.

Description
Type: string

A description for the Verified Access trust provider.

DeviceOptions

The options for a device-based trust provider. This parameter is required when the provider type is device.

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.

OidcOptions

The options for an OpenID Connect-compatible user-identity trust provider.

SseSpecification

The options for server side encryption.

VerifiedAccessTrustProviderId
Required: Yes
Type: string

The ID of the Verified Access trust provider.

Result Syntax

[
    '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
VerifiedAccessTrustProvider
Type: VerifiedAccessTrustProvider structure

Details about the Verified Access trust provider.

Errors

There are no errors described for this operation.

ModifyVolume

$result = $client->modifyVolume([/* ... */]);
$promise = $client->modifyVolumeAsync([/* ... */]);

You can modify several parameters of an existing EBS volume, including volume size, volume type, and IOPS capacity. If your EBS volume is attached to a current-generation EC2 instance type, you might be able to apply these changes without stopping the instance or detaching the volume from it. For more information about modifying EBS volumes, see Amazon EBS Elastic Volumes in the Amazon EBS User Guide.

When you complete a resize operation on your volume, you need to extend the volume's file-system size to take advantage of the new storage capacity. For more information, see Extend the file system.

For more information, see Monitor the progress of volume modifications in the Amazon EBS User Guide.

With previous-generation instance types, resizing an EBS volume might require detaching and reattaching the volume or stopping and restarting the instance.

After modifying a volume, you must wait at least six hours and ensure that the volume is in the in-use or available state before you can modify the same volume. This is sometimes referred to as a cooldown period.

Parameter Syntax

$result = $client->modifyVolume([
    'DryRun' => true || false,
    'Iops' => <integer>,
    'MultiAttachEnabled' => true || false,
    'Size' => <integer>,
    'Throughput' => <integer>,
    'VolumeId' => '<string>', // REQUIRED
    'VolumeType' => 'standard|io1|io2|gp2|sc1|st1|gp3',
]);

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.

Iops
Type: int

The target IOPS rate of the volume. This parameter is valid only for gp3, io1, and io2 volumes.

The following are the supported values for each volume type:

  • gp3: 3,000 - 16,000 IOPS

  • io1: 100 - 64,000 IOPS

  • io2: 100 - 256,000 IOPS

For io2 volumes, you can achieve up to 256,000 IOPS on instances built on the Nitro System. On other instances, you can achieve performance up to 32,000 IOPS.

Default: The existing value is retained if you keep the same volume type. If you change the volume type to io1, io2, or gp3, the default is 3,000.

MultiAttachEnabled
Type: boolean

Specifies whether to enable Amazon EBS Multi-Attach. If you enable Multi-Attach, you can attach the volume to up to 16 Nitro-based instances in the same Availability Zone. This parameter is supported with io1 and io2 volumes only. For more information, see Amazon EBS Multi-Attach in the Amazon EBS User Guide.

Size
Type: int

The target size of the volume, in GiB. The target volume size must be greater than or equal to the existing size of the volume.

The following are the supported volumes sizes for each volume type:

  • gp2 and gp3: 1 - 16,384 GiB

  • io1: 4 - 16,384 GiB

  • io2: 4 - 65,536 GiB

  • st1 and sc1: 125 - 16,384 GiB

  • standard: 1 - 1024 GiB

Default: The existing size is retained.

Throughput
Type: int

The target throughput of the volume, in MiB/s. This parameter is valid only for gp3 volumes. The maximum value is 1,000.

Default: The existing value is retained if the source and target volume type is gp3. Otherwise, the default value is 125.

Valid Range: Minimum value of 125. Maximum value of 1000.

VolumeId
Required: Yes
Type: string

The ID of the volume.

VolumeType
Type: string

The target EBS volume type of the volume. For more information, see Amazon EBS volume types in the Amazon EBS User Guide.

Default: The existing type is retained.

Result Syntax

[
    'VolumeModification' => [
        'EndTime' => <DateTime>,
        'ModificationState' => 'modifying|optimizing|completed|failed',
        'OriginalIops' => <integer>,
        'OriginalMultiAttachEnabled' => true || false,
        'OriginalSize' => <integer>,
        'OriginalThroughput' => <integer>,
        'OriginalVolumeType' => 'standard|io1|io2|gp2|sc1|st1|gp3',
        'Progress' => <integer>,
        'StartTime' => <DateTime>,
        'StatusMessage' => '<string>',
        'TargetIops' => <integer>,
        'TargetMultiAttachEnabled' => true || false,
        'TargetSize' => <integer>,
        'TargetThroughput' => <integer>,
        'TargetVolumeType' => 'standard|io1|io2|gp2|sc1|st1|gp3',
        'VolumeId' => '<string>',
    ],
]

Result Details

Members
VolumeModification
Type: VolumeModification structure

Information about the volume modification.

Errors

There are no errors described for this operation.

ModifyVolumeAttribute

$result = $client->modifyVolumeAttribute([/* ... */]);
$promise = $client->modifyVolumeAttributeAsync([/* ... */]);

Modifies a volume attribute.

By default, all I/O operations for the volume are suspended when the data on the volume is determined to be potentially inconsistent, to prevent undetectable, latent data corruption. The I/O access to the volume can be resumed by first enabling I/O access and then checking the data consistency on your volume.

You can change the default behavior to resume I/O operations. We recommend that you change this only for boot volumes or for volumes that are stateless or disposable.

Parameter Syntax

$result = $client->modifyVolumeAttribute([
    'AutoEnableIO' => [
        'Value' => true || false,
    ],
    'DryRun' => true || false,
    'VolumeId' => '<string>', // REQUIRED
]);

Parameter Details

Members
AutoEnableIO
Type: AttributeBooleanValue structure

Indicates whether the volume should be auto-enabled for I/O operations.

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.

VolumeId
Required: Yes
Type: string

The ID of the volume.

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 modify a volume attribute

This example sets the ``autoEnableIo`` attribute of the volume with the ID ``vol-1234567890abcdef0`` to ``true``. If the command succeeds, no output is returned.

$result = $client->modifyVolumeAttribute([
    'AutoEnableIO' => [
        'Value' => 1,
    ],
    'DryRun' => 1,
    'VolumeId' => 'vol-1234567890abcdef0',
]);

Result syntax:

[
]

ModifyVpcAttribute

$result = $client->modifyVpcAttribute([/* ... */]);
$promise = $client->modifyVpcAttributeAsync([/* ... */]);

Modifies the specified attribute of the specified VPC.

Parameter Syntax

$result = $client->modifyVpcAttribute([
    'EnableDnsHostnames' => [
        'Value' => true || false,
    ],
    'EnableDnsSupport' => [
        'Value' => true || false,
    ],
    'EnableNetworkAddressUsageMetrics' => [
        'Value' => true || false,
    ],
    'VpcId' => '<string>', // REQUIRED
]);

Parameter Details

Members
EnableDnsHostnames
Type: AttributeBooleanValue structure

Indicates whether the instances launched in the VPC get DNS hostnames. If enabled, instances in the VPC get DNS hostnames; otherwise, they do not.

You cannot modify the DNS resolution and DNS hostnames attributes in the same request. Use separate requests for each attribute. You can only enable DNS hostnames if you've enabled DNS support.

EnableDnsSupport
Type: AttributeBooleanValue structure

Indicates whether the DNS resolution is supported for the VPC. If enabled, queries to the Amazon provided DNS server at the 169.254.169.253 IP address, or the reserved IP address at the base of the VPC network range "plus two" succeed. If disabled, the Amazon provided DNS service in the VPC that resolves public DNS hostnames to IP addresses is not enabled.

You cannot modify the DNS resolution and DNS hostnames attributes in the same request. Use separate requests for each attribute.

EnableNetworkAddressUsageMetrics
Type: AttributeBooleanValue structure

Indicates whether Network Address Usage metrics are enabled for your VPC.

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 modify the enableDnsSupport attribute

This example modifies the enableDnsSupport attribute. This attribute indicates whether DNS resolution is enabled for the VPC. If this attribute is true, the Amazon DNS server resolves DNS hostnames for instances in the VPC to their corresponding IP addresses; otherwise, it does not.

$result = $client->modifyVpcAttribute([
    'EnableDnsSupport' => [
        'Value' => ,
    ],
    'VpcId' => 'vpc-a01106c2',
]);
Example 2: To modify the enableDnsHostnames attribute

This example modifies the enableDnsHostnames attribute. This attribute indicates whether instances launched in the VPC get DNS hostnames. If this attribute is true, instances in the VPC get DNS hostnames; otherwise, they do not.

$result = $client->modifyVpcAttribute([
    'EnableDnsHostnames' => [
        'Value' => ,
    ],
    'VpcId' => 'vpc-a01106c2',
]);

ModifyVpcEndpoint

$result = $client->modifyVpcEndpoint([/* ... */]);
$promise = $client->modifyVpcEndpointAsync([/* ... */]);

Modifies attributes of a specified VPC endpoint. The attributes that you can modify depend on the type of VPC endpoint (interface, gateway, or Gateway Load Balancer). For more information, see the Amazon Web Services PrivateLink Guide.

Parameter Syntax

$result = $client->modifyVpcEndpoint([
    'AddRouteTableIds' => ['<string>', ...],
    'AddSecurityGroupIds' => ['<string>', ...],
    'AddSubnetIds' => ['<string>', ...],
    'DnsOptions' => [
        'DnsRecordIpType' => 'ipv4|dualstack|ipv6|service-defined',
        'PrivateDnsOnlyForInboundResolverEndpoint' => true || false,
    ],
    'DryRun' => true || false,
    'IpAddressType' => 'ipv4|dualstack|ipv6',
    'PolicyDocument' => '<string>',
    'PrivateDnsEnabled' => true || false,
    'RemoveRouteTableIds' => ['<string>', ...],
    'RemoveSecurityGroupIds' => ['<string>', ...],
    'RemoveSubnetIds' => ['<string>', ...],
    'ResetPolicy' => true || false,
    'SubnetConfigurations' => [
        [
            'Ipv4' => '<string>',
            'Ipv6' => '<string>',
            'SubnetId' => '<string>',
        ],
        // ...
    ],
    'VpcEndpointId' => '<string>', // REQUIRED
]);

Parameter Details

Members
AddRouteTableIds
Type: Array of strings

(Gateway endpoint) The IDs of the route tables to associate with the endpoint.

AddSecurityGroupIds
Type: Array of strings

(Interface endpoint) The IDs of the security groups to associate with the endpoint network interfaces.

AddSubnetIds
Type: Array of strings

(Interface and Gateway Load Balancer endpoints) The IDs of the subnets in which to serve the endpoint. For a Gateway Load Balancer endpoint, you can specify only one subnet.

DnsOptions
Type: DnsOptionsSpecification structure

The DNS options for the 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.

IpAddressType
Type: string

The IP address type for the endpoint.

PolicyDocument
Type: string

(Interface and gateway endpoints) A policy to attach to the endpoint that controls access to the service. The policy must be in valid JSON format.

PrivateDnsEnabled
Type: boolean

(Interface endpoint) Indicates whether a private hosted zone is associated with the VPC.

RemoveRouteTableIds
Type: Array of strings

(Gateway endpoint) The IDs of the route tables to disassociate from the endpoint.

RemoveSecurityGroupIds
Type: Array of strings

(Interface endpoint) The IDs of the security groups to disassociate from the endpoint network interfaces.

RemoveSubnetIds
Type: Array of strings

(Interface endpoint) The IDs of the subnets from which to remove the endpoint.

ResetPolicy
Type: boolean

(Gateway endpoint) Specify true to reset the policy document to the default policy. The default policy allows full access to the service.

SubnetConfigurations
Type: Array of SubnetConfiguration structures

The subnet configurations for the endpoint.

VpcEndpointId
Required: Yes
Type: string

The ID of the endpoint.

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.

ModifyVpcEndpointConnectionNotification

$result = $client->modifyVpcEndpointConnectionNotification([/* ... */]);
$promise = $client->modifyVpcEndpointConnectionNotificationAsync([/* ... */]);

Modifies a connection notification for VPC endpoint or VPC endpoint service. You can change the SNS topic for the notification, or the events for which to be notified.

Parameter Syntax

$result = $client->modifyVpcEndpointConnectionNotification([
    'ConnectionEvents' => ['<string>', ...],
    'ConnectionNotificationArn' => '<string>',
    'ConnectionNotificationId' => '<string>', // REQUIRED
    'DryRun' => true || false,
]);

Parameter Details

Members
ConnectionEvents
Type: Array of strings

The events for the endpoint. Valid values are Accept, Connect, Delete, and Reject.

ConnectionNotificationArn
Type: string

The ARN for the SNS topic for the notification.

ConnectionNotificationId
Required: Yes
Type: string

The ID of the notification.

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

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

Result Details

Members
ReturnValue
Type: boolean

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

Errors

There are no errors described for this operation.

ModifyVpcEndpointServiceConfiguration

$result = $client->modifyVpcEndpointServiceConfiguration([/* ... */]);
$promise = $client->modifyVpcEndpointServiceConfigurationAsync([/* ... */]);

Modifies the attributes of your VPC endpoint service configuration. You can change the Network Load Balancers or Gateway Load Balancers for your service, and you can specify whether acceptance is required for requests to connect to your endpoint service through an interface VPC endpoint.

If you set or modify the private DNS name, you must prove that you own the private DNS domain name.

Parameter Syntax

$result = $client->modifyVpcEndpointServiceConfiguration([
    'AcceptanceRequired' => true || false,
    'AddGatewayLoadBalancerArns' => ['<string>', ...],
    'AddNetworkLoadBalancerArns' => ['<string>', ...],
    'AddSupportedIpAddressTypes' => ['<string>', ...],
    'DryRun' => true || false,
    'PrivateDnsName' => '<string>',
    'RemoveGatewayLoadBalancerArns' => ['<string>', ...],
    'RemoveNetworkLoadBalancerArns' => ['<string>', ...],
    'RemovePrivateDnsName' => true || false,
    'RemoveSupportedIpAddressTypes' => ['<string>', ...],
    'ServiceId' => '<string>', // REQUIRED
]);

Parameter Details

Members
AcceptanceRequired
Type: boolean

Indicates whether requests to create an endpoint to your service must be accepted.

AddGatewayLoadBalancerArns
Type: Array of strings

The Amazon Resource Names (ARNs) of Gateway Load Balancers to add to your service configuration.

AddNetworkLoadBalancerArns
Type: Array of strings

The Amazon Resource Names (ARNs) of Network Load Balancers to add to your service configuration.

AddSupportedIpAddressTypes
Type: Array of strings

The IP address types to add to your service configuration.

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.

PrivateDnsName
Type: string

(Interface endpoint configuration) The private DNS name to assign to the endpoint service.

RemoveGatewayLoadBalancerArns
Type: Array of strings

The Amazon Resource Names (ARNs) of Gateway Load Balancers to remove from your service configuration.

RemoveNetworkLoadBalancerArns
Type: Array of strings

The Amazon Resource Names (ARNs) of Network Load Balancers to remove from your service configuration.

RemovePrivateDnsName
Type: boolean

(Interface endpoint configuration) Removes the private DNS name of the endpoint service.

RemoveSupportedIpAddressTypes
Type: Array of strings

The IP address types to remove from your service configuration.

ServiceId
Required: Yes
Type: string

The ID of the service.

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.

ModifyVpcEndpointServicePayerResponsibility

$result = $client->modifyVpcEndpointServicePayerResponsibility([/* ... */]);
$promise = $client->modifyVpcEndpointServicePayerResponsibilityAsync([/* ... */]);

Modifies the payer responsibility for your VPC endpoint service.

Parameter Syntax

$result = $client->modifyVpcEndpointServicePayerResponsibility([
    'DryRun' => true || false,
    'PayerResponsibility' => 'ServiceOwner', // REQUIRED
    'ServiceId' => '<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.

PayerResponsibility
Required: Yes
Type: string

The entity that is responsible for the endpoint costs. The default is the endpoint owner. If you set the payer responsibility to the service owner, you cannot set it back to the endpoint owner.

ServiceId
Required: Yes
Type: string

The ID of the service.

Result Syntax

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

Result Details

Members
ReturnValue
Type: boolean

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

Errors

There are no errors described for this operation.

ModifyVpcEndpointServicePermissions

$result = $client->modifyVpcEndpointServicePermissions([/* ... */]);
$promise = $client->modifyVpcEndpointServicePermissionsAsync([/* ... */]);

Modifies the permissions for your VPC endpoint service. You can add or remove permissions for service consumers (Amazon Web Services accounts, users, and IAM roles) to connect to your endpoint service.

If you grant permissions to all principals, the service is public. Any users who know the name of a public service can send a request to attach an endpoint. If the service does not require manual approval, attachments are automatically approved.

Parameter Syntax

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

Parameter Details

Members
AddAllowedPrincipals
Type: Array of strings

The Amazon Resource Names (ARN) of the principals. Permissions are granted to the principals in this list. To grant permissions to all principals, specify an asterisk (*).

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.

RemoveAllowedPrincipals
Type: Array of strings

The Amazon Resource Names (ARN) of the principals. Permissions are revoked for principals in this list.

ServiceId
Required: Yes
Type: string

The ID of the service.

Result Syntax

[
    'AddedPrincipals' => [
        [
            'Principal' => '<string>',
            'PrincipalType' => 'All|Service|OrganizationUnit|Account|User|Role',
            'ServiceId' => '<string>',
            'ServicePermissionId' => '<string>',
        ],
        // ...
    ],
    'ReturnValue' => true || false,
]

Result Details

Members
AddedPrincipals
Type: Array of AddedPrincipal structures

Information about the added principals.

ReturnValue
Type: boolean

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

Errors

There are no errors described for this operation.

ModifyVpcPeeringConnectionOptions

$result = $client->modifyVpcPeeringConnectionOptions([/* ... */]);
$promise = $client->modifyVpcPeeringConnectionOptionsAsync([/* ... */]);

Modifies the VPC peering connection options on one side of a VPC peering connection.

If the peered VPCs are in the same Amazon Web Services account, you can enable DNS resolution for queries from the local VPC. This ensures that queries from the local VPC resolve to private IP addresses in the peer VPC. This option is not available if the peered VPCs are in different Amazon Web Services accounts or different Regions. For peered VPCs in different Amazon Web Services accounts, each Amazon Web Services account owner must initiate a separate request to modify the peering connection options. For inter-region peering connections, you must use the Region for the requester VPC to modify the requester VPC peering options and the Region for the accepter VPC to modify the accepter VPC peering options. To verify which VPCs are the accepter and the requester for a VPC peering connection, use the DescribeVpcPeeringConnections command.

Parameter Syntax

$result = $client->modifyVpcPeeringConnectionOptions([
    'AccepterPeeringConnectionOptions' => [
        'AllowDnsResolutionFromRemoteVpc' => true || false,
        'AllowEgressFromLocalClassicLinkToRemoteVpc' => true || false,
        'AllowEgressFromLocalVpcToRemoteClassicLink' => true || false,
    ],
    'DryRun' => true || false,
    'RequesterPeeringConnectionOptions' => [
        'AllowDnsResolutionFromRemoteVpc' => true || false,
        'AllowEgressFromLocalClassicLinkToRemoteVpc' => true || false,
        'AllowEgressFromLocalVpcToRemoteClassicLink' => true || false,
    ],
    'VpcPeeringConnectionId' => '<string>', // REQUIRED
]);

Parameter Details

Members
AccepterPeeringConnectionOptions

The VPC peering connection options for the accepter 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.

RequesterPeeringConnectionOptions

The VPC peering connection options for the requester VPC.

VpcPeeringConnectionId
Required: Yes
Type: string

The ID of the VPC peering connection.

Result Syntax

[
    'AccepterPeeringConnectionOptions' => [
        'AllowDnsResolutionFromRemoteVpc' => true || false,
        'AllowEgressFromLocalClassicLinkToRemoteVpc' => true || false,
        'AllowEgressFromLocalVpcToRemoteClassicLink' => true || false,
    ],
    'RequesterPeeringConnectionOptions' => [
        'AllowDnsResolutionFromRemoteVpc' => true || false,
        'AllowEgressFromLocalClassicLinkToRemoteVpc' => true || false,
        'AllowEgressFromLocalVpcToRemoteClassicLink' => true || false,
    ],
]

Result Details

Members
AccepterPeeringConnectionOptions
Type: PeeringConnectionOptions structure

Information about the VPC peering connection options for the accepter VPC.

RequesterPeeringConnectionOptions
Type: PeeringConnectionOptions structure

Information about the VPC peering connection options for the requester VPC.

Errors

There are no errors described for this operation.

ModifyVpcTenancy

$result = $client->modifyVpcTenancy([/* ... */]);
$promise = $client->modifyVpcTenancyAsync([/* ... */]);

Modifies the instance tenancy attribute of the specified VPC. You can change the instance tenancy attribute of a VPC to default only. You cannot change the instance tenancy attribute to dedicated.

After you modify the tenancy of the VPC, any new instances that you launch into the VPC have a tenancy of default, unless you specify otherwise during launch. The tenancy of any existing instances in the VPC is not affected.

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

Parameter Syntax

$result = $client->modifyVpcTenancy([
    'DryRun' => true || false,
    'InstanceTenancy' => 'default', // 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.

InstanceTenancy
Required: Yes
Type: string

The instance tenancy attribute for the VPC.

VpcId
Required: Yes
Type: string

The ID of the VPC.

Result Syntax

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

Result Details

Members
ReturnValue
Type: boolean

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

Errors

There are no errors described for this operation.

ModifyVpnConnection

$result = $client->modifyVpnConnection([/* ... */]);
$promise = $client->modifyVpnConnectionAsync([/* ... */]);

Modifies the customer gateway or the target gateway of an Amazon Web Services Site-to-Site VPN connection. To modify the target gateway, the following migration options are available:

  • An existing virtual private gateway to a new virtual private gateway

  • An existing virtual private gateway to a transit gateway

  • An existing transit gateway to a new transit gateway

  • An existing transit gateway to a virtual private gateway

Before you perform the migration to the new gateway, you must configure the new gateway. Use CreateVpnGateway to create a virtual private gateway, or CreateTransitGateway to create a transit gateway.

This step is required when you migrate from a virtual private gateway with static routes to a transit gateway.

You must delete the static routes before you migrate to the new gateway.

Keep a copy of the static route before you delete it. You will need to add back these routes to the transit gateway after the VPN connection migration is complete.

After you migrate to the new gateway, you might need to modify your VPC route table. Use CreateRoute and DeleteRoute to make the changes described in Update VPC route tables in the Amazon Web Services Site-to-Site VPN User Guide.

When the new gateway is a transit gateway, modify the transit gateway route table to allow traffic between the VPC and the Amazon Web Services Site-to-Site VPN connection. Use CreateTransitGatewayRoute to add the routes.

If you deleted VPN static routes, you must add the static routes to the transit gateway route table.

After you perform this operation, the VPN endpoint's IP addresses on the Amazon Web Services side and the tunnel options remain intact. Your Amazon Web Services Site-to-Site VPN connection will be temporarily unavailable for a brief period while we provision the new endpoints.

Parameter Syntax

$result = $client->modifyVpnConnection([
    'CustomerGatewayId' => '<string>',
    'DryRun' => true || false,
    'TransitGatewayId' => '<string>',
    'VpnConnectionId' => '<string>', // REQUIRED
    'VpnGatewayId' => '<string>',
]);

Parameter Details

Members
CustomerGatewayId
Type: string

The ID of the customer gateway at your end of the VPN connection.

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.

TransitGatewayId
Type: string

The ID of the transit gateway.

VpnConnectionId
Required: Yes
Type: string

The ID of the VPN connection.

VpnGatewayId
Type: string

The ID of the virtual private gateway at the Amazon Web Services side of the VPN connection.

Result Syntax

[
    'VpnConnection' => [
        'Category' => '<string>',
        'CoreNetworkArn' => '<string>',
        'CoreNetworkAttachmentArn' => '<string>',
        'CustomerGatewayConfiguration' => '<string>',
        'CustomerGatewayId' => '<string>',
        'GatewayAssociationState' => 'associated|not-associated|associating|disassociating',
        'Options' => [
            'EnableAcceleration' => true || false,
            'LocalIpv4NetworkCidr' => '<string>',
            'LocalIpv6NetworkCidr' => '<string>',
            'OutsideIpAddressType' => '<string>',
            'RemoteIpv4NetworkCidr' => '<string>',
            'RemoteIpv6NetworkCidr' => '<string>',
            'StaticRoutesOnly' => true || false,
            'TransportTransitGatewayAttachmentId' => '<string>',
            'TunnelInsideIpVersion' => 'ipv4|ipv6',
            'TunnelOptions' => [
                [
                    'DpdTimeoutAction' => '<string>',
                    'DpdTimeoutSeconds' => <integer>,
                    'EnableTunnelLifecycleControl' => true || false,
                    'IkeVersions' => [
                        [
                            'Value' => '<string>',
                        ],
                        // ...
                    ],
                    'LogOptions' => [
                        'CloudWatchLogOptions' => [
                            'LogEnabled' => true || false,
                            'LogGroupArn' => '<string>',
                            'LogOutputFormat' => '<string>',
                        ],
                    ],
                    'OutsideIpAddress' => '<string>',
                    'Phase1DHGroupNumbers' => [
                        [
                            'Value' => <integer>,
                        ],
                        // ...
                    ],
                    'Phase1EncryptionAlgorithms' => [
                        [
                            'Value' => '<string>',
                        ],
                        // ...
                    ],
                    'Phase1IntegrityAlgorithms' => [
                        [
                            'Value' => '<string>',
                        ],
                        // ...
                    ],
                    'Phase1LifetimeSeconds' => <integer>,
                    'Phase2DHGroupNumbers' => [
                        [
                            'Value' => <integer>,
                        ],
                        // ...
                    ],
                    'Phase2EncryptionAlgorithms' => [
                        [
                            'Value' => '<string>',
                        ],
                        // ...
                    ],
                    'Phase2IntegrityAlgorithms' => [
                        [
                            'Value' => '<string>',
                        ],
                        // ...
                    ],
                    'Phase2LifetimeSeconds' => <integer>,
                    'PreSharedKey' => '<string>',
                    'RekeyFuzzPercentage' => <integer>,
                    'RekeyMarginTimeSeconds' => <integer>,
                    'ReplayWindowSize' => <integer>,
                    'StartupAction' => '<string>',
                    'TunnelInsideCidr' => '<string>',
                    'TunnelInsideIpv6Cidr' => '<string>',
                ],
                // ...
            ],
        ],
        'Routes' => [
            [
                'DestinationCidrBlock' => '<string>',
                'Source' => 'Static',
                'State' => 'pending|available|deleting|deleted',
            ],
            // ...
        ],
        'State' => 'pending|available|deleting|deleted',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'TransitGatewayId' => '<string>',
        'Type' => 'ipsec.1',
        'VgwTelemetry' => [
            [
                'AcceptedRouteCount' => <integer>,
                'CertificateArn' => '<string>',
                'LastStatusChange' => <DateTime>,
                'OutsideIpAddress' => '<string>',
                'Status' => 'UP|DOWN',
                'StatusMessage' => '<string>',
            ],
            // ...
        ],
        'VpnConnectionId' => '<string>',
        'VpnGatewayId' => '<string>',
    ],
]

Result Details

Members
VpnConnection
Type: VpnConnection structure

Information about the VPN connection.

Errors

There are no errors described for this operation.

ModifyVpnConnectionOptions

$result = $client->modifyVpnConnectionOptions([/* ... */]);
$promise = $client->modifyVpnConnectionOptionsAsync([/* ... */]);

Modifies the connection options for your Site-to-Site VPN connection.

When you modify the VPN connection options, the VPN endpoint IP addresses on the Amazon Web Services side do not change, and the tunnel options do not change. Your VPN connection will be temporarily unavailable for a brief period while the VPN connection is updated.

Parameter Syntax

$result = $client->modifyVpnConnectionOptions([
    'DryRun' => true || false,
    'LocalIpv4NetworkCidr' => '<string>',
    'LocalIpv6NetworkCidr' => '<string>',
    'RemoteIpv4NetworkCidr' => '<string>',
    'RemoteIpv6NetworkCidr' => '<string>',
    'VpnConnectionId' => '<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.

LocalIpv4NetworkCidr
Type: string

The IPv4 CIDR on the customer gateway (on-premises) side of the VPN connection.

Default: 0.0.0.0/0

LocalIpv6NetworkCidr
Type: string

The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection.

Default: ::/0

RemoteIpv4NetworkCidr
Type: string

The IPv4 CIDR on the Amazon Web Services side of the VPN connection.

Default: 0.0.0.0/0

RemoteIpv6NetworkCidr
Type: string

The IPv6 CIDR on the Amazon Web Services side of the VPN connection.

Default: ::/0

VpnConnectionId
Required: Yes
Type: string

The ID of the Site-to-Site VPN connection.

Result Syntax

[
    'VpnConnection' => [
        'Category' => '<string>',
        'CoreNetworkArn' => '<string>',
        'CoreNetworkAttachmentArn' => '<string>',
        'CustomerGatewayConfiguration' => '<string>',
        'CustomerGatewayId' => '<string>',
        'GatewayAssociationState' => 'associated|not-associated|associating|disassociating',
        'Options' => [
            'EnableAcceleration' => true || false,
            'LocalIpv4NetworkCidr' => '<string>',
            'LocalIpv6NetworkCidr' => '<string>',
            'OutsideIpAddressType' => '<string>',
            'RemoteIpv4NetworkCidr' => '<string>',
            'RemoteIpv6NetworkCidr' => '<string>',
            'StaticRoutesOnly' => true || false,
            'TransportTransitGatewayAttachmentId' => '<string>',
            'TunnelInsideIpVersion' => 'ipv4|ipv6',
            'TunnelOptions' => [
                [
                    'DpdTimeoutAction' => '<string>',
                    'DpdTimeoutSeconds' => <integer>,
                    'EnableTunnelLifecycleControl' => true || false,
                    'IkeVersions' => [
                        [
                            'Value' => '<string>',
                        ],
                        // ...
                    ],
                    'LogOptions' => [
                        'CloudWatchLogOptions' => [
                            'LogEnabled' => true || false,
                            'LogGroupArn' => '<string>',
                            'LogOutputFormat' => '<string>',
                        ],
                    ],
                    'OutsideIpAddress' => '<string>',
                    'Phase1DHGroupNumbers' => [
                        [
                            'Value' => <integer>,
                        ],
                        // ...
                    ],
                    'Phase1EncryptionAlgorithms' => [
                        [
                            'Value' => '<string>',
                        ],
                        // ...
                    ],
                    'Phase1IntegrityAlgorithms' => [
                        [
                            'Value' => '<string>',
                        ],
                        // ...
                    ],
                    'Phase1LifetimeSeconds' => <integer>,
                    'Phase2DHGroupNumbers' => [
                        [
                            'Value' => <integer>,
                        ],
                        // ...
                    ],
                    'Phase2EncryptionAlgorithms' => [
                        [
                            'Value' => '<string>',
                        ],
                        // ...
                    ],
                    'Phase2IntegrityAlgorithms' => [
                        [
                            'Value' => '<string>',
                        ],
                        // ...
                    ],
                    'Phase2LifetimeSeconds' => <integer>,
                    'PreSharedKey' => '<string>',
                    'RekeyFuzzPercentage' => <integer>,
                    'RekeyMarginTimeSeconds' => <integer>,
                    'ReplayWindowSize' => <integer>,
                    'StartupAction' => '<string>',
                    'TunnelInsideCidr' => '<string>',
                    'TunnelInsideIpv6Cidr' => '<string>',
                ],
                // ...
            ],
        ],
        'Routes' => [
            [
                'DestinationCidrBlock' => '<string>',
                'Source' => 'Static',
                'State' => 'pending|available|deleting|deleted',
            ],
            // ...
        ],
        'State' => 'pending|available|deleting|deleted',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'TransitGatewayId' => '<string>',
        'Type' => 'ipsec.1',
        'VgwTelemetry' => [
            [
                'AcceptedRouteCount' => <integer>,
                'CertificateArn' => '<string>',
                'LastStatusChange' => <DateTime>,
                'OutsideIpAddress' => '<string>',
                'Status' => 'UP|DOWN',
                'StatusMessage' => '<string>',
            ],
            // ...
        ],
        'VpnConnectionId' => '<string>',
        'VpnGatewayId' => '<string>',
    ],
]

Result Details

Members
VpnConnection
Type: VpnConnection structure

Information about the VPN connection.

Errors

There are no errors described for this operation.

ModifyVpnTunnelCertificate

$result = $client->modifyVpnTunnelCertificate([/* ... */]);
$promise = $client->modifyVpnTunnelCertificateAsync([/* ... */]);

Modifies the VPN tunnel endpoint certificate.

Parameter Syntax

$result = $client->modifyVpnTunnelCertificate([
    'DryRun' => true || false,
    'VpnConnectionId' => '<string>', // REQUIRED
    'VpnTunnelOutsideIpAddress' => '<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.

VpnConnectionId
Required: Yes
Type: string

The ID of the Amazon Web Services Site-to-Site VPN connection.

VpnTunnelOutsideIpAddress
Required: Yes
Type: string

The external IP address of the VPN tunnel.

Result Syntax

[
    'VpnConnection' => [
        'Category' => '<string>',
        'CoreNetworkArn' => '<string>',
        'CoreNetworkAttachmentArn' => '<string>',
        'CustomerGatewayConfiguration' => '<string>',
        'CustomerGatewayId' => '<string>',
        'GatewayAssociationState' => 'associated|not-associated|associating|disassociating',
        'Options' => [
            'EnableAcceleration' => true || false,
            'LocalIpv4NetworkCidr' => '<string>',
            'LocalIpv6NetworkCidr' => '<string>',
            'OutsideIpAddressType' => '<string>',
            'RemoteIpv4NetworkCidr' => '<string>',
            'RemoteIpv6NetworkCidr' => '<string>',
            'StaticRoutesOnly' => true || false,
            'TransportTransitGatewayAttachmentId' => '<string>',
            'TunnelInsideIpVersion' => 'ipv4|ipv6',
            'TunnelOptions' => [
                [
                    'DpdTimeoutAction' => '<string>',
                    'DpdTimeoutSeconds' => <integer>,
                    'EnableTunnelLifecycleControl' => true || false,
                    'IkeVersions' => [
                        [
                            'Value' => '<string>',
                        ],
                        // ...
                    ],
                    'LogOptions' => [
                        'CloudWatchLogOptions' => [
                            'LogEnabled' => true || false,
                            'LogGroupArn' => '<string>',
                            'LogOutputFormat' => '<string>',
                        ],
                    ],
                    'OutsideIpAddress' => '<string>',
                    'Phase1DHGroupNumbers' => [
                        [
                            'Value' => <integer>,
                        ],
                        // ...
                    ],
                    'Phase1EncryptionAlgorithms' => [
                        [
                            'Value' => '<string>',
                        ],
                        // ...
                    ],
                    'Phase1IntegrityAlgorithms' => [
                        [
                            'Value' => '<string>',
                        ],
                        // ...
                    ],
                    'Phase1LifetimeSeconds' => <integer>,
                    'Phase2DHGroupNumbers' => [
                        [
                            'Value' => <integer>,
                        ],
                        // ...
                    ],
                    'Phase2EncryptionAlgorithms' => [
                        [
                            'Value' => '<string>',
                        ],
                        // ...
                    ],
                    'Phase2IntegrityAlgorithms' => [
                        [
                            'Value' => '<string>',
                        ],
                        // ...
                    ],
                    'Phase2LifetimeSeconds' => <integer>,
                    'PreSharedKey' => '<string>',
                    'RekeyFuzzPercentage' => <integer>,
                    'RekeyMarginTimeSeconds' => <integer>,
                    'ReplayWindowSize' => <integer>,
                    'StartupAction' => '<string>',
                    'TunnelInsideCidr' => '<string>',
                    'TunnelInsideIpv6Cidr' => '<string>',
                ],
                // ...
            ],
        ],
        'Routes' => [
            [
                'DestinationCidrBlock' => '<string>',
                'Source' => 'Static',
                'State' => 'pending|available|deleting|deleted',
            ],
            // ...
        ],
        'State' => 'pending|available|deleting|deleted',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'TransitGatewayId' => '<string>',
        'Type' => 'ipsec.1',
        'VgwTelemetry' => [
            [
                'AcceptedRouteCount' => <integer>,
                'CertificateArn' => '<string>',
                'LastStatusChange' => <DateTime>,
                'OutsideIpAddress' => '<string>',
                'Status' => 'UP|DOWN',
                'StatusMessage' => '<string>',
            ],
            // ...
        ],
        'VpnConnectionId' => '<string>',
        'VpnGatewayId' => '<string>',
    ],
]

Result Details

Members
VpnConnection
Type: VpnConnection structure

Information about the VPN connection.

Errors

There are no errors described for this operation.

ModifyVpnTunnelOptions

$result = $client->modifyVpnTunnelOptions([/* ... */]);
$promise = $client->modifyVpnTunnelOptionsAsync([/* ... */]);

Modifies the options for a VPN tunnel in an Amazon Web Services Site-to-Site VPN connection. You can modify multiple options for a tunnel in a single request, but you can only modify one tunnel at a time. For more information, see Site-to-Site VPN tunnel options for your Site-to-Site VPN connection in the Amazon Web Services Site-to-Site VPN User Guide.

Parameter Syntax

$result = $client->modifyVpnTunnelOptions([
    'DryRun' => true || false,
    'SkipTunnelReplacement' => true || false,
    'TunnelOptions' => [ // REQUIRED
        'DPDTimeoutAction' => '<string>',
        'DPDTimeoutSeconds' => <integer>,
        'EnableTunnelLifecycleControl' => true || false,
        'IKEVersions' => [
            [
                'Value' => '<string>',
            ],
            // ...
        ],
        'LogOptions' => [
            'CloudWatchLogOptions' => [
                'LogEnabled' => true || false,
                'LogGroupArn' => '<string>',
                'LogOutputFormat' => '<string>',
            ],
        ],
        'Phase1DHGroupNumbers' => [
            [
                'Value' => <integer>,
            ],
            // ...
        ],
        'Phase1EncryptionAlgorithms' => [
            [
                'Value' => '<string>',
            ],
            // ...
        ],
        'Phase1IntegrityAlgorithms' => [
            [
                'Value' => '<string>',
            ],
            // ...
        ],
        'Phase1LifetimeSeconds' => <integer>,
        'Phase2DHGroupNumbers' => [
            [
                'Value' => <integer>,
            ],
            // ...
        ],
        'Phase2EncryptionAlgorithms' => [
            [
                'Value' => '<string>',
            ],
            // ...
        ],
        'Phase2IntegrityAlgorithms' => [
            [
                'Value' => '<string>',
            ],
            // ...
        ],
        'Phase2LifetimeSeconds' => <integer>,
        'PreSharedKey' => '<string>',
        'RekeyFuzzPercentage' => <integer>,
        'RekeyMarginTimeSeconds' => <integer>,
        'ReplayWindowSize' => <integer>,
        'StartupAction' => '<string>',
        'TunnelInsideCidr' => '<string>',
        'TunnelInsideIpv6Cidr' => '<string>',
    ],
    'VpnConnectionId' => '<string>', // REQUIRED
    'VpnTunnelOutsideIpAddress' => '<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.

SkipTunnelReplacement
Type: boolean

Choose whether or not to trigger immediate tunnel replacement. This is only applicable when turning on or off EnableTunnelLifecycleControl.

Valid values: True | False

TunnelOptions
Required: Yes
Type: ModifyVpnTunnelOptionsSpecification structure

The tunnel options to modify.

VpnConnectionId
Required: Yes
Type: string

The ID of the Amazon Web Services Site-to-Site VPN connection.

VpnTunnelOutsideIpAddress
Required: Yes
Type: string

The external IP address of the VPN tunnel.

Result Syntax

[
    'VpnConnection' => [
        'Category' => '<string>',
        'CoreNetworkArn' => '<string>',
        'CoreNetworkAttachmentArn' => '<string>',
        'CustomerGatewayConfiguration' => '<string>',
        'CustomerGatewayId' => '<string>',
        'GatewayAssociationState' => 'associated|not-associated|associating|disassociating',
        'Options' => [
            'EnableAcceleration' => true || false,
            'LocalIpv4NetworkCidr' => '<string>',
            'LocalIpv6NetworkCidr' => '<string>',
            'OutsideIpAddressType' => '<string>',
            'RemoteIpv4NetworkCidr' => '<string>',
            'RemoteIpv6NetworkCidr' => '<string>',
            'StaticRoutesOnly' => true || false,
            'TransportTransitGatewayAttachmentId' => '<string>',
            'TunnelInsideIpVersion' => 'ipv4|ipv6',
            'TunnelOptions' => [
                [
                    'DpdTimeoutAction' => '<string>',
                    'DpdTimeoutSeconds' => <integer>,
                    'EnableTunnelLifecycleControl' => true || false,
                    'IkeVersions' => [
                        [
                            'Value' => '<string>',
                        ],
                        // ...
                    ],
                    'LogOptions' => [
                        'CloudWatchLogOptions' => [
                            'LogEnabled' => true || false,
                            'LogGroupArn' => '<string>',
                            'LogOutputFormat' => '<string>',
                        ],
                    ],
                    'OutsideIpAddress' => '<string>',
                    'Phase1DHGroupNumbers' => [
                        [
                            'Value' => <integer>,
                        ],
                        // ...
                    ],
                    'Phase1EncryptionAlgorithms' => [
                        [
                            'Value' => '<string>',
                        ],
                        // ...
                    ],
                    'Phase1IntegrityAlgorithms' => [
                        [
                            'Value' => '<string>',
                        ],
                        // ...
                    ],
                    'Phase1LifetimeSeconds' => <integer>,
                    'Phase2DHGroupNumbers' => [
                        [
                            'Value' => <integer>,
                        ],
                        // ...
                    ],
                    'Phase2EncryptionAlgorithms' => [
                        [
                            'Value' => '<string>',
                        ],
                        // ...
                    ],
                    'Phase2IntegrityAlgorithms' => [
                        [
                            'Value' => '<string>',
                        ],
                        // ...
                    ],
                    'Phase2LifetimeSeconds' => <integer>,
                    'PreSharedKey' => '<string>',
                    'RekeyFuzzPercentage' => <integer>,
                    'RekeyMarginTimeSeconds' => <integer>,
                    'ReplayWindowSize' => <integer>,
                    'StartupAction' => '<string>',
                    'TunnelInsideCidr' => '<string>',
                    'TunnelInsideIpv6Cidr' => '<string>',
                ],
                // ...
            ],
        ],
        'Routes' => [
            [
                'DestinationCidrBlock' => '<string>',
                'Source' => 'Static',
                'State' => 'pending|available|deleting|deleted',
            ],
            // ...
        ],
        'State' => 'pending|available|deleting|deleted',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'TransitGatewayId' => '<string>',
        'Type' => 'ipsec.1',
        'VgwTelemetry' => [
            [
                'AcceptedRouteCount' => <integer>,
                'CertificateArn' => '<string>',
                'LastStatusChange' => <DateTime>,
                'OutsideIpAddress' => '<string>',
                'Status' => 'UP|DOWN',
                'StatusMessage' => '<string>',
            ],
            // ...
        ],
        'VpnConnectionId' => '<string>',
        'VpnGatewayId' => '<string>',
    ],
]

Result Details

Members
VpnConnection
Type: VpnConnection structure

Information about the VPN connection.

Errors

There are no errors described for this operation.

MonitorInstances

$result = $client->monitorInstances([/* ... */]);
$promise = $client->monitorInstancesAsync([/* ... */]);

Enables detailed monitoring for a running instance. Otherwise, basic monitoring is enabled. For more information, see Monitor your instances using CloudWatch in the Amazon EC2 User Guide.

To disable detailed monitoring, see UnmonitorInstances.

Parameter Syntax

$result = $client->monitorInstances([
    'DryRun' => true || false,
    'InstanceIds' => ['<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.

InstanceIds
Required: Yes
Type: Array of strings

The IDs of the instances.

Result Syntax

[
    'InstanceMonitorings' => [
        [
            'InstanceId' => '<string>',
            'Monitoring' => [
                'State' => 'disabled|disabling|enabled|pending',
            ],
        ],
        // ...
    ],
]

Result Details

Members
InstanceMonitorings
Type: Array of InstanceMonitoring structures

The monitoring information.

Errors

There are no errors described for this operation.

MoveAddressToVpc

$result = $client->moveAddressToVpc([/* ... */]);
$promise = $client->moveAddressToVpcAsync([/* ... */]);

This action is deprecated.

Moves an Elastic IP address from the EC2-Classic platform to the EC2-VPC platform. The Elastic IP address must be allocated to your account for more than 24 hours, and it must not be associated with an instance. After the Elastic IP address is moved, it is no longer available for use in the EC2-Classic platform, unless you move it back using the RestoreAddressToClassic request. You cannot move an Elastic IP address that was originally allocated for use in the EC2-VPC platform to the EC2-Classic platform.

Parameter Syntax

$result = $client->moveAddressToVpc([
    'DryRun' => true || false,
    'PublicIp' => '<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.

PublicIp
Required: Yes
Type: string

The Elastic IP address.

Result Syntax

[
    'AllocationId' => '<string>',
    'Status' => 'MoveInProgress|InVpc|InClassic',
]

Result Details

Members
AllocationId
Type: string

The allocation ID for the Elastic IP address.

Status
Type: string

The status of the move of the IP address.

Errors

There are no errors described for this operation.

Examples

Example 1: To move an address to EC2-VPC

This example moves the specified Elastic IP address to the EC2-VPC platform.

$result = $client->moveAddressToVpc([
    'PublicIp' => '54.123.4.56',
]);

Result syntax:

[
    'Status' => 'MoveInProgress',
]

MoveByoipCidrToIpam

$result = $client->moveByoipCidrToIpam([/* ... */]);
$promise = $client->moveByoipCidrToIpamAsync([/* ... */]);

Move a BYOIPv4 CIDR to IPAM from a public IPv4 pool.

If you already have a BYOIPv4 CIDR with Amazon Web Services, you can move the CIDR to IPAM from a public IPv4 pool. You cannot move an IPv6 CIDR to IPAM. If you are bringing a new IP address to Amazon Web Services for the first time, complete the steps in Tutorial: BYOIP address CIDRs to IPAM.

Parameter Syntax

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

Parameter Details

Members
Cidr
Required: Yes
Type: string

The BYOIP CIDR.

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 IPAM pool ID.

IpamPoolOwner
Required: Yes
Type: string

The Amazon Web Services account ID of the owner of the IPAM pool.

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

The BYOIP CIDR.

Errors

There are no errors described for this operation.

MoveCapacityReservationInstances

$result = $client->moveCapacityReservationInstances([/* ... */]);
$promise = $client->moveCapacityReservationInstancesAsync([/* ... */]);

Move available capacity from a source Capacity Reservation to a destination Capacity Reservation. The source Capacity Reservation and the destination Capacity Reservation must be active, owned by your Amazon Web Services account, and share the following:

  • Instance type

  • Platform

  • Availability Zone

  • Tenancy

  • Placement group

  • Capacity Reservation end time - At specific time or Manually.

Parameter Syntax

$result = $client->moveCapacityReservationInstances([
    'ClientToken' => '<string>',
    'DestinationCapacityReservationId' => '<string>', // REQUIRED
    'DryRun' => true || false,
    'InstanceCount' => <integer>, // REQUIRED
    'SourceCapacityReservationId' => '<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 Ensure Idempotency.

DestinationCapacityReservationId
Required: Yes
Type: string

The ID of the Capacity Reservation that you want to move capacity into.

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 that you want to move from the source Capacity Reservation.

SourceCapacityReservationId
Required: Yes
Type: string

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

Result Syntax

[
    'DestinationCapacityReservation' => [
        'AvailabilityZone' => '<string>',
        'AvailabilityZoneId' => '<string>',
        'AvailableInstanceCount' => <integer>,
        'CapacityAllocations' => [
            [
                'AllocationType' => 'used',
                'Count' => <integer>,
            ],
            // ...
        ],
        'CapacityReservationArn' => '<string>',
        'CapacityReservationFleetId' => '<string>',
        'CapacityReservationId' => '<string>',
        'CreateDate' => <DateTime>,
        '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',
        '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>',
        'CreateDate' => <DateTime>,
        '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',
        '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 that were moved from the source Capacity Reservation to the destination Capacity Reservation.

SourceCapacityReservation
Type: CapacityReservation structure

Information about the source Capacity Reservation.

Errors

There are no errors described for this operation.

ProvisionByoipCidr

$result = $client->provisionByoipCidr([/* ... */]);
$promise = $client->provisionByoipCidrAsync([/* ... */]);

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. After the address range is provisioned, it is ready to be advertised using AdvertiseByoipCidr.

Amazon Web Services verifies that you own the address range and are authorized to advertise it. You must ensure that the address range is registered to you and that you created an RPKI ROA to authorize Amazon ASNs 16509 and 14618 to advertise the address range. For more information, see Bring your own IP addresses (BYOIP) in the Amazon EC2 User Guide.

Provisioning an address range is an asynchronous operation, so the call returns immediately, but the address range is not ready to use until its status changes from pending-provision to provisioned. To monitor the status of an address range, use DescribeByoipCidrs. To allocate an Elastic IP address from your IPv4 address pool, use AllocateAddress with either the specific address from the address pool or the ID of the address pool.

Parameter Syntax

$result = $client->provisionByoipCidr([
    'Cidr' => '<string>', // REQUIRED
    'CidrAuthorizationContext' => [
        'Message' => '<string>', // REQUIRED
        'Signature' => '<string>', // REQUIRED
    ],
    'Description' => '<string>',
    'DryRun' => true || false,
    'MultiRegion' => true || false,
    'NetworkBorderGroup' => '<string>',
    'PoolTagSpecifications' => [
        [
            '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>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'PubliclyAdvertisable' => true || false,
]);

Parameter Details

Members
Cidr
Required: Yes
Type: string

The public IPv4 or IPv6 address range, in CIDR notation. The most specific IPv4 prefix that you can specify is /24. The most specific IPv6 address range that you can bring is /48 for CIDRs that are publicly advertisable and /56 for CIDRs that are not publicly advertisable. The address range cannot overlap with another address range that you've brought to this or another Region.

CidrAuthorizationContext
Type: CidrAuthorizationContext structure

A signed document that proves that you are authorized to bring the specified IP address range to Amazon using BYOIP.

Description
Type: string

A description for the address range and 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.

MultiRegion
Type: boolean

Reserved.

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.

PoolTagSpecifications
Type: Array of TagSpecification structures

The tags to apply to the address pool.

PubliclyAdvertisable
Type: boolean

(IPv6 only) Indicate whether the address range will be publicly advertised to the internet.

Default: true

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.

ProvisionIpamByoasn

$result = $client->provisionIpamByoasn([/* ... */]);
$promise = $client->provisionIpamByoasnAsync([/* ... */]);

Provisions your Autonomous System Number (ASN) for use in your Amazon Web Services account. This action requires authorization context for Amazon to bring the ASN to an Amazon Web Services account. For more information, see Tutorial: Bring your ASN to IPAM in the Amazon VPC IPAM guide.

Parameter Syntax

$result = $client->provisionIpamByoasn([
    'Asn' => '<string>', // REQUIRED
    'AsnAuthorizationContext' => [ // REQUIRED
        'Message' => '<string>', // REQUIRED
        'Signature' => '<string>', // REQUIRED
    ],
    'DryRun' => true || false,
    'IpamId' => '<string>', // REQUIRED
]);

Parameter Details

Members
Asn
Required: Yes
Type: string

A public 2-byte or 4-byte ASN.

AsnAuthorizationContext
Required: Yes
Type: AsnAuthorizationContext structure

An ASN authorization context.

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.

IpamId
Required: Yes
Type: string

An IPAM ID.

Result Syntax

[
    'Byoasn' => [
        'Asn' => '<string>',
        'IpamId' => '<string>',
        'State' => 'deprovisioned|failed-deprovision|failed-provision|pending-deprovision|pending-provision|provisioned',
        'StatusMessage' => '<string>',
    ],
]

Result Details

Members
Byoasn
Type: Byoasn structure

An ASN and BYOIP CIDR association.

Errors

There are no errors described for this operation.

ProvisionIpamPoolCidr

$result = $client->provisionIpamPoolCidr([/* ... */]);
$promise = $client->provisionIpamPoolCidrAsync([/* ... */]);

Provision a CIDR to an IPAM pool. You can use this action to provision new CIDRs to a top-level pool or to transfer a CIDR from a top-level pool to a pool within it.

For more information, see Provision CIDRs to pools in the Amazon VPC IPAM User Guide.

Parameter Syntax

$result = $client->provisionIpamPoolCidr([
    'Cidr' => '<string>',
    'CidrAuthorizationContext' => [
        'Message' => '<string>',
        'Signature' => '<string>',
    ],
    'ClientToken' => '<string>',
    'DryRun' => true || false,
    'IpamExternalResourceVerificationTokenId' => '<string>',
    'IpamPoolId' => '<string>', // REQUIRED
    'NetmaskLength' => <integer>,
    'VerificationMethod' => 'remarks-x509|dns-token',
]);

Parameter Details

Members
Cidr
Type: string

The CIDR you want to assign to the IPAM pool. Either "NetmaskLength" or "Cidr" is required. This value will be null if you specify "NetmaskLength" and will be filled in during the provisioning process.

CidrAuthorizationContext

A signed document that proves that you are authorized to bring a specified IP address range to Amazon using BYOIP. This option only applies to IPv4 and IPv6 pools in the public scope.

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.

IpamExternalResourceVerificationTokenId
Type: string

Verification token ID. This option only applies to IPv4 and IPv6 pools in the public scope.

IpamPoolId
Required: Yes
Type: string

The ID of the IPAM pool to which you want to assign a CIDR.

NetmaskLength
Type: int

The netmask length of the CIDR you'd like to provision to a pool. Can be used for provisioning Amazon-provided IPv6 CIDRs to top-level pools and for provisioning CIDRs to pools with source pools. Cannot be used to provision BYOIP CIDRs to top-level pools. Either "NetmaskLength" or "Cidr" is required.

VerificationMethod
Type: string

The method for verifying control of a public IP address range. Defaults to remarks-x509 if not specified. This option only applies to IPv4 and IPv6 pools in the public scope.

Result Syntax

[
    'IpamPoolCidr' => [
        'Cidr' => '<string>',
        'FailureReason' => [
            'Code' => 'cidr-not-available|limit-exceeded',
            'Message' => '<string>',
        ],
        'IpamPoolCidrId' => '<string>',
        'NetmaskLength' => <integer>,
        'State' => 'pending-provision|provisioned|failed-provision|pending-deprovision|deprovisioned|failed-deprovision|pending-import|failed-import',
    ],
]

Result Details

Members
IpamPoolCidr
Type: IpamPoolCidr structure

Information about the provisioned CIDR.

Errors

There are no errors described for this operation.

ProvisionPublicIpv4PoolCidr

$result = $client->provisionPublicIpv4PoolCidr([/* ... */]);
$promise = $client->provisionPublicIpv4PoolCidrAsync([/* ... */]);

Provision a CIDR to a public IPv4 pool.

For more information about IPAM, see What is IPAM? in the Amazon VPC IPAM User Guide.

Parameter Syntax

$result = $client->provisionPublicIpv4PoolCidr([
    'DryRun' => true || false,
    'IpamPoolId' => '<string>', // REQUIRED
    'NetmaskLength' => <integer>, // REQUIRED
    'NetworkBorderGroup' => '<string>',
    'PoolId' => '<string>', // REQUIRED
]);

Parameter Details

Members
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 you would like to use to allocate this CIDR.

NetmaskLength
Required: Yes
Type: int

The netmask length of the CIDR you would like to allocate to the public IPv4 pool. The least specific netmask length you can define is 24.

NetworkBorderGroup
Type: string

The Availability Zone (AZ) or Local Zone (LZ) network border group that the resource that the IP address is assigned to is in. Defaults to an AZ network border group. For more information on available Local Zones, see Local Zone availability in the Amazon EC2 User Guide.

PoolId
Required: Yes
Type: string

The ID of the public IPv4 pool you would like to use for this CIDR.

Result Syntax

[
    'PoolAddressRange' => [
        'AddressCount' => <integer>,
        'AvailableAddressCount' => <integer>,
        'FirstAddress' => '<string>',
        'LastAddress' => '<string>',
    ],
    'PoolId' => '<string>',
]

Result Details

Members
PoolAddressRange
Type: PublicIpv4PoolRange structure

Information about the address range of the public IPv4 pool.

PoolId
Type: string

The ID of the pool that you want to provision the CIDR to.

Errors

There are no errors described for this operation.

PurchaseCapacityBlock

$result = $client->purchaseCapacityBlock([/* ... */]);
$promise = $client->purchaseCapacityBlockAsync([/* ... */]);

Purchase the Capacity Block for use with your account. With Capacity Blocks you ensure GPU capacity is available for machine learning (ML) workloads. You must specify the ID of the Capacity Block offering you are purchasing.

Parameter Syntax

$result = $client->purchaseCapacityBlock([
    'CapacityBlockOfferingId' => '<string>', // REQUIRED
    'DryRun' => 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', // 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
CapacityBlockOfferingId
Required: Yes
Type: string

The ID of the Capacity Block offering.

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.

InstancePlatform
Required: Yes
Type: string

The type of operating system for which to reserve capacity.

TagSpecifications
Type: Array of TagSpecification structures

The tags to apply to the Capacity Block during launch.

Result Syntax

[
    'CapacityReservation' => [
        'AvailabilityZone' => '<string>',
        'AvailabilityZoneId' => '<string>',
        'AvailableInstanceCount' => <integer>,
        'CapacityAllocations' => [
            [
                'AllocationType' => 'used',
                'Count' => <integer>,
            ],
            // ...
        ],
        'CapacityReservationArn' => '<string>',
        'CapacityReservationFleetId' => '<string>',
        'CapacityReservationId' => '<string>',
        'CreateDate' => <DateTime>,
        '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',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'Tenancy' => 'default|dedicated',
        'TotalInstanceCount' => <integer>,
        'UnusedReservationBillingOwnerId' => '<string>',
    ],
]

Result Details

Members
CapacityReservation
Type: CapacityReservation structure

The Capacity Reservation.

Errors

There are no errors described for this operation.

PurchaseHostReservation

$result = $client->purchaseHostReservation([/* ... */]);
$promise = $client->purchaseHostReservationAsync([/* ... */]);

Purchase a reservation with configurations that match those of your Dedicated Host. You must have active Dedicated Hosts in your account before you purchase a reservation. This action results in the specified reservation being purchased and charged to your account.

Parameter Syntax

$result = $client->purchaseHostReservation([
    'ClientToken' => '<string>',
    'CurrencyCode' => 'USD',
    'HostIdSet' => ['<string>', ...], // REQUIRED
    'LimitPrice' => '<string>',
    'OfferingId' => '<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 Ensuring Idempotency.

CurrencyCode
Type: string

The currency in which the totalUpfrontPrice, LimitPrice, and totalHourlyPrice amounts are specified. At this time, the only supported currency is USD.

HostIdSet
Required: Yes
Type: Array of strings

The IDs of the Dedicated Hosts with which the reservation will be associated.

LimitPrice
Type: string

The specified limit is checked against the total upfront cost of the reservation (calculated as the offering's upfront cost multiplied by the host count). If the total upfront cost is greater than the specified price limit, the request fails. This is used to ensure that the purchase does not exceed the expected upfront cost of the purchase. At this time, the only supported currency is USD. For example, to indicate a limit price of USD 100, specify 100.00.

OfferingId
Required: Yes
Type: string

The ID of the offering.

TagSpecifications
Type: Array of TagSpecification structures

The tags to apply to the Dedicated Host Reservation during purchase.

Result Syntax

[
    'ClientToken' => '<string>',
    'CurrencyCode' => 'USD',
    'Purchase' => [
        [
            'CurrencyCode' => 'USD',
            'Duration' => <integer>,
            'HostIdSet' => ['<string>', ...],
            'HostReservationId' => '<string>',
            'HourlyPrice' => '<string>',
            'InstanceFamily' => '<string>',
            'PaymentOption' => 'AllUpfront|PartialUpfront|NoUpfront',
            'UpfrontPrice' => '<string>',
        ],
        // ...
    ],
    'TotalHourlyPrice' => '<string>',
    'TotalUpfrontPrice' => '<string>',
]

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.

CurrencyCode
Type: string

The currency in which the totalUpfrontPrice and totalHourlyPrice amounts are specified. At this time, the only supported currency is USD.

Purchase
Type: Array of Purchase structures

Describes the details of the purchase.

TotalHourlyPrice
Type: string

The total hourly price of the reservation calculated per hour.

TotalUpfrontPrice
Type: string

The total amount charged to your account when you purchase the reservation.

Errors

There are no errors described for this operation.

PurchaseReservedInstancesOffering

$result = $client->purchaseReservedInstancesOffering([/* ... */]);
$promise = $client->purchaseReservedInstancesOfferingAsync([/* ... */]);

Purchases a Reserved Instance for use with your account. With Reserved Instances, you pay a lower hourly rate compared to On-Demand instance pricing.

Use DescribeReservedInstancesOfferings to get a list of Reserved Instance offerings that match your specifications. After you've purchased a Reserved Instance, you can check for your new Reserved Instance with DescribeReservedInstances.

To queue a purchase for a future date and time, specify a purchase time. If you do not specify a purchase time, the default is the current time.

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

Parameter Syntax

$result = $client->purchaseReservedInstancesOffering([
    'DryRun' => true || false,
    'InstanceCount' => <integer>, // REQUIRED
    'LimitPrice' => [
        'Amount' => <float>,
        'CurrencyCode' => 'USD',
    ],
    'PurchaseTime' => <integer || string || DateTime>,
    'ReservedInstancesOfferingId' => '<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.

InstanceCount
Required: Yes
Type: int

The number of Reserved Instances to purchase.

LimitPrice
Type: ReservedInstanceLimitPrice structure

Specified for Reserved Instance Marketplace offerings to limit the total order and ensure that the Reserved Instances are not purchased at unexpected prices.

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

The time at which to purchase the Reserved Instance, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

ReservedInstancesOfferingId
Required: Yes
Type: string

The ID of the Reserved Instance offering to purchase.

Result Syntax

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

Result Details

Members
ReservedInstancesId
Type: string

The IDs of the purchased Reserved Instances. If your purchase crosses into a discounted pricing tier, the final Reserved Instances IDs might change. For more information, see Crossing pricing tiers in the Amazon EC2 User Guide.

Errors

There are no errors described for this operation.

PurchaseScheduledInstances

$result = $client->purchaseScheduledInstances([/* ... */]);
$promise = $client->purchaseScheduledInstancesAsync([/* ... */]);

You can no longer purchase Scheduled Instances.

Purchases the Scheduled Instances with the specified schedule.

Scheduled Instances enable you to purchase Amazon EC2 compute capacity by the hour for a one-year term. Before you can purchase a Scheduled Instance, you must call DescribeScheduledInstanceAvailability to check for available schedules and obtain a purchase token. After you purchase a Scheduled Instance, you must call RunScheduledInstances during each scheduled time period.

After you purchase a Scheduled Instance, you can't cancel, modify, or resell your purchase.

Parameter Syntax

$result = $client->purchaseScheduledInstances([
    'ClientToken' => '<string>',
    'DryRun' => true || false,
    'PurchaseRequests' => [ // REQUIRED
        [
            'InstanceCount' => <integer>, // REQUIRED
            'PurchaseToken' => '<string>', // REQUIRED
        ],
        // ...
    ],
]);

Parameter Details

Members
ClientToken
Type: string

Unique, case-sensitive identifier that ensures 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.

PurchaseRequests
Required: Yes
Type: Array of PurchaseRequest structures

The purchase requests.

Result Syntax

[
    'ScheduledInstanceSet' => [
        [
            'AvailabilityZone' => '<string>',
            'CreateDate' => <DateTime>,
            'HourlyPrice' => '<string>',
            'InstanceCount' => <integer>,
            'InstanceType' => '<string>',
            'NetworkPlatform' => '<string>',
            'NextSlotStartTime' => <DateTime>,
            'Platform' => '<string>',
            'PreviousSlotEndTime' => <DateTime>,
            'Recurrence' => [
                'Frequency' => '<string>',
                'Interval' => <integer>,
                'OccurrenceDaySet' => [<integer>, ...],
                'OccurrenceRelativeToEnd' => true || false,
                'OccurrenceUnit' => '<string>',
            ],
            'ScheduledInstanceId' => '<string>',
            'SlotDurationInHours' => <integer>,
            'TermEndDate' => <DateTime>,
            'TermStartDate' => <DateTime>,
            'TotalScheduledInstanceHours' => <integer>,
        ],
        // ...
    ],
]

Result Details

Members
ScheduledInstanceSet
Type: Array of ScheduledInstance structures

Information about the Scheduled Instances.

Errors

There are no errors described for this operation.

RebootInstances

$result = $client->rebootInstances([/* ... */]);
$promise = $client->rebootInstancesAsync([/* ... */]);

Requests a reboot of the specified instances. This operation is asynchronous; it only queues a request to reboot the specified instances. The operation succeeds if the instances are valid and belong to you. Requests to reboot terminated instances are ignored.

If an instance does not cleanly shut down within a few minutes, Amazon EC2 performs a hard reboot.

For more information about troubleshooting, see Troubleshoot an unreachable instance in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->rebootInstances([
    'DryRun' => true || false,
    'InstanceIds' => ['<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.

InstanceIds
Required: Yes
Type: Array of strings

The instance IDs.

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 reboot an EC2 instance

This example reboots the specified EC2 instance.

$result = $client->rebootInstances([
    'InstanceIds' => [
        'i-1234567890abcdef5',
    ],
]);

Result syntax:

[
]

RegisterImage

$result = $client->registerImage([/* ... */]);
$promise = $client->registerImageAsync([/* ... */]);

Registers an AMI. When you're creating an instance-store backed AMI, registering the AMI is the final step in the creation process. For more information about creating AMIs, see Create an AMI from a snapshot and Create an instance-store backed AMI in the Amazon EC2 User Guide.

For Amazon EBS-backed instances, CreateImage creates and registers the AMI in a single request, so you don't have to register the AMI yourself. We recommend that you always use CreateImage unless you have a specific reason to use RegisterImage.

If needed, you can deregister an AMI at any time. Any modifications you make to an AMI backed by an instance store volume invalidates its registration. If you make changes to an image, deregister the previous image and register the new image.

Register a snapshot of a root device volume

You can use RegisterImage to create an Amazon EBS-backed Linux AMI from a snapshot of a root device volume. You specify the snapshot using a block device mapping. You can't set the encryption state of the volume using the block device mapping. If the snapshot is encrypted, or encryption by default is enabled, the root volume of an instance launched from the AMI is encrypted.

For more information, see Create an AMI from a snapshot and Use encryption with Amazon EBS-backed AMIs in the Amazon EC2 User Guide.

Amazon Web Services Marketplace product codes

If any snapshots have Amazon Web Services Marketplace product codes, they are copied to the new AMI.

In most cases, AMIs for Windows, RedHat, SUSE, and SQL Server require correct licensing information to be present on the AMI. For more information, see Understand AMI billing information in the Amazon EC2 User Guide. When creating an AMI from a snapshot, the RegisterImage operation derives the correct billing information from the snapshot's metadata, but this requires the appropriate metadata to be present. To verify if the correct billing information was applied, check the PlatformDetails field on the new AMI. If the field is empty or doesn't match the expected operating system code (for example, Windows, RedHat, SUSE, or SQL), the AMI creation was unsuccessful, and you should discard the AMI and instead create the AMI from an instance using CreateImage. For more information, see Create an AMI from an instance in the Amazon EC2 User Guide.

If you purchase a Reserved Instance to apply to an On-Demand Instance that was launched from an AMI with a billing product code, make sure that the Reserved Instance has the matching billing product code. If you purchase a Reserved Instance without the matching billing product code, the Reserved Instance will not be applied to the On-Demand Instance. For information about how to obtain the platform details and billing information of an AMI, see Understand AMI billing information in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->registerImage([
    'Architecture' => 'i386|x86_64|arm64|x86_64_mac|arm64_mac',
    'BillingProducts' => ['<string>', ...],
    '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>',
        ],
        // ...
    ],
    'BootMode' => 'legacy-bios|uefi|uefi-preferred',
    'Description' => '<string>',
    'DryRun' => true || false,
    'EnaSupport' => true || false,
    'ImageLocation' => '<string>',
    'ImdsSupport' => 'v2.0',
    'KernelId' => '<string>',
    'Name' => '<string>', // REQUIRED
    'RamdiskId' => '<string>',
    'RootDeviceName' => '<string>',
    'SriovNetSupport' => '<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>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'TpmSupport' => 'v2.0',
    'UefiData' => '<string>',
    'VirtualizationType' => '<string>',
]);

Parameter Details

Members
Architecture
Type: string

The architecture of the AMI.

Default: For Amazon EBS-backed AMIs, i386. For instance store-backed AMIs, the architecture specified in the manifest file.

BillingProducts
Type: Array of strings

The billing product codes. Your account must be authorized to specify billing product codes.

If your account is not authorized to specify billing product codes, you can publish AMIs that include billable software and list them on the Amazon Web Services Marketplace. You must first register as a seller on the Amazon Web Services Marketplace. For more information, see Getting started as a seller and AMI-based products in the Amazon Web Services Marketplace Seller Guide.

BlockDeviceMappings
Type: Array of BlockDeviceMapping structures

The block device mapping entries.

If you specify an Amazon EBS volume using the ID of an Amazon EBS snapshot, you can't specify the encryption state of the volume.

If you create an AMI on an Outpost, then all backing snapshots must be on the same Outpost or in the Region of that Outpost. AMIs on an Outpost that include local snapshots can be used to launch instances on the same Outpost only. For more information, Amazon EBS local snapshots on Outposts in the Amazon EBS User Guide.

BootMode
Type: string

The boot mode of the AMI. A value of uefi-preferred indicates that the AMI supports both UEFI and Legacy BIOS.

The operating system contained in the AMI must be configured to support the specified boot mode.

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

Description
Type: string

A description for your AMI.

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.

EnaSupport
Type: boolean

Set to true to enable enhanced networking with ENA for the AMI and any instances that you launch from the AMI.

This option is supported only for HVM AMIs. Specifying this option with a PV AMI can make instances launched from the AMI unreachable.

ImageLocation
Type: string

The full path to your AMI manifest in Amazon S3 storage. The specified bucket must have the aws-exec-read canned access control list (ACL) to ensure that it can be accessed by Amazon EC2. For more information, see Canned ACLs in the Amazon S3 Service Developer Guide.

ImdsSupport
Type: string

Set to v2.0 to indicate that IMDSv2 is specified in the AMI. Instances launched from this AMI will have HttpTokens automatically set to required so that, by default, the instance requires that IMDSv2 is used when requesting instance metadata. In addition, HttpPutResponseHopLimit is set to 2. For more information, see Configure the AMI in the Amazon EC2 User Guide.

If you set the value to v2.0, make sure that your AMI software can support IMDSv2.

KernelId
Type: string

The ID of the kernel.

Name
Required: Yes
Type: string

A name for your AMI.

Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('), at-signs (@), or underscores(_)

RamdiskId
Type: string

The ID of the RAM disk.

RootDeviceName
Type: string

The device name of the root device volume (for example, /dev/sda1).

SriovNetSupport
Type: string

Set to simple to enable enhanced networking with the Intel 82599 Virtual Function interface for the AMI and any instances that you launch from the AMI.

There is no way to disable sriovNetSupport at this time.

This option is supported only for HVM AMIs. Specifying this option with a PV AMI can make instances launched from the AMI unreachable.

TagSpecifications
Type: Array of TagSpecification structures

The tags to apply to the AMI.

To tag the AMI, the value for ResourceType must be image. If you specify another value for ResourceType, the request fails.

To tag an AMI after it has been registered, see CreateTags.

TpmSupport
Type: string

Set to v2.0 to enable Trusted Platform Module (TPM) support. For more information, see NitroTPM in the Amazon EC2 User Guide.

UefiData
Type: string

Base64 representation of the non-volatile UEFI variable store. To retrieve the UEFI data, use the GetInstanceUefiData command. You can inspect and modify the UEFI data by using the python-uefivars tool on GitHub. For more information, see UEFI Secure Boot in the Amazon EC2 User Guide.

VirtualizationType
Type: string

The type of virtualization (hvm | paravirtual).

Default: paravirtual

Result Syntax

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

Result Details

Members
ImageId
Type: string

The ID of the newly registered AMI.

Errors

There are no errors described for this operation.

RegisterInstanceEventNotificationAttributes

$result = $client->registerInstanceEventNotificationAttributes([/* ... */]);
$promise = $client->registerInstanceEventNotificationAttributesAsync([/* ... */]);

Registers a set of tag keys to include in scheduled event notifications for your resources.

To remove tags, use DeregisterInstanceEventNotificationAttributes.

Parameter Syntax

$result = $client->registerInstanceEventNotificationAttributes([
    'DryRun' => true || false,
    'InstanceTagAttribute' => [ // REQUIRED
        'IncludeAllTagsOfInstance' => true || false,
        'InstanceTagKeys' => ['<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.

InstanceTagAttribute
Required: Yes
Type: RegisterInstanceTagAttributeRequest structure

Information about the tag keys to register.

Result Syntax

[
    'InstanceTagAttribute' => [
        'IncludeAllTagsOfInstance' => true || false,
        'InstanceTagKeys' => ['<string>', ...],
    ],
]

Result Details

Members
InstanceTagAttribute

The resulting set of tag keys.

Errors

There are no errors described for this operation.

RegisterTransitGatewayMulticastGroupMembers

$result = $client->registerTransitGatewayMulticastGroupMembers([/* ... */]);
$promise = $client->registerTransitGatewayMulticastGroupMembersAsync([/* ... */]);

Registers members (network interfaces) with the transit gateway multicast group. A member is a network interface associated with a supported EC2 instance that receives multicast traffic. For more information, see Multicast on transit gateways in the Amazon Web Services Transit Gateways Guide.

After you add the members, use SearchTransitGatewayMulticastGroups to verify that the members were added to the transit gateway multicast group.

Parameter Syntax

$result = $client->registerTransitGatewayMulticastGroupMembers([
    'DryRun' => true || false,
    'GroupIpAddress' => '<string>',
    'NetworkInterfaceIds' => ['<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.

GroupIpAddress
Type: string

The IP address assigned to the transit gateway multicast group.

NetworkInterfaceIds
Required: Yes
Type: Array of strings

The group members' network interface IDs to register with the transit gateway multicast group.

TransitGatewayMulticastDomainId
Required: Yes
Type: string

The ID of the transit gateway multicast domain.

Result Syntax

[
    'RegisteredMulticastGroupMembers' => [
        'GroupIpAddress' => '<string>',
        'RegisteredNetworkInterfaceIds' => ['<string>', ...],
        'TransitGatewayMulticastDomainId' => '<string>',
    ],
]

Result Details

Members
RegisteredMulticastGroupMembers

Information about the registered transit gateway multicast group members.

Errors

There are no errors described for this operation.

RegisterTransitGatewayMulticastGroupSources

$result = $client->registerTransitGatewayMulticastGroupSources([/* ... */]);
$promise = $client->registerTransitGatewayMulticastGroupSourcesAsync([/* ... */]);

Registers sources (network interfaces) with the specified transit gateway multicast group.

A multicast source is a network interface attached to a supported instance that sends multicast traffic. For more information about supported instances, see Multicast on transit gateways in the Amazon Web Services Transit Gateways Guide.

After you add the source, use SearchTransitGatewayMulticastGroups to verify that the source was added to the multicast group.

Parameter Syntax

$result = $client->registerTransitGatewayMulticastGroupSources([
    'DryRun' => true || false,
    'GroupIpAddress' => '<string>',
    'NetworkInterfaceIds' => ['<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.

GroupIpAddress
Type: string

The IP address assigned to the transit gateway multicast group.

NetworkInterfaceIds
Required: Yes
Type: Array of strings

The group sources' network interface IDs to register with the transit gateway multicast group.

TransitGatewayMulticastDomainId
Required: Yes
Type: string

The ID of the transit gateway multicast domain.

Result Syntax

[
    'RegisteredMulticastGroupSources' => [
        'GroupIpAddress' => '<string>',
        'RegisteredNetworkInterfaceIds' => ['<string>', ...],
        'TransitGatewayMulticastDomainId' => '<string>',
    ],
]

Result Details

Members
RegisteredMulticastGroupSources

Information about the transit gateway multicast group sources.

Errors

There are no errors described for this operation.

RejectCapacityReservationBillingOwnership

$result = $client->rejectCapacityReservationBillingOwnership([/* ... */]);
$promise = $client->rejectCapacityReservationBillingOwnershipAsync([/* ... */]);

Rejects 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->rejectCapacityReservationBillingOwnership([
    'CapacityReservationId' => '<string>', // REQUIRED
    'DryRun' => true || false,
]);

Parameter Details

Members
CapacityReservationId
Required: Yes
Type: string

The ID of the Capacity Reservation for which to reject 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.

RejectTransitGatewayMulticastDomainAssociations

$result = $client->rejectTransitGatewayMulticastDomainAssociations([/* ... */]);
$promise = $client->rejectTransitGatewayMulticastDomainAssociationsAsync([/* ... */]);

Rejects a request to associate cross-account subnets with a transit gateway multicast domain.

Parameter Syntax

$result = $client->rejectTransitGatewayMulticastDomainAssociations([
    '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.

RejectTransitGatewayPeeringAttachment

$result = $client->rejectTransitGatewayPeeringAttachment([/* ... */]);
$promise = $client->rejectTransitGatewayPeeringAttachmentAsync([/* ... */]);

Rejects a transit gateway peering attachment request.

Parameter Syntax

$result = $client->rejectTransitGatewayPeeringAttachment([
    '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 peering 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.

RejectTransitGatewayVpcAttachment

$result = $client->rejectTransitGatewayVpcAttachment([/* ... */]);
$promise = $client->rejectTransitGatewayVpcAttachmentAsync([/* ... */]);

Rejects 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 AcceptTransitGatewayVpcAttachment to accept a VPC attachment request.

Parameter Syntax

$result = $client->rejectTransitGatewayVpcAttachment([
    '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

Information about the attachment.

Errors

There are no errors described for this operation.

RejectVpcEndpointConnections

$result = $client->rejectVpcEndpointConnections([/* ... */]);
$promise = $client->rejectVpcEndpointConnectionsAsync([/* ... */]);

Rejects VPC endpoint connection requests to your VPC endpoint service.

Parameter Syntax

$result = $client->rejectVpcEndpointConnections([
    '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 service.

VpcEndpointIds
Required: Yes
Type: Array of strings

The IDs of the VPC endpoints.

Result Syntax

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

Result Details

Members
Unsuccessful
Type: Array of UnsuccessfulItem structures

Information about the endpoints that were not rejected, if applicable.

Errors

There are no errors described for this operation.

RejectVpcPeeringConnection

$result = $client->rejectVpcPeeringConnection([/* ... */]);
$promise = $client->rejectVpcPeeringConnectionAsync([/* ... */]);

Rejects a VPC peering connection request. The VPC peering connection must be in the pending-acceptance state. Use the DescribeVpcPeeringConnections request to view your outstanding VPC peering connection requests. To delete an active VPC peering connection, or to delete a VPC peering connection request that you initiated, use DeleteVpcPeeringConnection.

Parameter Syntax

$result = $client->rejectVpcPeeringConnection([
    '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.

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.

ReleaseAddress

$result = $client->releaseAddress([/* ... */]);
$promise = $client->releaseAddressAsync([/* ... */]);

Releases the specified Elastic IP address.

[Default VPC] Releasing an Elastic IP address automatically disassociates it from any instance that it's associated with. To disassociate an Elastic IP address without releasing it, use DisassociateAddress.

[Nondefault VPC] You must use DisassociateAddress to disassociate the Elastic IP address before you can release it. Otherwise, Amazon EC2 returns an error (InvalidIPAddress.InUse).

After releasing an Elastic IP address, it is released to the IP address pool. Be sure to update your DNS records and any servers or devices that communicate with the address. If you attempt to release an Elastic IP address that you already released, you'll get an AuthFailure error if the address is already allocated to another Amazon Web Services account.

After you release an Elastic IP address, you might be able to recover it. For more information, see AllocateAddress.

Parameter Syntax

$result = $client->releaseAddress([
    'AllocationId' => '<string>',
    'DryRun' => true || false,
    'NetworkBorderGroup' => '<string>',
    'PublicIp' => '<string>',
]);

Parameter Details

Members
AllocationId
Type: string

The allocation ID. This parameter is required.

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

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

If you provide an incorrect network border group, you receive an InvalidAddress.NotFound error.

PublicIp
Type: string

Deprecated.

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 release an Elastic IP address

This example releases the specified Elastic IP address.

$result = $client->releaseAddress([
    'AllocationId' => 'eipalloc-64d5890a',
]);

ReleaseHosts

$result = $client->releaseHosts([/* ... */]);
$promise = $client->releaseHostsAsync([/* ... */]);

When you no longer want to use an On-Demand Dedicated Host it can be released. On-Demand billing is stopped and the host goes into released state. The host ID of Dedicated Hosts that have been released can no longer be specified in another request, for example, to modify the host. You must stop or terminate all instances on a host before it can be released.

When Dedicated Hosts are released, it may take some time for them to stop counting toward your limit and you may receive capacity errors when trying to allocate new Dedicated Hosts. Wait a few minutes and then try again.

Released hosts still appear in a DescribeHosts response.

Parameter Syntax

$result = $client->releaseHosts([
    'HostIds' => ['<string>', ...], // REQUIRED
]);

Parameter Details

Members
HostIds
Required: Yes
Type: Array of strings

The IDs of the Dedicated Hosts to release.

Result Syntax

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

Result Details

Members
Successful
Type: Array of strings

The IDs of the Dedicated Hosts that were successfully released.

Unsuccessful
Type: Array of UnsuccessfulItem structures

The IDs of the Dedicated Hosts that could not be released, including an error message.

Errors

There are no errors described for this operation.

ReleaseIpamPoolAllocation

$result = $client->releaseIpamPoolAllocation([/* ... */]);
$promise = $client->releaseIpamPoolAllocationAsync([/* ... */]);

Release an allocation within 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. You can only use this action to release manual allocations. To remove an allocation for a resource without deleting the resource, set its monitored state to false using ModifyIpamResourceCidr. For more information, see Release an allocation in the Amazon VPC IPAM User Guide.

All EC2 API actions follow an eventual consistency model.

Parameter Syntax

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

Parameter Details

Members
Cidr
Required: Yes
Type: string

The CIDR of the allocation you want to release.

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.

IpamPoolAllocationId
Required: Yes
Type: string

The ID of the allocation.

IpamPoolId
Required: Yes
Type: string

The ID of the IPAM pool which contains the allocation you want to release.

Result Syntax

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

Result Details

Members
Success
Type: boolean

Indicates if the release was successful.

Errors

There are no errors described for this operation.

ReplaceIamInstanceProfileAssociation

$result = $client->replaceIamInstanceProfileAssociation([/* ... */]);
$promise = $client->replaceIamInstanceProfileAssociationAsync([/* ... */]);

Replaces an IAM instance profile for the specified running instance. You can use this action to change the IAM instance profile that's associated with an instance without having to disassociate the existing IAM instance profile first.

Use DescribeIamInstanceProfileAssociations to get the association ID.

Parameter Syntax

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

Parameter Details

Members
AssociationId
Required: Yes
Type: string

The ID of the existing IAM instance profile association.

IamInstanceProfile
Required: Yes
Type: IamInstanceProfileSpecification structure

The IAM instance profile.

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.

ReplaceNetworkAclAssociation

$result = $client->replaceNetworkAclAssociation([/* ... */]);
$promise = $client->replaceNetworkAclAssociationAsync([/* ... */]);

Changes which network ACL a subnet is associated with. By default when you create a subnet, it's automatically associated with the default network ACL. For more information, see Network ACLs in the Amazon VPC User Guide.

This is an idempotent operation.

Parameter Syntax

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

Parameter Details

Members
AssociationId
Required: Yes
Type: string

The ID of the current association between the original network ACL and the 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.

NetworkAclId
Required: Yes
Type: string

The ID of the new network ACL to associate with the subnet.

Result Syntax

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

Result Details

Members
NewAssociationId
Type: string

The ID of the new association.

Errors

There are no errors described for this operation.

Examples

Example 1: To replace the network ACL associated with a subnet

This example associates the specified network ACL with the subnet for the specified network ACL association.

$result = $client->replaceNetworkAclAssociation([
    'AssociationId' => 'aclassoc-e5b95c8c',
    'NetworkAclId' => 'acl-5fb85d36',
]);

Result syntax:

[
    'NewAssociationId' => 'aclassoc-3999875b',
]

ReplaceNetworkAclEntry

$result = $client->replaceNetworkAclEntry([/* ... */]);
$promise = $client->replaceNetworkAclEntryAsync([/* ... */]);

Replaces an entry (rule) in a network ACL. For more information, see Network ACLs in the Amazon VPC User Guide.

Parameter Syntax

$result = $client->replaceNetworkAclEntry([
    'CidrBlock' => '<string>',
    'DryRun' => true || false,
    'Egress' => true || false, // REQUIRED
    'IcmpTypeCode' => [
        'Code' => <integer>,
        'Type' => <integer>,
    ],
    'Ipv6CidrBlock' => '<string>',
    'NetworkAclId' => '<string>', // REQUIRED
    'PortRange' => [
        'From' => <integer>,
        'To' => <integer>,
    ],
    'Protocol' => '<string>', // REQUIRED
    'RuleAction' => 'allow|deny', // REQUIRED
    'RuleNumber' => <integer>, // REQUIRED
]);

Parameter Details

Members
CidrBlock
Type: string

The IPv4 network range to allow or deny, in CIDR notation (for example 172.16.0.0/24).

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.

Egress
Required: Yes
Type: boolean

Indicates whether to replace the egress rule.

Default: If no value is specified, we replace the ingress rule.

IcmpTypeCode
Type: IcmpTypeCode structure

ICMP protocol: The ICMP or ICMPv6 type and code. Required if specifying protocol 1 (ICMP) or protocol 58 (ICMPv6) with an IPv6 CIDR block.

Ipv6CidrBlock
Type: string

The IPv6 network range to allow or deny, in CIDR notation (for example 2001:bd8:1234:1a00::/64).

NetworkAclId
Required: Yes
Type: string

The ID of the ACL.

PortRange
Type: PortRange structure

TCP or UDP protocols: The range of ports the rule applies to. Required if specifying protocol 6 (TCP) or 17 (UDP).

Protocol
Required: Yes
Type: string

The protocol number. A value of "-1" means all protocols. If you specify "-1" or a protocol number other than "6" (TCP), "17" (UDP), or "1" (ICMP), traffic on all ports is allowed, regardless of any ports or ICMP types or codes that you specify. If you specify protocol "58" (ICMPv6) and specify an IPv4 CIDR block, traffic for all ICMP types and codes allowed, regardless of any that you specify. If you specify protocol "58" (ICMPv6) and specify an IPv6 CIDR block, you must specify an ICMP type and code.

RuleAction
Required: Yes
Type: string

Indicates whether to allow or deny the traffic that matches the rule.

RuleNumber
Required: Yes
Type: int

The rule number of the entry to replace.

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 replace a network ACL entry

This example replaces an entry for the specified network ACL. The new rule 100 allows ingress traffic from 203.0.113.12/24 on UDP port 53 (DNS) into any associated subnet.

$result = $client->replaceNetworkAclEntry([
    'CidrBlock' => '203.0.113.12/24',
    'Egress' => ,
    'NetworkAclId' => 'acl-5fb85d36',
    'PortRange' => [
        'From' => 53,
        'To' => 53,
    ],
    'Protocol' => '17',
    'RuleAction' => 'allow',
    'RuleNumber' => 100,
]);

ReplaceRoute

$result = $client->replaceRoute([/* ... */]);
$promise = $client->replaceRouteAsync([/* ... */]);

Replaces an existing route within a route table in a VPC.

You must specify either a destination CIDR block or a prefix list ID. You must also specify exactly one of the resources from the parameter list, or reset the local route to its default target.

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

Parameter Syntax

$result = $client->replaceRoute([
    'CarrierGatewayId' => '<string>',
    'CoreNetworkArn' => '<string>',
    'DestinationCidrBlock' => '<string>',
    'DestinationIpv6CidrBlock' => '<string>',
    'DestinationPrefixListId' => '<string>',
    'DryRun' => true || false,
    'EgressOnlyInternetGatewayId' => '<string>',
    'GatewayId' => '<string>',
    'InstanceId' => '<string>',
    'LocalGatewayId' => '<string>',
    'LocalTarget' => true || false,
    'NatGatewayId' => '<string>',
    'NetworkInterfaceId' => '<string>',
    'RouteTableId' => '<string>', // REQUIRED
    'TransitGatewayId' => '<string>',
    'VpcEndpointId' => '<string>',
    'VpcPeeringConnectionId' => '<string>',
]);

Parameter Details

Members
CarrierGatewayId
Type: string

[IPv4 traffic only] The ID of a carrier gateway.

CoreNetworkArn
Type: string

The Amazon Resource Name (ARN) of the core network.

DestinationCidrBlock
Type: string

The IPv4 CIDR address block used for the destination match. The value that you provide must match the CIDR of an existing route in the table.

DestinationIpv6CidrBlock
Type: string

The IPv6 CIDR address block used for the destination match. The value that you provide must match the CIDR of an existing route in the table.

DestinationPrefixListId
Type: string

The ID of the prefix list for the route.

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.

EgressOnlyInternetGatewayId
Type: string

[IPv6 traffic only] The ID of an egress-only internet gateway.

GatewayId
Type: string

The ID of an internet gateway or virtual private gateway.

InstanceId
Type: string

The ID of a NAT instance in your VPC.

LocalGatewayId
Type: string

The ID of the local gateway.

LocalTarget
Type: boolean

Specifies whether to reset the local route to its default target (local).

NatGatewayId
Type: string

[IPv4 traffic only] The ID of a NAT gateway.

NetworkInterfaceId
Type: string

The ID of a network interface.

RouteTableId
Required: Yes
Type: string

The ID of the route table.

TransitGatewayId
Type: string

The ID of a transit gateway.

VpcEndpointId
Type: string

The ID of a VPC endpoint. Supported for Gateway Load Balancer endpoints only.

VpcPeeringConnectionId
Type: string

The ID of a VPC peering connection.

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 replace a route

This example replaces the specified route in the specified table table. The new route matches the specified CIDR and sends the traffic to the specified virtual private gateway.

$result = $client->replaceRoute([
    'DestinationCidrBlock' => '10.0.0.0/16',
    'GatewayId' => 'vgw-9a4cacf3',
    'RouteTableId' => 'rtb-22574640',
]);

ReplaceRouteTableAssociation

$result = $client->replaceRouteTableAssociation([/* ... */]);
$promise = $client->replaceRouteTableAssociationAsync([/* ... */]);

Changes the route table associated with a given subnet, internet gateway, or virtual private gateway in a VPC. After the operation completes, the subnet or gateway uses the routes in the new route table. For more information about route tables, see Route tables in the Amazon VPC User Guide.

You can also use this operation to change which table is the main route table in the VPC. Specify the main route table's association ID and the route table ID of the new main route table.

Parameter Syntax

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

Parameter Details

Members
AssociationId
Required: Yes
Type: string

The association ID.

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.

RouteTableId
Required: Yes
Type: string

The ID of the new route table to associate with the subnet.

Result Syntax

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

Result Details

Members
AssociationState
Type: RouteTableAssociationState structure

The state of the association.

NewAssociationId
Type: string

The ID of the new association.

Errors

There are no errors described for this operation.

Examples

Example 1: To replace the route table associated with a subnet

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

$result = $client->replaceRouteTableAssociation([
    'AssociationId' => 'rtbassoc-781d0d1a',
    'RouteTableId' => 'rtb-22574640',
]);

Result syntax:

[
    'NewAssociationId' => 'rtbassoc-3a1f0f58',
]

ReplaceTransitGatewayRoute

$result = $client->replaceTransitGatewayRoute([/* ... */]);
$promise = $client->replaceTransitGatewayRouteAsync([/* ... */]);

Replaces the specified route in the specified transit gateway route table.

Parameter Syntax

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

Parameter Details

Members
Blackhole
Type: boolean

Indicates whether traffic matching this route is to be dropped.

DestinationCidrBlock
Required: Yes
Type: string

The CIDR range used for the destination match. Routing decisions are based on the most specific match.

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
Type: string

The ID of the attachment.

TransitGatewayRouteTableId
Required: Yes
Type: string

The ID of the route table.

Result Syntax

[
    'Route' => [
        'DestinationCidrBlock' => '<string>',
        'PrefixListId' => '<string>',
        'State' => 'pending|active|blackhole|deleting|deleted',
        'TransitGatewayAttachments' => [
            [
                'ResourceId' => '<string>',
                'ResourceType' => 'vpc|vpn|direct-connect-gateway|connect|peering|tgw-peering',
                'TransitGatewayAttachmentId' => '<string>',
            ],
            // ...
        ],
        'TransitGatewayRouteTableAnnouncementId' => '<string>',
        'Type' => 'static|propagated',
    ],
]

Result Details

Members
Route
Type: TransitGatewayRoute structure

Information about the modified route.

Errors

There are no errors described for this operation.

ReplaceVpnTunnel

$result = $client->replaceVpnTunnel([/* ... */]);
$promise = $client->replaceVpnTunnelAsync([/* ... */]);

Trigger replacement of specified VPN tunnel.

Parameter Syntax

$result = $client->replaceVpnTunnel([
    'ApplyPendingMaintenance' => true || false,
    'DryRun' => true || false,
    'VpnConnectionId' => '<string>', // REQUIRED
    'VpnTunnelOutsideIpAddress' => '<string>', // REQUIRED
]);

Parameter Details

Members
ApplyPendingMaintenance
Type: boolean

Trigger pending tunnel endpoint maintenance.

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.

VpnConnectionId
Required: Yes
Type: string

The ID of the Site-to-Site VPN connection.

VpnTunnelOutsideIpAddress
Required: Yes
Type: string

The external IP address of the VPN tunnel.

Result Syntax

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

Result Details

Members
Return
Type: boolean

Confirmation of replace tunnel operation.

Errors

There are no errors described for this operation.

ReportInstanceStatus

$result = $client->reportInstanceStatus([/* ... */]);
$promise = $client->reportInstanceStatusAsync([/* ... */]);

Submits feedback about the status of an instance. The instance must be in the running state. If your experience with the instance differs from the instance status returned by DescribeInstanceStatus, use ReportInstanceStatus to report your experience with the instance. Amazon EC2 collects this information to improve the accuracy of status checks.

Use of this action does not change the value returned by DescribeInstanceStatus.

Parameter Syntax

$result = $client->reportInstanceStatus([
    'Description' => '<string>',
    'DryRun' => true || false,
    'EndTime' => <integer || string || DateTime>,
    'Instances' => ['<string>', ...], // REQUIRED
    'ReasonCodes' => ['<string>', ...], // REQUIRED
    'StartTime' => <integer || string || DateTime>,
    'Status' => 'ok|impaired', // REQUIRED
]);

Parameter Details

Members
Description
Type: string

Descriptive text about the health state of your instance.

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.

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

The time at which the reported instance health state ended.

Instances
Required: Yes
Type: Array of strings

The instances.

ReasonCodes
Required: Yes
Type: Array of strings

The reason codes that describe the health state of your instance.

  • instance-stuck-in-state: My instance is stuck in a state.

  • unresponsive: My instance is unresponsive.

  • not-accepting-credentials: My instance is not accepting my credentials.

  • password-not-available: A password is not available for my instance.

  • performance-network: My instance is experiencing performance problems that I believe are network related.

  • performance-instance-store: My instance is experiencing performance problems that I believe are related to the instance stores.

  • performance-ebs-volume: My instance is experiencing performance problems that I believe are related to an EBS volume.

  • performance-other: My instance is experiencing performance problems.

  • other: [explain using the description parameter]

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

The time at which the reported instance health state began.

Status
Required: Yes
Type: string

The status of all instances listed.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

There are no errors described for this operation.

RequestSpotFleet

$result = $client->requestSpotFleet([/* ... */]);
$promise = $client->requestSpotFleetAsync([/* ... */]);

Creates a Spot Fleet request.

The Spot Fleet request specifies the total target capacity and the On-Demand target capacity. Amazon EC2 calculates the difference between the total capacity and On-Demand capacity, and launches the difference as Spot capacity.

You can submit a single request that includes multiple launch specifications that vary by instance type, AMI, Availability Zone, or subnet.

By default, the Spot Fleet requests Spot Instances in the Spot Instance pool where the price per unit is the lowest. Each launch specification can include its own instance weighting that reflects the value of the instance type to your application workload.

Alternatively, you can specify that the Spot Fleet distribute the target capacity across the Spot pools included in its launch specifications. By ensuring that the Spot Instances in your Spot Fleet are in different Spot pools, you can improve the availability of your fleet.

You can specify tags for the Spot Fleet request and instances launched by the fleet. You cannot tag other resource types in a Spot Fleet request because only the spot-fleet-request and instance resource types are supported.

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

We strongly discourage using the RequestSpotFleet API because it is a legacy API with no planned investment. For options for requesting Spot Instances, see Which is the best Spot request method to use? in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->requestSpotFleet([
    'DryRun' => true || false,
    'SpotFleetRequestConfig' => [ // REQUIRED
        'AllocationStrategy' => 'lowestPrice|diversified|capacityOptimized|capacityOptimizedPrioritized|priceCapacityOptimized',
        'ClientToken' => '<string>',
        'Context' => '<string>',
        'ExcessCapacityTerminationPolicy' => 'noTermination|default',
        'FulfilledCapacity' => <float>,
        'IamFleetRole' => '<string>', // REQUIRED
        'InstanceInterruptionBehavior' => 'hibernate|stop|terminate',
        'InstancePoolsToUseCount' => <integer>,
        'LaunchSpecifications' => [
            [
                'AddressingType' => '<string>',
                '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>',
                    ],
                    // ...
                ],
                'EbsOptimized' => true || false,
                'IamInstanceProfile' => [
                    'Arn' => '<string>',
                    'Name' => '<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>,
                    ],
                    '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',
                'KernelId' => '<string>',
                'KeyName' => '<string>',
                '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>',
                                'IsPrimaryIpv6' => true || false,
                            ],
                            // ...
                        ],
                        'Ipv6PrefixCount' => <integer>,
                        'Ipv6Prefixes' => [
                            [
                                'Ipv6Prefix' => '<string>',
                            ],
                            // ...
                        ],
                        'NetworkCardIndex' => <integer>,
                        'NetworkInterfaceId' => '<string>',
                        'PrimaryIpv6' => true || false,
                        'PrivateIpAddress' => '<string>',
                        'PrivateIpAddresses' => [
                            [
                                'Primary' => true || false,
                                'PrivateIpAddress' => '<string>',
                            ],
                            // ...
                        ],
                        'SecondaryPrivateIpAddressCount' => <integer>,
                        'SubnetId' => '<string>',
                    ],
                    // ...
                ],
                'Placement' => [
                    'AvailabilityZone' => '<string>',
                    'GroupName' => '<string>',
                    'Tenancy' => 'default|dedicated|host',
                ],
                'RamdiskId' => '<string>',
                'SecurityGroups' => [
                    [
                        'GroupId' => '<string>',
                        'GroupName' => '<string>',
                    ],
                    // ...
                ],
                'SpotPrice' => '<string>',
                'SubnetId' => '<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>',
                'WeightedCapacity' => <float>,
            ],
            // ...
        ],
        'LaunchTemplateConfigs' => [
            [
                'LaunchTemplateSpecification' => [
                    'LaunchTemplateId' => '<string>',
                    'LaunchTemplateName' => '<string>',
                    'Version' => '<string>',
                ],
                'Overrides' => [
                    [
                        'AvailabilityZone' => '<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>,
                            ],
                            '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',
                        'Priority' => <float>,
                        'SpotPrice' => '<string>',
                        'SubnetId' => '<string>',
                        'WeightedCapacity' => <float>,
                    ],
                    // ...
                ],
            ],
            // ...
        ],
        'LoadBalancersConfig' => [
            'ClassicLoadBalancersConfig' => [
                'ClassicLoadBalancers' => [
                    [
                        'Name' => '<string>',
                    ],
                    // ...
                ],
            ],
            'TargetGroupsConfig' => [
                'TargetGroups' => [
                    [
                        'Arn' => '<string>',
                    ],
                    // ...
                ],
            ],
        ],
        'OnDemandAllocationStrategy' => 'lowestPrice|prioritized',
        'OnDemandFulfilledCapacity' => <float>,
        'OnDemandMaxTotalPrice' => '<string>',
        'OnDemandTargetCapacity' => <integer>,
        'ReplaceUnhealthyInstances' => true || false,
        'SpotMaintenanceStrategies' => [
            'CapacityRebalance' => [
                'ReplacementStrategy' => 'launch|launch-before-terminate',
                'TerminationDelay' => <integer>,
            ],
        ],
        'SpotMaxTotalPrice' => '<string>',
        'SpotPrice' => '<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>',
                    ],
                    // ...
                ],
            ],
            // ...
        ],
        'TargetCapacity' => <integer>, // REQUIRED
        'TargetCapacityUnitType' => 'vcpu|memory-mib|units',
        'TerminateInstancesWithExpiration' => true || false,
        'Type' => 'request|maintain|instant',
        'ValidFrom' => <integer || string || DateTime>,
        'ValidUntil' => <integer || string || DateTime>,
    ],
]);

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.

SpotFleetRequestConfig
Required: Yes
Type: SpotFleetRequestConfigData structure

The configuration for the Spot Fleet request.

Result Syntax

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

Result Details

Members
SpotFleetRequestId
Type: string

The ID of the Spot Fleet request.

Errors

There are no errors described for this operation.

Examples

Example 1: To request a Spot fleet in the subnet with the lowest price

This example creates a Spot fleet request with two launch specifications that differ only by subnet. The Spot fleet launches the instances in the specified subnet with the lowest price. If the instances are launched in a default VPC, they receive a public IP address by default. If the instances are launched in a nondefault VPC, they do not receive a public IP address by default. Note that you can't specify different subnets from the same Availability Zone in a Spot fleet request.

$result = $client->requestSpotFleet([
    'SpotFleetRequestConfig' => [
        'IamFleetRole' => 'arn:aws:iam::123456789012:role/my-spot-fleet-role',
        'LaunchSpecifications' => [
            [
                'IamInstanceProfile' => [
                    'Arn' => 'arn:aws:iam::123456789012:instance-profile/my-iam-role',
                ],
                'ImageId' => 'ami-1a2b3c4d',
                'InstanceType' => 'm3.medium',
                'KeyName' => 'my-key-pair',
                'SecurityGroups' => [
                    [
                        'GroupId' => 'sg-1a2b3c4d',
                    ],
                ],
                'SubnetId' => 'subnet-1a2b3c4d, subnet-3c4d5e6f',
            ],
        ],
        'SpotPrice' => '0.04',
        'TargetCapacity' => 2,
    ],
]);

Result syntax:

[
    'SpotFleetRequestId' => 'sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE',
]
Example 2: To request a Spot fleet in the Availability Zone with the lowest price

This example creates a Spot fleet request with two launch specifications that differ only by Availability Zone. The Spot fleet launches the instances in the specified Availability Zone with the lowest price. If your account supports EC2-VPC only, Amazon EC2 launches the Spot instances in the default subnet of the Availability Zone.

$result = $client->requestSpotFleet([
    'SpotFleetRequestConfig' => [
        'IamFleetRole' => 'arn:aws:iam::123456789012:role/my-spot-fleet-role',
        'LaunchSpecifications' => [
            [
                'IamInstanceProfile' => [
                    'Arn' => 'arn:aws:iam::123456789012:instance-profile/my-iam-role',
                ],
                'ImageId' => 'ami-1a2b3c4d',
                'InstanceType' => 'm3.medium',
                'KeyName' => 'my-key-pair',
                'Placement' => [
                    'AvailabilityZone' => 'us-west-2a, us-west-2b',
                ],
                'SecurityGroups' => [
                    [
                        'GroupId' => 'sg-1a2b3c4d',
                    ],
                ],
            ],
        ],
        'SpotPrice' => '0.04',
        'TargetCapacity' => 2,
    ],
]);

Result syntax:

[
    'SpotFleetRequestId' => 'sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE',
]
Example 3: To launch Spot instances in a subnet and assign them public IP addresses

This example assigns public addresses to instances launched in a nondefault VPC. Note that when you specify a network interface, you must include the subnet ID and security group ID using the network interface.

$result = $client->requestSpotFleet([
    'SpotFleetRequestConfig' => [
        'IamFleetRole' => 'arn:aws:iam::123456789012:role/my-spot-fleet-role',
        'LaunchSpecifications' => [
            [
                'IamInstanceProfile' => [
                    'Arn' => 'arn:aws:iam::880185128111:instance-profile/my-iam-role',
                ],
                'ImageId' => 'ami-1a2b3c4d',
                'InstanceType' => 'm3.medium',
                'KeyName' => 'my-key-pair',
                'NetworkInterfaces' => [
                    [
                        'AssociatePublicIpAddress' => 1,
                        'DeviceIndex' => 0,
                        'Groups' => [
                            'sg-1a2b3c4d',
                        ],
                        'SubnetId' => 'subnet-1a2b3c4d',
                    ],
                ],
            ],
        ],
        'SpotPrice' => '0.04',
        'TargetCapacity' => 2,
    ],
]);

Result syntax:

[
    'SpotFleetRequestId' => 'sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE',
]
Example 4: To request a Spot fleet using the diversified allocation strategy

This example creates a Spot fleet request that launches 30 instances using the diversified allocation strategy. The launch specifications differ by instance type. The Spot fleet distributes the instances across the launch specifications such that there are 10 instances of each type.

$result = $client->requestSpotFleet([
    'SpotFleetRequestConfig' => [
        'AllocationStrategy' => 'diversified',
        'IamFleetRole' => 'arn:aws:iam::123456789012:role/my-spot-fleet-role',
        'LaunchSpecifications' => [
            [
                'ImageId' => 'ami-1a2b3c4d',
                'InstanceType' => 'c4.2xlarge',
                'SubnetId' => 'subnet-1a2b3c4d',
            ],
            [
                'ImageId' => 'ami-1a2b3c4d',
                'InstanceType' => 'm3.2xlarge',
                'SubnetId' => 'subnet-1a2b3c4d',
            ],
            [
                'ImageId' => 'ami-1a2b3c4d',
                'InstanceType' => 'r3.2xlarge',
                'SubnetId' => 'subnet-1a2b3c4d',
            ],
        ],
        'SpotPrice' => '0.70',
        'TargetCapacity' => 30,
    ],
]);

Result syntax:

[
    'SpotFleetRequestId' => 'sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE',
]

RequestSpotInstances

$result = $client->requestSpotInstances([/* ... */]);
$promise = $client->requestSpotInstancesAsync([/* ... */]);

Creates a Spot Instance request.

For more information, see Work with Spot Instance in the Amazon EC2 User Guide.

We strongly discourage using the RequestSpotInstances API because it is a legacy API with no planned investment. For options for requesting Spot Instances, see Which is the best Spot request method to use? in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->requestSpotInstances([
    'AvailabilityZoneGroup' => '<string>',
    'BlockDurationMinutes' => <integer>,
    'ClientToken' => '<string>',
    'DryRun' => true || false,
    'InstanceCount' => <integer>,
    'InstanceInterruptionBehavior' => 'hibernate|stop|terminate',
    'LaunchGroup' => '<string>',
    'LaunchSpecification' => [
        'AddressingType' => '<string>',
        '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>',
            ],
            // ...
        ],
        'EbsOptimized' => true || false,
        'IamInstanceProfile' => [
            'Arn' => '<string>',
            'Name' => '<string>',
        ],
        'ImageId' => '<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',
        'KernelId' => '<string>',
        'KeyName' => '<string>',
        'Monitoring' => [
            'Enabled' => true || false, // REQUIRED
        ],
        '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>',
                        'IsPrimaryIpv6' => true || false,
                    ],
                    // ...
                ],
                'Ipv6PrefixCount' => <integer>,
                'Ipv6Prefixes' => [
                    [
                        'Ipv6Prefix' => '<string>',
                    ],
                    // ...
                ],
                'NetworkCardIndex' => <integer>,
                'NetworkInterfaceId' => '<string>',
                'PrimaryIpv6' => true || false,
                'PrivateIpAddress' => '<string>',
                'PrivateIpAddresses' => [
                    [
                        'Primary' => true || false,
                        'PrivateIpAddress' => '<string>',
                    ],
                    // ...
                ],
                'SecondaryPrivateIpAddressCount' => <integer>,
                'SubnetId' => '<string>',
            ],
            // ...
        ],
        'Placement' => [
            'AvailabilityZone' => '<string>',
            'GroupName' => '<string>',
            'Tenancy' => 'default|dedicated|host',
        ],
        'RamdiskId' => '<string>',
        'SecurityGroupIds' => ['<string>', ...],
        'SecurityGroups' => ['<string>', ...],
        'SubnetId' => '<string>',
        'UserData' => '<string>',
    ],
    'SpotPrice' => '<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' => 'one-time|persistent',
    'ValidFrom' => <integer || string || DateTime>,
    'ValidUntil' => <integer || string || DateTime>,
]);

Parameter Details

Members
AvailabilityZoneGroup
Type: string

The user-specified name for a logical grouping of requests.

When you specify an Availability Zone group in a Spot Instance request, all Spot Instances in the request are launched in the same Availability Zone. Instance proximity is maintained with this parameter, but the choice of Availability Zone is not. The group applies only to requests for Spot Instances of the same instance type. Any additional Spot Instance requests that are specified with the same Availability Zone group name are launched in that same Availability Zone, as long as at least one instance from the group is still active.

If there is no active instance running in the Availability Zone group that you specify for a new Spot Instance request (all instances are terminated, the request is expired, or the maximum price you specified falls below current Spot price), then Amazon EC2 launches the instance in any Availability Zone where the constraint can be met. Consequently, the subsequent set of Spot Instances could be placed in a different zone from the original request, even if you specified the same Availability Zone group.

Default: Instances are launched in any available Availability Zone.

BlockDurationMinutes
Type: int

Deprecated.

ClientToken
Type: string

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency in Amazon EC2 API requests in the Amazon EC2 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.

InstanceCount
Type: int

The maximum number of Spot Instances to launch.

Default: 1

InstanceInterruptionBehavior
Type: string

The behavior when a Spot Instance is interrupted. The default is terminate.

LaunchGroup
Type: string

The instance launch group. Launch groups are Spot Instances that launch together and terminate together.

Default: Instances are launched and terminated individually

LaunchSpecification

The launch specification.

SpotPrice
Type: string

The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.

If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.

TagSpecifications
Type: Array of TagSpecification structures

The key-value pair for tagging the Spot Instance request on creation. The value for ResourceType must be spot-instances-request, otherwise the Spot Instance request fails. To tag the Spot Instance request after it has been created, see CreateTags.

Type
Type: string

The Spot Instance request type.

Default: one-time

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

The start date of the request. If this is a one-time request, the request becomes active at this date and time and remains active until all instances launch, the request expires, or the request is canceled. If the request is persistent, the request becomes active at this date and time and remains active until it expires or is canceled.

The specified start date and time cannot be equal to the current date and time. You must specify a start date and time that occurs after the current date and time.

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

The end date of the request, in UTC format (YYYY-MM-DDTHH:MM:SSZ).

  • For a persistent request, the request remains active until the ValidUntil date and time is reached. Otherwise, the request remains active until you cancel it.

  • For a one-time request, the request remains active until all instances launch, the request is canceled, or the ValidUntil date and time is reached. By default, the request is valid for 7 days from the date the request was created.

Result Syntax

[
    'SpotInstanceRequests' => [
        [
            'ActualBlockHourlyPrice' => '<string>',
            'AvailabilityZoneGroup' => '<string>',
            'BlockDurationMinutes' => <integer>,
            'CreateTime' => <DateTime>,
            'Fault' => [
                'Code' => '<string>',
                'Message' => '<string>',
            ],
            'InstanceId' => '<string>',
            'InstanceInterruptionBehavior' => 'hibernate|stop|terminate',
            'LaunchGroup' => '<string>',
            'LaunchSpecification' => [
                'AddressingType' => '<string>',
                '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>',
                    ],
                    // ...
                ],
                'EbsOptimized' => true || false,
                'IamInstanceProfile' => [
                    'Arn' => '<string>',
                    'Name' => '<string>',
                ],
                'ImageId' => '<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',
                'KernelId' => '<string>',
                'KeyName' => '<string>',
                '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>',
                                'IsPrimaryIpv6' => true || false,
                            ],
                            // ...
                        ],
                        'Ipv6PrefixCount' => <integer>,
                        'Ipv6Prefixes' => [
                            [
                                'Ipv6Prefix' => '<string>',
                            ],
                            // ...
                        ],
                        'NetworkCardIndex' => <integer>,
                        'NetworkInterfaceId' => '<string>',
                        'PrimaryIpv6' => true || false,
                        'PrivateIpAddress' => '<string>',
                        'PrivateIpAddresses' => [
                            [
                                'Primary' => true || false,
                                'PrivateIpAddress' => '<string>',
                            ],
                            // ...
                        ],
                        'SecondaryPrivateIpAddressCount' => <integer>,
                        'SubnetId' => '<string>',
                    ],
                    // ...
                ],
                'Placement' => [
                    'AvailabilityZone' => '<string>',
                    'GroupName' => '<string>',
                    'Tenancy' => 'default|dedicated|host',
                ],
                'RamdiskId' => '<string>',
                'SecurityGroups' => [
                    [
                        'GroupId' => '<string>',
                        'GroupName' => '<string>',
                    ],
                    // ...
                ],
                'SubnetId' => '<string>',
                'UserData' => '<string>',
            ],
            'LaunchedAvailabilityZone' => '<string>',
            'ProductDescription' => 'Linux/UNIX|Linux/UNIX (Amazon VPC)|Windows|Windows (Amazon VPC)',
            'SpotInstanceRequestId' => '<string>',
            'SpotPrice' => '<string>',
            'State' => 'open|active|closed|cancelled|failed|disabled',
            'Status' => [
                'Code' => '<string>',
                'Message' => '<string>',
                'UpdateTime' => <DateTime>,
            ],
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'Type' => 'one-time|persistent',
            'ValidFrom' => <DateTime>,
            'ValidUntil' => <DateTime>,
        ],
        // ...
    ],
]

Result Details

Members
SpotInstanceRequests
Type: Array of SpotInstanceRequest structures

The Spot Instance requests.

Errors

There are no errors described for this operation.

Examples

Example 1: To create a one-time Spot Instance request

This example creates a one-time Spot Instance request for five instances in the specified Availability Zone. If your account supports EC2-VPC only, Amazon EC2 launches the instances in the default subnet of the specified Availability Zone.

$result = $client->requestSpotInstances([
    'InstanceCount' => 5,
    'LaunchSpecification' => [
        'IamInstanceProfile' => [
            'Arn' => 'arn:aws:iam::123456789012:instance-profile/my-iam-role',
        ],
        'ImageId' => 'ami-1a2b3c4d',
        'InstanceType' => 'm3.medium',
        'KeyName' => 'my-key-pair',
        'Placement' => [
            'AvailabilityZone' => 'us-west-2a',
        ],
        'SecurityGroupIds' => [
            'sg-1a2b3c4d',
        ],
    ],
    'SpotPrice' => '0.03',
    'Type' => 'one-time',
]);
Example 2: To create a one-time Spot Instance request

This example command creates a one-time Spot Instance request for five instances in the specified subnet. Amazon EC2 launches the instances in the specified subnet. If the VPC is a nondefault VPC, the instances do not receive a public IP address by default.

$result = $client->requestSpotInstances([
    'InstanceCount' => 5,
    'LaunchSpecification' => [
        'IamInstanceProfile' => [
            'Arn' => 'arn:aws:iam::123456789012:instance-profile/my-iam-role',
        ],
        'ImageId' => 'ami-1a2b3c4d',
        'InstanceType' => 'm3.medium',
        'SecurityGroupIds' => [
            'sg-1a2b3c4d',
        ],
        'SubnetId' => 'subnet-1a2b3c4d',
    ],
    'SpotPrice' => '0.050',
    'Type' => 'one-time',
]);

ResetAddressAttribute

$result = $client->resetAddressAttribute([/* ... */]);
$promise = $client->resetAddressAttributeAsync([/* ... */]);

Resets the attribute of the specified IP address. For requirements, see Using reverse DNS for email applications.

Parameter Syntax

$result = $client->resetAddressAttribute([
    'AllocationId' => '<string>', // REQUIRED
    'Attribute' => 'domain-name', // REQUIRED
    'DryRun' => true || false,
]);

Parameter Details

Members
AllocationId
Required: Yes
Type: string

[EC2-VPC] The allocation ID.

Attribute
Required: Yes
Type: string

The attribute of the IP address.

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

[
    'Address' => [
        'AllocationId' => '<string>',
        'PtrRecord' => '<string>',
        'PtrRecordUpdate' => [
            'Reason' => '<string>',
            'Status' => '<string>',
            'Value' => '<string>',
        ],
        'PublicIp' => '<string>',
    ],
]

Result Details

Members
Address
Type: AddressAttribute structure

Information about the IP address.

Errors

There are no errors described for this operation.

ResetEbsDefaultKmsKeyId

$result = $client->resetEbsDefaultKmsKeyId([/* ... */]);
$promise = $client->resetEbsDefaultKmsKeyIdAsync([/* ... */]);

Resets the default KMS key for EBS encryption for your account in this Region to the Amazon Web Services managed KMS key for EBS.

After resetting the default KMS key to the Amazon Web Services managed KMS key, you can continue to encrypt by a customer managed KMS key by specifying it when you create the volume. For more information, see Amazon EBS encryption in the Amazon EBS User Guide.

Parameter Syntax

$result = $client->resetEbsDefaultKmsKeyId([
    '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

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

Result Details

Members
KmsKeyId
Type: string

The Amazon Resource Name (ARN) of the default KMS key for EBS encryption by default.

Errors

There are no errors described for this operation.

ResetFpgaImageAttribute

$result = $client->resetFpgaImageAttribute([/* ... */]);
$promise = $client->resetFpgaImageAttributeAsync([/* ... */]);

Resets the specified attribute of the specified Amazon FPGA Image (AFI) to its default value. You can only reset the load permission attribute.

Parameter Syntax

$result = $client->resetFpgaImageAttribute([
    'Attribute' => 'loadPermission',
    'DryRun' => true || false,
    'FpgaImageId' => '<string>', // REQUIRED
]);

Parameter Details

Members
Attribute
Type: string

The attribute.

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.

FpgaImageId
Required: Yes
Type: string

The ID of the AFI.

Result Syntax

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

Result Details

Members
Return
Type: boolean

Is true if the request succeeds, and an error otherwise.

Errors

There are no errors described for this operation.

ResetImageAttribute

$result = $client->resetImageAttribute([/* ... */]);
$promise = $client->resetImageAttributeAsync([/* ... */]);

Resets an attribute of an AMI to its default value.

Parameter Syntax

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

Parameter Details

Members
Attribute
Required: Yes
Type: string

The attribute to reset (currently you can only reset the launch permission attribute).

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.

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 reset the launchPermission attribute

This example resets the launchPermission attribute for the specified AMI. By default, AMIs are private.

$result = $client->resetImageAttribute([
    'Attribute' => 'launchPermission',
    'ImageId' => 'ami-5731123e',
]);

Result syntax:

[
]

ResetInstanceAttribute

$result = $client->resetInstanceAttribute([/* ... */]);
$promise = $client->resetInstanceAttributeAsync([/* ... */]);

Resets an attribute of an instance to its default value. To reset the kernel or ramdisk, the instance must be in a stopped state. To reset the sourceDestCheck, the instance can be either running or stopped.

The sourceDestCheck attribute controls whether source/destination checking is enabled. The default value is true, which means checking is enabled. This value must be false for a NAT instance to perform NAT. For more information, see NAT instances in the Amazon VPC User Guide.

Parameter Syntax

$result = $client->resetInstanceAttribute([
    'Attribute' => 'instanceType|kernel|ramdisk|userData|disableApiTermination|instanceInitiatedShutdownBehavior|rootDeviceName|blockDeviceMapping|productCodes|sourceDestCheck|groupSet|ebsOptimized|sriovNetSupport|enaSupport|enclaveOptions|disableApiStop', // REQUIRED
    'DryRun' => true || false,
    'InstanceId' => '<string>', // REQUIRED
]);

Parameter Details

Members
Attribute
Required: Yes
Type: string

The attribute to reset.

You can only reset the following attributes: kernel | ramdisk | sourceDestCheck.

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.

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 reset the sourceDestCheck attribute

This example resets the sourceDestCheck attribute for the specified instance.

$result = $client->resetInstanceAttribute([
    'Attribute' => 'sourceDestCheck',
    'InstanceId' => 'i-1234567890abcdef0',
]);

Result syntax:

[
]

ResetNetworkInterfaceAttribute

$result = $client->resetNetworkInterfaceAttribute([/* ... */]);
$promise = $client->resetNetworkInterfaceAttributeAsync([/* ... */]);

Resets a network interface attribute. You can specify only one attribute at a time.

Parameter Syntax

$result = $client->resetNetworkInterfaceAttribute([
    'DryRun' => true || false,
    'NetworkInterfaceId' => '<string>', // REQUIRED
    'SourceDestCheck' => '<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.

NetworkInterfaceId
Required: Yes
Type: string

The ID of the network interface.

SourceDestCheck
Type: string

The source/destination checking attribute. Resets the value to true.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

There are no errors described for this operation.

ResetSnapshotAttribute

$result = $client->resetSnapshotAttribute([/* ... */]);
$promise = $client->resetSnapshotAttributeAsync([/* ... */]);

Resets permission settings for the specified snapshot.

For more information about modifying snapshot permissions, see Share a snapshot in the Amazon EBS User Guide.

Parameter Syntax

$result = $client->resetSnapshotAttribute([
    'Attribute' => 'productCodes|createVolumePermission', // REQUIRED
    'DryRun' => true || false,
    'SnapshotId' => '<string>', // REQUIRED
]);

Parameter Details

Members
Attribute
Required: Yes
Type: string

The attribute to reset. Currently, only the attribute for permission to create volumes can be reset.

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.

SnapshotId
Required: Yes
Type: string

The ID of the snapshot.

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 reset a snapshot attribute

This example resets the create volume permissions for snapshot ``snap-1234567890abcdef0``. If the command succeeds, no output is returned.

$result = $client->resetSnapshotAttribute([
    'Attribute' => 'createVolumePermission',
    'SnapshotId' => 'snap-1234567890abcdef0',
]);

Result syntax:

[
]

RestoreAddressToClassic

$result = $client->restoreAddressToClassic([/* ... */]);
$promise = $client->restoreAddressToClassicAsync([/* ... */]);

This action is deprecated.

Restores an Elastic IP address that was previously moved to the EC2-VPC platform back to the EC2-Classic platform. You cannot move an Elastic IP address that was originally allocated for use in EC2-VPC. The Elastic IP address must not be associated with an instance or network interface.

Parameter Syntax

$result = $client->restoreAddressToClassic([
    'DryRun' => true || false,
    'PublicIp' => '<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.

PublicIp
Required: Yes
Type: string

The Elastic IP address.

Result Syntax

[
    'PublicIp' => '<string>',
    'Status' => 'MoveInProgress|InVpc|InClassic',
]

Result Details

Members
PublicIp
Type: string

The Elastic IP address.

Status
Type: string

The move status for the IP address.

Errors

There are no errors described for this operation.

RestoreImageFromRecycleBin

$result = $client->restoreImageFromRecycleBin([/* ... */]);
$promise = $client->restoreImageFromRecycleBinAsync([/* ... */]);

Restores an AMI from the Recycle Bin. For more information, see Recycle Bin in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->restoreImageFromRecycleBin([
    '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 to restore.

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.

RestoreManagedPrefixListVersion

$result = $client->restoreManagedPrefixListVersion([/* ... */]);
$promise = $client->restoreManagedPrefixListVersionAsync([/* ... */]);

Restores the entries from a previous version of a managed prefix list to a new version of the prefix list.

Parameter Syntax

$result = $client->restoreManagedPrefixListVersion([
    'CurrentVersion' => <integer>, // REQUIRED
    'DryRun' => true || false,
    'PrefixListId' => '<string>', // REQUIRED
    'PreviousVersion' => <integer>, // REQUIRED
]);

Parameter Details

Members
CurrentVersion
Required: Yes
Type: long (int|float)

The current version number for the prefix list.

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.

PrefixListId
Required: Yes
Type: string

The ID of the prefix list.

PreviousVersion
Required: Yes
Type: long (int|float)

The version to restore.

Result Syntax

[
    'PrefixList' => [
        'AddressFamily' => '<string>',
        'MaxEntries' => <integer>,
        'OwnerId' => '<string>',
        'PrefixListArn' => '<string>',
        'PrefixListId' => '<string>',
        'PrefixListName' => '<string>',
        'State' => 'create-in-progress|create-complete|create-failed|modify-in-progress|modify-complete|modify-failed|restore-in-progress|restore-complete|restore-failed|delete-in-progress|delete-complete|delete-failed',
        'StateMessage' => '<string>',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'Version' => <integer>,
    ],
]

Result Details

Members
PrefixList
Type: ManagedPrefixList structure

Information about the prefix list.

Errors

There are no errors described for this operation.

RestoreSnapshotFromRecycleBin

$result = $client->restoreSnapshotFromRecycleBin([/* ... */]);
$promise = $client->restoreSnapshotFromRecycleBinAsync([/* ... */]);

Restores a snapshot from the Recycle Bin. For more information, see Restore snapshots from the Recycle Bin in the Amazon EBS User Guide.

Parameter Syntax

$result = $client->restoreSnapshotFromRecycleBin([
    'DryRun' => true || false,
    'SnapshotId' => '<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.

SnapshotId
Required: Yes
Type: string

The ID of the snapshot to restore.

Result Syntax

[
    'Description' => '<string>',
    'Encrypted' => true || false,
    'OutpostArn' => '<string>',
    'OwnerId' => '<string>',
    'Progress' => '<string>',
    'SnapshotId' => '<string>',
    'SseType' => 'sse-ebs|sse-kms|none',
    'StartTime' => <DateTime>,
    'State' => 'pending|completed|error|recoverable|recovering',
    'VolumeId' => '<string>',
    'VolumeSize' => <integer>,
]

Result Details

Members
Description
Type: string

The description for the snapshot.

Encrypted
Type: boolean

Indicates whether the snapshot is encrypted.

OutpostArn
Type: string

The ARN of the Outpost on which the snapshot is stored. For more information, see Amazon EBS local snapshots on Outposts in the Amazon EBS User Guide.

OwnerId
Type: string

The ID of the Amazon Web Services account that owns the EBS snapshot.

Progress
Type: string

The progress of the snapshot, as a percentage.

SnapshotId
Type: string

The ID of the snapshot.

SseType
Type: string

Reserved for future use.

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

The time stamp when the snapshot was initiated.

State
Type: string

The state of the snapshot.

VolumeId
Type: string

The ID of the volume that was used to create the snapshot.

VolumeSize
Type: int

The size of the volume, in GiB.

Errors

There are no errors described for this operation.

RestoreSnapshotTier

$result = $client->restoreSnapshotTier([/* ... */]);
$promise = $client->restoreSnapshotTierAsync([/* ... */]);

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.

For more information see Restore an archived snapshot and modify the restore period or restore type for a temporarily restored snapshot in the Amazon EBS User Guide.

Parameter Syntax

$result = $client->restoreSnapshotTier([
    'DryRun' => true || false,
    'PermanentRestore' => true || false,
    'SnapshotId' => '<string>', // REQUIRED
    'TemporaryRestoreDays' => <integer>,
]);

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.

PermanentRestore
Type: boolean

Indicates whether to permanently restore an archived snapshot. To permanently restore an archived snapshot, specify true and omit the RestoreSnapshotTierRequest$TemporaryRestoreDays parameter.

SnapshotId
Required: Yes
Type: string

The ID of the snapshot to restore.

TemporaryRestoreDays
Type: int

Specifies the number of days for which to temporarily restore an archived snapshot. Required for temporary restores only. The snapshot will be automatically re-archived after this period.

To temporarily restore an archived snapshot, specify the number of days and omit the PermanentRestore parameter or set it to false.

Result Syntax

[
    'IsPermanentRestore' => true || false,
    'RestoreDuration' => <integer>,
    'RestoreStartTime' => <DateTime>,
    'SnapshotId' => '<string>',
]

Result Details

Members
IsPermanentRestore
Type: boolean

Indicates whether the snapshot is permanently restored. true indicates a permanent restore. false indicates a temporary restore.

RestoreDuration
Type: int

For temporary restores only. The number of days for which the archived snapshot is temporarily restored.

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

The date and time when the snapshot restore process started.

SnapshotId
Type: string

The ID of the snapshot.

Errors

There are no errors described for this operation.

RevokeClientVpnIngress

$result = $client->revokeClientVpnIngress([/* ... */]);
$promise = $client->revokeClientVpnIngressAsync([/* ... */]);

Removes an ingress authorization rule from a Client VPN endpoint.

Parameter Syntax

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

Parameter Details

Members
AccessGroupId
Type: string

The ID of the Active Directory group for which to revoke access.

ClientVpnEndpointId
Required: Yes
Type: string

The ID of the Client VPN endpoint with which the authorization rule is associated.

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.

RevokeAllGroups
Type: boolean

Indicates whether access should be revoked for all groups for a single TargetNetworkCidr that earlier authorized ingress for all groups using AuthorizeAllGroups. This does not impact other authorization rules that allowed ingress to the same TargetNetworkCidr with a specific AccessGroupId.

TargetNetworkCidr
Required: Yes
Type: string

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

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.

RevokeSecurityGroupEgress

$result = $client->revokeSecurityGroupEgress([/* ... */]);
$promise = $client->revokeSecurityGroupEgressAsync([/* ... */]);

Removes the specified outbound (egress) rules from the specified security group.

You can specify rules using either rule IDs or security group rule properties. If you use rule properties, the values that you specify (for example, ports) must match the existing rule's values exactly. Each rule has a protocol, from and to ports, and destination (CIDR range, security group, or prefix list). For the TCP and UDP protocols, you must also specify the destination port or range of ports. For the ICMP protocol, you must also specify the ICMP type and code. If the security group rule has a description, you do not need to specify the description to revoke the rule.

For a default VPC, if the values you specify do not match the existing rule's values, no error is returned, and the output describes the security group rules that were not revoked.

Amazon Web Services recommends that you describe the security group to verify that the rules were removed.

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

Parameter Syntax

$result = $client->revokeSecurityGroupEgress([
    '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>',
    'SecurityGroupRuleIds' => ['<string>', ...],
    'SourceSecurityGroupName' => '<string>',
    'SourceSecurityGroupOwnerId' => '<string>',
    'ToPort' => <integer>,
]);

Parameter Details

Members
CidrIp
Type: string

Not supported. Use a set of IP permissions to specify the CIDR.

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 a set of IP permissions to specify the port.

GroupId
Required: Yes
Type: string

The ID of the security group.

IpPermissions
Type: Array of IpPermission structures

The sets of IP permissions. You can't specify a destination security group and a CIDR IP address range in the same set of permissions.

IpProtocol
Type: string

Not supported. Use a set of IP permissions to specify the protocol name or number.

SecurityGroupRuleIds
Type: Array of strings

The IDs of the security group rules.

SourceSecurityGroupName
Type: string

Not supported. Use a set of IP permissions to specify a destination security group.

SourceSecurityGroupOwnerId
Type: string

Not supported. Use a set of IP permissions to specify a destination security group.

ToPort
Type: int

Not supported. Use a set of IP permissions to specify the port.

Result Syntax

[
    'Return' => true || false,
    'RevokedSecurityGroupRules' => [
        [
            'CidrIpv4' => '<string>',
            'CidrIpv6' => '<string>',
            'Description' => '<string>',
            'FromPort' => <integer>,
            'GroupId' => '<string>',
            'IpProtocol' => '<string>',
            'IsEgress' => true || false,
            'PrefixListId' => '<string>',
            'ReferencedGroupId' => '<string>',
            'SecurityGroupRuleId' => '<string>',
            'ToPort' => <integer>,
        ],
        // ...
    ],
    'UnknownIpPermissions' => [
        [
            '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>',
                ],
                // ...
            ],
        ],
        // ...
    ],
]

Result Details

Members
Return
Type: boolean

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

RevokedSecurityGroupRules
Type: Array of RevokedSecurityGroupRule structures

Details about the revoked security group rules.

UnknownIpPermissions
Type: Array of IpPermission structures

The outbound rules that were unknown to the service. In some cases, unknownIpPermissionSet might be in a different format from the request parameter.

Errors

There are no errors described for this operation.

RevokeSecurityGroupIngress

$result = $client->revokeSecurityGroupIngress([/* ... */]);
$promise = $client->revokeSecurityGroupIngressAsync([/* ... */]);

Removes the specified inbound (ingress) rules from a security group.

You can specify rules using either rule IDs or security group rule properties. If you use rule properties, the values that you specify (for example, ports) must match the existing rule's values exactly. Each rule has a protocol, from and to ports, and source (CIDR range, security group, or prefix list). For the TCP and UDP protocols, you must also specify the destination port or range of ports. For the ICMP protocol, you must also specify the ICMP type and code. If the security group rule has a description, you do not need to specify the description to revoke the rule.

For a default VPC, if the values you specify do not match the existing rule's values, no error is returned, and the output describes the security group rules that were not revoked.

For a non-default VPC, if the values you specify do not match the existing rule's values, an InvalidPermission.NotFound client error is returned, and no rules are revoked.

Amazon Web Services recommends that you describe the security group to verify that the rules were removed.

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

Parameter Syntax

$result = $client->revokeSecurityGroupIngress([
    '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>',
    'SecurityGroupRuleIds' => ['<string>', ...],
    'SourceSecurityGroupName' => '<string>',
    'SourceSecurityGroupOwnerId' => '<string>',
    'ToPort' => <integer>,
]);

Parameter Details

Members
CidrIp
Type: string

The CIDR IP address range. You can't specify this parameter when specifying a source security group.

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).

GroupId
Type: string

The ID of the security group.

GroupName
Type: string

[Default VPC] The name of the security group. You must specify either the security group ID or the security group name in the request. For security groups in a nondefault VPC, you must specify the security group ID.

IpPermissions
Type: Array of IpPermission structures

The sets of IP permissions. You can't specify a source security group and a CIDR IP address range in the same set of permissions.

IpProtocol
Type: string

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

SecurityGroupRuleIds
Type: Array of strings

The IDs of the security group rules.

SourceSecurityGroupName
Type: string

[Default VPC] The name of the source security group. You can't specify this parameter in combination with the following parameters: the CIDR IP address range, the start of the port range, the IP protocol, and the end of the port range. The source security group must be in the same VPC. To revoke a specific rule for an IP protocol and port range, use a set of IP permissions instead.

SourceSecurityGroupOwnerId
Type: string

Not supported.

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).

Result Syntax

[
    'Return' => true || false,
    'RevokedSecurityGroupRules' => [
        [
            'CidrIpv4' => '<string>',
            'CidrIpv6' => '<string>',
            'Description' => '<string>',
            'FromPort' => <integer>,
            'GroupId' => '<string>',
            'IpProtocol' => '<string>',
            'IsEgress' => true || false,
            'PrefixListId' => '<string>',
            'ReferencedGroupId' => '<string>',
            'SecurityGroupRuleId' => '<string>',
            'ToPort' => <integer>,
        ],
        // ...
    ],
    'UnknownIpPermissions' => [
        [
            '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>',
                ],
                // ...
            ],
        ],
        // ...
    ],
]

Result Details

Members
Return
Type: boolean

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

RevokedSecurityGroupRules
Type: Array of RevokedSecurityGroupRule structures

Details about the revoked security group rules.

UnknownIpPermissions
Type: Array of IpPermission structures

The inbound rules that were unknown to the service. In some cases, unknownIpPermissionSet might be in a different format from the request parameter.

Errors

There are no errors described for this operation.

RunInstances

$result = $client->runInstances([/* ... */]);
$promise = $client->runInstancesAsync([/* ... */]);

Launches the specified number of instances using an AMI for which you have permissions.

You can specify a number of options, or leave the default options. The following rules apply:

  • If you don't specify a subnet ID, we choose a default subnet from your default VPC for you. If you don't have a default VPC, you must specify a subnet ID in the request.

  • All instances have a network interface with a primary private IPv4 address. If you don't specify this address, we choose one from the IPv4 range of your subnet.

  • Not all instance types support IPv6 addresses. For more information, see Instance types.

  • If you don't specify a security group ID, we use the default security group for the VPC. For more information, see Security groups.

  • If any of the AMIs have a product code attached for which the user has not subscribed, the request fails.

You can create a launch template, which is a resource that contains the parameters to launch an instance. When you launch an instance using RunInstances, you can specify the launch template instead of specifying the launch parameters.

To ensure faster instance launches, break up large requests into smaller batches. For example, create five separate launch requests for 100 instances each instead of one launch request for 500 instances.

RunInstances is subject to both request rate limiting and resource rate limiting. For more information, see Request throttling.

An instance is ready for you to use when it's in the running state. You can check the state of your instance using DescribeInstances. You can tag instances and EBS volumes during launch, after launch, or both. For more information, see CreateTags and Tagging your Amazon EC2 resources.

Linux instances have access to the public key of the key pair at boot. You can use this key to provide secure access to the instance. Amazon EC2 public images use this feature to provide secure access without passwords. For more information, see Key pairs.

For troubleshooting, see What to do if an instance immediately terminates, and Troubleshooting connecting to your instance.

Parameter Syntax

$result = $client->runInstances([
    'AdditionalInfo' => '<string>',
    '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>',
        ],
        // ...
    ],
    'CapacityReservationSpecification' => [
        'CapacityReservationPreference' => 'open|none',
        'CapacityReservationTarget' => [
            'CapacityReservationId' => '<string>',
            'CapacityReservationResourceGroupArn' => '<string>',
        ],
    ],
    'ClientToken' => '<string>',
    'CpuOptions' => [
        'AmdSevSnp' => 'enabled|disabled',
        'CoreCount' => <integer>,
        'ThreadsPerCore' => <integer>,
    ],
    'CreditSpecification' => [
        'CpuCredits' => '<string>', // REQUIRED
    ],
    'DisableApiStop' => true || false,
    'DisableApiTermination' => true || false,
    'DryRun' => true || false,
    'EbsOptimized' => true || false,
    'ElasticGpuSpecification' => [
        [
            'Type' => '<string>', // REQUIRED
        ],
        // ...
    ],
    'ElasticInferenceAccelerators' => [
        [
            'Count' => <integer>,
            'Type' => '<string>', // REQUIRED
        ],
        // ...
    ],
    'EnablePrimaryIpv6' => true || false,
    '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>,
        ],
    ],
    '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',
    'Ipv6AddressCount' => <integer>,
    'Ipv6Addresses' => [
        [
            'Ipv6Address' => '<string>',
            'IsPrimaryIpv6' => true || false,
        ],
        // ...
    ],
    'KernelId' => '<string>',
    'KeyName' => '<string>',
    'LaunchTemplate' => [
        'LaunchTemplateId' => '<string>',
        'LaunchTemplateName' => '<string>',
        'Version' => '<string>',
    ],
    'LicenseSpecifications' => [
        [
            'LicenseConfigurationArn' => '<string>',
        ],
        // ...
    ],
    'MaintenanceOptions' => [
        'AutoRecovery' => 'disabled|default',
    ],
    'MaxCount' => <integer>, // REQUIRED
    'MetadataOptions' => [
        'HttpEndpoint' => 'disabled|enabled',
        'HttpProtocolIpv6' => 'disabled|enabled',
        'HttpPutResponseHopLimit' => <integer>,
        'HttpTokens' => 'optional|required',
        'InstanceMetadataTags' => 'disabled|enabled',
    ],
    'MinCount' => <integer>, // REQUIRED
    'Monitoring' => [
        'Enabled' => true || false, // REQUIRED
    ],
    '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>',
                    'IsPrimaryIpv6' => true || false,
                ],
                // ...
            ],
            'Ipv6PrefixCount' => <integer>,
            'Ipv6Prefixes' => [
                [
                    'Ipv6Prefix' => '<string>',
                ],
                // ...
            ],
            'NetworkCardIndex' => <integer>,
            'NetworkInterfaceId' => '<string>',
            'PrimaryIpv6' => true || false,
            'PrivateIpAddress' => '<string>',
            'PrivateIpAddresses' => [
                [
                    'Primary' => true || false,
                    'PrivateIpAddress' => '<string>',
                ],
                // ...
            ],
            'SecondaryPrivateIpAddressCount' => <integer>,
            'SubnetId' => '<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',
    ],
    'PrivateIpAddress' => '<string>',
    'RamdiskId' => '<string>',
    'SecurityGroupIds' => ['<string>', ...],
    'SecurityGroups' => ['<string>', ...],
    'SubnetId' => '<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>',
]);

Parameter Details

Members
AdditionalInfo
Type: string

Reserved.

BlockDeviceMappings
Type: Array of BlockDeviceMapping structures

The block device mapping, which defines the EBS volumes and instance store volumes to attach to the instance at launch. For more information, see Block device mappings in the Amazon EC2 User Guide.

CapacityReservationSpecification

Information about the Capacity Reservation targeting option. If you do not specify this parameter, the instance's Capacity Reservation preference defaults to open, which enables it to run in any open Capacity Reservation that has matching attributes (instance type, platform, Availability Zone).

ClientToken
Type: string

Unique, case-sensitive identifier you provide to ensure the idempotency of the request. If you do not specify a client token, a randomly generated token is used for the request to ensure idempotency.

For more information, see Ensuring Idempotency.

Constraints: Maximum 64 ASCII characters

CpuOptions
Type: CpuOptionsRequest structure

The CPU options for the instance. For more information, see Optimize CPU options in the Amazon EC2 User Guide.

CreditSpecification
Type: CreditSpecificationRequest structure

The credit option for CPU usage of the burstable performance instance. Valid values are standard and unlimited. To change this attribute after launch, use ModifyInstanceCreditSpecification. For more information, see Burstable performance instances in the Amazon EC2 User Guide.

Default: standard (T2 instances) or unlimited (T3/T3a/T4g instances)

For T3 instances with host tenancy, only standard is supported.

DisableApiStop
Type: boolean

Indicates whether an instance is enabled for stop protection. For more information, see Stop protection.

DisableApiTermination
Type: boolean

If you set this parameter to true, you can't terminate the instance using the Amazon EC2 console, CLI, or API; otherwise, you can. To change this attribute after launch, use ModifyInstanceAttribute. Alternatively, if you set InstanceInitiatedShutdownBehavior to terminate, you can terminate the instance by running the shutdown command from the instance.

Default: false

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.

EbsOptimized
Type: boolean

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

Default: false

ElasticGpuSpecification
Type: Array of ElasticGpuSpecification structures

An elastic GPU to associate with the instance.

Amazon Elastic Graphics reached end of life on January 8, 2024.

ElasticInferenceAccelerators
Type: Array of ElasticInferenceAccelerator structures

An elastic inference accelerator to associate with the instance.

Amazon Elastic Inference is no longer available.

EnablePrimaryIpv6
Type: boolean

If you’re launching an instance into a dual-stack or IPv6-only subnet, you can enable assigning a primary IPv6 address. A primary IPv6 address is an IPv6 GUA address associated with an ENI that you have enabled to use a primary IPv6 address. Use this option if an instance relies on its IPv6 address not changing. When you launch the instance, Amazon Web Services will automatically assign an IPv6 address associated with the ENI attached to your instance to be the primary IPv6 address. Once you enable an IPv6 GUA address to be a primary IPv6, you cannot disable it. When you enable an IPv6 GUA address to be a primary IPv6, the first IPv6 GUA will be made the primary IPv6 address until the instance is terminated or the network interface is detached. If you have multiple IPv6 addresses associated with an ENI attached to your instance and you enable a primary IPv6 address, the first IPv6 GUA address associated with the ENI becomes the primary IPv6 address.

EnclaveOptions
Type: EnclaveOptionsRequest structure

Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves. For more information, see What is Amazon Web Services Nitro Enclaves? in the Amazon Web Services Nitro Enclaves User Guide.

You can't enable Amazon Web Services Nitro Enclaves and hibernation on the same instance.

HibernationOptions
Type: HibernationOptionsRequest structure

Indicates whether an instance is enabled for hibernation. This parameter is valid only if the instance meets the hibernation prerequisites. For more information, see Hibernate your Amazon EC2 instance in the Amazon EC2 User Guide.

You can't enable hibernation and Amazon Web Services Nitro Enclaves on the same instance.

IamInstanceProfile

The name or Amazon Resource Name (ARN) of an IAM instance profile.

ImageId
Type: string

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

InstanceInitiatedShutdownBehavior
Type: string

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

Default: stop

InstanceMarketOptions

The market (purchasing) option for the instances.

For RunInstances, persistent Spot Instance requests are only supported when InstanceInterruptionBehavior is set to either hibernate or stop.

InstanceType
Type: string

The instance type. For more information, see Amazon EC2 instance types in the Amazon EC2 User Guide.

Ipv6AddressCount
Type: int

The number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet. You cannot specify this option and the option to assign specific IPv6 addresses in the same request. You can specify this option if you've specified a minimum number of instances to launch.

You cannot specify this option and the network interfaces option in the same request.

Ipv6Addresses
Type: Array of InstanceIpv6Address structures

The IPv6 addresses from the range of the subnet to associate with the primary network interface. You cannot specify this option and the option to assign a number of IPv6 addresses in the same request. You cannot specify this option if you've specified a minimum number of instances to launch.

You cannot specify this option and the network interfaces option in the same request.

KernelId
Type: string

The ID of the kernel.

We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB in the Amazon EC2 User Guide.

KeyName
Type: string

The name of the key pair. You can create a key pair using CreateKeyPair or ImportKeyPair.

If you do not specify a key pair, you can't connect to the instance unless you choose an AMI that is configured to allow users another way to log in.

LaunchTemplate
Type: LaunchTemplateSpecification structure

The launch template. Any additional parameters that you specify for the new instance overwrite the corresponding parameters included in the launch template.

LicenseSpecifications
Type: Array of LicenseConfigurationRequest structures

The license configurations.

MaintenanceOptions

The maintenance and recovery options for the instance.

MaxCount
Required: Yes
Type: int

The maximum number of instances to launch. If you specify a value that is more capacity than Amazon EC2 can launch in the target Availability Zone, Amazon EC2 launches the largest possible number of instances above the specified minimum count.

Constraints: Between 1 and the quota for the specified instance type for your account for this Region. For more information, see Amazon EC2 instance type quotas.

MetadataOptions

The metadata options for the instance. For more information, see Instance metadata and user data.

MinCount
Required: Yes
Type: int

The minimum number of instances to launch. If you specify a value that is more capacity than Amazon EC2 can provide in the target Availability Zone, Amazon EC2 does not launch any instances.

Constraints: Between 1 and the quota for the specified instance type for your account for this Region. For more information, see Amazon EC2 instance type quotas.

Monitoring

Specifies whether detailed monitoring is enabled for the instance.

NetworkInterfaces
Type: Array of InstanceNetworkInterfaceSpecification structures

The network interfaces to associate with the instance.

Placement
Type: Placement structure

The placement for the instance.

PrivateDnsNameOptions

The options for the instance hostname. The default values are inherited from the subnet. Applies only if creating a network interface, not attaching an existing one.

PrivateIpAddress
Type: string

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

Only one private IP address can be designated as primary. You can't specify this option if you've specified the option to designate a private IP address as the primary IP address in a network interface specification. You cannot specify this option if you're launching more than one instance in the request.

You cannot specify this option and the network interfaces option in the same request.

RamdiskId
Type: string

The ID of the RAM disk to select. Some kernels require additional drivers at launch. Check the kernel requirements for information about whether you need to specify a RAM disk. To find kernel requirements, go to the Amazon Web Services Resource Center and search for the kernel ID.

We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB in the Amazon EC2 User Guide.

SecurityGroupIds
Type: Array of strings

The IDs of the security groups. You can create a security group using CreateSecurityGroup.

If you specify a network interface, you must specify any security groups as part of the network interface instead of using this parameter.

SecurityGroups
Type: Array of strings

[Default VPC] The names of the security groups.

If you specify a network interface, you must specify any security groups as part of the network interface instead of using this parameter.

Default: Amazon EC2 uses the default security group.

SubnetId
Type: string

The ID of the subnet to launch the instance into.

If you specify a network interface, you must specify any subnets as part of the network interface instead of using this parameter.

TagSpecifications
Type: Array of TagSpecification structures

The tags to apply to the resources that are created during instance launch.

You can specify tags for the following resources only:

  • Instances

  • Volumes

  • Spot Instance requests

  • Network interfaces

To tag a resource after it has been created, see CreateTags.

UserData
Type: string

The user data to make available to the instance. User data must be base64-encoded. Depending on the tool or SDK that you're using, the base64-encoding might be performed for you. For more information, see Work with instance user data.

Result Syntax

[
    'Groups' => [
        [
            'GroupId' => '<string>',
            'GroupName' => '<string>',
        ],
        // ...
    ],
    'Instances' => [
        [
            'AmiLaunchIndex' => <integer>,
            'Architecture' => 'i386|x86_64|arm64|x86_64_mac|arm64_mac',
            'BlockDeviceMappings' => [
                [
                    'DeviceName' => '<string>',
                    'Ebs' => [
                        'AssociatedResource' => '<string>',
                        'AttachTime' => <DateTime>,
                        'DeleteOnTermination' => true || false,
                        'Status' => 'attaching|attached|detaching|detached',
                        'VolumeId' => '<string>',
                        'VolumeOwnerId' => '<string>',
                    ],
                ],
                // ...
            ],
            'BootMode' => 'legacy-bios|uefi|uefi-preferred',
            'CapacityReservationId' => '<string>',
            'CapacityReservationSpecification' => [
                'CapacityReservationPreference' => 'open|none',
                'CapacityReservationTarget' => [
                    'CapacityReservationId' => '<string>',
                    'CapacityReservationResourceGroupArn' => '<string>',
                ],
            ],
            'ClientToken' => '<string>',
            'CpuOptions' => [
                'AmdSevSnp' => 'enabled|disabled',
                'CoreCount' => <integer>,
                'ThreadsPerCore' => <integer>,
            ],
            'CurrentInstanceBootMode' => 'legacy-bios|uefi',
            'EbsOptimized' => true || false,
            'ElasticGpuAssociations' => [
                [
                    'ElasticGpuAssociationId' => '<string>',
                    'ElasticGpuAssociationState' => '<string>',
                    'ElasticGpuAssociationTime' => '<string>',
                    'ElasticGpuId' => '<string>',
                ],
                // ...
            ],
            'ElasticInferenceAcceleratorAssociations' => [
                [
                    'ElasticInferenceAcceleratorArn' => '<string>',
                    'ElasticInferenceAcceleratorAssociationId' => '<string>',
                    'ElasticInferenceAcceleratorAssociationState' => '<string>',
                    'ElasticInferenceAcceleratorAssociationTime' => <DateTime>,
                ],
                // ...
            ],
            'EnaSupport' => true || false,
            'EnclaveOptions' => [
                'Enabled' => true || false,
            ],
            'HibernationOptions' => [
                'Configured' => true || false,
            ],
            'Hypervisor' => 'ovm|xen',
            'IamInstanceProfile' => [
                'Arn' => '<string>',
                'Id' => '<string>',
            ],
            'ImageId' => '<string>',
            'InstanceId' => '<string>',
            'InstanceLifecycle' => 'spot|scheduled|capacity-block',
            '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',
            'Ipv6Address' => '<string>',
            'KernelId' => '<string>',
            'KeyName' => '<string>',
            'LaunchTime' => <DateTime>,
            'Licenses' => [
                [
                    'LicenseConfigurationArn' => '<string>',
                ],
                // ...
            ],
            'MaintenanceOptions' => [
                'AutoRecovery' => 'disabled|default',
            ],
            'MetadataOptions' => [
                'HttpEndpoint' => 'disabled|enabled',
                'HttpProtocolIpv6' => 'disabled|enabled',
                'HttpPutResponseHopLimit' => <integer>,
                'HttpTokens' => 'optional|required',
                'InstanceMetadataTags' => 'disabled|enabled',
                'State' => 'pending|applied',
            ],
            'Monitoring' => [
                'State' => 'disabled|disabling|enabled|pending',
            ],
            'NetworkInterfaces' => [
                [
                    'Association' => [
                        'CarrierIp' => '<string>',
                        'CustomerOwnedIp' => '<string>',
                        'IpOwnerId' => '<string>',
                        'PublicDnsName' => '<string>',
                        'PublicIp' => '<string>',
                    ],
                    'Attachment' => [
                        'AttachTime' => <DateTime>,
                        'AttachmentId' => '<string>',
                        'DeleteOnTermination' => true || false,
                        'DeviceIndex' => <integer>,
                        'EnaSrdSpecification' => [
                            'EnaSrdEnabled' => true || false,
                            'EnaSrdUdpSpecification' => [
                                'EnaSrdUdpEnabled' => true || false,
                            ],
                        ],
                        'NetworkCardIndex' => <integer>,
                        'Status' => 'attaching|attached|detaching|detached',
                    ],
                    'ConnectionTrackingConfiguration' => [
                        'TcpEstablishedTimeout' => <integer>,
                        'UdpStreamTimeout' => <integer>,
                        'UdpTimeout' => <integer>,
                    ],
                    'Description' => '<string>',
                    'Groups' => [
                        [
                            'GroupId' => '<string>',
                            'GroupName' => '<string>',
                        ],
                        // ...
                    ],
                    'InterfaceType' => '<string>',
                    'Ipv4Prefixes' => [
                        [
                            'Ipv4Prefix' => '<string>',
                        ],
                        // ...
                    ],
                    'Ipv6Addresses' => [
                        [
                            'Ipv6Address' => '<string>',
                            'IsPrimaryIpv6' => true || false,
                        ],
                        // ...
                    ],
                    'Ipv6Prefixes' => [
                        [
                            'Ipv6Prefix' => '<string>',
                        ],
                        // ...
                    ],
                    'MacAddress' => '<string>',
                    'NetworkInterfaceId' => '<string>',
                    'OwnerId' => '<string>',
                    'PrivateDnsName' => '<string>',
                    'PrivateIpAddress' => '<string>',
                    'PrivateIpAddresses' => [
                        [
                            'Association' => [
                                'CarrierIp' => '<string>',
                                'CustomerOwnedIp' => '<string>',
                                'IpOwnerId' => '<string>',
                                'PublicDnsName' => '<string>',
                                'PublicIp' => '<string>',
                            ],
                            'Primary' => true || false,
                            'PrivateDnsName' => '<string>',
                            'PrivateIpAddress' => '<string>',
                        ],
                        // ...
                    ],
                    'SourceDestCheck' => true || false,
                    'Status' => 'available|associated|attaching|in-use|detaching',
                    'SubnetId' => '<string>',
                    'VpcId' => '<string>',
                ],
                // ...
            ],
            'OutpostArn' => '<string>',
            'Placement' => [
                'Affinity' => '<string>',
                'AvailabilityZone' => '<string>',
                'GroupId' => '<string>',
                'GroupName' => '<string>',
                'HostId' => '<string>',
                'HostResourceGroupArn' => '<string>',
                'PartitionNumber' => <integer>,
                'SpreadDomain' => '<string>',
                'Tenancy' => 'default|dedicated|host',
            ],
            'Platform' => 'Windows',
            'PlatformDetails' => '<string>',
            'PrivateDnsName' => '<string>',
            'PrivateDnsNameOptions' => [
                'EnableResourceNameDnsAAAARecord' => true || false,
                'EnableResourceNameDnsARecord' => true || false,
                'HostnameType' => 'ip-name|resource-name',
            ],
            'PrivateIpAddress' => '<string>',
            'ProductCodes' => [
                [
                    'ProductCodeId' => '<string>',
                    'ProductCodeType' => 'devpay|marketplace',
                ],
                // ...
            ],
            'PublicDnsName' => '<string>',
            'PublicIpAddress' => '<string>',
            'RamdiskId' => '<string>',
            'RootDeviceName' => '<string>',
            'RootDeviceType' => 'ebs|instance-store',
            'SecurityGroups' => [
                [
                    'GroupId' => '<string>',
                    'GroupName' => '<string>',
                ],
                // ...
            ],
            'SourceDestCheck' => true || false,
            'SpotInstanceRequestId' => '<string>',
            'SriovNetSupport' => '<string>',
            'State' => [
                'Code' => <integer>,
                'Name' => 'pending|running|shutting-down|terminated|stopping|stopped',
            ],
            'StateReason' => [
                'Code' => '<string>',
                'Message' => '<string>',
            ],
            'StateTransitionReason' => '<string>',
            'SubnetId' => '<string>',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'TpmSupport' => '<string>',
            'UsageOperation' => '<string>',
            'UsageOperationUpdateTime' => <DateTime>,
            'VirtualizationType' => 'hvm|paravirtual',
            'VpcId' => '<string>',
        ],
        // ...
    ],
    'OwnerId' => '<string>',
    'RequesterId' => '<string>',
    'ReservationId' => '<string>',
]

Result Details

Members
Groups
Type: Array of GroupIdentifier structures

Not supported.

Instances
Type: Array of Instance structures

The instances.

OwnerId
Type: string

The ID of the Amazon Web Services account that owns the reservation.

RequesterId
Type: string

The ID of the requester that launched the instances on your behalf (for example, Amazon Web Services Management Console or Auto Scaling).

ReservationId
Type: string

The ID of the reservation.

Errors

There are no errors described for this operation.

Examples

Example 1: To launch an instance

This example launches an instance using the specified AMI, instance type, security group, subnet, block device mapping, and tags.

$result = $client->runInstances([
    'BlockDeviceMappings' => [
        [
            'DeviceName' => '/dev/sdh',
            'Ebs' => [
                'VolumeSize' => 100,
            ],
        ],
    ],
    'ImageId' => 'ami-abc12345',
    'InstanceType' => 't2.micro',
    'KeyName' => 'my-key-pair',
    'MaxCount' => 1,
    'MinCount' => 1,
    'SecurityGroupIds' => [
        'sg-1a2b3c4d',
    ],
    'SubnetId' => 'subnet-6e7f829e',
    'TagSpecifications' => [
        [
            'ResourceType' => 'instance',
            'Tags' => [
                [
                    'Key' => 'Purpose',
                    'Value' => 'test',
                ],
            ],
        ],
    ],
]);

Result syntax:

[
]

RunScheduledInstances

$result = $client->runScheduledInstances([/* ... */]);
$promise = $client->runScheduledInstancesAsync([/* ... */]);

Launches the specified Scheduled Instances.

Before you can launch a Scheduled Instance, you must purchase it and obtain an identifier using PurchaseScheduledInstances.

You must launch a Scheduled Instance during its scheduled time period. You can't stop or reboot a Scheduled Instance, but you can terminate it as needed. If you terminate a Scheduled Instance before the current scheduled time period ends, you can launch it again after a few minutes.

Parameter Syntax

$result = $client->runScheduledInstances([
    'ClientToken' => '<string>',
    'DryRun' => true || false,
    'InstanceCount' => <integer>,
    'LaunchSpecification' => [ // REQUIRED
        'BlockDeviceMappings' => [
            [
                'DeviceName' => '<string>',
                'Ebs' => [
                    'DeleteOnTermination' => true || false,
                    'Encrypted' => true || false,
                    'Iops' => <integer>,
                    'SnapshotId' => '<string>',
                    'VolumeSize' => <integer>,
                    'VolumeType' => '<string>',
                ],
                'NoDevice' => '<string>',
                'VirtualName' => '<string>',
            ],
            // ...
        ],
        'EbsOptimized' => true || false,
        'IamInstanceProfile' => [
            'Arn' => '<string>',
            'Name' => '<string>',
        ],
        'ImageId' => '<string>', // REQUIRED
        'InstanceType' => '<string>',
        'KernelId' => '<string>',
        'KeyName' => '<string>',
        'Monitoring' => [
            'Enabled' => true || false,
        ],
        'NetworkInterfaces' => [
            [
                'AssociatePublicIpAddress' => true || false,
                'DeleteOnTermination' => true || false,
                'Description' => '<string>',
                'DeviceIndex' => <integer>,
                'Groups' => ['<string>', ...],
                'Ipv6AddressCount' => <integer>,
                'Ipv6Addresses' => [
                    [
                        'Ipv6Address' => '<string>',
                    ],
                    // ...
                ],
                'NetworkInterfaceId' => '<string>',
                'PrivateIpAddress' => '<string>',
                'PrivateIpAddressConfigs' => [
                    [
                        'Primary' => true || false,
                        'PrivateIpAddress' => '<string>',
                    ],
                    // ...
                ],
                'SecondaryPrivateIpAddressCount' => <integer>,
                'SubnetId' => '<string>',
            ],
            // ...
        ],
        'Placement' => [
            'AvailabilityZone' => '<string>',
            'GroupName' => '<string>',
        ],
        'RamdiskId' => '<string>',
        'SecurityGroupIds' => ['<string>', ...],
        'SubnetId' => '<string>',
        'UserData' => '<string>',
    ],
    'ScheduledInstanceId' => '<string>', // REQUIRED
]);

Parameter Details

Members
ClientToken
Type: string

Unique, case-sensitive identifier that ensures 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.

InstanceCount
Type: int

The number of instances.

Default: 1

LaunchSpecification
Required: Yes
Type: ScheduledInstancesLaunchSpecification structure

The launch specification. You must match the instance type, Availability Zone, network, and platform of the schedule that you purchased.

ScheduledInstanceId
Required: Yes
Type: string

The Scheduled Instance ID.

Result Syntax

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

Result Details

Members
InstanceIdSet
Type: Array of strings

The IDs of the newly launched instances.

Errors

There are no errors described for this operation.

SearchLocalGatewayRoutes

$result = $client->searchLocalGatewayRoutes([/* ... */]);
$promise = $client->searchLocalGatewayRoutesAsync([/* ... */]);

Searches for routes in the specified local gateway route table.

Parameter Syntax

$result = $client->searchLocalGatewayRoutes([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'LocalGatewayRouteTableId' => '<string>', // REQUIRED
    'MaxResults' => <integer>,
    'NextToken' => '<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.

Filters
Type: Array of Filter structures

One or more filters.

  • prefix-list-id - The ID of the prefix list.

  • route-search.exact-match - The exact match of the specified filter.

  • route-search.longest-prefix-match - The longest prefix that matches the route.

  • route-search.subnet-of-match - The routes with a subnet that match the specified CIDR filter.

  • route-search.supernet-of-match - The routes with a CIDR that encompass the CIDR filter. For example, if you have 10.0.1.0/29 and 10.0.1.0/31 routes in your route table and you specify supernet-of-match as 10.0.1.0/30, then the result returns 10.0.1.0/29.

  • state - The state of the route.

  • type - The route type.

LocalGatewayRouteTableId
Required: Yes
Type: string

The ID of the local gateway route table.

MaxResults
Type: int

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

NextToken
Type: string

The token for the next page of results.

Result Syntax

[
    'NextToken' => '<string>',
    'Routes' => [
        [
            'CoipPoolId' => '<string>',
            'DestinationCidrBlock' => '<string>',
            'DestinationPrefixListId' => '<string>',
            'LocalGatewayRouteTableArn' => '<string>',
            'LocalGatewayRouteTableId' => '<string>',
            'LocalGatewayVirtualInterfaceGroupId' => '<string>',
            'NetworkInterfaceId' => '<string>',
            'OwnerId' => '<string>',
            'State' => 'pending|active|blackhole|deleting|deleted',
            'SubnetId' => '<string>',
            'Type' => 'static|propagated',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

Routes
Type: Array of LocalGatewayRoute structures

Information about the routes.

Errors

There are no errors described for this operation.

SearchTransitGatewayMulticastGroups

$result = $client->searchTransitGatewayMulticastGroups([/* ... */]);
$promise = $client->searchTransitGatewayMulticastGroupsAsync([/* ... */]);

Searches one or more transit gateway multicast groups and returns the group membership information.

Parameter Syntax

$result = $client->searchTransitGatewayMulticastGroups([
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    '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.

Filters
Type: Array of Filter structures

One or more filters. The possible values are:

  • group-ip-address - The IP address of the transit gateway multicast group.

  • is-group-member - The resource is a group member. Valid values are true | false.

  • is-group-source - The resource is a group source. Valid values are true | false.

  • member-type - The member type. Valid values are igmp | static.

  • resource-id - The ID of the resource.

  • resource-type - The type of resource. Valid values are vpc | vpn | direct-connect-gateway | tgw-peering.

  • source-type - The source type. Valid values are igmp | static.

  • subnet-id - The ID of the subnet.

  • transit-gateway-attachment-id - The id of the transit gateway attachment.

MaxResults
Type: int

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

NextToken
Type: string

The token for the next page of results.

TransitGatewayMulticastDomainId
Required: Yes
Type: string

The ID of the transit gateway multicast domain.

Result Syntax

[
    'MulticastGroups' => [
        [
            'GroupIpAddress' => '<string>',
            'GroupMember' => true || false,
            'GroupSource' => true || false,
            'MemberType' => 'static|igmp',
            'NetworkInterfaceId' => '<string>',
            'ResourceId' => '<string>',
            'ResourceOwnerId' => '<string>',
            'ResourceType' => 'vpc|vpn|direct-connect-gateway|connect|peering|tgw-peering',
            'SourceType' => 'static|igmp',
            'SubnetId' => '<string>',
            'TransitGatewayAttachmentId' => '<string>',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
MulticastGroups
Type: Array of TransitGatewayMulticastGroup structures

Information about the transit gateway multicast group.

NextToken
Type: string

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

Errors

There are no errors described for this operation.

SearchTransitGatewayRoutes

$result = $client->searchTransitGatewayRoutes([/* ... */]);
$promise = $client->searchTransitGatewayRoutesAsync([/* ... */]);

Searches for routes in the specified transit gateway route table.

Parameter Syntax

$result = $client->searchTransitGatewayRoutes([
    'DryRun' => true || false,
    'Filters' => [ // REQUIRED
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    '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.

Filters
Required: Yes
Type: Array of Filter structures

One or more filters. The possible values are:

  • attachment.transit-gateway-attachment-id- The id of the transit gateway attachment.

  • attachment.resource-id - The resource id of the transit gateway attachment.

  • attachment.resource-type - The attachment resource type. Valid values are vpc | vpn | direct-connect-gateway | peering | connect.

  • prefix-list-id - The ID of the prefix list.

  • route-search.exact-match - The exact match of the specified filter.

  • route-search.longest-prefix-match - The longest prefix that matches the route.

  • route-search.subnet-of-match - The routes with a subnet that match the specified CIDR filter.

  • route-search.supernet-of-match - The routes with a CIDR that encompass the CIDR filter. For example, if you have 10.0.1.0/29 and 10.0.1.0/31 routes in your route table and you specify supernet-of-match as 10.0.1.0/30, then the result returns 10.0.1.0/29.

  • state - The state of the route (active | blackhole).

  • type - The type of route (propagated | static).

MaxResults
Type: int

The maximum number of routes to return. If a value is not provided, the default is 1000.

TransitGatewayRouteTableId
Required: Yes
Type: string

The ID of the transit gateway route table.

Result Syntax

[
    'AdditionalRoutesAvailable' => true || false,
    'Routes' => [
        [
            'DestinationCidrBlock' => '<string>',
            'PrefixListId' => '<string>',
            'State' => 'pending|active|blackhole|deleting|deleted',
            'TransitGatewayAttachments' => [
                [
                    'ResourceId' => '<string>',
                    'ResourceType' => 'vpc|vpn|direct-connect-gateway|connect|peering|tgw-peering',
                    'TransitGatewayAttachmentId' => '<string>',
                ],
                // ...
            ],
            'TransitGatewayRouteTableAnnouncementId' => '<string>',
            'Type' => 'static|propagated',
        ],
        // ...
    ],
]

Result Details

Members
AdditionalRoutesAvailable
Type: boolean

Indicates whether there are additional routes available.

Routes
Type: Array of TransitGatewayRoute structures

Information about the routes.

Errors

There are no errors described for this operation.

SendDiagnosticInterrupt

$result = $client->sendDiagnosticInterrupt([/* ... */]);
$promise = $client->sendDiagnosticInterruptAsync([/* ... */]);

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). For instances based on Intel and AMD processors, the interrupt is received as a non-maskable interrupt (NMI).

In general, the operating system crashes and reboots when a kernel panic or stop error is triggered. The operating system can also be configured to perform diagnostic tasks, such as generating a memory dump file, loading a secondary kernel, or obtaining a call trace.

Before sending a diagnostic interrupt to your instance, ensure that its operating system is configured to perform the required diagnostic tasks.

For more information about configuring your operating system to generate a crash dump when a kernel panic or stop error occurs, see Send a diagnostic interrupt (for advanced users) in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->sendDiagnosticInterrupt([
    'DryRun' => true || false,
    'InstanceId' => '<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.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

There are no errors described for this operation.

StartInstances

$result = $client->startInstances([/* ... */]);
$promise = $client->startInstancesAsync([/* ... */]);

Starts an Amazon EBS-backed instance that you've previously stopped.

Instances that use Amazon EBS volumes as their root devices can be quickly stopped and started. When an instance is stopped, the compute resources are released and you are not billed for instance usage. However, your root partition Amazon EBS volume remains and continues to persist your data, and you are charged for Amazon EBS volume usage. You can restart your instance at any time. Every time you start your instance, Amazon EC2 charges a one-minute minimum for instance usage, and thereafter charges per second for instance usage.

Before stopping an instance, make sure it is in a state from which it can be restarted. Stopping an instance does not preserve data stored in RAM.

Performing this operation on an instance that uses an instance store as its root device returns an error.

If you attempt to start a T3 instance with host tenancy and the unlimited CPU credit option, the request fails. The unlimited CPU credit option is not supported on Dedicated Hosts. Before you start the instance, either change its CPU credit option to standard, or change its tenancy to default or dedicated.

For more information, see Stop and start Amazon EC2 instances in the Amazon EC2 User Guide.

Parameter Syntax

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

Parameter Details

Members
AdditionalInfo
Type: string

Reserved.

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.

InstanceIds
Required: Yes
Type: Array of strings

The IDs of the instances.

Result Syntax

[
    'StartingInstances' => [
        [
            'CurrentState' => [
                'Code' => <integer>,
                'Name' => 'pending|running|shutting-down|terminated|stopping|stopped',
            ],
            'InstanceId' => '<string>',
            'PreviousState' => [
                'Code' => <integer>,
                'Name' => 'pending|running|shutting-down|terminated|stopping|stopped',
            ],
        ],
        // ...
    ],
]

Result Details

Members
StartingInstances
Type: Array of InstanceStateChange structures

Information about the started instances.

Errors

There are no errors described for this operation.

Examples

Example 1: To start a stopped EC2 instance

This example starts the specified EC2 instance.

$result = $client->startInstances([
    'InstanceIds' => [
        'i-1234567890abcdef0',
    ],
]);

Result syntax:

[
    'StartingInstances' => [
        [
            'CurrentState' => [
                'Code' => 0,
                'Name' => 'pending',
            ],
            'InstanceId' => 'i-1234567890abcdef0',
            'PreviousState' => [
                'Code' => 80,
                'Name' => 'stopped',
            ],
        ],
    ],
]

StartNetworkInsightsAccessScopeAnalysis

$result = $client->startNetworkInsightsAccessScopeAnalysis([/* ... */]);
$promise = $client->startNetworkInsightsAccessScopeAnalysisAsync([/* ... */]);

Starts analyzing the specified Network Access Scope.

Parameter Syntax

$result = $client->startNetworkInsightsAccessScopeAnalysis([
    'ClientToken' => '<string>', // REQUIRED
    'DryRun' => true || false,
    'NetworkInsightsAccessScopeId' => '<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
Required: Yes
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.

NetworkInsightsAccessScopeId
Required: Yes
Type: string

The ID of the Network Access Scope.

TagSpecifications
Type: Array of TagSpecification structures

The tags to apply.

Result Syntax

[
    'NetworkInsightsAccessScopeAnalysis' => [
        'AnalyzedEniCount' => <integer>,
        'EndDate' => <DateTime>,
        'FindingsFound' => 'true|false|unknown',
        'NetworkInsightsAccessScopeAnalysisArn' => '<string>',
        'NetworkInsightsAccessScopeAnalysisId' => '<string>',
        'NetworkInsightsAccessScopeId' => '<string>',
        'StartDate' => <DateTime>,
        'Status' => 'running|succeeded|failed',
        'StatusMessage' => '<string>',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'WarningMessage' => '<string>',
    ],
]

Result Details

Members
NetworkInsightsAccessScopeAnalysis

The Network Access Scope analysis.

Errors

There are no errors described for this operation.

StartNetworkInsightsAnalysis

$result = $client->startNetworkInsightsAnalysis([/* ... */]);
$promise = $client->startNetworkInsightsAnalysisAsync([/* ... */]);

Starts analyzing the specified path. If the path is reachable, the operation returns the shortest feasible path.

Parameter Syntax

$result = $client->startNetworkInsightsAnalysis([
    'AdditionalAccounts' => ['<string>', ...],
    'ClientToken' => '<string>', // REQUIRED
    'DryRun' => true || false,
    'FilterInArns' => ['<string>', ...],
    'NetworkInsightsPathId' => '<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
AdditionalAccounts
Type: Array of strings

The member accounts that contain resources that the path can traverse.

ClientToken
Required: Yes
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.

FilterInArns
Type: Array of strings

The Amazon Resource Names (ARN) of the resources that the path must traverse.

NetworkInsightsPathId
Required: Yes
Type: string

The ID of the path.

TagSpecifications
Type: Array of TagSpecification structures

The tags to apply.

Result Syntax

[
    'NetworkInsightsAnalysis' => [
        'AdditionalAccounts' => ['<string>', ...],
        'AlternatePathHints' => [
            [
                'ComponentArn' => '<string>',
                'ComponentId' => '<string>',
            ],
            // ...
        ],
        'Explanations' => [
            [
                'Acl' => [
                    'Arn' => '<string>',
                    'Id' => '<string>',
                    'Name' => '<string>',
                ],
                'AclRule' => [
                    'Cidr' => '<string>',
                    'Egress' => true || false,
                    'PortRange' => [
                        'From' => <integer>,
                        'To' => <integer>,
                    ],
                    'Protocol' => '<string>',
                    'RuleAction' => '<string>',
                    'RuleNumber' => <integer>,
                ],
                'Address' => '<string>',
                'Addresses' => ['<string>', ...],
                'AttachedTo' => [
                    'Arn' => '<string>',
                    'Id' => '<string>',
                    'Name' => '<string>',
                ],
                'AvailabilityZones' => ['<string>', ...],
                'Cidrs' => ['<string>', ...],
                'ClassicLoadBalancerListener' => [
                    'InstancePort' => <integer>,
                    'LoadBalancerPort' => <integer>,
                ],
                'Component' => [
                    'Arn' => '<string>',
                    'Id' => '<string>',
                    'Name' => '<string>',
                ],
                'ComponentAccount' => '<string>',
                'ComponentRegion' => '<string>',
                'CustomerGateway' => [
                    'Arn' => '<string>',
                    'Id' => '<string>',
                    'Name' => '<string>',
                ],
                'Destination' => [
                    'Arn' => '<string>',
                    'Id' => '<string>',
                    'Name' => '<string>',
                ],
                'DestinationVpc' => [
                    'Arn' => '<string>',
                    'Id' => '<string>',
                    'Name' => '<string>',
                ],
                'Direction' => '<string>',
                'ElasticLoadBalancerListener' => [
                    'Arn' => '<string>',
                    'Id' => '<string>',
                    'Name' => '<string>',
                ],
                'ExplanationCode' => '<string>',
                'FirewallStatefulRule' => [
                    'DestinationPorts' => [
                        [
                            'From' => <integer>,
                            'To' => <integer>,
                        ],
                        // ...
                    ],
                    'Destinations' => ['<string>', ...],
                    'Direction' => '<string>',
                    'Protocol' => '<string>',
                    'RuleAction' => '<string>',
                    'RuleGroupArn' => '<string>',
                    'SourcePorts' => [
                        [
                            'From' => <integer>,
                            'To' => <integer>,
                        ],
                        // ...
                    ],
                    'Sources' => ['<string>', ...],
                ],
                'FirewallStatelessRule' => [
                    'DestinationPorts' => [
                        [
                            'From' => <integer>,
                            'To' => <integer>,
                        ],
                        // ...
                    ],
                    'Destinations' => ['<string>', ...],
                    'Priority' => <integer>,
                    'Protocols' => [<integer>, ...],
                    'RuleAction' => '<string>',
                    'RuleGroupArn' => '<string>',
                    'SourcePorts' => [
                        [
                            'From' => <integer>,
                            'To' => <integer>,
                        ],
                        // ...
                    ],
                    'Sources' => ['<string>', ...],
                ],
                'IngressRouteTable' => [
                    'Arn' => '<string>',
                    'Id' => '<string>',
                    'Name' => '<string>',
                ],
                'InternetGateway' => [
                    'Arn' => '<string>',
                    'Id' => '<string>',
                    'Name' => '<string>',
                ],
                'LoadBalancerArn' => '<string>',
                'LoadBalancerListenerPort' => <integer>,
                'LoadBalancerTarget' => [
                    'Address' => '<string>',
                    'AvailabilityZone' => '<string>',
                    'Instance' => [
                        'Arn' => '<string>',
                        'Id' => '<string>',
                        'Name' => '<string>',
                    ],
                    'Port' => <integer>,
                ],
                'LoadBalancerTargetGroup' => [
                    'Arn' => '<string>',
                    'Id' => '<string>',
                    'Name' => '<string>',
                ],
                'LoadBalancerTargetGroups' => [
                    [
                        'Arn' => '<string>',
                        'Id' => '<string>',
                        'Name' => '<string>',
                    ],
                    // ...
                ],
                'LoadBalancerTargetPort' => <integer>,
                'MissingComponent' => '<string>',
                'NatGateway' => [
                    'Arn' => '<string>',
                    'Id' => '<string>',
                    'Name' => '<string>',
                ],
                'NetworkInterface' => [
                    'Arn' => '<string>',
                    'Id' => '<string>',
                    'Name' => '<string>',
                ],
                'PacketField' => '<string>',
                'Port' => <integer>,
                'PortRanges' => [
                    [
                        'From' => <integer>,
                        'To' => <integer>,
                    ],
                    // ...
                ],
                'PrefixList' => [
                    'Arn' => '<string>',
                    'Id' => '<string>',
                    'Name' => '<string>',
                ],
                'Protocols' => ['<string>', ...],
                'RouteTable' => [
                    'Arn' => '<string>',
                    'Id' => '<string>',
                    'Name' => '<string>',
                ],
                'RouteTableRoute' => [
                    'CarrierGatewayId' => '<string>',
                    'CoreNetworkArn' => '<string>',
                    'DestinationCidr' => '<string>',
                    'DestinationPrefixListId' => '<string>',
                    'EgressOnlyInternetGatewayId' => '<string>',
                    'GatewayId' => '<string>',
                    'InstanceId' => '<string>',
                    'LocalGatewayId' => '<string>',
                    'NatGatewayId' => '<string>',
                    'NetworkInterfaceId' => '<string>',
                    'Origin' => '<string>',
                    'State' => '<string>',
                    'TransitGatewayId' => '<string>',
                    'VpcPeeringConnectionId' => '<string>',
                ],
                'SecurityGroup' => [
                    'Arn' => '<string>',
                    'Id' => '<string>',
                    'Name' => '<string>',
                ],
                'SecurityGroupRule' => [
                    'Cidr' => '<string>',
                    'Direction' => '<string>',
                    'PortRange' => [
                        'From' => <integer>,
                        'To' => <integer>,
                    ],
                    'PrefixListId' => '<string>',
                    'Protocol' => '<string>',
                    'SecurityGroupId' => '<string>',
                ],
                'SecurityGroups' => [
                    [
                        'Arn' => '<string>',
                        'Id' => '<string>',
                        'Name' => '<string>',
                    ],
                    // ...
                ],
                'SourceVpc' => [
                    'Arn' => '<string>',
                    'Id' => '<string>',
                    'Name' => '<string>',
                ],
                'State' => '<string>',
                'Subnet' => [
                    'Arn' => '<string>',
                    'Id' => '<string>',
                    'Name' => '<string>',
                ],
                'SubnetRouteTable' => [
                    'Arn' => '<string>',
                    'Id' => '<string>',
                    'Name' => '<string>',
                ],
                'TransitGateway' => [
                    'Arn' => '<string>',
                    'Id' => '<string>',
                    'Name' => '<string>',
                ],
                'TransitGatewayAttachment' => [
                    'Arn' => '<string>',
                    'Id' => '<string>',
                    'Name' => '<string>',
                ],
                'TransitGatewayRouteTable' => [
                    'Arn' => '<string>',
                    'Id' => '<string>',
                    'Name' => '<string>',
                ],
                'TransitGatewayRouteTableRoute' => [
                    'AttachmentId' => '<string>',
                    'DestinationCidr' => '<string>',
                    'PrefixListId' => '<string>',
                    'ResourceId' => '<string>',
                    'ResourceType' => '<string>',
                    'RouteOrigin' => '<string>',
                    'State' => '<string>',
                ],
                'Vpc' => [
                    'Arn' => '<string>',
                    'Id' => '<string>',
                    'Name' => '<string>',
                ],
                'VpcEndpoint' => [
                    'Arn' => '<string>',
                    'Id' => '<string>',
                    'Name' => '<string>',
                ],
                'VpcPeeringConnection' => [
                    'Arn' => '<string>',
                    'Id' => '<string>',
                    'Name' => '<string>',
                ],
                'VpnConnection' => [
                    'Arn' => '<string>',
                    'Id' => '<string>',
                    'Name' => '<string>',
                ],
                'VpnGateway' => [
                    'Arn' => '<string>',
                    'Id' => '<string>',
                    'Name' => '<string>',
                ],
            ],
            // ...
        ],
        'FilterInArns' => ['<string>', ...],
        'ForwardPathComponents' => [
            [
                'AclRule' => [
                    'Cidr' => '<string>',
                    'Egress' => true || false,
                    'PortRange' => [
                        'From' => <integer>,
                        'To' => <integer>,
                    ],
                    'Protocol' => '<string>',
                    'RuleAction' => '<string>',
                    'RuleNumber' => <integer>,
                ],
                'AdditionalDetails' => [
                    [
                        'AdditionalDetailType' => '<string>',
                        'Component' => [
                            'Arn' => '<string>',
                            'Id' => '<string>',
                            'Name' => '<string>',
                        ],
                        'LoadBalancers' => [
                            [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            // ...
                        ],
                        'RuleGroupRuleOptionsPairs' => [
                            [
                                'RuleGroupArn' => '<string>',
                                'RuleOptions' => [
                                    [
                                        'Keyword' => '<string>',
                                        'Settings' => ['<string>', ...],
                                    ],
                                    // ...
                                ],
                            ],
                            // ...
                        ],
                        'RuleGroupTypePairs' => [
                            [
                                'RuleGroupArn' => '<string>',
                                'RuleGroupType' => '<string>',
                            ],
                            // ...
                        ],
                        'RuleOptions' => [
                            [
                                'Keyword' => '<string>',
                                'Settings' => ['<string>', ...],
                            ],
                            // ...
                        ],
                        'ServiceName' => '<string>',
                        'VpcEndpointService' => [
                            'Arn' => '<string>',
                            'Id' => '<string>',
                            'Name' => '<string>',
                        ],
                    ],
                    // ...
                ],
                'AttachedTo' => [
                    'Arn' => '<string>',
                    'Id' => '<string>',
                    'Name' => '<string>',
                ],
                'Component' => [
                    'Arn' => '<string>',
                    'Id' => '<string>',
                    'Name' => '<string>',
                ],
                'DestinationVpc' => [
                    'Arn' => '<string>',
                    'Id' => '<string>',
                    'Name' => '<string>',
                ],
                'ElasticLoadBalancerListener' => [
                    'Arn' => '<string>',
                    'Id' => '<string>',
                    'Name' => '<string>',
                ],
                'Explanations' => [
                    [
                        'Acl' => [
                            'Arn' => '<string>',
                            'Id' => '<string>',
                            'Name' => '<string>',
                        ],
                        'AclRule' => [
                            'Cidr' => '<string>',
                            'Egress' => true || false,
                            'PortRange' => [
                                'From' => <integer>,
                                'To' => <integer>,
                            ],
                            'Protocol' => '<string>',
                            'RuleAction' => '<string>',
                            'RuleNumber' => <integer>,
                        ],
                        'Address' => '<string>',
                        'Addresses' => ['<string>', ...],
                        'AttachedTo' => [
                            'Arn' => '<string>',
                            'Id' => '<string>',
                            'Name' => '<string>',
                        ],
                        'AvailabilityZones' => ['<string>', ...],
                        'Cidrs' => ['<string>', ...],
                        'ClassicLoadBalancerListener' => [
                            'InstancePort' => <integer>,
                            'LoadBalancerPort' => <integer>,
                        ],
                        'Component' => [
                            'Arn' => '<string>',
                            'Id' => '<string>',
                            'Name' => '<string>',
                        ],
                        'ComponentAccount' => '<string>',
                        'ComponentRegion' => '<string>',
                        'CustomerGateway' => [
                            'Arn' => '<string>',
                            'Id' => '<string>',
                            'Name' => '<string>',
                        ],
                        'Destination' => [
                            'Arn' => '<string>',
                            'Id' => '<string>',
                            'Name' => '<string>',
                        ],
                        'DestinationVpc' => [
                            'Arn' => '<string>',
                            'Id' => '<string>',
                            'Name' => '<string>',
                        ],
                        'Direction' => '<string>',
                        'ElasticLoadBalancerListener' => [
                            'Arn' => '<string>',
                            'Id' => '<string>',
                            'Name' => '<string>',
                        ],
                        'ExplanationCode' => '<string>',
                        'FirewallStatefulRule' => [
                            'DestinationPorts' => [
                                [
                                    'From' => <integer>,
                                    'To' => <integer>,
                                ],
                                // ...
                            ],
                            'Destinations' => ['<string>', ...],
                            'Direction' => '<string>',
                            'Protocol' => '<string>',
                            'RuleAction' => '<string>',
                            'RuleGroupArn' => '<string>',
                            'SourcePorts' => [
                                [
                                    'From' => <integer>,
                                    'To' => <integer>,
                                ],
                                // ...
                            ],
                            'Sources' => ['<string>', ...],
                        ],
                        'FirewallStatelessRule' => [
                            'DestinationPorts' => [
                                [
                                    'From' => <integer>,
                                    'To' => <integer>,
                                ],
                                // ...
                            ],
                            'Destinations' => ['<string>', ...],
                            'Priority' => <integer>,
                            'Protocols' => [<integer>, ...],
                            'RuleAction' => '<string>',
                            'RuleGroupArn' => '<string>',
                            'SourcePorts' => [
                                [
                                    'From' => <integer>,
                                    'To' => <integer>,
                                ],
                                // ...
                            ],
                            'Sources' => ['<string>', ...],
                        ],
                        'IngressRouteTable' => [
                            'Arn' => '<string>',
                            'Id' => '<string>',
                            'Name' => '<string>',
                        ],
                        'InternetGateway' => [
                            'Arn' => '<string>',
                            'Id' => '<string>',
                            'Name' => '<string>',
                        ],
                        'LoadBalancerArn' => '<string>',
                        'LoadBalancerListenerPort' => <integer>,
                        'LoadBalancerTarget' => [
                            'Address' => '<string>',
                            'AvailabilityZone' => '<string>',
                            'Instance' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'Port' => <integer>,
                        ],
                        'LoadBalancerTargetGroup' => [
                            'Arn' => '<string>',
                            'Id' => '<string>',
                            'Name' => '<string>',
                        ],
                        'LoadBalancerTargetGroups' => [
                            [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            // ...
                        ],
                        'LoadBalancerTargetPort' => <integer>,
                        'MissingComponent' => '<string>',
                        'NatGateway' => [
                            'Arn' => '<string>',
                            'Id' => '<string>',
                            'Name' => '<string>',
                        ],
                        'NetworkInterface' => [
                            'Arn' => '<string>',
                            'Id' => '<string>',
                            'Name' => '<string>',
                        ],
                        'PacketField' => '<string>',
                        'Port' => <integer>,
                        'PortRanges' => [
                            [
                                'From' => <integer>,
                                'To' => <integer>,
                            ],
                            // ...
                        ],
                        'PrefixList' => [
                            'Arn' => '<string>',
                            'Id' => '<string>',
                            'Name' => '<string>',
                        ],
                        'Protocols' => ['<string>', ...],
                        'RouteTable' => [
                            'Arn' => '<string>',
                            'Id' => '<string>',
                            'Name' => '<string>',
                        ],
                        'RouteTableRoute' => [
                            'CarrierGatewayId' => '<string>',
                            'CoreNetworkArn' => '<string>',
                            'DestinationCidr' => '<string>',
                            'DestinationPrefixListId' => '<string>',
                            'EgressOnlyInternetGatewayId' => '<string>',
                            'GatewayId' => '<string>',
                            'InstanceId' => '<string>',
                            'LocalGatewayId' => '<string>',
                            'NatGatewayId' => '<string>',
                            'NetworkInterfaceId' => '<string>',
                            'Origin' => '<string>',
                            'State' => '<string>',
                            'TransitGatewayId' => '<string>',
                            'VpcPeeringConnectionId' => '<string>',
                        ],
                        'SecurityGroup' => [
                            'Arn' => '<string>',
                            'Id' => '<string>',
                            'Name' => '<string>',
                        ],
                        'SecurityGroupRule' => [
                            'Cidr' => '<string>',
                            'Direction' => '<string>',
                            'PortRange' => [
                                'From' => <integer>,
                                'To' => <integer>,
                            ],
                            'PrefixListId' => '<string>',
                            'Protocol' => '<string>',
                            'SecurityGroupId' => '<string>',
                        ],
                        'SecurityGroups' => [
                            [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            // ...
                        ],
                        'SourceVpc' => [
                            'Arn' => '<string>',
                            'Id' => '<string>',
                            'Name' => '<string>',
                        ],
                        'State' => '<string>',
                        'Subnet' => [
                            'Arn' => '<string>',
                            'Id' => '<string>',
                            'Name' => '<string>',
                        ],
                        'SubnetRouteTable' => [
                            'Arn' => '<string>',
                            'Id' => '<string>',
                            'Name' => '<string>',
                        ],
                        'TransitGateway' => [
                            'Arn' => '<string>',
                            'Id' => '<string>',
                            'Name' => '<string>',
                        ],
                        'TransitGatewayAttachment' => [
                            'Arn' => '<string>',
                            'Id' => '<string>',
                            'Name' => '<string>',
                        ],
                        'TransitGatewayRouteTable' => [
                            'Arn' => '<string>',
                            'Id' => '<string>',
                            'Name' => '<string>',
                        ],
                        'TransitGatewayRouteTableRoute' => [
                            'AttachmentId' => '<string>',
                            'DestinationCidr' => '<string>',
                            'PrefixListId' => '<string>',
                            'ResourceId' => '<string>',
                            'ResourceType' => '<string>',
                            'RouteOrigin' => '<string>',
                            'State' => '<string>',
                        ],
                        'Vpc' => [
                            'Arn' => '<string>',
                            'Id' => '<string>',
                            'Name' => '<string>',
                        ],
                        'VpcEndpoint' => [
                            'Arn' => '<string>',
                            'Id' => '<string>',
                            'Name' => '<string>',
                        ],
                        'VpcPeeringConnection' => [
                            'Arn' => '<string>',
                            'Id' => '<string>',
                            'Name' => '<string>',
                        ],
                        'VpnConnection' => [
                            'Arn' => '<string>',
                            'Id' => '<string>',
                            'Name' => '<string>',
                        ],
                        'VpnGateway' => [
                            'Arn' => '<string>',
                            'Id' => '<string>',
                            'Name' => '<string>',
                        ],
                    ],
                    // ...
                ],
                'FirewallStatefulRule' => [
                    'DestinationPorts' => [
                        [
                            'From' => <integer>,
                            'To' => <integer>,
                        ],
                        // ...
                    ],
                    'Destinations' => ['<string>', ...],
                    'Direction' => '<string>',
                    'Protocol' => '<string>',
                    'RuleAction' => '<string>',
                    'RuleGroupArn' => '<string>',
                    'SourcePorts' => [
                        [
                            'From' => <integer>,
                            'To' => <integer>,
                        ],
                        // ...
                    ],
                    'Sources' => ['<string>', ...],
                ],
                'FirewallStatelessRule' => [
                    'DestinationPorts' => [
                        [
                            'From' => <integer>,
                            'To' => <integer>,
                        ],
                        // ...
                    ],
                    'Destinations' => ['<string>', ...],
                    'Priority' => <integer>,
                    'Protocols' => [<integer>, ...],
                    'RuleAction' => '<string>',
                    'RuleGroupArn' => '<string>',
                    'SourcePorts' => [
                        [
                            'From' => <integer>,
                            'To' => <integer>,
                        ],
                        // ...
                    ],
                    'Sources' => ['<string>', ...],
                ],
                'InboundHeader' => [
                    'DestinationAddresses' => ['<string>', ...],
                    'DestinationPortRanges' => [
                        [
                            'From' => <integer>,
                            'To' => <integer>,
                        ],
                        // ...
                    ],
                    'Protocol' => '<string>',
                    'SourceAddresses' => ['<string>', ...],
                    'SourcePortRanges' => [
                        [
                            'From' => <integer>,
                            'To' => <integer>,
                        ],
                        // ...
                    ],
                ],
                'OutboundHeader' => [
                    'DestinationAddresses' => ['<string>', ...],
                    'DestinationPortRanges' => [
                        [
                            'From' => <integer>,
                            'To' => <integer>,
                        ],
                        // ...
                    ],
                    'Protocol' => '<string>',
                    'SourceAddresses' => ['<string>', ...],
                    'SourcePortRanges' => [
                        [
                            'From' => <integer>,
                            'To' => <integer>,
                        ],
                        // ...
                    ],
                ],
                'RouteTableRoute' => [
                    'CarrierGatewayId' => '<string>',
                    'CoreNetworkArn' => '<string>',
                    'DestinationCidr' => '<string>',
                    'DestinationPrefixListId' => '<string>',
                    'EgressOnlyInternetGatewayId' => '<string>',
                    'GatewayId' => '<string>',
                    'InstanceId' => '<string>',
                    'LocalGatewayId' => '<string>',
                    'NatGatewayId' => '<string>',
                    'NetworkInterfaceId' => '<string>',
                    'Origin' => '<string>',
                    'State' => '<string>',
                    'TransitGatewayId' => '<string>',
                    'VpcPeeringConnectionId' => '<string>',
                ],
                'SecurityGroupRule' => [
                    'Cidr' => '<string>',
                    'Direction' => '<string>',
                    'PortRange' => [
                        'From' => <integer>,
                        'To' => <integer>,
                    ],
                    'PrefixListId' => '<string>',
                    'Protocol' => '<string>',
                    'SecurityGroupId' => '<string>',
                ],
                'SequenceNumber' => <integer>,
                'ServiceName' => '<string>',
                'SourceVpc' => [
                    'Arn' => '<string>',
                    'Id' => '<string>',
                    'Name' => '<string>',
                ],
                'Subnet' => [
                    'Arn' => '<string>',
                    'Id' => '<string>',
                    'Name' => '<string>',
                ],
                'TransitGateway' => [
                    'Arn' => '<string>',
                    'Id' => '<string>',
                    'Name' => '<string>',
                ],
                'TransitGatewayRouteTableRoute' => [
                    'AttachmentId' => '<string>',
                    'DestinationCidr' => '<string>',
                    'PrefixListId' => '<string>',
                    'ResourceId' => '<string>',
                    'ResourceType' => '<string>',
                    'RouteOrigin' => '<string>',
                    'State' => '<string>',
                ],
                'Vpc' => [
                    'Arn' => '<string>',
                    'Id' => '<string>',
                    'Name' => '<string>',
                ],
            ],
            // ...
        ],
        'NetworkInsightsAnalysisArn' => '<string>',
        'NetworkInsightsAnalysisId' => '<string>',
        'NetworkInsightsPathId' => '<string>',
        'NetworkPathFound' => true || false,
        'ReturnPathComponents' => [
            [
                'AclRule' => [
                    'Cidr' => '<string>',
                    'Egress' => true || false,
                    'PortRange' => [
                        'From' => <integer>,
                        'To' => <integer>,
                    ],
                    'Protocol' => '<string>',
                    'RuleAction' => '<string>',
                    'RuleNumber' => <integer>,
                ],
                'AdditionalDetails' => [
                    [
                        'AdditionalDetailType' => '<string>',
                        'Component' => [
                            'Arn' => '<string>',
                            'Id' => '<string>',
                            'Name' => '<string>',
                        ],
                        'LoadBalancers' => [
                            [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            // ...
                        ],
                        'RuleGroupRuleOptionsPairs' => [
                            [
                                'RuleGroupArn' => '<string>',
                                'RuleOptions' => [
                                    [
                                        'Keyword' => '<string>',
                                        'Settings' => ['<string>', ...],
                                    ],
                                    // ...
                                ],
                            ],
                            // ...
                        ],
                        'RuleGroupTypePairs' => [
                            [
                                'RuleGroupArn' => '<string>',
                                'RuleGroupType' => '<string>',
                            ],
                            // ...
                        ],
                        'RuleOptions' => [
                            [
                                'Keyword' => '<string>',
                                'Settings' => ['<string>', ...],
                            ],
                            // ...
                        ],
                        'ServiceName' => '<string>',
                        'VpcEndpointService' => [
                            'Arn' => '<string>',
                            'Id' => '<string>',
                            'Name' => '<string>',
                        ],
                    ],
                    // ...
                ],
                'AttachedTo' => [
                    'Arn' => '<string>',
                    'Id' => '<string>',
                    'Name' => '<string>',
                ],
                'Component' => [
                    'Arn' => '<string>',
                    'Id' => '<string>',
                    'Name' => '<string>',
                ],
                'DestinationVpc' => [
                    'Arn' => '<string>',
                    'Id' => '<string>',
                    'Name' => '<string>',
                ],
                'ElasticLoadBalancerListener' => [
                    'Arn' => '<string>',
                    'Id' => '<string>',
                    'Name' => '<string>',
                ],
                'Explanations' => [
                    [
                        'Acl' => [
                            'Arn' => '<string>',
                            'Id' => '<string>',
                            'Name' => '<string>',
                        ],
                        'AclRule' => [
                            'Cidr' => '<string>',
                            'Egress' => true || false,
                            'PortRange' => [
                                'From' => <integer>,
                                'To' => <integer>,
                            ],
                            'Protocol' => '<string>',
                            'RuleAction' => '<string>',
                            'RuleNumber' => <integer>,
                        ],
                        'Address' => '<string>',
                        'Addresses' => ['<string>', ...],
                        'AttachedTo' => [
                            'Arn' => '<string>',
                            'Id' => '<string>',
                            'Name' => '<string>',
                        ],
                        'AvailabilityZones' => ['<string>', ...],
                        'Cidrs' => ['<string>', ...],
                        'ClassicLoadBalancerListener' => [
                            'InstancePort' => <integer>,
                            'LoadBalancerPort' => <integer>,
                        ],
                        'Component' => [
                            'Arn' => '<string>',
                            'Id' => '<string>',
                            'Name' => '<string>',
                        ],
                        'ComponentAccount' => '<string>',
                        'ComponentRegion' => '<string>',
                        'CustomerGateway' => [
                            'Arn' => '<string>',
                            'Id' => '<string>',
                            'Name' => '<string>',
                        ],
                        'Destination' => [
                            'Arn' => '<string>',
                            'Id' => '<string>',
                            'Name' => '<string>',
                        ],
                        'DestinationVpc' => [
                            'Arn' => '<string>',
                            'Id' => '<string>',
                            'Name' => '<string>',
                        ],
                        'Direction' => '<string>',
                        'ElasticLoadBalancerListener' => [
                            'Arn' => '<string>',
                            'Id' => '<string>',
                            'Name' => '<string>',
                        ],
                        'ExplanationCode' => '<string>',
                        'FirewallStatefulRule' => [
                            'DestinationPorts' => [
                                [
                                    'From' => <integer>,
                                    'To' => <integer>,
                                ],
                                // ...
                            ],
                            'Destinations' => ['<string>', ...],
                            'Direction' => '<string>',
                            'Protocol' => '<string>',
                            'RuleAction' => '<string>',
                            'RuleGroupArn' => '<string>',
                            'SourcePorts' => [
                                [
                                    'From' => <integer>,
                                    'To' => <integer>,
                                ],
                                // ...
                            ],
                            'Sources' => ['<string>', ...],
                        ],
                        'FirewallStatelessRule' => [
                            'DestinationPorts' => [
                                [
                                    'From' => <integer>,
                                    'To' => <integer>,
                                ],
                                // ...
                            ],
                            'Destinations' => ['<string>', ...],
                            'Priority' => <integer>,
                            'Protocols' => [<integer>, ...],
                            'RuleAction' => '<string>',
                            'RuleGroupArn' => '<string>',
                            'SourcePorts' => [
                                [
                                    'From' => <integer>,
                                    'To' => <integer>,
                                ],
                                // ...
                            ],
                            'Sources' => ['<string>', ...],
                        ],
                        'IngressRouteTable' => [
                            'Arn' => '<string>',
                            'Id' => '<string>',
                            'Name' => '<string>',
                        ],
                        'InternetGateway' => [
                            'Arn' => '<string>',
                            'Id' => '<string>',
                            'Name' => '<string>',
                        ],
                        'LoadBalancerArn' => '<string>',
                        'LoadBalancerListenerPort' => <integer>,
                        'LoadBalancerTarget' => [
                            'Address' => '<string>',
                            'AvailabilityZone' => '<string>',
                            'Instance' => [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            'Port' => <integer>,
                        ],
                        'LoadBalancerTargetGroup' => [
                            'Arn' => '<string>',
                            'Id' => '<string>',
                            'Name' => '<string>',
                        ],
                        'LoadBalancerTargetGroups' => [
                            [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            // ...
                        ],
                        'LoadBalancerTargetPort' => <integer>,
                        'MissingComponent' => '<string>',
                        'NatGateway' => [
                            'Arn' => '<string>',
                            'Id' => '<string>',
                            'Name' => '<string>',
                        ],
                        'NetworkInterface' => [
                            'Arn' => '<string>',
                            'Id' => '<string>',
                            'Name' => '<string>',
                        ],
                        'PacketField' => '<string>',
                        'Port' => <integer>,
                        'PortRanges' => [
                            [
                                'From' => <integer>,
                                'To' => <integer>,
                            ],
                            // ...
                        ],
                        'PrefixList' => [
                            'Arn' => '<string>',
                            'Id' => '<string>',
                            'Name' => '<string>',
                        ],
                        'Protocols' => ['<string>', ...],
                        'RouteTable' => [
                            'Arn' => '<string>',
                            'Id' => '<string>',
                            'Name' => '<string>',
                        ],
                        'RouteTableRoute' => [
                            'CarrierGatewayId' => '<string>',
                            'CoreNetworkArn' => '<string>',
                            'DestinationCidr' => '<string>',
                            'DestinationPrefixListId' => '<string>',
                            'EgressOnlyInternetGatewayId' => '<string>',
                            'GatewayId' => '<string>',
                            'InstanceId' => '<string>',
                            'LocalGatewayId' => '<string>',
                            'NatGatewayId' => '<string>',
                            'NetworkInterfaceId' => '<string>',
                            'Origin' => '<string>',
                            'State' => '<string>',
                            'TransitGatewayId' => '<string>',
                            'VpcPeeringConnectionId' => '<string>',
                        ],
                        'SecurityGroup' => [
                            'Arn' => '<string>',
                            'Id' => '<string>',
                            'Name' => '<string>',
                        ],
                        'SecurityGroupRule' => [
                            'Cidr' => '<string>',
                            'Direction' => '<string>',
                            'PortRange' => [
                                'From' => <integer>,
                                'To' => <integer>,
                            ],
                            'PrefixListId' => '<string>',
                            'Protocol' => '<string>',
                            'SecurityGroupId' => '<string>',
                        ],
                        'SecurityGroups' => [
                            [
                                'Arn' => '<string>',
                                'Id' => '<string>',
                                'Name' => '<string>',
                            ],
                            // ...
                        ],
                        'SourceVpc' => [
                            'Arn' => '<string>',
                            'Id' => '<string>',
                            'Name' => '<string>',
                        ],
                        'State' => '<string>',
                        'Subnet' => [
                            'Arn' => '<string>',
                            'Id' => '<string>',
                            'Name' => '<string>',
                        ],
                        'SubnetRouteTable' => [
                            'Arn' => '<string>',
                            'Id' => '<string>',
                            'Name' => '<string>',
                        ],
                        'TransitGateway' => [
                            'Arn' => '<string>',
                            'Id' => '<string>',
                            'Name' => '<string>',
                        ],
                        'TransitGatewayAttachment' => [
                            'Arn' => '<string>',
                            'Id' => '<string>',
                            'Name' => '<string>',
                        ],
                        'TransitGatewayRouteTable' => [
                            'Arn' => '<string>',
                            'Id' => '<string>',
                            'Name' => '<string>',
                        ],
                        'TransitGatewayRouteTableRoute' => [
                            'AttachmentId' => '<string>',
                            'DestinationCidr' => '<string>',
                            'PrefixListId' => '<string>',
                            'ResourceId' => '<string>',
                            'ResourceType' => '<string>',
                            'RouteOrigin' => '<string>',
                            'State' => '<string>',
                        ],
                        'Vpc' => [
                            'Arn' => '<string>',
                            'Id' => '<string>',
                            'Name' => '<string>',
                        ],
                        'VpcEndpoint' => [
                            'Arn' => '<string>',
                            'Id' => '<string>',
                            'Name' => '<string>',
                        ],
                        'VpcPeeringConnection' => [
                            'Arn' => '<string>',
                            'Id' => '<string>',
                            'Name' => '<string>',
                        ],
                        'VpnConnection' => [
                            'Arn' => '<string>',
                            'Id' => '<string>',
                            'Name' => '<string>',
                        ],
                        'VpnGateway' => [
                            'Arn' => '<string>',
                            'Id' => '<string>',
                            'Name' => '<string>',
                        ],
                    ],
                    // ...
                ],
                'FirewallStatefulRule' => [
                    'DestinationPorts' => [
                        [
                            'From' => <integer>,
                            'To' => <integer>,
                        ],
                        // ...
                    ],
                    'Destinations' => ['<string>', ...],
                    'Direction' => '<string>',
                    'Protocol' => '<string>',
                    'RuleAction' => '<string>',
                    'RuleGroupArn' => '<string>',
                    'SourcePorts' => [
                        [
                            'From' => <integer>,
                            'To' => <integer>,
                        ],
                        // ...
                    ],
                    'Sources' => ['<string>', ...],
                ],
                'FirewallStatelessRule' => [
                    'DestinationPorts' => [
                        [
                            'From' => <integer>,
                            'To' => <integer>,
                        ],
                        // ...
                    ],
                    'Destinations' => ['<string>', ...],
                    'Priority' => <integer>,
                    'Protocols' => [<integer>, ...],
                    'RuleAction' => '<string>',
                    'RuleGroupArn' => '<string>',
                    'SourcePorts' => [
                        [
                            'From' => <integer>,
                            'To' => <integer>,
                        ],
                        // ...
                    ],
                    'Sources' => ['<string>', ...],
                ],
                'InboundHeader' => [
                    'DestinationAddresses' => ['<string>', ...],
                    'DestinationPortRanges' => [
                        [
                            'From' => <integer>,
                            'To' => <integer>,
                        ],
                        // ...
                    ],
                    'Protocol' => '<string>',
                    'SourceAddresses' => ['<string>', ...],
                    'SourcePortRanges' => [
                        [
                            'From' => <integer>,
                            'To' => <integer>,
                        ],
                        // ...
                    ],
                ],
                'OutboundHeader' => [
                    'DestinationAddresses' => ['<string>', ...],
                    'DestinationPortRanges' => [
                        [
                            'From' => <integer>,
                            'To' => <integer>,
                        ],
                        // ...
                    ],
                    'Protocol' => '<string>',
                    'SourceAddresses' => ['<string>', ...],
                    'SourcePortRanges' => [
                        [
                            'From' => <integer>,
                            'To' => <integer>,
                        ],
                        // ...
                    ],
                ],
                'RouteTableRoute' => [
                    'CarrierGatewayId' => '<string>',
                    'CoreNetworkArn' => '<string>',
                    'DestinationCidr' => '<string>',
                    'DestinationPrefixListId' => '<string>',
                    'EgressOnlyInternetGatewayId' => '<string>',
                    'GatewayId' => '<string>',
                    'InstanceId' => '<string>',
                    'LocalGatewayId' => '<string>',
                    'NatGatewayId' => '<string>',
                    'NetworkInterfaceId' => '<string>',
                    'Origin' => '<string>',
                    'State' => '<string>',
                    'TransitGatewayId' => '<string>',
                    'VpcPeeringConnectionId' => '<string>',
                ],
                'SecurityGroupRule' => [
                    'Cidr' => '<string>',
                    'Direction' => '<string>',
                    'PortRange' => [
                        'From' => <integer>,
                        'To' => <integer>,
                    ],
                    'PrefixListId' => '<string>',
                    'Protocol' => '<string>',
                    'SecurityGroupId' => '<string>',
                ],
                'SequenceNumber' => <integer>,
                'ServiceName' => '<string>',
                'SourceVpc' => [
                    'Arn' => '<string>',
                    'Id' => '<string>',
                    'Name' => '<string>',
                ],
                'Subnet' => [
                    'Arn' => '<string>',
                    'Id' => '<string>',
                    'Name' => '<string>',
                ],
                'TransitGateway' => [
                    'Arn' => '<string>',
                    'Id' => '<string>',
                    'Name' => '<string>',
                ],
                'TransitGatewayRouteTableRoute' => [
                    'AttachmentId' => '<string>',
                    'DestinationCidr' => '<string>',
                    'PrefixListId' => '<string>',
                    'ResourceId' => '<string>',
                    'ResourceType' => '<string>',
                    'RouteOrigin' => '<string>',
                    'State' => '<string>',
                ],
                'Vpc' => [
                    'Arn' => '<string>',
                    'Id' => '<string>',
                    'Name' => '<string>',
                ],
            ],
            // ...
        ],
        'StartDate' => <DateTime>,
        'Status' => 'running|succeeded|failed',
        'StatusMessage' => '<string>',
        'SuggestedAccounts' => ['<string>', ...],
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'WarningMessage' => '<string>',
    ],
]

Result Details

Members
NetworkInsightsAnalysis
Type: NetworkInsightsAnalysis structure

Information about the network insights analysis.

Errors

There are no errors described for this operation.

StartVpcEndpointServicePrivateDnsVerification

$result = $client->startVpcEndpointServicePrivateDnsVerification([/* ... */]);
$promise = $client->startVpcEndpointServicePrivateDnsVerificationAsync([/* ... */]);

Initiates the verification process to prove that the service provider owns the private DNS name domain for the endpoint service.

The service provider must successfully perform the verification before the consumer can use the name to access the service.

Before the service provider runs this command, they must add a record to the DNS server.

Parameter Syntax

$result = $client->startVpcEndpointServicePrivateDnsVerification([
    'DryRun' => true || false,
    'ServiceId' => '<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 endpoint service.

Result Syntax

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

Result Details

Members
ReturnValue
Type: boolean

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

Errors

There are no errors described for this operation.

StopInstances

$result = $client->stopInstances([/* ... */]);
$promise = $client->stopInstancesAsync([/* ... */]);

Stops an Amazon EBS-backed instance. For more information, see Stop and start Amazon EC2 instances in the Amazon EC2 User Guide.

You can use the Stop action to hibernate an instance if the instance is enabled for hibernation and it meets the hibernation prerequisites. For more information, see Hibernate your Amazon EC2 instance in the Amazon EC2 User Guide.

We don't charge usage for a stopped instance, or data transfer fees; however, your root partition Amazon EBS volume remains and continues to persist your data, and you are charged for Amazon EBS volume usage. Every time you start your instance, Amazon EC2 charges a one-minute minimum for instance usage, and thereafter charges per second for instance usage.

You can't stop or hibernate instance store-backed instances. You can't use the Stop action to hibernate Spot Instances, but you can specify that Amazon EC2 should hibernate Spot Instances when they are interrupted. For more information, see Hibernating interrupted Spot Instances in the Amazon EC2 User Guide.

When you stop or hibernate an instance, we shut it down. You can restart your instance at any time. Before stopping or hibernating an instance, make sure it is in a state from which it can be restarted. Stopping an instance does not preserve data stored in RAM, but hibernating an instance does preserve data stored in RAM. If an instance cannot hibernate successfully, a normal shutdown occurs.

Stopping and hibernating an instance is different to rebooting or terminating it. For example, when you stop or hibernate an instance, the root device and any other devices attached to the instance persist. When you terminate an instance, the root device and any other devices attached during the instance launch are automatically deleted. For more information about the differences between rebooting, stopping, hibernating, and terminating instances, see Instance lifecycle in the Amazon EC2 User Guide.

When you stop an instance, we attempt to shut it down forcibly after a short while. If your instance appears stuck in the stopping state after a period of time, there may be an issue with the underlying host computer. For more information, see Troubleshoot stopping your instance in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->stopInstances([
    'DryRun' => true || false,
    'Force' => true || false,
    'Hibernate' => true || false,
    'InstanceIds' => ['<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.

Force
Type: boolean

Forces the instances to stop. The instances do not have an opportunity to flush file system caches or file system metadata. If you use this option, you must perform file system check and repair procedures. This option is not recommended for Windows instances.

Default: false

Hibernate
Type: boolean

Hibernates the instance if the instance was enabled for hibernation at launch. If the instance cannot hibernate successfully, a normal shutdown occurs. For more information, see Hibernate your instance in the Amazon EC2 User Guide.

Default: false

InstanceIds
Required: Yes
Type: Array of strings

The IDs of the instances.

Result Syntax

[
    'StoppingInstances' => [
        [
            'CurrentState' => [
                'Code' => <integer>,
                'Name' => 'pending|running|shutting-down|terminated|stopping|stopped',
            ],
            'InstanceId' => '<string>',
            'PreviousState' => [
                'Code' => <integer>,
                'Name' => 'pending|running|shutting-down|terminated|stopping|stopped',
            ],
        ],
        // ...
    ],
]

Result Details

Members
StoppingInstances
Type: Array of InstanceStateChange structures

Information about the stopped instances.

Errors

There are no errors described for this operation.

Examples

Example 1: To stop a running EC2 instance

This example stops the specified EC2 instance.

$result = $client->stopInstances([
    'InstanceIds' => [
        'i-1234567890abcdef0',
    ],
]);

Result syntax:

[
    'StoppingInstances' => [
        [
            'CurrentState' => [
                'Code' => 64,
                'Name' => 'stopping',
            ],
            'InstanceId' => 'i-1234567890abcdef0',
            'PreviousState' => [
                'Code' => 16,
                'Name' => 'running',
            ],
        ],
    ],
]

TerminateClientVpnConnections

$result = $client->terminateClientVpnConnections([/* ... */]);
$promise = $client->terminateClientVpnConnectionsAsync([/* ... */]);

Terminates active Client VPN endpoint connections. This action can be used to terminate a specific client connection, or up to five connections established by a specific user.

Parameter Syntax

$result = $client->terminateClientVpnConnections([
    'ClientVpnEndpointId' => '<string>', // REQUIRED
    'ConnectionId' => '<string>',
    'DryRun' => true || false,
    'Username' => '<string>',
]);

Parameter Details

Members
ClientVpnEndpointId
Required: Yes
Type: string

The ID of the Client VPN endpoint to which the client is connected.

ConnectionId
Type: string

The ID of the client connection to be terminated.

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.

Username
Type: string

The name of the user who initiated the connection. Use this option to terminate all active connections for the specified user. This option can only be used if the user has established up to five connections.

Result Syntax

[
    'ClientVpnEndpointId' => '<string>',
    'ConnectionStatuses' => [
        [
            'ConnectionId' => '<string>',
            'CurrentStatus' => [
                'Code' => 'active|failed-to-terminate|terminating|terminated',
                'Message' => '<string>',
            ],
            'PreviousStatus' => [
                'Code' => 'active|failed-to-terminate|terminating|terminated',
                'Message' => '<string>',
            ],
        ],
        // ...
    ],
    'Username' => '<string>',
]

Result Details

Members
ClientVpnEndpointId
Type: string

The ID of the Client VPN endpoint.

ConnectionStatuses
Type: Array of TerminateConnectionStatus structures

The current state of the client connections.

Username
Type: string

The user who established the terminated client connections.

Errors

There are no errors described for this operation.

TerminateInstances

$result = $client->terminateInstances([/* ... */]);
$promise = $client->terminateInstancesAsync([/* ... */]);

Shuts down the specified instances. This operation is idempotent; if you terminate an instance more than once, each call succeeds.

If you specify multiple instances and the request fails (for example, because of a single incorrect instance ID), none of the instances are terminated.

If you terminate multiple instances across multiple Availability Zones, and one or more of the specified instances are enabled for termination protection, the request fails with the following results:

  • The specified instances that are in the same Availability Zone as the protected instance are not terminated.

  • The specified instances that are in different Availability Zones, where no other specified instances are protected, are successfully terminated.

For example, say you have the following instances:

  • Instance A: us-east-1a; Not protected

  • Instance B: us-east-1a; Not protected

  • Instance C: us-east-1b; Protected

  • Instance D: us-east-1b; not protected

If you attempt to terminate all of these instances in the same request, the request reports failure with the following results:

  • Instance A and Instance B are successfully terminated because none of the specified instances in us-east-1a are enabled for termination protection.

  • Instance C and Instance D fail to terminate because at least one of the specified instances in us-east-1b (Instance C) is enabled for termination protection.

Terminated instances remain visible after termination (for approximately one hour).

By default, Amazon EC2 deletes all EBS volumes that were attached when the instance launched. Volumes attached after instance launch continue running.

You can stop, start, and terminate EBS-backed instances. You can only terminate instance store-backed instances. What happens to an instance differs if you stop it or terminate it. For example, when you stop an instance, the root device and any other devices attached to the instance persist. When you terminate an instance, any attached EBS volumes with the DeleteOnTermination block device mapping parameter set to true are automatically deleted. For more information about the differences between stopping and terminating instances, see Instance lifecycle in the Amazon EC2 User Guide.

For more information about troubleshooting, see Troubleshooting terminating your instance in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->terminateInstances([
    'DryRun' => true || false,
    'InstanceIds' => ['<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.

InstanceIds
Required: Yes
Type: Array of strings

The IDs of the instances.

Constraints: Up to 1000 instance IDs. We recommend breaking up this request into smaller batches.

Result Syntax

[
    'TerminatingInstances' => [
        [
            'CurrentState' => [
                'Code' => <integer>,
                'Name' => 'pending|running|shutting-down|terminated|stopping|stopped',
            ],
            'InstanceId' => '<string>',
            'PreviousState' => [
                'Code' => <integer>,
                'Name' => 'pending|running|shutting-down|terminated|stopping|stopped',
            ],
        ],
        // ...
    ],
]

Result Details

Members
TerminatingInstances
Type: Array of InstanceStateChange structures

Information about the terminated instances.

Errors

There are no errors described for this operation.

Examples

Example 1: To terminate an EC2 instance

This example terminates the specified EC2 instance.

$result = $client->terminateInstances([
    'InstanceIds' => [
        'i-1234567890abcdef0',
    ],
]);

Result syntax:

[
    'TerminatingInstances' => [
        [
            'CurrentState' => [
                'Code' => 32,
                'Name' => 'shutting-down',
            ],
            'InstanceId' => 'i-1234567890abcdef0',
            'PreviousState' => [
                'Code' => 16,
                'Name' => 'running',
            ],
        ],
    ],
]

UnassignIpv6Addresses

$result = $client->unassignIpv6Addresses([/* ... */]);
$promise = $client->unassignIpv6AddressesAsync([/* ... */]);

Unassigns one or more IPv6 addresses IPv4 Prefix Delegation prefixes from a network interface.

Parameter Syntax

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

Parameter Details

Members
Ipv6Addresses
Type: Array of strings

The IPv6 addresses to unassign from the network interface.

Ipv6Prefixes
Type: Array of strings

The IPv6 prefixes to unassign from the network interface.

NetworkInterfaceId
Required: Yes
Type: string

The ID of the network interface.

Result Syntax

[
    'NetworkInterfaceId' => '<string>',
    'UnassignedIpv6Addresses' => ['<string>', ...],
    'UnassignedIpv6Prefixes' => ['<string>', ...],
]

Result Details

Members
NetworkInterfaceId
Type: string

The ID of the network interface.

UnassignedIpv6Addresses
Type: Array of strings

The IPv6 addresses that have been unassigned from the network interface.

UnassignedIpv6Prefixes
Type: Array of strings

The IPv4 prefixes that have been unassigned from the network interface.

Errors

There are no errors described for this operation.

UnassignPrivateIpAddresses

$result = $client->unassignPrivateIpAddresses([/* ... */]);
$promise = $client->unassignPrivateIpAddressesAsync([/* ... */]);

Unassigns one or more secondary private IP addresses, or IPv4 Prefix Delegation prefixes from a network interface.

Parameter Syntax

$result = $client->unassignPrivateIpAddresses([
    'Ipv4Prefixes' => ['<string>', ...],
    'NetworkInterfaceId' => '<string>', // REQUIRED
    'PrivateIpAddresses' => ['<string>', ...],
]);

Parameter Details

Members
Ipv4Prefixes
Type: Array of strings

The IPv4 prefixes to unassign from the network interface.

NetworkInterfaceId
Required: Yes
Type: string

The ID of the network interface.

PrivateIpAddresses
Type: Array of strings

The secondary private IP addresses to unassign from the network interface. You can specify this option multiple times to unassign more than one IP address.

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 unassign a secondary private IP address from a network interface

This example unassigns the specified private IP address from the specified network interface.

$result = $client->unassignPrivateIpAddresses([
    'NetworkInterfaceId' => 'eni-e5aa89a3',
    'PrivateIpAddresses' => [
        '10.0.0.82',
    ],
]);

UnassignPrivateNatGatewayAddress

$result = $client->unassignPrivateNatGatewayAddress([/* ... */]);
$promise = $client->unassignPrivateNatGatewayAddressAsync([/* ... */]);

Unassigns secondary private IPv4 addresses from a private NAT gateway. You cannot unassign your primary private IP. For more information, see Edit secondary IP address associations in the Amazon VPC User Guide.

While unassigning is in progress, you cannot assign/unassign additional IP addresses while the connections are being drained. You are, however, allowed to delete the NAT gateway.

A private IP address will only be released at the end of MaxDrainDurationSeconds. The private IP addresses stay associated and support the existing connections, but do not support any new connections (new connections are distributed across the remaining assigned private IP address). After the existing connections drain out, the private IP addresses are released.

Parameter Syntax

$result = $client->unassignPrivateNatGatewayAddress([
    'DryRun' => true || false,
    'MaxDrainDurationSeconds' => <integer>,
    'NatGatewayId' => '<string>', // REQUIRED
    'PrivateIpAddresses' => ['<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.

MaxDrainDurationSeconds
Type: int

The maximum amount of time to wait (in seconds) before forcibly releasing the IP addresses if connections are still in progress. Default value is 350 seconds.

NatGatewayId
Required: Yes
Type: string

The ID of the NAT gateway.

PrivateIpAddresses
Required: Yes
Type: Array of strings

The private IPv4 addresses you want to unassign.

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

Information about the NAT gateway IP addresses.

NatGatewayId
Type: string

The ID of the NAT gateway.

Errors

There are no errors described for this operation.

UnlockSnapshot

$result = $client->unlockSnapshot([/* ... */]);
$promise = $client->unlockSnapshotAsync([/* ... */]);

Unlocks a snapshot that is locked in governance mode or that is locked in compliance mode but still in the cooling-off period. You can't unlock a snapshot that is locked in compliance mode after the cooling-off period has expired.

Parameter Syntax

$result = $client->unlockSnapshot([
    'DryRun' => true || false,
    'SnapshotId' => '<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.

SnapshotId
Required: Yes
Type: string

The ID of the snapshot to unlock.

Result Syntax

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

Result Details

Members
SnapshotId
Type: string

The ID of the snapshot.

Errors

There are no errors described for this operation.

UnmonitorInstances

$result = $client->unmonitorInstances([/* ... */]);
$promise = $client->unmonitorInstancesAsync([/* ... */]);

Disables detailed monitoring for a running instance. For more information, see Monitoring your instances and volumes in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->unmonitorInstances([
    'DryRun' => true || false,
    'InstanceIds' => ['<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.

InstanceIds
Required: Yes
Type: Array of strings

The IDs of the instances.

Result Syntax

[
    'InstanceMonitorings' => [
        [
            'InstanceId' => '<string>',
            'Monitoring' => [
                'State' => 'disabled|disabling|enabled|pending',
            ],
        ],
        // ...
    ],
]

Result Details

Members
InstanceMonitorings
Type: Array of InstanceMonitoring structures

The monitoring information.

Errors

There are no errors described for this operation.

UpdateSecurityGroupRuleDescriptionsEgress

$result = $client->updateSecurityGroupRuleDescriptionsEgress([/* ... */]);
$promise = $client->updateSecurityGroupRuleDescriptionsEgressAsync([/* ... */]);

Updates the description of an egress (outbound) security group rule. You can replace an existing description, or add a description to a rule that did not have one previously. You can remove a description for a security group rule by omitting the description parameter in the request.

Parameter Syntax

$result = $client->updateSecurityGroupRuleDescriptionsEgress([
    'DryRun' => true || false,
    '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>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'SecurityGroupRuleDescriptions' => [
        [
            'Description' => '<string>',
            'SecurityGroupRuleId' => '<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.

GroupId
Type: string

The ID of the security group. You must specify either the security group ID or the security group name in the request. For security groups in a nondefault VPC, you must specify the security group ID.

GroupName
Type: string

[Default VPC] The name of the security group. You must specify either the security group ID or the security group name.

IpPermissions
Type: Array of IpPermission structures

The IP permissions for the security group rule. You must specify either the IP permissions or the description.

SecurityGroupRuleDescriptions
Type: Array of SecurityGroupRuleDescription structures

The description for the egress security group rules. You must specify either the description or the IP permissions.

Result Syntax

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

Result Details

Members
Return
Type: boolean

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

Errors

There are no errors described for this operation.

Examples

Example 1: To update an outbound security group rule description

This example updates the description for the specified security group rule.

$result = $client->updateSecurityGroupRuleDescriptionsEgress([
    'GroupId' => 'sg-123abc12',
    'IpPermissions' => [
        [
            'FromPort' => 80,
            'IpProtocol' => 'tcp',
            'IpRanges' => [
                [
                    'CidrIp' => '203.0.113.0/24',
                    'Description' => 'Outbound HTTP access to server 2',
                ],
            ],
            'ToPort' => 80,
        ],
    ],
]);

Result syntax:

[
]

UpdateSecurityGroupRuleDescriptionsIngress

$result = $client->updateSecurityGroupRuleDescriptionsIngress([/* ... */]);
$promise = $client->updateSecurityGroupRuleDescriptionsIngressAsync([/* ... */]);

Updates the description of an ingress (inbound) security group rule. You can replace an existing description, or add a description to a rule that did not have one previously. You can remove a description for a security group rule by omitting the description parameter in the request.

Parameter Syntax

$result = $client->updateSecurityGroupRuleDescriptionsIngress([
    'DryRun' => true || false,
    '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>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'SecurityGroupRuleDescriptions' => [
        [
            'Description' => '<string>',
            'SecurityGroupRuleId' => '<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.

GroupId
Type: string

The ID of the security group. You must specify either the security group ID or the security group name in the request. For security groups in a nondefault VPC, you must specify the security group ID.

GroupName
Type: string

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

IpPermissions
Type: Array of IpPermission structures

The IP permissions for the security group rule. You must specify either IP permissions or a description.

SecurityGroupRuleDescriptions
Type: Array of SecurityGroupRuleDescription structures

The description for the ingress security group rules. You must specify either a description or IP permissions.

Result Syntax

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

Result Details

Members
Return
Type: boolean

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

Errors

There are no errors described for this operation.

Examples

Example 1: To update an inbound security group rule description

This example updates the description for the specified security group rule.

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

Result syntax:

[
]

WithdrawByoipCidr

$result = $client->withdrawByoipCidr([/* ... */]);
$promise = $client->withdrawByoipCidrAsync([/* ... */]);

Stops advertising an address range that is provisioned as an address pool.

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

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

Parameter Syntax

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

Parameter Details

Members
Cidr
Required: Yes
Type: string

The address range, in CIDR notation.

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

[
    '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 pool.

Errors

There are no errors described for this operation.

Shapes

AcceleratorCount

Description

The minimum and maximum number of accelerators (GPUs, FPGAs, or Amazon Web Services Inferentia chips) on an instance.

Members
Max
Type: int

The maximum number of accelerators. If this parameter is not specified, there is no maximum limit.

Min
Type: int

The minimum number of accelerators. If this parameter is not specified, there is no minimum limit.

AcceleratorCountRequest

Description

The minimum and maximum number of accelerators (GPUs, FPGAs, or Amazon Web Services Inferentia chips) on an instance. To exclude accelerator-enabled instance types, set Max to 0.

Members
Max
Type: int

The maximum number of accelerators. To specify no maximum limit, omit this parameter. To exclude accelerator-enabled instance types, set Max to 0.

Min
Type: int

The minimum number of accelerators. To specify no minimum limit, omit this parameter.

AcceleratorTotalMemoryMiB

Description

The minimum and maximum amount of total accelerator memory, in MiB.

Members
Max
Type: int

The maximum amount of accelerator memory, in MiB. If this parameter is not specified, there is no maximum limit.

Min
Type: int

The minimum amount of accelerator memory, in MiB. If this parameter is not specified, there is no minimum limit.

AcceleratorTotalMemoryMiBRequest

Description

The minimum and maximum amount of total accelerator memory, in MiB.

Members
Max
Type: int

The maximum amount of accelerator memory, in MiB. To specify no maximum limit, omit this parameter.

Min
Type: int

The minimum amount of accelerator memory, in MiB. To specify no minimum limit, omit this parameter.

AccessScopeAnalysisFinding

Description

Describes a finding for a Network Access Scope.

Members
FindingComponents
Type: Array of PathComponent structures

The finding components.

FindingId
Type: string

The ID of the finding.

NetworkInsightsAccessScopeAnalysisId
Type: string

The ID of the Network Access Scope analysis.

NetworkInsightsAccessScopeId
Type: string

The ID of the Network Access Scope.

AccessScopePath

Description

Describes a path.

Members
Destination
Type: PathStatement structure

The destination.

Source
Type: PathStatement structure

The source.

ThroughResources
Type: Array of ThroughResourcesStatement structures

The through resources.

AccountAttribute

Description

Describes an account attribute.

Members
AttributeName
Type: string

The name of the account attribute.

AttributeValues
Type: Array of AccountAttributeValue structures

The values for the account attribute.

AccountAttributeValue

Description

Describes a value of an account attribute.

Members
AttributeValue
Type: string

The value of the attribute.

ActiveInstance

Description

Describes a running instance in a Spot Fleet.

Members
InstanceHealth
Type: string

The health status of the instance. If the status of either the instance status check or the system status check is impaired, the health status of the instance is unhealthy. Otherwise, the health status is healthy.

InstanceId
Type: string

The ID of the instance.

InstanceType
Type: string

The instance type.

SpotInstanceRequestId
Type: string

The ID of the Spot Instance request.

AddIpamOperatingRegion

Description

Add an operating Region to an 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.

Members
RegionName
Type: string

The name of the operating Region.

AddPrefixListEntry

Description

An entry for a prefix list.

Members
Cidr
Required: Yes
Type: string

The CIDR block.

Description
Type: string

A description for the entry.

Constraints: Up to 255 characters in length.

AddedPrincipal

Description

Describes a principal.

Members
Principal
Type: string

The Amazon Resource Name (ARN) of the principal.

PrincipalType
Type: string

The type of principal.

ServiceId
Type: string

The ID of the service.

ServicePermissionId
Type: string

The ID of the service permission.

AdditionalDetail

Description

Describes an additional detail for a path analysis. For more information, see Reachability Analyzer additional detail codes.

Members
AdditionalDetailType
Type: string

The additional detail code.

Component
Type: AnalysisComponent structure

The path component.

LoadBalancers
Type: Array of AnalysisComponent structures

The load balancers.

RuleGroupRuleOptionsPairs
Type: Array of RuleGroupRuleOptionsPair structures

The rule options.

RuleGroupTypePairs
Type: Array of RuleGroupTypePair structures

The rule group type.

RuleOptions
Type: Array of RuleOption structures

The rule options.

ServiceName
Type: string

The name of the VPC endpoint service.

VpcEndpointService
Type: AnalysisComponent structure

The VPC endpoint service.

Address

Description

Describes an Elastic IP address, or a carrier IP address.

Members
AllocationId
Type: string

The ID representing the allocation of the address.

AssociationId
Type: string

The ID representing the association of the address with an instance.

CarrierIp
Type: string

The carrier IP address associated. This option is only available for network interfaces which reside in a subnet in a Wavelength Zone (for example an EC2 instance).

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).

InstanceId
Type: string

The ID of the instance that the address is associated with (if any).

NetworkBorderGroup
Type: string

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

NetworkInterfaceId
Type: string

The ID of the network interface.

NetworkInterfaceOwnerId
Type: string

The ID of the Amazon Web Services account that owns the network interface.

PrivateIpAddress
Type: string

The private IP address associated with the Elastic IP address.

PublicIp
Type: string

The Elastic IP address.

PublicIpv4Pool
Type: string

The ID of an address pool.

Tags
Type: Array of Tag structures

Any tags assigned to the Elastic IP address.

AddressAttribute

Description

The attributes associated with an Elastic IP address.

Members
AllocationId
Type: string

[EC2-VPC] The allocation ID.

PtrRecord
Type: string

The pointer (PTR) record for the IP address.

PtrRecordUpdate
Type: PtrUpdateStatus structure

The updated PTR record for the IP address.

PublicIp
Type: string

The public IP address.

AddressTransfer

Description

Details on the Elastic IP address transfer. For more information, see Transfer Elastic IP addresses in the Amazon VPC User Guide.

Members
AddressTransferStatus
Type: string

The Elastic IP address transfer status.

AllocationId
Type: string

The allocation ID of an Elastic IP address.

PublicIp
Type: string

The Elastic IP address being transferred.

TransferAccountId
Type: string

The ID of the account that you want to transfer the Elastic IP address to.

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

The timestamp when the Elastic IP address transfer was accepted.

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

The timestamp when the Elastic IP address transfer expired. When the source account starts the transfer, the transfer account has seven hours to allocate the Elastic IP address to complete the transfer, or the Elastic IP address will return to its original owner.

AllowedPrincipal

Description

Describes a principal.

Members
Principal
Type: string

The Amazon Resource Name (ARN) of the principal.

PrincipalType
Type: string

The type of principal.

ServiceId
Type: string

The ID of the service.

ServicePermissionId
Type: string

The ID of the service permission.

Tags
Type: Array of Tag structures

The tags.

AlternatePathHint

Description

Describes an potential intermediate component of a feasible path.

Members
ComponentArn
Type: string

The Amazon Resource Name (ARN) of the component.

ComponentId
Type: string

The ID of the component.

AnalysisAclRule

Description

Describes a network access control (ACL) rule.

Members
Cidr
Type: string

The IPv4 address range, in CIDR notation.

Egress
Type: boolean

Indicates whether the rule is an outbound rule.

PortRange
Type: PortRange structure

The range of ports.

Protocol
Type: string

The protocol.

RuleAction
Type: string

Indicates whether to allow or deny traffic that matches the rule.

RuleNumber
Type: int

The rule number.

AnalysisComponent

Description

Describes a path component.

Members
Arn
Type: string

The Amazon Resource Name (ARN) of the component.

Id
Type: string

The ID of the component.

Name
Type: string

The name of the analysis component.

AnalysisLoadBalancerListener

Description

Describes a load balancer listener.

Members
InstancePort
Type: int

[Classic Load Balancers] The back-end port for the listener.

LoadBalancerPort
Type: int

The port on which the load balancer is listening.

AnalysisLoadBalancerTarget

Description

Describes a load balancer target.

Members
Address
Type: string

The IP address.

AvailabilityZone
Type: string

The Availability Zone.

Instance
Type: AnalysisComponent structure

Information about the instance.

Port
Type: int

The port on which the target is listening.

AnalysisPacketHeader

Description

Describes a header. Reflects any changes made by a component as traffic passes through. The fields of an inbound header are null except for the first component of a path.

Members
DestinationAddresses
Type: Array of strings

The destination addresses.

DestinationPortRanges
Type: Array of PortRange structures

The destination port ranges.

Protocol
Type: string

The protocol.

SourceAddresses
Type: Array of strings

The source addresses.

SourcePortRanges
Type: Array of PortRange structures

The source port ranges.

AnalysisRouteTableRoute

Description

Describes a route table route.

Members
CarrierGatewayId
Type: string

The ID of a carrier gateway.

CoreNetworkArn
Type: string

The Amazon Resource Name (ARN) of a core network.

DestinationCidr
Type: string

The destination IPv4 address, in CIDR notation.

DestinationPrefixListId
Type: string

The prefix of the Amazon Web Services service.

EgressOnlyInternetGatewayId
Type: string

The ID of an egress-only internet gateway.

GatewayId
Type: string

The ID of the gateway, such as an internet gateway or virtual private gateway.

InstanceId
Type: string

The ID of the instance, such as a NAT instance.

LocalGatewayId
Type: string

The ID of a local gateway.

NatGatewayId
Type: string

The ID of a NAT gateway.

NetworkInterfaceId
Type: string

The ID of a network interface.

Origin
Type: string

Describes how the route was created. The following are the possible values:

  • CreateRouteTable - The route was automatically created when the route table was created.

  • CreateRoute - The route was manually added to the route table.

  • EnableVgwRoutePropagation - The route was propagated by route propagation.

State
Type: string

The state. The following are the possible values:

  • active

  • blackhole

TransitGatewayId
Type: string

The ID of a transit gateway.

VpcPeeringConnectionId
Type: string

The ID of a VPC peering connection.

AnalysisSecurityGroupRule

Description

Describes a security group rule.

Members
Cidr
Type: string

The IPv4 address range, in CIDR notation.

Direction
Type: string

The direction. The following are the possible values:

  • egress

  • ingress

PortRange
Type: PortRange structure

The port range.

PrefixListId
Type: string

The prefix list ID.

Protocol
Type: string

The protocol name.

SecurityGroupId
Type: string

The security group ID.

AsnAssociation

Description

An Autonomous System Number (ASN) and BYOIP CIDR association.

Members
Asn
Type: string

The association's ASN.

Cidr
Type: string

The association's CIDR.

State
Type: string

The association's state.

StatusMessage
Type: string

The association's status message.

AsnAuthorizationContext

Description

Provides authorization for Amazon to bring an Autonomous System Number (ASN) to a specific Amazon Web Services account using bring your own ASN (BYOASN). For details on the format of the message and signature, see Tutorial: Bring your ASN to IPAM in the Amazon VPC IPAM guide.

Members
Message
Required: Yes
Type: string

The authorization context's message.

Signature
Required: Yes
Type: string

The authorization context's signature.

AssignedPrivateIpAddress

Description

Describes the private IP addresses assigned to a network interface.

Members
PrivateIpAddress
Type: string

The private IP address assigned to the network interface.

AssociatedRole

Description

Information about the associated IAM roles.

Members
AssociatedRoleArn
Type: string

The ARN of the associated IAM role.

CertificateS3BucketName
Type: string

The name of the Amazon S3 bucket in which the Amazon S3 object is stored.

CertificateS3ObjectKey
Type: string

The key of the Amazon S3 object 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.

AssociatedTargetNetwork

Description

Describes a target network that is associated with a Client VPN endpoint. A target network is a subnet in a VPC.

Members
NetworkId
Type: string

The ID of the subnet.

NetworkType
Type: string

The target network type.

AssociationStatus

Description

Describes the state of a target network association.

Members
Code
Type: string

The state of the target network association.

Message
Type: string

A message about the status of the target network association, if applicable.

AthenaIntegration

Description

Describes integration options for Amazon Athena.

Members
IntegrationResultS3DestinationArn
Required: Yes
Type: string

The location in Amazon S3 to store the generated CloudFormation template.

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

The end date for the partition.

PartitionLoadFrequency
Required: Yes
Type: string

The schedule for adding new partitions to the table.

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

The start date for the partition.

AttachmentEnaSrdSpecification

Description

ENA Express uses Amazon Web Services Scalable Reliable Datagram (SRD) technology to increase the maximum bandwidth used per stream and minimize tail latency of network traffic between EC2 instances. With ENA Express, you can communicate between two EC2 instances in the same subnet within the same account, or in different accounts. Both sending and receiving instances must have ENA Express enabled.

To improve the reliability of network packet delivery, ENA Express reorders network packets on the receiving end by default. However, some UDP-based applications are designed to handle network packets that are out of order to reduce the overhead for packet delivery at the network layer. When ENA Express is enabled, you can specify whether UDP network traffic uses it.

Members
EnaSrdEnabled
Type: boolean

Indicates whether ENA Express is enabled for the network interface.

EnaSrdUdpSpecification

Configures ENA Express for UDP network traffic.

AttachmentEnaSrdUdpSpecification

Description

ENA Express is compatible with both TCP and UDP transport protocols. When it's enabled, TCP traffic automatically uses it. However, some UDP-based applications are designed to handle network packets that are out of order, without a need for retransmission, such as live video broadcasting or other near-real-time applications. For UDP traffic, you can specify whether to use ENA Express, based on your application environment needs.

Members
EnaSrdUdpEnabled
Type: boolean

Indicates whether UDP traffic to and from the instance uses ENA Express. To specify this setting, you must first enable ENA Express.

AttributeBooleanValue

Description

Describes a value for a resource attribute that is a Boolean value.

Members
Value
Type: boolean

The attribute value. The valid values are true or false.

AttributeValue

Description

Describes a value for a resource attribute that is a String.

Members
Value
Type: string

The attribute value. The value is case-sensitive.

AuthorizationRule

Description

Information about an authorization rule.

Members
AccessAll
Type: boolean

Indicates whether the authorization rule grants access to all clients.

ClientVpnEndpointId
Type: string

The ID of the Client VPN endpoint with which the authorization rule is associated.

Description
Type: string

A brief description of the authorization rule.

DestinationCidr
Type: string

The IPv4 address range, in CIDR notation, of the network to which the authorization rule applies.

GroupId
Type: string

The ID of the Active Directory group to which the authorization rule grants access.

Status

The current state of the authorization rule.

AvailabilityZone

Description

Describes Availability Zones, Local Zones, and Wavelength Zones.

Members
GroupName
Type: string

For Availability Zones, this parameter has the same value as the Region name.

For Local Zones, the name of the associated group, for example us-west-2-lax-1.

For Wavelength Zones, the name of the associated group, for example us-east-1-wl1-bos-wlz-1.

Messages
Type: Array of AvailabilityZoneMessage structures

Any messages about the Availability Zone, Local Zone, or Wavelength Zone.

NetworkBorderGroup
Type: string

The name of the network border group.

OptInStatus
Type: string

For Availability Zones, this parameter always has the value of opt-in-not-required.

For Local Zones and Wavelength Zones, this parameter is the opt-in status. The possible values are opted-in, and not-opted-in.

ParentZoneId
Type: string

The ID of the zone that handles some of the Local Zone or Wavelength Zone control plane operations, such as API calls.

ParentZoneName
Type: string

The name of the zone that handles some of the Local Zone or Wavelength Zone control plane operations, such as API calls.

RegionName
Type: string

The name of the Region.

State
Type: string

The state of the Availability Zone, Local Zone, or Wavelength Zone. This value is always available.

ZoneId
Type: string

The ID of the Availability Zone, Local Zone, or Wavelength Zone.

ZoneName
Type: string

The name of the Availability Zone, Local Zone, or Wavelength Zone.

ZoneType
Type: string

The type of zone. The valid values are availability-zone, local-zone, and wavelength-zone.

AvailabilityZoneMessage

Description

Describes a message about an Availability Zone, Local Zone, or Wavelength Zone.

Members
Message
Type: string

The message about the Availability Zone, Local Zone, or Wavelength Zone.

AvailableCapacity

Description

The capacity information for instances that can be launched onto the Dedicated Host.

Members
AvailableInstanceCapacity
Type: Array of InstanceCapacity structures

The number of instances that can be launched onto the Dedicated Host depending on the host's available capacity. For Dedicated Hosts that support multiple instance types, this parameter represents the number of instances for each instance size that is supported on the host.

AvailableVCpus
Type: int

The number of vCPUs available for launching instances onto the Dedicated Host.

BaselineEbsBandwidthMbps

Description

The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see Amazon EBS–optimized instances in the Amazon EC2 User Guide.

Members
Max
Type: int

The maximum baseline bandwidth, in Mbps. If this parameter is not specified, there is no maximum limit.

Min
Type: int

The minimum baseline bandwidth, in Mbps. If this parameter is not specified, there is no minimum limit.

BaselineEbsBandwidthMbpsRequest

Description

The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see Amazon EBS–optimized instances in the Amazon EC2 User Guide.

Members
Max
Type: int

The maximum baseline bandwidth, in Mbps. To specify no maximum limit, omit this parameter.

Min
Type: int

The minimum baseline bandwidth, in Mbps. To specify no minimum limit, omit this parameter.

BlobAttributeValue

Members
Value
Type: blob (string|resource|Psr\Http\Message\StreamInterface)

BlockDeviceMapping

Description

Describes a block device mapping, which defines the EBS volumes and instance store volumes to attach to an instance at launch.

Members
DeviceName
Type: string

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

Ebs
Type: EbsBlockDevice structure

Parameters used to automatically set up EBS volumes when the instance is launched.

NoDevice
Type: string

To omit the device from the block device mapping, specify an empty string. When this property is specified, the device is removed from the block device mapping regardless of the assigned value.

VirtualName
Type: string

The virtual device name (ephemeralN). Instance store volumes are numbered starting from 0. An instance type with 2 available instance store volumes can specify mappings for ephemeral0 and ephemeral1. The number of available instance store volumes depends on the instance type. After you connect to the instance, you must mount the volume.

NVMe instance store volumes are automatically enumerated and assigned a device name. Including them in your block device mapping has no effect.

Constraints: For M3 instances, you must specify instance store volumes in the block device mapping for the instance. When you launch an M3 instance, we ignore any instance store volumes specified in the block device mapping for the AMI.

BundleTask

Description

Describes a bundle task.

Members
BundleId
Type: string

The ID of the bundle task.

BundleTaskError
Type: BundleTaskError structure

If the task fails, a description of the error.

InstanceId
Type: string

The ID of the instance associated with this bundle task.

Progress
Type: string

The level of task completion, as a percent (for example, 20%).

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

The time this task started.

State
Type: string

The state of the task.

Storage
Type: Storage structure

The Amazon S3 storage locations.

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

The time of the most recent update for the task.

BundleTaskError

Description

Describes an error for BundleInstance.

Members
Code
Type: string

The error code.

Message
Type: string

The error message.

Byoasn

Description

The Autonomous System Number (ASN) and BYOIP CIDR association.

Members
Asn
Type: string

A public 2-byte or 4-byte ASN.

IpamId
Type: string

An IPAM ID.

State
Type: string

The provisioning state of the BYOASN.

StatusMessage
Type: string

The status message.

ByoipCidr

Description

Information about an address range that is provisioned for use with your Amazon Web Services resources through bring your own IP addresses (BYOIP).

Members
AsnAssociations
Type: Array of AsnAssociation structures

The BYOIP CIDR associations with ASNs.

Cidr
Type: string

The address range, in CIDR notation.

Description
Type: string

The description of the address range.

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.

State
Type: string

The state of the address range.

  • advertised: The address range is being advertised to the internet by Amazon Web Services.

  • deprovisioned: The address range is deprovisioned.

  • failed-deprovision: The request to deprovision the address range was unsuccessful. Ensure that all EIPs from the range have been deallocated and try again.

  • failed-provision: The request to provision the address range was unsuccessful.

  • pending-deprovision: You’ve submitted a request to deprovision an address range and it's pending.

  • pending-provision: You’ve submitted a request to provision an address range and it's pending.

  • provisioned: The address range is provisioned and can be advertised. The range is not currently advertised.

  • provisioned-not-publicly-advertisable: The address range is provisioned and cannot be advertised.

StatusMessage
Type: string

Upon success, contains the ID of the address pool. Otherwise, contains an error message.

CancelCapacityReservationFleetError

Description

Describes a Capacity Reservation Fleet cancellation error.

Members
Code
Type: string

The error code.

Message
Type: string

The error message.

CancelSpotFleetRequestsError

Description

Describes a Spot Fleet error.

Members
Code
Type: string

The error code.

Message
Type: string

The description for the error code.

CancelSpotFleetRequestsErrorItem

Description

Describes a Spot Fleet request that was not successfully canceled.

Members
Error

The error.

SpotFleetRequestId
Type: string

The ID of the Spot Fleet request.

CancelSpotFleetRequestsSuccessItem

Description

Describes a Spot Fleet request that was successfully canceled.

Members
CurrentSpotFleetRequestState
Type: string

The current state of the Spot Fleet request.

PreviousSpotFleetRequestState
Type: string

The previous state of the Spot Fleet request.

SpotFleetRequestId
Type: string

The ID of the Spot Fleet request.

CancelledSpotInstanceRequest

Description

Describes a request to cancel a Spot Instance.

Members
SpotInstanceRequestId
Type: string

The ID of the Spot Instance request.

State
Type: string

The state of the Spot Instance request.

CapacityAllocation

Description

Information about instance capacity usage for a Capacity Reservation.

Members
AllocationType
Type: string

The usage type. used indicates that the instance capacity is in use by instances that are running in the Capacity Reservation.

Count
Type: int

The amount of instance capacity associated with the usage. For example a value of 4 indicates that instance capacity for 4 instances is currently in use.

CapacityBlockOffering

Description

The recommended Capacity Block that fits your search requirements.

Members
AvailabilityZone
Type: string

The Availability Zone of the Capacity Block offering.

CapacityBlockDurationHours
Type: int

The amount of time of the Capacity Block reservation in hours.

CapacityBlockOfferingId
Type: string

The ID of the Capacity Block offering.

CurrencyCode
Type: string

The currency of the payment for the Capacity Block.

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

The end date of the Capacity Block offering.

InstanceCount
Type: int

The number of instances in the Capacity Block offering.

InstanceType
Type: string

The instance type of the Capacity Block offering.

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

The start date of the Capacity Block offering.

Tenancy
Type: string

The tenancy of the Capacity Block.

UpfrontFee
Type: string

The total price to be paid up front.

CapacityReservation

Description

Describes a Capacity Reservation.

Members
AvailabilityZone
Type: string

The Availability Zone in which the capacity is reserved.

AvailabilityZoneId
Type: string

The Availability Zone ID of the Capacity Reservation.

AvailableInstanceCount
Type: int

The remaining capacity. Indicates the number of instances that can be launched in the Capacity Reservation.

CapacityAllocations
Type: Array of CapacityAllocation structures

Information about instance capacity usage.

CapacityReservationArn
Type: string

The Amazon Resource Name (ARN) of the Capacity Reservation.

CapacityReservationFleetId
Type: string

The ID of the Capacity Reservation Fleet to which the Capacity Reservation belongs. Only valid for Capacity Reservations that were created by a Capacity Reservation Fleet.

CapacityReservationId
Type: string

The ID of the Capacity Reservation.

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

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

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.

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.

  • limited - The Capacity Reservation expires automatically at a specified date and time.

EphemeralStorage
Type: boolean

Deprecated.

InstanceMatchCriteria
Type: string

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

  • open - The Capacity Reservation accepts all instances that have matching attributes (instance type, platform, and Availability Zone). Instances that have matching attributes launch into 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.

InstancePlatform
Type: string

The type of operating system for which the Capacity Reservation reserves capacity.

InstanceType
Type: string

The type of instance for which the Capacity Reservation reserves capacity.

OutpostArn
Type: string

The Amazon Resource Name (ARN) of the Outpost on which the Capacity Reservation was created.

OwnerId
Type: string

The ID of the Amazon Web Services account that owns the Capacity Reservation.

PlacementGroupArn
Type: string

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

ReservationType
Type: string

The type of Capacity Reservation.

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

The date and time at which the Capacity Reservation was started.

State
Type: string

The current state of the Capacity Reservation. A Capacity Reservation can be in one of the following states:

  • active - The Capacity Reservation is active and the capacity is available for your use.

  • expired - The Capacity Reservation expired automatically at the date and time specified in your request. The reserved capacity is no longer available for your use.

  • cancelled - The Capacity Reservation was cancelled. The reserved capacity is no longer available for your use.

  • pending - The Capacity Reservation request was successful but the capacity provisioning is still pending.

  • failed - The Capacity Reservation request has failed. A request might fail due to invalid request parameters, capacity constraints, or instance limit constraints. Failed requests are retained for 60 minutes.

Tags
Type: Array of Tag structures

Any tags assigned to the Capacity Reservation.

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.

TotalInstanceCount
Type: int

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

UnusedReservationBillingOwnerId
Type: string

The ID of the Amazon Web Services account to which billing of the unused capacity of the Capacity Reservation is assigned.

CapacityReservationBillingRequest

Description

Information about a request to assign billing of the unused capacity of a Capacity Reservation.

Members
CapacityReservationId
Type: string

The ID of the Capacity Reservation.

CapacityReservationInfo
Type: CapacityReservationInfo structure

Information about the Capacity Reservation.

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

The date and time, in UTC time format, at which the request was initiated.

RequestedBy
Type: string

The ID of the Amazon Web Services account that initiated the request.

Status
Type: string

The status of the request. For more information, see View billing assignment requests for a shared Amazon EC2 Capacity Reservation.

StatusMessage
Type: string

Information about the status.

UnusedReservationBillingOwnerId
Type: string

The ID of the Amazon Web Services account to which the request was sent.

CapacityReservationFleet

Description

Information about a Capacity Reservation Fleet.

Members
AllocationStrategy
Type: string

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

CapacityReservationFleetArn
Type: string

The ARN of 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.

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
Type: Array of FleetCapacityReservation structures

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

State
Type: string

The state of the Capacity Reservation Fleet. Possible states include:

  • submitted - The Capacity Reservation Fleet request has been submitted and Amazon Elastic Compute Cloud is preparing to create the Capacity Reservations.

  • modifying - The Capacity Reservation Fleet is being modified. The Fleet remains in this state until the modification is complete.

  • active - The Capacity Reservation Fleet has fulfilled its total target capacity and it is attempting to maintain this capacity. The Fleet remains in this state until it is modified or deleted.

  • partially_fulfilled - The Capacity Reservation Fleet has partially fulfilled its total target capacity. There is insufficient Amazon EC2 to fulfill the total target capacity. The Fleet is attempting to asynchronously fulfill its total target capacity.

  • expiring - The Capacity Reservation Fleet has reach its end date and it is in the process of expiring. One or more of its Capacity reservations might still be active.

  • expired - The Capacity Reservation Fleet has reach its end date. The Fleet and its Capacity Reservations are expired. The Fleet can't create new Capacity Reservations.

  • cancelling - The Capacity Reservation Fleet is in the process of being cancelled. One or more of its Capacity reservations might still be active.

  • cancelled - The Capacity Reservation Fleet has been manually cancelled. The Fleet and its Capacity Reservations are cancelled and the Fleet can't create new Capacity Reservations.

  • failed - The Capacity Reservation Fleet failed to reserve capacity for the specified instance types.

Tags
Type: Array of Tag structures

The tags assigned to the Capacity Reservation Fleet.

Tenancy
Type: string

The tenancy of the Capacity Reservation Fleet. Tenancies include:

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

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

TotalFulfilledCapacity
Type: double

The capacity units that have been fulfilled.

TotalTargetCapacity
Type: int

The total number of capacity units for which the Capacity Reservation Fleet reserves capacity. For more information, see Total target capacity in the Amazon EC2 User Guide.

CapacityReservationFleetCancellationState

Description

Describes a Capacity Reservation Fleet that was successfully cancelled.

Members
CapacityReservationFleetId
Type: string

The ID of the Capacity Reservation Fleet that was successfully cancelled.

CurrentFleetState
Type: string

The current state of the Capacity Reservation Fleet.

PreviousFleetState
Type: string

The previous state of the Capacity Reservation Fleet.

CapacityReservationGroup

Description

Describes a resource group to which a Capacity Reservation has been added.

Members
GroupArn
Type: string

The ARN of the resource group.

OwnerId
Type: string

The ID of the Amazon Web Services account that owns the resource group.

CapacityReservationInfo

Description

Information about a Capacity Reservation.

Members
AvailabilityZone
Type: string

The Availability Zone for the Capacity Reservation.

InstanceType
Type: string

The instance type for the Capacity Reservation.

Tenancy
Type: string

The tenancy of the Capacity Reservation.

CapacityReservationOptions

Description

Describes the strategy for using unused Capacity Reservations for fulfilling On-Demand capacity.

This strategy can only be used if the EC2 Fleet is of type instant.

For more information about Capacity Reservations, see On-Demand Capacity Reservations in the Amazon EC2 User Guide. For examples of using Capacity Reservations in an EC2 Fleet, see EC2 Fleet example configurations in the Amazon EC2 User Guide.

Members
UsageStrategy
Type: string

Indicates whether to use unused Capacity Reservations for fulfilling On-Demand capacity.

If you specify use-capacity-reservations-first, the fleet uses unused Capacity Reservations to fulfill On-Demand capacity up to the target On-Demand capacity. If multiple instance pools have unused Capacity Reservations, the On-Demand allocation strategy (lowest-price or prioritized) is applied. If the number of unused Capacity Reservations is less than the On-Demand target capacity, the remaining On-Demand target capacity is launched according to the On-Demand allocation strategy (lowest-price or prioritized).

If you do not specify a value, the fleet fulfils the On-Demand capacity according to the chosen On-Demand allocation strategy.

CapacityReservationOptionsRequest

Description

Describes the strategy for using unused Capacity Reservations for fulfilling On-Demand capacity.

This strategy can only be used if the EC2 Fleet is of type instant.

For more information about Capacity Reservations, see On-Demand Capacity Reservations in the Amazon EC2 User Guide. For examples of using Capacity Reservations in an EC2 Fleet, see EC2 Fleet example configurations in the Amazon EC2 User Guide.

Members
UsageStrategy
Type: string

Indicates whether to use unused Capacity Reservations for fulfilling On-Demand capacity.

If you specify use-capacity-reservations-first, the fleet uses unused Capacity Reservations to fulfill On-Demand capacity up to the target On-Demand capacity. If multiple instance pools have unused Capacity Reservations, the On-Demand allocation strategy (lowest-price or prioritized) is applied. If the number of unused Capacity Reservations is less than the On-Demand target capacity, the remaining On-Demand target capacity is launched according to the On-Demand allocation strategy (lowest-price or prioritized).

If you do not specify a value, the fleet fulfils the On-Demand capacity according to the chosen On-Demand allocation strategy.

CapacityReservationSpecification

Description

Describes an instance's Capacity Reservation targeting option. You can specify only one parameter at a time. If you specify CapacityReservationPreference and CapacityReservationTarget, the request fails.

Use the CapacityReservationPreference parameter to configure the instance to run as an On-Demand Instance or to run in any open Capacity Reservation that has matching attributes (instance type, platform, Availability Zone). Use the CapacityReservationTarget parameter to explicitly target a specific Capacity Reservation or a Capacity Reservation group.

Members
CapacityReservationPreference
Type: string

Indicates the instance's Capacity Reservation preferences. Possible preferences include:

  • open - The instance can run in any open Capacity Reservation that has matching attributes (instance type, platform, Availability Zone).

  • none - The instance avoids running in a Capacity Reservation even if one is available. The instance runs as an On-Demand Instance.

CapacityReservationTarget
Type: CapacityReservationTarget structure

Information about the target Capacity Reservation or Capacity Reservation group.

CapacityReservationSpecificationResponse

Description

Describes the instance's Capacity Reservation targeting preferences. The action returns the capacityReservationPreference response element if the instance is configured to run in On-Demand capacity, or if it is configured in run in any open Capacity Reservation that has matching attributes (instance type, platform, Availability Zone). The action returns the capacityReservationTarget response element if the instance explicily targets a specific Capacity Reservation or Capacity Reservation group.

Members
CapacityReservationPreference
Type: string

Describes the instance's Capacity Reservation preferences. Possible preferences include:

  • open - The instance can run in any open Capacity Reservation that has matching attributes (instance type, platform, Availability Zone).

  • none - The instance avoids running in a Capacity Reservation even if one is available. The instance runs in On-Demand capacity.

CapacityReservationTarget

Information about the targeted Capacity Reservation or Capacity Reservation group.

CapacityReservationTarget

Description

Describes a target Capacity Reservation or Capacity Reservation group.

Members
CapacityReservationId
Type: string

The ID of the Capacity Reservation in which to run the instance.

CapacityReservationResourceGroupArn
Type: string

The ARN of the Capacity Reservation resource group in which to run the instance.

CapacityReservationTargetResponse

Description

Describes a target Capacity Reservation or Capacity Reservation group.

Members
CapacityReservationId
Type: string

The ID of the targeted Capacity Reservation.

CapacityReservationResourceGroupArn
Type: string

The ARN of the targeted Capacity Reservation group.

CarrierGateway

Description

Describes a carrier gateway.

Members
CarrierGatewayId
Type: string

The ID of the carrier gateway.

OwnerId
Type: string

The Amazon Web Services account ID of the owner of the carrier gateway.

State
Type: string

The state of the carrier gateway.

Tags
Type: Array of Tag structures

The tags assigned to the carrier gateway.

VpcId
Type: string

The ID of the VPC associated with the carrier gateway.

CertificateAuthentication

Description

Information about the client certificate used for authentication.

Members
ClientRootCertificateChain
Type: string

The ARN of the client certificate.

CertificateAuthenticationRequest

Description

Information about the client certificate to be used for authentication.

Members
ClientRootCertificateChainArn
Type: string

The ARN of the client certificate. The certificate must be signed by a certificate authority (CA) and it must be provisioned in Certificate Manager (ACM).

CidrAuthorizationContext

Description

Provides authorization for Amazon to bring a specific IP address range to a specific Amazon Web Services account using bring your own IP addresses (BYOIP). For more information, see Configuring your BYOIP address range in the Amazon EC2 User Guide.

Members
Message
Required: Yes
Type: string

The plain-text authorization message for the prefix and account.

Signature
Required: Yes
Type: string

The signed authorization message for the prefix and account.

CidrBlock

Description

Describes an IPv4 CIDR block.

Members
CidrBlock
Type: string

The IPv4 CIDR block.

ClassicLinkDnsSupport

Description

Deprecated.

Describes the ClassicLink DNS support status of a VPC.

Members
ClassicLinkDnsSupported
Type: boolean

Indicates whether ClassicLink DNS support is enabled for the VPC.

VpcId
Type: string

The ID of the VPC.

ClassicLinkInstance

Description

Deprecated.

Describes a linked EC2-Classic instance.

Members
Groups
Type: Array of GroupIdentifier structures

The security groups.

InstanceId
Type: string

The ID of the instance.

Tags
Type: Array of Tag structures

Any tags assigned to the instance.

VpcId
Type: string

The ID of the VPC.

ClassicLoadBalancer

Description

Describes a Classic Load Balancer.

Members
Name
Type: string

The name of the load balancer.

ClassicLoadBalancersConfig

Description

Describes the Classic Load Balancers to attach to a Spot Fleet. Spot Fleet registers the running Spot Instances with these Classic Load Balancers.

Members
ClassicLoadBalancers
Type: Array of ClassicLoadBalancer structures

One or more Classic Load Balancers.

ClientCertificateRevocationListStatus

Description

Describes the state of a client certificate revocation list.

Members
Code
Type: string

The state of the client certificate revocation list.

Message
Type: string

A message about the status of the client certificate revocation list, if applicable.

ClientConnectOptions

Description

The options for managing connection authorization for new client connections.

Members
Enabled
Type: boolean

Indicates whether client connect options are enabled. The default is false (not enabled).

LambdaFunctionArn
Type: string

The Amazon Resource Name (ARN) of the Lambda function used for connection authorization.

ClientConnectResponseOptions

Description

The options for managing connection authorization for new client connections.

Members
Enabled
Type: boolean

Indicates whether client connect options are enabled.

LambdaFunctionArn
Type: string

The Amazon Resource Name (ARN) of the Lambda function used for connection authorization.

Status

The status of any updates to the client connect options.

ClientData

Description

Describes the client-specific data.

Members
Comment
Type: string

A user-defined comment about the disk upload.

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

The time that the disk upload ends.

UploadSize
Type: double

The size of the uploaded disk image, in GiB.

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

The time that the disk upload starts.

ClientLoginBannerOptions

Description

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

Members
BannerText
Type: string

Customizable text that will be displayed in a banner on Amazon Web Services provided clients when a VPN session is established. UTF-8 encoded characters only. Maximum of 1400 characters.

Enabled
Type: boolean

Enable or disable a customizable text banner that will be displayed on Amazon Web Services provided clients when a VPN session is established.

Valid values: true | false

Default value: false

ClientLoginBannerResponseOptions

Description

Current state of options for customizable text banner that will be displayed on Amazon Web Services provided clients when a VPN session is established.

Members
BannerText
Type: string

Customizable text that will be displayed in a banner on Amazon Web Services provided clients when a VPN session is established. UTF-8 encoded characters only. Maximum of 1400 characters.

Enabled
Type: boolean

Current state of text banner feature.

Valid values: true | false

ClientVpnAuthentication

Description

Describes the authentication methods used by a Client VPN endpoint. For more information, see Authentication in the Client VPN Administrator Guide.

Members
ActiveDirectory

Information about the Active Directory, if applicable.

FederatedAuthentication
Type: FederatedAuthentication structure

Information about the IAM SAML identity provider, if applicable.

MutualAuthentication
Type: CertificateAuthentication structure

Information about the authentication certificates, if applicable.

Type
Type: string

The authentication type used.

ClientVpnAuthenticationRequest

Description

Describes the authentication method to be used by a Client VPN endpoint. For more information, see Authentication in the Client VPN Administrator Guide.

Members
ActiveDirectory

Information about the Active Directory to be used, if applicable. You must provide this information if Type is directory-service-authentication.

FederatedAuthentication

Information about the IAM SAML identity provider to be used, if applicable. You must provide this information if Type is federated-authentication.

MutualAuthentication

Information about the authentication certificates to be used, if applicable. You must provide this information if Type is certificate-authentication.

Type
Type: string

The type of client authentication to be used.

ClientVpnAuthorizationRuleStatus

Description

Describes the state of an authorization rule.

Members
Code
Type: string

The state of the authorization rule.

Message
Type: string

A message about the status of the authorization rule, if applicable.

ClientVpnConnection

Description

Describes a client connection.

Members
ClientIp
Type: string

The IP address of the client.

ClientVpnEndpointId
Type: string

The ID of the Client VPN endpoint to which the client is connected.

CommonName
Type: string

The common name associated with the client. This is either the name of the client certificate, or the Active Directory user name.

ConnectionEndTime
Type: string

The date and time the client connection was terminated.

ConnectionEstablishedTime
Type: string

The date and time the client connection was established.

ConnectionId
Type: string

The ID of the client connection.

EgressBytes
Type: string

The number of bytes received by the client.

EgressPackets
Type: string

The number of packets received by the client.

IngressBytes
Type: string

The number of bytes sent by the client.

IngressPackets
Type: string

The number of packets sent by the client.

PostureComplianceStatuses
Type: Array of strings

The statuses returned by the client connect handler for posture compliance, if applicable.

Status
Type: ClientVpnConnectionStatus structure

The current state of the client connection.

Timestamp
Type: string

The current date and time.

Username
Type: string

The username of the client who established the client connection. This information is only provided if Active Directory client authentication is used.

ClientVpnConnectionStatus

Description

Describes the status of a client connection.

Members
Code
Type: string

The state of the client connection.

Message
Type: string

A message about the status of the client connection, if applicable.

ClientVpnEndpoint

Description

Describes a Client VPN endpoint.

Members
AssociatedTargetNetworks
Type: Array of AssociatedTargetNetwork structures

Information about the associated target networks. A target network is a subnet in a VPC.

AuthenticationOptions
Type: Array of ClientVpnAuthentication structures

Information about the authentication method used by the Client VPN endpoint.

ClientCidrBlock
Type: string

The IPv4 address range, in CIDR notation, from which client IP addresses are assigned.

ClientConnectOptions

The options for managing connection authorization for new client connections.

ClientLoginBannerOptions

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

ClientVpnEndpointId
Type: string

The ID of the Client VPN endpoint.

ConnectionLogOptions

Information about the client connection logging options for the Client VPN endpoint.

CreationTime
Type: string

The date and time the Client VPN endpoint was created.

DeletionTime
Type: string

The date and time the Client VPN endpoint was deleted, if applicable.

Description
Type: string

A brief description of the endpoint.

DnsName
Type: string

The DNS name to be used by clients when connecting to the Client VPN endpoint.

DnsServers
Type: Array of strings

Information about the DNS servers to be used for DNS resolution.

SecurityGroupIds
Type: Array of strings

The IDs of the security groups for the target network.

SelfServicePortalUrl
Type: string

The URL of the self-service portal.

ServerCertificateArn
Type: string

The ARN of the server certificate.

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 in the Client VPN endpoint.

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

Status
Type: ClientVpnEndpointStatus structure

The current state of the Client VPN endpoint.

Tags
Type: Array of Tag structures

Any tags assigned to the Client VPN endpoint.

TransportProtocol
Type: string

The transport protocol used by the Client VPN endpoint.

VpcId
Type: string

The ID of the VPC.

VpnPort
Type: int

The port number for the Client VPN endpoint.

VpnProtocol
Type: string

The protocol used by the VPN session.

ClientVpnEndpointAttributeStatus

Description

Describes the status of the Client VPN endpoint attribute.

Members
Code
Type: string

The status code.

Message
Type: string

The status message.

ClientVpnEndpointStatus

Description

Describes the state of a Client VPN endpoint.

Members
Code
Type: string

The state of the Client VPN endpoint. Possible states include:

  • pending-associate - The Client VPN endpoint has been created but no target networks have been associated. The Client VPN endpoint cannot accept connections.

  • available - The Client VPN endpoint has been created and a target network has been associated. The Client VPN endpoint can accept connections.

  • deleting - The Client VPN endpoint is being deleted. The Client VPN endpoint cannot accept connections.

  • deleted - The Client VPN endpoint has been deleted. The Client VPN endpoint cannot accept connections.

Message
Type: string

A message about the status of the Client VPN endpoint.

ClientVpnRoute

Description

Information about a Client VPN endpoint route.

Members
ClientVpnEndpointId
Type: string

The ID of the Client VPN endpoint with which the route is associated.

Description
Type: string

A brief description of the route.

DestinationCidr
Type: string

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

Origin
Type: string

Indicates how the route was associated with the Client VPN endpoint. associate indicates that the route was automatically added when the target network was associated with the Client VPN endpoint. add-route indicates that the route was manually added using the CreateClientVpnRoute action.

Status
Type: ClientVpnRouteStatus structure

The current state of the route.

TargetSubnet
Type: string

The ID of the subnet through which traffic is routed.

Type
Type: string

The route type.

ClientVpnRouteStatus

Description

Describes the state of a Client VPN endpoint route.

Members
Code
Type: string

The state of the Client VPN endpoint route.

Message
Type: string

A message about the status of the Client VPN endpoint route, if applicable.

CloudWatchLogOptions

Description

Options for sending VPN tunnel logs to CloudWatch.

Members
LogEnabled
Type: boolean

Status of VPN tunnel logging feature. Default value is False.

Valid values: True | False

LogGroupArn
Type: string

The Amazon Resource Name (ARN) of the CloudWatch log group to send logs to.

LogOutputFormat
Type: string

Configured log format. Default format is json.

Valid values: json | text

CloudWatchLogOptionsSpecification

Description

Options for sending VPN tunnel logs to CloudWatch.

Members
LogEnabled
Type: boolean

Enable or disable VPN tunnel logging feature. Default value is False.

Valid values: True | False

LogGroupArn
Type: string

The Amazon Resource Name (ARN) of the CloudWatch log group to send logs to.

LogOutputFormat
Type: string

Set log format. Default format is json.

Valid values: json | text

CoipAddressUsage

Description

Describes address usage for a customer-owned address pool.

Members
AllocationId
Type: string

The allocation ID of the address.

AwsAccountId
Type: string

The Amazon Web Services account ID.

AwsService
Type: string

The Amazon Web Services service.

CoIp
Type: string

The customer-owned IP address.

CoipCidr

Description

Information about a customer-owned IP address range.

Members
Cidr
Type: string

An address range in a customer-owned IP address space.

CoipPoolId
Type: string

The ID of the address pool.

LocalGatewayRouteTableId
Type: string

The ID of the local gateway route table.

CoipPool

Description

Describes a customer-owned address pool.

Members
LocalGatewayRouteTableId
Type: string

The ID of the local gateway route table.

PoolArn
Type: string

The ARN of the address pool.

PoolCidrs
Type: Array of strings

The address ranges of the address pool.

PoolId
Type: string

The ID of the address pool.

Tags
Type: Array of Tag structures

The tags.

ConnectionLogOptions

Description

Describes the client connection logging options for the Client VPN endpoint.

Members
CloudwatchLogGroup
Type: string

The name of the CloudWatch Logs log group. Required if connection logging is enabled.

CloudwatchLogStream
Type: string

The name of the CloudWatch Logs log stream to which the connection data is published.

Enabled
Type: boolean

Indicates whether connection logging is enabled.

ConnectionLogResponseOptions

Description

Information about the client connection logging options for a Client VPN endpoint.

Members
CloudwatchLogGroup
Type: string

The name of the Amazon CloudWatch Logs log group to which connection logging data is published.

CloudwatchLogStream
Type: string

The name of the Amazon CloudWatch Logs log stream to which connection logging data is published.

Enabled
Type: boolean

Indicates whether client connection logging is enabled for the Client VPN endpoint.

ConnectionNotification

Description

Describes a connection notification for a VPC endpoint or VPC endpoint service.

Members
ConnectionEvents
Type: Array of strings

The events for the notification. Valid values are Accept, Connect, Delete, and Reject.

ConnectionNotificationArn
Type: string

The ARN of the SNS topic for the notification.

ConnectionNotificationId
Type: string

The ID of the notification.

ConnectionNotificationState
Type: string

The state of the notification.

ConnectionNotificationType
Type: string

The type of notification.

ServiceId
Type: string

The ID of the endpoint service.

VpcEndpointId
Type: string

The ID of the VPC endpoint.

ConnectionTrackingConfiguration

Description

A security group connection tracking configuration that enables you to set the idle timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon EC2 User Guide.

Members
TcpEstablishedTimeout
Type: int

Timeout (in seconds) for idle TCP connections in an established state. Min: 60 seconds. Max: 432000 seconds (5 days). Default: 432000 seconds. Recommended: Less than 432000 seconds.

UdpStreamTimeout
Type: int

Timeout (in seconds) for idle UDP flows classified as streams which have seen more than one request-response transaction. Min: 60 seconds. Max: 180 seconds (3 minutes). Default: 180 seconds.

UdpTimeout
Type: int

Timeout (in seconds) for idle UDP flows that have seen traffic only in a single direction or a single request-response transaction. Min: 30 seconds. Max: 60 seconds. Default: 30 seconds.

ConnectionTrackingSpecification

Description

A security group connection tracking specification that enables you to set the idle timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon EC2 User Guide.

Members
TcpEstablishedTimeout
Type: int

Timeout (in seconds) for idle TCP connections in an established state. Min: 60 seconds. Max: 432000 seconds (5 days). Default: 432000 seconds. Recommended: Less than 432000 seconds.

UdpStreamTimeout
Type: int

Timeout (in seconds) for idle UDP flows classified as streams which have seen more than one request-response transaction. Min: 60 seconds. Max: 180 seconds (3 minutes). Default: 180 seconds.

UdpTimeout
Type: int

Timeout (in seconds) for idle UDP flows that have seen traffic only in a single direction or a single request-response transaction. Min: 30 seconds. Max: 60 seconds. Default: 30 seconds.

ConnectionTrackingSpecificationRequest

Description

A security group connection tracking specification request that enables you to set the idle timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon EC2 User Guide.

Members
TcpEstablishedTimeout
Type: int

Timeout (in seconds) for idle TCP connections in an established state. Min: 60 seconds. Max: 432000 seconds (5 days). Default: 432000 seconds. Recommended: Less than 432000 seconds.

UdpStreamTimeout
Type: int

Timeout (in seconds) for idle UDP flows classified as streams which have seen more than one request-response transaction. Min: 60 seconds. Max: 180 seconds (3 minutes). Default: 180 seconds.

UdpTimeout
Type: int

Timeout (in seconds) for idle UDP flows that have seen traffic only in a single direction or a single request-response transaction. Min: 30 seconds. Max: 60 seconds. Default: 30 seconds.

ConnectionTrackingSpecificationResponse

Description

A security group connection tracking specification response that enables you to set the idle timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon EC2 User Guide.

Members
TcpEstablishedTimeout
Type: int

Timeout (in seconds) for idle TCP connections in an established state. Min: 60 seconds. Max: 432000 seconds (5 days). Default: 432000 seconds. Recommended: Less than 432000 seconds.

UdpStreamTimeout
Type: int

Timeout (in seconds) for idle UDP flows classified as streams which have seen more than one request-response transaction. Min: 60 seconds. Max: 180 seconds (3 minutes). Default: 180 seconds.

UdpTimeout
Type: int

Timeout (in seconds) for idle UDP flows that have seen traffic only in a single direction or a single request-response transaction. Min: 30 seconds. Max: 60 seconds. Default: 30 seconds.

ConversionTask

Description

Describes a conversion task.

Members
ConversionTaskId
Type: string

The ID of the conversion task.

ExpirationTime
Type: string

The time when the task expires. If the upload isn't complete before the expiration time, we automatically cancel the task.

ImportInstance
Type: ImportInstanceTaskDetails structure

If the task is for importing an instance, this contains information about the import instance task.

ImportVolume
Type: ImportVolumeTaskDetails structure

If the task is for importing a volume, this contains information about the import volume task.

State
Type: string

The state of the conversion task.

StatusMessage
Type: string

The status message related to the conversion task.

Tags
Type: Array of Tag structures

Any tags assigned to the task.

CpuOptions

Description

The CPU options for the instance.

Members
AmdSevSnp
Type: string

Indicates whether the instance is enabled for AMD SEV-SNP. For more information, see AMD SEV-SNP.

CoreCount
Type: int

The number of CPU cores for the instance.

ThreadsPerCore
Type: int

The number of threads per CPU core.

CpuOptionsRequest

Description

The CPU options for the instance. Both the core count and threads per core must be specified in the request.

Members
AmdSevSnp
Type: string

Indicates whether to enable the instance for AMD SEV-SNP. AMD SEV-SNP is supported with M6a, R6a, and C6a instance types only. For more information, see AMD SEV-SNP.

CoreCount
Type: int

The number of CPU cores for the instance.

ThreadsPerCore
Type: int

The number of threads per CPU core. To disable multithreading for the instance, specify a value of 1. Otherwise, specify the default value of 2.

CreateFleetError

Description

Describes the instances that could not be launched by the fleet.

Members
ErrorCode
Type: string

The error code that indicates why the instance could not be launched. For more information about error codes, see Error codes.

ErrorMessage
Type: string

The error message that describes why the instance could not be launched. For more information about error messages, see Error codes.

LaunchTemplateAndOverrides

The launch templates and overrides that were used for launching the instances. The values that you specify in the Overrides replace the values in the launch template.

Lifecycle
Type: string

Indicates if the instance that could not be launched was a Spot Instance or On-Demand Instance.

CreateFleetInstance

Description

Describes the instances that were launched by the fleet.

Members
InstanceIds
Type: Array of strings

The IDs of the instances.

InstanceType
Type: string

The instance type.

LaunchTemplateAndOverrides

The launch templates and overrides that were used for launching the instances. The values that you specify in the Overrides replace the values in the launch template.

Lifecycle
Type: string

Indicates if the instance that was launched is a Spot Instance or On-Demand Instance.

Platform
Type: string

The value is windows for Windows instances in an EC2 Fleet. Otherwise, the value is blank.

CreateTransitGatewayConnectRequestOptions

Description

The options for a Connect attachment.

Members
Protocol
Required: Yes
Type: string

The tunnel protocol.

CreateTransitGatewayMulticastDomainRequestOptions

Description

The options for the transit gateway multicast domain.

Members
AutoAcceptSharedAssociations
Type: string

Indicates whether to automatically accept cross-account subnet associations that are associated with the transit gateway multicast domain.

Igmpv2Support
Type: string

Specify whether to enable Internet Group Management Protocol (IGMP) version 2 for the transit gateway multicast domain.

StaticSourcesSupport
Type: string

Specify whether to enable support for statically configuring multicast group sources for a domain.

CreateTransitGatewayPeeringAttachmentRequestOptions

Description

Describes whether dynamic routing is enabled or disabled for the transit gateway peering request.

Members
DynamicRouting
Type: string

Indicates whether dynamic routing is enabled or disabled.

CreateTransitGatewayVpcAttachmentRequestOptions

Description

Describes the options for a VPC attachment.

Members
ApplianceModeSupport
Type: string

Enable or disable support for appliance mode. If enabled, a traffic flow between a source and destination uses the same Availability Zone for the VPC attachment for the lifetime of that flow. The default is disable.

DnsSupport
Type: string

Enable or disable DNS support. The default is enable.

Ipv6Support
Type: string

Enable or disable IPv6 support. The default is disable.

SecurityGroupReferencingSupport
Type: string

Enables you to reference a security group across VPCs attached to a transit gateway to simplify security group management.

This option is set to enable by default. However, at the transit gateway level the default is set to disable.

For more information about security group referencing, see Security group referencing in the Amazon Web Services Transit Gateways Guide.

CreateVerifiedAccessEndpointEniOptions

Description

Describes the network interface options when creating an Amazon Web Services Verified Access endpoint using the network-interface type.

Members
NetworkInterfaceId
Type: string

The ID of the network interface.

Port
Type: int

The IP port number.

Protocol
Type: string

The IP protocol.

CreateVerifiedAccessEndpointLoadBalancerOptions

Description

Describes the load balancer options when creating an Amazon Web Services Verified Access endpoint using the load-balancer type.

Members
LoadBalancerArn
Type: string

The ARN of the load balancer.

Port
Type: int

The IP port number.

Protocol
Type: string

The IP protocol.

SubnetIds
Type: Array of strings

The IDs of the subnets.

CreateVerifiedAccessTrustProviderDeviceOptions

Description

Describes the options when creating an Amazon Web Services Verified Access trust provider using the device type.

Members
PublicSigningKeyUrl
Type: string

The URL Amazon Web Services Verified Access will use to verify the authenticity of the device tokens.

TenantId
Type: string

The ID of the tenant application with the device-identity provider.

CreateVerifiedAccessTrustProviderOidcOptions

Description

Describes the options when creating an Amazon Web Services Verified Access trust provider using the user type.

Members
AuthorizationEndpoint
Type: string

The OIDC authorization endpoint.

ClientId
Type: string

The client identifier.

ClientSecret
Type: string

The client secret.

Issuer
Type: string

The OIDC issuer.

Scope
Type: string

OpenID Connect (OIDC) scopes are used by an application during authentication to authorize access to a user's details. Each scope returns a specific set of user attributes.

TokenEndpoint
Type: string

The OIDC token endpoint.

UserInfoEndpoint
Type: string

The OIDC user info endpoint.

CreateVolumePermission

Description

Describes the user or group to be added or removed from the list of create volume permissions for a volume.

Members
Group
Type: string

The group to be added or removed. The possible value is all.

UserId
Type: string

The ID of the Amazon Web Services account to be added or removed.

CreateVolumePermissionModifications

Description

Describes modifications to the list of create volume permissions for a volume.

Members
Add
Type: Array of CreateVolumePermission structures

Adds the specified Amazon Web Services account ID or group to the list.

Remove
Type: Array of CreateVolumePermission structures

Removes the specified Amazon Web Services account ID or group from the list.

CreditSpecification

Description

Describes the credit option for CPU usage of a T instance.

Members
CpuCredits
Type: string

The credit option for CPU usage of a T instance.

Valid values: standard | unlimited

CreditSpecificationRequest

Description

The credit option for CPU usage of a T instance.

Members
CpuCredits
Required: Yes
Type: string

The credit option for CPU usage of a T instance.

Valid values: standard | unlimited

CustomerGateway

Description

Describes a customer gateway.

Members
BgpAsn
Type: string

The customer gateway device's Border Gateway Protocol (BGP) Autonomous System Number (ASN).

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

BgpAsnExtended
Type: string

The customer gateway device's Border Gateway Protocol (BGP) Autonomous System Number (ASN).

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

CertificateArn
Type: string

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

CustomerGatewayId
Type: string

The ID of the customer gateway.

DeviceName
Type: string

The name of customer gateway device.

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.

State
Type: string

The current state of the customer gateway (pending | available | deleting | deleted).

Tags
Type: Array of Tag structures

Any tags assigned to the customer gateway.

Type
Type: string

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

DataQuery

Description

A query used for retrieving network health data.

Members
Destination
Type: string

The Region or Availability Zone that's the target for the data query. For example, eu-north-1.

Id
Type: string

A user-defined ID associated with a data query that's returned in the dataResponse identifying the query. For example, if you set the Id to MyQuery01in the query, the dataResponse identifies the query as MyQuery01.

Metric
Type: string

The metric used for the network performance request.

Period
Type: string

The aggregation period used for the data query.

Source
Type: string

The Region or Availability Zone that's the source for the data query. For example, us-east-1.

Statistic
Type: string

The metric data aggregation period, p50, between the specified startDate and endDate. For example, a metric of five_minutes is the median of all the data points gathered within those five minutes. p50 is the only supported metric.

DataResponse

Description

The response to a DataQuery.

Members
Destination
Type: string

The Region or Availability Zone that's the destination for the data query. For example, eu-west-1.

Id
Type: string

The ID passed in the DataQuery.

Metric
Type: string

The metric used for the network performance request.

MetricPoints
Type: Array of MetricPoint structures

A list of MetricPoint objects.

Period
Type: string

The period used for the network performance request.

Source
Type: string

The Region or Availability Zone that's the source for the data query. For example, us-east-1.

Statistic
Type: string

The statistic used for the network performance request.

DeleteFleetError

Description

Describes an EC2 Fleet error.

Members
Code
Type: string

The error code.

Message
Type: string

The description for the error code.

DeleteFleetErrorItem

Description

Describes an EC2 Fleet that was not successfully deleted.

Members
Error
Type: DeleteFleetError structure

The error.

FleetId
Type: string

The ID of the EC2 Fleet.

DeleteFleetSuccessItem

Description

Describes an EC2 Fleet that was successfully deleted.

Members
CurrentFleetState
Type: string

The current state of the EC2 Fleet.

FleetId
Type: string

The ID of the EC2 Fleet.

PreviousFleetState
Type: string

The previous state of the EC2 Fleet.

DeleteLaunchTemplateVersionsResponseErrorItem

Description

Describes a launch template version that could not be deleted.

Members
LaunchTemplateId
Type: string

The ID of the launch template.

LaunchTemplateName
Type: string

The name of the launch template.

ResponseError
Type: ResponseError structure

Information about the error.

VersionNumber
Type: long (int|float)

The version number of the launch template.

DeleteLaunchTemplateVersionsResponseSuccessItem

Description

Describes a launch template version that was successfully deleted.

Members
LaunchTemplateId
Type: string

The ID of the launch template.

LaunchTemplateName
Type: string

The name of the launch template.

VersionNumber
Type: long (int|float)

The version number of the launch template.

DeleteQueuedReservedInstancesError

Description

Describes the error for a Reserved Instance whose queued purchase could not be deleted.

Members
Code
Type: string

The error code.

Message
Type: string

The error message.

DeregisterInstanceTagAttributeRequest

Description

Information about the tag keys to deregister for the current Region. You can either specify individual tag keys or deregister all tag keys in the current Region. You must specify either IncludeAllTagsOfInstance or InstanceTagKeys in the request

Members
IncludeAllTagsOfInstance
Type: boolean

Indicates whether to deregister all tag keys in the current Region. Specify false to deregister all tag keys.

InstanceTagKeys
Type: Array of strings

Information about the tag keys to deregister.

DescribeFastLaunchImagesSuccessItem

Description

Describe details about a Windows image with Windows fast launch enabled that meets the requested criteria. Criteria are defined by the DescribeFastLaunchImages action filters.

Members
ImageId
Type: string

The image ID that identifies the Windows fast launch enabled image.

LaunchTemplate

The launch template that the Windows fast launch enabled AMI uses when it launches Windows instances from pre-provisioned snapshots.

MaxParallelLaunches
Type: int

The maximum number of instances that Amazon EC2 can launch at the same time to create pre-provisioned snapshots for Windows fast launch.

OwnerId
Type: string

The owner ID for the Windows fast launch enabled AMI.

ResourceType
Type: string

The resource type that Amazon EC2 uses for pre-provisioning the Windows AMI. Supported values include: snapshot.

SnapshotConfiguration

A group of parameters that are used for pre-provisioning the associated Windows AMI using snapshots.

State
Type: string

The current state of Windows fast launch for the specified Windows AMI.

StateTransitionReason
Type: string

The reason that Windows fast launch for the AMI changed to the current state.

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

The time that Windows fast launch for the AMI changed to the current state.

DescribeFastSnapshotRestoreSuccessItem

Description

Describes fast snapshot restores for a snapshot.

Members
AvailabilityZone
Type: string

The Availability Zone.

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

The time at which fast snapshot restores entered the disabled state.

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

The time at which fast snapshot restores entered the disabling state.

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

The time at which fast snapshot restores entered the enabled state.

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

The time at which fast snapshot restores entered the enabling state.

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

The time at which fast snapshot restores entered the optimizing state.

OwnerAlias
Type: string

The Amazon Web Services owner alias that enabled fast snapshot restores on the snapshot. This is intended for future use.

OwnerId
Type: string

The ID of the Amazon Web Services account that enabled fast snapshot restores on the snapshot.

SnapshotId
Type: string

The ID of the snapshot.

State
Type: string

The state of fast snapshot restores.

StateTransitionReason
Type: string

The reason for the state transition. The possible values are as follows:

  • Client.UserInitiated - The state successfully transitioned to enabling or disabling.

  • Client.UserInitiated - Lifecycle state transition - The state successfully transitioned to optimizing, enabled, or disabled.

DescribeFleetError

Description

Describes the instances that could not be launched by the fleet.

Members
ErrorCode
Type: string

The error code that indicates why the instance could not be launched. For more information about error codes, see Error codes.

ErrorMessage
Type: string

The error message that describes why the instance could not be launched. For more information about error messages, see Error codes.

LaunchTemplateAndOverrides

The launch templates and overrides that were used for launching the instances. The values that you specify in the Overrides replace the values in the launch template.

Lifecycle
Type: string

Indicates if the instance that could not be launched was a Spot Instance or On-Demand Instance.

DescribeFleetsInstances

Description

Describes the instances that were launched by the fleet.

Members
InstanceIds
Type: Array of strings

The IDs of the instances.

InstanceType
Type: string

The instance type.

LaunchTemplateAndOverrides

The launch templates and overrides that were used for launching the instances. The values that you specify in the Overrides replace the values in the launch template.

Lifecycle
Type: string

Indicates if the instance that was launched is a Spot Instance or On-Demand Instance.

Platform
Type: string

The value is windows for Windows instances in an EC2 Fleet. Otherwise, the value is blank.

DestinationOptionsRequest

Description

Describes the destination options for a flow log.

Members
FileFormat
Type: string

The format for the flow log. The default is plain-text.

HiveCompatiblePartitions
Type: boolean

Indicates whether to use Hive-compatible prefixes for flow logs stored in Amazon S3. The default is false.

PerHourPartition
Type: boolean

Indicates whether to partition the flow log per hour. This reduces the cost and response time for queries. The default is false.

DestinationOptionsResponse

Description

Describes the destination options for a flow log.

Members
FileFormat
Type: string

The format for the flow log.

HiveCompatiblePartitions
Type: boolean

Indicates whether to use Hive-compatible prefixes for flow logs stored in Amazon S3.

PerHourPartition
Type: boolean

Indicates whether to partition the flow log per hour.

DeviceOptions

Description

Describes the options for an Amazon Web Services Verified Access device-identity based trust provider.

Members
PublicSigningKeyUrl
Type: string

The URL Amazon Web Services Verified Access will use to verify the authenticity of the device tokens.

TenantId
Type: string

The ID of the tenant application with the device-identity provider.

DhcpConfiguration

Description

Describes a DHCP configuration option.

Members
Key
Type: string

The name of a DHCP option.

Values
Type: Array of AttributeValue structures

The values for the DHCP option.

DhcpOptions

Description

The set of DHCP options.

Members
DhcpConfigurations
Type: Array of DhcpConfiguration structures

The DHCP options in the set.

DhcpOptionsId
Type: string

The ID of the set of DHCP options.

OwnerId
Type: string

The ID of the Amazon Web Services account that owns the DHCP options set.

Tags
Type: Array of Tag structures

Any tags assigned to the DHCP options set.

DirectoryServiceAuthentication

Description

Describes an Active Directory.

Members
DirectoryId
Type: string

The ID of the Active Directory used for authentication.

DirectoryServiceAuthenticationRequest

Description

Describes the Active Directory to be used for client authentication.

Members
DirectoryId
Type: string

The ID of the Active Directory to be used for authentication.

DisableFastSnapshotRestoreErrorItem

Description

Contains information about the errors that occurred when disabling fast snapshot restores.

Members
FastSnapshotRestoreStateErrors
Type: Array of DisableFastSnapshotRestoreStateErrorItem structures

The errors.

SnapshotId
Type: string

The ID of the snapshot.

DisableFastSnapshotRestoreStateError

Description

Describes an error that occurred when disabling fast snapshot restores.

Members
Code
Type: string

The error code.

Message
Type: string

The error message.

DisableFastSnapshotRestoreStateErrorItem

Description

Contains information about an error that occurred when disabling fast snapshot restores.

Members
AvailabilityZone
Type: string

The Availability Zone.

Error

The error.

DisableFastSnapshotRestoreSuccessItem

Description

Describes fast snapshot restores that were successfully disabled.

Members
AvailabilityZone
Type: string

The Availability Zone.

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

The time at which fast snapshot restores entered the disabled state.

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

The time at which fast snapshot restores entered the disabling state.

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

The time at which fast snapshot restores entered the enabled state.

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

The time at which fast snapshot restores entered the enabling state.

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

The time at which fast snapshot restores entered the optimizing state.

OwnerAlias
Type: string

The Amazon Web Services owner alias that enabled fast snapshot restores on the snapshot. This is intended for future use.

OwnerId
Type: string

The ID of the Amazon Web Services account that enabled fast snapshot restores on the snapshot.

SnapshotId
Type: string

The ID of the snapshot.

State
Type: string

The state of fast snapshot restores for the snapshot.

StateTransitionReason
Type: string

The reason for the state transition. The possible values are as follows:

  • Client.UserInitiated - The state successfully transitioned to enabling or disabling.

  • Client.UserInitiated - Lifecycle state transition - The state successfully transitioned to optimizing, enabled, or disabled.

DiskImage

Description

Describes a disk image.

Members
Description
Type: string

A description of the disk image.

Image
Type: DiskImageDetail structure

Information about the disk image.

Volume
Type: VolumeDetail structure

Information about the volume.

DiskImageDescription

Description

Describes a disk image.

Members
Checksum
Type: string

The checksum computed for the disk image.

Format
Type: string

The disk image format.

ImportManifestUrl
Type: string

A presigned URL for the import manifest stored in Amazon S3. For information about creating a presigned URL for an Amazon S3 object, read the "Query String Request Authentication Alternative" section of the Authenticating REST Requests topic in the Amazon Simple Storage Service Developer Guide.

For information about the import manifest referenced by this API action, see VM Import Manifest.

Size
Type: long (int|float)

The size of the disk image, in GiB.

DiskImageDetail

Description

Describes a disk image.

Members
Bytes
Required: Yes
Type: long (int|float)

The size of the disk image, in GiB.

Format
Required: Yes
Type: string

The disk image format.

ImportManifestUrl
Required: Yes
Type: string

A presigned URL for the import manifest stored in Amazon S3 and presented here as an Amazon S3 presigned URL. For information about creating a presigned URL for an Amazon S3 object, read the "Query String Request Authentication Alternative" section of the Authenticating REST Requests topic in the Amazon Simple Storage Service Developer Guide.

For information about the import manifest referenced by this API action, see VM Import Manifest.

DiskImageVolumeDescription

Description

Describes a disk image volume.

Members
Id
Type: string

The volume identifier.

Size
Type: long (int|float)

The size of the volume, in GiB.

DiskInfo

Description

Describes a disk.

Members
Count
Type: int

The number of disks with this configuration.

SizeInGB
Type: long (int|float)

The size of the disk in GB.

Type
Type: string

The type of disk.

DnsEntry

Description

Describes a DNS entry.

Members
DnsName
Type: string

The DNS name.

HostedZoneId
Type: string

The ID of the private hosted zone.

DnsOptions

Description

Describes the DNS options for an endpoint.

Members
DnsRecordIpType
Type: string

The DNS records created for the endpoint.

PrivateDnsOnlyForInboundResolverEndpoint
Type: boolean

Indicates whether to enable private DNS only for inbound endpoints.

DnsOptionsSpecification

Description

Describes the DNS options for an endpoint.

Members
DnsRecordIpType
Type: string

The DNS records created for the endpoint.

PrivateDnsOnlyForInboundResolverEndpoint
Type: boolean

Indicates whether to enable private DNS only for inbound endpoints. This option is available only for services that support both gateway and interface endpoints. It routes traffic that originates from the VPC to the gateway endpoint and traffic that originates from on-premises to the interface endpoint.

DnsServersOptionsModifyStructure

Description

Information about the DNS server to be used.

Members
CustomDnsServers
Type: Array of strings

The IPv4 address range, in CIDR notation, of the DNS servers to be used. You can specify up to two DNS servers. Ensure that the DNS servers can be reached by the clients. The specified values overwrite the existing values.

Enabled
Type: boolean

Indicates whether DNS servers should be used. Specify False to delete the existing DNS servers.

EbsBlockDevice

Description

Describes a block device for an EBS volume.

Members
DeleteOnTermination
Type: boolean

Indicates whether the EBS volume is deleted on instance termination. For more information, see Preserving Amazon EBS volumes on instance termination in the Amazon EC2 User Guide.

Encrypted
Type: boolean

Indicates whether the encryption state of an EBS volume is changed while being restored from a backing snapshot. The effect of setting the encryption state to true depends on the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see Amazon EBS encryption in the Amazon EBS User Guide.

In no case can you remove encryption from an encrypted volume.

Encrypted volumes can only be attached to instances that support Amazon EBS encryption. For more information, see Supported instance types.

This parameter is not returned by DescribeImageAttribute.

For CreateImage and RegisterImage, whether you can include this parameter, and the allowed values differ depending on the type of block device mapping you are creating.

  • If you are creating a block device mapping for a new (empty) volume, you can include this parameter, and specify either true for an encrypted volume, or false for an unencrypted volume. If you omit this parameter, it defaults to false (unencrypted).

  • If you are creating a block device mapping from an existing encrypted or unencrypted snapshot, you must omit this parameter. If you include this parameter, the request will fail, regardless of the value that you specify.

  • If you are creating a block device mapping from an existing unencrypted volume, you can include this parameter, but you must specify false. If you specify true, the request will fail. In this case, we recommend that you omit the parameter.

  • If you are creating a block device mapping from an existing encrypted volume, you can include this parameter, and specify either true or false. However, if you specify false, the parameter is ignored and the block device mapping is always encrypted. In this case, we recommend that you omit the parameter.

Iops
Type: int

The number of I/O operations per second (IOPS). For gp3, io1, and io2 volumes, this represents the number of IOPS that are provisioned for the volume. For gp2 volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting.

The following are the supported values for each volume type:

  • gp3: 3,000 - 16,000 IOPS

  • io1: 100 - 64,000 IOPS

  • io2: 100 - 256,000 IOPS

For io2 volumes, you can achieve up to 256,000 IOPS on instances built on the Nitro System. On other instances, you can achieve performance up to 32,000 IOPS.

This parameter is required for io1 and io2 volumes. The default for gp3 volumes is 3,000 IOPS.

KmsKeyId
Type: string

Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption.

This parameter is only supported on BlockDeviceMapping objects called by RunInstances, RequestSpotFleet, and RequestSpotInstances.

OutpostArn
Type: string

The ARN of the Outpost on which the snapshot is stored.

This parameter is not supported when using CreateImage.

SnapshotId
Type: string

The ID of the snapshot.

Throughput
Type: int

The throughput that the volume supports, in MiB/s.

This parameter is valid only for gp3 volumes.

Valid Range: Minimum value of 125. Maximum value of 1000.

VolumeSize
Type: int

The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size.

The following are the supported sizes for each volume type:

  • gp2 and gp3: 1 - 16,384 GiB

  • io1: 4 - 16,384 GiB

  • io2: 4 - 65,536 GiB

  • st1 and sc1: 125 - 16,384 GiB

  • standard: 1 - 1024 GiB

VolumeType
Type: string

The volume type. For more information, see Amazon EBS volume types in the Amazon EBS User Guide.

EbsInfo

Description

Describes the Amazon EBS features supported by the instance type.

Members
EbsOptimizedInfo
Type: EbsOptimizedInfo structure

Describes the optimized EBS performance for the instance type.

EbsOptimizedSupport
Type: string

Indicates whether the instance type is Amazon EBS-optimized. For more information, see Amazon EBS-optimized instances in Amazon EC2 User Guide.

EncryptionSupport
Type: string

Indicates whether Amazon EBS encryption is supported.

NvmeSupport
Type: string

Indicates whether non-volatile memory express (NVMe) is supported.

EbsInstanceBlockDevice

Description

Describes a parameter used to set up an EBS volume in a block device mapping.

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 volume is deleted on instance termination.

Status
Type: string

The attachment state.

VolumeId
Type: string

The ID of the EBS volume.

VolumeOwnerId
Type: string

The ID of the Amazon Web Services account that owns the volume.

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

EbsInstanceBlockDeviceSpecification

Description

Describes information used to set up an EBS volume specified in a block device mapping.

Members
DeleteOnTermination
Type: boolean

Indicates whether the volume is deleted on instance termination.

VolumeId
Type: string

The ID of the EBS volume.

EbsOptimizedInfo

Description

Describes the optimized EBS performance for supported instance types.

Members
BaselineBandwidthInMbps
Type: int

The baseline bandwidth performance for an EBS-optimized instance type, in Mbps.

BaselineIops
Type: int

The baseline input/output storage operations per seconds for an EBS-optimized instance type.

BaselineThroughputInMBps
Type: double

The baseline throughput performance for an EBS-optimized instance type, in MB/s.

MaximumBandwidthInMbps
Type: int

The maximum bandwidth performance for an EBS-optimized instance type, in Mbps.

MaximumIops
Type: int

The maximum input/output storage operations per second for an EBS-optimized instance type.

MaximumThroughputInMBps
Type: double

The maximum throughput performance for an EBS-optimized instance type, in MB/s.

EbsStatusDetails

Description

Describes the attached EBS status check for an instance.

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

The date and time when the attached EBS status check failed.

Name
Type: string

The name of the attached EBS status check.

Status
Type: string

The result of the attached EBS status check.

EbsStatusSummary

Description

Provides a summary of the attached EBS volume status for an instance.

Members
Details
Type: Array of EbsStatusDetails structures

Details about the attached EBS status check for an instance.

Status
Type: string

The current status.

Ec2InstanceConnectEndpoint

Description

The EC2 Instance Connect Endpoint.

Members
AvailabilityZone
Type: string

The Availability Zone of the EC2 Instance Connect Endpoint.

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

The date and time that the EC2 Instance Connect Endpoint was created.

DnsName
Type: string

The DNS name of the EC2 Instance Connect Endpoint.

FipsDnsName
Type: string

InstanceConnectEndpointArn
Type: string

The Amazon Resource Name (ARN) of the EC2 Instance Connect Endpoint.

InstanceConnectEndpointId
Type: string

The ID of the EC2 Instance Connect Endpoint.

NetworkInterfaceIds
Type: Array of strings

The ID of the elastic network interface that Amazon EC2 automatically created when creating the EC2 Instance Connect Endpoint.

OwnerId
Type: string

The ID of the Amazon Web Services account that created the EC2 Instance Connect Endpoint.

PreserveClientIp
Type: boolean

Indicates whether your client's IP address is preserved as the source. The value is true or false.

  • If true, your client's IP address is used when you connect to a resource.

  • If false, the elastic network interface IP address is used when you connect to a resource.

Default: true

SecurityGroupIds
Type: Array of strings

The security groups associated with the endpoint. If you didn't specify a security group, the default security group for your VPC is associated with the endpoint.

State
Type: string

The current state of the EC2 Instance Connect Endpoint.

StateMessage
Type: string

The message for the current state of the EC2 Instance Connect Endpoint. Can include a failure message.

SubnetId
Type: string

The ID of the subnet in which the EC2 Instance Connect Endpoint was created.

Tags
Type: Array of Tag structures

The tags assigned to the EC2 Instance Connect Endpoint.

VpcId
Type: string

The ID of the VPC in which the EC2 Instance Connect Endpoint was created.

EfaInfo

Description

Describes the Elastic Fabric Adapters for the instance type.

Members
MaximumEfaInterfaces
Type: int

The maximum number of Elastic Fabric Adapters for the instance type.

EgressOnlyInternetGateway

Description

Describes an egress-only internet gateway.

Members
Attachments
Type: Array of InternetGatewayAttachment structures

Information about the attachment of the egress-only internet gateway.

EgressOnlyInternetGatewayId
Type: string

The ID of the egress-only internet gateway.

Tags
Type: Array of Tag structures

The tags assigned to the egress-only internet gateway.

ElasticGpuAssociation

Description

Amazon Elastic Graphics reached end of life on January 8, 2024.

Describes the association between an instance and an Elastic Graphics accelerator.

Members
ElasticGpuAssociationId
Type: string

The ID of the association.

ElasticGpuAssociationState
Type: string

The state of the association between the instance and the Elastic Graphics accelerator.

ElasticGpuAssociationTime
Type: string

The time the Elastic Graphics accelerator was associated with the instance.

ElasticGpuId
Type: string

The ID of the Elastic Graphics accelerator.

ElasticGpuHealth

Description

Amazon Elastic Graphics reached end of life on January 8, 2024.

Describes the status of an Elastic Graphics accelerator.

Members
Status
Type: string

The health status.

ElasticGpuSpecification

Description

Amazon Elastic Graphics reached end of life on January 8, 2024.

A specification for an Elastic Graphics accelerator.

Members
Type
Required: Yes
Type: string

The type of Elastic Graphics accelerator.

ElasticGpuSpecificationResponse

Description

Deprecated.

Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads that require graphics acceleration, we recommend that you use Amazon EC2 G4ad, G4dn, or G5 instances.

Members
Type
Type: string

Deprecated.

Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads that require graphics acceleration, we recommend that you use Amazon EC2 G4ad, G4dn, or G5 instances.

ElasticGpus

Description

Amazon Elastic Graphics reached end of life on January 8, 2024.

Describes an Elastic Graphics accelerator.

Members
AvailabilityZone
Type: string

The Availability Zone in the which the Elastic Graphics accelerator resides.

ElasticGpuHealth
Type: ElasticGpuHealth structure

The status of the Elastic Graphics accelerator.

ElasticGpuId
Type: string

The ID of the Elastic Graphics accelerator.

ElasticGpuState
Type: string

The state of the Elastic Graphics accelerator.

ElasticGpuType
Type: string

The type of Elastic Graphics accelerator.

InstanceId
Type: string

The ID of the instance to which the Elastic Graphics accelerator is attached.

Tags
Type: Array of Tag structures

The tags assigned to the Elastic Graphics accelerator.

ElasticInferenceAccelerator

Description

Amazon Elastic Inference is no longer available.

Describes an elastic inference accelerator.

Members
Count
Type: int

The number of elastic inference accelerators to attach to the instance.

Default: 1

Type
Required: Yes
Type: string

The type of elastic inference accelerator. The possible values are eia1.medium, eia1.large, eia1.xlarge, eia2.medium, eia2.large, and eia2.xlarge.

ElasticInferenceAcceleratorAssociation

Description

Amazon Elastic Inference is no longer available.

Describes the association between an instance and an elastic inference accelerator.

Members
ElasticInferenceAcceleratorArn
Type: string

The Amazon Resource Name (ARN) of the elastic inference accelerator.

ElasticInferenceAcceleratorAssociationId
Type: string

The ID of the association.

ElasticInferenceAcceleratorAssociationState
Type: string

The state of the elastic inference accelerator.

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

The time at which the elastic inference accelerator is associated with an instance.

EnaSrdSpecification

Description

ENA Express uses Amazon Web Services Scalable Reliable Datagram (SRD) technology to increase the maximum bandwidth used per stream and minimize tail latency of network traffic between EC2 instances. With ENA Express, you can communicate between two EC2 instances in the same subnet within the same account, or in different accounts. Both sending and receiving instances must have ENA Express enabled.

To improve the reliability of network packet delivery, ENA Express reorders network packets on the receiving end by default. However, some UDP-based applications are designed to handle network packets that are out of order to reduce the overhead for packet delivery at the network layer. When ENA Express is enabled, you can specify whether UDP network traffic uses it.

Members
EnaSrdEnabled
Type: boolean

Indicates whether ENA Express is enabled for the network interface.

EnaSrdUdpSpecification
Type: EnaSrdUdpSpecification structure

Configures ENA Express for UDP network traffic.

EnaSrdSpecificationRequest

Description

Launch instances with ENA Express settings configured from your launch template.

Members
EnaSrdEnabled
Type: boolean

Specifies whether ENA Express is enabled for the network interface when you launch an instance from your launch template.

EnaSrdUdpSpecification

Contains ENA Express settings for UDP network traffic in your launch template.

EnaSrdUdpSpecification

Description

ENA Express is compatible with both TCP and UDP transport protocols. When it's enabled, TCP traffic automatically uses it. However, some UDP-based applications are designed to handle network packets that are out of order, without a need for retransmission, such as live video broadcasting or other near-real-time applications. For UDP traffic, you can specify whether to use ENA Express, based on your application environment needs.

Members
EnaSrdUdpEnabled
Type: boolean

Indicates whether UDP traffic to and from the instance uses ENA Express. To specify this setting, you must first enable ENA Express.

EnaSrdUdpSpecificationRequest

Description

Configures ENA Express for UDP network traffic from your launch template.

Members
EnaSrdUdpEnabled
Type: boolean

Indicates whether UDP traffic uses ENA Express for your instance. To ensure that UDP traffic can use ENA Express when you launch an instance, you must also set EnaSrdEnabled in the EnaSrdSpecificationRequest to true in your launch template.

EnableFastSnapshotRestoreErrorItem

Description

Contains information about the errors that occurred when enabling fast snapshot restores.

Members
FastSnapshotRestoreStateErrors
Type: Array of EnableFastSnapshotRestoreStateErrorItem structures

The errors.

SnapshotId
Type: string

The ID of the snapshot.

EnableFastSnapshotRestoreStateError

Description

Describes an error that occurred when enabling fast snapshot restores.

Members
Code
Type: string

The error code.

Message
Type: string

The error message.

EnableFastSnapshotRestoreStateErrorItem

Description

Contains information about an error that occurred when enabling fast snapshot restores.

Members
AvailabilityZone
Type: string

The Availability Zone.

Error

The error.

EnableFastSnapshotRestoreSuccessItem

Description

Describes fast snapshot restores that were successfully enabled.

Members
AvailabilityZone
Type: string

The Availability Zone.

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

The time at which fast snapshot restores entered the disabled state.

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

The time at which fast snapshot restores entered the disabling state.

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

The time at which fast snapshot restores entered the enabled state.

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

The time at which fast snapshot restores entered the enabling state.

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

The time at which fast snapshot restores entered the optimizing state.

OwnerAlias
Type: string

The Amazon Web Services owner alias that enabled fast snapshot restores on the snapshot. This is intended for future use.

OwnerId
Type: string

The ID of the Amazon Web Services account that enabled fast snapshot restores on the snapshot.

SnapshotId
Type: string

The ID of the snapshot.

State
Type: string

The state of fast snapshot restores.

StateTransitionReason
Type: string

The reason for the state transition. The possible values are as follows:

  • Client.UserInitiated - The state successfully transitioned to enabling or disabling.

  • Client.UserInitiated - Lifecycle state transition - The state successfully transitioned to optimizing, enabled, or disabled.

EnclaveOptions

Description

Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves.

Members
Enabled
Type: boolean

If this parameter is set to true, the instance is enabled for Amazon Web Services Nitro Enclaves; otherwise, it is not enabled for Amazon Web Services Nitro Enclaves.

EnclaveOptionsRequest

Description

Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves. For more information, see What is Amazon Web Services Nitro Enclaves? in the Amazon Web Services Nitro Enclaves User Guide.

Members
Enabled
Type: boolean

To enable the instance for Amazon Web Services Nitro Enclaves, set this parameter to true.

EventInformation

Description

Describes an EC2 Fleet or Spot Fleet event.

Members
EventDescription
Type: string

The description of the event.

EventSubType
Type: string

The event.

error events:

  • iamFleetRoleInvalid - The EC2 Fleet or Spot Fleet does not have the required permissions either to launch or terminate an instance.

  • allLaunchSpecsTemporarilyBlacklisted - None of the configurations are valid, and several attempts to launch instances have failed. For more information, see the description of the event.

  • spotInstanceCountLimitExceeded - You've reached the limit on the number of Spot Instances that you can launch.

  • spotFleetRequestConfigurationInvalid - The configuration is not valid. For more information, see the description of the event.

fleetRequestChange events:

  • active - The EC2 Fleet or Spot Fleet request has been validated and Amazon EC2 is attempting to maintain the target number of running instances.

  • deleted (EC2 Fleet) / cancelled (Spot Fleet) - The EC2 Fleet is deleted or the Spot Fleet request is canceled and has no running instances. The EC2 Fleet or Spot Fleet will be deleted two days after its instances are terminated.

  • deleted_running (EC2 Fleet) / cancelled_running (Spot Fleet) - The EC2 Fleet is deleted or the Spot Fleet request is canceled and does not launch additional instances. Its existing instances continue to run until they are interrupted or terminated. The request remains in this state until all instances are interrupted or terminated.

  • deleted_terminating (EC2 Fleet) / cancelled_terminating (Spot Fleet) - The EC2 Fleet is deleted or the Spot Fleet request is canceled and its instances are terminating. The request remains in this state until all instances are terminated.

  • expired - The EC2 Fleet or Spot Fleet request has expired. If the request was created with TerminateInstancesWithExpiration set, a subsequent terminated event indicates that the instances are terminated.

  • modify_in_progress - The EC2 Fleet or Spot Fleet request is being modified. The request remains in this state until the modification is fully processed.

  • modify_succeeded - The EC2 Fleet or Spot Fleet request was modified.

  • submitted - The EC2 Fleet or Spot Fleet request is being evaluated and Amazon EC2 is preparing to launch the target number of instances.

  • progress - The EC2 Fleet or Spot Fleet request is in the process of being fulfilled.

instanceChange events:

  • launched - A new instance was launched.

  • terminated - An instance was terminated by the user.

  • termination_notified - An instance termination notification was sent when a Spot Instance was terminated by Amazon EC2 during scale-down, when the target capacity of the fleet was modified down, for example, from a target capacity of 4 to a target capacity of 3.

Information events:

  • fleetProgressHalted - The price in every launch specification is not valid because it is below the Spot price (all the launch specifications have produced launchSpecUnusable events). A launch specification might become valid if the Spot price changes.

  • launchSpecTemporarilyBlacklisted - The configuration is not valid and several attempts to launch instances have failed. For more information, see the description of the event.

  • launchSpecUnusable - The price in a launch specification is not valid because it is below the Spot price.

  • registerWithLoadBalancersFailed - An attempt to register instances with load balancers failed. For more information, see the description of the event.

InstanceId
Type: string

The ID of the instance. This information is available only for instanceChange events.

Explanation

Description

Describes an explanation code for an unreachable path. For more information, see Reachability Analyzer explanation codes.

Members
Acl
Type: AnalysisComponent structure

The network ACL.

AclRule
Type: AnalysisAclRule structure

The network ACL rule.

Address
Type: string

The IPv4 address, in CIDR notation.

Addresses
Type: Array of strings

The IPv4 addresses, in CIDR notation.

AttachedTo
Type: AnalysisComponent structure

The resource to which the component is attached.

AvailabilityZones
Type: Array of strings

The Availability Zones.

Cidrs
Type: Array of strings

The CIDR ranges.

ClassicLoadBalancerListener

The listener for a Classic Load Balancer.

Component
Type: AnalysisComponent structure

The component.

ComponentAccount
Type: string

The Amazon Web Services account for the component.

ComponentRegion
Type: string

The Region for the component.

CustomerGateway
Type: AnalysisComponent structure

The customer gateway.

Destination
Type: AnalysisComponent structure

The destination.

DestinationVpc
Type: AnalysisComponent structure

The destination VPC.

Direction
Type: string

The direction. The following are the possible values:

  • egress

  • ingress

ElasticLoadBalancerListener
Type: AnalysisComponent structure

The load balancer listener.

ExplanationCode
Type: string

The explanation code.

FirewallStatefulRule
Type: FirewallStatefulRule structure

The Network Firewall stateful rule.

FirewallStatelessRule
Type: FirewallStatelessRule structure

The Network Firewall stateless rule.

IngressRouteTable
Type: AnalysisComponent structure

The route table.

InternetGateway
Type: AnalysisComponent structure

The internet gateway.

LoadBalancerArn
Type: string

The Amazon Resource Name (ARN) of the load balancer.

LoadBalancerListenerPort
Type: int

The listener port of the load balancer.

LoadBalancerTarget
Type: AnalysisLoadBalancerTarget structure

The target.

LoadBalancerTargetGroup
Type: AnalysisComponent structure

The target group.

LoadBalancerTargetGroups
Type: Array of AnalysisComponent structures

The target groups.

LoadBalancerTargetPort
Type: int

The target port.

MissingComponent
Type: string

The missing component.

NatGateway
Type: AnalysisComponent structure

The NAT gateway.

NetworkInterface
Type: AnalysisComponent structure

The network interface.

PacketField
Type: string

The packet field.

Port
Type: int

The port.

PortRanges
Type: Array of PortRange structures

The port ranges.

PrefixList
Type: AnalysisComponent structure

The prefix list.

Protocols
Type: Array of strings

The protocols.

RouteTable
Type: AnalysisComponent structure

The route table.

RouteTableRoute
Type: AnalysisRouteTableRoute structure

The route table route.

SecurityGroup
Type: AnalysisComponent structure

The security group.

SecurityGroupRule
Type: AnalysisSecurityGroupRule structure

The security group rule.

SecurityGroups
Type: Array of AnalysisComponent structures

The security groups.

SourceVpc
Type: AnalysisComponent structure

The source VPC.

State
Type: string

The state.

Subnet
Type: AnalysisComponent structure

The subnet.

SubnetRouteTable
Type: AnalysisComponent structure

The route table for the subnet.

TransitGateway
Type: AnalysisComponent structure

The transit gateway.

TransitGatewayAttachment
Type: AnalysisComponent structure

The transit gateway attachment.

TransitGatewayRouteTable
Type: AnalysisComponent structure

The transit gateway route table.

TransitGatewayRouteTableRoute

The transit gateway route table route.

Vpc
Type: AnalysisComponent structure

The component VPC.

VpcEndpoint
Type: AnalysisComponent structure

The VPC endpoint.

VpcPeeringConnection
Type: AnalysisComponent structure

The VPC peering connection.

VpnConnection
Type: AnalysisComponent structure

The VPN connection.

VpnGateway
Type: AnalysisComponent structure

The VPN gateway.

ExportImageTask

Description

Describes an export image task.

Members
Description
Type: string

A description of the image being exported.

ExportImageTaskId
Type: string

The ID of the export image task.

ImageId
Type: string

The ID of the image.

Progress
Type: string

The percent complete of the export image task.

S3ExportLocation
Type: ExportTaskS3Location structure

Information about the destination Amazon S3 bucket.

Status
Type: string

The status of the export image task. The possible values are active, completed, deleting, and deleted.

StatusMessage
Type: string

The status message for the export image task.

Tags
Type: Array of Tag structures

Any tags assigned to the export image task.

ExportTask

Description

Describes an export instance task.

Members
Description
Type: string

A description of the resource being exported.

ExportTaskId
Type: string

The ID of the export task.

ExportToS3Task
Type: ExportToS3Task structure

Information about the export task.

InstanceExportDetails
Type: InstanceExportDetails structure

Information about the instance to export.

State
Type: string

The state of the export task.

StatusMessage
Type: string

The status message related to the export task.

Tags
Type: Array of Tag structures

The tags for the export task.

ExportTaskS3Location

Description

Describes the destination for an export image task.

Members
S3Bucket
Type: string

The destination Amazon S3 bucket.

S3Prefix
Type: string

The prefix (logical hierarchy) in the bucket.

ExportTaskS3LocationRequest

Description

Describes the destination for an export image task.

Members
S3Bucket
Required: Yes
Type: string

The destination Amazon S3 bucket.

S3Prefix
Type: string

The prefix (logical hierarchy) in the bucket.

ExportToS3Task

Description

Describes the format and location for the export task.

Members
ContainerFormat
Type: string

The container format used to combine disk images with metadata (such as OVF). If absent, only the disk image is exported.

DiskImageFormat
Type: string

The format for the exported image.

S3Bucket
Type: string

The Amazon S3 bucket for the destination image. The destination bucket must exist and have an access control list (ACL) attached that specifies the Region-specific canonical account ID for the Grantee. For more information about the ACL to your S3 bucket, see Prerequisites in the VM Import/Export User Guide.

S3Key
Type: string

The encryption key for your S3 bucket.

ExportToS3TaskSpecification

Description

Describes an export instance task.

Members
ContainerFormat
Type: string

The container format used to combine disk images with metadata (such as OVF). If absent, only the disk image is exported.

DiskImageFormat
Type: string

The format for the exported image.

S3Bucket
Type: string

The Amazon S3 bucket for the destination image. The destination bucket must exist and have an access control list (ACL) attached that specifies the Region-specific canonical account ID for the Grantee. For more information about the ACL to your S3 bucket, see Prerequisites in the VM Import/Export User Guide.

S3Prefix
Type: string

The image is written to a single object in the Amazon S3 bucket at the S3 key s3prefix + exportTaskId + '.' + diskImageFormat.

FailedCapacityReservationFleetCancellationResult

Description

Describes a Capacity Reservation Fleet that could not be cancelled.

Members
CancelCapacityReservationFleetError

Information about the Capacity Reservation Fleet cancellation error.

CapacityReservationFleetId
Type: string

The ID of the Capacity Reservation Fleet that could not be cancelled.

FailedQueuedPurchaseDeletion

Description

Describes a Reserved Instance whose queued purchase was not deleted.

Members
Error

The error.

ReservedInstancesId
Type: string

The ID of the Reserved Instance.

FastLaunchLaunchTemplateSpecificationRequest

Description

Request to create a launch template for a Windows fast launch enabled AMI.

Note - You can specify either the LaunchTemplateName or the LaunchTemplateId, but not both.

Members
LaunchTemplateId
Type: string

Specify the ID of the launch template that the AMI should use for Windows fast launch.

LaunchTemplateName
Type: string

Specify the name of the launch template that the AMI should use for Windows fast launch.

Version
Required: Yes
Type: string

Specify the version of the launch template that the AMI should use for Windows fast launch.

FastLaunchLaunchTemplateSpecificationResponse

Description

Identifies the launch template that the AMI uses for Windows fast launch.

Members
LaunchTemplateId
Type: string

The ID of the launch template that the AMI uses for Windows fast launch.

LaunchTemplateName
Type: string

The name of the launch template that the AMI uses for Windows fast launch.

Version
Type: string

The version of the launch template that the AMI uses for Windows fast launch.

FastLaunchSnapshotConfigurationRequest

Description

Configuration settings for creating and managing pre-provisioned snapshots for a Windows fast launch enabled AMI.

Members
TargetResourceCount
Type: int

The number of pre-provisioned snapshots to keep on hand for a Windows fast launch enabled AMI.

FastLaunchSnapshotConfigurationResponse

Description

Configuration settings for creating and managing pre-provisioned snapshots for a Windows fast launch enabled Windows AMI.

Members
TargetResourceCount
Type: int

The number of pre-provisioned snapshots requested to keep on hand for a Windows fast launch enabled AMI.

FederatedAuthentication

Description

Describes the IAM SAML identity providers used for federated authentication.

Members
SamlProviderArn
Type: string

The Amazon Resource Name (ARN) of the IAM SAML identity provider.

SelfServiceSamlProviderArn
Type: string

The Amazon Resource Name (ARN) of the IAM SAML identity provider for the self-service portal.

FederatedAuthenticationRequest

Description

The IAM SAML identity provider used for federated authentication.

Members
SAMLProviderArn
Type: string

The Amazon Resource Name (ARN) of the IAM SAML identity provider.

SelfServiceSAMLProviderArn
Type: string

The Amazon Resource Name (ARN) of the IAM SAML identity provider for the self-service portal.

Filter

Description

A filter name and value pair that is used to return a more specific list of results from a describe operation. Filters can be used to match a set of resources by specific criteria, such as tags, attributes, or IDs.

If you specify multiple filters, the filters are joined with an AND, and the request returns only results that match all of the specified filters.

Members
Name
Type: string

The name of the filter. Filter names are case-sensitive.

Values
Type: Array of strings

The filter values. Filter values are case-sensitive. If you specify multiple values for a filter, the values are joined with an OR, and the request returns all results that match any of the specified values.

FilterPortRange

Description

Describes a port range.

Members
FromPort
Type: int

The first port in the range.

ToPort
Type: int

The last port in the range.

FirewallStatefulRule

Description

Describes a stateful rule.

Members
DestinationPorts
Type: Array of PortRange structures

The destination ports.

Destinations
Type: Array of strings

The destination IP addresses, in CIDR notation.

Direction
Type: string

The direction. The possible values are FORWARD and ANY.

Protocol
Type: string

The protocol.

RuleAction
Type: string

The rule action. The possible values are pass, drop, and alert.

RuleGroupArn
Type: string

The ARN of the stateful rule group.

SourcePorts
Type: Array of PortRange structures

The source ports.

Sources
Type: Array of strings

The source IP addresses, in CIDR notation.

FirewallStatelessRule

Description

Describes a stateless rule.

Members
DestinationPorts
Type: Array of PortRange structures

The destination ports.

Destinations
Type: Array of strings

The destination IP addresses, in CIDR notation.

Priority
Type: int

The rule priority.

Protocols
Type: Array of ints

The protocols.

RuleAction
Type: string

The rule action. The possible values are pass, drop, and forward_to_site.

RuleGroupArn
Type: string

The ARN of the stateless rule group.

SourcePorts
Type: Array of PortRange structures

The source ports.

Sources
Type: Array of strings

The source IP addresses, in CIDR notation.

FleetCapacityReservation

Description

Information about a Capacity Reservation in a Capacity Reservation Fleet.

Members
AvailabilityZone
Type: string

The Availability Zone in which the Capacity Reservation reserves capacity.

AvailabilityZoneId
Type: string

The ID of the Availability Zone in which the Capacity Reservation reserves capacity.

CapacityReservationId
Type: string

The ID of the Capacity Reservation.

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

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

EbsOptimized
Type: boolean

Indicates whether the Capacity Reservation reserves capacity for EBS-optimized instance types.

FulfilledCapacity
Type: double

The number of capacity units fulfilled by the Capacity Reservation. For more information, see Total target capacity in the Amazon EC2 User Guide.

InstancePlatform
Type: string

The type of operating system for which the Capacity Reservation reserves capacity.

InstanceType
Type: string

The instance type for which the Capacity Reservation reserves capacity.

Priority
Type: int

The priority of the instance type in the Capacity Reservation Fleet. For more information, see Instance type priority in the Amazon EC2 User Guide.

TotalInstanceCount
Type: int

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

Weight
Type: double

The weight of the instance type in the Capacity Reservation Fleet. For more information, see Instance type weight in the Amazon EC2 User Guide.

FleetData

Description

Describes an EC2 Fleet.

Members
ActivityStatus
Type: string

The progress of the EC2 Fleet. If there is an error, the status is error. After all requests are placed, the status is pending_fulfillment. If the size of the EC2 Fleet is equal to or greater than its target capacity, the status is fulfilled. If the size of the EC2 Fleet is decreased, the status is pending_termination while instances are terminating.

ClientToken
Type: string

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

Constraints: Maximum 64 ASCII characters

Context
Type: string

Reserved.

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

The creation date and time of the EC2 Fleet.

Errors
Type: Array of DescribeFleetError structures

Information about the instances that could not be launched by the fleet. Valid only when Type is set to instant.

ExcessCapacityTerminationPolicy
Type: string

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

Supported only for fleets of type maintain.

FleetId
Type: string

The ID of the EC2 Fleet.

FleetState
Type: string

The state of the EC2 Fleet.

FulfilledCapacity
Type: double

The number of units fulfilled by this request compared to the set target capacity.

FulfilledOnDemandCapacity
Type: double

The number of units fulfilled by this request compared to the set target On-Demand capacity.

Instances
Type: Array of DescribeFleetsInstances structures

Information about the instances that were launched by the fleet. Valid only when Type is set to instant.

LaunchTemplateConfigs
Type: Array of FleetLaunchTemplateConfig structures

The launch template and overrides.

OnDemandOptions
Type: OnDemandOptions structure

The allocation strategy 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: SpotOptions structure

The configuration of Spot Instances in an EC2 Fleet.

Tags
Type: Array of Tag structures

The tags for an EC2 Fleet resource.

TargetCapacitySpecification
Type: TargetCapacitySpecification structure

The number of units to request. You can choose to set the target capacity in terms of instances or a performance characteristic that is important to your application workload, such as vCPUs, memory, or I/O. If the request type is maintain, you can specify a target capacity of 0 and add capacity later.

TerminateInstancesWithExpiration
Type: boolean

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

Type
Type: string

The type of request. Indicates whether the EC2 Fleet only requests the target capacity, or also attempts to maintain it. If you request a certain target capacity, EC2 Fleet only places the required requests; it does not attempt to replenish instances if capacity is diminished, and it does not submit requests in alternative capacity pools if capacity is unavailable. To maintain a certain target capacity, EC2 Fleet places the required requests to meet this target capacity. It also automatically replenishes any interrupted Spot Instances. Default: maintain.

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 instance requests are placed or able to fulfill the request. The default end date is 7 days from the current date.

FleetLaunchTemplateConfig

Description

Describes a launch template and overrides.

Members
LaunchTemplateSpecification

The launch template.

Overrides
Type: Array of FleetLaunchTemplateOverrides structures

Any parameters that you specify override the same parameters in the launch template.

FleetLaunchTemplateConfigRequest

Description

Describes a launch template and overrides.

Members
LaunchTemplateSpecification

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

Overrides
Type: Array of FleetLaunchTemplateOverridesRequest structures

Any parameters that you specify override the same parameters in the launch template.

For fleets of type request and maintain, a maximum of 300 items is allowed across all launch templates.

FleetLaunchTemplateOverrides

Description

Describes overrides for a launch template.

Members
AvailabilityZone
Type: string

The Availability Zone in which to launch the instances.

ImageId
Type: string

The ID of the AMI in the format ami-17characters00000.

Alternatively, you can specify a Systems Manager parameter, using one of the following formats. The Systems Manager parameter will resolve to an AMI ID on launch.

To reference a public parameter:

  • resolve:ssm:public-parameter

To reference a parameter stored in the same account:

  • resolve:ssm:parameter-name

  • resolve:ssm:parameter-name:version-number

  • resolve:ssm:parameter-name:label

To reference a parameter shared from another Amazon Web Services account:

  • resolve:ssm:parameter-ARN

  • resolve:ssm:parameter-ARN:version-number

  • resolve:ssm:parameter-ARN:label

For more information, see Use a Systems Manager parameter instead of an AMI ID in the Amazon EC2 User Guide.

This parameter is only available for fleets of type instant. For fleets of type maintain and request, you must specify the AMI ID in the launch template.

InstanceRequirements
Type: InstanceRequirements structure

The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with those attributes.

If you specify InstanceRequirements, you can't specify InstanceType.

InstanceType
Type: string

The instance type.

mac1.metal is not supported as a launch template override.

If you specify InstanceType, you can't specify InstanceRequirements.

MaxPrice
Type: string

The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.

If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.

Placement
Type: PlacementResponse structure

The location where the instance launched, if applicable.

Priority
Type: double

The priority for the launch template override. The highest priority is launched first.

If the On-Demand AllocationStrategy is set to prioritized, EC2 Fleet uses priority to determine which launch template override to use first in fulfilling On-Demand capacity.

If the Spot AllocationStrategy is set to capacity-optimized-prioritized, EC2 Fleet uses priority on a best-effort basis to determine which launch template override to use in fulfilling Spot capacity, but optimizes for capacity first.

Valid values are whole numbers starting at 0. The lower the number, the higher the priority. If no number is set, the override has the lowest priority. You can set the same priority for different launch template overrides.

SubnetId
Type: string

The ID of the subnet in which to launch the instances.

WeightedCapacity
Type: double

The number of units provided by the specified instance type. These are the same units that you chose to set the target capacity in terms of instances, or a performance characteristic such as vCPUs, memory, or I/O.

If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.

When specifying weights, the price used in the lowest-price and price-capacity-optimized allocation strategies is per unit hour (where the instance price is divided by the specified weight). However, if all the specified weights are above the requested TargetCapacity, resulting in only 1 instance being launched, the price used is per instance hour.

FleetLaunchTemplateOverridesRequest

Description

Describes overrides for a launch template.

Members
AvailabilityZone
Type: string

The Availability Zone in which to launch the instances.

ImageId
Type: string

The ID of the AMI in the format ami-17characters00000.

Alternatively, you can specify a Systems Manager parameter, using one of the following formats. The Systems Manager parameter will resolve to an AMI ID on launch.

To reference a public parameter:

  • resolve:ssm:public-parameter

To reference a parameter stored in the same account:

  • resolve:ssm:parameter-name

  • resolve:ssm:parameter-name:version-number

  • resolve:ssm:parameter-name:label

To reference a parameter shared from another Amazon Web Services account:

  • resolve:ssm:parameter-ARN

  • resolve:ssm:parameter-ARN:version-number

  • resolve:ssm:parameter-ARN:label

For more information, see Use a Systems Manager parameter instead of an AMI ID in the Amazon EC2 User Guide.

This parameter is only available for fleets of type instant. For fleets of type maintain and request, you must specify the AMI ID in the launch template.

InstanceRequirements
Type: InstanceRequirementsRequest structure

The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with those attributes.

If you specify InstanceRequirements, you can't specify InstanceType.

InstanceType
Type: string

The instance type.

mac1.metal is not supported as a launch template override.

If you specify InstanceType, you can't specify InstanceRequirements.

MaxPrice
Type: string

The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.

If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.

Placement
Type: Placement structure

The location where the instance launched, if applicable.

Priority
Type: double

The priority for the launch template override. The highest priority is launched first.

If the On-Demand AllocationStrategy is set to prioritized, EC2 Fleet uses priority to determine which launch template override to use first in fulfilling On-Demand capacity.

If the Spot AllocationStrategy is set to capacity-optimized-prioritized, EC2 Fleet uses priority on a best-effort basis to determine which launch template override to use in fulfilling Spot capacity, but optimizes for capacity first.

Valid values are whole numbers starting at 0. The lower the number, the higher the priority. If no number is set, the launch template override has the lowest priority. You can set the same priority for different launch template overrides.

SubnetId
Type: string

The IDs of the subnets in which to launch the instances. Separate multiple subnet IDs using commas (for example, subnet-1234abcdeexample1, subnet-0987cdef6example2). A request of type instant can have only one subnet ID.

WeightedCapacity
Type: double

The number of units provided by the specified instance type. These are the same units that you chose to set the target capacity in terms of instances, or a performance characteristic such as vCPUs, memory, or I/O.

If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.

When specifying weights, the price used in the lowest-price and price-capacity-optimized allocation strategies is per unit hour (where the instance price is divided by the specified weight). However, if all the specified weights are above the requested TargetCapacity, resulting in only 1 instance being launched, the price used is per instance hour.

FleetLaunchTemplateSpecification

Description

The Amazon EC2 launch template that can be used by a Spot Fleet to configure Amazon EC2 instances. You must specify either the ID or name of the launch template in the request, but not both.

For information about launch templates, see Launch an instance from a launch template in the Amazon EC2 User Guide.

Members
LaunchTemplateId
Type: string

The ID of the launch template.

You must specify the LaunchTemplateId or the LaunchTemplateName, but not both.

LaunchTemplateName
Type: string

The name of the launch template.

You must specify the LaunchTemplateName or the LaunchTemplateId, but not both.

Version
Type: string

The launch template version number, $Latest, or $Default. You must specify a value, otherwise the request fails.

If the value is $Latest, Amazon EC2 uses the latest version of the launch template.

If the value is $Default, Amazon EC2 uses the default version of the launch template.

FleetLaunchTemplateSpecificationRequest

Description

The Amazon EC2 launch template that can be used by an EC2 Fleet to configure Amazon EC2 instances. You must specify either the ID or name of the launch template in the request, but not both.

For information about launch templates, see Launch an instance from a launch template in the Amazon EC2 User Guide.

Members
LaunchTemplateId
Type: string

The ID of the launch template.

You must specify the LaunchTemplateId or the LaunchTemplateName, but not both.

LaunchTemplateName
Type: string

The name of the launch template.

You must specify the LaunchTemplateName or the LaunchTemplateId, but not both.

Version
Type: string

The launch template version number, $Latest, or $Default. You must specify a value, otherwise the request fails.

If the value is $Latest, Amazon EC2 uses the latest version of the launch template.

If the value is $Default, Amazon EC2 uses the default version of the launch template.

FleetSpotCapacityRebalance

Description

The strategy to use when Amazon EC2 emits a signal that your Spot Instance is at an elevated risk of being interrupted.

Members
ReplacementStrategy
Type: string

The replacement strategy to use. Only available for fleets of type maintain.

launch - EC2 Fleet launches a new replacement Spot Instance when a rebalance notification is emitted for an existing Spot Instance in the fleet. EC2 Fleet does not terminate the instances that receive a rebalance notification. You can terminate the old instances, or you can leave them running. You are charged for all instances while they are running.

launch-before-terminate - EC2 Fleet launches a new replacement Spot Instance when a rebalance notification is emitted for an existing Spot Instance in the fleet, and then, after a delay that you specify (in TerminationDelay), terminates the instances that received a rebalance notification.

TerminationDelay
Type: int

The amount of time (in seconds) that Amazon EC2 waits before terminating the old Spot Instance after launching a new replacement Spot Instance.

Required when ReplacementStrategy is set to launch-before-terminate.

Not valid when ReplacementStrategy is set to launch.

Valid values: Minimum value of 120 seconds. Maximum value of 7200 seconds.

FleetSpotCapacityRebalanceRequest

Description

The Spot Instance replacement strategy to use when Amazon EC2 emits a rebalance notification signal that your Spot Instance is at an elevated risk of being interrupted. For more information, see Capacity rebalancing in the Amazon EC2 User Guide.

Members
ReplacementStrategy
Type: string

The replacement strategy to use. Only available for fleets of type maintain.

launch - EC2 Fleet launches a replacement Spot Instance when a rebalance notification is emitted for an existing Spot Instance in the fleet. EC2 Fleet does not terminate the instances that receive a rebalance notification. You can terminate the old instances, or you can leave them running. You are charged for all instances while they are running.

launch-before-terminate - EC2 Fleet launches a replacement Spot Instance when a rebalance notification is emitted for an existing Spot Instance in the fleet, and then, after a delay that you specify (in TerminationDelay), terminates the instances that received a rebalance notification.

TerminationDelay
Type: int

The amount of time (in seconds) that Amazon EC2 waits before terminating the old Spot Instance after launching a new replacement Spot Instance.

Required when ReplacementStrategy is set to launch-before-terminate.

Not valid when ReplacementStrategy is set to launch.

Valid values: Minimum value of 120 seconds. Maximum value of 7200 seconds.

FleetSpotMaintenanceStrategies

Description

The strategies for managing your Spot Instances that are at an elevated risk of being interrupted.

Members
CapacityRebalance
Type: FleetSpotCapacityRebalance structure

The strategy to use when Amazon EC2 emits a signal that your Spot Instance is at an elevated risk of being interrupted.

FleetSpotMaintenanceStrategiesRequest

Description

The strategies for managing your Spot Instances that are at an elevated risk of being interrupted.

Members
CapacityRebalance

The strategy to use when Amazon EC2 emits a signal that your Spot Instance is at an elevated risk of being interrupted.

FlowLog

Description

Describes a flow log.

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

The date and time the flow log was created.

DeliverCrossAccountRole
Type: string

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

DeliverLogsErrorMessage
Type: string

Information about the error that occurred. Rate limited indicates that CloudWatch Logs throttling has been applied for one or more network interfaces, or that you've reached the limit on the number of log groups that you can create. Access error indicates that the IAM role associated with the flow log does not have sufficient permissions to publish to CloudWatch Logs. Unknown error indicates an internal error.

DeliverLogsPermissionArn
Type: string

The ARN of the IAM role allows the service to publish logs to CloudWatch Logs.

DeliverLogsStatus
Type: string

The status of the logs delivery (SUCCESS | FAILED).

DestinationOptions
Type: DestinationOptionsResponse structure

The destination options.

FlowLogId
Type: string

The ID of the flow log.

FlowLogStatus
Type: string

The status of the flow log (ACTIVE).

LogDestination
Type: string

The Amazon Resource Name (ARN) of the destination for the flow log data.

LogDestinationType
Type: string

The type of destination for the flow log data.

LogFormat
Type: string

The format of the flow log record.

LogGroupName
Type: string

The name of the flow log group.

MaxAggregationInterval
Type: int

The maximum interval of time, in seconds, during which a flow of packets is captured and aggregated into a flow log record.

When a network interface is attached to a Nitro-based instance, the aggregation interval is always 60 seconds (1 minute) or less, regardless of the specified value.

Valid Values: 60 | 600

ResourceId
Type: string

The ID of the resource being monitored.

Tags
Type: Array of Tag structures

The tags for the flow log.

TrafficType
Type: string

The type of traffic captured for the flow log.

FpgaDeviceInfo

Description

Describes the FPGA accelerator for the instance type.

Members
Count
Type: int

The count of FPGA accelerators for the instance type.

Manufacturer
Type: string

The manufacturer of the FPGA accelerator.

MemoryInfo
Type: FpgaDeviceMemoryInfo structure

Describes the memory for the FPGA accelerator for the instance type.

Name
Type: string

The name of the FPGA accelerator.

FpgaDeviceMemoryInfo

Description

Describes the memory for the FPGA accelerator for the instance type.

Members
SizeInMiB
Type: int

The size of the memory available to the FPGA accelerator, in MiB.

FpgaImage

Description

Describes an Amazon FPGA image (AFI).

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

The date and time the AFI was created.

DataRetentionSupport
Type: boolean

Indicates whether data retention support is enabled for the AFI.

Description
Type: string

The description of the AFI.

FpgaImageGlobalId
Type: string

The global FPGA image identifier (AGFI ID).

FpgaImageId
Type: string

The FPGA image identifier (AFI ID).

InstanceTypes
Type: Array of strings

The instance types supported by the AFI.

Name
Type: string

The name of the AFI.

OwnerAlias
Type: string

The alias of the AFI owner. Possible values include self, amazon, and aws-marketplace.

OwnerId
Type: string

The ID of the Amazon Web Services account that owns the AFI.

PciId
Type: PciId structure

Information about the PCI bus.

ProductCodes
Type: Array of ProductCode structures

The product codes for the AFI.

Public
Type: boolean

Indicates whether the AFI is public.

ShellVersion
Type: string

The version of the Amazon Web Services Shell that was used to create the bitstream.

State
Type: FpgaImageState structure

Information about the state of the AFI.

Tags
Type: Array of Tag structures

Any tags assigned to the AFI.

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

The time of the most recent update to the AFI.

FpgaImageAttribute

Description

Describes an Amazon FPGA image (AFI) attribute.

Members
Description
Type: string

The description of the AFI.

FpgaImageId
Type: string

The ID of the AFI.

LoadPermissions
Type: Array of LoadPermission structures

The load permissions.

Name
Type: string

The name of the AFI.

ProductCodes
Type: Array of ProductCode structures

The product codes.

FpgaImageState

Description

Describes the state of the bitstream generation process for an Amazon FPGA image (AFI).

Members
Code
Type: string

The state. The following are the possible values:

  • pending - AFI bitstream generation is in progress.

  • available - The AFI is available for use.

  • failed - AFI bitstream generation failed.

  • unavailable - The AFI is no longer available for use.

Message
Type: string

If the state is failed, this is the error message.

FpgaInfo

Description

Describes the FPGAs for the instance type.

Members
Fpgas
Type: Array of FpgaDeviceInfo structures

Describes the FPGAs for the instance type.

TotalFpgaMemoryInMiB
Type: int

The total memory of all FPGA accelerators for the instance type.

GpuDeviceInfo

Description

Describes the GPU accelerators for the instance type.

Members
Count
Type: int

The number of GPUs for the instance type.

Manufacturer
Type: string

The manufacturer of the GPU accelerator.

MemoryInfo
Type: GpuDeviceMemoryInfo structure

Describes the memory available to the GPU accelerator.

Name
Type: string

The name of the GPU accelerator.

GpuDeviceMemoryInfo

Description

Describes the memory available to the GPU accelerator.

Members
SizeInMiB
Type: int

The size of the memory available to the GPU accelerator, in MiB.

GpuInfo

Description

Describes the GPU accelerators for the instance type.

Members
Gpus
Type: Array of GpuDeviceInfo structures

Describes the GPU accelerators for the instance type.

TotalGpuMemoryInMiB
Type: int

The total size of the memory for the GPU accelerators for the instance type, in MiB.

GroupIdentifier

Description

Describes a security group.

Members
GroupId
Type: string

The ID of the security group.

GroupName
Type: string

The name of the security group.

HibernationOptions

Description

Indicates whether your instance is configured for hibernation. This parameter is valid only if the instance meets the hibernation prerequisites. For more information, see Hibernate your Amazon EC2 instance in the Amazon EC2 User Guide.

Members
Configured
Type: boolean

If true, your instance is enabled for hibernation; otherwise, it is not enabled for hibernation.

HibernationOptionsRequest

Description

Indicates whether your instance is configured for hibernation. This parameter is valid only if the instance meets the hibernation prerequisites. For more information, see Hibernate your Amazon EC2 instance in the Amazon EC2 User Guide.

Members
Configured
Type: boolean

Set to true to enable your instance for hibernation.

For Spot Instances, if you set Configured to true, either omit the InstanceInterruptionBehavior parameter (for SpotMarketOptions ), or set it to hibernate. When Configured is true:

  • If you omit InstanceInterruptionBehavior, it defaults to hibernate.

  • If you set InstanceInterruptionBehavior to a value other than hibernate, you'll get an error.

Default: false

HistoryRecord

Description

Describes an event in the history of the Spot Fleet request.

Members
EventInformation
Type: EventInformation structure

Information about the event.

EventType
Type: string

The event type.

  • error - An error with the Spot Fleet request.

  • fleetRequestChange - A change in the status or configuration of the Spot Fleet request.

  • instanceChange - An instance was launched or terminated.

  • Information - An informational event.

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

The date and time of the event, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

HistoryRecordEntry

Description

Describes an event in the history of an EC2 Fleet.

Members
EventInformation
Type: EventInformation structure

Information about the event.

EventType
Type: string

The event type.

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

The date and time of the event, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

Host

Description

Describes the properties of the Dedicated Host.

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

The time that the Dedicated Host was allocated.

AllowsMultipleInstanceTypes
Type: string

Indicates whether the Dedicated Host supports multiple instance types of the same instance family. If the value is on, the Dedicated Host supports multiple instance types in the instance family. If the value is off, the Dedicated Host supports a single instance type only.

AssetId
Type: string

The ID of the Outpost hardware asset on which the Dedicated Host is allocated.

AutoPlacement
Type: string

Whether auto-placement is on or off.

AvailabilityZone
Type: string

The Availability Zone of the Dedicated Host.

AvailabilityZoneId
Type: string

The ID of the Availability Zone in which the Dedicated Host is allocated.

AvailableCapacity
Type: AvailableCapacity structure

Information about the instances running on 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.

HostId
Type: string

The ID of the Dedicated Host.

HostMaintenance
Type: string

Indicates whether host maintenance is enabled or disabled for the Dedicated Host.

HostProperties
Type: HostProperties structure

The hardware specifications of the Dedicated Host.

HostRecovery
Type: string

Indicates whether host recovery is enabled or disabled for the Dedicated Host.

HostReservationId
Type: string

The reservation ID of the Dedicated Host. This returns a null response if the Dedicated Host doesn't have an associated reservation.

Instances
Type: Array of HostInstance structures

The IDs and instance type that are currently running on the Dedicated Host.

MemberOfServiceLinkedResourceGroup
Type: boolean

Indicates whether the Dedicated Host is in a host resource group. If memberOfServiceLinkedResourceGroup is true, the host is in a host resource group; otherwise, it is not.

OutpostArn
Type: string

The Amazon Resource Name (ARN) of the Amazon Web Services Outpost on which the Dedicated Host is allocated.

OwnerId
Type: string

The ID of the Amazon Web Services account that owns the Dedicated Host.

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

The time that the Dedicated Host was released.

State
Type: string

The Dedicated Host's state.

Tags
Type: Array of Tag structures

Any tags assigned to the Dedicated Host.

HostInstance

Description

Describes an instance running on a Dedicated Host.

Members
InstanceId
Type: string

The ID of instance that is running on the Dedicated Host.

InstanceType
Type: string

The instance type (for example, m3.medium) of the running instance.

OwnerId
Type: string

The ID of the Amazon Web Services account that owns the instance.

HostOffering

Description

Details about the Dedicated Host Reservation offering.

Members
CurrencyCode
Type: string

The currency of the offering.

Duration
Type: int

The duration of the offering (in seconds).

HourlyPrice
Type: string

The hourly price of the offering.

InstanceFamily
Type: string

The instance family of the offering.

OfferingId
Type: string

The ID of the offering.

PaymentOption
Type: string

The available payment option.

UpfrontPrice
Type: string

The upfront price of the offering. Does not apply to No Upfront offerings.

HostProperties

Description

Describes the properties of a Dedicated Host.

Members
Cores
Type: int

The number of cores on the Dedicated Host.

InstanceFamily
Type: string

The instance family supported by the Dedicated Host. For example, m5.

InstanceType
Type: string

The instance type supported by the Dedicated Host. For example, m5.large. If the host supports multiple instance types, no instanceType is returned.

Sockets
Type: int

The number of sockets on the Dedicated Host.

TotalVCpus
Type: int

The total number of vCPUs on the Dedicated Host.

HostReservation

Description

Details about the Dedicated Host Reservation and associated Dedicated Hosts.

Members
Count
Type: int

The number of Dedicated Hosts the reservation is associated with.

CurrencyCode
Type: string

The currency in which the upfrontPrice and hourlyPrice amounts are specified. At this time, the only supported currency is USD.

Duration
Type: int

The length of the reservation's term, specified in seconds. Can be 31536000 (1 year) | 94608000 (3 years).

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

The date and time that the reservation ends.

HostIdSet
Type: Array of strings

The IDs of the Dedicated Hosts associated with the reservation.

HostReservationId
Type: string

The ID of the reservation that specifies the associated Dedicated Hosts.

HourlyPrice
Type: string

The hourly price of the reservation.

InstanceFamily
Type: string

The instance family of the Dedicated Host Reservation. The instance family on the Dedicated Host must be the same in order for it to benefit from the reservation.

OfferingId
Type: string

The ID of the reservation. This remains the same regardless of which Dedicated Hosts are associated with it.

PaymentOption
Type: string

The payment option selected for this reservation.

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

The date and time that the reservation started.

State
Type: string

The state of the reservation.

Tags
Type: Array of Tag structures

Any tags assigned to the Dedicated Host Reservation.

UpfrontPrice
Type: string

The upfront price of the reservation.

IKEVersionsListValue

Description

The internet key exchange (IKE) version permitted for the VPN tunnel.

Members
Value
Type: string

The IKE version.

IKEVersionsRequestListValue

Description

The IKE version that is permitted for the VPN tunnel.

Members
Value
Type: string

The IKE version.

IamInstanceProfile

Description

Describes an IAM instance profile.

Members
Arn
Type: string

The Amazon Resource Name (ARN) of the instance profile.

Id
Type: string

The ID of the instance profile.

IamInstanceProfileAssociation

Description

Describes an association between an IAM instance profile and an instance.

Members
AssociationId
Type: string

The ID of the association.

IamInstanceProfile
Type: IamInstanceProfile structure

The IAM instance profile.

InstanceId
Type: string

The ID of the instance.

State
Type: string

The state of the association.

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

The time the IAM instance profile was associated with the instance.

IamInstanceProfileSpecification

Description

Describes an IAM instance profile.

Members
Arn
Type: string

The Amazon Resource Name (ARN) of the instance profile.

Name
Type: string

The name of the instance profile.

IcmpTypeCode

Description

Describes the ICMP type and code.

Members
Code
Type: int

The ICMP code. A value of -1 means all codes for the specified ICMP type.

Type
Type: int

The ICMP type. A value of -1 means all types.

IdFormat

Description

Describes the ID format for a resource.

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

The date in UTC at which you are permanently switched over to using longer IDs. If a deadline is not yet available for this resource type, this field is not returned.

Resource
Type: string

The type of resource.

UseLongIds
Type: boolean

Indicates whether longer IDs (17-character IDs) are enabled for the resource.

Image

Description

Describes an image.

Members
Architecture
Type: string

The architecture of the image.

BlockDeviceMappings
Type: Array of BlockDeviceMapping structures

Any block device mapping entries.

BootMode
Type: string

The boot mode of the image. For more information, see Boot modes in the Amazon EC2 User Guide.

CreationDate
Type: string

The date and time the image was created.

DeprecationTime
Type: string

The date and time to deprecate the AMI, in UTC, in the following format: YYYY-MM-DDTHH:MM:SSZ. If you specified a value for seconds, Amazon EC2 rounds the seconds to the nearest minute.

DeregistrationProtection
Type: string

Indicates whether deregistration protection is enabled for the AMI.

Description
Type: string

The description of the AMI that was provided during image creation.

EnaSupport
Type: boolean

Specifies whether enhanced networking with ENA is enabled.

Hypervisor
Type: string

The hypervisor type of the image. Only xen is supported. ovm is not supported.

ImageId
Type: string

The ID of the AMI.

ImageLocation
Type: string

The location of the AMI.

ImageOwnerAlias
Type: string

The owner alias (amazon | aws-backup-vault | aws-marketplace).

ImageType
Type: string

The type of image.

ImdsSupport
Type: string

If v2.0, it indicates that IMDSv2 is specified in the AMI. Instances launched from this AMI will have HttpTokens automatically set to required so that, by default, the instance requires that IMDSv2 is used when requesting instance metadata. In addition, HttpPutResponseHopLimit is set to 2. For more information, see Configure the AMI in the Amazon EC2 User Guide.

KernelId
Type: string

The kernel associated with the image, if any. Only applicable for machine images.

LastLaunchedTime
Type: string

The date and time, in ISO 8601 date-time format, when the AMI was last used to launch an EC2 instance. When the AMI is used to launch an instance, there is a 24-hour delay before that usage is reported.

lastLaunchedTime data is available starting April 2017.

Name
Type: string

The name of the AMI that was provided during image creation.

OwnerId
Type: string

The ID of the Amazon Web Services account that owns the image.

Platform
Type: string

This value is set to windows for Windows AMIs; otherwise, it is blank.

PlatformDetails
Type: string

The platform details associated with the billing code of the AMI. For more information, see Understand AMI billing information in the Amazon EC2 User Guide.

ProductCodes
Type: Array of ProductCode structures

Any product codes associated with the AMI.

Public
Type: boolean

Indicates whether the image has public launch permissions. The value is true if this image has public launch permissions or false if it has only implicit and explicit launch permissions.

RamdiskId
Type: string

The RAM disk associated with the image, if any. Only applicable for machine images.

RootDeviceName
Type: string

The device name of the root device volume (for example, /dev/sda1).

RootDeviceType
Type: string

The type of root device used by the AMI. The AMI can use an Amazon EBS volume or an instance store volume.

SourceImageId
Type: string

The ID of the source AMI from which the AMI was created.

The ID only appears if the AMI was created using CreateImage, CopyImage, or CreateRestoreImageTask. The ID does not appear if the AMI was created using any other API. For some older AMIs, the ID might not be available. For more information, see Identify the source AMI used to create a new AMI in the Amazon EC2 User Guide.

SourceImageRegion
Type: string

The Region of the source AMI.

The Region only appears if the AMI was created using CreateImage, CopyImage, or CreateRestoreImageTask. The Region does not appear if the AMI was created using any other API. For some older AMIs, the Region might not be available. For more information, see Identify the source AMI used to create a new AMI in the Amazon EC2 User Guide.

SourceInstanceId
Type: string

The ID of the instance that the AMI was created from if the AMI was created using CreateImage. This field only appears if the AMI was created using CreateImage.

SriovNetSupport
Type: string

Specifies whether enhanced networking with the Intel 82599 Virtual Function interface is enabled.

State
Type: string

The current state of the AMI. If the state is available, the image is successfully registered and can be used to launch an instance.

StateReason
Type: StateReason structure

The reason for the state change.

Tags
Type: Array of Tag structures

Any tags assigned to the image.

TpmSupport
Type: string

If the image is configured for NitroTPM support, the value is v2.0. For more information, see NitroTPM in the Amazon EC2 User Guide.

UsageOperation
Type: string

The operation of the Amazon EC2 instance and the billing code that is associated with the AMI. usageOperation corresponds to the lineitem/Operation column on your Amazon Web Services Cost and Usage Report and in the Amazon Web Services Price List API. You can view these fields on the Instances or AMIs pages in the Amazon EC2 console, or in the responses that are returned by the DescribeImages command in the Amazon EC2 API, or the describe-images command in the CLI.

VirtualizationType
Type: string

The type of virtualization of the AMI.

ImageDiskContainer

Description

Describes the disk container object for an import image task.

Members
Description
Type: string

The description of the disk image.

DeviceName
Type: string

The block device mapping for the disk.

Format
Type: string

The format of the disk image being imported.

Valid values: OVA | VHD | VHDX | VMDK | RAW

SnapshotId
Type: string

The ID of the EBS snapshot to be used for importing the snapshot.

Url
Type: string

The URL to the Amazon S3-based disk image being imported. The URL can either be a https URL (https://..) or an Amazon S3 URL (s3://..)

UserBucket
Type: UserBucket structure

The S3 bucket for the disk image.

ImageMetadata

Description

Information about the AMI.

Members
CreationDate
Type: string

The date and time the AMI was created.

DeprecationTime
Type: string

The deprecation date and time of the AMI, in UTC, in the following format: YYYY-MM-DDTHH:MM:SSZ.

ImageId
Type: string

The ID of the AMI.

ImageOwnerAlias
Type: string

The alias of the AMI owner.

Valid values: amazon | aws-backup-vault | aws-marketplace

IsPublic
Type: boolean

Indicates whether the AMI has public launch permissions. A value of true means this AMI has public launch permissions, while false means it has only implicit (AMI owner) or explicit (shared with your account) launch permissions.

Name
Type: string

The name of the AMI.

OwnerId
Type: string

The ID of the Amazon Web Services account that owns the AMI.

State
Type: string

The current state of the AMI. If the state is available, the AMI is successfully registered and can be used to launch an instance.

ImageRecycleBinInfo

Description

Information about an AMI that is currently in the Recycle Bin.

Members
Description
Type: string

The description of the AMI.

ImageId
Type: string

The ID of the AMI.

Name
Type: string

The name of the AMI.

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

The date and time when the AMI entered the Recycle Bin.

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

The date and time when the AMI is to be permanently deleted from the Recycle Bin.

ImportImageLicenseConfigurationRequest

Description

The request information of license configurations.

Members
LicenseConfigurationArn
Type: string

The ARN of a license configuration.

ImportImageLicenseConfigurationResponse

Description

The response information for license configurations.

Members
LicenseConfigurationArn
Type: string

The ARN of a license configuration.

ImportImageTask

Description

Describes an import image task.

Members
Architecture
Type: string

The architecture of the virtual machine.

Valid values: i386 | x86_64 | arm64

BootMode
Type: string

The boot mode of the virtual machine.

Description
Type: string

A description of the import task.

Encrypted
Type: boolean

Indicates whether the image is encrypted.

Hypervisor
Type: string

The target hypervisor for the import task.

Valid values: xen

ImageId
Type: string

The ID of the Amazon Machine Image (AMI) of the imported virtual machine.

ImportTaskId
Type: string

The ID of the import image task.

KmsKeyId
Type: string

The identifier for the KMS key that was used to create the encrypted image.

LicenseSpecifications
Type: Array of ImportImageLicenseConfigurationResponse structures

The ARNs of the license configurations that are associated with the import image task.

LicenseType
Type: string

The license type of the virtual machine.

Platform
Type: string

The description string for the import image task.

Progress
Type: string

The percentage of progress of the import image task.

SnapshotDetails
Type: Array of SnapshotDetail structures

Information about the snapshots.

Status
Type: string

A brief status for the import image task.

StatusMessage
Type: string

A descriptive status message for the import image task.

Tags
Type: Array of Tag structures

The tags for the import image task.

UsageOperation
Type: string

The usage operation value.

ImportInstanceLaunchSpecification

Description

Describes the launch specification for VM import.

Members
AdditionalInfo
Type: string

Reserved.

Architecture
Type: string

The architecture of the instance.

GroupIds
Type: Array of strings

The security group IDs.

GroupNames
Type: Array of strings

The security group names.

InstanceInitiatedShutdownBehavior
Type: string

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

InstanceType
Type: string

The instance type. For more information about the instance types that you can import, see Instance Types in the VM Import/Export User Guide.

Monitoring
Type: boolean

Indicates whether monitoring is enabled.

Placement
Type: Placement structure

The placement information for the instance.

PrivateIpAddress
Type: string

[EC2-VPC] An available IP address from the IP address range of the subnet.

SubnetId
Type: string

[EC2-VPC] The ID of the subnet in which to launch the instance.

UserData
Type: UserData structure

The Base64-encoded user data to make available to the instance.

ImportInstanceTaskDetails

Description

Describes an import instance task.

Members
Description
Type: string

A description of the task.

InstanceId
Type: string

The ID of the instance.

Platform
Type: string

The instance operating system.

Volumes
Type: Array of ImportInstanceVolumeDetailItem structures

The volumes.

ImportInstanceVolumeDetailItem

Description

Describes an import volume task.

Members
AvailabilityZone
Type: string

The Availability Zone where the resulting instance will reside.

BytesConverted
Type: long (int|float)

The number of bytes converted so far.

Description
Type: string

A description of the task.

Image
Type: DiskImageDescription structure

The image.

Status
Type: string

The status of the import of this particular disk image.

StatusMessage
Type: string

The status information or errors related to the disk image.

Volume
Type: DiskImageVolumeDescription structure

The volume.

ImportSnapshotTask

Description

Describes an import snapshot task.

Members
Description
Type: string

A description of the import snapshot task.

ImportTaskId
Type: string

The ID of the import snapshot task.

SnapshotTaskDetail
Type: SnapshotTaskDetail structure

Describes an import snapshot task.

Tags
Type: Array of Tag structures

The tags for the import snapshot task.

ImportVolumeTaskDetails

Description

Describes an import volume task.

Members
AvailabilityZone
Type: string

The Availability Zone where the resulting volume will reside.

BytesConverted
Type: long (int|float)

The number of bytes converted so far.

Description
Type: string

The description you provided when starting the import volume task.

Image
Type: DiskImageDescription structure

The image.

Volume
Type: DiskImageVolumeDescription structure

The volume.

InferenceAcceleratorInfo

Description

Amazon Elastic Inference is no longer available.

Describes the Inference accelerators for the instance type.

Members
Accelerators
Type: Array of InferenceDeviceInfo structures

Describes the Inference accelerators for the instance type.

TotalInferenceMemoryInMiB
Type: int

The total size of the memory for the inference accelerators for the instance type, in MiB.

InferenceDeviceInfo

Description

Amazon Elastic Inference is no longer available.

Describes the Inference accelerators for the instance type.

Members
Count
Type: int

The number of Inference accelerators for the instance type.

Manufacturer
Type: string

The manufacturer of the Inference accelerator.

MemoryInfo
Type: InferenceDeviceMemoryInfo structure

Describes the memory available to the inference accelerator.

Name
Type: string

The name of the Inference accelerator.

InferenceDeviceMemoryInfo

Description

Amazon Elastic Inference is no longer available.

Describes the memory available to the inference accelerator.

Members
SizeInMiB
Type: int

The size of the memory available to the inference accelerator, in MiB.

Instance

Description

Describes an instance.

Members
AmiLaunchIndex
Type: int

The AMI launch index, which can be used to find this instance in the launch group.

Architecture
Type: string

The architecture of the image.

BlockDeviceMappings
Type: Array of InstanceBlockDeviceMapping structures

Any block device mapping entries for the instance.

BootMode
Type: string

The boot mode that was specified by the AMI. If the value is uefi-preferred, the AMI supports both UEFI and Legacy BIOS. The currentInstanceBootMode parameter is the boot mode that is used to boot the instance at launch or start.

The operating system contained in the AMI must be configured to support the specified boot mode.

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

CapacityReservationId
Type: string

The ID of the Capacity Reservation.

CapacityReservationSpecification

Information about the Capacity Reservation targeting option.

ClientToken
Type: string

The idempotency token you provided when you launched the instance, if applicable.

CpuOptions
Type: CpuOptions structure

The CPU options for the instance.

CurrentInstanceBootMode
Type: string

The boot mode that is used to boot the instance at launch or start. For more information, see Boot modes in the Amazon EC2 User Guide.

EbsOptimized
Type: boolean

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

ElasticGpuAssociations
Type: Array of ElasticGpuAssociation structures

Deprecated.

Amazon Elastic Graphics reached end of life on January 8, 2024.

ElasticInferenceAcceleratorAssociations
Type: Array of ElasticInferenceAcceleratorAssociation structures

Deprecated

Amazon Elastic Inference is no longer available.

EnaSupport
Type: boolean

Specifies whether enhanced networking with ENA is enabled.

EnclaveOptions
Type: EnclaveOptions structure

Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves.

HibernationOptions
Type: HibernationOptions structure

Indicates whether the instance is enabled for hibernation.

Hypervisor
Type: string

The hypervisor type of the instance. The value xen is used for both Xen and Nitro hypervisors.

IamInstanceProfile
Type: IamInstanceProfile structure

The IAM instance profile associated with the instance, if applicable.

ImageId
Type: string

The ID of the AMI used to launch the instance.

InstanceId
Type: string

The ID of the instance.

InstanceLifecycle
Type: string

Indicates whether this is a Spot Instance or a Scheduled Instance.

InstanceType
Type: string

The instance type.

Ipv6Address
Type: string

The IPv6 address assigned to the instance.

KernelId
Type: string

The kernel associated with this instance, if applicable.

KeyName
Type: string

The name of the key pair, if this instance was launched with an associated key pair.

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

The time that the instance was last launched. To determine the time that instance was first launched, see the attachment time for the primary network interface.

Licenses
Type: Array of LicenseConfiguration structures

The license configurations for the instance.

MaintenanceOptions
Type: InstanceMaintenanceOptions structure

Provides information on the recovery and maintenance options of your instance.

MetadataOptions

The metadata options for the instance.

Monitoring
Type: Monitoring structure

The monitoring for the instance.

NetworkInterfaces
Type: Array of InstanceNetworkInterface structures

The network interfaces for the instance.

OutpostArn
Type: string

The Amazon Resource Name (ARN) of the Outpost.

Placement
Type: Placement structure

The location where the instance launched, if applicable.

Platform
Type: string

The platform. This value is windows for Windows instances; otherwise, it is empty.

PlatformDetails
Type: string

The platform details value for the instance. For more information, see AMI billing information fields in the Amazon EC2 User Guide.

PrivateDnsName
Type: string

[IPv4 only] The private DNS hostname name assigned to the instance. This DNS hostname can only be used inside the Amazon EC2 network. This name is not available until the instance enters the running state.

The Amazon-provided DNS server resolves Amazon-provided private DNS hostnames if you've enabled DNS resolution and DNS hostnames in your VPC. If you are not using the Amazon-provided DNS server in your VPC, your custom domain name servers must resolve the hostname as appropriate.

PrivateDnsNameOptions

The options for the instance hostname.

PrivateIpAddress
Type: string

The private IPv4 address assigned to the instance.

ProductCodes
Type: Array of ProductCode structures

The product codes attached to this instance, if applicable.

PublicDnsName
Type: string

[IPv4 only] The public DNS name assigned to the instance. This name is not available until the instance enters the running state. This name is only available if you've enabled DNS hostnames for your VPC.

PublicIpAddress
Type: string

The public IPv4 address, or the Carrier IP address assigned to the instance, if applicable.

A Carrier IP address only applies to an instance launched in a subnet associated with a Wavelength Zone.

RamdiskId
Type: string

The RAM disk associated with this instance, if applicable.

RootDeviceName
Type: string

The device name of the root device volume (for example, /dev/sda1).

RootDeviceType
Type: string

The root device type used by the AMI. The AMI can use an EBS volume or an instance store volume.

SecurityGroups
Type: Array of GroupIdentifier structures

The security groups for the instance.

SourceDestCheck
Type: boolean

Indicates whether source/destination checking is enabled.

SpotInstanceRequestId
Type: string

If the request is a Spot Instance request, the ID of the request.

SriovNetSupport
Type: string

Specifies whether enhanced networking with the Intel 82599 Virtual Function interface is enabled.

State
Type: InstanceState structure

The current state of the instance.

StateReason
Type: StateReason structure

The reason for the most recent state transition.

StateTransitionReason
Type: string

The reason for the most recent state transition. This might be an empty string.

SubnetId
Type: string

The ID of the subnet in which the instance is running.

Tags
Type: Array of Tag structures

Any tags assigned to the instance.

TpmSupport
Type: string

If the instance is configured for NitroTPM support, the value is v2.0. For more information, see NitroTPM in the Amazon EC2 User Guide.

UsageOperation
Type: string

The usage operation value for the instance. For more information, see AMI billing information fields in the Amazon EC2 User Guide.

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

The time that the usage operation was last updated.

VirtualizationType
Type: string

The virtualization type of the instance.

VpcId
Type: string

The ID of the VPC in which the instance is running.

InstanceAttachmentEnaSrdSpecification

Description

ENA Express uses Amazon Web Services Scalable Reliable Datagram (SRD) technology to increase the maximum bandwidth used per stream and minimize tail latency of network traffic between EC2 instances. With ENA Express, you can communicate between two EC2 instances in the same subnet within the same account, or in different accounts. Both sending and receiving instances must have ENA Express enabled.

To improve the reliability of network packet delivery, ENA Express reorders network packets on the receiving end by default. However, some UDP-based applications are designed to handle network packets that are out of order to reduce the overhead for packet delivery at the network layer. When ENA Express is enabled, you can specify whether UDP network traffic uses it.

Members
EnaSrdEnabled
Type: boolean

Indicates whether ENA Express is enabled for the network interface.

EnaSrdUdpSpecification

Configures ENA Express for UDP network traffic.

InstanceAttachmentEnaSrdUdpSpecification

Description

ENA Express is compatible with both TCP and UDP transport protocols. When it's enabled, TCP traffic automatically uses it. However, some UDP-based applications are designed to handle network packets that are out of order, without a need for retransmission, such as live video broadcasting or other near-real-time applications. For UDP traffic, you can specify whether to use ENA Express, based on your application environment needs.

Members
EnaSrdUdpEnabled
Type: boolean

Indicates whether UDP traffic to and from the instance uses ENA Express. To specify this setting, you must first enable ENA Express.

InstanceBlockDeviceMapping

Description

Describes a block device mapping.

Members
DeviceName
Type: string

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

Ebs
Type: EbsInstanceBlockDevice structure

Parameters used to automatically set up EBS volumes when the instance is launched.

InstanceBlockDeviceMappingSpecification

Description

Describes a block device mapping entry.

Members
DeviceName
Type: string

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

Ebs

Parameters used to automatically set up EBS volumes when the instance is launched.

NoDevice
Type: string

suppress the specified device included in the block device mapping.

VirtualName
Type: string

The virtual device name.

InstanceCapacity

Description

Information about the number of instances that can be launched onto the Dedicated Host.

Members
AvailableCapacity
Type: int

The number of instances that can be launched onto the Dedicated Host based on the host's available capacity.

InstanceType
Type: string

The instance type supported by the Dedicated Host.

TotalCapacity
Type: int

The total number of instances that can be launched onto the Dedicated Host if there are no instances running on it.

InstanceCount

Description

Describes a Reserved Instance listing state.

Members
InstanceCount
Type: int

The number of listed Reserved Instances in the state specified by the state.

State
Type: string

The states of the listed Reserved Instances.

InstanceCreditSpecification

Description

Describes the credit option for CPU usage of a burstable performance instance.

Members
CpuCredits
Type: string

The credit option for CPU usage of the instance.

Valid values: standard | unlimited

InstanceId
Type: string

The ID of the instance.

InstanceCreditSpecificationRequest

Description

Describes the credit option for CPU usage of a burstable performance instance.

Members
CpuCredits
Type: string

The credit option for CPU usage of the instance.

Valid values: standard | unlimited

T3 instances with host tenancy do not support the unlimited CPU credit option.

InstanceId
Required: Yes
Type: string

The ID of the instance.

InstanceEventWindow

Description

The event window.

Members
AssociationTarget

One or more targets associated with the event window.

CronExpression
Type: string

The cron expression defined for the event window.

InstanceEventWindowId
Type: string

The ID of the event window.

Name
Type: string

The name of the event window.

State
Type: string

The current state of the event window.

Tags
Type: Array of Tag structures

The instance tags associated with the event window.

TimeRanges
Type: Array of InstanceEventWindowTimeRange structures

One or more time ranges defined for the event window.

InstanceEventWindowAssociationRequest

Description

One or more targets associated with the specified event window. Only one type of target (instance ID, instance tag, or Dedicated Host ID) can be associated with an event window.

Members
DedicatedHostIds
Type: Array of strings

The IDs of the Dedicated Hosts to associate with the event window.

InstanceIds
Type: Array of strings

The IDs of the instances to associate with the event window. If the instance is on a Dedicated Host, you can't specify the Instance ID parameter; you must use the Dedicated Host ID parameter.

InstanceTags
Type: Array of Tag structures

The instance tags to associate with the event window. Any instances associated with the tags will be associated with the event window.

InstanceEventWindowAssociationTarget

Description

One or more targets associated with the event window.

Members
DedicatedHostIds
Type: Array of strings

The IDs of the Dedicated Hosts associated with the event window.

InstanceIds
Type: Array of strings

The IDs of the instances associated with the event window.

Tags
Type: Array of Tag structures

The instance tags associated with the event window. Any instances associated with the tags will be associated with the event window.

InstanceEventWindowDisassociationRequest

Description

The targets to disassociate from the specified event window.

Members
DedicatedHostIds
Type: Array of strings

The IDs of the Dedicated Hosts to disassociate from the event window.

InstanceIds
Type: Array of strings

The IDs of the instances to disassociate from the event window.

InstanceTags
Type: Array of Tag structures

The instance tags to disassociate from the event window. Any instances associated with the tags will be disassociated from the event window.

InstanceEventWindowStateChange

Description

The state of the event window.

Members
InstanceEventWindowId
Type: string

The ID of the event window.

State
Type: string

The current state of the event window.

InstanceEventWindowTimeRange

Description

The start day and time and the end day and time of the time range, in UTC.

Members
EndHour
Type: int

The hour when the time range ends.

EndWeekDay
Type: string

The day on which the time range ends.

StartHour
Type: int

The hour when the time range begins.

StartWeekDay
Type: string

The day on which the time range begins.

InstanceEventWindowTimeRangeRequest

Description

The start day and time and the end day and time of the time range, in UTC.

Members
EndHour
Type: int

The hour when the time range ends.

EndWeekDay
Type: string

The day on which the time range ends.

StartHour
Type: int

The hour when the time range begins.

StartWeekDay
Type: string

The day on which the time range begins.

InstanceExportDetails

Description

Describes an instance to export.

Members
InstanceId
Type: string

The ID of the resource being exported.

TargetEnvironment
Type: string

The target virtualization environment.

InstanceFamilyCreditSpecification

Description

Describes the default credit option for CPU usage of a burstable performance instance family.

Members
CpuCredits
Type: string

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

InstanceFamily
Type: string

The instance family.

InstanceImageMetadata

Description

Information about the instance and the AMI used to launch the instance.

Members
AvailabilityZone
Type: string

The Availability Zone or Local Zone of the instance.

ImageMetadata
Type: ImageMetadata structure

Information about the AMI used to launch the instance.

InstanceId
Type: string

The ID of the instance.

InstanceType
Type: string

The instance type.

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

The time the instance was launched.

OwnerId
Type: string

The ID of the Amazon Web Services account that owns the instance.

State
Type: InstanceState structure

The current state of the instance.

Tags
Type: Array of Tag structures

Any tags assigned to the instance.

ZoneId
Type: string

The ID of the Availability Zone or Local Zone of the instance.

InstanceIpv4Prefix

Description

Information about an IPv4 prefix.

Members
Ipv4Prefix
Type: string

One or more IPv4 prefixes assigned to the network interface.

InstanceIpv6Address

Description

Describes an IPv6 address.

Members
Ipv6Address
Type: string

The IPv6 address.

IsPrimaryIpv6
Type: boolean

Determines if an IPv6 address associated with a network interface is the primary IPv6 address. When you enable an IPv6 GUA address to be a primary IPv6, the first IPv6 GUA will be made the primary IPv6 address until the instance is terminated or the network interface is detached. For more information, see RunInstances.

InstanceIpv6AddressRequest

Description

Describes an IPv6 address.

Members
Ipv6Address
Type: string

The IPv6 address.

InstanceIpv6Prefix

Description

Information about an IPv6 prefix.

Members
Ipv6Prefix
Type: string

One or more IPv6 prefixes assigned to the network interface.

InstanceMaintenanceOptions

Description

The maintenance options for the instance.

Members
AutoRecovery
Type: string

Provides information on the current automatic recovery behavior of your instance.

InstanceMaintenanceOptionsRequest

Description

The maintenance options for the instance.

Members
AutoRecovery
Type: string

Disables the automatic recovery behavior of your instance or sets it to default. For more information, see Simplified automatic recovery.

InstanceMarketOptionsRequest

Description

Describes the market (purchasing) option for the instances.

Members
MarketType
Type: string

The market type.

SpotOptions
Type: SpotMarketOptions structure

The options for Spot Instances.

InstanceMetadataDefaultsResponse

Description

The default instance metadata service (IMDS) settings that were set at the account level in the specified Amazon Web Services
 Region.

Members
HttpEndpoint
Type: string

Indicates whether the IMDS endpoint for an instance is enabled or disabled. When disabled, the instance metadata can't be accessed.

HttpPutResponseHopLimit
Type: int

The maximum number of hops that the metadata token can travel.

HttpTokens
Type: string

Indicates whether IMDSv2 is required.

  • optional – IMDSv2 is optional, which means that you can use either IMDSv2 or IMDSv1.

  • required – IMDSv2 is required, which means that IMDSv1 is disabled, and you must use IMDSv2.

InstanceMetadataTags
Type: string

Indicates whether access to instance tags from the instance metadata is enabled or disabled. For more information, see Work with instance tags using the instance metadata in the Amazon EC2 User Guide.

InstanceMetadataOptionsRequest

Description

The metadata options for the instance.

Members
HttpEndpoint
Type: string

Enables or disables the HTTP metadata endpoint on your instances.

If you specify a value of disabled, you cannot access your instance metadata.

Default: enabled

HttpProtocolIpv6
Type: string

Enables or disables the IPv6 endpoint for the instance metadata service.

Default: disabled

HttpPutResponseHopLimit
Type: int

The maximum number of hops that the metadata token can travel.

Possible values: Integers from 1 to 64

HttpTokens
Type: string

Indicates whether IMDSv2 is required.

  • optional - IMDSv2 is optional, which means that you can use either IMDSv2 or IMDSv1.

  • required - IMDSv2 is required, which means that IMDSv1 is disabled, and you must use IMDSv2.

Default:

  • If the value of ImdsSupport for the Amazon Machine Image (AMI) for your instance is v2.0 and the account level default is set to no-preference, the default is required.

  • If the value of ImdsSupport for the Amazon Machine Image (AMI) for your instance is v2.0, but the account level default is set to V1 or V2, the default is optional.

The default value can also be affected by other combinations of parameters. For more information, see Order of precedence for instance metadata options in the Amazon EC2 User Guide.

InstanceMetadataTags
Type: string

Set to enabled to allow access to instance tags from the instance metadata. Set to disabled to turn off access to instance tags from the instance metadata. For more information, see Work with instance tags using the instance metadata.

Default: disabled

InstanceMetadataOptionsResponse

Description

The metadata options for the instance.

Members
HttpEndpoint
Type: string

Indicates whether the HTTP metadata endpoint on your instances is enabled or disabled.

If the value is disabled, you cannot access your instance metadata.

HttpProtocolIpv6
Type: string

Indicates whether the IPv6 endpoint for the instance metadata service is enabled or disabled.

Default: disabled

HttpPutResponseHopLimit
Type: int

The maximum number of hops that the metadata token can travel.

Possible values: Integers from 1 to 64

HttpTokens
Type: string

Indicates whether IMDSv2 is required.

  • optional - IMDSv2 is optional, which means that you can use either IMDSv2 or IMDSv1.

  • required - IMDSv2 is required, which means that IMDSv1 is disabled, and you must use IMDSv2.

InstanceMetadataTags
Type: string

Indicates whether access to instance tags from the instance metadata is enabled or disabled. For more information, see Work with instance tags using the instance metadata.

State
Type: string

The state of the metadata option changes.

pending - The metadata options are being updated and the instance is not ready to process metadata traffic with the new selection.

applied - The metadata options have been successfully applied on the instance.

InstanceMonitoring

Description

Describes the monitoring of an instance.

Members
InstanceId
Type: string

The ID of the instance.

Monitoring
Type: Monitoring structure

The monitoring for the instance.

InstanceNetworkInterface

Description

Describes a network interface.

Members
Association

The association information for an Elastic IPv4 associated with the network interface.

Attachment

The network interface attachment.

ConnectionTrackingConfiguration

A security group connection tracking configuration that enables you to set the timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon EC2 User Guide.

Description
Type: string

The description.

Groups
Type: Array of GroupIdentifier structures

The security groups.

InterfaceType
Type: string

The type of network interface.

Valid values: interface | efa | efa-only | trunk

Ipv4Prefixes
Type: Array of InstanceIpv4Prefix structures

The IPv4 delegated prefixes that are assigned to the network interface.

Ipv6Addresses
Type: Array of InstanceIpv6Address structures

The IPv6 addresses associated with the network interface.

Ipv6Prefixes
Type: Array of InstanceIpv6Prefix structures

The IPv6 delegated prefixes that are assigned to the network interface.

MacAddress
Type: string

The MAC address.

NetworkInterfaceId
Type: string

The ID of the network interface.

OwnerId
Type: string

The ID of the Amazon Web Services account that created the network interface.

PrivateDnsName
Type: string

The private DNS name.

PrivateIpAddress
Type: string

The IPv4 address of the network interface within the subnet.

PrivateIpAddresses
Type: Array of InstancePrivateIpAddress structures

The private IPv4 addresses associated with the network interface.

SourceDestCheck
Type: boolean

Indicates whether source/destination checking is enabled.

Status
Type: string

The status of the network interface.

SubnetId
Type: string

The ID of the subnet.

VpcId
Type: string

The ID of the VPC.

InstanceNetworkInterfaceAssociation

Description

Describes association information for an Elastic IP address (IPv4).

Members
CarrierIp
Type: string

The carrier IP address associated with the network interface.

CustomerOwnedIp
Type: string

The customer-owned IP address associated with the network interface.

IpOwnerId
Type: string

The ID of the owner of the Elastic IP address.

PublicDnsName
Type: string

The public DNS name.

PublicIp
Type: string

The public IP address or Elastic IP address bound to the network interface.

InstanceNetworkInterfaceAttachment

Description

Describes a network interface attachment.

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

The time stamp when the attachment initiated.

AttachmentId
Type: string

The ID of the network interface attachment.

DeleteOnTermination
Type: boolean

Indicates whether the network interface is deleted when the instance is terminated.

DeviceIndex
Type: int

The index of the device on the instance for the network interface attachment.

EnaSrdSpecification

Contains the ENA Express settings for the network interface that's attached to the instance.

NetworkCardIndex
Type: int

The index of the network card.

Status
Type: string

The attachment state.

InstanceNetworkInterfaceSpecification

Description

Describes a network interface.

Members
AssociateCarrierIpAddress
Type: boolean

Indicates whether to assign a carrier IP address to the network interface.

You can only assign a carrier IP address to a network interface that is in a subnet in a Wavelength Zone. For more information about carrier IP addresses, see Carrier IP address in the Amazon Web Services Wavelength Developer Guide.

AssociatePublicIpAddress
Type: boolean

Indicates whether to assign a public IPv4 address to an instance you launch in a VPC. The public IP address can only be assigned to a network interface for eth0, and can only be assigned to a new network interface, not an existing one. You cannot specify more than one network interface in the request. If launching into a default subnet, the default value is true.

Amazon Web Services charges for all public IPv4 addresses, including public IPv4 addresses associated with running instances and Elastic IP addresses. For more information, see the Public IPv4 Address tab on the Amazon VPC pricing page.

ConnectionTrackingSpecification

A security group connection tracking specification that enables you to set the timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon EC2 User Guide.

DeleteOnTermination
Type: boolean

If set to true, the interface is deleted when the instance is terminated. You can specify true only if creating a new network interface when launching an instance.

Description
Type: string

The description of the network interface. Applies only if creating a network interface when launching an instance.

DeviceIndex
Type: int

The position of the network interface in the attachment order. A primary network interface has a device index of 0.

If you specify a network interface when launching an instance, you must specify the device index.

EnaSrdSpecification
Type: EnaSrdSpecificationRequest structure

Specifies the ENA Express settings for the network interface that's attached to the instance.

Groups
Type: Array of strings

The IDs of the security groups for the network interface. Applies only if creating a network interface when launching an instance.

InterfaceType
Type: string

The type of network interface.

If you specify efa-only, do not assign any IP addresses to the network interface. EFA-only network interfaces do not support IP addresses.

Valid values: interface | efa | efa-only

Ipv4PrefixCount
Type: int

The number of IPv4 delegated prefixes to be automatically assigned to the network interface. You cannot use this option if you use the Ipv4Prefix option.

Ipv4Prefixes
Type: Array of Ipv4PrefixSpecificationRequest structures

The IPv4 delegated prefixes to be assigned to the network interface. You cannot use this option if you use the Ipv4PrefixCount option.

Ipv6AddressCount
Type: int

A number of IPv6 addresses to assign to the network interface. Amazon EC2 chooses the IPv6 addresses from the range of the subnet. You cannot specify this option and the option to assign specific IPv6 addresses in the same request. You can specify this option if you've specified a minimum number of instances to launch.

Ipv6Addresses
Type: Array of InstanceIpv6Address structures

The IPv6 addresses to assign to the network interface. You cannot specify this option and the option to assign a number of IPv6 addresses in the same request. You cannot specify this option if you've specified a minimum number of instances to launch.

Ipv6PrefixCount
Type: int

The number of IPv6 delegated prefixes to be automatically assigned to the network interface. You cannot use this option if you use the Ipv6Prefix option.

Ipv6Prefixes
Type: Array of Ipv6PrefixSpecificationRequest structures

The IPv6 delegated prefixes to be assigned to the network interface. You cannot use this option if you use the Ipv6PrefixCount option.

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.

If you are using RequestSpotInstances to create Spot Instances, omit this parameter because you can’t specify the network card index when using this API. To specify the network card index, use RunInstances.

NetworkInterfaceId
Type: string

The ID of the network interface.

If you are creating a Spot Fleet, omit this parameter because you can’t specify a network interface ID in a launch specification.

PrimaryIpv6
Type: boolean

The primary IPv6 address of the network interface. When you enable an IPv6 GUA address to be a primary IPv6, the first IPv6 GUA will be made the primary IPv6 address until the instance is terminated or the network interface is detached. For more information about primary IPv6 addresses, see RunInstances.

PrivateIpAddress
Type: string

The private IPv4 address of the network interface. Applies only if creating a network interface when launching an instance. You cannot specify this option if you're launching more than one instance in a RunInstances request.

PrivateIpAddresses
Type: Array of PrivateIpAddressSpecification structures

The private IPv4 addresses to assign to the network interface. Only one private IPv4 address can be designated as primary. You cannot specify this option if you're launching more than one instance in a RunInstances request.

SecondaryPrivateIpAddressCount
Type: int

The number of secondary private IPv4 addresses. You can't specify this option and specify more than one private IP address using the private IP addresses option. You cannot specify this option if you're launching more than one instance in a RunInstances request.

SubnetId
Type: string

The ID of the subnet associated with the network interface. Applies only if creating a network interface when launching an instance.

InstancePrivateIpAddress

Description

Describes a private IPv4 address.

Members
Association

The association information for an Elastic IP address for the network interface.

Primary
Type: boolean

Indicates whether this IPv4 address is the primary private IP address of the network interface.

PrivateDnsName
Type: string

The private IPv4 DNS name.

PrivateIpAddress
Type: string

The private IPv4 address of the network interface.

InstanceRequirements

Description

The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with these attributes.

You must specify VCpuCount and MemoryMiB. All other attributes are optional. Any unspecified optional attribute is set to its default.

When you specify multiple attributes, you get instance types that satisfy all of the specified attributes. If you specify multiple values for an attribute, you get instance types that satisfy any of the specified values.

To limit the list of instance types from which Amazon EC2 can identify matching instance types, you can use one of the following parameters, but not both in the same request:

  • AllowedInstanceTypes - The instance types to include in the list. All other instance types are ignored, even if they match your specified attributes.

  • ExcludedInstanceTypes - The instance types to exclude from the list, even if they match your specified attributes.

If you specify InstanceRequirements, you can't specify InstanceType.

Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the launch instance wizard or with the RunInstances API, you can't specify InstanceRequirements.

For more information, see Create mixed instances group using attribute-based instance type selection in the Amazon EC2 Auto Scaling User Guide, and also Specify attributes for instance type selection for EC2 Fleet or Spot Fleet and Spot placement score in the Amazon EC2 User Guide.

Members
AcceleratorCount
Type: AcceleratorCount structure

The minimum and maximum number of accelerators (GPUs, FPGAs, or Amazon Web Services Inferentia chips) on an instance.

To exclude accelerator-enabled instance types, set Max to 0.

Default: No minimum or maximum limits

AcceleratorManufacturers
Type: Array of strings

Indicates whether instance types must have accelerators by specific manufacturers.

  • For instance types with Amazon Web Services devices, specify amazon-web-services.

  • For instance types with AMD devices, specify amd.

  • For instance types with Habana devices, specify habana.

  • For instance types with NVIDIA devices, specify nvidia.

  • For instance types with Xilinx devices, specify xilinx.

Default: Any manufacturer

AcceleratorNames
Type: Array of strings

The accelerators that must be on the instance type.

  • For instance types with NVIDIA A10G GPUs, specify a10g.

  • For instance types with NVIDIA A100 GPUs, specify a100.

  • For instance types with NVIDIA H100 GPUs, specify h100.

  • For instance types with Amazon Web Services Inferentia chips, specify inferentia.

  • For instance types with NVIDIA GRID K520 GPUs, specify k520.

  • For instance types with NVIDIA K80 GPUs, specify k80.

  • For instance types with NVIDIA M60 GPUs, specify m60.

  • For instance types with AMD Radeon Pro V520 GPUs, specify radeon-pro-v520.

  • For instance types with NVIDIA T4 GPUs, specify t4.

  • For instance types with NVIDIA T4G GPUs, specify t4g.

  • For instance types with Xilinx VU9P FPGAs, specify vu9p.

  • For instance types with NVIDIA V100 GPUs, specify v100.

Default: Any accelerator

AcceleratorTotalMemoryMiB
Type: AcceleratorTotalMemoryMiB structure

The minimum and maximum amount of total accelerator memory, in MiB.

Default: No minimum or maximum limits

AcceleratorTypes
Type: Array of strings

The accelerator types that must be on the instance type.

  • For instance types with GPU accelerators, specify gpu.

  • For instance types with FPGA accelerators, specify fpga.

Default: Any accelerator type

AllowedInstanceTypes
Type: Array of strings

The instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes.

You can use strings with one or more wild cards, represented by an asterisk (*), to allow an instance type, size, or generation. The following are examples: m5.8xlarge, c5*.*, m5a.*, r*, *3*.

For example, if you specify c5*,Amazon EC2 will allow the entire C5 instance family, which includes all C5a and C5n instance types. If you specify m5a.*, Amazon EC2 will allow all the M5a instance types, but not the M5n instance types.

If you specify AllowedInstanceTypes, you can't specify ExcludedInstanceTypes.

Default: All instance types

BareMetal
Type: string

Indicates whether bare metal instance types must be included, excluded, or required.

  • To include bare metal instance types, specify included.

  • To require only bare metal instance types, specify required.

  • To exclude bare metal instance types, specify excluded.

Default: excluded

BaselineEbsBandwidthMbps
Type: BaselineEbsBandwidthMbps structure

The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see Amazon EBS–optimized instances in the Amazon EC2 User Guide.

Default: No minimum or maximum limits

BurstablePerformance
Type: string

Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see Burstable performance instances.

  • To include burstable performance instance types, specify included.

  • To require only burstable performance instance types, specify required.

  • To exclude burstable performance instance types, specify excluded.

Default: excluded

CpuManufacturers
Type: Array of strings

The CPU manufacturers to include.

  • For instance types with Intel CPUs, specify intel.

  • For instance types with AMD CPUs, specify amd.

  • For instance types with Amazon Web Services CPUs, specify amazon-web-services.

Don't confuse the CPU manufacturer with the CPU architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template.

Default: Any manufacturer

ExcludedInstanceTypes
Type: Array of strings

The instance types to exclude.

You can use strings with one or more wild cards, represented by an asterisk (*), to exclude an instance type, size, or generation. The following are examples: m5.8xlarge, c5*.*, m5a.*, r*, *3*.

For example, if you specify c5*,Amazon EC2 will exclude the entire C5 instance family, which includes all C5a and C5n instance types. If you specify m5a.*, Amazon EC2 will exclude all the M5a instance types, but not the M5n instance types.

If you specify ExcludedInstanceTypes, you can't specify AllowedInstanceTypes.

Default: No excluded instance types

InstanceGenerations
Type: Array of strings

Indicates whether current or previous generation instance types are included. The current generation instance types are recommended for use. Current generation instance types are typically the latest two to three generations in each instance family. For more information, see Instance types in the Amazon EC2 User Guide.

For current generation instance types, specify current.

For previous generation instance types, specify previous.

Default: Current and previous generation instance types

LocalStorage
Type: string

Indicates whether instance types with instance store volumes are included, excluded, or required. For more information, Amazon EC2 instance store in the Amazon EC2 User Guide.

  • To include instance types with instance store volumes, specify included.

  • To require only instance types with instance store volumes, specify required.

  • To exclude instance types with instance store volumes, specify excluded.

Default: included

LocalStorageTypes
Type: Array of strings

The type of local storage that is required.

  • For instance types with hard disk drive (HDD) storage, specify hdd.

  • For instance types with solid state drive (SSD) storage, specify ssd.

Default: hdd and ssd

MaxSpotPriceAsPercentageOfOptimalOnDemandPrice
Type: int

[Price protection] The price protection threshold for Spot Instances, as a percentage of an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.

The parameter accepts an integer, which Amazon EC2 interprets as a percentage.

If you set TargetCapacityUnitType to vcpu or memory-mib, the price protection threshold is based on the per vCPU or per memory price instead of the per instance price.

Only one of SpotMaxPricePercentageOverLowestPrice or MaxSpotPriceAsPercentageOfOptimalOnDemandPrice can be specified. If you don't specify either, Amazon EC2 will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as 999999.

MemoryGiBPerVCpu
Type: MemoryGiBPerVCpu structure

The minimum and maximum amount of memory per vCPU, in GiB.

Default: No minimum or maximum limits

MemoryMiB
Type: MemoryMiB structure

The minimum and maximum amount of memory, in MiB.

NetworkBandwidthGbps
Type: NetworkBandwidthGbps structure

The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps).

Default: No minimum or maximum limits

NetworkInterfaceCount
Type: NetworkInterfaceCount structure

The minimum and maximum number of network interfaces.

Default: No minimum or maximum limits

OnDemandMaxPricePercentageOverLowestPrice
Type: int

[Price protection] The price protection threshold for On-Demand Instances, as a percentage higher than an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.

The parameter accepts an integer, which Amazon EC2 interprets as a percentage.

To turn off price protection, specify a high value, such as 999999.

This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements.

If you set TargetCapacityUnitType to vcpu or memory-mib, the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price.

Default: 20

RequireHibernateSupport
Type: boolean

Indicates whether instance types must support hibernation for On-Demand Instances.

This parameter is not supported for GetSpotPlacementScores.

Default: false

SpotMaxPricePercentageOverLowestPrice
Type: int

[Price protection] The price protection threshold for Spot Instances, as a percentage higher than an identified Spot price. The identified Spot price is the Spot price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified Spot price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose Spot price exceeds your specified threshold.

The parameter accepts an integer, which Amazon EC2 interprets as a percentage.

If you set TargetCapacityUnitType to vcpu or memory-mib, the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price.

This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements.

Only one of SpotMaxPricePercentageOverLowestPrice or MaxSpotPriceAsPercentageOfOptimalOnDemandPrice can be specified. If you don't specify either, Amazon EC2 will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as 999999.

Default: 100

TotalLocalStorageGB
Type: TotalLocalStorageGB structure

The minimum and maximum amount of total local storage, in GB.

Default: No minimum or maximum limits

VCpuCount
Type: VCpuCountRange structure

The minimum and maximum number of vCPUs.

InstanceRequirementsRequest

Description

The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with these attributes.

You must specify VCpuCount and MemoryMiB. All other attributes are optional. Any unspecified optional attribute is set to its default.

When you specify multiple attributes, you get instance types that satisfy all of the specified attributes. If you specify multiple values for an attribute, you get instance types that satisfy any of the specified values.

To limit the list of instance types from which Amazon EC2 can identify matching instance types, you can use one of the following parameters, but not both in the same request:

  • AllowedInstanceTypes - The instance types to include in the list. All other instance types are ignored, even if they match your specified attributes.

  • ExcludedInstanceTypes - The instance types to exclude from the list, even if they match your specified attributes.

If you specify InstanceRequirements, you can't specify InstanceType.

Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the launch instance wizard, or with the RunInstances API or AWS::EC2::Instance Amazon Web Services CloudFormation resource, you can't specify InstanceRequirements.

For more information, see Specify attributes for instance type selection for EC2 Fleet or Spot Fleet and Spot placement score in the Amazon EC2 User Guide.

Members
AcceleratorCount
Type: AcceleratorCountRequest structure

The minimum and maximum number of accelerators (GPUs, FPGAs, or Amazon Web Services Inferentia chips) on an instance.

To exclude accelerator-enabled instance types, set Max to 0.

Default: No minimum or maximum limits

AcceleratorManufacturers
Type: Array of strings

Indicates whether instance types must have accelerators by specific manufacturers.

  • For instance types with Amazon Web Services devices, specify amazon-web-services.

  • For instance types with AMD devices, specify amd.

  • For instance types with Habana devices, specify habana.

  • For instance types with NVIDIA devices, specify nvidia.

  • For instance types with Xilinx devices, specify xilinx.

Default: Any manufacturer

AcceleratorNames
Type: Array of strings

The accelerators that must be on the instance type.

  • For instance types with NVIDIA A10G GPUs, specify a10g.

  • For instance types with NVIDIA A100 GPUs, specify a100.

  • For instance types with NVIDIA H100 GPUs, specify h100.

  • For instance types with Amazon Web Services Inferentia chips, specify inferentia.

  • For instance types with NVIDIA GRID K520 GPUs, specify k520.

  • For instance types with NVIDIA K80 GPUs, specify k80.

  • For instance types with NVIDIA M60 GPUs, specify m60.

  • For instance types with AMD Radeon Pro V520 GPUs, specify radeon-pro-v520.

  • For instance types with NVIDIA T4 GPUs, specify t4.

  • For instance types with NVIDIA T4G GPUs, specify t4g.

  • For instance types with Xilinx VU9P FPGAs, specify vu9p.

  • For instance types with NVIDIA V100 GPUs, specify v100.

Default: Any accelerator

AcceleratorTotalMemoryMiB

The minimum and maximum amount of total accelerator memory, in MiB.

Default: No minimum or maximum limits

AcceleratorTypes
Type: Array of strings

The accelerator types that must be on the instance type.

  • To include instance types with GPU hardware, specify gpu.

  • To include instance types with FPGA hardware, specify fpga.

Default: Any accelerator type

AllowedInstanceTypes
Type: Array of strings

The instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes.

You can use strings with one or more wild cards, represented by an asterisk (*), to allow an instance type, size, or generation. The following are examples: m5.8xlarge, c5*.*, m5a.*, r*, *3*.

For example, if you specify c5*,Amazon EC2 will allow the entire C5 instance family, which includes all C5a and C5n instance types. If you specify m5a.*, Amazon EC2 will allow all the M5a instance types, but not the M5n instance types.

If you specify AllowedInstanceTypes, you can't specify ExcludedInstanceTypes.

Default: All instance types

BareMetal
Type: string

Indicates whether bare metal instance types must be included, excluded, or required.

  • To include bare metal instance types, specify included.

  • To require only bare metal instance types, specify required.

  • To exclude bare metal instance types, specify excluded.

Default: excluded

BaselineEbsBandwidthMbps

The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see Amazon EBS–optimized instances in the Amazon EC2 User Guide.

Default: No minimum or maximum limits

BurstablePerformance
Type: string

Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see Burstable performance instances.

  • To include burstable performance instance types, specify included.

  • To require only burstable performance instance types, specify required.

  • To exclude burstable performance instance types, specify excluded.

Default: excluded

CpuManufacturers
Type: Array of strings

The CPU manufacturers to include.

  • For instance types with Intel CPUs, specify intel.

  • For instance types with AMD CPUs, specify amd.

  • For instance types with Amazon Web Services CPUs, specify amazon-web-services.

Don't confuse the CPU manufacturer with the CPU architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template.

Default: Any manufacturer

ExcludedInstanceTypes
Type: Array of strings

The instance types to exclude.

You can use strings with one or more wild cards, represented by an asterisk (*), to exclude an instance family, type, size, or generation. The following are examples: m5.8xlarge, c5*.*, m5a.*, r*, *3*.

For example, if you specify c5*,Amazon EC2 will exclude the entire C5 instance family, which includes all C5a and C5n instance types. If you specify m5a.*, Amazon EC2 will exclude all the M5a instance types, but not the M5n instance types.

If you specify ExcludedInstanceTypes, you can't specify AllowedInstanceTypes.

Default: No excluded instance types

InstanceGenerations
Type: Array of strings

Indicates whether current or previous generation instance types are included. The current generation instance types are recommended for use. Current generation instance types are typically the latest two to three generations in each instance family. For more information, see Instance types in the Amazon EC2 User Guide.

For current generation instance types, specify current.

For previous generation instance types, specify previous.

Default: Current and previous generation instance types

LocalStorage
Type: string

Indicates whether instance types with instance store volumes are included, excluded, or required. For more information, Amazon EC2 instance store in the Amazon EC2 User Guide.

  • To include instance types with instance store volumes, specify included.

  • To require only instance types with instance store volumes, specify required.

  • To exclude instance types with instance store volumes, specify excluded.

Default: included

LocalStorageTypes
Type: Array of strings

The type of local storage that is required.

  • For instance types with hard disk drive (HDD) storage, specify hdd.

  • For instance types with solid state drive (SSD) storage, specify ssd.

Default: hdd and ssd

MaxSpotPriceAsPercentageOfOptimalOnDemandPrice
Type: int

[Price protection] The price protection threshold for Spot Instances, as a percentage of an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.

The parameter accepts an integer, which Amazon EC2 interprets as a percentage.

If you set TargetCapacityUnitType to vcpu or memory-mib, the price protection threshold is based on the per vCPU or per memory price instead of the per instance price.

Only one of SpotMaxPricePercentageOverLowestPrice or MaxSpotPriceAsPercentageOfOptimalOnDemandPrice can be specified. If you don't specify either, Amazon EC2 will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as 999999.

MemoryGiBPerVCpu
Type: MemoryGiBPerVCpuRequest structure

The minimum and maximum amount of memory per vCPU, in GiB.

Default: No minimum or maximum limits

MemoryMiB
Required: Yes
Type: MemoryMiBRequest structure

The minimum and maximum amount of memory, in MiB.

NetworkBandwidthGbps
Type: NetworkBandwidthGbpsRequest structure

The minimum and maximum amount of baseline network bandwidth, in gigabits per second (Gbps). For more information, see Amazon EC2 instance network bandwidth in the Amazon EC2 User Guide.

Default: No minimum or maximum limits

NetworkInterfaceCount

The minimum and maximum number of network interfaces.

Default: No minimum or maximum limits

OnDemandMaxPricePercentageOverLowestPrice
Type: int

[Price protection] The price protection threshold for On-Demand Instances, as a percentage higher than an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.

The parameter accepts an integer, which Amazon EC2 interprets as a percentage.

To indicate no price protection threshold, specify a high value, such as 999999.

This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements.

If you set TargetCapacityUnitType to vcpu or memory-mib, the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price.

Default: 20

RequireHibernateSupport
Type: boolean

Indicates whether instance types must support hibernation for On-Demand Instances.

This parameter is not supported for GetSpotPlacementScores.

Default: false

SpotMaxPricePercentageOverLowestPrice
Type: int

[Price protection] The price protection threshold for Spot Instances, as a percentage higher than an identified Spot price. The identified Spot price is the Spot price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified Spot price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose Spot price exceeds your specified threshold.

The parameter accepts an integer, which Amazon EC2 interprets as a percentage.

If you set TargetCapacityUnitType to vcpu or memory-mib, the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price.

This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements.

Only one of SpotMaxPricePercentageOverLowestPrice or MaxSpotPriceAsPercentageOfOptimalOnDemandPrice can be specified. If you don't specify either, Amazon EC2 will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as 999999.

Default: 100

TotalLocalStorageGB
Type: TotalLocalStorageGBRequest structure

The minimum and maximum amount of total local storage, in GB.

Default: No minimum or maximum limits

VCpuCount
Required: Yes
Type: VCpuCountRangeRequest structure

The minimum and maximum number of vCPUs.

InstanceRequirementsWithMetadataRequest

Description

The architecture type, virtualization type, and other attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with those attributes.

If you specify InstanceRequirementsWithMetadataRequest, you can't specify InstanceTypes.

Members
ArchitectureTypes
Type: Array of strings

The architecture type.

InstanceRequirements
Type: InstanceRequirementsRequest structure

The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with those attributes.

VirtualizationTypes
Type: Array of strings

The virtualization type.

InstanceSpecification

Description

The instance details to specify which volumes should be snapshotted.

Members
ExcludeBootVolume
Type: boolean

Excludes the root volume from being snapshotted.

ExcludeDataVolumeIds
Type: Array of strings

The IDs of the data (non-root) volumes to exclude from the multi-volume snapshot set. If you specify the ID of the root volume, the request fails. To exclude the root volume, use ExcludeBootVolume.

You can specify up to 40 volume IDs per request.

InstanceId
Required: Yes
Type: string

The instance to specify which volumes should be snapshotted.

InstanceState

Description

Describes the current state of an instance.

Members
Code
Type: int

The state of the instance as a 16-bit unsigned integer.

The high byte is all of the bits between 2^8 and (2^16)-1, which equals decimal values between 256 and 65,535. These numerical values are used for internal purposes and should be ignored.

The low byte is all of the bits between 2^0 and (2^8)-1, which equals decimal values between 0 and 255.

The valid values for instance-state-code will all be in the range of the low byte and they are:

  • 0 : pending

  • 16 : running

  • 32 : shutting-down

  • 48 : terminated

  • 64 : stopping

  • 80 : stopped

You can ignore the high byte value by zeroing out all of the bits above 2^8 or 256 in decimal.

Name
Type: string

The current state of the instance.

InstanceStateChange

Description

Describes an instance state change.

Members
CurrentState
Type: InstanceState structure

The current state of the instance.

InstanceId
Type: string

The ID of the instance.

PreviousState
Type: InstanceState structure

The previous state of the instance.

InstanceStatus

Description

Describes the status of an instance.

Members
AttachedEbsStatus
Type: EbsStatusSummary structure

Reports impaired functionality that stems from an attached Amazon EBS volume that is unreachable and unable to complete I/O operations.

AvailabilityZone
Type: string

The Availability Zone of the instance.

Events
Type: Array of InstanceStatusEvent structures

Any scheduled events associated with the instance.

InstanceId
Type: string

The ID of the instance.

InstanceState
Type: InstanceState structure

The intended state of the instance. DescribeInstanceStatus requires that an instance be in the running state.

InstanceStatus
Type: InstanceStatusSummary structure

Reports impaired functionality that stems from issues internal to the instance, such as impaired reachability.

OutpostArn
Type: string

The Amazon Resource Name (ARN) of the Outpost.

SystemStatus
Type: InstanceStatusSummary structure

Reports impaired functionality that stems from issues related to the systems that support an instance, such as hardware failures and network connectivity problems.

InstanceStatusDetails

Description

Describes the instance status.

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

The time when a status check failed. For an instance that was launched and impaired, this is the time when the instance was launched.

Name
Type: string

The type of instance status.

Status
Type: string

The status.

InstanceStatusEvent

Description

Describes a scheduled event for an instance.

Members
Code
Type: string

The event code.

Description
Type: string

A description of the event.

After a scheduled event is completed, it can still be described for up to a week. If the event has been completed, this description starts with the following text: [Completed].

InstanceEventId
Type: string

The ID of the event.

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

The latest scheduled end time for the event.

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

The earliest scheduled start time for the event.

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

The deadline for starting the event.

InstanceStatusSummary

Description

Describes the status of an instance.

Members
Details
Type: Array of InstanceStatusDetails structures

The system instance health or application instance health.

Status
Type: string

The status.

InstanceStorageInfo

Description

Describes the instance store features that are supported by the instance type.

Members
Disks
Type: Array of DiskInfo structures

Describes the disks that are available for the instance type.

EncryptionSupport
Type: string

Indicates whether data is encrypted at rest.

NvmeSupport
Type: string

Indicates whether non-volatile memory express (NVMe) is supported.

TotalSizeInGB
Type: long (int|float)

The total size of the disks, in GB.

InstanceTagNotificationAttribute

Description

Describes the registered tag keys for the current Region.

Members
IncludeAllTagsOfInstance
Type: boolean

Indicates wheter all tag keys in the current Region are registered to appear in scheduled event notifications. true indicates that all tag keys in the current Region are registered.

InstanceTagKeys
Type: Array of strings

The registered tag keys.

InstanceTopology

Description

Information about the instance topology.

Members
AvailabilityZone
Type: string

The name of the Availability Zone or Local Zone that the instance is in.

GroupName
Type: string

The name of the placement group that the instance is in.

InstanceId
Type: string

The instance ID.

InstanceType
Type: string

The instance type.

NetworkNodes
Type: Array of strings

The network nodes. The nodes are hashed based on your account. Instances from different accounts running under the same server will return a different hashed list of strings.

ZoneId
Type: string

The ID of the Availability Zone or Local Zone that the instance is in.

InstanceTypeInfo

Description

Describes the instance type.

Members
AutoRecoverySupported
Type: boolean

Indicates whether Amazon CloudWatch action based recovery is supported.

BareMetal
Type: boolean

Indicates whether the instance is a bare metal instance type.

BurstablePerformanceSupported
Type: boolean

Indicates whether the instance type is a burstable performance T instance type. For more information, see Burstable performance instances.

CurrentGeneration
Type: boolean

Indicates whether the instance type is current generation.

DedicatedHostsSupported
Type: boolean

Indicates whether Dedicated Hosts are supported on the instance type.

EbsInfo
Type: EbsInfo structure

Describes the Amazon EBS settings for the instance type.

FpgaInfo
Type: FpgaInfo structure

Describes the FPGA accelerator settings for the instance type.

FreeTierEligible
Type: boolean

Indicates whether the instance type is eligible for the free tier.

GpuInfo
Type: GpuInfo structure

Describes the GPU accelerator settings for the instance type.

HibernationSupported
Type: boolean

Indicates whether On-Demand hibernation is supported.

Hypervisor
Type: string

The hypervisor for the instance type.

InferenceAcceleratorInfo
Type: InferenceAcceleratorInfo structure

Describes the Inference accelerator settings for the instance type.

InstanceStorageInfo
Type: InstanceStorageInfo structure

Describes the instance storage for the instance type.

InstanceStorageSupported
Type: boolean

Indicates whether instance storage is supported.

InstanceType
Type: string

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

MediaAcceleratorInfo
Type: MediaAcceleratorInfo structure

Describes the media accelerator settings for the instance type.

MemoryInfo
Type: MemoryInfo structure

Describes the memory for the instance type.

NetworkInfo
Type: NetworkInfo structure

Describes the network settings for the instance type.

NeuronInfo
Type: NeuronInfo structure

Describes the Neuron accelerator settings for the instance type.

NitroEnclavesSupport
Type: string

Indicates whether Nitro Enclaves is supported.

NitroTpmInfo
Type: NitroTpmInfo structure

Describes the supported NitroTPM versions for the instance type.

NitroTpmSupport
Type: string

Indicates whether NitroTPM is supported.

PhcSupport
Type: string

Indicates whether a local Precision Time Protocol (PTP) hardware clock (PHC) is supported.

PlacementGroupInfo
Type: PlacementGroupInfo structure

Describes the placement group settings for the instance type.

ProcessorInfo
Type: ProcessorInfo structure

Describes the processor.

SupportedBootModes
Type: Array of strings

The supported boot modes. For more information, see Boot modes in the Amazon EC2 User Guide.

SupportedRootDeviceTypes
Type: Array of strings

The supported root device types.

SupportedUsageClasses
Type: Array of strings

Indicates whether the instance type is offered for spot, On-Demand, or Capacity Blocks.

SupportedVirtualizationTypes
Type: Array of strings

The supported virtualization types.

VCpuInfo
Type: VCpuInfo structure

Describes the vCPU configurations for the instance type.

InstanceTypeInfoFromInstanceRequirements

Description

The list of instance types with the specified instance attributes.

Members
InstanceType
Type: string

The matching instance type.

InstanceTypeOffering

Description

The instance types offered.

Members
InstanceType
Type: string

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

Location
Type: string

The identifier for the location. This depends on the location type. For example, if the location type is region, the location is the Region code (for example, us-east-2.)

LocationType
Type: string

The location type.

InstanceUsage

Description

Information about the Capacity Reservation usage.

Members
AccountId
Type: string

The ID of the Amazon Web Services account that is making use of the Capacity Reservation.

UsedInstanceCount
Type: int

The number of instances the Amazon Web Services account currently has in the Capacity Reservation.

IntegrateServices

Description

Describes service integrations with VPC Flow logs.

Members
AthenaIntegrations
Type: Array of AthenaIntegration structures

Information about the integration with Amazon Athena.

InternetGateway

Description

Describes an internet gateway.

Members
Attachments
Type: Array of InternetGatewayAttachment structures

Any VPCs attached to the internet gateway.

InternetGatewayId
Type: string

The ID of the internet gateway.

OwnerId
Type: string

The ID of the Amazon Web Services account that owns the internet gateway.

Tags
Type: Array of Tag structures

Any tags assigned to the internet gateway.

InternetGatewayAttachment

Description

Describes the attachment of a VPC to an internet gateway or an egress-only internet gateway.

Members
State
Type: string

The current state of the attachment. For an internet gateway, the state is available when attached to a VPC; otherwise, this value is not returned.

VpcId
Type: string

The ID of the VPC.

IpPermission

Description

Describes the permissions for a security group rule.

Members
FromPort
Type: int

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

IpProtocol
Type: string

The IP protocol name (tcp, udp, icmp, icmpv6) or number (see Protocol Numbers).

Use -1 to specify all protocols. When authorizing security group rules, specifying -1 or a protocol number other than tcp, udp, icmp, or icmpv6 allows traffic on all ports, regardless of any port range you specify. For tcp, udp, and icmp, you must specify a port range. For icmpv6, the port range is optional; if you omit the port range, traffic for all types and codes is allowed.

IpRanges
Type: Array of IpRange structures

The IPv4 address ranges.

Ipv6Ranges
Type: Array of Ipv6Range structures

The IPv6 address ranges.

PrefixListIds
Type: Array of PrefixListId structures

The prefix list IDs.

ToPort
Type: int

If the protocol is TCP or UDP, this is the end of the port range. If the protocol is ICMP or ICMPv6, 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).

UserIdGroupPairs
Type: Array of UserIdGroupPair structures

The security group and Amazon Web Services account ID pairs.

IpRange

Description

Describes an IPv4 address range.

Members
CidrIp
Type: string

The IPv4 address range. You can either specify a CIDR block or a source security group, not both. To specify a single IPv4 address, use the /32 prefix length.

Description
Type: string

A description for the security group rule that references this IPv4 address range.

Constraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*

Ipam

Description

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 What is IPAM? in the Amazon VPC IPAM User Guide.

Members
DefaultResourceDiscoveryAssociationId
Type: string

The IPAM's default resource discovery association ID.

DefaultResourceDiscoveryId
Type: string

The IPAM's default resource discovery ID.

Description
Type: string

The description for the IPAM.

EnablePrivateGua
Type: boolean

Enable this option to use your own GUA ranges as private IPv6 addresses. This option is disabled by default.

IpamArn
Type: string

The Amazon Resource Name (ARN) of the IPAM.

IpamId
Type: string

The ID of the IPAM.

IpamRegion
Type: string

The Amazon Web Services Region of the IPAM.

OperatingRegions
Type: Array of IpamOperatingRegion structures

The operating Regions for an 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.

OwnerId
Type: string

The Amazon Web Services account ID of the owner of the IPAM.

PrivateDefaultScopeId
Type: string

The ID of the IPAM's default private scope.

PublicDefaultScopeId
Type: string

The ID of the IPAM's default public scope.

ResourceDiscoveryAssociationCount
Type: int

The IPAM's resource discovery association count.

ScopeCount
Type: int

The number of scopes in the IPAM. The scope quota is 5. For more information on quotas, see Quotas in IPAM in the Amazon VPC IPAM User Guide.

State
Type: string

The state of the IPAM.

StateMessage
Type: string

The state message.

Tags
Type: Array of Tag 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.

IpamAddressHistoryRecord

Description

The historical record of a CIDR within an IPAM scope. For more information, see View the history of IP addresses in the Amazon VPC IPAM User Guide.

Members
ResourceCidr
Type: string

The CIDR of the resource.

ResourceComplianceStatus
Type: string

The compliance status of a resource. For more information on compliance statuses, see Monitor CIDR usage by resource in the Amazon VPC IPAM User Guide.

ResourceId
Type: string

The ID of the resource.

ResourceName
Type: string

The name of the resource.

ResourceOverlapStatus
Type: string

The overlap status of an IPAM resource. The overlap status tells you if the CIDR for a resource overlaps with another CIDR in the scope. For more information on overlap statuses, see Monitor CIDR usage by resource in the Amazon VPC IPAM User Guide.

ResourceOwnerId
Type: string

The ID of the resource owner.

ResourceRegion
Type: string

The Amazon Web Services Region of the resource.

ResourceType
Type: string

The type of the resource.

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

Sampled end time of the resource-to-CIDR association within the IPAM scope. Changes are picked up in periodic snapshots, so the end time may have occurred before this specific time.

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

Sampled start time of the resource-to-CIDR association within the IPAM scope. Changes are picked up in periodic snapshots, so the start time may have occurred before this specific time.

VpcId
Type: string

The VPC ID of the resource.

IpamCidrAuthorizationContext

Description

A signed document that proves that you are authorized to bring the specified IP address range to Amazon using BYOIP.

Members
Message
Type: string

The plain-text authorization message for the prefix and account.

Signature
Type: string

The signed authorization message for the prefix and account.

IpamDiscoveredAccount

Description

An IPAM discovered account. A discovered account is an Amazon Web Services account that is monitored under a resource discovery. If you have integrated IPAM with Amazon Web Services Organizations, all accounts in the organization are discovered accounts.

Members
AccountId
Type: string

The account ID.

DiscoveryRegion
Type: string

The Amazon Web Services Region that the account information is returned from. An account can be discovered in multiple regions and will have a separate discovered account for each Region.

FailureReason
Type: IpamDiscoveryFailureReason structure

The resource discovery failure reason.

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

The last attempted resource discovery time.

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

The last successful resource discovery time.

IpamDiscoveredPublicAddress

Description

A public IP Address discovered by IPAM.

Members
Address
Type: string

The IP address.

AddressAllocationId
Type: string

The allocation ID of the resource the IP address is assigned to.

AddressOwnerId
Type: string

The ID of the owner of the resource the IP address is assigned to.

AddressRegion
Type: string

The Region of the resource the IP address is assigned to.

AddressType
Type: string

The IP address type.

AssociationStatus
Type: string

The association status.

InstanceId
Type: string

The instance ID of the instance the assigned IP address is assigned to.

IpamResourceDiscoveryId
Type: string

The resource discovery ID.

NetworkBorderGroup
Type: string

The Availability Zone (AZ) or Local Zone (LZ) network border group that the resource that the IP address is assigned to is in. Defaults to an AZ network border group. For more information on available Local Zones, see Local Zone availability in the Amazon EC2 User Guide.

NetworkInterfaceDescription
Type: string

The description of the network interface that IP address is assigned to.

NetworkInterfaceId
Type: string

The network interface ID of the resource with the assigned IP address.

PublicIpv4PoolId
Type: string

The ID of the public IPv4 pool that the resource with the assigned IP address is from.

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

The last successful resource discovery time.

SecurityGroups
Type: Array of IpamPublicAddressSecurityGroup structures

Security groups associated with the resource that the IP address is assigned to.

Service
Type: string

The Amazon Web Services service associated with the IP address.

ServiceResource
Type: string

The resource ARN or ID.

SubnetId
Type: string

The ID of the subnet that the resource with the assigned IP address is in.

Tags
Type: IpamPublicAddressTags structure

Tags associated with the IP address.

VpcId
Type: string

The ID of the VPC that the resource with the assigned IP address is in.

IpamDiscoveredResourceCidr

Description

An IPAM discovered resource CIDR. A discovered resource is a resource CIDR monitored under a resource discovery. The following resources can be discovered: VPCs, Public IPv4 pools, VPC subnets, and Elastic IP addresses. The discovered resource CIDR is the IP address range in CIDR notation that is associated with the resource.

Members
AvailabilityZoneId
Type: string

The Availability Zone ID.

IpSource
Type: string

The source that allocated the IP address space. byoip or amazon indicates public IP address space allocated by Amazon or space that you have allocated with Bring your own IP (BYOIP). none indicates private space.

IpUsage
Type: double

The percentage of IP address space in use. To convert the decimal to a percentage, multiply the decimal by 100. Note the following:

  • For resources that are VPCs, this is the percentage of IP address space in the VPC that's taken up by subnet CIDRs.

  • For resources that are subnets, if the subnet has an IPv4 CIDR provisioned to it, this is the percentage of IPv4 address space in the subnet that's in use. If the subnet has an IPv6 CIDR provisioned to it, the percentage of IPv6 address space in use is not represented. The percentage of IPv6 address space in use cannot currently be calculated.

  • For resources that are public IPv4 pools, this is the percentage of IP address space in the pool that's been allocated to Elastic IP addresses (EIPs).

IpamResourceDiscoveryId
Type: string

The resource discovery ID.

NetworkInterfaceAttachmentStatus
Type: string

For elastic network interfaces, this is the status of whether or not the elastic network interface is attached.

ResourceCidr
Type: string

The resource CIDR.

ResourceId
Type: string

The resource ID.

ResourceOwnerId
Type: string

The resource owner ID.

ResourceRegion
Type: string

The resource Region.

ResourceTags
Type: Array of IpamResourceTag structures

The resource tags.

ResourceType
Type: string

The resource type.

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

The last successful resource discovery time.

SubnetId
Type: string

The subnet ID.

VpcId
Type: string

The VPC ID.

IpamDiscoveryFailureReason

Description

The discovery failure reason.

Members
Code
Type: string

The discovery failure code.

  • assume-role-failure - IPAM could not assume the Amazon Web Services IAM service-linked role. This could be because of any of the following:

    • SLR has not been created yet and IPAM is still creating it.

    • You have opted-out of the IPAM home Region.

    • Account you are using as your IPAM account has been suspended.

  • throttling-failure - IPAM account is already using the allotted transactions per second and IPAM is receiving a throttling error when assuming the Amazon Web Services IAM SLR.

  • unauthorized-failure - Amazon Web Services account making the request is not authorized. For more information, see AuthFailure in the Amazon Elastic Compute Cloud API Reference.

Message
Type: string

The discovery failure message.

IpamExternalResourceVerificationToken

Description

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).

Members
IpamArn
Type: string

ARN of the IPAM that created the token.

IpamExternalResourceVerificationTokenArn
Type: string

Token ARN.

IpamExternalResourceVerificationTokenId
Type: string

The ID of the token.

IpamId
Type: string

The ID of the IPAM that created the token.

IpamRegion
Type: string

Region of the IPAM that created the token.

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

Token expiration.

State
Type: string

Token state.

Status
Type: string

Token status.

Tags
Type: Array of Tag structures

Token tags.

TokenName
Type: string

Token name.

TokenValue
Type: string

Token value.

IpamOperatingRegion

Description

The operating Regions for an 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.

Members
RegionName
Type: string

The name of the operating Region.

IpamPool

Description

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.

Members
AddressFamily
Type: string

The address family of the 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 IpamResourceTag 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.

Description
Type: string

The description of the IPAM pool.

IpamArn
Type: string

The ARN of the IPAM.

IpamPoolArn
Type: string

The Amazon Resource Name (ARN) of the IPAM pool.

IpamPoolId
Type: string

The ID of the IPAM pool.

IpamRegion
Type: string

The Amazon Web Services Region of the IPAM pool.

IpamScopeArn
Type: string

The ARN of the scope of the IPAM pool.

IpamScopeType
Type: string

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.

Locale
Type: string

The locale of the IPAM pool.

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.

If you choose an Amazon Web Services Region for locale that has not been configured as an operating Region for the IPAM, you'll get an error.

OwnerId
Type: string

The Amazon Web Services account ID of the owner of the IPAM pool.

PoolDepth
Type: int

The depth of pools in your IPAM pool. The pool depth quota is 10. For more information, see Quotas in IPAM in the Amazon VPC IPAM User Guide.

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. For information on increasing the default limit, see Quotas for your IPAM in the Amazon VPC IPAM User Guide.

PubliclyAdvertisable
Type: boolean

Determines if a pool is publicly advertisable. This option is not available for pools with AddressFamily set to ipv4.

SourceIpamPoolId
Type: string

The ID of the source IPAM pool. You can use this option to create an IPAM pool within an existing source pool.

SourceResource
Type: IpamPoolSourceResource structure

The resource used to provision CIDRs to a resource planning pool.

State
Type: string

The state of the IPAM pool.

StateMessage
Type: string

The state message.

Tags
Type: Array of Tag 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.

IpamPoolAllocation

Description

In IPAM, an allocation is a CIDR assignment from an IPAM pool to another IPAM pool or to a resource.

Members
Cidr
Type: string

The CIDR for the allocation. A CIDR is a representation of an IP address and its associated network mask (or netmask) and refers to a range of IP addresses. An IPv4 CIDR example is 10.24.34.0/23. An IPv6 CIDR example is 2001:DB8::/32.

Description
Type: string

A description of the pool allocation.

IpamPoolAllocationId
Type: string

The ID of an allocation.

ResourceId
Type: string

The ID of the resource.

ResourceOwner
Type: string

The owner of the resource.

ResourceRegion
Type: string

The Amazon Web Services Region of the resource.

ResourceType
Type: string

The type of the resource.

IpamPoolCidr

Description

A CIDR provisioned to an IPAM pool.

Members
Cidr
Type: string

The CIDR provisioned to the IPAM pool. A CIDR is a representation of an IP address and its associated network mask (or netmask) and refers to a range of IP addresses. An IPv4 CIDR example is 10.24.34.0/23. An IPv6 CIDR example is 2001:DB8::/32.

FailureReason
Type: IpamPoolCidrFailureReason structure

Details related to why an IPAM pool CIDR failed to be provisioned.

IpamPoolCidrId
Type: string

The IPAM pool CIDR ID.

NetmaskLength
Type: int

The netmask length of the CIDR you'd like to provision to a pool. Can be used for provisioning Amazon-provided IPv6 CIDRs to top-level pools and for provisioning CIDRs to pools with source pools. Cannot be used to provision BYOIP CIDRs to top-level pools. "NetmaskLength" or "Cidr" is required.

State
Type: string

The state of the CIDR.

IpamPoolCidrFailureReason

Description

Details related to why an IPAM pool CIDR failed to be provisioned.

Members
Code
Type: string

An error code related to why an IPAM pool CIDR failed to be provisioned.

Message
Type: string

A message related to why an IPAM pool CIDR failed to be provisioned.

IpamPoolSourceResource

Description

The resource used to provision CIDRs to a resource planning pool.

Members
ResourceId
Type: string

The source resource ID.

ResourceOwner
Type: string

The source resource owner.

ResourceRegion
Type: string

The source resource Region.

ResourceType
Type: string

The source resource type.

IpamPoolSourceResourceRequest

Description

The resource used to provision CIDRs to a resource planning pool.

Members
ResourceId
Type: string

The source resource ID.

ResourceOwner
Type: string

The source resource owner.

ResourceRegion
Type: string

The source resource Region.

ResourceType
Type: string

The source resource type.

IpamPublicAddressSecurityGroup

Description

The security group that the resource with the public IP address is in.

Members
GroupId
Type: string

The security group's ID.

GroupName
Type: string

The security group's name.

IpamPublicAddressTag

Description

A tag for a public IP address discovered by IPAM.

Members
Key
Type: string

The tag's key.

Value
Type: string

The tag's value.

IpamPublicAddressTags

Description

Tags for a public IP address discovered by IPAM.

Members
EipTags
Type: Array of IpamPublicAddressTag structures

Tags for an Elastic IP address.

IpamResourceCidr

Description

The CIDR for an IPAM resource.

Members
AvailabilityZoneId
Type: string

The Availability Zone ID.

ComplianceStatus
Type: string

The compliance status of the IPAM resource. For more information on compliance statuses, see Monitor CIDR usage by resource in the Amazon VPC IPAM User Guide.

IpUsage
Type: double

The percentage of IP address space in use. To convert the decimal to a percentage, multiply the decimal by 100. Note the following:

  • For resources that are VPCs, this is the percentage of IP address space in the VPC that's taken up by subnet CIDRs.

  • For resources that are subnets, if the subnet has an IPv4 CIDR provisioned to it, this is the percentage of IPv4 address space in the subnet that's in use. If the subnet has an IPv6 CIDR provisioned to it, the percentage of IPv6 address space in use is not represented. The percentage of IPv6 address space in use cannot currently be calculated.

  • For resources that are public IPv4 pools, this is the percentage of IP address space in the pool that's been allocated to Elastic IP addresses (EIPs).

IpamId
Type: string

The IPAM ID for an IPAM resource.

IpamPoolId
Type: string

The pool ID for an IPAM resource.

IpamScopeId
Type: string

The scope ID for an IPAM resource.

ManagementState
Type: string

The management state of the resource. For more information about management states, see Monitor CIDR usage by resource in the Amazon VPC IPAM User Guide.

OverlapStatus
Type: string

The overlap status of an IPAM resource. The overlap status tells you if the CIDR for a resource overlaps with another CIDR in the scope. For more information on overlap statuses, see Monitor CIDR usage by resource in the Amazon VPC IPAM User Guide.

ResourceCidr
Type: string

The CIDR for an IPAM resource.

ResourceId
Type: string

The ID of an IPAM resource.

ResourceName
Type: string

The name of an IPAM resource.

ResourceOwnerId
Type: string

The Amazon Web Services account number of the owner of an IPAM resource.

ResourceRegion
Type: string

The Amazon Web Services Region for an IPAM resource.

ResourceTags
Type: Array of IpamResourceTag structures

The tags for an IPAM resource.

ResourceType
Type: string

The type of IPAM resource.

VpcId
Type: string

The ID of a VPC.

IpamResourceDiscovery

Description

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

Members
Description
Type: string

The resource discovery description.

IpamResourceDiscoveryArn
Type: string

The resource discovery Amazon Resource Name (ARN).

IpamResourceDiscoveryId
Type: string

The resource discovery ID.

IpamResourceDiscoveryRegion
Type: string

The resource discovery Region.

IsDefault
Type: boolean

Defines if the resource discovery is the default. The default resource discovery is the resource discovery automatically created when you create an IPAM.

OperatingRegions
Type: Array of IpamOperatingRegion structures

The operating Regions for the 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.

OwnerId
Type: string

The ID of the owner.

State
Type: string

The lifecycle state of the resource discovery.

  • create-in-progress - Resource discovery is being created.

  • create-complete - Resource discovery creation is complete.

  • create-failed - Resource discovery creation has failed.

  • modify-in-progress - Resource discovery is being modified.

  • modify-complete - Resource discovery modification is complete.

  • modify-failed - Resource discovery modification has failed.

  • delete-in-progress - Resource discovery is being deleted.

  • delete-complete - Resource discovery deletion is complete.

  • delete-failed - Resource discovery deletion has failed.

  • isolate-in-progress - Amazon Web Services account that created the resource discovery has been removed and the resource discovery is being isolated.

  • isolate-complete - Resource discovery isolation is complete.

  • restore-in-progress - Amazon Web Services account that created the resource discovery and was isolated has been restored.

Tags
Type: Array of Tag structures

A tag is a label that you assign to an Amazon Web Services resource. Each tag consists of a key and an optional value. You can use tags to search and filter your resources or track your Amazon Web Services costs.

IpamResourceDiscoveryAssociation

Description

An IPAM resource discovery association. An associated resource discovery is a resource discovery that has been associated with an IPAM. IPAM aggregates the resource CIDRs discovered by the associated resource discovery.

Members
IpamArn
Type: string

The IPAM ARN.

IpamId
Type: string

The IPAM ID.

IpamRegion
Type: string

The IPAM home Region.

IpamResourceDiscoveryAssociationArn
Type: string

The resource discovery association Amazon Resource Name (ARN).

IpamResourceDiscoveryAssociationId
Type: string

The resource discovery association ID.

IpamResourceDiscoveryId
Type: string

The resource discovery ID.

IsDefault
Type: boolean

Defines if the resource discovery is the default. When you create an IPAM, a default resource discovery is created for your IPAM and it's associated with your IPAM.

OwnerId
Type: string

The Amazon Web Services account ID of the resource discovery owner.

ResourceDiscoveryStatus
Type: string

The resource discovery status.

  • active - Connection or permissions required to read the results of the resource discovery are intact.

  • not-found - Connection or permissions required to read the results of the resource discovery are broken. This may happen if the owner of the resource discovery stopped sharing it or deleted the resource discovery. Verify the resource discovery still exists and the Amazon Web Services RAM resource share is still intact.

State
Type: string

The lifecycle state of the association when you associate or disassociate a resource discovery.

  • associate-in-progress - Resource discovery is being associated.

  • associate-complete - Resource discovery association is complete.

  • associate-failed - Resource discovery association has failed.

  • disassociate-in-progress - Resource discovery is being disassociated.

  • disassociate-complete - Resource discovery disassociation is complete.

  • disassociate-failed - Resource discovery disassociation has failed.

  • isolate-in-progress - Amazon Web Services account that created the resource discovery association has been removed and the resource discovery associatation is being isolated.

  • isolate-complete - Resource discovery isolation is complete..

  • restore-in-progress - Resource discovery is being restored.

Tags
Type: Array of Tag structures

A tag is a label that you assign to an Amazon Web Services resource. Each tag consists of a key and an optional value. You can use tags to search and filter your resources or track your Amazon Web Services costs.

IpamResourceTag

Description

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.

Members
Key
Type: string

The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

Value
Type: string

The value of the tag.

IpamScope

Description

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 How IPAM works in the Amazon VPC IPAM User Guide.

Members
Description
Type: string

The description of the scope.

IpamArn
Type: string

The ARN of the IPAM.

IpamRegion
Type: string

The Amazon Web Services Region of the IPAM scope.

IpamScopeArn
Type: string

The Amazon Resource Name (ARN) of the scope.

IpamScopeId
Type: string

The ID of the scope.

IpamScopeType
Type: string

The type of the scope.

IsDefault
Type: boolean

Defines if the scope is the default scope or not.

OwnerId
Type: string

The Amazon Web Services account ID of the owner of the scope.

PoolCount
Type: int

The number of pools in the scope.

State
Type: string

The state of the IPAM scope.

Tags
Type: Array of Tag 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.

Ipv4PrefixSpecificationRequest

Description

Describes the IPv4 prefix option for a network interface.

Members
Ipv4Prefix
Type: string

The IPv4 prefix. For information, see Assigning prefixes to network interfaces in the Amazon EC2 User Guide.

Ipv4PrefixSpecificationResponse

Description

Information about the IPv4 delegated prefixes assigned to a network interface.

Members
Ipv4Prefix
Type: string

The IPv4 delegated prefixes assigned to the network interface.

Ipv6CidrAssociation

Description

Describes an IPv6 CIDR block association.

Members
AssociatedResource
Type: string

The resource that's associated with the IPv6 CIDR block.

Ipv6Cidr
Type: string

The IPv6 CIDR block.

Ipv6CidrBlock

Description

Describes an IPv6 CIDR block.

Members
Ipv6CidrBlock
Type: string

The IPv6 CIDR block.

Ipv6Pool

Description

Describes an IPv6 address pool.

Members
Description
Type: string

The description for the address pool.

PoolCidrBlocks
Type: Array of PoolCidrBlock structures

The CIDR blocks for the address pool.

PoolId
Type: string

The ID of the address pool.

Tags
Type: Array of Tag structures

Any tags for the address pool.

Ipv6PrefixSpecification

Description

Describes the IPv6 prefix.

Members
Ipv6Prefix
Type: string

The IPv6 prefix.

Ipv6PrefixSpecificationRequest

Description

Describes the IPv4 prefix option for a network interface.

Members
Ipv6Prefix
Type: string

The IPv6 prefix.

Ipv6PrefixSpecificationResponse

Description

Information about the IPv6 delegated prefixes assigned to a network interface.

Members
Ipv6Prefix
Type: string

The IPv6 delegated prefixes assigned to the network interface.

Ipv6Range

Description

Describes an IPv6 address range.

Members
CidrIpv6
Type: string

The IPv6 address range. You can either specify a CIDR block or a source security group, not both. To specify a single IPv6 address, use the /128 prefix length.

Description
Type: string

A description for the security group rule that references this IPv6 address range.

Constraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*

KeyPairInfo

Description

Describes a key pair.

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

If you used Amazon EC2 to create the key pair, this is the date and time when the key was created, in ISO 8601 date-time format, in the UTC time zone.

If you imported an existing key pair to Amazon EC2, this is the date and time the key was imported, in ISO 8601 date-time format, in the UTC time zone.

KeyFingerprint
Type: string

If you used CreateKeyPair to create the key pair:

  • 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.

If you used ImportKeyPair to provide Amazon Web Services the public key:

  • For RSA key pairs, the key fingerprint is the MD5 public key fingerprint as specified in section 4 of RFC4716.

  • 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.

KeyName
Type: string

The name of the key pair.

KeyPairId
Type: string

The ID of the key pair.

KeyType
Type: string

The type of key pair.

PublicKey
Type: string

The public key material.

Tags
Type: Array of Tag structures

Any tags applied to the key pair.

LastError

Description

The last error that occurred for a VPC endpoint.

Members
Code
Type: string

The error code for the VPC endpoint error.

Message
Type: string

The error message for the VPC endpoint error.

LaunchPermission

Description

Describes a launch permission.

Members
Group
Type: string

The name of the group.

OrganizationArn
Type: string

The Amazon Resource Name (ARN) of an organization.

OrganizationalUnitArn
Type: string

The Amazon Resource Name (ARN) of an organizational unit (OU).

UserId
Type: string

The Amazon Web Services account ID.

Constraints: Up to 10 000 account IDs can be specified in a single request.

LaunchPermissionModifications

Description

Describes a launch permission modification.

Members
Add
Type: Array of LaunchPermission structures

The Amazon Web Services account ID, organization ARN, or OU ARN to add to the list of launch permissions for the AMI.

Remove
Type: Array of LaunchPermission structures

The Amazon Web Services account ID, organization ARN, or OU ARN to remove from the list of launch permissions for the AMI.

LaunchSpecification

Description

Describes the launch specification for an instance.

Members
AddressingType
Type: string

Deprecated.

BlockDeviceMappings
Type: Array of BlockDeviceMapping structures

The block device mapping entries.

EbsOptimized
Type: boolean

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

Default: false

IamInstanceProfile

The IAM instance profile.

ImageId
Type: string

The ID of the AMI.

InstanceType
Type: string

The instance type. Only one instance type can be specified.

KernelId
Type: string

The ID of the kernel.

KeyName
Type: string

The name of the key pair.

Monitoring

Describes the monitoring of an instance.

NetworkInterfaces
Type: Array of InstanceNetworkInterfaceSpecification structures

The network interfaces. If you specify a network interface, you must specify subnet IDs and security group IDs using the network interface.

Placement
Type: SpotPlacement structure

The placement information for the instance.

RamdiskId
Type: string

The ID of the RAM disk.

SecurityGroups
Type: Array of GroupIdentifier structures

The IDs of the security groups.

SubnetId
Type: string

The ID of the subnet in which to launch the instance.

UserData
Type: string

The base64-encoded user data that instances use when starting up. User data is limited to 16 KB.

LaunchTemplate

Description

Describes a launch template.

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

The time launch template was created.

CreatedBy
Type: string

The principal that created the launch template.

DefaultVersionNumber
Type: long (int|float)

The version number of the default version of the launch template.

LatestVersionNumber
Type: long (int|float)

The version number of the latest version of the launch template.

LaunchTemplateId
Type: string

The ID of the launch template.

LaunchTemplateName
Type: string

The name of the launch template.

Tags
Type: Array of Tag structures

The tags for the launch template.

LaunchTemplateAndOverridesResponse

Description

Describes a launch template and overrides.

Members
LaunchTemplateSpecification

The launch template.

Overrides

Any parameters that you specify override the same parameters in the launch template.

LaunchTemplateBlockDeviceMapping

Description

Describes a block device mapping.

Members
DeviceName
Type: string

The device name.

Ebs

Information about the block device for an EBS volume.

NoDevice
Type: string

To omit the device from the block device mapping, specify an empty string.

VirtualName
Type: string

The virtual device name (ephemeralN).

LaunchTemplateBlockDeviceMappingRequest

Description

Describes a block device mapping.

Members
DeviceName
Type: string

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

Ebs

Parameters used to automatically set up EBS volumes when the instance is launched.

NoDevice
Type: string

To omit the device from the block device mapping, specify an empty string.

VirtualName
Type: string

The virtual device name (ephemeralN). Instance store volumes are numbered starting from 0. An instance type with 2 available instance store volumes can specify mappings for ephemeral0 and ephemeral1. The number of available instance store volumes depends on the instance type. After you connect to the instance, you must mount the volume.

LaunchTemplateCapacityReservationSpecificationRequest

Description

Describes an instance's Capacity Reservation targeting option. You can specify only one option at a time. Use the CapacityReservationPreference parameter to configure the instance to run in On-Demand capacity or to run in any open Capacity Reservation that has matching attributes (instance type, platform, Availability Zone). Use the CapacityReservationTarget parameter to explicitly target a specific Capacity Reservation or a Capacity Reservation group.

Members
CapacityReservationPreference
Type: string

Indicates the instance's Capacity Reservation preferences. Possible preferences include:

  • open - The instance can run in any open Capacity Reservation that has matching attributes (instance type, platform, Availability Zone).

  • none - The instance avoids running in a Capacity Reservation even if one is available. The instance runs in On-Demand capacity.

CapacityReservationTarget
Type: CapacityReservationTarget structure

Information about the target Capacity Reservation or Capacity Reservation group.

LaunchTemplateCapacityReservationSpecificationResponse

Description

Information about the Capacity Reservation targeting option.

Members
CapacityReservationPreference
Type: string

Indicates the instance's Capacity Reservation preferences. Possible preferences include:

  • open - The instance can run in any open Capacity Reservation that has matching attributes (instance type, platform, Availability Zone).

  • none - The instance avoids running in a Capacity Reservation even if one is available. The instance runs in On-Demand capacity.

CapacityReservationTarget

Information about the target Capacity Reservation or Capacity Reservation group.

LaunchTemplateConfig

Description

Describes a launch template and overrides.

Members
LaunchTemplateSpecification

The launch template to use. Make sure that the launch template does not contain the NetworkInterfaceId parameter because you can't specify a network interface ID in a Spot Fleet.

Overrides
Type: Array of LaunchTemplateOverrides structures

Any parameters that you specify override the same parameters in the launch template.

LaunchTemplateCpuOptions

Description

The CPU options for the instance.

Members
AmdSevSnp
Type: string

Indicates whether the instance is enabled for AMD SEV-SNP. For more information, see AMD SEV-SNP.

CoreCount
Type: int

The number of CPU cores for the instance.

ThreadsPerCore
Type: int

The number of threads per CPU core.

LaunchTemplateCpuOptionsRequest

Description

The CPU options for the instance. Both the core count and threads per core must be specified in the request.

Members
AmdSevSnp
Type: string

Indicates whether to enable the instance for AMD SEV-SNP. AMD SEV-SNP is supported with M6a, R6a, and C6a instance types only. For more information, see AMD SEV-SNP.

CoreCount
Type: int

The number of CPU cores for the instance.

ThreadsPerCore
Type: int

The number of threads per CPU core. To disable multithreading for the instance, specify a value of 1. Otherwise, specify the default value of 2.

LaunchTemplateEbsBlockDevice

Description

Describes a block device for an EBS volume.

Members
DeleteOnTermination
Type: boolean

Indicates whether the EBS volume is deleted on instance termination.

Encrypted
Type: boolean

Indicates whether the EBS volume is encrypted.

Iops
Type: int

The number of I/O operations per second (IOPS) that the volume supports.

KmsKeyId
Type: string

Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption.

SnapshotId
Type: string

The ID of the snapshot.

Throughput
Type: int

The throughput that the volume supports, in MiB/s.

VolumeSize
Type: int

The size of the volume, in GiB.

VolumeType
Type: string

The volume type.

LaunchTemplateEbsBlockDeviceRequest

Description

The parameters for a block device for an EBS volume.

Members
DeleteOnTermination
Type: boolean

Indicates whether the EBS volume is deleted on instance termination.

Encrypted
Type: boolean

Indicates whether the EBS volume is encrypted. Encrypted volumes can only be attached to instances that support Amazon EBS encryption. If you are creating a volume from a snapshot, you can't specify an encryption value.

Iops
Type: int

The number of I/O operations per second (IOPS). For gp3, io1, and io2 volumes, this represents the number of IOPS that are provisioned for the volume. For gp2 volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting.

The following are the supported values for each volume type:

  • gp3: 3,000 - 16,000 IOPS

  • io1: 100 - 64,000 IOPS

  • io2: 100 - 256,000 IOPS

For io2 volumes, you can achieve up to 256,000 IOPS on instances built on the Nitro System. On other instances, you can achieve performance up to 32,000 IOPS.

This parameter is supported for io1, io2, and gp3 volumes only.

KmsKeyId
Type: string

Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption.

SnapshotId
Type: string

The ID of the snapshot.

Throughput
Type: int

The throughput to provision for a gp3 volume, with a maximum of 1,000 MiB/s.

Valid Range: Minimum value of 125. Maximum value of 1000.

VolumeSize
Type: int

The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. The following are the supported volumes sizes for each volume type:

  • gp2 and gp3: 1 - 16,384 GiB

  • io1: 4 - 16,384 GiB

  • io2: 4 - 65,536 GiB

  • st1 and sc1: 125 - 16,384 GiB

  • standard: 1 - 1024 GiB

VolumeType
Type: string

The volume type. For more information, see Amazon EBS volume types in the Amazon EBS User Guide.

LaunchTemplateElasticInferenceAccelerator

Description

Amazon Elastic Inference is no longer available.

Describes an elastic inference accelerator.

Members
Count
Type: int

The number of elastic inference accelerators to attach to the instance.

Default: 1

Type
Required: Yes
Type: string

The type of elastic inference accelerator. The possible values are eia1.medium, eia1.large, and eia1.xlarge.

LaunchTemplateElasticInferenceAcceleratorResponse

Description

Amazon Elastic Inference is no longer available.

Describes an elastic inference accelerator.

Members
Count
Type: int

The number of elastic inference accelerators to attach to the instance.

Default: 1

Type
Type: string

The type of elastic inference accelerator. The possible values are eia1.medium, eia1.large, and eia1.xlarge.

LaunchTemplateEnaSrdSpecification

Description

ENA Express uses Amazon Web Services Scalable Reliable Datagram (SRD) technology to increase the maximum bandwidth used per stream and minimize tail latency of network traffic between EC2 instances. With ENA Express, you can communicate between two EC2 instances in the same subnet within the same account, or in different accounts. Both sending and receiving instances must have ENA Express enabled.

To improve the reliability of network packet delivery, ENA Express reorders network packets on the receiving end by default. However, some UDP-based applications are designed to handle network packets that are out of order to reduce the overhead for packet delivery at the network layer. When ENA Express is enabled, you can specify whether UDP network traffic uses it.

Members
EnaSrdEnabled
Type: boolean

Indicates whether ENA Express is enabled for the network interface.

EnaSrdUdpSpecification

Configures ENA Express for UDP network traffic.

LaunchTemplateEnaSrdUdpSpecification

Description

ENA Express is compatible with both TCP and UDP transport protocols. When it's enabled, TCP traffic automatically uses it. However, some UDP-based applications are designed to handle network packets that are out of order, without a need for retransmission, such as live video broadcasting or other near-real-time applications. For UDP traffic, you can specify whether to use ENA Express, based on your application environment needs.

Members
EnaSrdUdpEnabled
Type: boolean

Indicates whether UDP traffic to and from the instance uses ENA Express. To specify this setting, you must first enable ENA Express.

LaunchTemplateEnclaveOptions

Description

Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves.

Members
Enabled
Type: boolean

If this parameter is set to true, the instance is enabled for Amazon Web Services Nitro Enclaves; otherwise, it is not enabled for Amazon Web Services Nitro Enclaves.

LaunchTemplateEnclaveOptionsRequest

Description

Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves. For more information, see What is Amazon Web Services Nitro Enclaves? in the Amazon Web Services Nitro Enclaves User Guide.

Members
Enabled
Type: boolean

To enable the instance for Amazon Web Services Nitro Enclaves, set this parameter to true.

LaunchTemplateHibernationOptions

Description

Indicates whether an instance is configured for hibernation.

Members
Configured
Type: boolean

If this parameter is set to true, the instance is enabled for hibernation; otherwise, it is not enabled for hibernation.

LaunchTemplateHibernationOptionsRequest

Description

Indicates whether the instance is configured for hibernation. This parameter is valid only if the instance meets the hibernation prerequisites.

Members
Configured
Type: boolean

If you set this parameter to true, the instance is enabled for hibernation.

Default: false

LaunchTemplateIamInstanceProfileSpecification

Description

Describes an IAM instance profile.

Members
Arn
Type: string

The Amazon Resource Name (ARN) of the instance profile.

Name
Type: string

The name of the instance profile.

LaunchTemplateIamInstanceProfileSpecificationRequest

Description

An IAM instance profile.

Members
Arn
Type: string

The Amazon Resource Name (ARN) of the instance profile.

Name
Type: string

The name of the instance profile.

LaunchTemplateInstanceMaintenanceOptions

Description

The maintenance options of your instance.

Members
AutoRecovery
Type: string

Disables the automatic recovery behavior of your instance or sets it to default.

LaunchTemplateInstanceMaintenanceOptionsRequest

Description

The maintenance options of your instance.

Members
AutoRecovery
Type: string

Disables the automatic recovery behavior of your instance or sets it to default. For more information, see Simplified automatic recovery.

LaunchTemplateInstanceMarketOptions

Description

The market (purchasing) option for the instances.

Members
MarketType
Type: string

The market type.

SpotOptions

The options for Spot Instances.

LaunchTemplateInstanceMarketOptionsRequest

Description

The market (purchasing) option for the instances.

Members
MarketType
Type: string

The market type.

SpotOptions

The options for Spot Instances.

LaunchTemplateInstanceMetadataOptions

Description

The metadata options for the instance. For more information, see Instance metadata and user data in the Amazon EC2 User Guide.

Members
HttpEndpoint
Type: string

Enables or disables the HTTP metadata endpoint on your instances. If the parameter is not specified, the default state is enabled.

If you specify a value of disabled, you will not be able to access your instance metadata.

HttpProtocolIpv6
Type: string

Enables or disables the IPv6 endpoint for the instance metadata service.

Default: disabled

HttpPutResponseHopLimit
Type: int

The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel.

Default: 1

Possible values: Integers from 1 to 64

HttpTokens
Type: string

Indicates whether IMDSv2 is required.

  • optional - IMDSv2 is optional. You can choose whether to send a session token in your instance metadata retrieval requests. If you retrieve IAM role credentials without a session token, you receive the IMDSv1 role credentials. If you retrieve IAM role credentials using a valid session token, you receive the IMDSv2 role credentials.

  • required - IMDSv2 is required. You must send a session token in your instance metadata retrieval requests. With this option, retrieving the IAM role credentials always returns IMDSv2 credentials; IMDSv1 credentials are not available.

InstanceMetadataTags
Type: string

Set to enabled to allow access to instance tags from the instance metadata. Set to disabled to turn off access to instance tags from the instance metadata. For more information, see Work with instance tags using the instance metadata.

Default: disabled

State
Type: string

The state of the metadata option changes.

pending - The metadata options are being updated and the instance is not ready to process metadata traffic with the new selection.

applied - The metadata options have been successfully applied on the instance.

LaunchTemplateInstanceMetadataOptionsRequest

Description

The metadata options for the instance. For more information, see Instance metadata and user data in the Amazon EC2 User Guide.

Members
HttpEndpoint
Type: string

Enables or disables the HTTP metadata endpoint on your instances. If the parameter is not specified, the default state is enabled.

If you specify a value of disabled, you will not be able to access your instance metadata.

HttpProtocolIpv6
Type: string

Enables or disables the IPv6 endpoint for the instance metadata service.

Default: disabled

HttpPutResponseHopLimit
Type: int

The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel.

Default: 1

Possible values: Integers from 1 to 64

HttpTokens
Type: string

Indicates whether IMDSv2 is required.

  • optional - IMDSv2 is optional. You can choose whether to send a session token in your instance metadata retrieval requests. If you retrieve IAM role credentials without a session token, you receive the IMDSv1 role credentials. If you retrieve IAM role credentials using a valid session token, you receive the IMDSv2 role credentials.

  • required - IMDSv2 is required. You must send a session token in your instance metadata retrieval requests. With this option, retrieving the IAM role credentials always returns IMDSv2 credentials; IMDSv1 credentials are not available.

Default: If the value of ImdsSupport for the Amazon Machine Image (AMI) for your instance is v2.0, the default is required.

InstanceMetadataTags
Type: string

Set to enabled to allow access to instance tags from the instance metadata. Set to disabled to turn off access to instance tags from the instance metadata. For more information, see Work with instance tags using the instance metadata.

Default: disabled

LaunchTemplateInstanceNetworkInterfaceSpecification

Description

Describes a network interface.

Members
AssociateCarrierIpAddress
Type: boolean

Indicates whether to associate a Carrier IP address with eth0 for a new network interface.

Use this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface. For more information about Carrier IP addresses, see Carrier IP addresses in the Wavelength Developer Guide.

AssociatePublicIpAddress
Type: boolean

Indicates whether to associate a public IPv4 address with eth0 for a new network interface.

Amazon Web Services charges for all public IPv4 addresses, including public IPv4 addresses associated with running instances and Elastic IP addresses. For more information, see the Public IPv4 Address tab on the Amazon VPC pricing page.

ConnectionTrackingSpecification

A security group connection tracking specification that enables you to set the timeout for connection tracking on an Elastic network interface. For more information, see Idle connection tracking timeout in the Amazon EC2 User Guide.

DeleteOnTermination
Type: boolean

Indicates whether the network interface is deleted when the instance is terminated.

Description
Type: string

A description for the network interface.

DeviceIndex
Type: int

The device index for the network interface attachment.

EnaSrdSpecification

Contains the ENA Express settings for instances launched from your launch template.

Groups
Type: Array of strings

The IDs of one or more security groups.

InterfaceType
Type: string

The type of network interface.

Ipv4PrefixCount
Type: int

The number of IPv4 prefixes that Amazon Web Services automatically assigned to the network interface.

Ipv4Prefixes
Type: Array of Ipv4PrefixSpecificationResponse structures

One or more IPv4 prefixes assigned to the network interface.

Ipv6AddressCount
Type: int

The number of IPv6 addresses for the network interface.

Ipv6Addresses
Type: Array of InstanceIpv6Address structures

The IPv6 addresses for the network interface.

Ipv6PrefixCount
Type: int

The number of IPv6 prefixes that Amazon Web Services automatically assigned to the network interface.

Ipv6Prefixes
Type: Array of Ipv6PrefixSpecificationResponse structures

One or more IPv6 prefixes assigned to the network interface.

NetworkCardIndex
Type: int

The index of the network card.

NetworkInterfaceId
Type: string

The ID of the network interface.

PrimaryIpv6
Type: boolean

The primary IPv6 address of the network interface. When you enable an IPv6 GUA address to be a primary IPv6, the first IPv6 GUA will be made the primary IPv6 address until the instance is terminated or the network interface is detached. For more information about primary IPv6 addresses, see RunInstances.

PrivateIpAddress
Type: string

The primary private IPv4 address of the network interface.

PrivateIpAddresses
Type: Array of PrivateIpAddressSpecification structures

One or more private IPv4 addresses.

SecondaryPrivateIpAddressCount
Type: int

The number of secondary private IPv4 addresses for the network interface.

SubnetId
Type: string

The ID of the subnet for the network interface.

LaunchTemplateInstanceNetworkInterfaceSpecificationRequest

Description

The parameters for a network interface.

Members
AssociateCarrierIpAddress
Type: boolean

Associates a Carrier IP address with eth0 for a new network interface.

Use this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface. For more information about Carrier IP addresses, see Carrier IP addresses in the Wavelength Developer Guide.

AssociatePublicIpAddress
Type: boolean

Associates a public IPv4 address with eth0 for a new network interface.

Amazon Web Services charges for all public IPv4 addresses, including public IPv4 addresses associated with running instances and Elastic IP addresses. For more information, see the Public IPv4 Address tab on the Amazon VPC pricing page.

ConnectionTrackingSpecification

A security group connection tracking specification that enables you to set the timeout for connection tracking on an Elastic network interface. For more information, see Idle connection tracking timeout in the Amazon EC2 User Guide.

DeleteOnTermination
Type: boolean

Indicates whether the network interface is deleted when the instance is terminated.

Description
Type: string

A description for the network interface.

DeviceIndex
Type: int

The device index for the network interface attachment. Each network interface requires a device index. If you create a launch template that includes secondary network interfaces but not a primary network interface, then you must add a primary network interface as a launch parameter when you launch an instance from the template.

EnaSrdSpecification
Type: EnaSrdSpecificationRequest structure

Configure ENA Express settings for your launch template.

Groups
Type: Array of strings

The IDs of one or more security groups.

InterfaceType
Type: string

The type of network interface. To create an Elastic Fabric Adapter (EFA), specify efa or efa. For more information, see Elastic Fabric Adapter in the Amazon EC2 User Guide.

If you are not creating an EFA, specify interface or omit this parameter.

If you specify efa-only, do not assign any IP addresses to the network interface. EFA-only network interfaces do not support IP addresses.

Valid values: interface | efa | efa-only

Ipv4PrefixCount
Type: int

The number of IPv4 prefixes to be automatically assigned to the network interface. You cannot use this option if you use the Ipv4Prefix option.

Ipv4Prefixes
Type: Array of Ipv4PrefixSpecificationRequest structures

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

Ipv6AddressCount
Type: int

The number of IPv6 addresses to assign to a 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 InstanceIpv6AddressRequest structures

One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. You can't use this option if you're specifying a number of IPv6 addresses.

Ipv6PrefixCount
Type: int

The number of IPv6 prefixes to be automatically assigned to the network interface. You cannot use this option if you use the Ipv6Prefix option.

Ipv6Prefixes
Type: Array of Ipv6PrefixSpecificationRequest structures

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

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
Type: string

The ID of the network interface.

PrimaryIpv6
Type: boolean

The primary IPv6 address of the network interface. When you enable an IPv6 GUA address to be a primary IPv6, the first IPv6 GUA will be made the primary IPv6 address until the instance is terminated or the network interface is detached. For more information about primary IPv6 addresses, see RunInstances.

PrivateIpAddress
Type: string

The primary private IPv4 address of the network interface.

PrivateIpAddresses
Type: Array of PrivateIpAddressSpecification structures

One or more private IPv4 addresses.

SecondaryPrivateIpAddressCount
Type: int

The number of secondary private IPv4 addresses to assign to a network interface.

SubnetId
Type: string

The ID of the subnet for the network interface.

LaunchTemplateLicenseConfiguration

Description

Describes a license configuration.

Members
LicenseConfigurationArn
Type: string

The Amazon Resource Name (ARN) of the license configuration.

LaunchTemplateLicenseConfigurationRequest

Description

Describes a license configuration.

Members
LicenseConfigurationArn
Type: string

The Amazon Resource Name (ARN) of the license configuration.

LaunchTemplateOverrides

Description

Describes overrides for a launch template.

Members
AvailabilityZone
Type: string

The Availability Zone in which to launch the instances.

InstanceRequirements
Type: InstanceRequirements structure

The instance requirements. When you specify instance requirements, Amazon EC2 will identify instance types with the provided requirements, and then use your On-Demand and Spot allocation strategies to launch instances from these instance types, in the same way as when you specify a list of instance types.

If you specify InstanceRequirements, you can't specify InstanceType.

InstanceType
Type: string

The instance type.

Priority
Type: double

The priority for the launch template override. The highest priority is launched first.

If OnDemandAllocationStrategy is set to prioritized, Spot Fleet uses priority to determine which launch template override to use first in fulfilling On-Demand capacity.

If the Spot AllocationStrategy is set to capacityOptimizedPrioritized, Spot Fleet uses priority on a best-effort basis to determine which launch template override to use in fulfilling Spot capacity, but optimizes for capacity first.

Valid values are whole numbers starting at 0. The lower the number, the higher the priority. If no number is set, the launch template override has the lowest priority. You can set the same priority for different launch template overrides.

SpotPrice
Type: string

The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.

If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.

SubnetId
Type: string

The ID of the subnet in which to launch the instances.

WeightedCapacity
Type: double

The number of units provided by the specified instance type. These are the same units that you chose to set the target capacity in terms of instances, or a performance characteristic such as vCPUs, memory, or I/O.

If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.

When specifying weights, the price used in the lowestPrice and priceCapacityOptimized allocation strategies is per unit hour (where the instance price is divided by the specified weight). However, if all the specified weights are above the requested TargetCapacity, resulting in only 1 instance being launched, the price used is per instance hour.

LaunchTemplatePlacement

Description

Describes the placement of an instance.

Members
Affinity
Type: string

The affinity setting for the instance on the Dedicated Host.

AvailabilityZone
Type: string

The Availability Zone of the instance.

GroupId
Type: string

The Group ID of the placement group. You must specify the Placement Group Group ID to launch an instance in a shared placement group.

GroupName
Type: string

The name of the placement group for the instance.

HostId
Type: string

The ID of the Dedicated Host for the instance.

HostResourceGroupArn
Type: string

The ARN of the host resource group in which to launch the instances.

PartitionNumber
Type: int

The number of the partition the instance should launch in. Valid only if the placement group strategy is set to partition.

SpreadDomain
Type: string

Reserved for future use.

Tenancy
Type: string

The tenancy of the instance. An instance with a tenancy of dedicated runs on single-tenant hardware.

LaunchTemplatePlacementRequest

Description

Describes the placement of an instance.

Members
Affinity
Type: string

The affinity setting for an instance on a Dedicated Host.

AvailabilityZone
Type: string

The Availability Zone for the instance.

GroupId
Type: string

The Group Id of a placement group. You must specify the Placement Group Group Id to launch an instance in a shared placement group.

GroupName
Type: string

The name of the placement group for the instance.

HostId
Type: string

The ID of the Dedicated Host for the instance.

HostResourceGroupArn
Type: string

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

PartitionNumber
Type: int

The number of the partition the instance should launch in. Valid only if the placement group strategy is set to partition.

SpreadDomain
Type: string

Reserved for future use.

Tenancy
Type: string

The tenancy of the instance. An instance with a tenancy of dedicated runs on single-tenant hardware.

LaunchTemplatePrivateDnsNameOptions

Description

Describes the options for instance hostnames.

Members
EnableResourceNameDnsAAAARecord
Type: boolean

Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records.

EnableResourceNameDnsARecord
Type: boolean

Indicates whether to respond to DNS queries for instance hostnames with DNS A records.

HostnameType
Type: string

The type of hostname to assign to an instance.

LaunchTemplatePrivateDnsNameOptionsRequest

Description

Describes the options for instance hostnames.

Members
EnableResourceNameDnsAAAARecord
Type: boolean

Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records.

EnableResourceNameDnsARecord
Type: boolean

Indicates whether to respond to DNS queries for instance hostnames with DNS A records.

HostnameType
Type: string

The type of hostname for Amazon EC2 instances. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 native subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID.

LaunchTemplateSpecification

Description

Describes the launch template to use.

Members
LaunchTemplateId
Type: string

The ID of the launch template.

You must specify either the launch template ID or the launch template name, but not both.

LaunchTemplateName
Type: string

The name of the launch template.

You must specify either the launch template ID or the launch template name, but not both.

Version
Type: string

The launch template version number, $Latest, or $Default.

A value of $Latest uses the latest version of the launch template.

A value of $Default uses the default version of the launch template.

Default: The default version of the launch template.

LaunchTemplateSpotMarketOptions

Description

The options for Spot Instances.

Members
BlockDurationMinutes
Type: int

The required duration for the Spot Instances (also known as Spot blocks), in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300, or 360).

InstanceInterruptionBehavior
Type: string

The behavior when a Spot Instance is interrupted.

MaxPrice
Type: string

The maximum hourly price you're willing to pay for the Spot Instances. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.

If you specify a maximum price, your Spot Instances will be interrupted more frequently than if you do not specify this parameter.

SpotInstanceType
Type: string

The Spot Instance request type.

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

The end date of the request. For a one-time request, the request remains active until all instances launch, the request is canceled, or this date is reached. If the request is persistent, it remains active until it is canceled or this date and time is reached.

LaunchTemplateSpotMarketOptionsRequest

Description

The options for Spot Instances.

Members
BlockDurationMinutes
Type: int

Deprecated.

InstanceInterruptionBehavior
Type: string

The behavior when a Spot Instance is interrupted. The default is terminate.

MaxPrice
Type: string

The maximum hourly price you're willing to pay for the Spot Instances. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.

If you specify a maximum price, your Spot Instances will be interrupted more frequently than if you do not specify this parameter.

SpotInstanceType
Type: string

The Spot Instance request type.

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

The end date of the request, in UTC format (YYYY-MM-DDTHH:MM:SSZ). Supported only for persistent requests.

  • For a persistent request, the request remains active until the ValidUntil date and time is reached. Otherwise, the request remains active until you cancel it.

  • For a one-time request, ValidUntil is not supported. The request remains active until all instances launch or you cancel the request.

Default: 7 days from the current date

LaunchTemplateTagSpecification

Description

The tags specification for the launch template.

Members
ResourceType
Type: string

The type of resource to tag.

Tags
Type: Array of Tag structures

The tags for the resource.

LaunchTemplateTagSpecificationRequest

Description

The tags specification for the resources that are created during instance launch.

Members
ResourceType
Type: string

The type of resource to tag.

Valid Values lists all resource types for Amazon EC2 that can be tagged. When you create a launch template, you can specify tags for the following resource types only: instance | volume | network-interface | spot-instances-request. If the instance does not include the resource type that you specify, the instance launch fails. For example, not all instance types include a volume.

To tag a resource after it has been created, see CreateTags.

Tags
Type: Array of Tag structures

The tags to apply to the resource.

LaunchTemplateVersion

Description

Describes a launch template version.

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

The time the version was created.

CreatedBy
Type: string

The principal that created the version.

DefaultVersion
Type: boolean

Indicates whether the version is the default version.

LaunchTemplateData
Type: ResponseLaunchTemplateData structure

Information about the launch template.

LaunchTemplateId
Type: string

The ID of the launch template.

LaunchTemplateName
Type: string

The name of the launch template.

VersionDescription
Type: string

The description for the version.

VersionNumber
Type: long (int|float)

The version number.

LaunchTemplatesMonitoring

Description

Describes the monitoring for the instance.

Members
Enabled
Type: boolean

Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring is enabled.

LaunchTemplatesMonitoringRequest

Description

Describes the monitoring for the instance.

Members
Enabled
Type: boolean

Specify true to enable detailed monitoring. Otherwise, basic monitoring is enabled.

LicenseConfiguration

Description

Describes a license configuration.

Members
LicenseConfigurationArn
Type: string

The Amazon Resource Name (ARN) of the license configuration.

LicenseConfigurationRequest

Description

Describes a license configuration.

Members
LicenseConfigurationArn
Type: string

The Amazon Resource Name (ARN) of the license configuration.

LoadBalancersConfig

Description

Describes the Classic Load Balancers and target groups to attach to a Spot Fleet request.

Members
ClassicLoadBalancersConfig
Type: ClassicLoadBalancersConfig structure

The Classic Load Balancers.

TargetGroupsConfig
Type: TargetGroupsConfig structure

The target groups.

LoadPermission

Description

Describes a load permission.

Members
Group
Type: string

The name of the group.

UserId
Type: string

The Amazon Web Services account ID.

LoadPermissionModifications

Description

Describes modifications to the load permissions of an Amazon FPGA image (AFI).

Members
Add
Type: Array of LoadPermissionRequest structures

The load permissions to add.

Remove
Type: Array of LoadPermissionRequest structures

The load permissions to remove.

LoadPermissionRequest

Description

Describes a load permission.

Members
Group
Type: string

The name of the group.

UserId
Type: string

The Amazon Web Services account ID.

LocalGateway

Description

Describes a local gateway.

Members
LocalGatewayId
Type: string

The ID of the local gateway.

OutpostArn
Type: string

The Amazon Resource Name (ARN) of the Outpost.

OwnerId
Type: string

The ID of the Amazon Web Services account that owns the local gateway.

State
Type: string

The state of the local gateway.

Tags
Type: Array of Tag structures

The tags assigned to the local gateway.

LocalGatewayRoute

Description

Describes a route for a local gateway route table.

Members
CoipPoolId
Type: string

The ID of the customer-owned address pool.

DestinationCidrBlock
Type: string

The CIDR block used for destination matches.

DestinationPrefixListId
Type: string

The ID of the prefix list.

LocalGatewayRouteTableArn
Type: string

The Amazon Resource Name (ARN) of the local gateway route table.

LocalGatewayRouteTableId
Type: string

The ID of the local gateway route table.

LocalGatewayVirtualInterfaceGroupId
Type: string

The ID of the virtual interface group.

NetworkInterfaceId
Type: string

The ID of the network interface.

OwnerId
Type: string

The ID of the Amazon Web Services account that owns the local gateway route.

State
Type: string

The state of the route.

SubnetId
Type: string

The ID of the subnet.

Type
Type: string

The route type.

LocalGatewayRouteTable

Description

Describes a local gateway route table.

Members
LocalGatewayId
Type: string

The ID of the local gateway.

LocalGatewayRouteTableArn
Type: string

The Amazon Resource Name (ARN) of the local gateway route table.

LocalGatewayRouteTableId
Type: string

The ID of the local gateway route table.

Mode
Type: string

The mode of the local gateway route table.

OutpostArn
Type: string

The Amazon Resource Name (ARN) of the Outpost.

OwnerId
Type: string

The ID of the Amazon Web Services account that owns the local gateway route table.

State
Type: string

The state of the local gateway route table.

StateReason
Type: StateReason structure

Information about the state change.

Tags
Type: Array of Tag structures

The tags assigned to the local gateway route table.

LocalGatewayRouteTableVirtualInterfaceGroupAssociation

Description

Describes an association between a local gateway route table and a virtual interface group.

Members
LocalGatewayId
Type: string

The ID of the local gateway.

LocalGatewayRouteTableArn
Type: string

The Amazon Resource Name (ARN) of the local gateway route table for the virtual interface group.

LocalGatewayRouteTableId
Type: string

The ID of the local gateway route table.

LocalGatewayRouteTableVirtualInterfaceGroupAssociationId
Type: string

The ID of the association.

LocalGatewayVirtualInterfaceGroupId
Type: string

The ID of the virtual interface group.

OwnerId
Type: string

The ID of the Amazon Web Services account that owns the local gateway virtual interface group association.

State
Type: string

The state of the association.

Tags
Type: Array of Tag structures

The tags assigned to the association.

LocalGatewayRouteTableVpcAssociation

Description

Describes an association between a local gateway route table and a VPC.

Members
LocalGatewayId
Type: string

The ID of the local gateway.

LocalGatewayRouteTableArn
Type: string

The Amazon Resource Name (ARN) of the local gateway route table for the association.

LocalGatewayRouteTableId
Type: string

The ID of the local gateway route table.

LocalGatewayRouteTableVpcAssociationId
Type: string

The ID of the association.

OwnerId
Type: string

The ID of the Amazon Web Services account that owns the local gateway route table for the association.

State
Type: string

The state of the association.

Tags
Type: Array of Tag structures

The tags assigned to the association.

VpcId
Type: string

The ID of the VPC.

LocalGatewayVirtualInterface

Description

Describes a local gateway virtual interface.

Members
LocalAddress
Type: string

The local address.

LocalBgpAsn
Type: int

The Border Gateway Protocol (BGP) Autonomous System Number (ASN) of the local gateway.

LocalGatewayId
Type: string

The ID of the local gateway.

LocalGatewayVirtualInterfaceId
Type: string

The ID of the virtual interface.

OwnerId
Type: string

The ID of the Amazon Web Services account that owns the local gateway virtual interface.

PeerAddress
Type: string

The peer address.

PeerBgpAsn
Type: int

The peer BGP ASN.

Tags
Type: Array of Tag structures

The tags assigned to the virtual interface.

Vlan
Type: int

The ID of the VLAN.

LocalGatewayVirtualInterfaceGroup

Description

Describes a local gateway virtual interface group.

Members
LocalGatewayId
Type: string

The ID of the local gateway.

LocalGatewayVirtualInterfaceGroupId
Type: string

The ID of the virtual interface group.

LocalGatewayVirtualInterfaceIds
Type: Array of strings

The IDs of the virtual interfaces.

OwnerId
Type: string

The ID of the Amazon Web Services account that owns the local gateway virtual interface group.

Tags
Type: Array of Tag structures

The tags assigned to the virtual interface group.

LockedSnapshotsInfo

Description

Information about a locked snapshot.

Members
CoolOffPeriod
Type: int

The compliance mode cooling-off period, in hours.

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

The date and time at which the compliance mode cooling-off period expires, in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ).

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

The date and time at which the snapshot was locked, in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ).

LockDuration
Type: int

The period of time for which the snapshot is locked, in days.

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

The date and time at which the lock duration started, in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ).

If you lock a snapshot that is in the pending state, the lock duration starts only once the snapshot enters the completed state.

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

The date and time at which the lock will expire, in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ).

LockState
Type: string

The state of the snapshot lock. Valid states include:

  • compliance-cooloff - The snapshot has been locked in compliance mode but it is still within the cooling-off period. The snapshot can't be deleted, but it can be unlocked and the lock settings can be modified by users with appropriate permissions.

  • governance - The snapshot is locked in governance mode. The snapshot can't be deleted, but it can be unlocked and the lock settings can be modified by users with appropriate permissions.

  • compliance - The snapshot is locked in compliance mode and the cooling-off period has expired. The snapshot can't be unlocked or deleted. The lock duration can only be increased by users with appropriate permissions.

  • expired - The snapshot was locked in compliance or governance mode but the lock duration has expired. The snapshot is not locked and can be deleted.

OwnerId
Type: string

The account ID of the Amazon Web Services account that owns the snapshot.

SnapshotId
Type: string

The ID of the snapshot.

MacHost

Description

Information about the EC2 Mac Dedicated Host.

Members
HostId
Type: string

The EC2 Mac Dedicated Host ID.

MacOSLatestSupportedVersions
Type: Array of strings

The latest macOS versions that the EC2 Mac Dedicated Host can launch without being upgraded.

MaintenanceDetails

Description

Details for Site-to-Site VPN tunnel endpoint maintenance events.

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

Timestamp of last applied maintenance.

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

The timestamp after which Amazon Web Services will automatically apply maintenance.

PendingMaintenance
Type: string

Verify existence of a pending maintenance.

ManagedPrefixList

Description

Describes a managed prefix list.

Members
AddressFamily
Type: string

The IP address version.

MaxEntries
Type: int

The maximum number of entries for the prefix list.

OwnerId
Type: string

The ID of the owner of the prefix list.

PrefixListArn
Type: string

The Amazon Resource Name (ARN) for the prefix list.

PrefixListId
Type: string

The ID of the prefix list.

PrefixListName
Type: string

The name of the prefix list.

State
Type: string

The current state of the prefix list.

StateMessage
Type: string

The state message.

Tags
Type: Array of Tag structures

The tags for the prefix list.

Version
Type: long (int|float)

The version of the prefix list.

MediaAcceleratorInfo

Description

Describes the media accelerators for the instance type.

Members
Accelerators
Type: Array of MediaDeviceInfo structures

Describes the media accelerators for the instance type.

TotalMediaMemoryInMiB
Type: int

The total size of the memory for the media accelerators for the instance type, in MiB.

MediaDeviceInfo

Description

Describes the media accelerators for the instance type.

Members
Count
Type: int

The number of media accelerators for the instance type.

Manufacturer
Type: string

The manufacturer of the media accelerator.

MemoryInfo
Type: MediaDeviceMemoryInfo structure

Describes the memory available to the media accelerator.

Name
Type: string

The name of the media accelerator.

MediaDeviceMemoryInfo

Description

Describes the memory available to the media accelerator.

Members
SizeInMiB
Type: int

The size of the memory available to each media accelerator, in MiB.

MemoryGiBPerVCpu

Description

The minimum and maximum amount of memory per vCPU, in GiB.

Members
Max
Type: double

The maximum amount of memory per vCPU, in GiB. If this parameter is not specified, there is no maximum limit.

Min
Type: double

The minimum amount of memory per vCPU, in GiB. If this parameter is not specified, there is no minimum limit.

MemoryGiBPerVCpuRequest

Description

The minimum and maximum amount of memory per vCPU, in GiB.

Members
Max
Type: double

The maximum amount of memory per vCPU, in GiB. To specify no maximum limit, omit this parameter.

Min
Type: double

The minimum amount of memory per vCPU, in GiB. To specify no minimum limit, omit this parameter.

MemoryInfo

Description

Describes the memory for the instance type.

Members
SizeInMiB
Type: long (int|float)

The size of the memory, in MiB.

MemoryMiB

Description

The minimum and maximum amount of memory, in MiB.

Members
Max
Type: int

The maximum amount of memory, in MiB. If this parameter is not specified, there is no maximum limit.

Min
Type: int

The minimum amount of memory, in MiB. If this parameter is not specified, there is no minimum limit.

MemoryMiBRequest

Description

The minimum and maximum amount of memory, in MiB.

Members
Max
Type: int

The maximum amount of memory, in MiB. To specify no maximum limit, omit this parameter.

Min
Required: Yes
Type: int

The minimum amount of memory, in MiB. To specify no minimum limit, specify 0.

MetricPoint

Description

Indicates whether the network was healthy or degraded at a particular point. The value is aggregated from the startDate to the endDate. Currently only five_minutes is supported.

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

The end date for the metric point. The ending time must be formatted as yyyy-mm-ddThh:mm:ss. For example, 2022-06-12T12:00:00.000Z.

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

The start date for the metric point. The starting date for the metric point. The starting time must be formatted as yyyy-mm-ddThh:mm:ss. For example, 2022-06-10T12:00:00.000Z.

Status
Type: string

The status of the metric point.

Value
Type: float

ModifyTransitGatewayOptions

Description

The transit gateway options.

Members
AddTransitGatewayCidrBlocks
Type: Array of strings

Adds IPv4 or IPv6 CIDR blocks for the transit gateway. Must be a size /24 CIDR block or larger for IPv4, or a size /64 CIDR block or larger for IPv6.

AmazonSideAsn
Type: long (int|float)

A private Autonomous System Number (ASN) for the Amazon side of a BGP session. The range is 64512 to 65534 for 16-bit ASNs and 4200000000 to 4294967294 for 32-bit ASNs.

The modify ASN operation is not allowed on a transit gateway if it has the following attachments:

  • Dynamic VPN

  • Static VPN

  • Direct Connect Gateway

  • Connect

You must first delete all transit gateway attachments configured prior to modifying the ASN on the transit gateway.

AssociationDefaultRouteTableId
Type: string

The ID of the default association route table.

AutoAcceptSharedAttachments
Type: string

Enable or disable automatic acceptance of attachment requests.

DefaultRouteTableAssociation
Type: string

Enable or disable automatic association with the default association route table.

DefaultRouteTablePropagation
Type: string

Enable or disable automatic propagation of routes to the default propagation route table.

DnsSupport
Type: string

Enable or disable DNS support.

PropagationDefaultRouteTableId
Type: string

The ID of the default propagation route table.

RemoveTransitGatewayCidrBlocks
Type: Array of strings

Removes CIDR blocks for the transit gateway.

SecurityGroupReferencingSupport
Type: string

Enables you to reference a security group across VPCs attached to a transit gateway to simplify security group management.

This option is disabled by default.

For more information about security group referencing, see Security group referencing in the Amazon Web Services Transit Gateways Guide.

VpnEcmpSupport
Type: string

Enable or disable Equal Cost Multipath Protocol support.

ModifyTransitGatewayVpcAttachmentRequestOptions

Description

Describes the options for a VPC attachment.

Members
ApplianceModeSupport
Type: string

Enable or disable support for appliance mode. If enabled, a traffic flow between a source and destination uses the same Availability Zone for the VPC attachment for the lifetime of that flow. The default is disable.

DnsSupport
Type: string

Enable or disable DNS support. The default is enable.

Ipv6Support
Type: string

Enable or disable IPv6 support. The default is enable.

SecurityGroupReferencingSupport
Type: string

Enables you to reference a security group across VPCs attached to a transit gateway to simplify security group management.

This option is disabled by default.

For more information about security group referencing, see Security group referencing in the Amazon Web Services Transit Gateways Guide.

ModifyVerifiedAccessEndpointEniOptions

Description

Describes the options when modifying a Verified Access endpoint with the network-interface type.

Members
Port
Type: int

The IP port number.

Protocol
Type: string

The IP protocol.

ModifyVerifiedAccessEndpointLoadBalancerOptions

Description

Describes a load balancer when creating an Amazon Web Services Verified Access endpoint using the load-balancer type.

Members
Port
Type: int

The IP port number.

Protocol
Type: string

The IP protocol.

SubnetIds
Type: Array of strings

The IDs of the subnets.

ModifyVerifiedAccessTrustProviderDeviceOptions

Description

Modifies the configuration of the specified device-based Amazon Web Services Verified Access trust provider.

Members
PublicSigningKeyUrl
Type: string

The URL Amazon Web Services Verified Access will use to verify the authenticity of the device tokens.

ModifyVerifiedAccessTrustProviderOidcOptions

Description

Options for an OpenID Connect-compatible user-identity trust provider.

Members
AuthorizationEndpoint
Type: string

The OIDC authorization endpoint.

ClientId
Type: string

The client identifier.

ClientSecret
Type: string

The client secret.

Issuer
Type: string

The OIDC issuer.

Scope
Type: string

OpenID Connect (OIDC) scopes are used by an application during authentication to authorize access to a user's details. Each scope returns a specific set of user attributes.

TokenEndpoint
Type: string

The OIDC token endpoint.

UserInfoEndpoint
Type: string

The OIDC user info endpoint.

ModifyVpnTunnelOptionsSpecification

Description

The Amazon Web Services Site-to-Site VPN tunnel options to modify.

Members
DPDTimeoutAction
Type: string

The action to take after DPD timeout occurs. Specify restart to restart the IKE initiation. Specify clear to end the IKE session.

Valid Values: clear | none | restart

Default: clear

DPDTimeoutSeconds
Type: int

The number of seconds after which a DPD timeout occurs. A DPD timeout of 40 seconds means that the VPN endpoint will consider the peer dead 30 seconds after the first failed keep-alive.

Constraints: A value greater than or equal to 30.

Default: 40

EnableTunnelLifecycleControl
Type: boolean

Turn on or off tunnel endpoint lifecycle control feature.

IKEVersions
Type: Array of IKEVersionsRequestListValue structures

The IKE versions that are permitted for the VPN tunnel.

Valid values: ikev1 | ikev2

LogOptions

Options for logging VPN tunnel activity.

Phase1DHGroupNumbers
Type: Array of Phase1DHGroupNumbersRequestListValue structures

One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 1 IKE negotiations.

Valid values: 2 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24

Phase1EncryptionAlgorithms
Type: Array of Phase1EncryptionAlgorithmsRequestListValue structures

One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.

Valid values: AES128 | AES256 | AES128-GCM-16 | AES256-GCM-16

Phase1IntegrityAlgorithms
Type: Array of Phase1IntegrityAlgorithmsRequestListValue structures

One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.

Valid values: SHA1 | SHA2-256 | SHA2-384 | SHA2-512

Phase1LifetimeSeconds
Type: int

The lifetime for phase 1 of the IKE negotiation, in seconds.

Constraints: A value between 900 and 28,800.

Default: 28800

Phase2DHGroupNumbers
Type: Array of Phase2DHGroupNumbersRequestListValue structures

One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 2 IKE negotiations.

Valid values: 2 | 5 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24

Phase2EncryptionAlgorithms
Type: Array of Phase2EncryptionAlgorithmsRequestListValue structures

One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.

Valid values: AES128 | AES256 | AES128-GCM-16 | AES256-GCM-16

Phase2IntegrityAlgorithms
Type: Array of Phase2IntegrityAlgorithmsRequestListValue structures

One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.

Valid values: SHA1 | SHA2-256 | SHA2-384 | SHA2-512

Phase2LifetimeSeconds
Type: int

The lifetime for phase 2 of the IKE negotiation, in seconds.

Constraints: A value between 900 and 3,600. The value must be less than the value for Phase1LifetimeSeconds.

Default: 3600

PreSharedKey
Type: string

The pre-shared key (PSK) to establish initial authentication between the virtual private gateway and the customer gateway.

Constraints: Allowed characters are alphanumeric characters, periods (.), and underscores (_). Must be between 8 and 64 characters in length and cannot start with zero (0).

RekeyFuzzPercentage
Type: int

The percentage of the rekey window (determined by RekeyMarginTimeSeconds) during which the rekey time is randomly selected.

Constraints: A value between 0 and 100.

Default: 100

RekeyMarginTimeSeconds
Type: int

The margin time, in seconds, before the phase 2 lifetime expires, during which the Amazon Web Services side of the VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for RekeyFuzzPercentage.

Constraints: A value between 60 and half of Phase2LifetimeSeconds.

Default: 270

ReplayWindowSize
Type: int

The number of packets in an IKE replay window.

Constraints: A value between 64 and 2048.

Default: 1024

StartupAction
Type: string

The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify start for Amazon Web Services to initiate the IKE negotiation.

Valid Values: add | start

Default: add

TunnelInsideCidr
Type: string

The range of inside IPv4 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same virtual private gateway.

Constraints: A size /30 CIDR block from the 169.254.0.0/16 range. The following CIDR blocks are reserved and cannot be used:

  • 169.254.0.0/30

  • 169.254.1.0/30

  • 169.254.2.0/30

  • 169.254.3.0/30

  • 169.254.4.0/30

  • 169.254.5.0/30

  • 169.254.169.252/30

TunnelInsideIpv6Cidr
Type: string

The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same transit gateway.

Constraints: A size /126 CIDR block from the local fd00::/8 range.

Monitoring

Description

Describes the monitoring of an instance.

Members
State
Type: string

Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring is enabled.

MovingAddressStatus

Description

This action is deprecated.

Describes the status of a moving Elastic IP address.

Members
MoveStatus
Type: string

The status of the Elastic IP address that's being moved or restored.

PublicIp
Type: string

The Elastic IP address.

NatGateway

Description

Describes a NAT gateway.

Members
ConnectivityType
Type: string

Indicates whether the NAT gateway supports public or private connectivity.

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

The date and time the NAT gateway was created.

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

The date and time the NAT gateway was deleted, if applicable.

FailureCode
Type: string

If the NAT gateway could not be created, specifies the error code for the failure. (InsufficientFreeAddressesInSubnet | Gateway.NotAttached | InvalidAllocationID.NotFound | Resource.AlreadyAssociated | InternalError | InvalidSubnetID.NotFound)

FailureMessage
Type: string

If the NAT gateway could not be created, specifies the error message for the failure, that corresponds to the error code.

  • For InsufficientFreeAddressesInSubnet: "Subnet has insufficient free addresses to create this NAT gateway"

  • For Gateway.NotAttached: "Network vpc-xxxxxxxx has no Internet gateway attached"

  • For InvalidAllocationID.NotFound: "Elastic IP address eipalloc-xxxxxxxx could not be associated with this NAT gateway"

  • For Resource.AlreadyAssociated: "Elastic IP address eipalloc-xxxxxxxx is already associated"

  • For InternalError: "Network interface eni-xxxxxxxx, created and used internally by this NAT gateway is in an invalid state. Please try again."

  • For InvalidSubnetID.NotFound: "The specified subnet subnet-xxxxxxxx does not exist or could not be found."

NatGatewayAddresses
Type: Array of NatGatewayAddress structures

Information about the IP addresses and network interface associated with the NAT gateway.

NatGatewayId
Type: string

The ID of the NAT gateway.

ProvisionedBandwidth
Type: ProvisionedBandwidth structure

Reserved. If you need to sustain traffic greater than the documented limits, contact Amazon Web Services Support.

State
Type: string

The state of the NAT gateway.

  • pending: The NAT gateway is being created and is not ready to process traffic.

  • failed: The NAT gateway could not be created. Check the failureCode and failureMessage fields for the reason.

  • available: The NAT gateway is able to process traffic. This status remains until you delete the NAT gateway, and does not indicate the health of the NAT gateway.

  • deleting: The NAT gateway is in the process of being terminated and may still be processing traffic.

  • deleted: The NAT gateway has been terminated and is no longer processing traffic.

SubnetId
Type: string

The ID of the subnet in which the NAT gateway is located.

Tags
Type: Array of Tag structures

The tags for the NAT gateway.

VpcId
Type: string

The ID of the VPC in which the NAT gateway is located.

NatGatewayAddress

Description

Describes the IP addresses and network interface associated with a NAT gateway.

Members
AllocationId
Type: string

[Public NAT gateway only] The allocation ID of the Elastic IP address that's associated with the NAT gateway.

AssociationId
Type: string

[Public NAT gateway only] The association ID of the Elastic IP address that's associated with the NAT gateway.

FailureMessage
Type: string

The address failure message.

IsPrimary
Type: boolean

Defines if the IP address is the primary address.

NetworkInterfaceId
Type: string

The ID of the network interface associated with the NAT gateway.

PrivateIp
Type: string

The private IP address associated with the NAT gateway.

PublicIp
Type: string

[Public NAT gateway only] The Elastic IP address associated with the NAT gateway.

Status
Type: string

The address status.

NetworkAcl

Description

Describes a network ACL.

Members
Associations
Type: Array of NetworkAclAssociation structures

Any associations between the network ACL and your subnets

Entries
Type: Array of NetworkAclEntry structures

The entries (rules) in the network ACL.

IsDefault
Type: boolean

Indicates whether this is the default network ACL for the VPC.

NetworkAclId
Type: string

The ID of the network ACL.

OwnerId
Type: string

The ID of the Amazon Web Services account that owns the network ACL.

Tags
Type: Array of Tag structures

Any tags assigned to the network ACL.

VpcId
Type: string

The ID of the VPC for the network ACL.

NetworkAclAssociation

Description

Describes an association between a network ACL and a subnet.

Members
NetworkAclAssociationId
Type: string

The ID of the association between a network ACL and a subnet.

NetworkAclId
Type: string

The ID of the network ACL.

SubnetId
Type: string

The ID of the subnet.

NetworkAclEntry

Description

Describes an entry in a network ACL.

Members
CidrBlock
Type: string

The IPv4 network range to allow or deny, in CIDR notation.

Egress
Type: boolean

Indicates whether the rule is an egress rule (applied to traffic leaving the subnet).

IcmpTypeCode
Type: IcmpTypeCode structure

ICMP protocol: The ICMP type and code.

Ipv6CidrBlock
Type: string

The IPv6 network range to allow or deny, in CIDR notation.

PortRange
Type: PortRange structure

TCP or UDP protocols: The range of ports the rule applies to.

Protocol
Type: string

The protocol number. A value of "-1" means all protocols.

RuleAction
Type: string

Indicates whether to allow or deny the traffic that matches the rule.

RuleNumber
Type: int

The rule number for the entry. ACL entries are processed in ascending order by rule number.

NetworkBandwidthGbps

Description

The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps).

Setting the minimum bandwidth does not guarantee that your instance will achieve the minimum bandwidth. Amazon EC2 will identify instance types that support the specified minimum bandwidth, but the actual bandwidth of your instance might go below the specified minimum at times. For more information, see Available instance bandwidth in the Amazon EC2 User Guide.

Members
Max
Type: double

The maximum amount of network bandwidth, in Gbps. If this parameter is not specified, there is no maximum limit.

Min
Type: double

The minimum amount of network bandwidth, in Gbps. If this parameter is not specified, there is no minimum limit.

NetworkBandwidthGbpsRequest

Description

The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps).

Setting the minimum bandwidth does not guarantee that your instance will achieve the minimum bandwidth. Amazon EC2 will identify instance types that support the specified minimum bandwidth, but the actual bandwidth of your instance might go below the specified minimum at times. For more information, see Available instance bandwidth in the Amazon EC2 User Guide.

Members
Max
Type: double

The maximum amount of network bandwidth, in Gbps. To specify no maximum limit, omit this parameter.

Min
Type: double

The minimum amount of network bandwidth, in Gbps. To specify no minimum limit, omit this parameter.

NetworkCardInfo

Description

Describes the network card support of the instance type.

Members
BaselineBandwidthInGbps
Type: double

The baseline network performance of the network card, in Gbps.

MaximumNetworkInterfaces
Type: int

The maximum number of network interfaces for the network card.

NetworkCardIndex
Type: int

The index of the network card.

NetworkPerformance
Type: string

The network performance of the network card.

PeakBandwidthInGbps
Type: double

The peak (burst) network performance of the network card, in Gbps.

NetworkInfo

Description

Describes the networking features of the instance type.

Members
DefaultNetworkCardIndex
Type: int

The index of the default network card, starting at 0.

EfaInfo
Type: EfaInfo structure

Describes the Elastic Fabric Adapters for the instance type.

EfaSupported
Type: boolean

Indicates whether Elastic Fabric Adapter (EFA) is supported.

EnaSrdSupported
Type: boolean

Indicates whether the instance type supports ENA Express. ENA Express uses Amazon Web Services Scalable Reliable Datagram (SRD) technology to increase the maximum bandwidth used per stream and minimize tail latency of network traffic between EC2 instances.

EnaSupport
Type: string

Indicates whether Elastic Network Adapter (ENA) is supported.

EncryptionInTransitSupported
Type: boolean

Indicates whether the instance type automatically encrypts in-transit traffic between instances.

Ipv4AddressesPerInterface
Type: int

The maximum number of IPv4 addresses per network interface.

Ipv6AddressesPerInterface
Type: int

The maximum number of IPv6 addresses per network interface.

Ipv6Supported
Type: boolean

Indicates whether IPv6 is supported.

MaximumNetworkCards
Type: int

The maximum number of physical network cards that can be allocated to the instance.

MaximumNetworkInterfaces
Type: int

The maximum number of network interfaces for the instance type.

NetworkCards
Type: Array of NetworkCardInfo structures

Describes the network cards for the instance type.

NetworkPerformance
Type: string

The network performance.

NetworkInsightsAccessScope

Description

Describes a Network Access Scope.

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

The creation date.

NetworkInsightsAccessScopeArn
Type: string

The Amazon Resource Name (ARN) of the Network Access Scope.

NetworkInsightsAccessScopeId
Type: string

The ID of the Network Access Scope.

Tags
Type: Array of Tag structures

The tags.

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

The last updated date.

NetworkInsightsAccessScopeAnalysis

Description

Describes a Network Access Scope analysis.

Members
AnalyzedEniCount
Type: int

The number of network interfaces analyzed.

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

The analysis end date.

FindingsFound
Type: string

Indicates whether there are findings.

NetworkInsightsAccessScopeAnalysisArn
Type: string

The Amazon Resource Name (ARN) of the Network Access Scope analysis.

NetworkInsightsAccessScopeAnalysisId
Type: string

The ID of the Network Access Scope analysis.

NetworkInsightsAccessScopeId
Type: string

The ID of the Network Access Scope.

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

The analysis start date.

Status
Type: string

The status.

StatusMessage
Type: string

The status message.

Tags
Type: Array of Tag structures

The tags.

WarningMessage
Type: string

The warning message.

NetworkInsightsAccessScopeContent

Description

Describes the Network Access Scope content.

Members
ExcludePaths
Type: Array of AccessScopePath structures

The paths to exclude.

MatchPaths
Type: Array of AccessScopePath structures

The paths to match.

NetworkInsightsAccessScopeId
Type: string

The ID of the Network Access Scope.

NetworkInsightsAnalysis

Description

Describes a network insights analysis.

Members
AdditionalAccounts
Type: Array of strings

The member accounts that contain resources that the path can traverse.

AlternatePathHints
Type: Array of AlternatePathHint structures

Potential intermediate components.

Explanations
Type: Array of Explanation structures

The explanations. For more information, see Reachability Analyzer explanation codes.

FilterInArns
Type: Array of strings

The Amazon Resource Names (ARN) of the resources that the path must traverse.

ForwardPathComponents
Type: Array of PathComponent structures

The components in the path from source to destination.

NetworkInsightsAnalysisArn
Type: string

The Amazon Resource Name (ARN) of the network insights analysis.

NetworkInsightsAnalysisId
Type: string

The ID of the network insights analysis.

NetworkInsightsPathId
Type: string

The ID of the path.

NetworkPathFound
Type: boolean

Indicates whether the destination is reachable from the source.

ReturnPathComponents
Type: Array of PathComponent structures

The components in the path from destination to source.

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

The time the analysis started.

Status
Type: string

The status of the network insights analysis.

StatusMessage
Type: string

The status message, if the status is failed.

SuggestedAccounts
Type: Array of strings

Potential intermediate accounts.

Tags
Type: Array of Tag structures

The tags.

WarningMessage
Type: string

The warning message.

NetworkInsightsPath

Description

Describes a path.

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

The time stamp when the path was created.

Destination
Type: string

The ID of the destination.

DestinationArn
Type: string

The Amazon Resource Name (ARN) of the destination.

DestinationIp
Type: string

The IP address of the destination.

DestinationPort
Type: int

The destination port.

FilterAtDestination
Type: PathFilter structure

Scopes the analysis to network paths that match specific filters at the destination.

FilterAtSource
Type: PathFilter structure

Scopes the analysis to network paths that match specific filters at the source.

NetworkInsightsPathArn
Type: string

The Amazon Resource Name (ARN) of the path.

NetworkInsightsPathId
Type: string

The ID of the path.

Protocol
Type: string

The protocol.

Source
Type: string

The ID of the source.

SourceArn
Type: string

The Amazon Resource Name (ARN) of the source.

SourceIp
Type: string

The IP address of the source.

Tags
Type: Array of Tag structures

The tags associated with the path.

NetworkInterface

Description

Describes a network interface.

Members
Association
Type: NetworkInterfaceAssociation structure

The association information for an Elastic IP address (IPv4) associated with the network interface.

Attachment
Type: NetworkInterfaceAttachment structure

The network interface attachment.

AvailabilityZone
Type: string

The Availability Zone.

ConnectionTrackingConfiguration

A security group connection tracking configuration that enables you to set the timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon EC2 User Guide.

DenyAllIgwTraffic
Type: boolean

Indicates whether a network interface with an IPv6 address is unreachable from the public internet. If the value is true, inbound traffic from the internet is dropped and you cannot assign an elastic IP address to the network interface. The network interface is reachable from peered VPCs and resources connected through a transit gateway, including on-premises networks.

Description
Type: string

A description.

Groups
Type: Array of GroupIdentifier structures

Any security groups for the network interface.

InterfaceType
Type: string

The type of network interface.

Ipv4Prefixes
Type: Array of Ipv4PrefixSpecification structures

The IPv4 prefixes that are assigned to the network interface.

Ipv6Address
Type: string

The IPv6 globally unique address associated with the network interface.

Ipv6Addresses
Type: Array of NetworkInterfaceIpv6Address structures

The IPv6 addresses associated with the network interface.

Ipv6Native
Type: boolean

Indicates whether this is an IPv6 only network interface.

Ipv6Prefixes
Type: Array of Ipv6PrefixSpecification structures

The IPv6 prefixes that are assigned to the network interface.

MacAddress
Type: string

The MAC address.

NetworkInterfaceId
Type: string

The ID of the network interface.

OutpostArn
Type: string

The Amazon Resource Name (ARN) of the Outpost.

OwnerId
Type: string

The Amazon Web Services account ID of the owner of the network interface.

PrivateDnsName
Type: string

The private DNS name.

PrivateIpAddress
Type: string

The IPv4 address of the network interface within the subnet.

PrivateIpAddresses
Type: Array of NetworkInterfacePrivateIpAddress structures

The private IPv4 addresses associated with the network interface.

RequesterId
Type: string

The alias or Amazon Web Services account ID of the principal or service that created the network interface.

RequesterManaged
Type: boolean

Indicates whether the network interface is being managed by Amazon Web Services.

SourceDestCheck
Type: boolean

Indicates whether source/destination checking is enabled.

Status
Type: string

The status of the network interface.

SubnetId
Type: string

The ID of the subnet.

TagSet
Type: Array of Tag structures

Any tags assigned to the network interface.

VpcId
Type: string

The ID of the VPC.

NetworkInterfaceAssociation

Description

Describes association information for an Elastic IP address (IPv4 only), or a Carrier IP address (for a network interface which resides in a subnet in a Wavelength Zone).

Members
AllocationId
Type: string

The allocation ID.

AssociationId
Type: string

The association ID.

CarrierIp
Type: string

The carrier IP address associated with the network interface.

This option is only available when the network interface is in a subnet which is associated with a Wavelength Zone.

CustomerOwnedIp
Type: string

The customer-owned IP address associated with the network interface.

IpOwnerId
Type: string

The ID of the Elastic IP address owner.

PublicDnsName
Type: string

The public DNS name.

PublicIp
Type: string

The address of the Elastic IP address bound to the network interface.

NetworkInterfaceAttachment

Description

Describes a network interface attachment.

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

The timestamp indicating when the attachment initiated.

AttachmentId
Type: string

The ID of the network interface attachment.

DeleteOnTermination
Type: boolean

Indicates whether the network interface is deleted when the instance is terminated.

DeviceIndex
Type: int

The device index of the network interface attachment on the instance.

EnaSrdSpecification

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

InstanceId
Type: string

The ID of the instance.

InstanceOwnerId
Type: string

The Amazon Web Services account ID of the owner of the instance.

NetworkCardIndex
Type: int

The index of the network card.

Status
Type: string

The attachment state.

NetworkInterfaceAttachmentChanges

Description

Describes an attachment change.

Members
AttachmentId
Type: string

The ID of the network interface attachment.

DeleteOnTermination
Type: boolean

Indicates whether the network interface is deleted when the instance is terminated.

NetworkInterfaceCount

Description

The minimum and maximum number of network interfaces.

Members
Max
Type: int

The maximum number of network interfaces. If this parameter is not specified, there is no maximum limit.

Min
Type: int

The minimum number of network interfaces. If this parameter is not specified, there is no minimum limit.

NetworkInterfaceCountRequest

Description

The minimum and maximum number of network interfaces.

Members
Max
Type: int

The maximum number of network interfaces. To specify no maximum limit, omit this parameter.

Min
Type: int

The minimum number of network interfaces. To specify no minimum limit, omit this parameter.

NetworkInterfaceIpv6Address

Description

Describes an IPv6 address associated with a network interface.

Members
Ipv6Address
Type: string

The IPv6 address.

IsPrimaryIpv6
Type: boolean

Determines if an IPv6 address associated with a network interface is the primary IPv6 address. When you enable an IPv6 GUA address to be a primary IPv6, the first IPv6 GUA will be made the primary IPv6 address until the instance is terminated or the network interface is detached. For more information, see ModifyNetworkInterfaceAttribute.

NetworkInterfacePermission

Description

Describes a permission for a network interface.

Members
AwsAccountId
Type: string

The Amazon Web Services account ID.

AwsService
Type: string

The Amazon Web Services service.

NetworkInterfaceId
Type: string

The ID of the network interface.

NetworkInterfacePermissionId
Type: string

The ID of the network interface permission.

Permission
Type: string

The type of permission.

PermissionState

Information about the state of the permission.

NetworkInterfacePermissionState

Description

Describes the state of a network interface permission.

Members
State
Type: string

The state of the permission.

StatusMessage
Type: string

A status message, if applicable.

NetworkInterfacePrivateIpAddress

Description

Describes the private IPv4 address of a network interface.

Members
Association
Type: NetworkInterfaceAssociation structure

The association information for an Elastic IP address (IPv4) associated with the network interface.

Primary
Type: boolean

Indicates whether this IPv4 address is the primary private IPv4 address of the network interface.

PrivateDnsName
Type: string

The private DNS name.

PrivateIpAddress
Type: string

The private IPv4 address.

NeuronDeviceCoreInfo

Description

Describes the cores available to the neuron accelerator.

Members
Count
Type: int

The number of cores available to the neuron accelerator.

Version
Type: int

The version of the neuron accelerator.

NeuronDeviceInfo

Description

Describes the neuron accelerators for the instance type.

Members
CoreInfo
Type: NeuronDeviceCoreInfo structure

Describes the cores available to each neuron accelerator.

Count
Type: int

The number of neuron accelerators for the instance type.

MemoryInfo
Type: NeuronDeviceMemoryInfo structure

Describes the memory available to each neuron accelerator.

Name
Type: string

The name of the neuron accelerator.

NeuronDeviceMemoryInfo

Description

Describes the memory available to the neuron accelerator.

Members
SizeInMiB
Type: int

The size of the memory available to the neuron accelerator, in MiB.

NeuronInfo

Description

Describes the neuron accelerators for the instance type.

Members
NeuronDevices
Type: Array of NeuronDeviceInfo structures

Describes the neuron accelerators for the instance type.

TotalNeuronDeviceMemoryInMiB
Type: int

The total size of the memory for the neuron accelerators for the instance type, in MiB.

NewDhcpConfiguration

Description

Describes a DHCP configuration option.

Members
Key
Type: string

The name of a DHCP option.

Values
Type: Array of strings

The values for the DHCP option.

NitroTpmInfo

Description

Describes the supported NitroTPM versions for the instance type.

Members
SupportedVersions
Type: Array of strings

Indicates the supported NitroTPM versions.

OidcOptions

Description

Describes the options for an OpenID Connect-compatible user-identity trust provider.

Members
AuthorizationEndpoint
Type: string

The OIDC authorization endpoint.

ClientId
Type: string

The client identifier.

ClientSecret
Type: string

The client secret.

Issuer
Type: string

The OIDC issuer.

Scope
Type: string

The OpenID Connect (OIDC) scope specified.

TokenEndpoint
Type: string

The OIDC token endpoint.

UserInfoEndpoint
Type: string

The OIDC user info endpoint.

OnDemandOptions

Description

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

Members
AllocationStrategy
Type: string

The strategy that determines the order of the launch template overrides to use in fulfilling On-Demand capacity.

lowest-price - EC2 Fleet uses price to determine the order, launching the lowest price first.

prioritized - EC2 Fleet uses the priority that you assigned to each launch template override, launching the highest priority first.

Default: lowest-price

CapacityReservationOptions
Type: CapacityReservationOptions structure

The strategy for using unused Capacity Reservations for fulfilling On-Demand capacity.

Supported only for fleets of type instant.

MaxTotalPrice
Type: string

The maximum amount per hour for On-Demand Instances that you're willing to pay.

If your fleet includes T instances that are configured as unlimited, and if their average CPU usage exceeds the baseline utilization, you will incur a charge for surplus credits. The maxTotalPrice does not account for surplus credits, and, if you use surplus credits, your final cost might be higher than what you specified for maxTotalPrice. For more information, see Surplus credits can incur charges in the Amazon EC2 User Guide.

MinTargetCapacity
Type: int

The minimum target capacity for On-Demand Instances in the fleet. If this minimum capacity isn't reached, no instances are launched.

Constraints: Maximum value of 1000. Supported only for fleets of type instant.

At least one of the following must be specified: SingleAvailabilityZone | SingleInstanceType

SingleAvailabilityZone
Type: boolean

Indicates that the fleet launches all On-Demand Instances into a single Availability Zone.

Supported only for fleets of type instant.

SingleInstanceType
Type: boolean

Indicates that the fleet uses a single instance type to launch all On-Demand Instances in the fleet.

Supported only for fleets of type instant.

OnDemandOptionsRequest

Description

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

Members
AllocationStrategy
Type: string

The strategy that determines the order of the launch template overrides to use in fulfilling On-Demand capacity.

lowest-price - EC2 Fleet uses price to determine the order, launching the lowest price first.

prioritized - EC2 Fleet uses the priority that you assigned to each launch template override, launching the highest priority first.

Default: lowest-price

CapacityReservationOptions

The strategy for using unused Capacity Reservations for fulfilling On-Demand capacity.

Supported only for fleets of type instant.

MaxTotalPrice
Type: string

The maximum amount per hour for On-Demand Instances that you're willing to pay.

If your fleet includes T instances that are configured as unlimited, and if their average CPU usage exceeds the baseline utilization, you will incur a charge for surplus credits. The MaxTotalPrice does not account for surplus credits, and, if you use surplus credits, your final cost might be higher than what you specified for MaxTotalPrice. For more information, see Surplus credits can incur charges in the Amazon EC2 User Guide.

MinTargetCapacity
Type: int

The minimum target capacity for On-Demand Instances in the fleet. If this minimum capacity isn't reached, no instances are launched.

Constraints: Maximum value of 1000. Supported only for fleets of type instant.

At least one of the following must be specified: SingleAvailabilityZone | SingleInstanceType

SingleAvailabilityZone
Type: boolean

Indicates that the fleet launches all On-Demand Instances into a single Availability Zone.

Supported only for fleets of type instant.

SingleInstanceType
Type: boolean

Indicates that the fleet uses a single instance type to launch all On-Demand Instances in the fleet.

Supported only for fleets of type instant.

PacketHeaderStatement

Description

Describes a packet header statement.

Members
DestinationAddresses
Type: Array of strings

The destination addresses.

DestinationPorts
Type: Array of strings

The destination ports.

DestinationPrefixLists
Type: Array of strings

The destination prefix lists.

Protocols
Type: Array of strings

The protocols.

SourceAddresses
Type: Array of strings

The source addresses.

SourcePorts
Type: Array of strings

The source ports.

SourcePrefixLists
Type: Array of strings

The source prefix lists.

PacketHeaderStatementRequest

Description

Describes a packet header statement.

Members
DestinationAddresses
Type: Array of strings

The destination addresses.

DestinationPorts
Type: Array of strings

The destination ports.

DestinationPrefixLists
Type: Array of strings

The destination prefix lists.

Protocols
Type: Array of strings

The protocols.

SourceAddresses
Type: Array of strings

The source addresses.

SourcePorts
Type: Array of strings

The source ports.

SourcePrefixLists
Type: Array of strings

The source prefix lists.

PathComponent

Description

Describes a path component.

Members
AclRule
Type: AnalysisAclRule structure

The network ACL rule.

AdditionalDetails
Type: Array of AdditionalDetail structures

The additional details.

AttachedTo
Type: AnalysisComponent structure

The resource to which the path component is attached.

Component
Type: AnalysisComponent structure

The component.

DestinationVpc
Type: AnalysisComponent structure

The destination VPC.

ElasticLoadBalancerListener
Type: AnalysisComponent structure

The load balancer listener.

Explanations
Type: Array of Explanation structures

The explanation codes.

FirewallStatefulRule
Type: FirewallStatefulRule structure

The Network Firewall stateful rule.

FirewallStatelessRule
Type: FirewallStatelessRule structure

The Network Firewall stateless rule.

InboundHeader
Type: AnalysisPacketHeader structure

The inbound header.

OutboundHeader
Type: AnalysisPacketHeader structure

The outbound header.

RouteTableRoute
Type: AnalysisRouteTableRoute structure

The route table route.

SecurityGroupRule
Type: AnalysisSecurityGroupRule structure

The security group rule.

SequenceNumber
Type: int

The sequence number.

ServiceName
Type: string

The name of the VPC endpoint service.

SourceVpc
Type: AnalysisComponent structure

The source VPC.

Subnet
Type: AnalysisComponent structure

The subnet.

TransitGateway
Type: AnalysisComponent structure

The transit gateway.

TransitGatewayRouteTableRoute

The route in a transit gateway route table.

Vpc
Type: AnalysisComponent structure

The component VPC.

PathFilter

Description

Describes a set of filters for a path analysis. Use path filters to scope the analysis when there can be multiple resulting paths.

Members
DestinationAddress
Type: string

The destination IPv4 address.

DestinationPortRange
Type: FilterPortRange structure

The destination port range.

SourceAddress
Type: string

The source IPv4 address.

SourcePortRange
Type: FilterPortRange structure

The source port range.

PathRequestFilter

Description

Describes a set of filters for a path analysis. Use path filters to scope the analysis when there can be multiple resulting paths.

Members
DestinationAddress
Type: string

The destination IPv4 address.

DestinationPortRange
Type: RequestFilterPortRange structure

The destination port range.

SourceAddress
Type: string

The source IPv4 address.

SourcePortRange
Type: RequestFilterPortRange structure

The source port range.

PathStatement

Description

Describes a path statement.

Members
PacketHeaderStatement
Type: PacketHeaderStatement structure

The packet header statement.

ResourceStatement
Type: ResourceStatement structure

The resource statement.

PciId

Description

Describes the data that identifies an Amazon FPGA image (AFI) on the PCI bus.

Members
DeviceId
Type: string

The ID of the device.

SubsystemId
Type: string

The ID of the subsystem.

SubsystemVendorId
Type: string

The ID of the vendor for the subsystem.

VendorId
Type: string

The ID of the vendor.

PeeringAttachmentStatus

Description

The status of the transit gateway peering attachment.

Members
Code
Type: string

The status code.

Message
Type: string

The status message, if applicable.

PeeringConnectionOptions

Description

Describes the VPC peering connection options.

Members
AllowDnsResolutionFromRemoteVpc
Type: boolean

If true, the public DNS hostnames of instances in the specified VPC resolve to private IP addresses when queried from instances in the peer VPC.

AllowEgressFromLocalClassicLinkToRemoteVpc
Type: boolean

Deprecated.

AllowEgressFromLocalVpcToRemoteClassicLink
Type: boolean

Deprecated.

PeeringConnectionOptionsRequest

Description

The VPC peering connection options.

Members
AllowDnsResolutionFromRemoteVpc
Type: boolean

If true, enables a local VPC to resolve public DNS hostnames to private IP addresses when queried from instances in the peer VPC.

AllowEgressFromLocalClassicLinkToRemoteVpc
Type: boolean

Deprecated.

AllowEgressFromLocalVpcToRemoteClassicLink
Type: boolean

Deprecated.

PeeringTgwInfo

Description

Information about the transit gateway in the peering attachment.

Members
CoreNetworkId
Type: string

The ID of the core network where the transit gateway peer is located.

OwnerId
Type: string

The ID of the Amazon Web Services account that owns the transit gateway.

Region
Type: string

The Region of the transit gateway.

TransitGatewayId
Type: string

The ID of the transit gateway.

Phase1DHGroupNumbersListValue

Description

The Diffie-Hellmann group number for phase 1 IKE negotiations.

Members
Value
Type: int

The Diffie-Hellmann group number.

Phase1DHGroupNumbersRequestListValue

Description

Specifies a Diffie-Hellman group number for the VPN tunnel for phase 1 IKE negotiations.

Members
Value
Type: int

The Diffie-Hellmann group number.

Phase1EncryptionAlgorithmsListValue

Description

The encryption algorithm for phase 1 IKE negotiations.

Members
Value
Type: string

The value for the encryption algorithm.

Phase1EncryptionAlgorithmsRequestListValue

Description

Specifies the encryption algorithm for the VPN tunnel for phase 1 IKE negotiations.

Members
Value
Type: string

The value for the encryption algorithm.

Phase1IntegrityAlgorithmsListValue

Description

The integrity algorithm for phase 1 IKE negotiations.

Members
Value
Type: string

The value for the integrity algorithm.

Phase1IntegrityAlgorithmsRequestListValue

Description

Specifies the integrity algorithm for the VPN tunnel for phase 1 IKE negotiations.

Members
Value
Type: string

The value for the integrity algorithm.

Phase2DHGroupNumbersListValue

Description

The Diffie-Hellmann group number for phase 2 IKE negotiations.

Members
Value
Type: int

The Diffie-Hellmann group number.

Phase2DHGroupNumbersRequestListValue

Description

Specifies a Diffie-Hellman group number for the VPN tunnel for phase 2 IKE negotiations.

Members
Value
Type: int

The Diffie-Hellmann group number.

Phase2EncryptionAlgorithmsListValue

Description

The encryption algorithm for phase 2 IKE negotiations.

Members
Value
Type: string

The encryption algorithm.

Phase2EncryptionAlgorithmsRequestListValue

Description

Specifies the encryption algorithm for the VPN tunnel for phase 2 IKE negotiations.

Members
Value
Type: string

The encryption algorithm.

Phase2IntegrityAlgorithmsListValue

Description

The integrity algorithm for phase 2 IKE negotiations.

Members
Value
Type: string

The integrity algorithm.

Phase2IntegrityAlgorithmsRequestListValue

Description

Specifies the integrity algorithm for the VPN tunnel for phase 2 IKE negotiations.

Members
Value
Type: string

The integrity algorithm.

Placement

Description

Describes the placement of an instance.

Members
Affinity
Type: string

The affinity setting for the instance on the Dedicated Host.

This parameter is not supported for CreateFleet or ImportInstance.

AvailabilityZone
Type: string

The Availability Zone of the instance.

If not specified, an Availability Zone will be automatically chosen for you based on the load balancing criteria for the Region.

This parameter is not supported for CreateFleet.

GroupId
Type: string

The ID of the placement group that the instance is in. If you specify GroupId, you can't specify GroupName.

GroupName
Type: string

The name of the placement group that the instance is in. If you specify GroupName, you can't specify GroupId.

HostId
Type: string

The ID of the Dedicated Host on which the instance resides.

This parameter is not supported for CreateFleet or ImportInstance.

HostResourceGroupArn
Type: string

The ARN of the host resource group in which to launch the instances.

If you specify this parameter, either omit the Tenancy parameter or set it to host.

This parameter is not supported for CreateFleet.

PartitionNumber
Type: int

The number of the partition that the instance is in. Valid only if the placement group strategy is set to partition.

This parameter is not supported for CreateFleet.

SpreadDomain
Type: string

Reserved for future use.

Tenancy
Type: string

The tenancy of the instance. An instance with a tenancy of dedicated runs on single-tenant hardware.

This parameter is not supported for CreateFleet. The host tenancy is not supported for ImportInstance or for T3 instances that are configured for the unlimited CPU credit option.

PlacementGroup

Description

Describes a placement group.

Members
GroupArn
Type: string

The Amazon Resource Name (ARN) of the placement group.

GroupId
Type: string

The ID of the placement group.

GroupName
Type: string

The name of the placement group.

PartitionCount
Type: int

The number of partitions. Valid only if strategy is set to partition.

SpreadLevel
Type: string

The spread level for the placement group. Only Outpost placement groups can be spread across hosts.

State
Type: string

The state of the placement group.

Strategy
Type: string

The placement strategy.

Tags
Type: Array of Tag structures

Any tags applied to the placement group.

PlacementGroupInfo

Description

Describes the placement group support of the instance type.

Members
SupportedStrategies
Type: Array of strings

The supported placement group types.

PlacementResponse

Description

Describes the placement of an instance.

Members
GroupName
Type: string

The name of the placement group that the instance is in.

PoolCidrBlock

Description

Describes a CIDR block for an address pool.

Members
Cidr
Type: string

The CIDR block.

PortRange

Description

Describes a range of ports.

Members
From
Type: int

The first port in the range.

To
Type: int

The last port in the range.

PrefixList

Description

Describes prefixes for Amazon Web Services services.

Members
Cidrs
Type: Array of strings

The IP address range of the Amazon Web Services service.

PrefixListId
Type: string

The ID of the prefix.

PrefixListName
Type: string

The name of the prefix.

PrefixListAssociation

Description

Describes the resource with which a prefix list is associated.

Members
ResourceId
Type: string

The ID of the resource.

ResourceOwner
Type: string

The owner of the resource.

PrefixListEntry

Description

Describes a prefix list entry.

Members
Cidr
Type: string

The CIDR block.

Description
Type: string

The description.

PrefixListId

Description

Describes a prefix list ID.

Members
Description
Type: string

A description for the security group rule that references this prefix list ID.

Constraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*

PrefixListId
Type: string

The ID of the prefix.

PriceSchedule

Description

Describes the price for a Reserved Instance.

Members
Active
Type: boolean

The current price schedule, as determined by the term remaining for the Reserved Instance in the listing.

A specific price schedule is always in effect, but only one price schedule can be active at any time. Take, for example, a Reserved Instance listing that has five months remaining in its term. When you specify price schedules for five months and two months, this means that schedule 1, covering the first three months of the remaining term, will be active during months 5, 4, and 3. Then schedule 2, covering the last two months of the term, will be active for months 2 and 1.

CurrencyCode
Type: string

The currency for transacting the Reserved Instance resale. At this time, the only supported currency is USD.

Price
Type: double

The fixed price for the term.

Term
Type: long (int|float)

The number of months remaining in the reservation. For example, 2 is the second to the last month before the capacity reservation expires.

PriceScheduleSpecification

Description

Describes the price for a Reserved Instance.

Members
CurrencyCode
Type: string

The currency for transacting the Reserved Instance resale. At this time, the only supported currency is USD.

Price
Type: double

The fixed price for the term.

Term
Type: long (int|float)

The number of months remaining in the reservation. For example, 2 is the second to the last month before the capacity reservation expires.

PricingDetail

Description

Describes a Reserved Instance offering.

Members
Count
Type: int

The number of reservations available for the price.

Price
Type: double

The price per instance.

PrincipalIdFormat

Description

PrincipalIdFormat description

Members
Arn
Type: string

PrincipalIdFormatARN description

Statuses
Type: Array of IdFormat structures

PrincipalIdFormatStatuses description

PrivateDnsDetails

Description

Information about the Private DNS name for interface endpoints.

Members
PrivateDnsName
Type: string

The private DNS name assigned to the VPC endpoint service.

PrivateDnsNameConfiguration

Description

Information about the private DNS name for the service endpoint.

Members
Name
Type: string

The name of the record subdomain the service provider needs to create. The service provider adds the value text to the name.

State
Type: string

The verification state of the VPC endpoint service.

>Consumers of the endpoint service can use the private name only when the state is verified.

Type
Type: string

The endpoint service verification type, for example TXT.

Value
Type: string

The value the service provider adds to the private DNS name domain record before verification.

PrivateDnsNameOptionsOnLaunch

Description

Describes the options for instance hostnames.

Members
EnableResourceNameDnsAAAARecord
Type: boolean

Indicates whether to respond to DNS queries for instance hostname with DNS AAAA records.

EnableResourceNameDnsARecord
Type: boolean

Indicates whether to respond to DNS queries for instance hostnames with DNS A records.

HostnameType
Type: string

The type of hostname for EC2 instances. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID.

PrivateDnsNameOptionsRequest

Description

Describes the options for instance hostnames.

Members
EnableResourceNameDnsAAAARecord
Type: boolean

Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records.

EnableResourceNameDnsARecord
Type: boolean

Indicates whether to respond to DNS queries for instance hostnames with DNS A records.

HostnameType
Type: string

The type of hostname for EC2 instances. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID.

PrivateDnsNameOptionsResponse

Description

Describes the options for instance hostnames.

Members
EnableResourceNameDnsAAAARecord
Type: boolean

Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records.

EnableResourceNameDnsARecord
Type: boolean

Indicates whether to respond to DNS queries for instance hostnames with DNS A records.

HostnameType
Type: string

The type of hostname to assign to an instance.

PrivateIpAddressSpecification

Description

Describes a secondary private IPv4 address for a network interface.

Members
Primary
Type: boolean

Indicates whether the private IPv4 address is the primary private IPv4 address. Only one IPv4 address can be designated as primary.

PrivateIpAddress
Type: string

The private IPv4 address.

ProcessorInfo

Description

Describes the processor used by the instance type.

Members
Manufacturer
Type: string

The manufacturer of the processor.

SupportedArchitectures
Type: Array of strings

The architectures supported by the instance type.

SupportedFeatures
Type: Array of strings

Indicates whether the instance type supports AMD SEV-SNP. If the request returns amd-sev-snp, AMD SEV-SNP is supported. Otherwise, it is not supported. For more information, see AMD SEV-SNP.

SustainedClockSpeedInGhz
Type: double

The speed of the processor, in GHz.

ProductCode

Description

Describes a product code.

Members
ProductCodeId
Type: string

The product code.

ProductCodeType
Type: string

The type of product code.

PropagatingVgw

Description

Describes a virtual private gateway propagating route.

Members
GatewayId
Type: string

The ID of the virtual private gateway.

ProvisionedBandwidth

Description

Reserved. If you need to sustain traffic greater than the documented limits, contact Amazon Web Services Support.

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

Reserved.

Provisioned
Type: string

Reserved.

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

Reserved.

Requested
Type: string

Reserved.

Status
Type: string

Reserved.

PtrUpdateStatus

Description

The status of an updated pointer (PTR) record for an Elastic IP address.

Members
Reason
Type: string

The reason for the PTR record update.

Status
Type: string

The status of the PTR record update.

Value
Type: string

The value for the PTR record update.

PublicIpv4Pool

Description

Describes an IPv4 address pool.

Members
Description
Type: string

A description of the address pool.

NetworkBorderGroup
Type: string

The name of the location from which the address pool is advertised. A network border group is a unique set of Availability Zones or Local Zones from where Amazon Web Services advertises public IP addresses.

PoolAddressRanges
Type: Array of PublicIpv4PoolRange structures

The address ranges.

PoolId
Type: string

The ID of the address pool.

Tags
Type: Array of Tag structures

Any tags for the address pool.

TotalAddressCount
Type: int

The total number of addresses.

TotalAvailableAddressCount
Type: int

The total number of available addresses.

PublicIpv4PoolRange

Description

Describes an address range of an IPv4 address pool.

Members
AddressCount
Type: int

The number of addresses in the range.

AvailableAddressCount
Type: int

The number of available addresses in the range.

FirstAddress
Type: string

The first IP address in the range.

LastAddress
Type: string

The last IP address in the range.

Purchase

Description

Describes the result of the purchase.

Members
CurrencyCode
Type: string

The currency in which the UpfrontPrice and HourlyPrice amounts are specified. At this time, the only supported currency is USD.

Duration
Type: int

The duration of the reservation's term in seconds.

HostIdSet
Type: Array of strings

The IDs of the Dedicated Hosts associated with the reservation.

HostReservationId
Type: string

The ID of the reservation.

HourlyPrice
Type: string

The hourly price of the reservation per hour.

InstanceFamily
Type: string

The instance family on the Dedicated Host that the reservation can be associated with.

PaymentOption
Type: string

The payment option for the reservation.

UpfrontPrice
Type: string

The upfront price of the reservation.

PurchaseRequest

Description

Describes a request to purchase Scheduled Instances.

Members
InstanceCount
Required: Yes
Type: int

The number of instances.

PurchaseToken
Required: Yes
Type: string

The purchase token.

RecurringCharge

Description

Describes a recurring charge.

Members
Amount
Type: double

The amount of the recurring charge.

Frequency
Type: string

The frequency of the recurring charge.

ReferencedSecurityGroup

Description

Describes the security group that is referenced in the security group rule.

Members
GroupId
Type: string

The ID of the security group.

PeeringStatus
Type: string

The status of a VPC peering connection, if applicable.

UserId
Type: string

The Amazon Web Services account ID.

VpcId
Type: string

The ID of the VPC.

VpcPeeringConnectionId
Type: string

The ID of the VPC peering connection (if applicable).

Region

Description

Describes a Region.

Members
Endpoint
Type: string

The Region service endpoint.

OptInStatus
Type: string

The Region opt-in status. The possible values are opt-in-not-required, opted-in, and not-opted-in.

RegionName
Type: string

The name of the Region.

RegisterInstanceTagAttributeRequest

Description

Information about the tag keys to register for the current Region. You can either specify individual tag keys or register all tag keys in the current Region. You must specify either IncludeAllTagsOfInstance or InstanceTagKeys in the request

Members
IncludeAllTagsOfInstance
Type: boolean

Indicates whether to register all tag keys in the current Region. Specify true to register all tag keys.

InstanceTagKeys
Type: Array of strings

The tag keys to register.

RemoveIpamOperatingRegion

Description

Remove an operating Region from an 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

Members
RegionName
Type: string

The name of the operating Region you want to remove.

RemovePrefixListEntry

Description

An entry for a prefix list.

Members
Cidr
Required: Yes
Type: string

The CIDR block.

ReplaceRootVolumeTask

Description

Information about a root volume replacement task.

Members
CompleteTime
Type: string

The time the task completed.

DeleteReplacedRootVolume
Type: boolean

Indicates whether the original root volume is to be deleted after the root volume replacement task completes.

ImageId
Type: string

The ID of the AMI used to create the replacement root volume.

InstanceId
Type: string

The ID of the instance for which the root volume replacement task was created.

ReplaceRootVolumeTaskId
Type: string

The ID of the root volume replacement task.

SnapshotId
Type: string

The ID of the snapshot used to create the replacement root volume.

StartTime
Type: string

The time the task was started.

Tags
Type: Array of Tag structures

The tags assigned to the task.

TaskState
Type: string

The state of the task. The task can be in one of the following states:

  • pending - the replacement volume is being created.

  • in-progress - the original volume is being detached and the replacement volume is being attached.

  • succeeded - the replacement volume has been successfully attached to the instance and the instance is available.

  • failing - the replacement task is in the process of failing.

  • failed - the replacement task has failed but the original root volume is still attached.

  • failing-detached - the replacement task is in the process of failing. The instance might have no root volume attached.

  • failed-detached - the replacement task has failed and the instance has no root volume attached.

RequestFilterPortRange

Description

Describes a port range.

Members
FromPort
Type: int

The first port in the range.

ToPort
Type: int

The last port in the range.

RequestIpamResourceTag

Description

A tag on an IPAM resource.

Members
Key
Type: string

The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

Value
Type: string

The value for the tag.

RequestLaunchTemplateData

Description

The information to include in the launch template.

You must specify at least one parameter for the launch template data.

Members
BlockDeviceMappings
Type: Array of LaunchTemplateBlockDeviceMappingRequest structures

The block device mapping.

CapacityReservationSpecification

The Capacity Reservation targeting option. If you do not specify this parameter, the instance's Capacity Reservation preference defaults to open, which enables it to run in any open Capacity Reservation that has matching attributes (instance type, platform, Availability Zone).

CpuOptions

The CPU options for the instance. For more information, see Optimize CPU options in the Amazon EC2 User Guide.

CreditSpecification
Type: CreditSpecificationRequest structure

The credit option for CPU usage of the instance. Valid only for T instances.

DisableApiStop
Type: boolean

Indicates whether to enable the instance for stop protection. For more information, see Enable stop protection for your instance in the Amazon EC2 User Guide.

DisableApiTermination
Type: boolean

If you set this parameter to true, you can't terminate the instance using the Amazon EC2 console, CLI, or API; otherwise, you can. To change this attribute after launch, use ModifyInstanceAttribute. Alternatively, if you set InstanceInitiatedShutdownBehavior to terminate, you can terminate the instance by running the shutdown command from the instance.

EbsOptimized
Type: boolean

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

ElasticGpuSpecifications
Type: Array of ElasticGpuSpecification structures

Deprecated.

Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads that require graphics acceleration, we recommend that you use Amazon EC2 G4ad, G4dn, or G5 instances.

ElasticInferenceAccelerators
Type: Array of LaunchTemplateElasticInferenceAccelerator structures

Amazon Elastic Inference is no longer available.

An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.

You cannot specify accelerators from different generations in the same request.

Starting April 15, 2023, Amazon Web Services will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service.

EnclaveOptions

Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves. For more information, see What is Amazon Web Services Nitro Enclaves? in the Amazon Web Services Nitro Enclaves User Guide.

You can't enable Amazon Web Services Nitro Enclaves and hibernation on the same instance.

HibernationOptions

Indicates whether an instance is enabled for hibernation. This parameter is valid only if the instance meets the hibernation prerequisites. For more information, see Hibernate your Amazon EC2 instance in the Amazon EC2 User Guide.

IamInstanceProfile

The name or Amazon Resource Name (ARN) of an IAM instance profile.

ImageId
Type: string

The ID of the AMI in the format ami-0ac394d6a3example.

Alternatively, you can specify a Systems Manager parameter, using one of the following formats. The Systems Manager parameter will resolve to an AMI ID on launch.

To reference a public parameter:

  • resolve:ssm:public-parameter

To reference a parameter stored in the same account:

  • resolve:ssm:parameter-name

  • resolve:ssm:parameter-name:version-number

  • resolve:ssm:parameter-name:label

To reference a parameter shared from another Amazon Web Services account:

  • resolve:ssm:parameter-ARN

  • resolve:ssm:parameter-ARN:version-number

  • resolve:ssm:parameter-ARN:label

For more information, see Use a Systems Manager parameter instead of an AMI ID in the Amazon EC2 User Guide.

If the launch template will be used for an EC2 Fleet or Spot Fleet, note the following:

  • Only EC2 Fleets of type instant support specifying a Systems Manager parameter.

  • For EC2 Fleets of type maintain or request, or for Spot Fleets, you must specify the AMI ID.

InstanceInitiatedShutdownBehavior
Type: string

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

Default: stop

InstanceMarketOptions

The market (purchasing) option for the instances.

InstanceRequirements
Type: InstanceRequirementsRequest structure

The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with these attributes.

You must specify VCpuCount and MemoryMiB. All other attributes are optional. Any unspecified optional attribute is set to its default.

When you specify multiple attributes, you get instance types that satisfy all of the specified attributes. If you specify multiple values for an attribute, you get instance types that satisfy any of the specified values.

To limit the list of instance types from which Amazon EC2 can identify matching instance types, you can use one of the following parameters, but not both in the same request:

  • AllowedInstanceTypes - The instance types to include in the list. All other instance types are ignored, even if they match your specified attributes.

  • ExcludedInstanceTypes - The instance types to exclude from the list, even if they match your specified attributes.

If you specify InstanceRequirements, you can't specify InstanceType.

Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the launch instance wizard, or with the RunInstances API or AWS::EC2::Instance Amazon Web Services CloudFormation resource, you can't specify InstanceRequirements.

For more information, see Specify attributes for instance type selection for EC2 Fleet or Spot Fleet and Spot placement score in the Amazon EC2 User Guide.

InstanceType
Type: string

The instance type. For more information, see Amazon EC2 instance types in the Amazon EC2 User Guide.

If you specify InstanceType, you can't specify InstanceRequirements.

KernelId
Type: string

The ID of the kernel.

We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see User provided kernels in the Amazon EC2 User Guide.

KeyName
Type: string

The name of the key pair. You can create a key pair using CreateKeyPair or ImportKeyPair.

If you do not specify a key pair, you can't connect to the instance unless you choose an AMI that is configured to allow users another way to log in.

LicenseSpecifications
Type: Array of LaunchTemplateLicenseConfigurationRequest structures

The license configurations.

MaintenanceOptions

The maintenance options for the instance.

MetadataOptions

The metadata options for the instance. For more information, see Instance metadata and user data in the Amazon EC2 User Guide.

Monitoring

The monitoring for the instance.

NetworkInterfaces

The network interfaces for the instance.

Placement

The placement for the instance.

PrivateDnsNameOptions

The options for the instance hostname. The default values are inherited from the subnet.

RamDiskId
Type: string

The ID of the RAM disk.

We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see User provided kernels in the Amazon EC2 User Guide.

SecurityGroupIds
Type: Array of strings

The IDs of the security groups.

If you specify a network interface, you must specify any security groups as part of the network interface instead of using this parameter.

SecurityGroups
Type: Array of strings

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

If you specify a network interface, you must specify any security groups as part of the network interface instead of using this parameter.

TagSpecifications
Type: Array of LaunchTemplateTagSpecificationRequest structures

The tags to apply to the resources that are created during instance launch. These tags are not applied to the launch template.

UserData
Type: string

The user data to make available to the instance. You must provide base64-encoded text. User data is limited to 16 KB. For more information, see Run commands on your Amazon EC2 instance at launch in the Amazon EC2 User Guide.

If you are creating the launch template for use with Batch, the user data must be provided in the MIME multi-part archive format. For more information, see Amazon EC2 user data in launch templates in the Batch User Guide.

RequestSpotLaunchSpecification

Description

Describes the launch specification for an instance.

Members
AddressingType
Type: string

Deprecated.

BlockDeviceMappings
Type: Array of BlockDeviceMapping structures

The block device mapping entries. You can't specify both a snapshot ID and an encryption value. This is because only blank volumes can be encrypted on creation. If a snapshot is the basis for a volume, it is not blank and its encryption status is used for the volume encryption status.

EbsOptimized
Type: boolean

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

Default: false

IamInstanceProfile

The IAM instance profile.

ImageId
Type: string

The ID of the AMI.

InstanceType
Type: string

The instance type. Only one instance type can be specified.

KernelId
Type: string

The ID of the kernel.

KeyName
Type: string

The name of the key pair.

Monitoring

Indicates whether basic or detailed monitoring is enabled for the instance.

Default: Disabled

NetworkInterfaces
Type: Array of InstanceNetworkInterfaceSpecification structures

The network interfaces. If you specify a network interface, you must specify subnet IDs and security group IDs using the network interface.

Placement
Type: SpotPlacement structure

The placement information for the instance.

RamdiskId
Type: string

The ID of the RAM disk.

SecurityGroupIds
Type: Array of strings

The IDs of the security groups.

SecurityGroups
Type: Array of strings

Not supported.

SubnetId
Type: string

The ID of the subnet in which to launch the instance.

UserData
Type: string

The base64-encoded user data that instances use when starting up. User data is limited to 16 KB.

ReservationFleetInstanceSpecification

Description

Information about an instance type to use in a Capacity Reservation Fleet.

Members
AvailabilityZone
Type: string

The Availability Zone in which the Capacity Reservation Fleet reserves the capacity. A Capacity Reservation Fleet can't span Availability Zones. All instance type specifications that you specify for the Fleet must use the same Availability Zone.

AvailabilityZoneId
Type: string

The ID of the Availability Zone in which the Capacity Reservation Fleet reserves the capacity. A Capacity Reservation Fleet can't span Availability Zones. All instance type specifications that you specify for the Fleet must use the same Availability Zone.

EbsOptimized
Type: boolean

Indicates whether the Capacity Reservation Fleet supports EBS-optimized instances types. 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 EBS-optimized instance types.

InstancePlatform
Type: string

The type of operating system for which the Capacity Reservation Fleet reserves capacity.

InstanceType
Type: string

The instance type for which the Capacity Reservation Fleet reserves capacity.

Priority
Type: int

The priority to assign to the instance type. This value is used to determine which of the instance types specified for the Fleet should be prioritized for use. A lower value indicates a high priority. For more information, see Instance type priority in the Amazon EC2 User Guide.

Weight
Type: double

The number of capacity units provided by the specified instance type. This value, together with the total target capacity that you specify for 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.

ReservationValue

Description

The cost associated with the Reserved Instance.

Members
HourlyPrice
Type: string

The hourly rate of the reservation.

RemainingTotalValue
Type: string

The balance of the total value (the sum of remainingUpfrontValue + hourlyPrice * number of hours remaining).

RemainingUpfrontValue
Type: string

The remaining upfront cost of the reservation.

ReservedInstanceLimitPrice

Description

Describes the limit price of a Reserved Instance offering.

Members
Amount
Type: double

Used for Reserved Instance Marketplace offerings. Specifies the limit price on the total order (instanceCount * price).

CurrencyCode
Type: string

The currency in which the limitPrice amount is specified. At this time, the only supported currency is USD.

ReservedInstanceReservationValue

Description

The total value of the Convertible Reserved Instance.

Members
ReservationValue
Type: ReservationValue structure

The total value of the Convertible Reserved Instance that you are exchanging.

ReservedInstanceId
Type: string

The ID of the Convertible Reserved Instance that you are exchanging.

ReservedInstances

Description

Describes a Reserved Instance.

Members
AvailabilityZone
Type: string

The Availability Zone in which the Reserved Instance can be used.

CurrencyCode
Type: string

The currency of the Reserved Instance. It's specified using ISO 4217 standard currency codes. At this time, the only supported currency is USD.

Duration
Type: long (int|float)

The duration of the Reserved Instance, in seconds.

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

The time when the Reserved Instance expires.

FixedPrice
Type: float

The purchase price of the Reserved Instance.

InstanceCount
Type: int

The number of reservations purchased.

InstanceTenancy
Type: string

The tenancy of the instance.

InstanceType
Type: string

The instance type on which the Reserved Instance can be used.

OfferingClass
Type: string

The offering class of the Reserved Instance.

OfferingType
Type: string

The Reserved Instance offering type.

ProductDescription
Type: string

The Reserved Instance product platform description.

RecurringCharges
Type: Array of RecurringCharge structures

The recurring charge tag assigned to the resource.

ReservedInstancesId
Type: string

The ID of the Reserved Instance.

Scope
Type: string

The scope of the Reserved Instance.

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

The date and time the Reserved Instance started.

State
Type: string

The state of the Reserved Instance purchase.

Tags
Type: Array of Tag structures

Any tags assigned to the resource.

UsagePrice
Type: float

The usage price of the Reserved Instance, per hour.

ReservedInstancesConfiguration

Description

Describes the configuration settings for the modified Reserved Instances.

Members
AvailabilityZone
Type: string

The Availability Zone for the modified Reserved Instances.

InstanceCount
Type: int

The number of modified Reserved Instances.

This is a required field for a request.

InstanceType
Type: string

The instance type for the modified Reserved Instances.

Platform
Type: string

The network platform of the modified Reserved Instances.

Scope
Type: string

Whether the Reserved Instance is applied to instances in a Region or instances in a specific Availability Zone.

ReservedInstancesId

Description

Describes the ID of a Reserved Instance.

Members
ReservedInstancesId
Type: string

The ID of the Reserved Instance.

ReservedInstancesListing

Description

Describes a Reserved Instance listing.

Members
ClientToken
Type: string

A unique, case-sensitive key supplied by the client to ensure that the request is idempotent. For more information, see Ensuring Idempotency.

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

The time the listing was created.

InstanceCounts
Type: Array of InstanceCount structures

The number of instances in this state.

PriceSchedules
Type: Array of PriceSchedule structures

The price of the Reserved Instance listing.

ReservedInstancesId
Type: string

The ID of the Reserved Instance.

ReservedInstancesListingId
Type: string

The ID of the Reserved Instance listing.

Status
Type: string

The status of the Reserved Instance listing.

StatusMessage
Type: string

The reason for the current status of the Reserved Instance listing. The response can be blank.

Tags
Type: Array of Tag structures

Any tags assigned to the resource.

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

The last modified timestamp of the listing.

ReservedInstancesModification

Description

Describes a Reserved Instance modification.

Members
ClientToken
Type: string

A unique, case-sensitive key supplied by the client to ensure that the request is idempotent. For more information, see Ensuring Idempotency.

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

The time when the modification request was created.

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

The time for the modification to become effective.

ModificationResults
Type: Array of ReservedInstancesModificationResult structures

Contains target configurations along with their corresponding new Reserved Instance IDs.

ReservedInstancesIds
Type: Array of ReservedInstancesId structures

The IDs of one or more Reserved Instances.

ReservedInstancesModificationId
Type: string

A unique ID for the Reserved Instance modification.

Status
Type: string

The status of the Reserved Instances modification request.

StatusMessage
Type: string

The reason for the status.

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

The time when the modification request was last updated.

ReservedInstancesModificationResult

Description

Describes the modification request/s.

Members
ReservedInstancesId
Type: string

The ID for the Reserved Instances that were created as part of the modification request. This field is only available when the modification is fulfilled.

TargetConfiguration

The target Reserved Instances configurations supplied as part of the modification request.

ReservedInstancesOffering

Description

Describes a Reserved Instance offering.

Members
AvailabilityZone
Type: string

The Availability Zone in which the Reserved Instance can be used.

CurrencyCode
Type: string

The currency of the Reserved Instance offering you are purchasing. It's specified using ISO 4217 standard currency codes. At this time, the only supported currency is USD.

Duration
Type: long (int|float)

The duration of the Reserved Instance, in seconds.

FixedPrice
Type: float

The purchase price of the Reserved Instance.

InstanceTenancy
Type: string

The tenancy of the instance.

InstanceType
Type: string

The instance type on which the Reserved Instance can be used.

Marketplace
Type: boolean

Indicates whether the offering is available through the Reserved Instance Marketplace (resale) or Amazon Web Services. If it's a Reserved Instance Marketplace offering, this is true.

OfferingClass
Type: string

If convertible it can be exchanged for Reserved Instances of the same or higher monetary value, with different configurations. If standard, it is not possible to perform an exchange.

OfferingType
Type: string

The Reserved Instance offering type.

PricingDetails
Type: Array of PricingDetail structures

The pricing details of the Reserved Instance offering.

ProductDescription
Type: string

The Reserved Instance product platform description.

RecurringCharges
Type: Array of RecurringCharge structures

The recurring charge tag assigned to the resource.

ReservedInstancesOfferingId
Type: string

The ID of the Reserved Instance offering. This is the offering ID used in GetReservedInstancesExchangeQuote to confirm that an exchange can be made.

Scope
Type: string

Whether the Reserved Instance is applied to instances in a Region or an Availability Zone.

UsagePrice
Type: float

The usage price of the Reserved Instance, per hour.

ResourceStatement

Description

Describes a resource statement.

Members
ResourceTypes
Type: Array of strings

The resource types.

Resources
Type: Array of strings

The resources.

ResourceStatementRequest

Description

Describes a resource statement.

Members
ResourceTypes
Type: Array of strings

The resource types.

Resources
Type: Array of strings

The resources.

ResponseError

Description

Describes the error that's returned when you cannot delete a launch template version.

Members
Code
Type: string

The error code.

Message
Type: string

The error message, if applicable.

ResponseLaunchTemplateData

Description

The information for a launch template.

Members
BlockDeviceMappings
Type: Array of LaunchTemplateBlockDeviceMapping structures

The block device mappings.

CapacityReservationSpecification

Information about the Capacity Reservation targeting option.

CpuOptions
Type: LaunchTemplateCpuOptions structure

The CPU options for the instance. For more information, see Optimize CPU options in the Amazon EC2 User Guide.

CreditSpecification
Type: CreditSpecification structure

The credit option for CPU usage of the instance.

DisableApiStop
Type: boolean

Indicates whether the instance is enabled for stop protection. For more information, see Enable stop protection for your instance in the Amazon EC2 User Guide.

DisableApiTermination
Type: boolean

If set to true, indicates that the instance cannot be terminated using the Amazon EC2 console, command line tool, or API.

EbsOptimized
Type: boolean

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

ElasticGpuSpecifications
Type: Array of ElasticGpuSpecificationResponse structures

Deprecated.

Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads that require graphics acceleration, we recommend that you use Amazon EC2 G4ad, G4dn, or G5 instances.

ElasticInferenceAccelerators

Amazon Elastic Inference is no longer available.

An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.

You cannot specify accelerators from different generations in the same request.

Starting April 15, 2023, Amazon Web Services will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service.

EnclaveOptions

Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves.

HibernationOptions

Indicates whether an instance is configured for hibernation. For more information, see Hibernate your Amazon EC2 instance in the Amazon EC2 User Guide.

IamInstanceProfile

The IAM instance profile.

ImageId
Type: string

The ID of the AMI or a Systems Manager parameter. The Systems Manager parameter will resolve to the ID of the AMI at instance launch.

The value depends on what you specified in the request. The possible values are:

  • If an AMI ID was specified in the request, then this is the AMI ID.

  • If a Systems Manager parameter was specified in the request, and ResolveAlias was configured as true, then this is the AMI ID that the parameter is mapped to in the Parameter Store.

  • If a Systems Manager parameter was specified in the request, and ResolveAlias was configured as false, then this is the parameter value.

For more information, see Use a Systems Manager parameter instead of an AMI ID in the Amazon EC2 User Guide.

InstanceInitiatedShutdownBehavior
Type: string

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

InstanceMarketOptions

The market (purchasing) option for the instances.

InstanceRequirements
Type: InstanceRequirements structure

The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with these attributes.

If you specify InstanceRequirements, you can't specify InstanceTypes.

InstanceType
Type: string

The instance type.

KernelId
Type: string

The ID of the kernel, if applicable.

KeyName
Type: string

The name of the key pair.

LicenseSpecifications
Type: Array of LaunchTemplateLicenseConfiguration structures

The license configurations.

MaintenanceOptions

The maintenance options for your instance.

MetadataOptions

The metadata options for the instance. For more information, see Instance metadata and user data in the Amazon EC2 User Guide.

Monitoring
Type: LaunchTemplatesMonitoring structure

The monitoring for the instance.

NetworkInterfaces

The network interfaces.

Placement
Type: LaunchTemplatePlacement structure

The placement of the instance.

PrivateDnsNameOptions

The options for the instance hostname.

RamDiskId
Type: string

The ID of the RAM disk, if applicable.

SecurityGroupIds
Type: Array of strings

The security group IDs.

SecurityGroups
Type: Array of strings

The security group names.

TagSpecifications
Type: Array of LaunchTemplateTagSpecification structures

The tags that are applied to the resources that are created during instance launch.

UserData
Type: string

The user data for the instance.

RevokedSecurityGroupRule

Description

A security group rule removed with RevokeSecurityGroupEgress or RevokeSecurityGroupIngress.

Members
CidrIpv4
Type: string

The IPv4 CIDR of the traffic source.

CidrIpv6
Type: string

The IPv6 CIDR of the traffic source.

Description
Type: string

A description of the revoked security group rule.

FromPort
Type: int

The 'from' port number of the security group rule.

GroupId
Type: string

A security group ID.

IpProtocol
Type: string

The security group rule's protocol.

IsEgress
Type: boolean

Defines if a security group rule is an outbound rule.

PrefixListId
Type: string

The ID of a prefix list that's the traffic source.

ReferencedGroupId
Type: string

The ID of a referenced security group.

SecurityGroupRuleId
Type: string

A security group rule ID.

ToPort
Type: int

The 'to' port number of the security group rule.

Route

Description

Describes a route in a route table.

Members
CarrierGatewayId
Type: string

The ID of the carrier gateway.

CoreNetworkArn
Type: string

The Amazon Resource Name (ARN) of the core network.

DestinationCidrBlock
Type: string

The IPv4 CIDR block used for the destination match.

DestinationIpv6CidrBlock
Type: string

The IPv6 CIDR block used for the destination match.

DestinationPrefixListId
Type: string

The prefix of the Amazon Web Services service.

EgressOnlyInternetGatewayId
Type: string

The ID of the egress-only internet gateway.

GatewayId
Type: string

The ID of a gateway attached to your VPC.

InstanceId
Type: string

The ID of a NAT instance in your VPC.

InstanceOwnerId
Type: string

The ID of Amazon Web Services account that owns the instance.

LocalGatewayId
Type: string

The ID of the local gateway.

NatGatewayId
Type: string

The ID of a NAT gateway.

NetworkInterfaceId
Type: string

The ID of the network interface.

Origin
Type: string

Describes how the route was created.

  • CreateRouteTable - The route was automatically created when the route table was created.

  • CreateRoute - The route was manually added to the route table.

  • EnableVgwRoutePropagation - The route was propagated by route propagation.

State
Type: string

The state of the route. The blackhole state indicates that the route's target isn't available (for example, the specified gateway isn't attached to the VPC, or the specified NAT instance has been terminated).

TransitGatewayId
Type: string

The ID of a transit gateway.

VpcPeeringConnectionId
Type: string

The ID of a VPC peering connection.

RouteTable

Description

Describes a route table.

Members
Associations
Type: Array of RouteTableAssociation structures

The associations between the route table and your subnets or gateways.

OwnerId
Type: string

The ID of the Amazon Web Services account that owns the route table.

PropagatingVgws
Type: Array of PropagatingVgw structures

Any virtual private gateway (VGW) propagating routes.

RouteTableId
Type: string

The ID of the route table.

Routes
Type: Array of Route structures

The routes in the route table.

Tags
Type: Array of Tag structures

Any tags assigned to the route table.

VpcId
Type: string

The ID of the VPC.

RouteTableAssociation

Description

Describes an association between a route table and a subnet or gateway.

Members
AssociationState
Type: RouteTableAssociationState structure

The state of the association.

GatewayId
Type: string

The ID of the internet gateway or virtual private gateway.

Main
Type: boolean

Indicates whether this is the main route table.

RouteTableAssociationId
Type: string

The ID of the association.

RouteTableId
Type: string

The ID of the route table.

SubnetId
Type: string

The ID of the subnet. A subnet ID is not returned for an implicit association.

RouteTableAssociationState

Description

Describes the state of an association between a route table and a subnet or gateway.

Members
State
Type: string

The state of the association.

StatusMessage
Type: string

The status message, if applicable.

RuleGroupRuleOptionsPair

Description

Describes the rule options for a stateful rule group.

Members
RuleGroupArn
Type: string

The ARN of the rule group.

RuleOptions
Type: Array of RuleOption structures

The rule options.

RuleGroupTypePair

Description

Describes the type of a stateful rule group.

Members
RuleGroupArn
Type: string

The ARN of the rule group.

RuleGroupType
Type: string

The rule group type. The possible values are Domain List and Suricata.

RuleOption

Description

Describes additional settings for a stateful rule.

Members
Keyword
Type: string

The Suricata keyword.

Settings
Type: Array of strings

The settings for the keyword.

RunInstancesMonitoringEnabled

Description

Describes the monitoring of an instance.

Members
Enabled
Required: Yes
Type: boolean

Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring is enabled.

S3ObjectTag

Description

The tags to apply to the AMI object that will be stored in the Amazon S3 bucket. For more information, see Categorizing your storage using tags in the Amazon Simple Storage Service User Guide.

Members
Key
Type: string

The key of the tag.

Constraints: Tag keys are case-sensitive and can be up to 128 Unicode characters in length. May not begin with aws:.

Value
Type: string

The value of the tag.

Constraints: Tag values are case-sensitive and can be up to 256 Unicode characters in length.

S3Storage

Description

Describes the storage parameters for Amazon S3 and Amazon S3 buckets for an instance store-backed AMI.

Members
AWSAccessKeyId
Type: string

The access key ID of the owner of the bucket. Before you specify a value for your access key ID, review and follow the guidance in Best Practices for Amazon Web Services accounts in the Account ManagementReference Guide.

Bucket
Type: string

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.

Prefix
Type: string

The beginning of the file name of the AMI.

UploadPolicy
Type: blob (string|resource|Psr\Http\Message\StreamInterface)

An Amazon S3 upload policy that gives Amazon EC2 permission to upload items into Amazon S3 on your behalf.

UploadPolicySignature
Type: string

The signature of the JSON document.

ScheduledInstance

Description

Describes a Scheduled Instance.

Members
AvailabilityZone
Type: string

The Availability Zone.

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

The date when the Scheduled Instance was purchased.

HourlyPrice
Type: string

The hourly price for a single instance.

InstanceCount
Type: int

The number of instances.

InstanceType
Type: string

The instance type.

NetworkPlatform
Type: string

The network platform.

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

The time for the next schedule to start.

Platform
Type: string

The platform (Linux/UNIX or Windows).

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

The time that the previous schedule ended or will end.

Recurrence
Type: ScheduledInstanceRecurrence structure

The schedule recurrence.

ScheduledInstanceId
Type: string

The Scheduled Instance ID.

SlotDurationInHours
Type: int

The number of hours in the schedule.

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

The end date for the Scheduled Instance.

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

The start date for the Scheduled Instance.

TotalScheduledInstanceHours
Type: int

The total number of hours for a single instance for the entire term.

ScheduledInstanceAvailability

Description

Describes a schedule that is available for your Scheduled Instances.

Members
AvailabilityZone
Type: string

The Availability Zone.

AvailableInstanceCount
Type: int

The number of available instances.

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

The time period for the first schedule to start.

HourlyPrice
Type: string

The hourly price for a single instance.

InstanceType
Type: string

The instance type. You can specify one of the C3, C4, M4, or R3 instance types.

MaxTermDurationInDays
Type: int

The maximum term. The only possible value is 365 days.

MinTermDurationInDays
Type: int

The minimum term. The only possible value is 365 days.

NetworkPlatform
Type: string

The network platform.

Platform
Type: string

The platform (Linux/UNIX or Windows).

PurchaseToken
Type: string

The purchase token. This token expires in two hours.

Recurrence
Type: ScheduledInstanceRecurrence structure

The schedule recurrence.

SlotDurationInHours
Type: int

The number of hours in the schedule.

TotalScheduledInstanceHours
Type: int

The total number of hours for a single instance for the entire term.

ScheduledInstanceRecurrence

Description

Describes the recurring schedule for a Scheduled Instance.

Members
Frequency
Type: string

The frequency (Daily, Weekly, or Monthly).

Interval
Type: int

The interval quantity. The interval unit depends on the value of frequency. For example, every 2 weeks or every 2 months.

OccurrenceDaySet
Type: Array of ints

The days. For a monthly schedule, this is one or more days of the month (1-31). For a weekly schedule, this is one or more days of the week (1-7, where 1 is Sunday).

OccurrenceRelativeToEnd
Type: boolean

Indicates whether the occurrence is relative to the end of the specified week or month.

OccurrenceUnit
Type: string

The unit for occurrenceDaySet (DayOfWeek or DayOfMonth).

ScheduledInstanceRecurrenceRequest

Description

Describes the recurring schedule for a Scheduled Instance.

Members
Frequency
Type: string

The frequency (Daily, Weekly, or Monthly).

Interval
Type: int

The interval quantity. The interval unit depends on the value of Frequency. For example, every 2 weeks or every 2 months.

OccurrenceDays
Type: Array of ints

The days. For a monthly schedule, this is one or more days of the month (1-31). For a weekly schedule, this is one or more days of the week (1-7, where 1 is Sunday). You can't specify this value with a daily schedule. If the occurrence is relative to the end of the month, you can specify only a single day.

OccurrenceRelativeToEnd
Type: boolean

Indicates whether the occurrence is relative to the end of the specified week or month. You can't specify this value with a daily schedule.

OccurrenceUnit
Type: string

The unit for OccurrenceDays (DayOfWeek or DayOfMonth). This value is required for a monthly schedule. You can't specify DayOfWeek with a weekly schedule. You can't specify this value with a daily schedule.

ScheduledInstancesBlockDeviceMapping

Description

Describes a block device mapping for a Scheduled Instance.

Members
DeviceName
Type: string

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

Ebs
Type: ScheduledInstancesEbs structure

Parameters used to set up EBS volumes automatically when the instance is launched.

NoDevice
Type: string

To omit the device from the block device mapping, specify an empty string.

VirtualName
Type: string

The virtual device name (ephemeralN). Instance store volumes are numbered starting from 0. An instance type with two available instance store volumes can specify mappings for ephemeral0 and ephemeral1. The number of available instance store volumes depends on the instance type. After you connect to the instance, you must mount the volume.

Constraints: For M3 instances, you must specify instance store volumes in the block device mapping for the instance. When you launch an M3 instance, we ignore any instance store volumes specified in the block device mapping for the AMI.

ScheduledInstancesEbs

Description

Describes an EBS volume for a Scheduled Instance.

Members
DeleteOnTermination
Type: boolean

Indicates whether the volume is deleted on instance termination.

Encrypted
Type: boolean

Indicates whether the volume is encrypted. You can attached encrypted volumes only to instances that support them.

Iops
Type: int

The number of I/O operations per second (IOPS) to provision for a gp3, io1, or io2 volume.

SnapshotId
Type: string

The ID of the snapshot.

VolumeSize
Type: int

The size of the volume, in GiB.

Default: If you're creating the volume from a snapshot and don't specify a volume size, the default is the snapshot size.

VolumeType
Type: string

The volume type.

Default: gp2

ScheduledInstancesIamInstanceProfile

Description

Describes an IAM instance profile for a Scheduled Instance.

Members
Arn
Type: string

The Amazon Resource Name (ARN).

Name
Type: string

The name.

ScheduledInstancesIpv6Address

Description

Describes an IPv6 address.

Members
Ipv6Address
Type: string

The IPv6 address.

ScheduledInstancesLaunchSpecification

Description

Describes the launch specification for a Scheduled Instance.

If you are launching the Scheduled Instance in EC2-VPC, you must specify the ID of the subnet. You can specify the subnet using either SubnetId or NetworkInterface.

Members
BlockDeviceMappings
Type: Array of ScheduledInstancesBlockDeviceMapping structures

The block device mapping entries.

EbsOptimized
Type: boolean

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

Default: false

IamInstanceProfile

The IAM instance profile.

ImageId
Required: Yes
Type: string

The ID of the Amazon Machine Image (AMI).

InstanceType
Type: string

The instance type.

KernelId
Type: string

The ID of the kernel.

KeyName
Type: string

The name of the key pair.

Monitoring

Enable or disable monitoring for the instances.

NetworkInterfaces
Type: Array of ScheduledInstancesNetworkInterface structures

The network interfaces.

Placement
Type: ScheduledInstancesPlacement structure

The placement information.

RamdiskId
Type: string

The ID of the RAM disk.

SecurityGroupIds
Type: Array of strings

The IDs of the security groups.

SubnetId
Type: string

The ID of the subnet in which to launch the instances.

UserData
Type: string

The base64-encoded MIME user data.

ScheduledInstancesMonitoring

Description

Describes whether monitoring is enabled for a Scheduled Instance.

Members
Enabled
Type: boolean

Indicates whether monitoring is enabled.

ScheduledInstancesNetworkInterface

Description

Describes a network interface for a Scheduled Instance.

Members
AssociatePublicIpAddress
Type: boolean

Indicates whether to assign a public IPv4 address to instances launched in a VPC. The public IPv4 address can only be assigned to a network interface for eth0, and can only be assigned to a new network interface, not an existing one. You cannot specify more than one network interface in the request. If launching into a default subnet, the default value is true.

Amazon Web Services charges for all public IPv4 addresses, including public IPv4 addresses associated with running instances and Elastic IP addresses. For more information, see the Public IPv4 Address tab on the Amazon VPC pricing page.

DeleteOnTermination
Type: boolean

Indicates whether to delete the interface when the instance is terminated.

Description
Type: string

The description.

DeviceIndex
Type: int

The index of the device for the network interface attachment.

Groups
Type: Array of strings

The IDs of the security groups.

Ipv6AddressCount
Type: int

The number of IPv6 addresses to assign to the network interface. The IPv6 addresses are automatically selected from the subnet range.

Ipv6Addresses
Type: Array of ScheduledInstancesIpv6Address structures

The specific IPv6 addresses from the subnet range.

NetworkInterfaceId
Type: string

The ID of the network interface.

PrivateIpAddress
Type: string

The IPv4 address of the network interface within the subnet.

PrivateIpAddressConfigs
Type: Array of ScheduledInstancesPrivateIpAddressConfig structures

The private IPv4 addresses.

SecondaryPrivateIpAddressCount
Type: int

The number of secondary private IPv4 addresses.

SubnetId
Type: string

The ID of the subnet.

ScheduledInstancesPlacement

Description

Describes the placement for a Scheduled Instance.

Members
AvailabilityZone
Type: string

The Availability Zone.

GroupName
Type: string

The name of the placement group.

ScheduledInstancesPrivateIpAddressConfig

Description

Describes a private IPv4 address for a Scheduled Instance.

Members
Primary
Type: boolean

Indicates whether this is a primary IPv4 address. Otherwise, this is a secondary IPv4 address.

PrivateIpAddress
Type: string

The IPv4 address.

SecurityGroup

Description

Describes a security group.

Members
Description
Type: string

A description of the security group.

GroupId
Type: string

The ID of the security group.

GroupName
Type: string

The name of the security group.

IpPermissions
Type: Array of IpPermission structures

The inbound rules associated with the security group.

IpPermissionsEgress
Type: Array of IpPermission structures

The outbound rules associated with the security group.

OwnerId
Type: string

The Amazon Web Services account ID of the owner of the security group.

SecurityGroupArn
Type: string

The ARN of the security group.

Tags
Type: Array of Tag structures

Any tags assigned to the security group.

VpcId
Type: string

The ID of the VPC for the security group.

SecurityGroupForVpc

Description

A security group that can be used by interfaces in the VPC.

Members
Description
Type: string

The security group's description.

GroupId
Type: string

The security group ID.

GroupName
Type: string

The security group name.

OwnerId
Type: string

The security group owner ID.

PrimaryVpcId
Type: string

The VPC ID in which the security group was created.

Tags
Type: Array of Tag structures

The security group tags.

SecurityGroupIdentifier

Description

Describes a security group.

Members
GroupId
Type: string

The ID of the security group.

GroupName
Type: string

The name of the security group.

SecurityGroupReference

Description

Describes a VPC with a security group that references your security group.

Members
GroupId
Type: string

The ID of your security group.

ReferencingVpcId
Type: string

The ID of the VPC with the referencing security group.

TransitGatewayId
Type: string

This parameter is in preview and may not be available for your account.

The ID of the transit gateway (if applicable).

VpcPeeringConnectionId
Type: string

The ID of the VPC peering connection (if applicable). For more information about security group referencing for peering connections, see Update your security groups to reference peer security groups in the VPC Peering Guide.

SecurityGroupRule

Description

Describes a security group rule.

Members
CidrIpv4
Type: string

The IPv4 CIDR range.

CidrIpv6
Type: string

The IPv6 CIDR range.

Description
Type: string

The security group rule description.

FromPort
Type: int

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

GroupId
Type: string

The ID of the security group.

GroupOwnerId
Type: string

The ID of the Amazon Web Services account that owns the security group.

IpProtocol
Type: string

The IP protocol name (tcp, udp, icmp, icmpv6) or number (see Protocol Numbers).

Use -1 to specify all protocols.

IsEgress
Type: boolean

Indicates whether the security group rule is an outbound rule.

PrefixListId
Type: string

The ID of the prefix list.

ReferencedGroupInfo
Type: ReferencedSecurityGroup structure

Describes the security group that is referenced in the rule.

SecurityGroupRuleArn
Type: string

The ARN of the security group rule.

SecurityGroupRuleId
Type: string

The ID of the security group rule.

Tags
Type: Array of Tag 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 or ICMPv6, 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).

SecurityGroupRuleDescription

Description

Describes the description of a security group rule.

You can use this when you want to update the security group rule description for either an inbound or outbound rule.

Members
Description
Type: string

The description of the security group rule.

SecurityGroupRuleId
Type: string

The ID of the security group rule.

SecurityGroupRuleRequest

Description

Describes a security group rule.

You must specify exactly one of the following parameters, based on the rule type:

  • CidrIpv4

  • CidrIpv6

  • PrefixListId

  • ReferencedGroupId

When you modify a rule, you cannot change the rule type. For example, if the rule uses an IPv4 address range, you must use CidrIpv4 to specify a new IPv4 address range.

Members
CidrIpv4
Type: string

The IPv4 CIDR range. To specify a single IPv4 address, use the /32 prefix length.

CidrIpv6
Type: string

The IPv6 CIDR range. To specify a single IPv6 address, use the /128 prefix length.

Description
Type: string

The description of the security group rule.

FromPort
Type: int

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

IpProtocol
Type: string

The IP protocol name (tcp, udp, icmp, icmpv6) or number (see Protocol Numbers).

Use -1 to specify all protocols.

PrefixListId
Type: string

The ID of the prefix list.

ReferencedGroupId
Type: string

The ID of the security group that is referenced in 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 or ICMPv6, 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).

SecurityGroupRuleUpdate

Description

Describes an update to a security group rule.

Members
SecurityGroupRule
Type: SecurityGroupRuleRequest structure

Information about the security group rule.

SecurityGroupRuleId
Required: Yes
Type: string

The ID of the security group rule.

SecurityGroupVpcAssociation

Description

A security group association with a VPC that you made with AssociateSecurityGroupVpc.

Members
GroupId
Type: string

The association's security group ID.

State
Type: string

The association's state.

StateReason
Type: string

The association's state reason.

VpcId
Type: string

The association's VPC ID.

VpcOwnerId
Type: string

The Amazon Web Services account ID of the owner of the VPC.

ServiceConfiguration

Description

Describes a service configuration for a VPC endpoint service.

Members
AcceptanceRequired
Type: boolean

Indicates whether requests from other Amazon Web Services accounts to create an endpoint to the service must first be accepted.

AvailabilityZones
Type: Array of strings

The Availability Zones in which the service is available.

BaseEndpointDnsNames
Type: Array of strings

The DNS names for the service.

GatewayLoadBalancerArns
Type: Array of strings

The Amazon Resource Names (ARNs) of the Gateway Load Balancers for the service.

ManagesVpcEndpoints
Type: boolean

Indicates whether the service manages its VPC endpoints. Management of the service VPC endpoints using the VPC endpoint API is restricted.

NetworkLoadBalancerArns
Type: Array of strings

The Amazon Resource Names (ARNs) of the Network Load Balancers for the service.

PayerResponsibility
Type: string

The payer responsibility.

PrivateDnsName
Type: string

The private DNS name for the service.

PrivateDnsNameConfiguration
Type: PrivateDnsNameConfiguration structure

Information about the endpoint service private DNS name configuration.

ServiceId
Type: string

The ID of the service.

ServiceName
Type: string

The name of the service.

ServiceState
Type: string

The service state.

ServiceType
Type: Array of ServiceTypeDetail structures

The type of service.

SupportedIpAddressTypes
Type: Array of strings

The supported IP address types.

Tags
Type: Array of Tag structures

The tags assigned to the service.

ServiceDetail

Description

Describes a VPC endpoint service.

Members
AcceptanceRequired
Type: boolean

Indicates whether VPC endpoint connection requests to the service must be accepted by the service owner.

AvailabilityZones
Type: Array of strings

The Availability Zones in which the service is available.

BaseEndpointDnsNames
Type: Array of strings

The DNS names for the service.

ManagesVpcEndpoints
Type: boolean

Indicates whether the service manages its VPC endpoints. Management of the service VPC endpoints using the VPC endpoint API is restricted.

Owner
Type: string

The Amazon Web Services account ID of the service owner.

PayerResponsibility
Type: string

The payer responsibility.

PrivateDnsName
Type: string

The private DNS name for the service.

PrivateDnsNameVerificationState
Type: string

The verification state of the VPC endpoint service.

Consumers of the endpoint service cannot use the private name when the state is not verified.

PrivateDnsNames
Type: Array of PrivateDnsDetails structures

The private DNS names assigned to the VPC endpoint service.

ServiceId
Type: string

The ID of the endpoint service.

ServiceName
Type: string

The name of the service.

ServiceType
Type: Array of ServiceTypeDetail structures

The type of service.

SupportedIpAddressTypes
Type: Array of strings

The supported IP address types.

Tags
Type: Array of Tag structures

The tags assigned to the service.

VpcEndpointPolicySupported
Type: boolean

Indicates whether the service supports endpoint policies.

ServiceTypeDetail

Description

Describes the type of service for a VPC endpoint.

Members
ServiceType
Type: string

The type of service.

SlotDateTimeRangeRequest

Description

Describes the time period for a Scheduled Instance to start its first schedule. The time period must span less than one day.

Members
EarliestTime
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The earliest date and time, in UTC, for the Scheduled Instance to start.

LatestTime
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The latest date and time, in UTC, for the Scheduled Instance to start. This value must be later than or equal to the earliest date and at most three months in the future.

SlotStartTimeRangeRequest

Description

Describes the time period for a Scheduled Instance to start its first schedule.

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

The earliest date and time, in UTC, for the Scheduled Instance to start.

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

The latest date and time, in UTC, for the Scheduled Instance to start.

SnapshotDetail

Description

Describes the snapshot created from the imported disk.

Members
Description
Type: string

A description for the snapshot.

DeviceName
Type: string

The block device mapping for the snapshot.

DiskImageSize
Type: double

The size of the disk in the snapshot, in GiB.

Format
Type: string

The format of the disk image from which the snapshot is created.

Progress
Type: string

The percentage of progress for the task.

SnapshotId
Type: string

The snapshot ID of the disk being imported.

Status
Type: string

A brief status of the snapshot creation.

StatusMessage
Type: string

A detailed status message for the snapshot creation.

Url
Type: string

The URL used to access the disk image.

UserBucket
Type: UserBucketDetails structure

The Amazon S3 bucket for the disk image.

SnapshotDiskContainer

Description

The disk container object for the import snapshot request.

Members
Description
Type: string

The description of the disk image being imported.

Format
Type: string

The format of the disk image being imported.

Valid values: VHD | VMDK | RAW

Url
Type: string

The URL to the Amazon S3-based disk image being imported. It can either be a https URL (https://..) or an Amazon S3 URL (s3://..).

UserBucket
Type: UserBucket structure

The Amazon S3 bucket for the disk image.

SnapshotInfo

Description

Information about a snapshot.

Members
Description
Type: string

Description specified by the CreateSnapshotRequest that has been applied to all snapshots.

Encrypted
Type: boolean

Indicates whether the snapshot is encrypted.

OutpostArn
Type: string

The ARN of the Outpost on which the snapshot is stored. For more information, see Amazon EBS local snapshots on Outposts in the Amazon EBS User Guide.

OwnerId
Type: string

Account id used when creating this snapshot.

Progress
Type: string

Progress this snapshot has made towards completing.

SnapshotId
Type: string

Snapshot id that can be used to describe this snapshot.

SseType
Type: string

Reserved for future use.

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

Time this snapshot was started. This is the same for all snapshots initiated by the same request.

State
Type: string

Current state of the snapshot.

Tags
Type: Array of Tag structures

Tags associated with this snapshot.

VolumeId
Type: string

Source volume from which this snapshot was created.

VolumeSize
Type: int

Size of the volume from which this snapshot was created.

SnapshotRecycleBinInfo

Description

Information about a snapshot that is currently in the Recycle Bin.

Members
Description
Type: string

The description for the snapshot.

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

The date and time when the snaphsot entered the Recycle Bin.

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

The date and time when the snapshot is to be permanently deleted from the Recycle Bin.

SnapshotId
Type: string

The ID of the snapshot.

VolumeId
Type: string

The ID of the volume from which the snapshot was created.

SnapshotTaskDetail

Description

Details about the import snapshot task.

Members
Description
Type: string

The description of the disk image being imported.

DiskImageSize
Type: double

The size of the disk in the snapshot, in GiB.

Encrypted
Type: boolean

Indicates whether the snapshot is encrypted.

Format
Type: string

The format of the disk image from which the snapshot is created.

KmsKeyId
Type: string

The identifier for the KMS key that was used to create the encrypted snapshot.

Progress
Type: string

The percentage of completion for the import snapshot task.

SnapshotId
Type: string

The snapshot ID of the disk being imported.

Status
Type: string

A brief status for the import snapshot task.

StatusMessage
Type: string

A detailed status message for the import snapshot task.

Url
Type: string

The URL of the disk image from which the snapshot is created.

UserBucket
Type: UserBucketDetails structure

The Amazon S3 bucket for the disk image.

SnapshotTierStatus

Description

Provides information about a snapshot's storage tier.

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

The date and time when the last archive process was completed.

LastTieringOperationStatus
Type: string

The status of the last archive or restore process.

LastTieringOperationStatusDetail
Type: string

A message describing the status of the last archive or restore process.

LastTieringProgress
Type: int

The progress of the last archive or restore process, as a percentage.

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

The date and time when the last archive or restore process was started.

OwnerId
Type: string

The ID of the Amazon Web Services account that owns the snapshot.

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

Only for archived snapshots that are temporarily restored. Indicates the date and time when a temporarily restored snapshot will be automatically re-archived.

SnapshotId
Type: string

The ID of the snapshot.

Status
Type: string

The state of the snapshot.

StorageTier
Type: string

The storage tier in which the snapshot is stored. standard indicates that the snapshot is stored in the standard snapshot storage tier and that it is ready for use. archive indicates that the snapshot is currently archived and that it must be restored before it can be used.

Tags
Type: Array of Tag structures

The tags that are assigned to the snapshot.

VolumeId
Type: string

The ID of the volume from which the snapshot was created.

SpotCapacityRebalance

Description

The Spot Instance replacement strategy to use when Amazon EC2 emits a signal that your Spot Instance is at an elevated risk of being interrupted. For more information, see Capacity rebalancing in the Amazon EC2 User Guide.

Members
ReplacementStrategy
Type: string

The replacement strategy to use. Only available for fleets of type maintain.

launch - Spot Fleet launches a new replacement Spot Instance when a rebalance notification is emitted for an existing Spot Instance in the fleet. Spot Fleet does not terminate the instances that receive a rebalance notification. You can terminate the old instances, or you can leave them running. You are charged for all instances while they are running.

launch-before-terminate - Spot Fleet launches a new replacement Spot Instance when a rebalance notification is emitted for an existing Spot Instance in the fleet, and then, after a delay that you specify (in TerminationDelay), terminates the instances that received a rebalance notification.

TerminationDelay
Type: int

The amount of time (in seconds) that Amazon EC2 waits before terminating the old Spot Instance after launching a new replacement Spot Instance.

Required when ReplacementStrategy is set to launch-before-terminate.

Not valid when ReplacementStrategy is set to launch.

Valid values: Minimum value of 120 seconds. Maximum value of 7200 seconds.

SpotDatafeedSubscription

Description

Describes the data feed for a Spot Instance.

Members
Bucket
Type: string

The name of the Amazon S3 bucket where the Spot Instance data feed is located.

Fault
Type: SpotInstanceStateFault structure

The fault codes for the Spot Instance request, if any.

OwnerId
Type: string

The Amazon Web Services account ID of the account.

Prefix
Type: string

The prefix for the data feed files.

State
Type: string

The state of the Spot Instance data feed subscription.

SpotFleetLaunchSpecification

Description

Describes the launch specification for one or more Spot Instances. If you include On-Demand capacity in your fleet request or want to specify an EFA network device, you can't use SpotFleetLaunchSpecification; you must use LaunchTemplateConfig.

Members
AddressingType
Type: string

Deprecated.

BlockDeviceMappings
Type: Array of BlockDeviceMapping structures

One or more block devices that are mapped to the Spot Instances. You can't specify both a snapshot ID and an encryption value. This is because only blank volumes can be encrypted on creation. If a snapshot is the basis for a volume, it is not blank and its encryption status is used for the volume encryption status.

EbsOptimized
Type: boolean

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

Default: false

IamInstanceProfile

The IAM instance profile.

ImageId
Type: string

The ID of the AMI.

InstanceRequirements
Type: InstanceRequirements structure

The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with those attributes.

If you specify InstanceRequirements, you can't specify InstanceType.

InstanceType
Type: string

The instance type.

KernelId
Type: string

The ID of the kernel.

KeyName
Type: string

The name of the key pair.

Monitoring
Type: SpotFleetMonitoring structure

Enable or disable monitoring for the instances.

NetworkInterfaces
Type: Array of InstanceNetworkInterfaceSpecification structures

The network interfaces.

SpotFleetLaunchSpecification does not support Elastic Fabric Adapter (EFA). You must use LaunchTemplateConfig instead.

Placement
Type: SpotPlacement structure

The placement information.

RamdiskId
Type: string

The ID of the RAM disk. Some kernels require additional drivers at launch. Check the kernel requirements for information about whether you need to specify a RAM disk. To find kernel requirements, refer to the Amazon Web Services Resource Center and search for the kernel ID.

SecurityGroups
Type: Array of GroupIdentifier structures

The security groups.

If you specify a network interface, you must specify any security groups as part of the network interface instead of using this parameter.

SpotPrice
Type: string

The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.

If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.

SubnetId
Type: string

The IDs of the subnets in which to launch the instances. To specify multiple subnets, separate them using commas; for example, "subnet-1234abcdeexample1, subnet-0987cdef6example2".

If you specify a network interface, you must specify any subnets as part of the network interface instead of using this parameter.

TagSpecifications
Type: Array of SpotFleetTagSpecification structures

The tags to apply during creation.

UserData
Type: string

The base64-encoded user data that instances use when starting up. User data is limited to 16 KB.

WeightedCapacity
Type: double

The number of units provided by the specified instance type. These are the same units that you chose to set the target capacity in terms of instances, or a performance characteristic such as vCPUs, memory, or I/O.

If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.

When specifying weights, the price used in the lowestPrice and priceCapacityOptimized allocation strategies is per unit hour (where the instance price is divided by the specified weight). However, if all the specified weights are above the requested TargetCapacity, resulting in only 1 instance being launched, the price used is per instance hour.

SpotFleetMonitoring

Description

Describes whether monitoring is enabled.

Members
Enabled
Type: boolean

Enables monitoring for the instance.

Default: false

SpotFleetRequestConfig

Description

Describes a Spot Fleet request.

Members
ActivityStatus
Type: string

The progress of the Spot Fleet request. If there is an error, the status is error. After all requests are placed, the status is pending_fulfillment. If the size of the fleet is equal to or greater than its target capacity, the status is fulfilled. If the size of the fleet is decreased, the status is pending_termination while Spot Instances are terminating.

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

The creation date and time of the request.

SpotFleetRequestConfig
Type: SpotFleetRequestConfigData structure

The configuration of the Spot Fleet request.

SpotFleetRequestId
Type: string

The ID of the Spot Fleet request.

SpotFleetRequestState
Type: string

The state of the Spot Fleet request.

Tags
Type: Array of Tag structures

The tags for a Spot Fleet resource.

SpotFleetRequestConfigData

Description

Describes the configuration of a Spot Fleet request.

Members
AllocationStrategy
Type: string

The strategy that determines how to allocate the target Spot Instance capacity across the Spot Instance pools specified by the Spot Fleet launch configuration. For more information, see Allocation strategies for Spot Instances in the Amazon EC2 User Guide.

priceCapacityOptimized (recommended)

Spot Fleet identifies the pools with the highest capacity availability for the number of instances that are launching. This means that we will request Spot Instances from the pools that we believe have the lowest chance of interruption in the near term. Spot Fleet then requests Spot Instances from the lowest priced of these pools.

capacityOptimized

Spot Fleet identifies the pools with the highest capacity availability for the number of instances that are launching. This means that we will request Spot Instances from the pools that we believe have the lowest chance of interruption in the near term. To give certain instance types a higher chance of launching first, use capacityOptimizedPrioritized. Set a priority for each instance type by using the Priority parameter for LaunchTemplateOverrides. You can assign the same priority to different LaunchTemplateOverrides. EC2 implements the priorities on a best-effort basis, but optimizes for capacity first. capacityOptimizedPrioritized is supported only if your Spot Fleet uses a launch template. Note that if the OnDemandAllocationStrategy is set to prioritized, the same priority is applied when fulfilling On-Demand capacity.

diversified

Spot Fleet requests instances from all of the Spot Instance pools that you specify.

lowestPrice (not recommended)

We don't recommend the lowestPrice allocation strategy because it has the highest risk of interruption for your Spot Instances.

Spot Fleet requests instances from the lowest priced Spot Instance pool that has available capacity. If the lowest priced pool doesn't have available capacity, the Spot Instances come from the next lowest priced pool that has available capacity. If a pool runs out of capacity before fulfilling your desired capacity, Spot Fleet will continue to fulfill your request by drawing from the next lowest priced pool. To ensure that your desired capacity is met, you might receive Spot Instances from several pools. Because this strategy only considers instance price and not capacity availability, it might lead to high interruption rates.

Default: lowestPrice

ClientToken
Type: string

A unique, case-sensitive identifier that you provide to ensure the idempotency of your listings. This helps to avoid duplicate listings. For more information, see Ensuring Idempotency.

Context
Type: string

Reserved.

ExcessCapacityTerminationPolicy
Type: string

Indicates whether running instances should be terminated if you decrease the target capacity of the Spot Fleet request below the current size of the Spot Fleet.

Supported only for fleets of type maintain.

FulfilledCapacity
Type: double

The number of units fulfilled by this request compared to the set target capacity. You cannot set this value.

IamFleetRole
Required: Yes
Type: string

The Amazon Resource Name (ARN) of an Identity and Access Management (IAM) role that grants the Spot Fleet the permission to request, launch, terminate, and tag instances on your behalf. For more information, see Spot Fleet prerequisites in the Amazon EC2 User Guide. Spot Fleet can terminate Spot Instances on your behalf when you cancel its Spot Fleet request using CancelSpotFleetRequests or when the Spot Fleet request expires, if you set TerminateInstancesWithExpiration.

InstanceInterruptionBehavior
Type: string

The behavior when a Spot Instance is interrupted. The default is terminate.

InstancePoolsToUseCount
Type: int

The number of Spot pools across which to allocate your target Spot capacity. Valid only when Spot AllocationStrategy is set to lowest-price. Spot Fleet selects the cheapest Spot pools and evenly allocates your target Spot capacity across the number of Spot pools that you specify.

Note that Spot Fleet attempts to draw Spot Instances from the number of pools that you specify on a best effort basis. If a pool runs out of Spot capacity before fulfilling your target capacity, Spot Fleet will continue to fulfill your request by drawing from the next cheapest pool. To ensure that your target capacity is met, you might receive Spot Instances from more than the number of pools that you specified. Similarly, if most of the pools have no Spot capacity, you might receive your full target capacity from fewer than the number of pools that you specified.

LaunchSpecifications
Type: Array of SpotFleetLaunchSpecification structures

The launch specifications for the Spot Fleet request. If you specify LaunchSpecifications, you can't specify LaunchTemplateConfigs. If you include On-Demand capacity in your request, you must use LaunchTemplateConfigs.

If an AMI specified in a launch specification is deregistered or disabled, no new instances can be launched from the AMI. For fleets of type maintain, the target capacity will not be maintained.

LaunchTemplateConfigs
Type: Array of LaunchTemplateConfig structures

The launch template and overrides. If you specify LaunchTemplateConfigs, you can't specify LaunchSpecifications. If you include On-Demand capacity in your request, you must use LaunchTemplateConfigs.

LoadBalancersConfig
Type: LoadBalancersConfig structure

One or more Classic Load Balancers and target groups to attach to the Spot Fleet request. Spot Fleet registers the running Spot Instances with the specified Classic Load Balancers and target groups.

With Network Load Balancers, Spot Fleet cannot register instances that have the following instance types: C1, CC1, CC2, CG1, CG2, CR1, CS1, G1, G2, HI1, HS1, M1, M2, M3, and T1.

OnDemandAllocationStrategy
Type: string

The order of the launch template overrides to use in fulfilling On-Demand capacity. If you specify lowestPrice, Spot Fleet uses price to determine the order, launching the lowest price first. If you specify prioritized, Spot Fleet uses the priority that you assign to each Spot Fleet launch template override, launching the highest priority first. If you do not specify a value, Spot Fleet defaults to lowestPrice.

OnDemandFulfilledCapacity
Type: double

The number of On-Demand units fulfilled by this request compared to the set target On-Demand capacity.

OnDemandMaxTotalPrice
Type: string

The maximum amount per hour for On-Demand Instances that you're willing to pay. You can use the onDemandMaxTotalPrice parameter, the spotMaxTotalPrice parameter, or both parameters to ensure that your fleet cost does not exceed your budget. If you set a maximum price per hour for the On-Demand Instances and Spot Instances in your request, Spot Fleet will launch instances until it reaches the maximum amount you're willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops launching instances even if it hasn’t met the target capacity.

If your fleet includes T instances that are configured as unlimited, and if their average CPU usage exceeds the baseline utilization, you will incur a charge for surplus credits. The onDemandMaxTotalPrice does not account for surplus credits, and, if you use surplus credits, your final cost might be higher than what you specified for onDemandMaxTotalPrice. For more information, see Surplus credits can incur charges in the Amazon EC2 User Guide.

OnDemandTargetCapacity
Type: int

The number of On-Demand units to request. You can choose to set the target capacity in terms of instances or a performance characteristic that is important to your application workload, such as vCPUs, memory, or I/O. If the request type is maintain, you can specify a target capacity of 0 and add capacity later.

ReplaceUnhealthyInstances
Type: boolean

Indicates whether Spot Fleet should replace unhealthy instances.

SpotMaintenanceStrategies
Type: SpotMaintenanceStrategies structure

The strategies for managing your Spot Instances that are at an elevated risk of being interrupted.

SpotMaxTotalPrice
Type: string

The maximum amount per hour for Spot Instances that you're willing to pay. You can use the spotMaxTotalPrice parameter, the onDemandMaxTotalPrice parameter, or both parameters to ensure that your fleet cost does not exceed your budget. If you set a maximum price per hour for the On-Demand Instances and Spot Instances in your request, Spot Fleet will launch instances until it reaches the maximum amount you're willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops launching instances even if it hasn’t met the target capacity.

If your fleet includes T instances that are configured as unlimited, and if their average CPU usage exceeds the baseline utilization, you will incur a charge for surplus credits. The spotMaxTotalPrice does not account for surplus credits, and, if you use surplus credits, your final cost might be higher than what you specified for spotMaxTotalPrice. For more information, see Surplus credits can incur charges in the Amazon EC2 User Guide.

SpotPrice
Type: string

The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.

If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.

TagSpecifications
Type: Array of TagSpecification structures

The key-value pair for tagging the Spot Fleet request on creation. The value for ResourceType must be spot-fleet-request, otherwise the Spot Fleet request fails. To tag instances at launch, specify the tags in the launch template (valid only if you use LaunchTemplateConfigs) or in the SpotFleetTagSpecification (valid only if you use LaunchSpecifications). For information about tagging after launch, see Tag your resources.

TargetCapacity
Required: Yes
Type: int

The number of units to request for the Spot Fleet. You can choose to set the target capacity in terms of instances or a performance characteristic that is important to your application workload, such as vCPUs, memory, or I/O. If the request type is maintain, you can specify a target capacity of 0 and add capacity later.

TargetCapacityUnitType
Type: string

The unit for the target capacity. You can specify this parameter only when using attribute-based instance type selection.

Default: units (the number of instances)

TerminateInstancesWithExpiration
Type: boolean

Indicates whether running Spot Instances are terminated when the Spot Fleet request expires.

Type
Type: string

The type of request. Indicates whether the Spot Fleet only requests the target capacity or also attempts to maintain it. When this value is request, the Spot Fleet only places the required requests. It does not attempt to replenish Spot Instances if capacity is diminished, nor does it submit requests in alternative Spot pools if capacity is not available. When this value is maintain, the Spot Fleet maintains the target capacity. The Spot Fleet places the required requests to meet capacity and automatically replenishes any interrupted instances. Default: maintain. instant is listed but is not used by Spot Fleet.

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

The start date and time of the request, in UTC format (YYYY-MM-DDTHH:MM:SSZ). By default, Amazon EC2 starts 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 (YYYY-MM-DDTHH:MM:SSZ). After the end date and time, no new Spot Instance requests are placed or able to fulfill the request. If no value is specified, the Spot Fleet request remains until you cancel it.

SpotFleetTagSpecification

Description

The tags for a Spot Fleet resource.

Members
ResourceType
Type: string

The type of resource. Currently, the only resource type that is supported is instance. To tag the Spot Fleet request on creation, use the TagSpecifications parameter in SpotFleetRequestConfigData .

Tags
Type: Array of Tag structures

The tags.

SpotInstanceRequest

Description

Describes a Spot Instance request.

Members
ActualBlockHourlyPrice
Type: string

Deprecated.

AvailabilityZoneGroup
Type: string

The Availability Zone group. If you specify the same Availability Zone group for all Spot Instance requests, all Spot Instances are launched in the same Availability Zone.

BlockDurationMinutes
Type: int

Deprecated.

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

The date and time when the Spot Instance request was created, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

Fault
Type: SpotInstanceStateFault structure

The fault codes for the Spot Instance request, if any.

InstanceId
Type: string

The instance ID, if an instance has been launched to fulfill the Spot Instance request.

InstanceInterruptionBehavior
Type: string

The behavior when a Spot Instance is interrupted.

LaunchGroup
Type: string

The instance launch group. Launch groups are Spot Instances that launch together and terminate together.

LaunchSpecification
Type: LaunchSpecification structure

Additional information for launching instances.

LaunchedAvailabilityZone
Type: string

The Availability Zone in which the request is launched.

ProductDescription
Type: string

The product description associated with the Spot Instance.

SpotInstanceRequestId
Type: string

The ID of the Spot Instance request.

SpotPrice
Type: string

The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.

If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.

State
Type: string

The state of the Spot Instance request. Spot request status information helps track your Spot Instance requests. For more information, see Spot request status in the Amazon EC2 User Guide.

Status
Type: SpotInstanceStatus structure

The status code and status message describing the Spot Instance request.

Tags
Type: Array of Tag structures

Any tags assigned to the resource.

Type
Type: string

The Spot Instance request type.

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

The start date of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). The request becomes active at this date and time.

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

The end date of the request, in UTC format (YYYY-MM-DDTHH:MM:SSZ).

  • For a persistent request, the request remains active until the validUntil date and time is reached. Otherwise, the request remains active until you cancel it.

  • For a one-time request, the request remains active until all instances launch, the request is canceled, or the validUntil date and time is reached. By default, the request is valid for 7 days from the date the request was created.

SpotInstanceStateFault

Description

Describes a Spot Instance state change.

Members
Code
Type: string

The reason code for the Spot Instance state change.

Message
Type: string

The message for the Spot Instance state change.

SpotInstanceStatus

Description

Describes the status of a Spot Instance request.

Members
Code
Type: string

The status code. For a list of status codes, see Spot request status codes in the Amazon EC2 User Guide.

Message
Type: string

The description for the status code.

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

The date and time of the most recent status update, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

SpotMaintenanceStrategies

Description

The strategies for managing your Spot Instances that are at an elevated risk of being interrupted.

Members
CapacityRebalance
Type: SpotCapacityRebalance structure

The Spot Instance replacement strategy to use when Amazon EC2 emits a signal that your Spot Instance is at an elevated risk of being interrupted. For more information, see Capacity rebalancing in the Amazon EC2 User Guide.

SpotMarketOptions

Description

The options for Spot Instances.

Members
BlockDurationMinutes
Type: int

Deprecated.

InstanceInterruptionBehavior
Type: string

The behavior when a Spot Instance is interrupted.

If Configured (for HibernationOptions ) is set to true, the InstanceInterruptionBehavior parameter is automatically set to hibernate. If you set it to stop or terminate, you'll get an error.

If Configured (for HibernationOptions ) is set to false or null, the InstanceInterruptionBehavior parameter is automatically set to terminate. You can also set it to stop or hibernate.

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

MaxPrice
Type: string

The maximum hourly price that you're willing to pay for a Spot Instance. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.

If you specify a maximum price, your Spot Instances will be interrupted more frequently than if you do not specify this parameter.

SpotInstanceType
Type: string

The Spot Instance request type. For RunInstances, persistent Spot Instance requests are only supported when the instance interruption behavior is either hibernate or stop.

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

The end date of the request, in UTC format (YYYY-MM-DDTHH:MM:SSZ). Supported only for persistent requests.

  • For a persistent request, the request remains active until the ValidUntil date and time is reached. Otherwise, the request remains active until you cancel it.

  • For a one-time request, ValidUntil is not supported. The request remains active until all instances launch or you cancel the request.

SpotOptions

Description

Describes the configuration of Spot Instances in an EC2 Fleet.

Members
AllocationStrategy
Type: string

The strategy that determines how to allocate the target Spot Instance capacity across the Spot Instance pools specified by the EC2 Fleet launch configuration. For more information, see Allocation strategies for Spot Instances in the Amazon EC2 User Guide.

price-capacity-optimized (recommended)

EC2 Fleet identifies the pools with the highest capacity availability for the number of instances that are launching. This means that we will request Spot Instances from the pools that we believe have the lowest chance of interruption in the near term. EC2 Fleet then requests Spot Instances from the lowest priced of these pools.

capacity-optimized

EC2 Fleet identifies the pools with the highest capacity availability for the number of instances that are launching. This means that we will request Spot Instances from the pools that we believe have the lowest chance of interruption in the near term. To give certain instance types a higher chance of launching first, use capacity-optimized-prioritized. Set a priority for each instance type by using the Priority parameter for LaunchTemplateOverrides. You can assign the same priority to different LaunchTemplateOverrides. EC2 implements the priorities on a best-effort basis, but optimizes for capacity first. capacity-optimized-prioritized is supported only if your EC2 Fleet uses a launch template. Note that if the On-Demand AllocationStrategy is set to prioritized, the same priority is applied when fulfilling On-Demand capacity.

diversified

EC2 Fleet requests instances from all of the Spot Instance pools that you specify.

lowest-price (not recommended)

We don't recommend the lowest-price allocation strategy because it has the highest risk of interruption for your Spot Instances.

EC2 Fleet requests instances from the lowest priced Spot Instance pool that has available capacity. If the lowest priced pool doesn't have available capacity, the Spot Instances come from the next lowest priced pool that has available capacity. If a pool runs out of capacity before fulfilling your desired capacity, EC2 Fleet will continue to fulfill your request by drawing from the next lowest priced pool. To ensure that your desired capacity is met, you might receive Spot Instances from several pools. Because this strategy only considers instance price and not capacity availability, it might lead to high interruption rates.

Default: lowest-price

InstanceInterruptionBehavior
Type: string

The behavior when a Spot Instance is interrupted.

Default: terminate

InstancePoolsToUseCount
Type: int

The number of Spot pools across which to allocate your target Spot capacity. Supported only when AllocationStrategy is set to lowest-price. EC2 Fleet selects the cheapest Spot pools and evenly allocates your target Spot capacity across the number of Spot pools that you specify.

Note that EC2 Fleet attempts to draw Spot Instances from the number of pools that you specify on a best effort basis. If a pool runs out of Spot capacity before fulfilling your target capacity, EC2 Fleet will continue to fulfill your request by drawing from the next cheapest pool. To ensure that your target capacity is met, you might receive Spot Instances from more than the number of pools that you specified. Similarly, if most of the pools have no Spot capacity, you might receive your full target capacity from fewer than the number of pools that you specified.

MaintenanceStrategies

The strategies for managing your workloads on your Spot Instances that will be interrupted. Currently only the capacity rebalance strategy is available.

MaxTotalPrice
Type: string

The maximum amount per hour for Spot Instances that you're willing to pay. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.

If you specify a maximum price, your Spot Instances will be interrupted more frequently than if you do not specify this parameter.

If your fleet includes T instances that are configured as unlimited, and if their average CPU usage exceeds the baseline utilization, you will incur a charge for surplus credits. The maxTotalPrice does not account for surplus credits, and, if you use surplus credits, your final cost might be higher than what you specified for maxTotalPrice. For more information, see Surplus credits can incur charges in the Amazon EC2 User Guide.

MinTargetCapacity
Type: int

The minimum target capacity for Spot Instances in the fleet. If this minimum capacity isn't reached, no instances are launched.

Constraints: Maximum value of 1000. Supported only for fleets of type instant.

At least one of the following must be specified: SingleAvailabilityZone | SingleInstanceType

SingleAvailabilityZone
Type: boolean

Indicates that the fleet launches all Spot Instances into a single Availability Zone.

Supported only for fleets of type instant.

SingleInstanceType
Type: boolean

Indicates that the fleet uses a single instance type to launch all Spot Instances in the fleet.

Supported only for fleets of type instant.

SpotOptionsRequest

Description

Describes the configuration of Spot Instances in an EC2 Fleet request.

Members
AllocationStrategy
Type: string

The strategy that determines how to allocate the target Spot Instance capacity across the Spot Instance pools specified by the EC2 Fleet launch configuration. For more information, see Allocation strategies for Spot Instances in the Amazon EC2 User Guide.

price-capacity-optimized (recommended)

EC2 Fleet identifies the pools with the highest capacity availability for the number of instances that are launching. This means that we will request Spot Instances from the pools that we believe have the lowest chance of interruption in the near term. EC2 Fleet then requests Spot Instances from the lowest priced of these pools.

capacity-optimized

EC2 Fleet identifies the pools with the highest capacity availability for the number of instances that are launching. This means that we will request Spot Instances from the pools that we believe have the lowest chance of interruption in the near term. To give certain instance types a higher chance of launching first, use capacity-optimized-prioritized. Set a priority for each instance type by using the Priority parameter for LaunchTemplateOverrides. You can assign the same priority to different LaunchTemplateOverrides. EC2 implements the priorities on a best-effort basis, but optimizes for capacity first. capacity-optimized-prioritized is supported only if your EC2 Fleet uses a launch template. Note that if the On-Demand AllocationStrategy is set to prioritized, the same priority is applied when fulfilling On-Demand capacity.

diversified

EC2 Fleet requests instances from all of the Spot Instance pools that you specify.

lowest-price (not recommended)

We don't recommend the lowest-price allocation strategy because it has the highest risk of interruption for your Spot Instances.

EC2 Fleet requests instances from the lowest priced Spot Instance pool that has available capacity. If the lowest priced pool doesn't have available capacity, the Spot Instances come from the next lowest priced pool that has available capacity. If a pool runs out of capacity before fulfilling your desired capacity, EC2 Fleet will continue to fulfill your request by drawing from the next lowest priced pool. To ensure that your desired capacity is met, you might receive Spot Instances from several pools. Because this strategy only considers instance price and not capacity availability, it might lead to high interruption rates.

Default: lowest-price

InstanceInterruptionBehavior
Type: string

The behavior when a Spot Instance is interrupted.

Default: terminate

InstancePoolsToUseCount
Type: int

The number of Spot pools across which to allocate your target Spot capacity. Supported only when Spot AllocationStrategy is set to lowest-price. EC2 Fleet selects the cheapest Spot pools and evenly allocates your target Spot capacity across the number of Spot pools that you specify.

Note that EC2 Fleet attempts to draw Spot Instances from the number of pools that you specify on a best effort basis. If a pool runs out of Spot capacity before fulfilling your target capacity, EC2 Fleet will continue to fulfill your request by drawing from the next cheapest pool. To ensure that your target capacity is met, you might receive Spot Instances from more than the number of pools that you specified. Similarly, if most of the pools have no Spot capacity, you might receive your full target capacity from fewer than the number of pools that you specified.

MaintenanceStrategies

The strategies for managing your Spot Instances that are at an elevated risk of being interrupted.

MaxTotalPrice
Type: string

The maximum amount per hour for Spot Instances that you're willing to pay. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.

If you specify a maximum price, your Spot Instances will be interrupted more frequently than if you do not specify this parameter.

If your fleet includes T instances that are configured as unlimited, and if their average CPU usage exceeds the baseline utilization, you will incur a charge for surplus credits. The MaxTotalPrice does not account for surplus credits, and, if you use surplus credits, your final cost might be higher than what you specified for MaxTotalPrice. For more information, see Surplus credits can incur charges in the Amazon EC2 User Guide.

MinTargetCapacity
Type: int

The minimum target capacity for Spot Instances in the fleet. If this minimum capacity isn't reached, no instances are launched.

Constraints: Maximum value of 1000. Supported only for fleets of type instant.

At least one of the following must be specified: SingleAvailabilityZone | SingleInstanceType

SingleAvailabilityZone
Type: boolean

Indicates that the fleet launches all Spot Instances into a single Availability Zone.

Supported only for fleets of type instant.

SingleInstanceType
Type: boolean

Indicates that the fleet uses a single instance type to launch all Spot Instances in the fleet.

Supported only for fleets of type instant.

SpotPlacement

Description

Describes Spot Instance placement.

Members
AvailabilityZone
Type: string

The Availability Zone.

[Spot Fleet only] To specify multiple Availability Zones, separate them using commas; for example, "us-west-2a, us-west-2b".

GroupName
Type: string

The name of the placement group.

Tenancy
Type: string

The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware. The host tenancy is not supported for Spot Instances.

SpotPlacementScore

Description

The Spot placement score for this Region or Availability Zone. The score is calculated based on the assumption that the capacity-optimized allocation strategy is used and that all of the Availability Zones in the Region can be used.

Members
AvailabilityZoneId
Type: string

The Availability Zone.

Region
Type: string

The Region.

Score
Type: int

The placement score, on a scale from 1 to 10. A score of 10 indicates that your Spot request is highly likely to succeed in this Region or Availability Zone. A score of 1 indicates that your Spot request is not likely to succeed.

SpotPrice

Description

The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.

If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.

Members
AvailabilityZone
Type: string

The Availability Zone.

InstanceType
Type: string

The instance type.

ProductDescription
Type: string

A general description of the AMI.

SpotPrice
Type: string

The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.

If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.

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

The date and time the request was created, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

StaleIpPermission

Description

Describes a stale rule in a security group.

Members
FromPort
Type: int

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

IpProtocol
Type: string

The IP protocol name (tcp, udp, icmp, icmpv6) or number (see Protocol Numbers).

IpRanges
Type: Array of strings

The IP ranges. Not applicable for stale security group rules.

PrefixListIds
Type: Array of strings

The prefix list IDs. Not applicable for stale security group rules.

ToPort
Type: int

If the protocol is TCP or UDP, this is the end of the port range. If the protocol is ICMP or ICMPv6, this is the ICMP code or -1 (all ICMP codes).

UserIdGroupPairs
Type: Array of UserIdGroupPair structures

The security group pairs. Returns the ID of the referenced security group and VPC, and the ID and status of the VPC peering connection.

StaleSecurityGroup

Description

Describes a stale security group (a security group that contains stale rules).

Members
Description
Type: string

The description of the security group.

GroupId
Type: string

The ID of the security group.

GroupName
Type: string

The name of the security group.

StaleIpPermissions
Type: Array of StaleIpPermission structures

Information about the stale inbound rules in the security group.

StaleIpPermissionsEgress
Type: Array of StaleIpPermission structures

Information about the stale outbound rules in the security group.

VpcId
Type: string

The ID of the VPC for the security group.

StateReason

Description

Describes a state change.

Members
Code
Type: string

The reason code for the state change.

Message
Type: string

The message for the state change.

  • Server.InsufficientInstanceCapacity: There was insufficient capacity available to satisfy the launch request.

  • Server.InternalError: An internal error caused the instance to terminate during launch.

  • Server.ScheduledStop: The instance was stopped due to a scheduled retirement.

  • Server.SpotInstanceShutdown: The instance was stopped because the number of Spot requests with a maximum price equal to or higher than the Spot price exceeded available capacity or because of an increase in the Spot price.

  • Server.SpotInstanceTermination: The instance was terminated because the number of Spot requests with a maximum price equal to or higher than the Spot price exceeded available capacity or because of an increase in the Spot price.

  • Client.InstanceInitiatedShutdown: The instance was shut down from the operating system of the instance.

  • Client.InstanceTerminated: The instance was terminated or rebooted during AMI creation.

  • Client.InternalError: A client error caused the instance to terminate during launch.

  • Client.InvalidSnapshot.NotFound: The specified snapshot was not found.

  • Client.UserInitiatedHibernate: Hibernation was initiated on the instance.

  • Client.UserInitiatedShutdown: The instance was shut down using the Amazon EC2 API.

  • Client.VolumeLimitExceeded: The limit on the number of EBS volumes or total storage was exceeded. Decrease usage or request an increase in your account limits.

Storage

Description

Describes the storage location for an instance store-backed AMI.

Members
S3
Type: S3Storage structure

An Amazon S3 storage location.

StorageLocation

Description

Describes a storage location in Amazon S3.

Members
Bucket
Type: string

The name of the S3 bucket.

Key
Type: string

The key.

StoreImageTaskResult

Description

The information about the AMI store task, including the progress of the task.

Members
AmiId
Type: string

The ID of the AMI that is being stored.

Bucket
Type: string

The name of the Amazon S3 bucket that contains the stored AMI object.

ProgressPercentage
Type: int

The progress of the task as a percentage.

S3objectKey
Type: string

The name of the stored AMI object in the bucket.

StoreTaskFailureReason
Type: string

If the tasks fails, the reason for the failure is returned. If the task succeeds, null is returned.

StoreTaskState
Type: string

The state of the store task (InProgress, Completed, or Failed).

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

The time the task started.

Subnet

Description

Describes a subnet.

Members
AssignIpv6AddressOnCreation
Type: boolean

Indicates whether a network interface created in this subnet (including a network interface created by RunInstances) receives an IPv6 address.

AvailabilityZone
Type: string

The Availability Zone of the subnet.

AvailabilityZoneId
Type: string

The AZ ID of the subnet.

AvailableIpAddressCount
Type: int

The number of unused private IPv4 addresses in the subnet. The IPv4 addresses for any stopped instances are considered unavailable.

CidrBlock
Type: string

The IPv4 CIDR block assigned to the subnet.

CustomerOwnedIpv4Pool
Type: string

The customer-owned IPv4 address pool associated with the subnet.

DefaultForAz
Type: boolean

Indicates whether this is the default subnet for the Availability Zone.

EnableDns64
Type: boolean

Indicates whether DNS queries made to the Amazon-provided DNS Resolver in this subnet should return synthetic IPv6 addresses for IPv4-only destinations.

EnableLniAtDeviceIndex
Type: int

Indicates the device position for local network interfaces in this subnet. For example, 1 indicates local network interfaces in this subnet are the secondary network interface (eth1).

Ipv6CidrBlockAssociationSet
Type: Array of SubnetIpv6CidrBlockAssociation structures

Information about the IPv6 CIDR blocks associated with the subnet.

Ipv6Native
Type: boolean

Indicates whether this is an IPv6 only subnet.

MapCustomerOwnedIpOnLaunch
Type: boolean

Indicates whether a network interface created in this subnet (including a network interface created by RunInstances) receives a customer-owned IPv4 address.

MapPublicIpOnLaunch
Type: boolean

Indicates whether instances launched in this subnet receive a public IPv4 address.

Amazon Web Services charges for all public IPv4 addresses, including public IPv4 addresses associated with running instances and Elastic IP addresses. For more information, see the Public IPv4 Address tab on the Amazon VPC pricing page.

OutpostArn
Type: string

The Amazon Resource Name (ARN) of the Outpost.

OwnerId
Type: string

The ID of the Amazon Web Services account that owns the subnet.

PrivateDnsNameOptionsOnLaunch

The type of hostnames to assign to instances in the subnet at launch. An instance hostname is based on the IPv4 address or ID of the instance.

State
Type: string

The current state of the subnet.

SubnetArn
Type: string

The Amazon Resource Name (ARN) of the subnet.

SubnetId
Type: string

The ID of the subnet.

Tags
Type: Array of Tag structures

Any tags assigned to the subnet.

VpcId
Type: string

The ID of the VPC the subnet is in.

SubnetAssociation

Description

Describes the subnet association with the transit gateway multicast domain.

Members
State
Type: string

The state of the subnet association.

SubnetId
Type: string

The ID of the subnet.

SubnetCidrBlockState

Description

Describes the state of a CIDR block.

Members
State
Type: string

The state of a CIDR block.

StatusMessage
Type: string

A message about the status of the CIDR block, if applicable.

SubnetCidrReservation

Description

Describes a subnet CIDR reservation.

Members
Cidr
Type: string

The CIDR that has been reserved.

Description
Type: string

The description assigned to the subnet CIDR reservation.

OwnerId
Type: string

The ID of the account that owns the subnet CIDR reservation.

ReservationType
Type: string

The type of reservation.

SubnetCidrReservationId
Type: string

The ID of the subnet CIDR reservation.

SubnetId
Type: string

The ID of the subnet.

Tags
Type: Array of Tag structures

The tags assigned to the subnet CIDR reservation.

SubnetConfiguration

Description

Describes the configuration of a subnet for a VPC endpoint.

Members
Ipv4
Type: string

The IPv4 address to assign to the endpoint network interface in the subnet. You must provide an IPv4 address if the VPC endpoint supports IPv4.

If you specify an IPv4 address when modifying a VPC endpoint, we replace the existing endpoint network interface with a new endpoint network interface with this IP address. This process temporarily disconnects the subnet and the VPC endpoint.

Ipv6
Type: string

The IPv6 address to assign to the endpoint network interface in the subnet. You must provide an IPv6 address if the VPC endpoint supports IPv6.

If you specify an IPv6 address when modifying a VPC endpoint, we replace the existing endpoint network interface with a new endpoint network interface with this IP address. This process temporarily disconnects the subnet and the VPC endpoint.

SubnetId
Type: string

The ID of the subnet.

SubnetIpv6CidrBlockAssociation

Description

Describes an association between a subnet and an IPv6 CIDR block.

Members
AssociationId
Type: string

The ID of the association.

IpSource
Type: string

The source that allocated the IP address space. byoip or amazon indicates public IP address space allocated by Amazon or space that you have allocated with Bring your own IP (BYOIP). none indicates private space.

Ipv6AddressAttribute
Type: string

Public IPv6 addresses are those advertised on the internet from Amazon Web Services. Private IP addresses are not and cannot be advertised on the internet from Amazon Web Services.

Ipv6CidrBlock
Type: string

The IPv6 CIDR block.

Ipv6CidrBlockState
Type: SubnetCidrBlockState structure

The state of the CIDR block.

Subscription

Description

Describes an Infrastructure Performance subscription.

Members
Destination
Type: string

The Region or Availability Zone that's the target for the subscription. For example, eu-west-1.

Metric
Type: string

The metric used for the subscription.

Period
Type: string

The data aggregation time for the subscription.

Source
Type: string

The Region or Availability Zone that's the source for the subscription. For example, us-east-1.

Statistic
Type: string

The statistic used for the subscription.

SuccessfulInstanceCreditSpecificationItem

Description

Describes the burstable performance instance whose credit option for CPU usage was successfully modified.

Members
InstanceId
Type: string

The ID of the instance.

SuccessfulQueuedPurchaseDeletion

Description

Describes a Reserved Instance whose queued purchase was successfully deleted.

Members
ReservedInstancesId
Type: string

The ID of the Reserved Instance.

Tag

Description

Describes a tag.

Members
Key
Type: string

The key of the tag.

Constraints: Tag keys are case-sensitive and accept a maximum of 127 Unicode characters. May not begin with aws:.

Value
Type: string

The value of the tag.

Constraints: Tag values are case-sensitive and accept a maximum of 256 Unicode characters.

TagDescription

Description

Describes a tag.

Members
Key
Type: string

The tag key.

ResourceId
Type: string

The ID of the resource.

ResourceType
Type: string

The resource type.

Value
Type: string

The tag value.

TagSpecification

Description

The tags to apply to a resource when the resource is being created. When you specify a tag, you must specify the resource type to tag, otherwise the request will fail.

The Valid Values lists all the resource types that can be tagged. However, the action you're using might not support tagging all of these resource types. If you try to tag a resource type that is unsupported for the action you're using, you'll get an error.

Members
ResourceType
Type: string

The type of resource to tag on creation.

Tags
Type: Array of Tag structures

The tags to apply to the resource.

TargetCapacitySpecification

Description

The number of units to request. You can choose to set the target capacity in terms of instances or a performance characteristic that is important to your application workload, such as vCPUs, memory, or I/O. If the request type is maintain, you can specify a target capacity of 0 and add capacity later.

You can use the On-Demand Instance MaxTotalPrice parameter, the Spot Instance MaxTotalPrice, or both to ensure that your fleet cost does not exceed your budget. If you set a maximum price per hour for the On-Demand Instances and Spot Instances in your request, EC2 Fleet will launch instances until it reaches the maximum amount that you're willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops launching instances even if it hasn’t met the target capacity. The MaxTotalPrice parameters are located in OnDemandOptions and SpotOptions.

Members
DefaultTargetCapacityType
Type: string

The default target capacity type.

OnDemandTargetCapacity
Type: int

The number of On-Demand units to request. If you specify a target capacity for Spot units, you cannot specify a target capacity for On-Demand units.

SpotTargetCapacity
Type: int

The maximum number of Spot units to launch. If you specify a target capacity for On-Demand units, you cannot specify a target capacity for Spot units.

TargetCapacityUnitType
Type: string

The unit for the target capacity.

TotalTargetCapacity
Type: int

The number of units to request, filled the default target capacity type.

TargetCapacitySpecificationRequest

Description

The number of units to request. You can choose to set the target capacity as the number of instances. Or you can set the target capacity to a performance characteristic that is important to your application workload, such as vCPUs, memory, or I/O. If the request type is maintain, you can specify a target capacity of 0 and add capacity later.

You can use the On-Demand Instance MaxTotalPrice parameter, the Spot Instance MaxTotalPrice parameter, or both parameters to ensure that your fleet cost does not exceed your budget. If you set a maximum price per hour for the On-Demand Instances and Spot Instances in your request, EC2 Fleet will launch instances until it reaches the maximum amount that you're willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops launching instances even if it hasn't met the target capacity. The MaxTotalPrice parameters are located in OnDemandOptionsRequest and SpotOptionsRequest.

Members
DefaultTargetCapacityType
Type: string

The default target capacity type.

OnDemandTargetCapacity
Type: int

The number of On-Demand units to request.

SpotTargetCapacity
Type: int

The number of Spot units to request.

TargetCapacityUnitType
Type: string

The unit for the target capacity. You can specify this parameter only when using attributed-based instance type selection.

Default: units (the number of instances)

TotalTargetCapacity
Required: Yes
Type: int

The number of units to request, filled using the default target capacity type.

TargetConfiguration

Description

Information about the Convertible Reserved Instance offering.

Members
InstanceCount
Type: int

The number of instances the Convertible Reserved Instance offering can be applied to. This parameter is reserved and cannot be specified in a request

OfferingId
Type: string

The ID of the Convertible Reserved Instance offering.

TargetConfigurationRequest

Description

Details about the target configuration.

Members
InstanceCount
Type: int

The number of instances the Convertible Reserved Instance offering can be applied to. This parameter is reserved and cannot be specified in a request

OfferingId
Required: Yes
Type: string

The Convertible Reserved Instance offering ID.

TargetGroup

Description

Describes a load balancer target group.

Members
Arn
Type: string

The Amazon Resource Name (ARN) of the target group.

TargetGroupsConfig

Description

Describes the target groups to attach to a Spot Fleet. Spot Fleet registers the running Spot Instances with these target groups.

Members
TargetGroups
Type: Array of TargetGroup structures

One or more target groups.

TargetNetwork

Description

Describes a target network associated with a Client VPN endpoint.

Members
AssociationId
Type: string

The ID of the association.

ClientVpnEndpointId
Type: string

The ID of the Client VPN endpoint with which the target network is associated.

SecurityGroups
Type: Array of strings

The IDs of the security groups applied to the target network association.

Status
Type: AssociationStatus structure

The current state of the target network association.

TargetNetworkId
Type: string

The ID of the subnet specified as the target network.

VpcId
Type: string

The ID of the VPC in which the target network (subnet) is located.

TargetReservationValue

Description

The total value of the new Convertible Reserved Instances.

Members
ReservationValue
Type: ReservationValue structure

The total value of the Convertible Reserved Instances that make up the exchange. This is the sum of the list value, remaining upfront price, and additional upfront cost of the exchange.

TargetConfiguration
Type: TargetConfiguration structure

The configuration of the Convertible Reserved Instances that make up the exchange.

TerminateConnectionStatus

Description

Information about a terminated Client VPN endpoint client connection.

Members
ConnectionId
Type: string

The ID of the client connection.

CurrentStatus
Type: ClientVpnConnectionStatus structure

A message about the status of the client connection, if applicable.

PreviousStatus
Type: ClientVpnConnectionStatus structure

The state of the client connection.

ThroughResourcesStatement

Description

Describes a through resource statement.

Members
ResourceStatement
Type: ResourceStatement structure

The resource statement.

ThroughResourcesStatementRequest

Description

Describes a through resource statement.

Members
ResourceStatement
Type: ResourceStatementRequest structure

The resource statement.

TotalLocalStorageGB

Description

The minimum and maximum amount of total local storage, in GB.

Members
Max
Type: double

The maximum amount of total local storage, in GB. If this parameter is not specified, there is no maximum limit.

Min
Type: double

The minimum amount of total local storage, in GB. If this parameter is not specified, there is no minimum limit.

TotalLocalStorageGBRequest

Description

The minimum and maximum amount of total local storage, in GB.

Members
Max
Type: double

The maximum amount of total local storage, in GB. To specify no maximum limit, omit this parameter.

Min
Type: double

The minimum amount of total local storage, in GB. To specify no minimum limit, omit this parameter.

TrafficMirrorFilter

Description

Describes the Traffic Mirror filter.

Members
Description
Type: string

The description of the Traffic Mirror filter.

EgressFilterRules
Type: Array of TrafficMirrorFilterRule structures

Information about the egress rules that are associated with the Traffic Mirror filter.

IngressFilterRules
Type: Array of TrafficMirrorFilterRule structures

Information about the ingress rules that are associated with the Traffic Mirror filter.

NetworkServices
Type: Array of strings

The network service traffic that is associated with the Traffic Mirror filter.

Tags
Type: Array of Tag structures

The tags assigned to the Traffic Mirror filter.

TrafficMirrorFilterId
Type: string

The ID of the Traffic Mirror filter.

TrafficMirrorFilterRule

Description

Describes the Traffic Mirror rule.

Members
Description
Type: string

The description of the Traffic Mirror rule.

DestinationCidrBlock
Type: string

The destination CIDR block assigned to the Traffic Mirror rule.

DestinationPortRange
Type: TrafficMirrorPortRange structure

The destination port range assigned to the Traffic Mirror rule.

Protocol
Type: int

The protocol assigned to the Traffic Mirror rule.

RuleAction
Type: string

The action assigned to the Traffic Mirror rule.

RuleNumber
Type: int

The rule number of the Traffic Mirror rule.

SourceCidrBlock
Type: string

The source CIDR block assigned to the Traffic Mirror rule.

SourcePortRange
Type: TrafficMirrorPortRange structure

The source port range assigned to the Traffic Mirror rule.

Tags
Type: Array of Tag structures

Tags on Traffic Mirroring filter rules.

TrafficDirection
Type: string

The traffic direction assigned to the Traffic Mirror rule.

TrafficMirrorFilterId
Type: string

The ID of the Traffic Mirror filter that the rule is associated with.

TrafficMirrorFilterRuleId
Type: string

The ID of the Traffic Mirror rule.

TrafficMirrorPortRange

Description

Describes the Traffic Mirror port range.

Members
FromPort
Type: int

The start of the Traffic Mirror port range. This applies to the TCP and UDP protocols.

ToPort
Type: int

The end of the Traffic Mirror port range. This applies to the TCP and UDP protocols.

TrafficMirrorPortRangeRequest

Description

Information about the Traffic Mirror filter rule port range.

Members
FromPort
Type: int

The first port in the Traffic Mirror port range. This applies to the TCP and UDP protocols.

ToPort
Type: int

The last port in the Traffic Mirror port range. This applies to the TCP and UDP protocols.

TrafficMirrorSession

Description

Describes a Traffic Mirror session.

Members
Description
Type: string

The description of the Traffic Mirror session.

NetworkInterfaceId
Type: string

The ID of the Traffic Mirror session's network interface.

OwnerId
Type: string

The ID of the account that owns the Traffic Mirror session.

PacketLength
Type: int

The number of bytes in each packet to mirror. These are the bytes after the VXLAN header. To mirror a subset, set this to the length (in bytes) to mirror. For example, if you set this value to 100, then the first 100 bytes that meet the filter criteria are copied to the target. Do not specify this parameter when you want to mirror the entire packet

SessionNumber
Type: int

The session number determines the order in which sessions are evaluated when an interface is used by multiple sessions. The first session with a matching filter is the one that mirrors the packets.

Valid values are 1-32766.

Tags
Type: Array of Tag structures

The tags assigned to the Traffic Mirror session.

TrafficMirrorFilterId
Type: string

The ID of the Traffic Mirror filter.

TrafficMirrorSessionId
Type: string

The ID for the Traffic Mirror session.

TrafficMirrorTargetId
Type: string

The ID of the Traffic Mirror target.

VirtualNetworkId
Type: int

The virtual network ID associated with the Traffic Mirror session.

TrafficMirrorTarget

Description

Describes a Traffic Mirror target.

Members
Description
Type: string

Information about the Traffic Mirror target.

GatewayLoadBalancerEndpointId
Type: string

The ID of the Gateway Load Balancer endpoint.

NetworkInterfaceId
Type: string

The network interface ID that is attached to the target.

NetworkLoadBalancerArn
Type: string

The Amazon Resource Name (ARN) of the Network Load Balancer.

OwnerId
Type: string

The ID of the account that owns the Traffic Mirror target.

Tags
Type: Array of Tag structures

The tags assigned to the Traffic Mirror target.

TrafficMirrorTargetId
Type: string

The ID of the Traffic Mirror target.

Type
Type: string

The type of Traffic Mirror target.

TransitGateway

Description

Describes a transit gateway.

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

The creation time.

Description
Type: string

The description of the transit gateway.

Options
Type: TransitGatewayOptions structure

The transit gateway options.

OwnerId
Type: string

The ID of the Amazon Web Services account that owns the transit gateway.

State
Type: string

The state of the transit gateway.

Tags
Type: Array of Tag structures

The tags for the transit gateway.

TransitGatewayArn
Type: string

The Amazon Resource Name (ARN) of the transit gateway.

TransitGatewayId
Type: string

The ID of the transit gateway.

TransitGatewayAssociation

Description

Describes an association between a resource attachment and a transit gateway route table.

Members
ResourceId
Type: string

The ID of the resource.

ResourceType
Type: string

The resource type. Note that the tgw-peering resource type has been deprecated.

State
Type: string

The state of the association.

TransitGatewayAttachmentId
Type: string

The ID of the attachment.

TransitGatewayRouteTableId
Type: string

The ID of the transit gateway route table.

TransitGatewayAttachment

Description

Describes an attachment between a resource and a transit gateway.

Members
Association

The association.

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

The creation time.

ResourceId
Type: string

The ID of the resource.

ResourceOwnerId
Type: string

The ID of the Amazon Web Services account that owns the resource.

ResourceType
Type: string

The resource type. Note that the tgw-peering resource type has been deprecated.

State
Type: string

The attachment state. Note that the initiating state has been deprecated.

Tags
Type: Array of Tag structures

The tags for the attachment.

TransitGatewayAttachmentId
Type: string

The ID of the attachment.

TransitGatewayId
Type: string

The ID of the transit gateway.

TransitGatewayOwnerId
Type: string

The ID of the Amazon Web Services account that owns the transit gateway.

TransitGatewayAttachmentAssociation

Description

Describes an association.

Members
State
Type: string

The state of the association.

TransitGatewayRouteTableId
Type: string

The ID of the route table for the transit gateway.

TransitGatewayAttachmentBgpConfiguration

Description

The BGP configuration information.

Members
BgpStatus
Type: string

The BGP status.

PeerAddress
Type: string

The interior BGP peer IP address for the appliance.

PeerAsn
Type: long (int|float)

The peer Autonomous System Number (ASN).

TransitGatewayAddress
Type: string

The interior BGP peer IP address for the transit gateway.

TransitGatewayAsn
Type: long (int|float)

The transit gateway Autonomous System Number (ASN).

TransitGatewayAttachmentPropagation

Description

Describes a propagation route table.

Members
State
Type: string

The state of the propagation route table.

TransitGatewayRouteTableId
Type: string

The ID of the propagation route table.

TransitGatewayConnect

Description

Describes a transit gateway Connect attachment.

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

The creation time.

Options

The Connect attachment options.

State
Type: string

The state of the attachment.

Tags
Type: Array of Tag structures

The tags for the attachment.

TransitGatewayAttachmentId
Type: string

The ID of the Connect attachment.

TransitGatewayId
Type: string

The ID of the transit gateway.

TransportTransitGatewayAttachmentId
Type: string

The ID of the attachment from which the Connect attachment was created.

TransitGatewayConnectOptions

Description

Describes the Connect attachment options.

Members
Protocol
Type: string

The tunnel protocol.

TransitGatewayConnectPeer

Description

Describes a transit gateway Connect peer.

Members
ConnectPeerConfiguration

The Connect peer details.

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

The creation time.

State
Type: string

The state of the Connect peer.

Tags
Type: Array of Tag structures

The tags for the Connect peer.

TransitGatewayAttachmentId
Type: string

The ID of the Connect attachment.

TransitGatewayConnectPeerId
Type: string

The ID of the Connect peer.

TransitGatewayConnectPeerConfiguration

Description

Describes the Connect peer details.

Members
BgpConfigurations
Type: Array of TransitGatewayAttachmentBgpConfiguration structures

The BGP configuration details.

InsideCidrBlocks
Type: Array of strings

The range of interior BGP peer IP addresses.

PeerAddress
Type: string

The Connect peer IP address on the appliance side of the tunnel.

Protocol
Type: string

The tunnel protocol.

TransitGatewayAddress
Type: string

The Connect peer IP address on the transit gateway side of the tunnel.

TransitGatewayConnectRequestBgpOptions

Description

The BGP options for the Connect attachment.

Members
PeerAsn
Type: long (int|float)

The peer Autonomous System Number (ASN).

TransitGatewayMulticastDeregisteredGroupMembers

Description

Describes the deregistered transit gateway multicast group members.

Members
DeregisteredNetworkInterfaceIds
Type: Array of strings

The network interface IDs of the deregistered members.

GroupIpAddress
Type: string

The IP address assigned to the transit gateway multicast group.

TransitGatewayMulticastDomainId
Type: string

The ID of the transit gateway multicast domain.

TransitGatewayMulticastDeregisteredGroupSources

Description

Describes the deregistered transit gateway multicast group sources.

Members
DeregisteredNetworkInterfaceIds
Type: Array of strings

The network interface IDs of the non-registered members.

GroupIpAddress
Type: string

The IP address assigned to the transit gateway multicast group.

TransitGatewayMulticastDomainId
Type: string

The ID of the transit gateway multicast domain.

TransitGatewayMulticastDomain

Description

Describes the transit gateway multicast domain.

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

The time the transit gateway multicast domain was created.

Options

The options for the transit gateway multicast domain.

OwnerId
Type: string

The ID of the Amazon Web Services account that owns the transit gateway multicast domain.

State
Type: string

The state of the transit gateway multicast domain.

Tags
Type: Array of Tag structures

The tags for the transit gateway multicast domain.

TransitGatewayId
Type: string

The ID of the transit gateway.

TransitGatewayMulticastDomainArn
Type: string

The Amazon Resource Name (ARN) of the transit gateway multicast domain.

TransitGatewayMulticastDomainId
Type: string

The ID of the transit gateway multicast domain.

TransitGatewayMulticastDomainAssociation

Description

Describes the resources associated with the transit gateway multicast domain.

Members
ResourceId
Type: string

The ID of the resource.

ResourceOwnerId
Type: string

The ID of the Amazon Web Services account that owns the transit gateway multicast domain association resource.

ResourceType
Type: string

The type of resource, for example a VPC attachment.

Subnet
Type: SubnetAssociation structure

The subnet associated with the transit gateway multicast domain.

TransitGatewayAttachmentId
Type: string

The ID of the transit gateway attachment.

TransitGatewayMulticastDomainAssociations

Description

Describes the multicast domain associations.

Members
ResourceId
Type: string

The ID of the resource.

ResourceOwnerId
Type: string

The ID of the Amazon Web Services account that owns the resource.

ResourceType
Type: string

The type of resource, for example a VPC attachment.

Subnets
Type: Array of SubnetAssociation structures

The subnets associated with the multicast domain.

TransitGatewayAttachmentId
Type: string

The ID of the transit gateway attachment.

TransitGatewayMulticastDomainId
Type: string

The ID of the transit gateway multicast domain.

TransitGatewayMulticastDomainOptions

Description

Describes the options for a transit gateway multicast domain.

Members
AutoAcceptSharedAssociations
Type: string

Indicates whether to automatically cross-account subnet associations that are associated with the transit gateway multicast domain.

Igmpv2Support
Type: string

Indicates whether Internet Group Management Protocol (IGMP) version 2 is turned on for the transit gateway multicast domain.

StaticSourcesSupport
Type: string

Indicates whether support for statically configuring transit gateway multicast group sources is turned on.

TransitGatewayMulticastGroup

Description

Describes the transit gateway multicast group resources.

Members
GroupIpAddress
Type: string

The IP address assigned to the transit gateway multicast group.

GroupMember
Type: boolean

Indicates that the resource is a transit gateway multicast group member.

GroupSource
Type: boolean

Indicates that the resource is a transit gateway multicast group member.

MemberType
Type: string

The member type (for example, static).

NetworkInterfaceId
Type: string

The ID of the transit gateway attachment.

ResourceId
Type: string

The ID of the resource.

ResourceOwnerId
Type: string

The ID of the Amazon Web Services account that owns the transit gateway multicast domain group resource.

ResourceType
Type: string

The type of resource, for example a VPC attachment.

SourceType
Type: string

The source type.

SubnetId
Type: string

The ID of the subnet.

TransitGatewayAttachmentId
Type: string

The ID of the transit gateway attachment.

TransitGatewayMulticastRegisteredGroupMembers

Description

Describes the registered transit gateway multicast group members.

Members
GroupIpAddress
Type: string

The IP address assigned to the transit gateway multicast group.

RegisteredNetworkInterfaceIds
Type: Array of strings

The ID of the registered network interfaces.

TransitGatewayMulticastDomainId
Type: string

The ID of the transit gateway multicast domain.

TransitGatewayMulticastRegisteredGroupSources

Description

Describes the members registered with the transit gateway multicast group.

Members
GroupIpAddress
Type: string

The IP address assigned to the transit gateway multicast group.

RegisteredNetworkInterfaceIds
Type: Array of strings

The IDs of the network interfaces members registered with the transit gateway multicast group.

TransitGatewayMulticastDomainId
Type: string

The ID of the transit gateway multicast domain.

TransitGatewayOptions

Description

Describes the options for a transit gateway.

Members
AmazonSideAsn
Type: long (int|float)

A private Autonomous System Number (ASN) for the Amazon side of a BGP session. The range is 64512 to 65534 for 16-bit ASNs and 4200000000 to 4294967294 for 32-bit ASNs.

AssociationDefaultRouteTableId
Type: string

The ID of the default association route table.

AutoAcceptSharedAttachments
Type: string

Indicates whether attachment requests are automatically accepted.

DefaultRouteTableAssociation
Type: string

Indicates whether resource attachments are automatically associated with the default association route table.

DefaultRouteTablePropagation
Type: string

Indicates whether resource attachments automatically propagate routes to the default propagation route table.

DnsSupport
Type: string

Indicates whether DNS support is enabled.

MulticastSupport
Type: string

Indicates whether multicast is enabled on the transit gateway

PropagationDefaultRouteTableId
Type: string

The ID of the default propagation route table.

SecurityGroupReferencingSupport
Type: string

Enables you to reference a security group across VPCs attached to a transit gateway to simplify security group management.

This option is disabled by default.

TransitGatewayCidrBlocks
Type: Array of strings

The transit gateway CIDR blocks.

VpnEcmpSupport
Type: string

Indicates whether Equal Cost Multipath Protocol support is enabled.

TransitGatewayPeeringAttachment

Description

Describes the transit gateway peering attachment.

Members
AccepterTgwInfo
Type: PeeringTgwInfo structure

Information about the accepter transit gateway.

AccepterTransitGatewayAttachmentId
Type: string

The ID of the accepter transit gateway attachment.

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

The time the transit gateway peering attachment was created.

Options

Details about the transit gateway peering attachment.

RequesterTgwInfo
Type: PeeringTgwInfo structure

Information about the requester transit gateway.

State
Type: string

The state of the transit gateway peering attachment. Note that the initiating state has been deprecated.

Status
Type: PeeringAttachmentStatus structure

The status of the transit gateway peering attachment.

Tags
Type: Array of Tag structures

The tags for the transit gateway peering attachment.

TransitGatewayAttachmentId
Type: string

The ID of the transit gateway peering attachment.

TransitGatewayPeeringAttachmentOptions

Description

Describes dynamic routing for the transit gateway peering attachment.

Members
DynamicRouting
Type: string

Describes whether dynamic routing is enabled or disabled for the transit gateway peering attachment.

TransitGatewayPolicyRule

Description

Describes a rule associated with a transit gateway policy.

Members
DestinationCidrBlock
Type: string

The destination CIDR block for the transit gateway policy rule.

DestinationPortRange
Type: string

The port range for the transit gateway policy rule. Currently this is set to * (all).

MetaData

The meta data tags used for the transit gateway policy rule.

Protocol
Type: string

The protocol used by the transit gateway policy rule.

SourceCidrBlock
Type: string

The source CIDR block for the transit gateway policy rule.

SourcePortRange
Type: string

The port range for the transit gateway policy rule. Currently this is set to * (all).

TransitGatewayPolicyRuleMetaData

Description

Describes the meta data tags associated with a transit gateway policy rule.

Members
MetaDataKey
Type: string

The key name for the transit gateway policy rule meta data tag.

MetaDataValue
Type: string

The value of the key for the transit gateway policy rule meta data tag.

TransitGatewayPolicyTable

Description

Describes a transit gateway policy table.

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

The timestamp when the transit gateway policy table was created.

State
Type: string

The state of the transit gateway policy table

Tags
Type: Array of Tag structures

he key-value pairs associated with the transit gateway policy table.

TransitGatewayId
Type: string

The ID of the transit gateway.

TransitGatewayPolicyTableId
Type: string

The ID of the transit gateway policy table.

TransitGatewayPolicyTableAssociation

Description

Describes a transit gateway policy table association.

Members
ResourceId
Type: string

The resource ID of the transit gateway attachment.

ResourceType
Type: string

The resource type for the transit gateway policy table association.

State
Type: string

The state of the transit gateway policy table association.

TransitGatewayAttachmentId
Type: string

The ID of the transit gateway attachment.

TransitGatewayPolicyTableId
Type: string

The ID of the transit gateway policy table.

TransitGatewayPolicyTableEntry

Description

Describes a transit gateway policy table entry

Members
PolicyRule
Type: TransitGatewayPolicyRule structure

The policy rule associated with the transit gateway policy table.

PolicyRuleNumber
Type: string

The rule number for the transit gateway policy table entry.

TargetRouteTableId
Type: string

The ID of the target route table.

TransitGatewayPrefixListAttachment

Description

Describes a transit gateway prefix list attachment.

Members
ResourceId
Type: string

The ID of the resource.

ResourceType
Type: string

The resource type. Note that the tgw-peering resource type has been deprecated.

TransitGatewayAttachmentId
Type: string

The ID of the attachment.

TransitGatewayPrefixListReference

Description

Describes a prefix list reference.

Members
Blackhole
Type: boolean

Indicates whether traffic that matches this route is dropped.

PrefixListId
Type: string

The ID of the prefix list.

PrefixListOwnerId
Type: string

The ID of the prefix list owner.

State
Type: string

The state of the prefix list reference.

TransitGatewayAttachment

Information about the transit gateway attachment.

TransitGatewayRouteTableId
Type: string

The ID of the transit gateway route table.

TransitGatewayPropagation

Description

Describes route propagation.

Members
ResourceId
Type: string

The ID of the resource.

ResourceType
Type: string

The resource type. Note that the tgw-peering resource type has been deprecated.

State
Type: string

The state.

TransitGatewayAttachmentId
Type: string

The ID of the attachment.

TransitGatewayRouteTableAnnouncementId
Type: string

The ID of the transit gateway route table announcement.

TransitGatewayRouteTableId
Type: string

The ID of the transit gateway route table.

TransitGatewayRequestOptions

Description

Describes the options for a transit gateway.

Members
AmazonSideAsn
Type: long (int|float)

A private Autonomous System Number (ASN) for the Amazon side of a BGP session. The range is 64512 to 65534 for 16-bit ASNs and 4200000000 to 4294967294 for 32-bit ASNs. The default is 64512.

AutoAcceptSharedAttachments
Type: string

Enable or disable automatic acceptance of attachment requests. Disabled by default.

DefaultRouteTableAssociation
Type: string

Enable or disable automatic association with the default association route table. Enabled by default.

DefaultRouteTablePropagation
Type: string

Enable or disable automatic propagation of routes to the default propagation route table. Enabled by default.

DnsSupport
Type: string

Enable or disable DNS support. Enabled by default.

MulticastSupport
Type: string

Indicates whether multicast is enabled on the transit gateway

SecurityGroupReferencingSupport
Type: string

Enables you to reference a security group across VPCs attached to a transit gateway to simplify security group management.

This option is disabled by default.

For more information about security group referencing, see Security group referencing in the Amazon Web Services Transit Gateways Guide.

TransitGatewayCidrBlocks
Type: Array of strings

One or more IPv4 or IPv6 CIDR blocks for the transit gateway. Must be a size /24 CIDR block or larger for IPv4, or a size /64 CIDR block or larger for IPv6.

VpnEcmpSupport
Type: string

Enable or disable Equal Cost Multipath Protocol support. Enabled by default.

TransitGatewayRoute

Description

Describes a route for a transit gateway route table.

Members
DestinationCidrBlock
Type: string

The CIDR block used for destination matches.

PrefixListId
Type: string

The ID of the prefix list used for destination matches.

State
Type: string

The state of the route.

TransitGatewayAttachments
Type: Array of TransitGatewayRouteAttachment structures

The attachments.

TransitGatewayRouteTableAnnouncementId
Type: string

The ID of the transit gateway route table announcement.

Type
Type: string

The route type.

TransitGatewayRouteAttachment

Description

Describes a route attachment.

Members
ResourceId
Type: string

The ID of the resource.

ResourceType
Type: string

The resource type. Note that the tgw-peering resource type has been deprecated.

TransitGatewayAttachmentId
Type: string

The ID of the attachment.

TransitGatewayRouteTable

Description

Describes a transit gateway route table.

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

The creation time.

DefaultAssociationRouteTable
Type: boolean

Indicates whether this is the default association route table for the transit gateway.

DefaultPropagationRouteTable
Type: boolean

Indicates whether this is the default propagation route table for the transit gateway.

State
Type: string

The state of the transit gateway route table.

Tags
Type: Array of Tag structures

Any tags assigned to the route table.

TransitGatewayId
Type: string

The ID of the transit gateway.

TransitGatewayRouteTableId
Type: string

The ID of the transit gateway route table.

TransitGatewayRouteTableAnnouncement

Description

Describes a transit gateway route table announcement.

Members
AnnouncementDirection
Type: string

The direction for the route table announcement.

CoreNetworkId
Type: string

The ID of the core network for the transit gateway route table announcement.

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

The timestamp when the transit gateway route table announcement was created.

PeerCoreNetworkId
Type: string

The ID of the core network ID for the peer.

PeerTransitGatewayId
Type: string

The ID of the peer transit gateway.

PeeringAttachmentId
Type: string

The ID of the peering attachment.

State
Type: string

The state of the transit gateway announcement.

Tags
Type: Array of Tag structures

The key-value pairs associated with the route table announcement.

TransitGatewayId
Type: string

The ID of the transit gateway.

TransitGatewayRouteTableAnnouncementId
Type: string

The ID of the transit gateway route table announcement.

TransitGatewayRouteTableId
Type: string

The ID of the transit gateway route table.

TransitGatewayRouteTableAssociation

Description

Describes an association between a route table and a resource attachment.

Members
ResourceId
Type: string

The ID of the resource.

ResourceType
Type: string

The resource type. Note that the tgw-peering resource type has been deprecated.

State
Type: string

The state of the association.

TransitGatewayAttachmentId
Type: string

The ID of the attachment.

TransitGatewayRouteTablePropagation

Description

Describes a route table propagation.

Members
ResourceId
Type: string

The ID of the resource.

ResourceType
Type: string

The type of resource. Note that the tgw-peering resource type has been deprecated.

State
Type: string

The state of the resource.

TransitGatewayAttachmentId
Type: string

The ID of the attachment.

TransitGatewayRouteTableAnnouncementId
Type: string

The ID of the transit gateway route table announcement.

TransitGatewayRouteTableRoute

Description

Describes a route in a transit gateway route table.

Members
AttachmentId
Type: string

The ID of the route attachment.

DestinationCidr
Type: string

The CIDR block used for destination matches.

PrefixListId
Type: string

The ID of the prefix list.

ResourceId
Type: string

The ID of the resource for the route attachment.

ResourceType
Type: string

The resource type for the route attachment.

RouteOrigin
Type: string

The route origin. The following are the possible values:

  • static

  • propagated

State
Type: string

The state of the route.

TransitGatewayVpcAttachment

Description

Describes a VPC attachment.

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

The creation time.

Options

The VPC attachment options.

State
Type: string

The state of the VPC attachment. Note that the initiating state has been deprecated.

SubnetIds
Type: Array of strings

The IDs of the subnets.

Tags
Type: Array of Tag structures

The tags for the VPC attachment.

TransitGatewayAttachmentId
Type: string

The ID of the attachment.

TransitGatewayId
Type: string

The ID of the transit gateway.

VpcId
Type: string

The ID of the VPC.

VpcOwnerId
Type: string

The ID of the Amazon Web Services account that owns the VPC.

TransitGatewayVpcAttachmentOptions

Description

Describes the VPC attachment options.

Members
ApplianceModeSupport
Type: string

Indicates whether appliance mode support is enabled.

DnsSupport
Type: string

Indicates whether DNS support is enabled.

Ipv6Support
Type: string

Indicates whether IPv6 support is disabled.

SecurityGroupReferencingSupport
Type: string

Enables you to reference a security group across VPCs attached to a transit gateway to simplify security group management.

This option is enabled by default.

For more information about security group referencing, see Security group referencing in the Amazon Web Services Transit Gateways Guide.

TrunkInterfaceAssociation

Description

Information about an association between a branch network interface with a trunk network interface.

Members
AssociationId
Type: string

The ID of the association.

BranchInterfaceId
Type: string

The ID of the branch network interface.

GreKey
Type: int

The application key when you use the GRE protocol.

InterfaceProtocol
Type: string

The interface protocol. Valid values are VLAN and GRE.

Tags
Type: Array of Tag structures

The tags for the trunk interface association.

TrunkInterfaceId
Type: string

The ID of the trunk network interface.

VlanId
Type: int

The ID of the VLAN when you use the VLAN protocol.

TunnelOption

Description

The VPN tunnel options.

Members
DpdTimeoutAction
Type: string

The action to take after a DPD timeout occurs.

DpdTimeoutSeconds
Type: int

The number of seconds after which a DPD timeout occurs.

EnableTunnelLifecycleControl
Type: boolean

Status of tunnel endpoint lifecycle control feature.

IkeVersions
Type: Array of IKEVersionsListValue structures

The IKE versions that are permitted for the VPN tunnel.

LogOptions
Type: VpnTunnelLogOptions structure

Options for logging VPN tunnel activity.

OutsideIpAddress
Type: string

The external IP address of the VPN tunnel.

Phase1DHGroupNumbers
Type: Array of Phase1DHGroupNumbersListValue structures

The permitted Diffie-Hellman group numbers for the VPN tunnel for phase 1 IKE negotiations.

Phase1EncryptionAlgorithms
Type: Array of Phase1EncryptionAlgorithmsListValue structures

The permitted encryption algorithms for the VPN tunnel for phase 1 IKE negotiations.

Phase1IntegrityAlgorithms
Type: Array of Phase1IntegrityAlgorithmsListValue structures

The permitted integrity algorithms for the VPN tunnel for phase 1 IKE negotiations.

Phase1LifetimeSeconds
Type: int

The lifetime for phase 1 of the IKE negotiation, in seconds.

Phase2DHGroupNumbers
Type: Array of Phase2DHGroupNumbersListValue structures

The permitted Diffie-Hellman group numbers for the VPN tunnel for phase 2 IKE negotiations.

Phase2EncryptionAlgorithms
Type: Array of Phase2EncryptionAlgorithmsListValue structures

The permitted encryption algorithms for the VPN tunnel for phase 2 IKE negotiations.

Phase2IntegrityAlgorithms
Type: Array of Phase2IntegrityAlgorithmsListValue structures

The permitted integrity algorithms for the VPN tunnel for phase 2 IKE negotiations.

Phase2LifetimeSeconds
Type: int

The lifetime for phase 2 of the IKE negotiation, in seconds.

PreSharedKey
Type: string

The pre-shared key (PSK) to establish initial authentication between the virtual private gateway and the customer gateway.

RekeyFuzzPercentage
Type: int

The percentage of the rekey window determined by RekeyMarginTimeSeconds during which the rekey time is randomly selected.

RekeyMarginTimeSeconds
Type: int

The margin time, in seconds, before the phase 2 lifetime expires, during which the Amazon Web Services side of the VPN connection performs an IKE rekey.

ReplayWindowSize
Type: int

The number of packets in an IKE replay window.

StartupAction
Type: string

The action to take when the establishing the VPN tunnels for a VPN connection.

TunnelInsideCidr
Type: string

The range of inside IPv4 addresses for the tunnel.

TunnelInsideIpv6Cidr
Type: string

The range of inside IPv6 addresses for the tunnel.

UnsuccessfulInstanceCreditSpecificationItem

Description

Describes the burstable performance instance whose credit option for CPU usage was not modified.

Members
Error

The applicable error for the burstable performance instance whose credit option for CPU usage was not modified.

InstanceId
Type: string

The ID of the instance.

UnsuccessfulInstanceCreditSpecificationItemError

Description

Information about the error for the burstable performance instance whose credit option for CPU usage was not modified.

Members
Code
Type: string

The error code.

Message
Type: string

The applicable error message.

UnsuccessfulItem

Description

Information about items that were not successfully processed in a batch call.

Members
Error
Type: UnsuccessfulItemError structure

Information about the error.

ResourceId
Type: string

The ID of the resource.

UnsuccessfulItemError

Description

Information about the error that occurred. For more information about errors, see Error codes.

Members
Code
Type: string

The error code.

Message
Type: string

The error message accompanying the error code.

UserBucket

Description

Describes the Amazon S3 bucket for the disk image.

Members
S3Bucket
Type: string

The name of the Amazon S3 bucket where the disk image is located.

S3Key
Type: string

The file name of the disk image.

UserBucketDetails

Description

Describes the Amazon S3 bucket for the disk image.

Members
S3Bucket
Type: string

The Amazon S3 bucket from which the disk image was created.

S3Key
Type: string

The file name of the disk image.

UserData

Description

Describes the user data for an instance.

Members
Data
Type: string

The user data. If you are using an Amazon Web Services SDK or command line tool, Base64-encoding is performed for you, and you can load the text from a file. Otherwise, you must provide Base64-encoded text.

UserIdGroupPair

Description

Describes a security group and Amazon Web Services account ID pair.

Members
Description
Type: string

A description for the security group rule that references this user ID group pair.

Constraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*

GroupId
Type: string

The ID of the security group.

GroupName
Type: string

[Default VPC] The name of the security group. For a security group in a nondefault VPC, use the security group ID.

For a referenced security group in another VPC, this value is not returned if the referenced security group is deleted.

PeeringStatus
Type: string

The status of a VPC peering connection, if applicable.

UserId
Type: string

The ID of an Amazon Web Services account.

For a referenced security group in another VPC, the account ID of the referenced security group is returned in the response. If the referenced security group is deleted, this value is not returned.

VpcId
Type: string

The ID of the VPC for the referenced security group, if applicable.

VpcPeeringConnectionId
Type: string

The ID of the VPC peering connection, if applicable.

VCpuCountRange

Description

The minimum and maximum number of vCPUs.

Members
Max
Type: int

The maximum number of vCPUs. If this parameter is not specified, there is no maximum limit.

Min
Type: int

The minimum number of vCPUs. If the value is 0, there is no minimum limit.

VCpuCountRangeRequest

Description

The minimum and maximum number of vCPUs.

Members
Max
Type: int

The maximum number of vCPUs. To specify no maximum limit, omit this parameter.

Min
Required: Yes
Type: int

The minimum number of vCPUs. To specify no minimum limit, specify 0.

VCpuInfo

Description

Describes the vCPU configurations for the instance type.

Members
DefaultCores
Type: int

The default number of cores for the instance type.

DefaultThreadsPerCore
Type: int

The default number of threads per core for the instance type.

DefaultVCpus
Type: int

The default number of vCPUs for the instance type.

ValidCores
Type: Array of ints

The valid number of cores that can be configured for the instance type.

ValidThreadsPerCore
Type: Array of ints

The valid number of threads per core that can be configured for the instance type.

ValidationError

Description

The error code and error message that is returned for a parameter or parameter combination that is not valid when a new launch template or new version of a launch template is created.

Members
Code
Type: string

The error code that indicates why the parameter or parameter combination is not valid. For more information about error codes, see Error codes.

Message
Type: string

The error message that describes why the parameter or parameter combination is not valid. For more information about error messages, see Error codes.

ValidationWarning

Description

The error codes and error messages that are returned for the parameters or parameter combinations that are not valid when a new launch template or new version of a launch template is created.

Members
Errors
Type: Array of ValidationError structures

The error codes and error messages.

VerifiedAccessEndpoint

Description

An Amazon Web Services Verified Access endpoint specifies the application that Amazon Web Services Verified Access provides access to. It must be attached to an Amazon Web Services Verified Access group. An Amazon Web Services Verified Access endpoint must also have an attached access policy before you attached it to a group.

Members
ApplicationDomain
Type: string

The DNS name for users to reach your application.

AttachmentType
Type: string

The type of attachment used to provide connectivity between the Amazon Web Services Verified Access endpoint and the application.

CreationTime
Type: string

The creation time.

DeletionTime
Type: string

The deletion time.

Description
Type: string

A description for the Amazon Web Services Verified Access endpoint.

DeviceValidationDomain
Type: string

Returned if endpoint has a device trust provider attached.

DomainCertificateArn
Type: string

The ARN of a public TLS/SSL certificate imported into or created with ACM.

EndpointDomain
Type: string

A DNS name that is generated for the endpoint.

EndpointType
Type: string

The type of Amazon Web Services Verified Access endpoint. Incoming application requests will be sent to an IP address, load balancer or a network interface depending on the endpoint type specified.

LastUpdatedTime
Type: string

The last updated time.

LoadBalancerOptions

The load balancer details if creating the Amazon Web Services Verified Access endpoint as load-balancertype.

NetworkInterfaceOptions

The options for network-interface type endpoint.

SecurityGroupIds
Type: Array of strings

The IDs of the security groups for the endpoint.

SseSpecification

The options in use for server side encryption.

Status

The endpoint status.

Tags
Type: Array of Tag structures

The tags.

VerifiedAccessEndpointId
Type: string

The ID of the Amazon Web Services Verified Access endpoint.

VerifiedAccessGroupId
Type: string

The ID of the Amazon Web Services Verified Access group.

VerifiedAccessInstanceId
Type: string

The ID of the Amazon Web Services Verified Access instance.

VerifiedAccessEndpointEniOptions

Description

Options for a network-interface type endpoint.

Members
NetworkInterfaceId
Type: string

The ID of the network interface.

Port
Type: int

The IP port number.

Protocol
Type: string

The IP protocol.

VerifiedAccessEndpointLoadBalancerOptions

Description

Describes a load balancer when creating an Amazon Web Services Verified Access endpoint using the load-balancer type.

Members
LoadBalancerArn
Type: string

The ARN of the load balancer.

Port
Type: int

The IP port number.

Protocol
Type: string

The IP protocol.

SubnetIds
Type: Array of strings

The IDs of the subnets.

VerifiedAccessEndpointStatus

Description

Describes the status of a Verified Access endpoint.

Members
Code
Type: string

The status code of the Verified Access endpoint.

Message
Type: string

The status message of the Verified Access endpoint.

VerifiedAccessGroup

Description

Describes a Verified Access group.

Members
CreationTime
Type: string

The creation time.

DeletionTime
Type: string

The deletion time.

Description
Type: string

A description for the Amazon Web Services Verified Access group.

LastUpdatedTime
Type: string

The last updated time.

Owner
Type: string

The Amazon Web Services account number that owns the group.

SseSpecification

The options in use for server side encryption.

Tags
Type: Array of Tag structures

The tags.

VerifiedAccessGroupArn
Type: string

The ARN of the Verified Access group.

VerifiedAccessGroupId
Type: string

The ID of the Verified Access group.

VerifiedAccessInstanceId
Type: string

The ID of the Amazon Web Services Verified Access instance.

VerifiedAccessInstance

Description

Describes a Verified Access instance.

Members
CreationTime
Type: string

The creation time.

Description
Type: string

A description for the Amazon Web Services Verified Access instance.

FipsEnabled
Type: boolean

Indicates whether support for Federal Information Processing Standards (FIPS) is enabled on the instance.

LastUpdatedTime
Type: string

The last updated time.

Tags
Type: Array of Tag structures

The tags.

VerifiedAccessInstanceId
Type: string

The ID of the Amazon Web Services Verified Access instance.

VerifiedAccessTrustProviders
Type: Array of VerifiedAccessTrustProviderCondensed structures

The IDs of the Amazon Web Services Verified Access trust providers.

VerifiedAccessInstanceLoggingConfiguration

Description

Describes logging options for an Amazon Web Services Verified Access instance.

Members
AccessLogs
Type: VerifiedAccessLogs structure

Details about the logging options.

VerifiedAccessInstanceId
Type: string

The ID of the Amazon Web Services Verified Access instance.

VerifiedAccessLogCloudWatchLogsDestination

Description

Options for CloudWatch Logs as a logging destination.

Members
DeliveryStatus

The delivery status for access logs.

Enabled
Type: boolean

Indicates whether logging is enabled.

LogGroup
Type: string

The ID of the CloudWatch Logs log group.

VerifiedAccessLogCloudWatchLogsDestinationOptions

Description

Options for CloudWatch Logs as a logging destination.

Members
Enabled
Required: Yes
Type: boolean

Indicates whether logging is enabled.

LogGroup
Type: string

The ID of the CloudWatch Logs log group.

VerifiedAccessLogDeliveryStatus

Description

Describes a log delivery status.

Members
Code
Type: string

The status code.

Message
Type: string

The status message.

VerifiedAccessLogKinesisDataFirehoseDestination

Description

Options for Kinesis as a logging destination.

Members
DeliveryStatus

The delivery status.

DeliveryStream
Type: string

The ID of the delivery stream.

Enabled
Type: boolean

Indicates whether logging is enabled.

VerifiedAccessLogKinesisDataFirehoseDestinationOptions

Description

Describes Amazon Kinesis Data Firehose logging options.

Members
DeliveryStream
Type: string

The ID of the delivery stream.

Enabled
Required: Yes
Type: boolean

Indicates whether logging is enabled.

VerifiedAccessLogOptions

Description

Options for Verified Access logs.

Members
CloudWatchLogs

Sends Verified Access logs to CloudWatch Logs.

IncludeTrustContext
Type: boolean

Indicates whether to include trust data sent by trust providers in the logs.

KinesisDataFirehose

Sends Verified Access logs to Kinesis.

LogVersion
Type: string

The logging version.

Valid values: ocsf-0.1 | ocsf-1.0.0-rc.2

S3

Sends Verified Access logs to Amazon S3.

VerifiedAccessLogS3Destination

Description

Options for Amazon S3 as a logging destination.

Members
BucketName
Type: string

The bucket name.

BucketOwner
Type: string

The Amazon Web Services account number that owns the bucket.

DeliveryStatus

The delivery status.

Enabled
Type: boolean

Indicates whether logging is enabled.

Prefix
Type: string

The bucket prefix.

VerifiedAccessLogS3DestinationOptions

Description

Options for Amazon S3 as a logging destination.

Members
BucketName
Type: string

The bucket name.

BucketOwner
Type: string

The ID of the Amazon Web Services account that owns the Amazon S3 bucket.

Enabled
Required: Yes
Type: boolean

Indicates whether logging is enabled.

Prefix
Type: string

The bucket prefix.

VerifiedAccessLogs

Description

Describes the options for Verified Access logs.

Members
CloudWatchLogs

CloudWatch Logs logging destination.

IncludeTrustContext
Type: boolean

Indicates whether trust data is included in the logs.

KinesisDataFirehose

Kinesis logging destination.

LogVersion
Type: string

The log version.

S3

Amazon S3 logging options.

VerifiedAccessSseSpecificationRequest

Description

Verified Access provides server side encryption by default to data at rest using Amazon Web Services-owned KMS keys. You also have the option of using customer managed KMS keys, which can be specified using the options below.

Members
CustomerManagedKeyEnabled
Type: boolean

Enable or disable the use of customer managed KMS keys for server side encryption.

Valid values: True | False

KmsKeyArn
Type: string

The ARN of the KMS key.

VerifiedAccessSseSpecificationResponse

Description

The options in use for server side encryption.

Members
CustomerManagedKeyEnabled
Type: boolean

Indicates whether customer managed KMS keys are in use for server side encryption.

Valid values: True | False

KmsKeyArn
Type: string

The ARN of the KMS key.

VerifiedAccessTrustProvider

Description

Describes a Verified Access trust provider.

Members
CreationTime
Type: string

The creation time.

Description
Type: string

A description for the Amazon Web Services Verified Access trust provider.

DeviceOptions
Type: DeviceOptions structure

The options for device-identity trust provider.

DeviceTrustProviderType
Type: string

The type of device-based trust provider.

LastUpdatedTime
Type: string

The last updated time.

OidcOptions
Type: OidcOptions structure

The options for an OpenID Connect-compatible user-identity trust provider.

PolicyReferenceName
Type: string

The identifier to be used when working with policy rules.

SseSpecification

The options in use for server side encryption.

Tags
Type: Array of Tag structures

The tags.

TrustProviderType
Type: string

The type of Verified Access trust provider.

UserTrustProviderType
Type: string

The type of user-based trust provider.

VerifiedAccessTrustProviderId
Type: string

The ID of the Amazon Web Services Verified Access trust provider.

VerifiedAccessTrustProviderCondensed

Description

Condensed information about a trust provider.

Members
Description
Type: string

The description of trust provider.

DeviceTrustProviderType
Type: string

The type of device-based trust provider.

TrustProviderType
Type: string

The type of trust provider (user- or device-based).

UserTrustProviderType
Type: string

The type of user-based trust provider.

VerifiedAccessTrustProviderId
Type: string

The ID of the trust provider.

VgwTelemetry

Description

Describes telemetry for a VPN tunnel.

Members
AcceptedRouteCount
Type: int

The number of accepted routes.

CertificateArn
Type: string

The Amazon Resource Name (ARN) of the VPN tunnel endpoint certificate.

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

The date and time of the last change in status. This field is updated when changes in IKE (Phase 1), IPSec (Phase 2), or BGP status are detected.

OutsideIpAddress
Type: string

The Internet-routable IP address of the virtual private gateway's outside interface.

Status
Type: string

The status of the VPN tunnel.

StatusMessage
Type: string

If an error occurs, a description of the error.

VolumeDetail

Description

Describes an EBS volume.

Members
Size
Required: Yes
Type: long (int|float)

The size of the volume, in GiB.

VolumeModification

Description

Describes the modification status of an EBS volume.

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

The modification completion or failure time.

ModificationState
Type: string

The current modification state.

OriginalIops
Type: int

The original IOPS rate of the volume.

OriginalMultiAttachEnabled
Type: boolean

The original setting for Amazon EBS Multi-Attach.

OriginalSize
Type: int

The original size of the volume, in GiB.

OriginalThroughput
Type: int

The original throughput of the volume, in MiB/s.

OriginalVolumeType
Type: string

The original EBS volume type of the volume.

Progress
Type: long (int|float)

The modification progress, from 0 to 100 percent complete.

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

The modification start time.

StatusMessage
Type: string

A status message about the modification progress or failure.

TargetIops
Type: int

The target IOPS rate of the volume.

TargetMultiAttachEnabled
Type: boolean

The target setting for Amazon EBS Multi-Attach.

TargetSize
Type: int

The target size of the volume, in GiB.

TargetThroughput
Type: int

The target throughput of the volume, in MiB/s.

TargetVolumeType
Type: string

The target EBS volume type of the volume.

VolumeId
Type: string

The ID of the volume.

VolumeStatusAction

Description

Describes a volume status operation code.

Members
Code
Type: string

The code identifying the operation, for example, enable-volume-io.

Description
Type: string

A description of the operation.

EventId
Type: string

The ID of the event associated with this operation.

EventType
Type: string

The event type associated with this operation.

VolumeStatusAttachmentStatus

Description

Information about the instances to which the volume is attached.

Members
InstanceId
Type: string

The ID of the attached instance.

IoPerformance
Type: string

The maximum IOPS supported by the attached instance.

VolumeStatusDetails

Description

Describes a volume status.

Members
Name
Type: string

The name of the volume status.

Status
Type: string

The intended status of the volume status.

VolumeStatusEvent

Description

Describes a volume status event.

Members
Description
Type: string

A description of the event.

EventId
Type: string

The ID of this event.

EventType
Type: string

The type of this event.

InstanceId
Type: string

The ID of the instance associated with the event.

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

The latest end time of the event.

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

The earliest start time of the event.

VolumeStatusInfo

Description

Describes the status of a volume.

Members
Details
Type: Array of VolumeStatusDetails structures

The details of the volume status.

Status
Type: string

The status of the volume.

VolumeStatusItem

Description

Describes the volume status.

Members
Actions
Type: Array of VolumeStatusAction structures

The details of the operation.

AttachmentStatuses
Type: Array of VolumeStatusAttachmentStatus structures

Information about the instances to which the volume is attached.

AvailabilityZone
Type: string

The Availability Zone of the volume.

Events
Type: Array of VolumeStatusEvent structures

A list of events associated with the volume.

OutpostArn
Type: string

The Amazon Resource Name (ARN) of the Outpost.

VolumeId
Type: string

The volume ID.

VolumeStatus
Type: VolumeStatusInfo structure

The volume status.

Vpc

Description

Describes a VPC.

Members
CidrBlock
Type: string

The primary IPv4 CIDR block for the VPC.

CidrBlockAssociationSet
Type: Array of VpcCidrBlockAssociation structures

Information about the IPv4 CIDR blocks associated with the VPC.

DhcpOptionsId
Type: string

The ID of the set of DHCP options you've associated with the VPC.

InstanceTenancy
Type: string

The allowed tenancy of instances launched into the VPC.

Ipv6CidrBlockAssociationSet
Type: Array of VpcIpv6CidrBlockAssociation structures

Information about the IPv6 CIDR blocks associated with the VPC.

IsDefault
Type: boolean

Indicates whether the VPC is the default VPC.

OwnerId
Type: string

The ID of the Amazon Web Services account that owns the VPC.

State
Type: string

The current state of the VPC.

Tags
Type: Array of Tag structures

Any tags assigned to the VPC.

VpcId
Type: string

The ID of the VPC.

VpcAttachment

Description

Describes an attachment between a virtual private gateway and a VPC.

Members
State
Type: string

The current state of the attachment.

VpcId
Type: string

The ID of the VPC.

VpcCidrBlockAssociation

Description

Describes an IPv4 CIDR block associated with a VPC.

Members
AssociationId
Type: string

The association ID for the IPv4 CIDR block.

CidrBlock
Type: string

The IPv4 CIDR block.

CidrBlockState
Type: VpcCidrBlockState structure

Information about the state of the CIDR block.

VpcCidrBlockState

Description

Describes the state of a CIDR block.

Members
State
Type: string

The state of the CIDR block.

StatusMessage
Type: string

A message about the status of the CIDR block, if applicable.

Description

Deprecated.

Describes whether a VPC is enabled for ClassicLink.

Members
ClassicLinkEnabled
Type: boolean

Indicates whether the VPC is enabled for ClassicLink.

Tags
Type: Array of Tag structures

Any tags assigned to the VPC.

VpcId
Type: string

The ID of the VPC.

VpcEndpoint

Description

Describes a VPC endpoint.

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

The date and time that the endpoint was created.

DnsEntries
Type: Array of DnsEntry structures

(Interface endpoint) The DNS entries for the endpoint.

DnsOptions
Type: DnsOptions structure

The DNS options for the endpoint.

Groups
Type: Array of SecurityGroupIdentifier structures

(Interface endpoint) Information about the security groups that are associated with the network interface.

IpAddressType
Type: string

The IP address type for the endpoint.

LastError
Type: LastError structure

The last error that occurred for endpoint.

NetworkInterfaceIds
Type: Array of strings

(Interface endpoint) The network interfaces for the endpoint.

OwnerId
Type: string

The ID of the Amazon Web Services account that owns the endpoint.

PolicyDocument
Type: string

The policy document associated with the endpoint, if applicable.

PrivateDnsEnabled
Type: boolean

(Interface endpoint) Indicates whether the VPC is associated with a private hosted zone.

RequesterManaged
Type: boolean

Indicates whether the endpoint is being managed by its service.

RouteTableIds
Type: Array of strings

(Gateway endpoint) The IDs of the route tables associated with the endpoint.

ServiceName
Type: string

The name of the service to which the endpoint is associated.

State
Type: string

The state of the endpoint.

SubnetIds
Type: Array of strings

(Interface endpoint) The subnets for the endpoint.

Tags
Type: Array of Tag structures

The tags assigned to the endpoint.

VpcEndpointId
Type: string

The ID of the endpoint.

VpcEndpointType
Type: string

The type of endpoint.

VpcId
Type: string

The ID of the VPC to which the endpoint is associated.

VpcEndpointConnection

Description

Describes a VPC endpoint connection to a service.

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

The date and time that the VPC endpoint was created.

DnsEntries
Type: Array of DnsEntry structures

The DNS entries for the VPC endpoint.

GatewayLoadBalancerArns
Type: Array of strings

The Amazon Resource Names (ARNs) of the Gateway Load Balancers for the service.

IpAddressType
Type: string

The IP address type for the endpoint.

NetworkLoadBalancerArns
Type: Array of strings

The Amazon Resource Names (ARNs) of the network load balancers for the service.

ServiceId
Type: string

The ID of the service to which the endpoint is connected.

Tags
Type: Array of Tag structures

The tags.

VpcEndpointConnectionId
Type: string

The ID of the VPC endpoint connection.

VpcEndpointId
Type: string

The ID of the VPC endpoint.

VpcEndpointOwner
Type: string

The ID of the Amazon Web Services account that owns the VPC endpoint.

VpcEndpointState
Type: string

The state of the VPC endpoint.

VpcIpv6CidrBlockAssociation

Description

Describes an IPv6 CIDR block associated with a VPC.

Members
AssociationId
Type: string

The association ID for the IPv6 CIDR block.

IpSource
Type: string

The source that allocated the IP address space. byoip or amazon indicates public IP address space allocated by Amazon or space that you have allocated with Bring your own IP (BYOIP). none indicates private space.

Ipv6AddressAttribute
Type: string

Public IPv6 addresses are those advertised on the internet from Amazon Web Services. Private IP addresses are not and cannot be advertised on the internet from Amazon Web Services.

Ipv6CidrBlock
Type: string

The IPv6 CIDR block.

Ipv6CidrBlockState
Type: VpcCidrBlockState structure

Information about the state of the CIDR block.

Ipv6Pool
Type: string

The ID of the IPv6 address pool from which the IPv6 CIDR block is allocated.

NetworkBorderGroup
Type: string

The name of the unique set of Availability Zones, Local Zones, or Wavelength Zones from which Amazon Web Services advertises IP addresses, for example, us-east-1-wl1-bos-wlz-1.

VpcPeeringConnection

Description

Describes a VPC peering connection.

Members
AccepterVpcInfo
Type: VpcPeeringConnectionVpcInfo structure

Information about the accepter VPC. CIDR block information is only returned when describing an active VPC peering connection.

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

The time that an unaccepted VPC peering connection will expire.

RequesterVpcInfo
Type: VpcPeeringConnectionVpcInfo structure

Information about the requester VPC. CIDR block information is only returned when describing an active VPC peering connection.

Status

The status of the VPC peering connection.

Tags
Type: Array of Tag structures

Any tags assigned to the resource.

VpcPeeringConnectionId
Type: string

The ID of the VPC peering connection.

VpcPeeringConnectionOptionsDescription

Description

Describes the VPC peering connection options.

Members
AllowDnsResolutionFromRemoteVpc
Type: boolean

Indicates whether a local VPC can resolve public DNS hostnames to private IP addresses when queried from instances in a peer VPC.

AllowEgressFromLocalClassicLinkToRemoteVpc
Type: boolean

Deprecated.

AllowEgressFromLocalVpcToRemoteClassicLink
Type: boolean

Deprecated.

VpcPeeringConnectionStateReason

Description

Describes the status of a VPC peering connection.

Members
Code
Type: string

The status of the VPC peering connection.

Message
Type: string

A message that provides more information about the status, if applicable.

VpcPeeringConnectionVpcInfo

Description

Describes a VPC in a VPC peering connection.

Members
CidrBlock
Type: string

The IPv4 CIDR block for the VPC.

CidrBlockSet
Type: Array of CidrBlock structures

Information about the IPv4 CIDR blocks for the VPC.

Ipv6CidrBlockSet
Type: Array of Ipv6CidrBlock structures

The IPv6 CIDR block for the VPC.

OwnerId
Type: string

The ID of the Amazon Web Services account that owns the VPC.

PeeringOptions

Information about the VPC peering connection options for the accepter or requester VPC.

Region
Type: string

The Region in which the VPC is located.

VpcId
Type: string

The ID of the VPC.

VpnConnection

Description

Describes a VPN connection.

Members
Category
Type: string

The category of the VPN connection. A value of VPN indicates an Amazon Web Services VPN connection. A value of VPN-Classic indicates an Amazon Web Services Classic VPN connection.

CoreNetworkArn
Type: string

The ARN of the core network.

CoreNetworkAttachmentArn
Type: string

The ARN of the core network attachment.

CustomerGatewayConfiguration
Type: string

The configuration information for the VPN connection's customer gateway (in the native XML format). This element is always present in the CreateVpnConnection response; however, it's present in the DescribeVpnConnections response only if the VPN connection is in the pending or available state.

CustomerGatewayId
Type: string

The ID of the customer gateway at your end of the VPN connection.

GatewayAssociationState
Type: string

The current state of the gateway association.

Options
Type: VpnConnectionOptions structure

The VPN connection options.

Routes
Type: Array of VpnStaticRoute structures

The static routes associated with the VPN connection.

State
Type: string

The current state of the VPN connection.

Tags
Type: Array of Tag structures

Any tags assigned to the VPN connection.

TransitGatewayId
Type: string

The ID of the transit gateway associated with the VPN connection.

Type
Type: string

The type of VPN connection.

VgwTelemetry
Type: Array of VgwTelemetry structures

Information about the VPN tunnel.

VpnConnectionId
Type: string

The ID of the VPN connection.

VpnGatewayId
Type: string

The ID of the virtual private gateway at the Amazon Web Services side of the VPN connection.

VpnConnectionDeviceType

Description

List of customer gateway devices that have a sample configuration file available for use. You can also see the list of device types with sample configuration files available under Your customer gateway device in the Amazon Web Services Site-to-Site VPN User Guide.

Members
Platform
Type: string

Customer gateway device platform.

Software
Type: string

Customer gateway device software version.

Vendor
Type: string

Customer gateway device vendor.

VpnConnectionDeviceTypeId
Type: string

Customer gateway device identifier.

VpnConnectionOptions

Description

Describes VPN connection options.

Members
EnableAcceleration
Type: boolean

Indicates whether acceleration is enabled for the VPN connection.

LocalIpv4NetworkCidr
Type: string

The IPv4 CIDR on the customer gateway (on-premises) side of the VPN connection.

LocalIpv6NetworkCidr
Type: string

The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection.

OutsideIpAddressType
Type: string

The type of IPv4 address assigned to the outside interface of the customer gateway.

Valid values: PrivateIpv4 | PublicIpv4

Default: PublicIpv4

RemoteIpv4NetworkCidr
Type: string

The IPv4 CIDR on the Amazon Web Services side of the VPN connection.

RemoteIpv6NetworkCidr
Type: string

The IPv6 CIDR on the Amazon Web Services side of the VPN connection.

StaticRoutesOnly
Type: boolean

Indicates whether the VPN connection uses static routes only. Static routes must be used for devices that don't support BGP.

TransportTransitGatewayAttachmentId
Type: string

The transit gateway attachment ID in use for the VPN tunnel.

TunnelInsideIpVersion
Type: string

Indicates whether the VPN tunnels process IPv4 or IPv6 traffic.

TunnelOptions
Type: Array of TunnelOption structures

Indicates the VPN tunnel options.

VpnConnectionOptionsSpecification

Description

Describes VPN connection options.

Members
EnableAcceleration
Type: boolean

Indicate whether to enable acceleration for the VPN connection.

Default: false

LocalIpv4NetworkCidr
Type: string

The IPv4 CIDR on the customer gateway (on-premises) side of the VPN connection.

Default: 0.0.0.0/0

LocalIpv6NetworkCidr
Type: string

The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection.

Default: ::/0

OutsideIpAddressType
Type: string

The type of IPv4 address assigned to the outside interface of the customer gateway device.

Valid values: PrivateIpv4 | PublicIpv4

Default: PublicIpv4

RemoteIpv4NetworkCidr
Type: string

The IPv4 CIDR on the Amazon Web Services side of the VPN connection.

Default: 0.0.0.0/0

RemoteIpv6NetworkCidr
Type: string

The IPv6 CIDR on the Amazon Web Services side of the VPN connection.

Default: ::/0

StaticRoutesOnly
Type: boolean

Indicate whether the VPN connection uses static routes only. If you are creating a VPN connection for a device that does not support BGP, you must specify true. Use CreateVpnConnectionRoute to create a static route.

Default: false

TransportTransitGatewayAttachmentId
Type: string

The transit gateway attachment ID to use for the VPN tunnel.

Required if OutsideIpAddressType is set to PrivateIpv4.

TunnelInsideIpVersion
Type: string

Indicate whether the VPN tunnels process IPv4 or IPv6 traffic.

Default: ipv4

TunnelOptions
Type: Array of VpnTunnelOptionsSpecification structures

The tunnel options for the VPN connection.

VpnGateway

Description

Describes a virtual private gateway.

Members
AmazonSideAsn
Type: long (int|float)

The private Autonomous System Number (ASN) for the Amazon side of a BGP session.

AvailabilityZone
Type: string

The Availability Zone where the virtual private gateway was created, if applicable. This field may be empty or not returned.

State
Type: string

The current state of the virtual private gateway.

Tags
Type: Array of Tag structures

Any tags assigned to the virtual private gateway.

Type
Type: string

The type of VPN connection the virtual private gateway supports.

VpcAttachments
Type: Array of VpcAttachment structures

Any VPCs attached to the virtual private gateway.

VpnGatewayId
Type: string

The ID of the virtual private gateway.

VpnStaticRoute

Description

Describes a static route for a VPN connection.

Members
DestinationCidrBlock
Type: string

The CIDR block associated with the local subnet of the customer data center.

Source
Type: string

Indicates how the routes were provided.

State
Type: string

The current state of the static route.

VpnTunnelLogOptions

Description

Options for logging VPN tunnel activity.

Members
CloudWatchLogOptions
Type: CloudWatchLogOptions structure

Options for sending VPN tunnel logs to CloudWatch.

VpnTunnelLogOptionsSpecification

Description

Options for logging VPN tunnel activity.

Members
CloudWatchLogOptions

Options for sending VPN tunnel logs to CloudWatch.

VpnTunnelOptionsSpecification

Description

The tunnel options for a single VPN tunnel.

Members
DPDTimeoutAction
Type: string

The action to take after DPD timeout occurs. Specify restart to restart the IKE initiation. Specify clear to end the IKE session.

Valid Values: clear | none | restart

Default: clear

DPDTimeoutSeconds
Type: int

The number of seconds after which a DPD timeout occurs.

Constraints: A value greater than or equal to 30.

Default: 30

EnableTunnelLifecycleControl
Type: boolean

Turn on or off tunnel endpoint lifecycle control feature.

IKEVersions
Type: Array of IKEVersionsRequestListValue structures

The IKE versions that are permitted for the VPN tunnel.

Valid values: ikev1 | ikev2

LogOptions

Options for logging VPN tunnel activity.

Phase1DHGroupNumbers
Type: Array of Phase1DHGroupNumbersRequestListValue structures

One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 1 IKE negotiations.

Valid values: 2 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24

Phase1EncryptionAlgorithms
Type: Array of Phase1EncryptionAlgorithmsRequestListValue structures

One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.

Valid values: AES128 | AES256 | AES128-GCM-16 | AES256-GCM-16

Phase1IntegrityAlgorithms
Type: Array of Phase1IntegrityAlgorithmsRequestListValue structures

One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.

Valid values: SHA1 | SHA2-256 | SHA2-384 | SHA2-512

Phase1LifetimeSeconds
Type: int

The lifetime for phase 1 of the IKE negotiation, in seconds.

Constraints: A value between 900 and 28,800.

Default: 28800

Phase2DHGroupNumbers
Type: Array of Phase2DHGroupNumbersRequestListValue structures

One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 2 IKE negotiations.

Valid values: 2 | 5 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24

Phase2EncryptionAlgorithms
Type: Array of Phase2EncryptionAlgorithmsRequestListValue structures

One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.

Valid values: AES128 | AES256 | AES128-GCM-16 | AES256-GCM-16

Phase2IntegrityAlgorithms
Type: Array of Phase2IntegrityAlgorithmsRequestListValue structures

One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.

Valid values: SHA1 | SHA2-256 | SHA2-384 | SHA2-512

Phase2LifetimeSeconds
Type: int

The lifetime for phase 2 of the IKE negotiation, in seconds.

Constraints: A value between 900 and 3,600. The value must be less than the value for Phase1LifetimeSeconds.

Default: 3600

PreSharedKey
Type: string

The pre-shared key (PSK) to establish initial authentication between the virtual private gateway and customer gateway.

Constraints: Allowed characters are alphanumeric characters, periods (.), and underscores (_). Must be between 8 and 64 characters in length and cannot start with zero (0).

RekeyFuzzPercentage
Type: int

The percentage of the rekey window (determined by RekeyMarginTimeSeconds) during which the rekey time is randomly selected.

Constraints: A value between 0 and 100.

Default: 100

RekeyMarginTimeSeconds
Type: int

The margin time, in seconds, before the phase 2 lifetime expires, during which the Amazon Web Services side of the VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for RekeyFuzzPercentage.

Constraints: A value between 60 and half of Phase2LifetimeSeconds.

Default: 270

ReplayWindowSize
Type: int

The number of packets in an IKE replay window.

Constraints: A value between 64 and 2048.

Default: 1024

StartupAction
Type: string

The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify start for Amazon Web Services to initiate the IKE negotiation.

Valid Values: add | start

Default: add

TunnelInsideCidr
Type: string

The range of inside IPv4 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same virtual private gateway.

Constraints: A size /30 CIDR block from the 169.254.0.0/16 range. The following CIDR blocks are reserved and cannot be used:

  • 169.254.0.0/30

  • 169.254.1.0/30

  • 169.254.2.0/30

  • 169.254.3.0/30

  • 169.254.4.0/30

  • 169.254.5.0/30

  • 169.254.169.252/30

TunnelInsideIpv6Cidr
Type: string

The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same transit gateway.

Constraints: A size /126 CIDR block from the local fd00::/8 range.