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 the specified IPv6 addresses to the specified network interface.
AssignPrivateIpAddresses ( array $params = [] )
Assigns the specified 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.
CancelDeclarativePoliciesReport ( array $params = [] )
Cancels the generation of an account status report.
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 attached to an Amazon EC2 instance.
CreateSpotDatafeedSubscription ( array $params = [] )
Creates a data feed for Spot Instances, enabling you to view Spot Instance usage logs.
CreateStoreImageTask ( array $params = [] )
Stores an AMI as a single object in an Amazon S3 bucket.
CreateSubnet ( array $params = [] )
Creates a subnet in the specified VPC.
CreateSubnetCidrReservation ( array $params = [] )
Creates a subnet CIDR reservation.
CreateTags ( array $params = [] )
Adds or overwrites only the specified tags for the specified Amazon EC2 resource or resources.
CreateTrafficMirrorFilter ( array $params = [] )
Creates a Traffic Mirror filter.
CreateTrafficMirrorFilterRule ( array $params = [] )
Creates a Traffic Mirror filter rule.
CreateTrafficMirrorSession ( array $params = [] )
Creates a Traffic Mirror session.
CreateTrafficMirrorTarget ( array $params = [] )
Creates a target for your Traffic Mirror session.
CreateTransitGateway ( array $params = [] )
Creates a transit gateway.
CreateTransitGatewayConnect ( array $params = [] )
Creates a Connect attachment from a specified transit gateway attachment.
CreateTransitGatewayConnectPeer ( array $params = [] )
Creates a Connect peer for a specified transit gateway Connect attachment between a transit gateway and an appliance.
CreateTransitGatewayMulticastDomain ( array $params = [] )
Creates a multicast domain using the specified transit gateway.
CreateTransitGatewayPeeringAttachment ( array $params = [] )
Requests a transit gateway peering attachment between the specified transit gateway (requester) and a peer transit gateway (accepter).
CreateTransitGatewayPolicyTable ( array $params = [] )
Creates a transit gateway policy table.
CreateTransitGatewayPrefixListReference ( array $params = [] )
Creates a reference (route) to a prefix list in a specified transit gateway route table.
CreateTransitGatewayRoute ( array $params = [] )
Creates a static route for the specified transit gateway route table.
CreateTransitGatewayRouteTable ( array $params = [] )
Creates a route table for the specified transit gateway.
CreateTransitGatewayRouteTableAnnouncement ( array $params = [] )
Advertises a new transit gateway route table.
CreateTransitGatewayVpcAttachment ( array $params = [] )
Attaches the specified VPC to the specified transit gateway.
CreateVerifiedAccessEndpoint ( array $params = [] )
An Amazon Web Services Verified Access endpoint is where you define your application along with an optional endpoint-level access policy.
CreateVerifiedAccessGroup ( array $params = [] )
An Amazon Web Services Verified Access group is a collection of Amazon Web Services Verified Access endpoints who's associated applications have similar security requirements.
CreateVerifiedAccessInstance ( array $params = [] )
An Amazon Web Services Verified Access instance is a regional entity that evaluates application requests and grants access only when your security requirements are met.
CreateVerifiedAccessTrustProvider ( array $params = [] )
A trust provider is a third-party entity that creates, maintains, and manages identity information for users and devices.
CreateVolume ( array $params = [] )
Creates an EBS volume that can be attached to an instance in the same Availability Zone.
CreateVpc ( array $params = [] )
Creates a VPC with the specified CIDR blocks.
CreateVpcBlockPublicAccessExclusion ( array $params = [] )
Create a VPC Block Public Access (BPA) exclusion.
CreateVpcEndpoint ( array $params = [] )
Creates a VPC endpoint.
CreateVpcEndpointConnectionNotification ( array $params = [] )
Creates a connection notification for a specified VPC endpoint or VPC endpoint service.
CreateVpcEndpointServiceConfiguration ( array $params = [] )
Creates a VPC endpoint service to which service consumers (Amazon Web Services accounts, users, and IAM roles) can connect.
CreateVpcPeeringConnection ( array $params = [] )
Requests a VPC peering connection between two VPCs: a requester VPC that you own and an accepter VPC with which to create the connection.
CreateVpnConnection ( array $params = [] )
Creates a VPN connection between an existing virtual private gateway or transit gateway and a customer gateway.
CreateVpnConnectionRoute ( array $params = [] )
Creates a static route associated with a VPN connection between an existing virtual private gateway and a VPN customer gateway.
CreateVpnGateway ( array $params = [] )
Creates a virtual private gateway.
DeleteCarrierGateway ( array $params = [] )
Deletes a carrier gateway.
DeleteClientVpnEndpoint ( array $params = [] )
Deletes the specified Client VPN endpoint.
DeleteClientVpnRoute ( array $params = [] )
Deletes a route from a Client VPN endpoint.
DeleteCoipCidr ( array $params = [] )
Deletes a range of customer-owned IP addresses.
DeleteCoipPool ( array $params = [] )
Deletes a pool of customer-owned IP (CoIP) addresses.
DeleteCustomerGateway ( array $params = [] )
Deletes the specified customer gateway.
DeleteDhcpOptions ( array $params = [] )
Deletes the specified set of DHCP options.
DeleteEgressOnlyInternetGateway ( array $params = [] )
Deletes an egress-only internet gateway.
DeleteFleets ( array $params = [] )
Deletes the specified EC2 Fleet request.
DeleteFlowLogs ( array $params = [] )
Deletes one or more flow logs.
DeleteFpgaImage ( array $params = [] )
Deletes the specified Amazon FPGA Image (AFI).
DeleteInstanceConnectEndpoint ( array $params = [] )
Deletes the specified EC2 Instance Connect Endpoint.
DeleteInstanceEventWindow ( array $params = [] )
Deletes the specified event window.
DeleteInternetGateway ( array $params = [] )
Deletes the specified internet gateway.
DeleteIpam ( array $params = [] )
Delete an IPAM.
DeleteIpamExternalResourceVerificationToken ( array $params = [] )
Delete a verification token.
DeleteIpamPool ( array $params = [] )
Delete an IPAM pool.
DeleteIpamResourceDiscovery ( array $params = [] )
Deletes an IPAM resource discovery.
DeleteIpamScope ( array $params = [] )
Delete the scope for an IPAM.
DeleteKeyPair ( array $params = [] )
Deletes the specified key pair, by removing the public key from Amazon EC2.
DeleteLaunchTemplate ( array $params = [] )
Deletes a launch template.
DeleteLaunchTemplateVersions ( array $params = [] )
Deletes one or more versions of a launch template.
DeleteLocalGatewayRoute ( array $params = [] )
Deletes the specified route from the specified local gateway route table.
DeleteLocalGatewayRouteTable ( array $params = [] )
Deletes a local gateway route table.
DeleteLocalGatewayRouteTableVirtualInterfaceGroupAssociation ( array $params = [] )
Deletes a local gateway route table virtual interface group association.
DeleteLocalGatewayRouteTableVpcAssociation ( array $params = [] )
Deletes the specified association between a VPC and local gateway route table.
DeleteManagedPrefixList ( array $params = [] )
Deletes the specified managed prefix list.
DeleteNatGateway ( array $params = [] )
Deletes the specified NAT gateway.
DeleteNetworkAcl ( array $params = [] )
Deletes the specified network ACL.
DeleteNetworkAclEntry ( array $params = [] )
Deletes the specified ingress or egress entry (rule) from the specified network ACL.
DeleteNetworkInsightsAccessScope ( array $params = [] )
Deletes the specified Network Access Scope.
DeleteNetworkInsightsAccessScopeAnalysis ( array $params = [] )
Deletes the specified Network Access Scope analysis.
DeleteNetworkInsightsAnalysis ( array $params = [] )
Deletes the specified network insights analysis.
DeleteNetworkInsightsPath ( array $params = [] )
Deletes the specified path.
DeleteNetworkInterface ( array $params = [] )
Deletes the specified network interface.
DeleteNetworkInterfacePermission ( array $params = [] )
Deletes a permission for a network interface.
DeletePlacementGroup ( array $params = [] )
Deletes the specified placement group.
DeletePublicIpv4Pool ( array $params = [] )
Delete a public IPv4 pool.
DeleteQueuedReservedInstances ( array $params = [] )
Deletes the queued purchases for the specified Reserved Instances.
DeleteRoute ( array $params = [] )
Deletes the specified route from the specified route table.
DeleteRouteTable ( array $params = [] )
Deletes the specified route table.
DeleteSecurityGroup ( array $params = [] )
Deletes a security group.
DeleteSnapshot ( array $params = [] )
Deletes the specified snapshot.
DeleteSpotDatafeedSubscription ( array $params = [] )
Deletes the data feed for Spot Instances.
DeleteSubnet ( array $params = [] )
Deletes the specified subnet.
DeleteSubnetCidrReservation ( array $params = [] )
Deletes a subnet CIDR reservation.
DeleteTags ( array $params = [] )
Deletes the specified set of tags from the specified set of resources.
DeleteTrafficMirrorFilter ( array $params = [] )
Deletes the specified Traffic Mirror filter.
DeleteTrafficMirrorFilterRule ( array $params = [] )
Deletes the specified Traffic Mirror rule.
DeleteTrafficMirrorSession ( array $params = [] )
Deletes the specified Traffic Mirror session.
DeleteTrafficMirrorTarget ( array $params = [] )
Deletes the specified Traffic Mirror target.
DeleteTransitGateway ( array $params = [] )
Deletes the specified transit gateway.
DeleteTransitGatewayConnect ( array $params = [] )
Deletes the specified Connect attachment.
DeleteTransitGatewayConnectPeer ( array $params = [] )
Deletes the specified Connect peer.
DeleteTransitGatewayMulticastDomain ( array $params = [] )
Deletes the specified transit gateway multicast domain.
DeleteTransitGatewayPeeringAttachment ( array $params = [] )
Deletes a transit gateway peering attachment.
DeleteTransitGatewayPolicyTable ( array $params = [] )
Deletes the specified transit gateway policy table.
DeleteTransitGatewayPrefixListReference ( array $params = [] )
Deletes a reference (route) to a prefix list in a specified transit gateway route table.
DeleteTransitGatewayRoute ( array $params = [] )
Deletes the specified route from the specified transit gateway route table.
DeleteTransitGatewayRouteTable ( array $params = [] )
Deletes the specified transit gateway route table.
DeleteTransitGatewayRouteTableAnnouncement ( array $params = [] )
Advertises to the transit gateway that a transit gateway route table is deleted.
DeleteTransitGatewayVpcAttachment ( array $params = [] )
Deletes the specified VPC attachment.
DeleteVerifiedAccessEndpoint ( array $params = [] )
Delete an Amazon Web Services Verified Access endpoint.
DeleteVerifiedAccessGroup ( array $params = [] )
Delete an Amazon Web Services Verified Access group.
DeleteVerifiedAccessInstance ( array $params = [] )
Delete an Amazon Web Services Verified Access instance.
DeleteVerifiedAccessTrustProvider ( array $params = [] )
Delete an Amazon Web Services Verified Access trust provider.
DeleteVolume ( array $params = [] )
Deletes the specified EBS volume.
DeleteVpc ( array $params = [] )
Deletes the specified VPC.
DeleteVpcBlockPublicAccessExclusion ( array $params = [] )
Delete a VPC Block Public Access (BPA) exclusion.
DeleteVpcEndpointConnectionNotifications ( array $params = [] )
Deletes the specified VPC endpoint connection notifications.
DeleteVpcEndpointServiceConfigurations ( array $params = [] )
Deletes the specified VPC endpoint service configurations.
DeleteVpcEndpoints ( array $params = [] )
Deletes the specified VPC endpoints.
DeleteVpcPeeringConnection ( array $params = [] )
Deletes a VPC peering connection.
DeleteVpnConnection ( array $params = [] )
Deletes the specified VPN connection.
DeleteVpnConnectionRoute ( array $params = [] )
Deletes the specified static route associated with a VPN connection between an existing virtual private gateway and a VPN customer gateway.
DeleteVpnGateway ( array $params = [] )
Deletes the specified virtual private gateway.
DeprovisionByoipCidr ( array $params = [] )
Releases the specified address range that you provisioned for use with your Amazon Web Services resources through bring your own IP addresses (BYOIP) and deletes the corresponding address pool.
DeprovisionIpamByoasn ( array $params = [] )
Deprovisions your Autonomous System Number (ASN) from your Amazon Web Services account.
DeprovisionIpamPoolCidr ( array $params = [] )
Deprovision a CIDR provisioned from an IPAM pool.
DeprovisionPublicIpv4PoolCidr ( array $params = [] )
Deprovision a CIDR from a public IPv4 pool.
DeregisterImage ( array $params = [] )
Deregisters the specified AMI.
DeregisterInstanceEventNotificationAttributes ( array $params = [] )
Deregisters tag keys to prevent tags that have the specified tag keys from being included in scheduled event notifications for resources in the Region.
DeregisterTransitGatewayMulticastGroupMembers ( array $params = [] )
Deregisters the specified members (network interfaces) from the transit gateway multicast group.
DeregisterTransitGatewayMulticastGroupSources ( array $params = [] )
Deregisters the specified sources (network interfaces) from the transit gateway multicast group.
DescribeAccountAttributes ( array $params = [] )
Describes attributes of your Amazon Web Services account.
DescribeAddressTransfers ( array $params = [] )
Describes an Elastic IP address transfer.
DescribeAddresses ( array $params = [] )
Describes the specified Elastic IP addresses or all of your Elastic IP addresses.
DescribeAddressesAttribute ( array $params = [] )
Describes the attributes of the specified Elastic IP addresses.
DescribeAggregateIdFormat ( array $params = [] )
Describes the longer ID format settings for all resource types in a specific Region.
DescribeAvailabilityZones ( array $params = [] )
Describes the Availability Zones, Local Zones, and Wavelength Zones that are available to you.
DescribeAwsNetworkPerformanceMetricSubscriptions ( array $params = [] )
Describes the current Infrastructure Performance metric subscriptions.
DescribeBundleTasks ( array $params = [] )
Describes the specified bundle tasks or all of your bundle tasks.
DescribeByoipCidrs ( array $params = [] )
Describes the IP address ranges that were specified in calls to ProvisionByoipCidr.
DescribeCapacityBlockExtensionHistory ( array $params = [] )
Describes the events for the specified Capacity Block extension during the specified time.
DescribeCapacityBlockExtensionOfferings ( array $params = [] )
Describes Capacity Block extension offerings available for purchase in the Amazon Web Services Region that you're currently using.
DescribeCapacityBlockOfferings ( array $params = [] )
Describes Capacity Block offerings available for purchase in the Amazon Web Services Region that you're currently using.
DescribeCapacityReservationBillingRequests ( array $params = [] )
Describes a request to assign the billing of the unused capacity of a Capacity Reservation.
DescribeCapacityReservationFleets ( array $params = [] )
Describes one or more Capacity Reservation Fleets.
DescribeCapacityReservations ( array $params = [] )
Describes one or more of your Capacity Reservations.
DescribeCarrierGateways ( array $params = [] )
Describes one or more of your carrier gateways.
DescribeClassicLinkInstances ( array $params = [] )
This action is deprecated.
DescribeClientVpnAuthorizationRules ( array $params = [] )
Describes the authorization rules for a specified Client VPN endpoint.
DescribeClientVpnConnections ( array $params = [] )
Describes active client connections and connections that have been terminated within the last 60 minutes for the specified Client VPN endpoint.
DescribeClientVpnEndpoints ( array $params = [] )
Describes one or more Client VPN endpoints in the account.
DescribeClientVpnRoutes ( array $params = [] )
Describes the routes for the specified Client VPN endpoint.
DescribeClientVpnTargetNetworks ( array $params = [] )
Describes the target networks associated with the specified Client VPN endpoint.
DescribeCoipPools ( array $params = [] )
Describes the specified customer-owned address pools or all of your customer-owned address pools.
DescribeConversionTasks ( array $params = [] )
Describes the specified conversion tasks or all your conversion tasks.
DescribeCustomerGateways ( array $params = [] )
Describes one or more of your VPN customer gateways.
DescribeDeclarativePoliciesReports ( array $params = [] )
Describes the metadata of an account status report, including the status of the report.
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, made private (no longer public or shared with your account), or not allowed.
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 the specified network interfaces or all your network interfaces.
DescribePlacementGroups ( array $params = [] )
Describes the specified placement groups or all of your placement groups.
DescribePrefixLists ( array $params = [] )
Describes available Amazon Web Services services in a prefix list format, which includes the prefix list name and prefix list ID of the service and the IP address range for the service.
DescribePrincipalIdFormat ( array $params = [] )
Describes the ID format settings for the root user and all IAM roles and IAM users that have explicitly specified a longer ID (17-character ID) preference.
DescribePublicIpv4Pools ( array $params = [] )
Describes the specified IPv4 address pools.
DescribeRegions ( array $params = [] )
Describes the Regions that are enabled for your account, or all Regions.
DescribeReplaceRootVolumeTasks ( array $params = [] )
Describes a root volume replacement task.
DescribeReservedInstances ( array $params = [] )
Describes one or more of the Reserved Instances that you purchased.
DescribeReservedInstancesListings ( array $params = [] )
Describes your account's Reserved Instance listings in the Reserved Instance Marketplace.
DescribeReservedInstancesModifications ( array $params = [] )
Describes the modifications made to your Reserved Instances.
DescribeReservedInstancesOfferings ( array $params = [] )
Describes Reserved Instance offerings that are available for purchase.
DescribeRouteTables ( array $params = [] )
Describes your route tables.
DescribeScheduledInstanceAvailability ( array $params = [] )
Finds available schedules that meet the specified criteria.
DescribeScheduledInstances ( array $params = [] )
Describes the specified Scheduled Instances or all your Scheduled Instances.
DescribeSecurityGroupReferences ( array $params = [] )
Describes the VPCs on the other side of a VPC peering or Transit Gateway connection that are referencing the security groups you've specified in this request.
DescribeSecurityGroupRules ( array $params = [] )
Describes one or more of your security group rules.
DescribeSecurityGroupVpcAssociations ( array $params = [] )
Describes security group VPC associations made with AssociateSecurityGroupVpc.
DescribeSecurityGroups ( array $params = [] )
Describes the specified security groups or all of your security groups.
DescribeSnapshotAttribute ( array $params = [] )
Describes the specified attribute of the specified snapshot.
DescribeSnapshotTierStatus ( array $params = [] )
Describes the storage tier status of one or more Amazon EBS snapshots.
DescribeSnapshots ( array $params = [] )
Describes the specified EBS snapshots available to you or all of the EBS snapshots available to you.
DescribeSpotDatafeedSubscription ( array $params = [] )
Describes the data feed for Spot Instances.
DescribeSpotFleetInstances ( array $params = [] )
Describes the running instances for the specified Spot Fleet.
DescribeSpotFleetRequestHistory ( array $params = [] )
Describes the events for the specified Spot Fleet request during the specified time.
DescribeSpotFleetRequests ( array $params = [] )
Describes your Spot Fleet requests.
DescribeSpotInstanceRequests ( array $params = [] )
Describes the specified Spot Instance requests.
DescribeSpotPriceHistory ( array $params = [] )
Describes the Spot price history.
DescribeStaleSecurityGroups ( array $params = [] )
Describes the stale security group rules for security groups referenced across a VPC peering connection, transit gateway connection, or with a security group VPC association.
DescribeStoreImageTasks ( array $params = [] )
Describes the progress of the AMI store tasks.
DescribeSubnets ( array $params = [] )
Describes your subnets.
DescribeTags ( array $params = [] )
Describes the specified tags for your EC2 resources.
DescribeTrafficMirrorFilterRules ( array $params = [] )
Describe traffic mirror filters that determine the traffic that is mirrored.
DescribeTrafficMirrorFilters ( array $params = [] )
Describes one or more Traffic Mirror filters.
DescribeTrafficMirrorSessions ( array $params = [] )
Describes one or more Traffic Mirror sessions.
DescribeTrafficMirrorTargets ( array $params = [] )
Information about one or more Traffic Mirror targets.
DescribeTransitGatewayAttachments ( array $params = [] )
Describes one or more attachments between resources and transit gateways.
DescribeTransitGatewayConnectPeers ( array $params = [] )
Describes one or more Connect peers.
DescribeTransitGatewayConnects ( array $params = [] )
Describes one or more Connect attachments.
DescribeTransitGatewayMulticastDomains ( array $params = [] )
Describes one or more transit gateway multicast domains.
DescribeTransitGatewayPeeringAttachments ( array $params = [] )
Describes your transit gateway peering attachments.
DescribeTransitGatewayPolicyTables ( array $params = [] )
Describes one or more transit gateway route policy tables.
DescribeTransitGatewayRouteTableAnnouncements ( array $params = [] )
Describes one or more transit gateway route table advertisements.
DescribeTransitGatewayRouteTables ( array $params = [] )
Describes one or more transit gateway route tables.
DescribeTransitGatewayVpcAttachments ( array $params = [] )
Describes one or more VPC attachments.
DescribeTransitGateways ( array $params = [] )
Describes one or more transit gateways.
DescribeTrunkInterfaceAssociations ( array $params = [] )
Describes one or more network interface trunk associations.
DescribeVerifiedAccessEndpoints ( array $params = [] )
Describes the specified Amazon Web Services Verified Access endpoints.
DescribeVerifiedAccessGroups ( array $params = [] )
Describes the specified Verified Access groups.
DescribeVerifiedAccessInstanceLoggingConfigurations ( array $params = [] )
Describes the specified Amazon Web Services Verified Access instances.
DescribeVerifiedAccessInstances ( array $params = [] )
Describes the specified Amazon Web Services Verified Access instances.
DescribeVerifiedAccessTrustProviders ( array $params = [] )
Describes the specified Amazon Web Services Verified Access trust providers.
DescribeVolumeAttribute ( array $params = [] )
Describes the specified attribute of the specified volume.
DescribeVolumeStatus ( array $params = [] )
Describes the status of the specified volumes.
DescribeVolumes ( array $params = [] )
Describes the specified EBS volumes or all of your EBS volumes.
DescribeVolumesModifications ( array $params = [] )
Describes the most recent volume modification request for the specified EBS volumes.
DescribeVpcAttribute ( array $params = [] )
Describes the specified attribute of the specified VPC.
DescribeVpcBlockPublicAccessExclusions ( array $params = [] )
Describe VPC Block Public Access (BPA) exclusions.
DescribeVpcBlockPublicAccessOptions ( array $params = [] )
Describe VPC Block Public Access (BPA) options.
DescribeVpcClassicLink ( array $params = [] )
This action is deprecated.
DescribeVpcClassicLinkDnsSupport ( array $params = [] )
This action is deprecated.
DescribeVpcEndpointAssociations ( array $params = [] )
Describes the VPC resources, VPC endpoint services, Amazon Lattice services, or service networks associated with the VPC endpoint.
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.
DisableAllowedImagesSettings ( array $params = [] )
Disables Allowed AMIs for your account in the specified Amazon Web Services Region.
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.
EnableAllowedImagesSettings ( array $params = [] )
Enables Allowed AMIs for your account in the specified Amazon Web Services Region.
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.
ExportVerifiedAccessInstanceClientConfiguration ( array $params = [] )
Exports the client configuration for a Verified Access instance.
GetAllowedImagesSettings ( array $params = [] )
Gets the current state of the Allowed AMIs setting and the list of Allowed AMIs criteria at the account level in the specified Region.
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.
GetDeclarativePoliciesReportSummary ( array $params = [] )
Retrieves a summary of the account status report.
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.
GetVerifiedAccessEndpointTargets ( array $params = [] )
Gets the targets for the specified network CIDR endpoint for Verified Access.
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.
ModifyInstanceNetworkPerformanceOptions ( array $params = [] )
Change the configuration of the network performance options for an existing instance.
ModifyInstancePlacement ( array $params = [] )
Modifies the placement attributes for a specified instance.
ModifyIpam ( array $params = [] )
Modify the configurations of an IPAM.
ModifyIpamPool ( array $params = [] )
Modify the configurations of an IPAM pool.
ModifyIpamResourceCidr ( array $params = [] )
Modify a resource CIDR.
ModifyIpamResourceDiscovery ( array $params = [] )
Modifies a resource discovery.
ModifyIpamScope ( array $params = [] )
Modify an IPAM scope.
ModifyLaunchTemplate ( array $params = [] )
Modifies a launch template.
ModifyLocalGatewayRoute ( array $params = [] )
Modifies the specified local gateway route.
ModifyManagedPrefixList ( array $params = [] )
Modifies the specified managed prefix list.
ModifyNetworkInterfaceAttribute ( array $params = [] )
Modifies the specified network interface attribute.
ModifyPrivateDnsNameOptions ( array $params = [] )
Modifies the options for instance hostnames for the specified instance.
ModifyReservedInstances ( array $params = [] )
Modifies the configuration of your Reserved Instances, such as the Availability Zone, instance count, or instance type.
ModifySecurityGroupRules ( array $params = [] )
Modifies the rules of a security group.
ModifySnapshotAttribute ( array $params = [] )
Adds or removes permission settings for the specified snapshot.
ModifySnapshotTier ( array $params = [] )
Archives an Amazon EBS snapshot.
ModifySpotFleetRequest ( array $params = [] )
Modifies the specified Spot Fleet request.
ModifySubnetAttribute ( array $params = [] )
Modifies a subnet attribute.
ModifyTrafficMirrorFilterNetworkServices ( array $params = [] )
Allows or restricts mirroring network services.
ModifyTrafficMirrorFilterRule ( array $params = [] )
Modifies the specified Traffic Mirror rule.
ModifyTrafficMirrorSession ( array $params = [] )
Modifies a Traffic Mirror session.
ModifyTransitGateway ( array $params = [] )
Modifies the specified transit gateway.
ModifyTransitGatewayPrefixListReference ( array $params = [] )
Modifies a reference (route) to a prefix list in a specified transit gateway route table.
ModifyTransitGatewayVpcAttachment ( array $params = [] )
Modifies the specified VPC attachment.
ModifyVerifiedAccessEndpoint ( array $params = [] )
Modifies the configuration of the specified Amazon Web Services Verified Access endpoint.
ModifyVerifiedAccessEndpointPolicy ( array $params = [] )
Modifies the specified Amazon Web Services Verified Access endpoint policy.
ModifyVerifiedAccessGroup ( array $params = [] )
Modifies the specified Amazon Web Services Verified Access group configuration.
ModifyVerifiedAccessGroupPolicy ( array $params = [] )
Modifies the specified Amazon Web Services Verified Access group policy.
ModifyVerifiedAccessInstance ( array $params = [] )
Modifies the configuration of the specified Amazon Web Services Verified Access instance.
ModifyVerifiedAccessInstanceLoggingConfiguration ( array $params = [] )
Modifies the logging configuration for the specified Amazon Web Services Verified Access instance.
ModifyVerifiedAccessTrustProvider ( array $params = [] )
Modifies the configuration of the specified Amazon Web Services Verified Access trust provider.
ModifyVolume ( array $params = [] )
You can modify several parameters of an existing EBS volume, including volume size, volume type, and IOPS capacity.
ModifyVolumeAttribute ( array $params = [] )
Modifies a volume attribute.
ModifyVpcAttribute ( array $params = [] )
Modifies the specified attribute of the specified VPC.
ModifyVpcBlockPublicAccessExclusion ( array $params = [] )
Modify VPC Block Public Access (BPA) exclusions.
ModifyVpcBlockPublicAccessOptions ( array $params = [] )
Modify VPC Block Public Access (BPA) options.
ModifyVpcEndpoint ( array $params = [] )
Modifies attributes of a specified VPC endpoint.
ModifyVpcEndpointConnectionNotification ( array $params = [] )
Modifies a connection notification for VPC endpoint or VPC endpoint service.
ModifyVpcEndpointServiceConfiguration ( array $params = [] )
Modifies the attributes of the specified VPC endpoint service configuration.
ModifyVpcEndpointServicePayerResponsibility ( array $params = [] )
Modifies the payer responsibility for your VPC endpoint service.
ModifyVpcEndpointServicePermissions ( array $params = [] )
Modifies the permissions for your VPC endpoint service.
ModifyVpcPeeringConnectionOptions ( array $params = [] )
Modifies the VPC peering connection options on one side of a VPC peering connection.
ModifyVpcTenancy ( array $params = [] )
Modifies the instance tenancy attribute of the specified VPC.
ModifyVpnConnection ( array $params = [] )
Modifies the customer gateway or the target gateway of an Amazon Web Services Site-to-Site VPN connection.
ModifyVpnConnectionOptions ( array $params = [] )
Modifies the connection options for your Site-to-Site VPN connection.
ModifyVpnTunnelCertificate ( array $params = [] )
Modifies the VPN tunnel endpoint certificate.
ModifyVpnTunnelOptions ( array $params = [] )
Modifies the options for a VPN tunnel in an Amazon Web Services Site-to-Site VPN connection.
MonitorInstances ( array $params = [] )
Enables detailed monitoring for a running instance.
MoveAddressToVpc ( array $params = [] )
This action is deprecated.
MoveByoipCidrToIpam ( array $params = [] )
Move a BYOIPv4 CIDR to IPAM from a public IPv4 pool.
MoveCapacityReservationInstances ( array $params = [] )
Move available capacity from a source Capacity Reservation to a destination Capacity Reservation.
ProvisionByoipCidr ( array $params = [] )
Provisions an IPv4 or IPv6 address range for use with your Amazon Web Services resources through bring your own IP addresses (BYOIP) and creates a corresponding address pool.
ProvisionIpamByoasn ( array $params = [] )
Provisions your Autonomous System Number (ASN) for use in your Amazon Web Services account.
ProvisionIpamPoolCidr ( array $params = [] )
Provision a CIDR to an IPAM pool.
ProvisionPublicIpv4PoolCidr ( array $params = [] )
Provision a CIDR to a public IPv4 pool.
PurchaseCapacityBlock ( array $params = [] )
Purchase the Capacity Block for use with your account.
PurchaseCapacityBlockExtension ( array $params = [] )
Purchase the Capacity Block extension for use with your account.
PurchaseHostReservation ( array $params = [] )
Purchase a reservation with configurations that match those of your Dedicated Host.
PurchaseReservedInstancesOffering ( array $params = [] )
Purchases a Reserved Instance for use with your account.
PurchaseScheduledInstances ( array $params = [] )
You can no longer purchase Scheduled Instances.
RebootInstances ( array $params = [] )
Requests a reboot of the specified instances.
RegisterImage ( array $params = [] )
Registers an AMI.
RegisterInstanceEventNotificationAttributes ( array $params = [] )
Registers a set of tag keys to include in scheduled event notifications for your resources.
RegisterTransitGatewayMulticastGroupMembers ( array $params = [] )
Registers members (network interfaces) with the transit gateway multicast group.
RegisterTransitGatewayMulticastGroupSources ( array $params = [] )
Registers sources (network interfaces) with the specified transit gateway multicast group.
RejectCapacityReservationBillingOwnership ( array $params = [] )
Rejects a request to assign billing of the available capacity of a shared Capacity Reservation to your account.
RejectTransitGatewayMulticastDomainAssociations ( array $params = [] )
Rejects a request to associate cross-account subnets with a transit gateway multicast domain.
RejectTransitGatewayPeeringAttachment ( array $params = [] )
Rejects a transit gateway peering attachment request.
RejectTransitGatewayVpcAttachment ( array $params = [] )
Rejects a request to attach a VPC to a transit gateway.
RejectVpcEndpointConnections ( array $params = [] )
Rejects VPC endpoint connection requests to your VPC endpoint service.
RejectVpcPeeringConnection ( array $params = [] )
Rejects a VPC peering connection request.
ReleaseAddress ( array $params = [] )
Releases the specified Elastic IP address.
ReleaseHosts ( array $params = [] )
When you no longer want to use an On-Demand Dedicated Host it can be released.
ReleaseIpamPoolAllocation ( array $params = [] )
Release an allocation within an IPAM pool.
ReplaceIamInstanceProfileAssociation ( array $params = [] )
Replaces an IAM instance profile for the specified running instance.
ReplaceImageCriteriaInAllowedImagesSettings ( array $params = [] )
Sets or replaces the criteria for Allowed AMIs.
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).
StartDeclarativePoliciesReport ( array $params = [] )
Generates an account status report.
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 the specified IPv6 addresses or Prefix Delegation prefixes from a network interface.
UnassignPrivateIpAddresses ( array $params = [] )
Unassigns the specified secondary private IP addresses or IPv4 Prefix Delegation prefixes from a network interface.
UnassignPrivateNatGatewayAddress ( array $params = [] )
Unassigns secondary private IPv4 addresses from a private NAT gateway.
UnlockSnapshot ( array $params = [] )
Unlocks a snapshot that is locked in governance mode or that is locked in compliance mode but still in the cooling-off period.
UnmonitorInstances ( array $params = [] )
Disables detailed monitoring for a running instance.
UpdateSecurityGroupRuleDescriptionsEgress ( array $params = [] )
Updates the description of an egress (outbound) security group rule.
UpdateSecurityGroupRuleDescriptionsIngress ( array $params = [] )
Updates the description of an ingress (inbound) security group rule.
WithdrawByoipCidr ( array $params = [] )
Stops advertising an address range that is provisioned as an address pool.

Paginators

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

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

Waiters

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

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

Operations

AcceptAddressTransfer

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

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

Parameter Syntax

$result = $client->acceptAddressTransfer([
    'Address' => '<string>', // REQUIRED
    'DryRun' => true || false,
    'TagSpecifications' => [
        [
            'ResourceType' => 'capacity-reservation|client-vpn-endpoint|customer-gateway|carrier-gateway|coip-pool|declarative-policies-report|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|verified-access-endpoint-target|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|declarative-policies-report|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|verified-access-endpoint-target|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|declarative-policies-report|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|verified-access-endpoint-target|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 the specified IPv6 addresses to the specified network interface. You can specify specific IPv6 addresses, or you can specify the number of IPv6 addresses to be automatically assigned from 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 by 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 can't 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 the specified secondary private IP addresses to the specified network interface.

You can specify specific secondary IP addresses, or you can specify the number of secondary IP addresses to be automatically assigned from 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 can't 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 can't 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|declarative-policies-report|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|verified-access-endpoint-target|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' => [
        'CidrEndpointsCustomSubDomain' => [
            'Nameservers' => ['<string>', ...],
            'SubDomain' => '<string>',
        ],
        '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>',
        'NativeApplicationOidcOptions' => [
            'AuthorizationEndpoint' => '<string>',
            'ClientId' => '<string>',
            'Issuer' => '<string>',
            'PublicSigningKeyEndpoint' => '<string>',
            'Scope' => '<string>',
            'TokenEndpoint' => '<string>',
            'UserInfoEndpoint' => '<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|declarative-policies-report|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|verified-access-endpoint-target|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|declarative-policies-report|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|verified-access-endpoint-target|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.

Amazon Web Services canonicalizes IPv4 and IPv6 CIDRs. For example, if you specify 100.68.0.18/18 for the CIDR block, Amazon Web Services canonicalizes the CIDR block to 100.68.0.0/18. Any subsequent DescribeSecurityGroups and DescribeSecurityGroupRules calls will return the canonicalized form of the CIDR block. Additionally, if you attempt to add another rule with the non-canonical form of the CIDR (such as 100.68.0.18/18) and there is already a rule for the canonicalized form of the CIDR block (such as 100.68.0.0/18), the API throws an duplicate rule error.

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

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

DryRun
Type: boolean

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

FromPort
Type: int

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

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

GroupId
Type: string

The ID of the security group.

GroupName
Type: string

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

IpPermissions
Type: Array of IpPermission structures

The permissions for the security group rules.

IpProtocol
Type: string

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

To specify icmpv6, use IP permissions instead.

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

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

SourceSecurityGroupName
Type: string

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

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

SourceSecurityGroupOwnerId
Type: string

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

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

TagSpecifications
Type: Array of TagSpecification structures

The tags applied to the security group rule.

ToPort
Type: int

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

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

Result Syntax

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

Result Details

Members
Return
Type: boolean

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

SecurityGroupRules
Type: Array of SecurityGroupRule structures

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

Errors

There are no errors described for this operation.

Examples

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

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

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

Result syntax:

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

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

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

Result syntax:

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

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

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

Result syntax:

[
]

BundleInstance

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

Bundles an Amazon instance store-backed Windows instance.

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

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

Parameter Syntax

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

Parameter Details

Members
DryRun
Type: boolean

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

InstanceId
Required: Yes
Type: string

The ID of the instance to bundle.

Default: None

Storage
Required: Yes
Type: Storage structure

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

Result Syntax

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

Result Details

Members
BundleTask
Type: BundleTask structure

Information about the bundle task.

Errors

There are no errors described for this operation.

CancelBundleTask

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

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

Parameter Syntax

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

Parameter Details

Members
BundleId
Required: Yes
Type: string

The ID of the bundle task.

DryRun
Type: boolean

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

Result Syntax

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

Result Details

Members
BundleTask
Type: BundleTask structure

Information about the bundle task.

Errors

There are no errors described for this operation.

CancelCapacityReservation

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

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

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

  • assessing

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

You can't modify or cancel a Capacity Block. For more information, see Capacity Blocks for ML.

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

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

Parameter Syntax

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

Parameter Details

Members
CapacityReservationId
Required: Yes
Type: string

The ID of the Capacity Reservation to be cancelled.

DryRun
Type: boolean

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

Result Syntax

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

Result Details

Members
Return
Type: boolean

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

Errors

There are no errors described for this operation.

CancelCapacityReservationFleets

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

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

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

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

  • The Fleet stops creating new Capacity Reservations.

Parameter Syntax

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

Parameter Details

Members
CapacityReservationFleetIds
Required: Yes
Type: Array of strings

The IDs of the Capacity Reservation Fleets to cancel.

DryRun
Type: boolean

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

Result Syntax

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

Result Details

Members
FailedFleetCancellations

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

SuccessfulFleetCancellations
Type: Array of CapacityReservationFleetCancellationState structures

Information about the Capacity Reservation Fleets that were successfully cancelled.

Errors

There are no errors described for this operation.

CancelConversionTask

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

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

Parameter Syntax

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

Parameter Details

Members
ConversionTaskId
Required: Yes
Type: string

The ID of the conversion task.

DryRun
Type: boolean

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

ReasonMessage
Type: string

The reason for canceling the conversion task.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

There are no errors described for this operation.

CancelDeclarativePoliciesReport

$result = $client->cancelDeclarativePoliciesReport([/* ... */]);
$promise = $client->cancelDeclarativePoliciesReportAsync([/* ... */]);

Cancels the generation of an account status report.

You can only cancel a report while it has the running status. Reports with other statuses (complete, cancelled, or error) can't be canceled.

For more information, see Generating the account status report for declarative policies in the Amazon Web Services Organizations User Guide.

Parameter Syntax

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

ReportId
Required: Yes
Type: string

The ID of the report.

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.

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
    'SnapshotCopyCompletionDurationMinutes' => <integer>,
    'SourceImageId' => '<string>', // REQUIRED
    'SourceRegion' => '<string>', // REQUIRED
    'TagSpecifications' => [
        [
            'ResourceType' => 'capacity-reservation|client-vpn-endpoint|customer-gateway|carrier-gateway|coip-pool|declarative-policies-report|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|verified-access-endpoint-target|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.

SnapshotCopyCompletionDurationMinutes
Type: long (int|float)

Specify a completion duration, in 15 minute increments, to initiate a time-based AMI copy. The specified completion duration applies to each of the snapshots associated with the AMI. Each snapshot associated with the AMI will be completed within the specified completion duration, regardless of their size.

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

For more information, see Time-based copies.

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, see Amazon EBS local snapshots on Outposts in the Amazon EBS User Guide.

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

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

Parameter Syntax

$result = $client->copySnapshot([
    'CompletionDurationMinutes' => <integer>,
    'Description' => '<string>',
    'DestinationOutpostArn' => '<string>',
    'DestinationRegion' => '<string>',
    'DryRun' => true || false,
    'Encrypted' => true || false,
    'KmsKeyId' => '<string>',
    'PresignedUrl' => '<string>',
    'SourceRegion' => '<string>', // REQUIRED
    'SourceSnapshotId' => '<string>', // REQUIRED
    'TagSpecifications' => [
        [
            'ResourceType' => 'capacity-reservation|client-vpn-endpoint|customer-gateway|carrier-gateway|coip-pool|declarative-policies-report|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|verified-access-endpoint-target|ipam-external-resource-verification-token',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
]);

Parameter Details

Members
CompletionDurationMinutes
Type: int

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

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

Description
Type: string

A description for the EBS snapshot.

DestinationOutpostArn
Type: string

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

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

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

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

Encrypted
Type: boolean

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

KmsKeyId
Type: string

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

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

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

  • Key alias. For example, alias/ExampleAlias.

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

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

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

PresignedUrl
Type: string

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

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

SourceRegion
Required: Yes
Type: string

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

SourceSnapshotId
Required: Yes
Type: string

The ID of the EBS snapshot to copy.

TagSpecifications
Type: Array of TagSpecification structures

The tags to apply to the new snapshot.

Result Syntax

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

Result Details

Members
SnapshotId
Type: string

The ID of the new snapshot.

Tags
Type: Array of Tag structures

Any tags applied to the new snapshot.

Errors

There are no errors described for this operation.

Examples

Example 1: To copy a snapshot

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

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

Result syntax:

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

CreateCapacityReservation

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

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

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

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

Your request to create a Capacity Reservation could fail if:

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

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

Parameter Syntax

$result = $client->createCapacityReservation([
    'AvailabilityZone' => '<string>',
    'AvailabilityZoneId' => '<string>',
    'ClientToken' => '<string>',
    'CommitmentDuration' => <integer>,
    'DeliveryPreference' => 'fixed|incremental',
    'DryRun' => true || false,
    'EbsOptimized' => true || false,
    'EndDate' => <integer || string || DateTime>,
    'EndDateType' => 'unlimited|limited',
    'EphemeralStorage' => true || false,
    'InstanceCount' => <integer>, // REQUIRED
    'InstanceMatchCriteria' => 'open|targeted',
    'InstancePlatform' => 'Linux/UNIX|Red Hat Enterprise Linux|SUSE Linux|Windows|Windows with SQL Server|Windows with SQL Server Enterprise|Windows with SQL Server Standard|Windows with SQL Server Web|Linux with SQL Server Standard|Linux with SQL Server Web|Linux with SQL Server Enterprise|RHEL with SQL Server Standard|RHEL with SQL Server Enterprise|RHEL with SQL Server Web|RHEL with HA|RHEL with HA and SQL Server Standard|RHEL with HA and SQL Server Enterprise|Ubuntu Pro', // REQUIRED
    'InstanceType' => '<string>', // REQUIRED
    'OutpostArn' => '<string>',
    'PlacementGroupArn' => '<string>',
    'StartDate' => <integer || string || DateTime>,
    'TagSpecifications' => [
        [
            'ResourceType' => 'capacity-reservation|client-vpn-endpoint|customer-gateway|carrier-gateway|coip-pool|declarative-policies-report|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|verified-access-endpoint-target|ipam-external-resource-verification-token',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'Tenancy' => 'default|dedicated',
]);

Parameter Details

Members
AvailabilityZone
Type: string

The Availability Zone in which to create the Capacity Reservation.

AvailabilityZoneId
Type: string

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

ClientToken
Type: string

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

CommitmentDuration
Type: long (int|float)

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

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

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

For more information, see Commitment duration.

DeliveryPreference
Type: string

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

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

The only supported value is incremental.

DryRun
Type: boolean

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

EbsOptimized
Type: boolean

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

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

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

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

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

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

EndDateType
Type: string

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

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

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

EphemeralStorage
Type: boolean

Deprecated.

InstanceCount
Required: Yes
Type: int

The number of instances for which to reserve capacity.

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

Valid range: 1 - 1000

InstanceMatchCriteria
Type: string

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

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

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

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

Default: open

InstancePlatform
Required: Yes
Type: string

The type of operating system for which to reserve capacity.

InstanceType
Required: Yes
Type: string

The instance type for which to reserve capacity.

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

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

OutpostArn
Type: string

Not supported for future-dated Capacity Reservations.

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

PlacementGroupArn
Type: string

Not supported for future-dated Capacity Reservations.

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

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

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

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

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

TagSpecifications
Type: Array of TagSpecification structures

The tags to apply to the Capacity Reservation during launch.

Tenancy
Type: string

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

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

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

Result Syntax

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

Result Details

Members
CapacityReservation
Type: CapacityReservation structure

Information about the Capacity Reservation.

Errors

There are no errors described for this operation.

CreateCapacityReservationBySplitting

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

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

Parameter Syntax

$result = $client->createCapacityReservationBySplitting([
    'ClientToken' => '<string>',
    'DryRun' => true || false,
    'InstanceCount' => <integer>, // REQUIRED
    'SourceCapacityReservationId' => '<string>', // REQUIRED
    'TagSpecifications' => [
        [
            'ResourceType' => 'capacity-reservation|client-vpn-endpoint|customer-gateway|carrier-gateway|coip-pool|declarative-policies-report|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|verified-access-endpoint-target|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|future',
                'Count' => <integer>,
            ],
            // ...
        ],
        'CapacityReservationArn' => '<string>',
        'CapacityReservationFleetId' => '<string>',
        'CapacityReservationId' => '<string>',
        'CommitmentInfo' => [
            'CommitmentEndDate' => <DateTime>,
            'CommittedInstanceCount' => <integer>,
        ],
        'CreateDate' => <DateTime>,
        'DeliveryPreference' => 'fixed|incremental',
        'EbsOptimized' => true || false,
        'EndDate' => <DateTime>,
        'EndDateType' => 'unlimited|limited',
        'EphemeralStorage' => true || false,
        'InstanceMatchCriteria' => 'open|targeted',
        'InstancePlatform' => 'Linux/UNIX|Red Hat Enterprise Linux|SUSE Linux|Windows|Windows with SQL Server|Windows with SQL Server Enterprise|Windows with SQL Server Standard|Windows with SQL Server Web|Linux with SQL Server Standard|Linux with SQL Server Web|Linux with SQL Server Enterprise|RHEL with SQL Server Standard|RHEL with SQL Server Enterprise|RHEL with SQL Server Web|RHEL with HA|RHEL with HA and SQL Server Standard|RHEL with HA and SQL Server Enterprise|Ubuntu Pro',
        'InstanceType' => '<string>',
        'OutpostArn' => '<string>',
        'OwnerId' => '<string>',
        'PlacementGroupArn' => '<string>',
        'ReservationType' => 'default|capacity-block',
        'StartDate' => <DateTime>,
        'State' => 'active|expired|cancelled|pending|failed|scheduled|payment-pending|payment-failed|assessing|delayed|unsupported',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'Tenancy' => 'default|dedicated',
        'TotalInstanceCount' => <integer>,
        'UnusedReservationBillingOwnerId' => '<string>',
    ],
    'InstanceCount' => <integer>,
    'SourceCapacityReservation' => [
        'AvailabilityZone' => '<string>',
        'AvailabilityZoneId' => '<string>',
        'AvailableInstanceCount' => <integer>,
        'CapacityAllocations' => [
            [
                'AllocationType' => 'used|future',
                'Count' => <integer>,
            ],
            // ...
        ],
        'CapacityReservationArn' => '<string>',
        'CapacityReservationFleetId' => '<string>',
        'CapacityReservationId' => '<string>',
        'CommitmentInfo' => [
            'CommitmentEndDate' => <DateTime>,
            'CommittedInstanceCount' => <integer>,
        ],
        'CreateDate' => <DateTime>,
        'DeliveryPreference' => 'fixed|incremental',
        'EbsOptimized' => true || false,
        'EndDate' => <DateTime>,
        'EndDateType' => 'unlimited|limited',
        'EphemeralStorage' => true || false,
        'InstanceMatchCriteria' => 'open|targeted',
        'InstancePlatform' => 'Linux/UNIX|Red Hat Enterprise Linux|SUSE Linux|Windows|Windows with SQL Server|Windows with SQL Server Enterprise|Windows with SQL Server Standard|Windows with SQL Server Web|Linux with SQL Server Standard|Linux with SQL Server Web|Linux with SQL Server Enterprise|RHEL with SQL Server Standard|RHEL with SQL Server Enterprise|RHEL with SQL Server Web|RHEL with HA|RHEL with HA and SQL Server Standard|RHEL with HA and SQL Server Enterprise|Ubuntu Pro',
        'InstanceType' => '<string>',
        'OutpostArn' => '<string>',
        'OwnerId' => '<string>',
        'PlacementGroupArn' => '<string>',
        'ReservationType' => 'default|capacity-block',
        'StartDate' => <DateTime>,
        'State' => 'active|expired|cancelled|pending|failed|scheduled|payment-pending|payment-failed|assessing|delayed|unsupported',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'Tenancy' => 'default|dedicated',
        'TotalInstanceCount' => <integer>,
        'UnusedReservationBillingOwnerId' => '<string>',
    ],
]

Result Details

Members
DestinationCapacityReservation
Type: CapacityReservation structure

Information about the destination Capacity Reservation.

InstanceCount
Type: int

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

SourceCapacityReservation
Type: CapacityReservation structure

Information about the source Capacity Reservation.

Errors

There are no errors described for this operation.

CreateCapacityReservationFleet

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

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

Parameter Syntax

$result = $client->createCapacityReservationFleet([
    'AllocationStrategy' => '<string>',
    'ClientToken' => '<string>',
    'DryRun' => true || false,
    'EndDate' => <integer || string || DateTime>,
    'InstanceMatchCriteria' => 'open',
    'InstanceTypeSpecifications' => [ // REQUIRED
        [
            'AvailabilityZone' => '<string>',
            'AvailabilityZoneId' => '<string>',
            'EbsOptimized' => true || false,
            'InstancePlatform' => 'Linux/UNIX|Red Hat Enterprise Linux|SUSE Linux|Windows|Windows with SQL Server|Windows with SQL Server Enterprise|Windows with SQL Server Standard|Windows with SQL Server Web|Linux with SQL Server Standard|Linux with SQL Server Web|Linux with SQL Server Enterprise|RHEL with SQL Server Standard|RHEL with SQL Server Enterprise|RHEL with SQL Server Web|RHEL with HA|RHEL with HA and SQL Server Standard|RHEL with HA and SQL Server Enterprise|Ubuntu Pro',
            'InstanceType' => 'a1.medium|a1.large|a1.xlarge|a1.2xlarge|a1.4xlarge|a1.metal|c1.medium|c1.xlarge|c3.large|c3.xlarge|c3.2xlarge|c3.4xlarge|c3.8xlarge|c4.large|c4.xlarge|c4.2xlarge|c4.4xlarge|c4.8xlarge|c5.large|c5.xlarge|c5.2xlarge|c5.4xlarge|c5.9xlarge|c5.12xlarge|c5.18xlarge|c5.24xlarge|c5.metal|c5a.large|c5a.xlarge|c5a.2xlarge|c5a.4xlarge|c5a.8xlarge|c5a.12xlarge|c5a.16xlarge|c5a.24xlarge|c5ad.large|c5ad.xlarge|c5ad.2xlarge|c5ad.4xlarge|c5ad.8xlarge|c5ad.12xlarge|c5ad.16xlarge|c5ad.24xlarge|c5d.large|c5d.xlarge|c5d.2xlarge|c5d.4xlarge|c5d.9xlarge|c5d.12xlarge|c5d.18xlarge|c5d.24xlarge|c5d.metal|c5n.large|c5n.xlarge|c5n.2xlarge|c5n.4xlarge|c5n.9xlarge|c5n.18xlarge|c5n.metal|c6g.medium|c6g.large|c6g.xlarge|c6g.2xlarge|c6g.4xlarge|c6g.8xlarge|c6g.12xlarge|c6g.16xlarge|c6g.metal|c6gd.medium|c6gd.large|c6gd.xlarge|c6gd.2xlarge|c6gd.4xlarge|c6gd.8xlarge|c6gd.12xlarge|c6gd.16xlarge|c6gd.metal|c6gn.medium|c6gn.large|c6gn.xlarge|c6gn.2xlarge|c6gn.4xlarge|c6gn.8xlarge|c6gn.12xlarge|c6gn.16xlarge|c6i.large|c6i.xlarge|c6i.2xlarge|c6i.4xlarge|c6i.8xlarge|c6i.12xlarge|c6i.16xlarge|c6i.24xlarge|c6i.32xlarge|c6i.metal|cc1.4xlarge|cc2.8xlarge|cg1.4xlarge|cr1.8xlarge|d2.xlarge|d2.2xlarge|d2.4xlarge|d2.8xlarge|d3.xlarge|d3.2xlarge|d3.4xlarge|d3.8xlarge|d3en.xlarge|d3en.2xlarge|d3en.4xlarge|d3en.6xlarge|d3en.8xlarge|d3en.12xlarge|dl1.24xlarge|f1.2xlarge|f1.4xlarge|f1.16xlarge|g2.2xlarge|g2.8xlarge|g3.4xlarge|g3.8xlarge|g3.16xlarge|g3s.xlarge|g4ad.xlarge|g4ad.2xlarge|g4ad.4xlarge|g4ad.8xlarge|g4ad.16xlarge|g4dn.xlarge|g4dn.2xlarge|g4dn.4xlarge|g4dn.8xlarge|g4dn.12xlarge|g4dn.16xlarge|g4dn.metal|g5.xlarge|g5.2xlarge|g5.4xlarge|g5.8xlarge|g5.12xlarge|g5.16xlarge|g5.24xlarge|g5.48xlarge|g5g.xlarge|g5g.2xlarge|g5g.4xlarge|g5g.8xlarge|g5g.16xlarge|g5g.metal|hi1.4xlarge|hpc6a.48xlarge|hs1.8xlarge|h1.2xlarge|h1.4xlarge|h1.8xlarge|h1.16xlarge|i2.xlarge|i2.2xlarge|i2.4xlarge|i2.8xlarge|i3.large|i3.xlarge|i3.2xlarge|i3.4xlarge|i3.8xlarge|i3.16xlarge|i3.metal|i3en.large|i3en.xlarge|i3en.2xlarge|i3en.3xlarge|i3en.6xlarge|i3en.12xlarge|i3en.24xlarge|i3en.metal|im4gn.large|im4gn.xlarge|im4gn.2xlarge|im4gn.4xlarge|im4gn.8xlarge|im4gn.16xlarge|inf1.xlarge|inf1.2xlarge|inf1.6xlarge|inf1.24xlarge|is4gen.medium|is4gen.large|is4gen.xlarge|is4gen.2xlarge|is4gen.4xlarge|is4gen.8xlarge|m1.small|m1.medium|m1.large|m1.xlarge|m2.xlarge|m2.2xlarge|m2.4xlarge|m3.medium|m3.large|m3.xlarge|m3.2xlarge|m4.large|m4.xlarge|m4.2xlarge|m4.4xlarge|m4.10xlarge|m4.16xlarge|m5.large|m5.xlarge|m5.2xlarge|m5.4xlarge|m5.8xlarge|m5.12xlarge|m5.16xlarge|m5.24xlarge|m5.metal|m5a.large|m5a.xlarge|m5a.2xlarge|m5a.4xlarge|m5a.8xlarge|m5a.12xlarge|m5a.16xlarge|m5a.24xlarge|m5ad.large|m5ad.xlarge|m5ad.2xlarge|m5ad.4xlarge|m5ad.8xlarge|m5ad.12xlarge|m5ad.16xlarge|m5ad.24xlarge|m5d.large|m5d.xlarge|m5d.2xlarge|m5d.4xlarge|m5d.8xlarge|m5d.12xlarge|m5d.16xlarge|m5d.24xlarge|m5d.metal|m5dn.large|m5dn.xlarge|m5dn.2xlarge|m5dn.4xlarge|m5dn.8xlarge|m5dn.12xlarge|m5dn.16xlarge|m5dn.24xlarge|m5dn.metal|m5n.large|m5n.xlarge|m5n.2xlarge|m5n.4xlarge|m5n.8xlarge|m5n.12xlarge|m5n.16xlarge|m5n.24xlarge|m5n.metal|m5zn.large|m5zn.xlarge|m5zn.2xlarge|m5zn.3xlarge|m5zn.6xlarge|m5zn.12xlarge|m5zn.metal|m6a.large|m6a.xlarge|m6a.2xlarge|m6a.4xlarge|m6a.8xlarge|m6a.12xlarge|m6a.16xlarge|m6a.24xlarge|m6a.32xlarge|m6a.48xlarge|m6g.metal|m6g.medium|m6g.large|m6g.xlarge|m6g.2xlarge|m6g.4xlarge|m6g.8xlarge|m6g.12xlarge|m6g.16xlarge|m6gd.metal|m6gd.medium|m6gd.large|m6gd.xlarge|m6gd.2xlarge|m6gd.4xlarge|m6gd.8xlarge|m6gd.12xlarge|m6gd.16xlarge|m6i.large|m6i.xlarge|m6i.2xlarge|m6i.4xlarge|m6i.8xlarge|m6i.12xlarge|m6i.16xlarge|m6i.24xlarge|m6i.32xlarge|m6i.metal|mac1.metal|p2.xlarge|p2.8xlarge|p2.16xlarge|p3.2xlarge|p3.8xlarge|p3.16xlarge|p3dn.24xlarge|p4d.24xlarge|r3.large|r3.xlarge|r3.2xlarge|r3.4xlarge|r3.8xlarge|r4.large|r4.xlarge|r4.2xlarge|r4.4xlarge|r4.8xlarge|r4.16xlarge|r5.large|r5.xlarge|r5.2xlarge|r5.4xlarge|r5.8xlarge|r5.12xlarge|r5.16xlarge|r5.24xlarge|r5.metal|r5a.large|r5a.xlarge|r5a.2xlarge|r5a.4xlarge|r5a.8xlarge|r5a.12xlarge|r5a.16xlarge|r5a.24xlarge|r5ad.large|r5ad.xlarge|r5ad.2xlarge|r5ad.4xlarge|r5ad.8xlarge|r5ad.12xlarge|r5ad.16xlarge|r5ad.24xlarge|r5b.large|r5b.xlarge|r5b.2xlarge|r5b.4xlarge|r5b.8xlarge|r5b.12xlarge|r5b.16xlarge|r5b.24xlarge|r5b.metal|r5d.large|r5d.xlarge|r5d.2xlarge|r5d.4xlarge|r5d.8xlarge|r5d.12xlarge|r5d.16xlarge|r5d.24xlarge|r5d.metal|r5dn.large|r5dn.xlarge|r5dn.2xlarge|r5dn.4xlarge|r5dn.8xlarge|r5dn.12xlarge|r5dn.16xlarge|r5dn.24xlarge|r5dn.metal|r5n.large|r5n.xlarge|r5n.2xlarge|r5n.4xlarge|r5n.8xlarge|r5n.12xlarge|r5n.16xlarge|r5n.24xlarge|r5n.metal|r6g.medium|r6g.large|r6g.xlarge|r6g.2xlarge|r6g.4xlarge|r6g.8xlarge|r6g.12xlarge|r6g.16xlarge|r6g.metal|r6gd.medium|r6gd.large|r6gd.xlarge|r6gd.2xlarge|r6gd.4xlarge|r6gd.8xlarge|r6gd.12xlarge|r6gd.16xlarge|r6gd.metal|r6i.large|r6i.xlarge|r6i.2xlarge|r6i.4xlarge|r6i.8xlarge|r6i.12xlarge|r6i.16xlarge|r6i.24xlarge|r6i.32xlarge|r6i.metal|t1.micro|t2.nano|t2.micro|t2.small|t2.medium|t2.large|t2.xlarge|t2.2xlarge|t3.nano|t3.micro|t3.small|t3.medium|t3.large|t3.xlarge|t3.2xlarge|t3a.nano|t3a.micro|t3a.small|t3a.medium|t3a.large|t3a.xlarge|t3a.2xlarge|t4g.nano|t4g.micro|t4g.small|t4g.medium|t4g.large|t4g.xlarge|t4g.2xlarge|u-6tb1.56xlarge|u-6tb1.112xlarge|u-9tb1.112xlarge|u-12tb1.112xlarge|u-6tb1.metal|u-9tb1.metal|u-12tb1.metal|u-18tb1.metal|u-24tb1.metal|vt1.3xlarge|vt1.6xlarge|vt1.24xlarge|x1.16xlarge|x1.32xlarge|x1e.xlarge|x1e.2xlarge|x1e.4xlarge|x1e.8xlarge|x1e.16xlarge|x1e.32xlarge|x2iezn.2xlarge|x2iezn.4xlarge|x2iezn.6xlarge|x2iezn.8xlarge|x2iezn.12xlarge|x2iezn.metal|x2gd.medium|x2gd.large|x2gd.xlarge|x2gd.2xlarge|x2gd.4xlarge|x2gd.8xlarge|x2gd.12xlarge|x2gd.16xlarge|x2gd.metal|z1d.large|z1d.xlarge|z1d.2xlarge|z1d.3xlarge|z1d.6xlarge|z1d.12xlarge|z1d.metal|x2idn.16xlarge|x2idn.24xlarge|x2idn.32xlarge|x2iedn.xlarge|x2iedn.2xlarge|x2iedn.4xlarge|x2iedn.8xlarge|x2iedn.16xlarge|x2iedn.24xlarge|x2iedn.32xlarge|c6a.large|c6a.xlarge|c6a.2xlarge|c6a.4xlarge|c6a.8xlarge|c6a.12xlarge|c6a.16xlarge|c6a.24xlarge|c6a.32xlarge|c6a.48xlarge|c6a.metal|m6a.metal|i4i.large|i4i.xlarge|i4i.2xlarge|i4i.4xlarge|i4i.8xlarge|i4i.16xlarge|i4i.32xlarge|i4i.metal|x2idn.metal|x2iedn.metal|c7g.medium|c7g.large|c7g.xlarge|c7g.2xlarge|c7g.4xlarge|c7g.8xlarge|c7g.12xlarge|c7g.16xlarge|mac2.metal|c6id.large|c6id.xlarge|c6id.2xlarge|c6id.4xlarge|c6id.8xlarge|c6id.12xlarge|c6id.16xlarge|c6id.24xlarge|c6id.32xlarge|c6id.metal|m6id.large|m6id.xlarge|m6id.2xlarge|m6id.4xlarge|m6id.8xlarge|m6id.12xlarge|m6id.16xlarge|m6id.24xlarge|m6id.32xlarge|m6id.metal|r6id.large|r6id.xlarge|r6id.2xlarge|r6id.4xlarge|r6id.8xlarge|r6id.12xlarge|r6id.16xlarge|r6id.24xlarge|r6id.32xlarge|r6id.metal|r6a.large|r6a.xlarge|r6a.2xlarge|r6a.4xlarge|r6a.8xlarge|r6a.12xlarge|r6a.16xlarge|r6a.24xlarge|r6a.32xlarge|r6a.48xlarge|r6a.metal|p4de.24xlarge|u-3tb1.56xlarge|u-18tb1.112xlarge|u-24tb1.112xlarge|trn1.2xlarge|trn1.32xlarge|hpc6id.32xlarge|c6in.large|c6in.xlarge|c6in.2xlarge|c6in.4xlarge|c6in.8xlarge|c6in.12xlarge|c6in.16xlarge|c6in.24xlarge|c6in.32xlarge|m6in.large|m6in.xlarge|m6in.2xlarge|m6in.4xlarge|m6in.8xlarge|m6in.12xlarge|m6in.16xlarge|m6in.24xlarge|m6in.32xlarge|m6idn.large|m6idn.xlarge|m6idn.2xlarge|m6idn.4xlarge|m6idn.8xlarge|m6idn.12xlarge|m6idn.16xlarge|m6idn.24xlarge|m6idn.32xlarge|r6in.large|r6in.xlarge|r6in.2xlarge|r6in.4xlarge|r6in.8xlarge|r6in.12xlarge|r6in.16xlarge|r6in.24xlarge|r6in.32xlarge|r6idn.large|r6idn.xlarge|r6idn.2xlarge|r6idn.4xlarge|r6idn.8xlarge|r6idn.12xlarge|r6idn.16xlarge|r6idn.24xlarge|r6idn.32xlarge|c7g.metal|m7g.medium|m7g.large|m7g.xlarge|m7g.2xlarge|m7g.4xlarge|m7g.8xlarge|m7g.12xlarge|m7g.16xlarge|m7g.metal|r7g.medium|r7g.large|r7g.xlarge|r7g.2xlarge|r7g.4xlarge|r7g.8xlarge|r7g.12xlarge|r7g.16xlarge|r7g.metal|c6in.metal|m6in.metal|m6idn.metal|r6in.metal|r6idn.metal|inf2.xlarge|inf2.8xlarge|inf2.24xlarge|inf2.48xlarge|trn1n.32xlarge|i4g.large|i4g.xlarge|i4g.2xlarge|i4g.4xlarge|i4g.8xlarge|i4g.16xlarge|hpc7g.4xlarge|hpc7g.8xlarge|hpc7g.16xlarge|c7gn.medium|c7gn.large|c7gn.xlarge|c7gn.2xlarge|c7gn.4xlarge|c7gn.8xlarge|c7gn.12xlarge|c7gn.16xlarge|p5.48xlarge|m7i.large|m7i.xlarge|m7i.2xlarge|m7i.4xlarge|m7i.8xlarge|m7i.12xlarge|m7i.16xlarge|m7i.24xlarge|m7i.48xlarge|m7i-flex.large|m7i-flex.xlarge|m7i-flex.2xlarge|m7i-flex.4xlarge|m7i-flex.8xlarge|m7a.medium|m7a.large|m7a.xlarge|m7a.2xlarge|m7a.4xlarge|m7a.8xlarge|m7a.12xlarge|m7a.16xlarge|m7a.24xlarge|m7a.32xlarge|m7a.48xlarge|m7a.metal-48xl|hpc7a.12xlarge|hpc7a.24xlarge|hpc7a.48xlarge|hpc7a.96xlarge|c7gd.medium|c7gd.large|c7gd.xlarge|c7gd.2xlarge|c7gd.4xlarge|c7gd.8xlarge|c7gd.12xlarge|c7gd.16xlarge|m7gd.medium|m7gd.large|m7gd.xlarge|m7gd.2xlarge|m7gd.4xlarge|m7gd.8xlarge|m7gd.12xlarge|m7gd.16xlarge|r7gd.medium|r7gd.large|r7gd.xlarge|r7gd.2xlarge|r7gd.4xlarge|r7gd.8xlarge|r7gd.12xlarge|r7gd.16xlarge|r7a.medium|r7a.large|r7a.xlarge|r7a.2xlarge|r7a.4xlarge|r7a.8xlarge|r7a.12xlarge|r7a.16xlarge|r7a.24xlarge|r7a.32xlarge|r7a.48xlarge|c7i.large|c7i.xlarge|c7i.2xlarge|c7i.4xlarge|c7i.8xlarge|c7i.12xlarge|c7i.16xlarge|c7i.24xlarge|c7i.48xlarge|mac2-m2pro.metal|r7iz.large|r7iz.xlarge|r7iz.2xlarge|r7iz.4xlarge|r7iz.8xlarge|r7iz.12xlarge|r7iz.16xlarge|r7iz.32xlarge|c7a.medium|c7a.large|c7a.xlarge|c7a.2xlarge|c7a.4xlarge|c7a.8xlarge|c7a.12xlarge|c7a.16xlarge|c7a.24xlarge|c7a.32xlarge|c7a.48xlarge|c7a.metal-48xl|r7a.metal-48xl|r7i.large|r7i.xlarge|r7i.2xlarge|r7i.4xlarge|r7i.8xlarge|r7i.12xlarge|r7i.16xlarge|r7i.24xlarge|r7i.48xlarge|dl2q.24xlarge|mac2-m2.metal|i4i.12xlarge|i4i.24xlarge|c7i.metal-24xl|c7i.metal-48xl|m7i.metal-24xl|m7i.metal-48xl|r7i.metal-24xl|r7i.metal-48xl|r7iz.metal-16xl|r7iz.metal-32xl|c7gd.metal|m7gd.metal|r7gd.metal|g6.xlarge|g6.2xlarge|g6.4xlarge|g6.8xlarge|g6.12xlarge|g6.16xlarge|g6.24xlarge|g6.48xlarge|gr6.4xlarge|gr6.8xlarge|c7i-flex.large|c7i-flex.xlarge|c7i-flex.2xlarge|c7i-flex.4xlarge|c7i-flex.8xlarge|u7i-12tb.224xlarge|u7in-16tb.224xlarge|u7in-24tb.224xlarge|u7in-32tb.224xlarge|u7ib-12tb.224xlarge|c7gn.metal|r8g.medium|r8g.large|r8g.xlarge|r8g.2xlarge|r8g.4xlarge|r8g.8xlarge|r8g.12xlarge|r8g.16xlarge|r8g.24xlarge|r8g.48xlarge|r8g.metal-24xl|r8g.metal-48xl|mac2-m1ultra.metal|g6e.xlarge|g6e.2xlarge|g6e.4xlarge|g6e.8xlarge|g6e.12xlarge|g6e.16xlarge|g6e.24xlarge|g6e.48xlarge|c8g.medium|c8g.large|c8g.xlarge|c8g.2xlarge|c8g.4xlarge|c8g.8xlarge|c8g.12xlarge|c8g.16xlarge|c8g.24xlarge|c8g.48xlarge|c8g.metal-24xl|c8g.metal-48xl|m8g.medium|m8g.large|m8g.xlarge|m8g.2xlarge|m8g.4xlarge|m8g.8xlarge|m8g.12xlarge|m8g.16xlarge|m8g.24xlarge|m8g.48xlarge|m8g.metal-24xl|m8g.metal-48xl|x8g.medium|x8g.large|x8g.xlarge|x8g.2xlarge|x8g.4xlarge|x8g.8xlarge|x8g.12xlarge|x8g.16xlarge|x8g.24xlarge|x8g.48xlarge|x8g.metal-24xl|x8g.metal-48xl|i7ie.large|i7ie.xlarge|i7ie.2xlarge|i7ie.3xlarge|i7ie.6xlarge|i7ie.12xlarge|i7ie.18xlarge|i7ie.24xlarge|i7ie.48xlarge|i8g.large|i8g.xlarge|i8g.2xlarge|i8g.4xlarge|i8g.8xlarge|i8g.12xlarge|i8g.16xlarge|i8g.24xlarge|i8g.metal-24xl|u7i-6tb.112xlarge|u7i-8tb.112xlarge|u7inh-32tb.480xlarge|p5e.48xlarge|p5en.48xlarge|f2.12xlarge|f2.48xlarge|trn2.48xlarge',
            'Priority' => <integer>,
            'Weight' => <float>,
        ],
        // ...
    ],
    'TagSpecifications' => [
        [
            'ResourceType' => 'capacity-reservation|client-vpn-endpoint|customer-gateway|carrier-gateway|coip-pool|declarative-policies-report|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|verified-access-endpoint-target|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|i7ie.large|i7ie.xlarge|i7ie.2xlarge|i7ie.3xlarge|i7ie.6xlarge|i7ie.12xlarge|i7ie.18xlarge|i7ie.24xlarge|i7ie.48xlarge|i8g.large|i8g.xlarge|i8g.2xlarge|i8g.4xlarge|i8g.8xlarge|i8g.12xlarge|i8g.16xlarge|i8g.24xlarge|i8g.metal-24xl|u7i-6tb.112xlarge|u7i-8tb.112xlarge|u7inh-32tb.480xlarge|p5e.48xlarge|p5en.48xlarge|f2.12xlarge|f2.48xlarge|trn2.48xlarge',
            '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|declarative-policies-report|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|verified-access-endpoint-target|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>',
    'DisconnectOnSessionTimeout' => true || false,
    '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|declarative-policies-report|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|verified-access-endpoint-target|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.

DisconnectOnSessionTimeout
Type: boolean

Indicates whether the client VPN session is disconnected after the maximum timeout specified in SessionTimeoutHours is reached. If true, users are prompted to reconnect client VPN. If false, client VPN attempts to reconnect automatically. The default value is false.

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|declarative-policies-report|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|verified-access-endpoint-target|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|declarative-policies-report|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|verified-access-endpoint-target|ipam-external-resource-verification-token',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'Type' => 'ipsec.1', // REQUIRED
]);

Parameter Details

Members
BgpAsn
Type: int

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

Default: 65000

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

BgpAsnExtended
Type: long (int|float)

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

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

CertificateArn
Type: string

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

DeviceName
Type: string

A name for the customer gateway device.

Length Constraints: Up to 255 characters.

DryRun
Type: boolean

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

IpAddress
Type: string

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

PublicIp
Type: string

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

TagSpecifications
Type: Array of TagSpecification structures

The tags to apply to the customer gateway.

Type
Required: Yes
Type: string

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

Result Syntax

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

Result Details

Members
CustomerGateway
Type: CustomerGateway structure

Information about the customer gateway.

Errors

There are no errors described for this operation.

Examples

Example 1: To create a customer gateway

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

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

Result syntax:

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

CreateDefaultSubnet

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

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

Parameter Syntax

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

Parameter Details

Members
AvailabilityZone
Required: Yes
Type: string

The Availability Zone in which to create the default subnet.

DryRun
Type: boolean

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

Ipv6Native
Type: boolean

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

Result Syntax

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

Result Details

Members
Subnet
Type: Subnet structure

Information about the subnet.

Errors

There are no errors described for this operation.

CreateDefaultVpc

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

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

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

Parameter Syntax

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

Parameter Details

Members
DryRun
Type: boolean

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

Result Syntax

[
    'Vpc' => [
        'BlockPublicAccessStates' => [
            'InternetGatewayBlockMode' => 'off|block-bidirectional|block-ingress',
        ],
        'CidrBlock' => '<string>',
        'CidrBlockAssociationSet' => [
            [
                'AssociationId' => '<string>',
                'CidrBlock' => '<string>',
                'CidrBlockState' => [
                    'State' => 'associating|associated|disassociating|disassociated|failing|failed',
                    'StatusMessage' => '<string>',
                ],
            ],
            // ...
        ],
        'DhcpOptionsId' => '<string>',
        'EncryptionControl' => [
            'Mode' => 'monitor|enforce',
            'ResourceExclusions' => [
                'EgressOnlyInternetGateway' => [
                    'State' => 'enabling|enabled|disabling|disabled',
                    'StateMessage' => '<string>',
                ],
                'InternetGateway' => [
                    'State' => 'enabling|enabled|disabling|disabled',
                    'StateMessage' => '<string>',
                ],
                'NatGateway' => [
                    'State' => 'enabling|enabled|disabling|disabled',
                    'StateMessage' => '<string>',
                ],
                'VirtualPrivateGateway' => [
                    'State' => 'enabling|enabled|disabling|disabled',
                    'StateMessage' => '<string>',
                ],
                'VpcPeering' => [
                    'State' => 'enabling|enabled|disabling|disabled',
                    'StateMessage' => '<string>',
                ],
            ],
            'State' => 'enforce-in-progress|monitor-in-progress|enforce-failed|monitor-failed|deleting|deleted|available',
            'StateMessage' => '<string>',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'VpcEncryptionControlId' => '<string>',
            'VpcId' => '<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|declarative-policies-report|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|verified-access-endpoint-target|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|declarative-policies-report|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|verified-access-endpoint-target|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>',
                    '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>',
                        ],
                        // ...
                    ],
                    'ImageId' => '<string>',
                    'InstanceRequirements' => [
                        'AcceleratorCount' => [
                            'Max' => <integer>,
                            'Min' => <integer>,
                        ],
                        'AcceleratorManufacturers' => ['<string>', ...],
                        'AcceleratorNames' => ['<string>', ...],
                        'AcceleratorTotalMemoryMiB' => [
                            'Max' => <integer>,
                            'Min' => <integer>,
                        ],
                        'AcceleratorTypes' => ['<string>', ...],
                        'AllowedInstanceTypes' => ['<string>', ...],
                        'BareMetal' => 'included|required|excluded',
                        'BaselineEbsBandwidthMbps' => [
                            'Max' => <integer>,
                            'Min' => <integer>,
                        ],
                        'BaselinePerformanceFactors' => [
                            'Cpu' => [
                                'References' => [
                                    [
                                        'InstanceFamily' => '<string>',
                                    ],
                                    // ...
                                ],
                            ],
                        ],
                        'BurstablePerformance' => 'included|required|excluded',
                        'CpuManufacturers' => ['<string>', ...],
                        'ExcludedInstanceTypes' => ['<string>', ...],
                        'InstanceGenerations' => ['<string>', ...],
                        'LocalStorage' => 'included|required|excluded',
                        'LocalStorageTypes' => ['<string>', ...],
                        'MaxSpotPriceAsPercentageOfOptimalOnDemandPrice' => <integer>,
                        'MemoryGiBPerVCpu' => [
                            'Max' => <float>,
                            'Min' => <float>,
                        ],
                        'MemoryMiB' => [ // REQUIRED
                            'Max' => <integer>,
                            'Min' => <integer>, // REQUIRED
                        ],
                        'NetworkBandwidthGbps' => [
                            'Max' => <float>,
                            'Min' => <float>,
                        ],
                        'NetworkInterfaceCount' => [
                            'Max' => <integer>,
                            'Min' => <integer>,
                        ],
                        'OnDemandMaxPricePercentageOverLowestPrice' => <integer>,
                        'RequireHibernateSupport' => true || false,
                        'SpotMaxPricePercentageOverLowestPrice' => <integer>,
                        'TotalLocalStorageGB' => [
                            'Max' => <float>,
                            'Min' => <float>,
                        ],
                        'VCpuCount' => [ // REQUIRED
                            'Max' => <integer>,
                            'Min' => <integer>, // REQUIRED
                        ],
                    ],
                    'InstanceType' => 'a1.medium|a1.large|a1.xlarge|a1.2xlarge|a1.4xlarge|a1.metal|c1.medium|c1.xlarge|c3.large|c3.xlarge|c3.2xlarge|c3.4xlarge|c3.8xlarge|c4.large|c4.xlarge|c4.2xlarge|c4.4xlarge|c4.8xlarge|c5.large|c5.xlarge|c5.2xlarge|c5.4xlarge|c5.9xlarge|c5.12xlarge|c5.18xlarge|c5.24xlarge|c5.metal|c5a.large|c5a.xlarge|c5a.2xlarge|c5a.4xlarge|c5a.8xlarge|c5a.12xlarge|c5a.16xlarge|c5a.24xlarge|c5ad.large|c5ad.xlarge|c5ad.2xlarge|c5ad.4xlarge|c5ad.8xlarge|c5ad.12xlarge|c5ad.16xlarge|c5ad.24xlarge|c5d.large|c5d.xlarge|c5d.2xlarge|c5d.4xlarge|c5d.9xlarge|c5d.12xlarge|c5d.18xlarge|c5d.24xlarge|c5d.metal|c5n.large|c5n.xlarge|c5n.2xlarge|c5n.4xlarge|c5n.9xlarge|c5n.18xlarge|c5n.metal|c6g.medium|c6g.large|c6g.xlarge|c6g.2xlarge|c6g.4xlarge|c6g.8xlarge|c6g.12xlarge|c6g.16xlarge|c6g.metal|c6gd.medium|c6gd.large|c6gd.xlarge|c6gd.2xlarge|c6gd.4xlarge|c6gd.8xlarge|c6gd.12xlarge|c6gd.16xlarge|c6gd.metal|c6gn.medium|c6gn.large|c6gn.xlarge|c6gn.2xlarge|c6gn.4xlarge|c6gn.8xlarge|c6gn.12xlarge|c6gn.16xlarge|c6i.large|c6i.xlarge|c6i.2xlarge|c6i.4xlarge|c6i.8xlarge|c6i.12xlarge|c6i.16xlarge|c6i.24xlarge|c6i.32xlarge|c6i.metal|cc1.4xlarge|cc2.8xlarge|cg1.4xlarge|cr1.8xlarge|d2.xlarge|d2.2xlarge|d2.4xlarge|d2.8xlarge|d3.xlarge|d3.2xlarge|d3.4xlarge|d3.8xlarge|d3en.xlarge|d3en.2xlarge|d3en.4xlarge|d3en.6xlarge|d3en.8xlarge|d3en.12xlarge|dl1.24xlarge|f1.2xlarge|f1.4xlarge|f1.16xlarge|g2.2xlarge|g2.8xlarge|g3.4xlarge|g3.8xlarge|g3.16xlarge|g3s.xlarge|g4ad.xlarge|g4ad.2xlarge|g4ad.4xlarge|g4ad.8xlarge|g4ad.16xlarge|g4dn.xlarge|g4dn.2xlarge|g4dn.4xlarge|g4dn.8xlarge|g4dn.12xlarge|g4dn.16xlarge|g4dn.metal|g5.xlarge|g5.2xlarge|g5.4xlarge|g5.8xlarge|g5.12xlarge|g5.16xlarge|g5.24xlarge|g5.48xlarge|g5g.xlarge|g5g.2xlarge|g5g.4xlarge|g5g.8xlarge|g5g.16xlarge|g5g.metal|hi1.4xlarge|hpc6a.48xlarge|hs1.8xlarge|h1.2xlarge|h1.4xlarge|h1.8xlarge|h1.16xlarge|i2.xlarge|i2.2xlarge|i2.4xlarge|i2.8xlarge|i3.large|i3.xlarge|i3.2xlarge|i3.4xlarge|i3.8xlarge|i3.16xlarge|i3.metal|i3en.large|i3en.xlarge|i3en.2xlarge|i3en.3xlarge|i3en.6xlarge|i3en.12xlarge|i3en.24xlarge|i3en.metal|im4gn.large|im4gn.xlarge|im4gn.2xlarge|im4gn.4xlarge|im4gn.8xlarge|im4gn.16xlarge|inf1.xlarge|inf1.2xlarge|inf1.6xlarge|inf1.24xlarge|is4gen.medium|is4gen.large|is4gen.xlarge|is4gen.2xlarge|is4gen.4xlarge|is4gen.8xlarge|m1.small|m1.medium|m1.large|m1.xlarge|m2.xlarge|m2.2xlarge|m2.4xlarge|m3.medium|m3.large|m3.xlarge|m3.2xlarge|m4.large|m4.xlarge|m4.2xlarge|m4.4xlarge|m4.10xlarge|m4.16xlarge|m5.large|m5.xlarge|m5.2xlarge|m5.4xlarge|m5.8xlarge|m5.12xlarge|m5.16xlarge|m5.24xlarge|m5.metal|m5a.large|m5a.xlarge|m5a.2xlarge|m5a.4xlarge|m5a.8xlarge|m5a.12xlarge|m5a.16xlarge|m5a.24xlarge|m5ad.large|m5ad.xlarge|m5ad.2xlarge|m5ad.4xlarge|m5ad.8xlarge|m5ad.12xlarge|m5ad.16xlarge|m5ad.24xlarge|m5d.large|m5d.xlarge|m5d.2xlarge|m5d.4xlarge|m5d.8xlarge|m5d.12xlarge|m5d.16xlarge|m5d.24xlarge|m5d.metal|m5dn.large|m5dn.xlarge|m5dn.2xlarge|m5dn.4xlarge|m5dn.8xlarge|m5dn.12xlarge|m5dn.16xlarge|m5dn.24xlarge|m5dn.metal|m5n.large|m5n.xlarge|m5n.2xlarge|m5n.4xlarge|m5n.8xlarge|m5n.12xlarge|m5n.16xlarge|m5n.24xlarge|m5n.metal|m5zn.large|m5zn.xlarge|m5zn.2xlarge|m5zn.3xlarge|m5zn.6xlarge|m5zn.12xlarge|m5zn.metal|m6a.large|m6a.xlarge|m6a.2xlarge|m6a.4xlarge|m6a.8xlarge|m6a.12xlarge|m6a.16xlarge|m6a.24xlarge|m6a.32xlarge|m6a.48xlarge|m6g.metal|m6g.medium|m6g.large|m6g.xlarge|m6g.2xlarge|m6g.4xlarge|m6g.8xlarge|m6g.12xlarge|m6g.16xlarge|m6gd.metal|m6gd.medium|m6gd.large|m6gd.xlarge|m6gd.2xlarge|m6gd.4xlarge|m6gd.8xlarge|m6gd.12xlarge|m6gd.16xlarge|m6i.large|m6i.xlarge|m6i.2xlarge|m6i.4xlarge|m6i.8xlarge|m6i.12xlarge|m6i.16xlarge|m6i.24xlarge|m6i.32xlarge|m6i.metal|mac1.metal|p2.xlarge|p2.8xlarge|p2.16xlarge|p3.2xlarge|p3.8xlarge|p3.16xlarge|p3dn.24xlarge|p4d.24xlarge|r3.large|r3.xlarge|r3.2xlarge|r3.4xlarge|r3.8xlarge|r4.large|r4.xlarge|r4.2xlarge|r4.4xlarge|r4.8xlarge|r4.16xlarge|r5.large|r5.xlarge|r5.2xlarge|r5.4xlarge|r5.8xlarge|r5.12xlarge|r5.16xlarge|r5.24xlarge|r5.metal|r5a.large|r5a.xlarge|r5a.2xlarge|r5a.4xlarge|r5a.8xlarge|r5a.12xlarge|r5a.16xlarge|r5a.24xlarge|r5ad.large|r5ad.xlarge|r5ad.2xlarge|r5ad.4xlarge|r5ad.8xlarge|r5ad.12xlarge|r5ad.16xlarge|r5ad.24xlarge|r5b.large|r5b.xlarge|r5b.2xlarge|r5b.4xlarge|r5b.8xlarge|r5b.12xlarge|r5b.16xlarge|r5b.24xlarge|r5b.metal|r5d.large|r5d.xlarge|r5d.2xlarge|r5d.4xlarge|r5d.8xlarge|r5d.12xlarge|r5d.16xlarge|r5d.24xlarge|r5d.metal|r5dn.large|r5dn.xlarge|r5dn.2xlarge|r5dn.4xlarge|r5dn.8xlarge|r5dn.12xlarge|r5dn.16xlarge|r5dn.24xlarge|r5dn.metal|r5n.large|r5n.xlarge|r5n.2xlarge|r5n.4xlarge|r5n.8xlarge|r5n.12xlarge|r5n.16xlarge|r5n.24xlarge|r5n.metal|r6g.medium|r6g.large|r6g.xlarge|r6g.2xlarge|r6g.4xlarge|r6g.8xlarge|r6g.12xlarge|r6g.16xlarge|r6g.metal|r6gd.medium|r6gd.large|r6gd.xlarge|r6gd.2xlarge|r6gd.4xlarge|r6gd.8xlarge|r6gd.12xlarge|r6gd.16xlarge|r6gd.metal|r6i.large|r6i.xlarge|r6i.2xlarge|r6i.4xlarge|r6i.8xlarge|r6i.12xlarge|r6i.16xlarge|r6i.24xlarge|r6i.32xlarge|r6i.metal|t1.micro|t2.nano|t2.micro|t2.small|t2.medium|t2.large|t2.xlarge|t2.2xlarge|t3.nano|t3.micro|t3.small|t3.medium|t3.large|t3.xlarge|t3.2xlarge|t3a.nano|t3a.micro|t3a.small|t3a.medium|t3a.large|t3a.xlarge|t3a.2xlarge|t4g.nano|t4g.micro|t4g.small|t4g.medium|t4g.large|t4g.xlarge|t4g.2xlarge|u-6tb1.56xlarge|u-6tb1.112xlarge|u-9tb1.112xlarge|u-12tb1.112xlarge|u-6tb1.metal|u-9tb1.metal|u-12tb1.metal|u-18tb1.metal|u-24tb1.metal|vt1.3xlarge|vt1.6xlarge|vt1.24xlarge|x1.16xlarge|x1.32xlarge|x1e.xlarge|x1e.2xlarge|x1e.4xlarge|x1e.8xlarge|x1e.16xlarge|x1e.32xlarge|x2iezn.2xlarge|x2iezn.4xlarge|x2iezn.6xlarge|x2iezn.8xlarge|x2iezn.12xlarge|x2iezn.metal|x2gd.medium|x2gd.large|x2gd.xlarge|x2gd.2xlarge|x2gd.4xlarge|x2gd.8xlarge|x2gd.12xlarge|x2gd.16xlarge|x2gd.metal|z1d.large|z1d.xlarge|z1d.2xlarge|z1d.3xlarge|z1d.6xlarge|z1d.12xlarge|z1d.metal|x2idn.16xlarge|x2idn.24xlarge|x2idn.32xlarge|x2iedn.xlarge|x2iedn.2xlarge|x2iedn.4xlarge|x2iedn.8xlarge|x2iedn.16xlarge|x2iedn.24xlarge|x2iedn.32xlarge|c6a.large|c6a.xlarge|c6a.2xlarge|c6a.4xlarge|c6a.8xlarge|c6a.12xlarge|c6a.16xlarge|c6a.24xlarge|c6a.32xlarge|c6a.48xlarge|c6a.metal|m6a.metal|i4i.large|i4i.xlarge|i4i.2xlarge|i4i.4xlarge|i4i.8xlarge|i4i.16xlarge|i4i.32xlarge|i4i.metal|x2idn.metal|x2iedn.metal|c7g.medium|c7g.large|c7g.xlarge|c7g.2xlarge|c7g.4xlarge|c7g.8xlarge|c7g.12xlarge|c7g.16xlarge|mac2.metal|c6id.large|c6id.xlarge|c6id.2xlarge|c6id.4xlarge|c6id.8xlarge|c6id.12xlarge|c6id.16xlarge|c6id.24xlarge|c6id.32xlarge|c6id.metal|m6id.large|m6id.xlarge|m6id.2xlarge|m6id.4xlarge|m6id.8xlarge|m6id.12xlarge|m6id.16xlarge|m6id.24xlarge|m6id.32xlarge|m6id.metal|r6id.large|r6id.xlarge|r6id.2xlarge|r6id.4xlarge|r6id.8xlarge|r6id.12xlarge|r6id.16xlarge|r6id.24xlarge|r6id.32xlarge|r6id.metal|r6a.large|r6a.xlarge|r6a.2xlarge|r6a.4xlarge|r6a.8xlarge|r6a.12xlarge|r6a.16xlarge|r6a.24xlarge|r6a.32xlarge|r6a.48xlarge|r6a.metal|p4de.24xlarge|u-3tb1.56xlarge|u-18tb1.112xlarge|u-24tb1.112xlarge|trn1.2xlarge|trn1.32xlarge|hpc6id.32xlarge|c6in.large|c6in.xlarge|c6in.2xlarge|c6in.4xlarge|c6in.8xlarge|c6in.12xlarge|c6in.16xlarge|c6in.24xlarge|c6in.32xlarge|m6in.large|m6in.xlarge|m6in.2xlarge|m6in.4xlarge|m6in.8xlarge|m6in.12xlarge|m6in.16xlarge|m6in.24xlarge|m6in.32xlarge|m6idn.large|m6idn.xlarge|m6idn.2xlarge|m6idn.4xlarge|m6idn.8xlarge|m6idn.12xlarge|m6idn.16xlarge|m6idn.24xlarge|m6idn.32xlarge|r6in.large|r6in.xlarge|r6in.2xlarge|r6in.4xlarge|r6in.8xlarge|r6in.12xlarge|r6in.16xlarge|r6in.24xlarge|r6in.32xlarge|r6idn.large|r6idn.xlarge|r6idn.2xlarge|r6idn.4xlarge|r6idn.8xlarge|r6idn.12xlarge|r6idn.16xlarge|r6idn.24xlarge|r6idn.32xlarge|c7g.metal|m7g.medium|m7g.large|m7g.xlarge|m7g.2xlarge|m7g.4xlarge|m7g.8xlarge|m7g.12xlarge|m7g.16xlarge|m7g.metal|r7g.medium|r7g.large|r7g.xlarge|r7g.2xlarge|r7g.4xlarge|r7g.8xlarge|r7g.12xlarge|r7g.16xlarge|r7g.metal|c6in.metal|m6in.metal|m6idn.metal|r6in.metal|r6idn.metal|inf2.xlarge|inf2.8xlarge|inf2.24xlarge|inf2.48xlarge|trn1n.32xlarge|i4g.large|i4g.xlarge|i4g.2xlarge|i4g.4xlarge|i4g.8xlarge|i4g.16xlarge|hpc7g.4xlarge|hpc7g.8xlarge|hpc7g.16xlarge|c7gn.medium|c7gn.large|c7gn.xlarge|c7gn.2xlarge|c7gn.4xlarge|c7gn.8xlarge|c7gn.12xlarge|c7gn.16xlarge|p5.48xlarge|m7i.large|m7i.xlarge|m7i.2xlarge|m7i.4xlarge|m7i.8xlarge|m7i.12xlarge|m7i.16xlarge|m7i.24xlarge|m7i.48xlarge|m7i-flex.large|m7i-flex.xlarge|m7i-flex.2xlarge|m7i-flex.4xlarge|m7i-flex.8xlarge|m7a.medium|m7a.large|m7a.xlarge|m7a.2xlarge|m7a.4xlarge|m7a.8xlarge|m7a.12xlarge|m7a.16xlarge|m7a.24xlarge|m7a.32xlarge|m7a.48xlarge|m7a.metal-48xl|hpc7a.12xlarge|hpc7a.24xlarge|hpc7a.48xlarge|hpc7a.96xlarge|c7gd.medium|c7gd.large|c7gd.xlarge|c7gd.2xlarge|c7gd.4xlarge|c7gd.8xlarge|c7gd.12xlarge|c7gd.16xlarge|m7gd.medium|m7gd.large|m7gd.xlarge|m7gd.2xlarge|m7gd.4xlarge|m7gd.8xlarge|m7gd.12xlarge|m7gd.16xlarge|r7gd.medium|r7gd.large|r7gd.xlarge|r7gd.2xlarge|r7gd.4xlarge|r7gd.8xlarge|r7gd.12xlarge|r7gd.16xlarge|r7a.medium|r7a.large|r7a.xlarge|r7a.2xlarge|r7a.4xlarge|r7a.8xlarge|r7a.12xlarge|r7a.16xlarge|r7a.24xlarge|r7a.32xlarge|r7a.48xlarge|c7i.large|c7i.xlarge|c7i.2xlarge|c7i.4xlarge|c7i.8xlarge|c7i.12xlarge|c7i.16xlarge|c7i.24xlarge|c7i.48xlarge|mac2-m2pro.metal|r7iz.large|r7iz.xlarge|r7iz.2xlarge|r7iz.4xlarge|r7iz.8xlarge|r7iz.12xlarge|r7iz.16xlarge|r7iz.32xlarge|c7a.medium|c7a.large|c7a.xlarge|c7a.2xlarge|c7a.4xlarge|c7a.8xlarge|c7a.12xlarge|c7a.16xlarge|c7a.24xlarge|c7a.32xlarge|c7a.48xlarge|c7a.metal-48xl|r7a.metal-48xl|r7i.large|r7i.xlarge|r7i.2xlarge|r7i.4xlarge|r7i.8xlarge|r7i.12xlarge|r7i.16xlarge|r7i.24xlarge|r7i.48xlarge|dl2q.24xlarge|mac2-m2.metal|i4i.12xlarge|i4i.24xlarge|c7i.metal-24xl|c7i.metal-48xl|m7i.metal-24xl|m7i.metal-48xl|r7i.metal-24xl|r7i.metal-48xl|r7iz.metal-16xl|r7iz.metal-32xl|c7gd.metal|m7gd.metal|r7gd.metal|g6.xlarge|g6.2xlarge|g6.4xlarge|g6.8xlarge|g6.12xlarge|g6.16xlarge|g6.24xlarge|g6.48xlarge|gr6.4xlarge|gr6.8xlarge|c7i-flex.large|c7i-flex.xlarge|c7i-flex.2xlarge|c7i-flex.4xlarge|c7i-flex.8xlarge|u7i-12tb.224xlarge|u7in-16tb.224xlarge|u7in-24tb.224xlarge|u7in-32tb.224xlarge|u7ib-12tb.224xlarge|c7gn.metal|r8g.medium|r8g.large|r8g.xlarge|r8g.2xlarge|r8g.4xlarge|r8g.8xlarge|r8g.12xlarge|r8g.16xlarge|r8g.24xlarge|r8g.48xlarge|r8g.metal-24xl|r8g.metal-48xl|mac2-m1ultra.metal|g6e.xlarge|g6e.2xlarge|g6e.4xlarge|g6e.8xlarge|g6e.12xlarge|g6e.16xlarge|g6e.24xlarge|g6e.48xlarge|c8g.medium|c8g.large|c8g.xlarge|c8g.2xlarge|c8g.4xlarge|c8g.8xlarge|c8g.12xlarge|c8g.16xlarge|c8g.24xlarge|c8g.48xlarge|c8g.metal-24xl|c8g.metal-48xl|m8g.medium|m8g.large|m8g.xlarge|m8g.2xlarge|m8g.4xlarge|m8g.8xlarge|m8g.12xlarge|m8g.16xlarge|m8g.24xlarge|m8g.48xlarge|m8g.metal-24xl|m8g.metal-48xl|x8g.medium|x8g.large|x8g.xlarge|x8g.2xlarge|x8g.4xlarge|x8g.8xlarge|x8g.12xlarge|x8g.16xlarge|x8g.24xlarge|x8g.48xlarge|x8g.metal-24xl|x8g.metal-48xl|i7ie.large|i7ie.xlarge|i7ie.2xlarge|i7ie.3xlarge|i7ie.6xlarge|i7ie.12xlarge|i7ie.18xlarge|i7ie.24xlarge|i7ie.48xlarge|i8g.large|i8g.xlarge|i8g.2xlarge|i8g.4xlarge|i8g.8xlarge|i8g.12xlarge|i8g.16xlarge|i8g.24xlarge|i8g.metal-24xl|u7i-6tb.112xlarge|u7i-8tb.112xlarge|u7inh-32tb.480xlarge|p5e.48xlarge|p5en.48xlarge|f2.12xlarge|f2.48xlarge|trn2.48xlarge',
                    '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|declarative-policies-report|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|verified-access-endpoint-target|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. 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.

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>',
                    '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>',
                        ],
                        // ...
                    ],
                    'ImageId' => '<string>',
                    'InstanceRequirements' => [
                        'AcceleratorCount' => [
                            'Max' => <integer>,
                            'Min' => <integer>,
                        ],
                        'AcceleratorManufacturers' => ['<string>', ...],
                        'AcceleratorNames' => ['<string>', ...],
                        'AcceleratorTotalMemoryMiB' => [
                            'Max' => <integer>,
                            'Min' => <integer>,
                        ],
                        'AcceleratorTypes' => ['<string>', ...],
                        'AllowedInstanceTypes' => ['<string>', ...],
                        'BareMetal' => 'included|required|excluded',
                        'BaselineEbsBandwidthMbps' => [
                            'Max' => <integer>,
                            'Min' => <integer>,
                        ],
                        'BaselinePerformanceFactors' => [
                            'Cpu' => [
                                'References' => [
                                    [
                                        'InstanceFamily' => '<string>',
                                    ],
                                    // ...
                                ],
                            ],
                        ],
                        'BurstablePerformance' => 'included|required|excluded',
                        'CpuManufacturers' => ['<string>', ...],
                        'ExcludedInstanceTypes' => ['<string>', ...],
                        'InstanceGenerations' => ['<string>', ...],
                        'LocalStorage' => 'included|required|excluded',
                        'LocalStorageTypes' => ['<string>', ...],
                        'MaxSpotPriceAsPercentageOfOptimalOnDemandPrice' => <integer>,
                        'MemoryGiBPerVCpu' => [
                            'Max' => <float>,
                            'Min' => <float>,
                        ],
                        'MemoryMiB' => [
                            'Max' => <integer>,
                            'Min' => <integer>,
                        ],
                        'NetworkBandwidthGbps' => [
                            'Max' => <float>,
                            'Min' => <float>,
                        ],
                        'NetworkInterfaceCount' => [
                            'Max' => <integer>,
                            'Min' => <integer>,
                        ],
                        'OnDemandMaxPricePercentageOverLowestPrice' => <integer>,
                        'RequireHibernateSupport' => true || false,
                        'SpotMaxPricePercentageOverLowestPrice' => <integer>,
                        'TotalLocalStorageGB' => [
                            'Max' => <float>,
                            'Min' => <float>,
                        ],
                        'VCpuCount' => [
                            'Max' => <integer>,
                            'Min' => <integer>,
                        ],
                    ],
                    'InstanceType' => 'a1.medium|a1.large|a1.xlarge|a1.2xlarge|a1.4xlarge|a1.metal|c1.medium|c1.xlarge|c3.large|c3.xlarge|c3.2xlarge|c3.4xlarge|c3.8xlarge|c4.large|c4.xlarge|c4.2xlarge|c4.4xlarge|c4.8xlarge|c5.large|c5.xlarge|c5.2xlarge|c5.4xlarge|c5.9xlarge|c5.12xlarge|c5.18xlarge|c5.24xlarge|c5.metal|c5a.large|c5a.xlarge|c5a.2xlarge|c5a.4xlarge|c5a.8xlarge|c5a.12xlarge|c5a.16xlarge|c5a.24xlarge|c5ad.large|c5ad.xlarge|c5ad.2xlarge|c5ad.4xlarge|c5ad.8xlarge|c5ad.12xlarge|c5ad.16xlarge|c5ad.24xlarge|c5d.large|c5d.xlarge|c5d.2xlarge|c5d.4xlarge|c5d.9xlarge|c5d.12xlarge|c5d.18xlarge|c5d.24xlarge|c5d.metal|c5n.large|c5n.xlarge|c5n.2xlarge|c5n.4xlarge|c5n.9xlarge|c5n.18xlarge|c5n.metal|c6g.medium|c6g.large|c6g.xlarge|c6g.2xlarge|c6g.4xlarge|c6g.8xlarge|c6g.12xlarge|c6g.16xlarge|c6g.metal|c6gd.medium|c6gd.large|c6gd.xlarge|c6gd.2xlarge|c6gd.4xlarge|c6gd.8xlarge|c6gd.12xlarge|c6gd.16xlarge|c6gd.metal|c6gn.medium|c6gn.large|c6gn.xlarge|c6gn.2xlarge|c6gn.4xlarge|c6gn.8xlarge|c6gn.12xlarge|c6gn.16xlarge|c6i.large|c6i.xlarge|c6i.2xlarge|c6i.4xlarge|c6i.8xlarge|c6i.12xlarge|c6i.16xlarge|c6i.24xlarge|c6i.32xlarge|c6i.metal|cc1.4xlarge|cc2.8xlarge|cg1.4xlarge|cr1.8xlarge|d2.xlarge|d2.2xlarge|d2.4xlarge|d2.8xlarge|d3.xlarge|d3.2xlarge|d3.4xlarge|d3.8xlarge|d3en.xlarge|d3en.2xlarge|d3en.4xlarge|d3en.6xlarge|d3en.8xlarge|d3en.12xlarge|dl1.24xlarge|f1.2xlarge|f1.4xlarge|f1.16xlarge|g2.2xlarge|g2.8xlarge|g3.4xlarge|g3.8xlarge|g3.16xlarge|g3s.xlarge|g4ad.xlarge|g4ad.2xlarge|g4ad.4xlarge|g4ad.8xlarge|g4ad.16xlarge|g4dn.xlarge|g4dn.2xlarge|g4dn.4xlarge|g4dn.8xlarge|g4dn.12xlarge|g4dn.16xlarge|g4dn.metal|g5.xlarge|g5.2xlarge|g5.4xlarge|g5.8xlarge|g5.12xlarge|g5.16xlarge|g5.24xlarge|g5.48xlarge|g5g.xlarge|g5g.2xlarge|g5g.4xlarge|g5g.8xlarge|g5g.16xlarge|g5g.metal|hi1.4xlarge|hpc6a.48xlarge|hs1.8xlarge|h1.2xlarge|h1.4xlarge|h1.8xlarge|h1.16xlarge|i2.xlarge|i2.2xlarge|i2.4xlarge|i2.8xlarge|i3.large|i3.xlarge|i3.2xlarge|i3.4xlarge|i3.8xlarge|i3.16xlarge|i3.metal|i3en.large|i3en.xlarge|i3en.2xlarge|i3en.3xlarge|i3en.6xlarge|i3en.12xlarge|i3en.24xlarge|i3en.metal|im4gn.large|im4gn.xlarge|im4gn.2xlarge|im4gn.4xlarge|im4gn.8xlarge|im4gn.16xlarge|inf1.xlarge|inf1.2xlarge|inf1.6xlarge|inf1.24xlarge|is4gen.medium|is4gen.large|is4gen.xlarge|is4gen.2xlarge|is4gen.4xlarge|is4gen.8xlarge|m1.small|m1.medium|m1.large|m1.xlarge|m2.xlarge|m2.2xlarge|m2.4xlarge|m3.medium|m3.large|m3.xlarge|m3.2xlarge|m4.large|m4.xlarge|m4.2xlarge|m4.4xlarge|m4.10xlarge|m4.16xlarge|m5.large|m5.xlarge|m5.2xlarge|m5.4xlarge|m5.8xlarge|m5.12xlarge|m5.16xlarge|m5.24xlarge|m5.metal|m5a.large|m5a.xlarge|m5a.2xlarge|m5a.4xlarge|m5a.8xlarge|m5a.12xlarge|m5a.16xlarge|m5a.24xlarge|m5ad.large|m5ad.xlarge|m5ad.2xlarge|m5ad.4xlarge|m5ad.8xlarge|m5ad.12xlarge|m5ad.16xlarge|m5ad.24xlarge|m5d.large|m5d.xlarge|m5d.2xlarge|m5d.4xlarge|m5d.8xlarge|m5d.12xlarge|m5d.16xlarge|m5d.24xlarge|m5d.metal|m5dn.large|m5dn.xlarge|m5dn.2xlarge|m5dn.4xlarge|m5dn.8xlarge|m5dn.12xlarge|m5dn.16xlarge|m5dn.24xlarge|m5dn.metal|m5n.large|m5n.xlarge|m5n.2xlarge|m5n.4xlarge|m5n.8xlarge|m5n.12xlarge|m5n.16xlarge|m5n.24xlarge|m5n.metal|m5zn.large|m5zn.xlarge|m5zn.2xlarge|m5zn.3xlarge|m5zn.6xlarge|m5zn.12xlarge|m5zn.metal|m6a.large|m6a.xlarge|m6a.2xlarge|m6a.4xlarge|m6a.8xlarge|m6a.12xlarge|m6a.16xlarge|m6a.24xlarge|m6a.32xlarge|m6a.48xlarge|m6g.metal|m6g.medium|m6g.large|m6g.xlarge|m6g.2xlarge|m6g.4xlarge|m6g.8xlarge|m6g.12xlarge|m6g.16xlarge|m6gd.metal|m6gd.medium|m6gd.large|m6gd.xlarge|m6gd.2xlarge|m6gd.4xlarge|m6gd.8xlarge|m6gd.12xlarge|m6gd.16xlarge|m6i.large|m6i.xlarge|m6i.2xlarge|m6i.4xlarge|m6i.8xlarge|m6i.12xlarge|m6i.16xlarge|m6i.24xlarge|m6i.32xlarge|m6i.metal|mac1.metal|p2.xlarge|p2.8xlarge|p2.16xlarge|p3.2xlarge|p3.8xlarge|p3.16xlarge|p3dn.24xlarge|p4d.24xlarge|r3.large|r3.xlarge|r3.2xlarge|r3.4xlarge|r3.8xlarge|r4.large|r4.xlarge|r4.2xlarge|r4.4xlarge|r4.8xlarge|r4.16xlarge|r5.large|r5.xlarge|r5.2xlarge|r5.4xlarge|r5.8xlarge|r5.12xlarge|r5.16xlarge|r5.24xlarge|r5.metal|r5a.large|r5a.xlarge|r5a.2xlarge|r5a.4xlarge|r5a.8xlarge|r5a.12xlarge|r5a.16xlarge|r5a.24xlarge|r5ad.large|r5ad.xlarge|r5ad.2xlarge|r5ad.4xlarge|r5ad.8xlarge|r5ad.12xlarge|r5ad.16xlarge|r5ad.24xlarge|r5b.large|r5b.xlarge|r5b.2xlarge|r5b.4xlarge|r5b.8xlarge|r5b.12xlarge|r5b.16xlarge|r5b.24xlarge|r5b.metal|r5d.large|r5d.xlarge|r5d.2xlarge|r5d.4xlarge|r5d.8xlarge|r5d.12xlarge|r5d.16xlarge|r5d.24xlarge|r5d.metal|r5dn.large|r5dn.xlarge|r5dn.2xlarge|r5dn.4xlarge|r5dn.8xlarge|r5dn.12xlarge|r5dn.16xlarge|r5dn.24xlarge|r5dn.metal|r5n.large|r5n.xlarge|r5n.2xlarge|r5n.4xlarge|r5n.8xlarge|r5n.12xlarge|r5n.16xlarge|r5n.24xlarge|r5n.metal|r6g.medium|r6g.large|r6g.xlarge|r6g.2xlarge|r6g.4xlarge|r6g.8xlarge|r6g.12xlarge|r6g.16xlarge|r6g.metal|r6gd.medium|r6gd.large|r6gd.xlarge|r6gd.2xlarge|r6gd.4xlarge|r6gd.8xlarge|r6gd.12xlarge|r6gd.16xlarge|r6gd.metal|r6i.large|r6i.xlarge|r6i.2xlarge|r6i.4xlarge|r6i.8xlarge|r6i.12xlarge|r6i.16xlarge|r6i.24xlarge|r6i.32xlarge|r6i.metal|t1.micro|t2.nano|t2.micro|t2.small|t2.medium|t2.large|t2.xlarge|t2.2xlarge|t3.nano|t3.micro|t3.small|t3.medium|t3.large|t3.xlarge|t3.2xlarge|t3a.nano|t3a.micro|t3a.small|t3a.medium|t3a.large|t3a.xlarge|t3a.2xlarge|t4g.nano|t4g.micro|t4g.small|t4g.medium|t4g.large|t4g.xlarge|t4g.2xlarge|u-6tb1.56xlarge|u-6tb1.112xlarge|u-9tb1.112xlarge|u-12tb1.112xlarge|u-6tb1.metal|u-9tb1.metal|u-12tb1.metal|u-18tb1.metal|u-24tb1.metal|vt1.3xlarge|vt1.6xlarge|vt1.24xlarge|x1.16xlarge|x1.32xlarge|x1e.xlarge|x1e.2xlarge|x1e.4xlarge|x1e.8xlarge|x1e.16xlarge|x1e.32xlarge|x2iezn.2xlarge|x2iezn.4xlarge|x2iezn.6xlarge|x2iezn.8xlarge|x2iezn.12xlarge|x2iezn.metal|x2gd.medium|x2gd.large|x2gd.xlarge|x2gd.2xlarge|x2gd.4xlarge|x2gd.8xlarge|x2gd.12xlarge|x2gd.16xlarge|x2gd.metal|z1d.large|z1d.xlarge|z1d.2xlarge|z1d.3xlarge|z1d.6xlarge|z1d.12xlarge|z1d.metal|x2idn.16xlarge|x2idn.24xlarge|x2idn.32xlarge|x2iedn.xlarge|x2iedn.2xlarge|x2iedn.4xlarge|x2iedn.8xlarge|x2iedn.16xlarge|x2iedn.24xlarge|x2iedn.32xlarge|c6a.large|c6a.xlarge|c6a.2xlarge|c6a.4xlarge|c6a.8xlarge|c6a.12xlarge|c6a.16xlarge|c6a.24xlarge|c6a.32xlarge|c6a.48xlarge|c6a.metal|m6a.metal|i4i.large|i4i.xlarge|i4i.2xlarge|i4i.4xlarge|i4i.8xlarge|i4i.16xlarge|i4i.32xlarge|i4i.metal|x2idn.metal|x2iedn.metal|c7g.medium|c7g.large|c7g.xlarge|c7g.2xlarge|c7g.4xlarge|c7g.8xlarge|c7g.12xlarge|c7g.16xlarge|mac2.metal|c6id.large|c6id.xlarge|c6id.2xlarge|c6id.4xlarge|c6id.8xlarge|c6id.12xlarge|c6id.16xlarge|c6id.24xlarge|c6id.32xlarge|c6id.metal|m6id.large|m6id.xlarge|m6id.2xlarge|m6id.4xlarge|m6id.8xlarge|m6id.12xlarge|m6id.16xlarge|m6id.24xlarge|m6id.32xlarge|m6id.metal|r6id.large|r6id.xlarge|r6id.2xlarge|r6id.4xlarge|r6id.8xlarge|r6id.12xlarge|r6id.16xlarge|r6id.24xlarge|r6id.32xlarge|r6id.metal|r6a.large|r6a.xlarge|r6a.2xlarge|r6a.4xlarge|r6a.8xlarge|r6a.12xlarge|r6a.16xlarge|r6a.24xlarge|r6a.32xlarge|r6a.48xlarge|r6a.metal|p4de.24xlarge|u-3tb1.56xlarge|u-18tb1.112xlarge|u-24tb1.112xlarge|trn1.2xlarge|trn1.32xlarge|hpc6id.32xlarge|c6in.large|c6in.xlarge|c6in.2xlarge|c6in.4xlarge|c6in.8xlarge|c6in.12xlarge|c6in.16xlarge|c6in.24xlarge|c6in.32xlarge|m6in.large|m6in.xlarge|m6in.2xlarge|m6in.4xlarge|m6in.8xlarge|m6in.12xlarge|m6in.16xlarge|m6in.24xlarge|m6in.32xlarge|m6idn.large|m6idn.xlarge|m6idn.2xlarge|m6idn.4xlarge|m6idn.8xlarge|m6idn.12xlarge|m6idn.16xlarge|m6idn.24xlarge|m6idn.32xlarge|r6in.large|r6in.xlarge|r6in.2xlarge|r6in.4xlarge|r6in.8xlarge|r6in.12xlarge|r6in.16xlarge|r6in.24xlarge|r6in.32xlarge|r6idn.large|r6idn.xlarge|r6idn.2xlarge|r6idn.4xlarge|r6idn.8xlarge|r6idn.12xlarge|r6idn.16xlarge|r6idn.24xlarge|r6idn.32xlarge|c7g.metal|m7g.medium|m7g.large|m7g.xlarge|m7g.2xlarge|m7g.4xlarge|m7g.8xlarge|m7g.12xlarge|m7g.16xlarge|m7g.metal|r7g.medium|r7g.large|r7g.xlarge|r7g.2xlarge|r7g.4xlarge|r7g.8xlarge|r7g.12xlarge|r7g.16xlarge|r7g.metal|c6in.metal|m6in.metal|m6idn.metal|r6in.metal|r6idn.metal|inf2.xlarge|inf2.8xlarge|inf2.24xlarge|inf2.48xlarge|trn1n.32xlarge|i4g.large|i4g.xlarge|i4g.2xlarge|i4g.4xlarge|i4g.8xlarge|i4g.16xlarge|hpc7g.4xlarge|hpc7g.8xlarge|hpc7g.16xlarge|c7gn.medium|c7gn.large|c7gn.xlarge|c7gn.2xlarge|c7gn.4xlarge|c7gn.8xlarge|c7gn.12xlarge|c7gn.16xlarge|p5.48xlarge|m7i.large|m7i.xlarge|m7i.2xlarge|m7i.4xlarge|m7i.8xlarge|m7i.12xlarge|m7i.16xlarge|m7i.24xlarge|m7i.48xlarge|m7i-flex.large|m7i-flex.xlarge|m7i-flex.2xlarge|m7i-flex.4xlarge|m7i-flex.8xlarge|m7a.medium|m7a.large|m7a.xlarge|m7a.2xlarge|m7a.4xlarge|m7a.8xlarge|m7a.12xlarge|m7a.16xlarge|m7a.24xlarge|m7a.32xlarge|m7a.48xlarge|m7a.metal-48xl|hpc7a.12xlarge|hpc7a.24xlarge|hpc7a.48xlarge|hpc7a.96xlarge|c7gd.medium|c7gd.large|c7gd.xlarge|c7gd.2xlarge|c7gd.4xlarge|c7gd.8xlarge|c7gd.12xlarge|c7gd.16xlarge|m7gd.medium|m7gd.large|m7gd.xlarge|m7gd.2xlarge|m7gd.4xlarge|m7gd.8xlarge|m7gd.12xlarge|m7gd.16xlarge|r7gd.medium|r7gd.large|r7gd.xlarge|r7gd.2xlarge|r7gd.4xlarge|r7gd.8xlarge|r7gd.12xlarge|r7gd.16xlarge|r7a.medium|r7a.large|r7a.xlarge|r7a.2xlarge|r7a.4xlarge|r7a.8xlarge|r7a.12xlarge|r7a.16xlarge|r7a.24xlarge|r7a.32xlarge|r7a.48xlarge|c7i.large|c7i.xlarge|c7i.2xlarge|c7i.4xlarge|c7i.8xlarge|c7i.12xlarge|c7i.16xlarge|c7i.24xlarge|c7i.48xlarge|mac2-m2pro.metal|r7iz.large|r7iz.xlarge|r7iz.2xlarge|r7iz.4xlarge|r7iz.8xlarge|r7iz.12xlarge|r7iz.16xlarge|r7iz.32xlarge|c7a.medium|c7a.large|c7a.xlarge|c7a.2xlarge|c7a.4xlarge|c7a.8xlarge|c7a.12xlarge|c7a.16xlarge|c7a.24xlarge|c7a.32xlarge|c7a.48xlarge|c7a.metal-48xl|r7a.metal-48xl|r7i.large|r7i.xlarge|r7i.2xlarge|r7i.4xlarge|r7i.8xlarge|r7i.12xlarge|r7i.16xlarge|r7i.24xlarge|r7i.48xlarge|dl2q.24xlarge|mac2-m2.metal|i4i.12xlarge|i4i.24xlarge|c7i.metal-24xl|c7i.metal-48xl|m7i.metal-24xl|m7i.metal-48xl|r7i.metal-24xl|r7i.metal-48xl|r7iz.metal-16xl|r7iz.metal-32xl|c7gd.metal|m7gd.metal|r7gd.metal|g6.xlarge|g6.2xlarge|g6.4xlarge|g6.8xlarge|g6.12xlarge|g6.16xlarge|g6.24xlarge|g6.48xlarge|gr6.4xlarge|gr6.8xlarge|c7i-flex.large|c7i-flex.xlarge|c7i-flex.2xlarge|c7i-flex.4xlarge|c7i-flex.8xlarge|u7i-12tb.224xlarge|u7in-16tb.224xlarge|u7in-24tb.224xlarge|u7in-32tb.224xlarge|u7ib-12tb.224xlarge|c7gn.metal|r8g.medium|r8g.large|r8g.xlarge|r8g.2xlarge|r8g.4xlarge|r8g.8xlarge|r8g.12xlarge|r8g.16xlarge|r8g.24xlarge|r8g.48xlarge|r8g.metal-24xl|r8g.metal-48xl|mac2-m1ultra.metal|g6e.xlarge|g6e.2xlarge|g6e.4xlarge|g6e.8xlarge|g6e.12xlarge|g6e.16xlarge|g6e.24xlarge|g6e.48xlarge|c8g.medium|c8g.large|c8g.xlarge|c8g.2xlarge|c8g.4xlarge|c8g.8xlarge|c8g.12xlarge|c8g.16xlarge|c8g.24xlarge|c8g.48xlarge|c8g.metal-24xl|c8g.metal-48xl|m8g.medium|m8g.large|m8g.xlarge|m8g.2xlarge|m8g.4xlarge|m8g.8xlarge|m8g.12xlarge|m8g.16xlarge|m8g.24xlarge|m8g.48xlarge|m8g.metal-24xl|m8g.metal-48xl|x8g.medium|x8g.large|x8g.xlarge|x8g.2xlarge|x8g.4xlarge|x8g.8xlarge|x8g.12xlarge|x8g.16xlarge|x8g.24xlarge|x8g.48xlarge|x8g.metal-24xl|x8g.metal-48xl|i7ie.large|i7ie.xlarge|i7ie.2xlarge|i7ie.3xlarge|i7ie.6xlarge|i7ie.12xlarge|i7ie.18xlarge|i7ie.24xlarge|i7ie.48xlarge|i8g.large|i8g.xlarge|i8g.2xlarge|i8g.4xlarge|i8g.8xlarge|i8g.12xlarge|i8g.16xlarge|i8g.24xlarge|i8g.metal-24xl|u7i-6tb.112xlarge|u7i-8tb.112xlarge|u7inh-32tb.480xlarge|p5e.48xlarge|p5en.48xlarge|f2.12xlarge|f2.48xlarge|trn2.48xlarge',
                    '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|i7ie.large|i7ie.xlarge|i7ie.2xlarge|i7ie.3xlarge|i7ie.6xlarge|i7ie.12xlarge|i7ie.18xlarge|i7ie.24xlarge|i7ie.48xlarge|i8g.large|i8g.xlarge|i8g.2xlarge|i8g.4xlarge|i8g.8xlarge|i8g.12xlarge|i8g.16xlarge|i8g.24xlarge|i8g.metal-24xl|u7i-6tb.112xlarge|u7i-8tb.112xlarge|u7inh-32tb.480xlarge|p5e.48xlarge|p5en.48xlarge|f2.12xlarge|f2.48xlarge|trn2.48xlarge',
            'LaunchTemplateAndOverrides' => [
                'LaunchTemplateSpecification' => [
                    'LaunchTemplateId' => '<string>',
                    'LaunchTemplateName' => '<string>',
                    'Version' => '<string>',
                ],
                'Overrides' => [
                    'AvailabilityZone' => '<string>',
                    '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>',
                        ],
                        // ...
                    ],
                    'ImageId' => '<string>',
                    'InstanceRequirements' => [
                        'AcceleratorCount' => [
                            'Max' => <integer>,
                            'Min' => <integer>,
                        ],
                        'AcceleratorManufacturers' => ['<string>', ...],
                        'AcceleratorNames' => ['<string>', ...],
                        'AcceleratorTotalMemoryMiB' => [
                            'Max' => <integer>,
                            'Min' => <integer>,
                        ],
                        'AcceleratorTypes' => ['<string>', ...],
                        'AllowedInstanceTypes' => ['<string>', ...],
                        'BareMetal' => 'included|required|excluded',
                        'BaselineEbsBandwidthMbps' => [
                            'Max' => <integer>,
                            'Min' => <integer>,
                        ],
                        'BaselinePerformanceFactors' => [
                            'Cpu' => [
                                'References' => [
                                    [
                                        'InstanceFamily' => '<string>',
                                    ],
                                    // ...
                                ],
                            ],
                        ],
                        'BurstablePerformance' => 'included|required|excluded',
                        'CpuManufacturers' => ['<string>', ...],
                        'ExcludedInstanceTypes' => ['<string>', ...],
                        'InstanceGenerations' => ['<string>', ...],
                        'LocalStorage' => 'included|required|excluded',
                        'LocalStorageTypes' => ['<string>', ...],
                        'MaxSpotPriceAsPercentageOfOptimalOnDemandPrice' => <integer>,
                        'MemoryGiBPerVCpu' => [
                            'Max' => <float>,
                            'Min' => <float>,
                        ],
                        'MemoryMiB' => [
                            'Max' => <integer>,
                            'Min' => <integer>,
                        ],
                        'NetworkBandwidthGbps' => [
                            'Max' => <float>,
                            'Min' => <float>,
                        ],
                        'NetworkInterfaceCount' => [
                            'Max' => <integer>,
                            'Min' => <integer>,
                        ],
                        'OnDemandMaxPricePercentageOverLowestPrice' => <integer>,
                        'RequireHibernateSupport' => true || false,
                        'SpotMaxPricePercentageOverLowestPrice' => <integer>,
                        'TotalLocalStorageGB' => [
                            'Max' => <float>,
                            'Min' => <float>,
                        ],
                        'VCpuCount' => [
                            'Max' => <integer>,
                            'Min' => <integer>,
                        ],
                    ],
                    'InstanceType' => 'a1.medium|a1.large|a1.xlarge|a1.2xlarge|a1.4xlarge|a1.metal|c1.medium|c1.xlarge|c3.large|c3.xlarge|c3.2xlarge|c3.4xlarge|c3.8xlarge|c4.large|c4.xlarge|c4.2xlarge|c4.4xlarge|c4.8xlarge|c5.large|c5.xlarge|c5.2xlarge|c5.4xlarge|c5.9xlarge|c5.12xlarge|c5.18xlarge|c5.24xlarge|c5.metal|c5a.large|c5a.xlarge|c5a.2xlarge|c5a.4xlarge|c5a.8xlarge|c5a.12xlarge|c5a.16xlarge|c5a.24xlarge|c5ad.large|c5ad.xlarge|c5ad.2xlarge|c5ad.4xlarge|c5ad.8xlarge|c5ad.12xlarge|c5ad.16xlarge|c5ad.24xlarge|c5d.large|c5d.xlarge|c5d.2xlarge|c5d.4xlarge|c5d.9xlarge|c5d.12xlarge|c5d.18xlarge|c5d.24xlarge|c5d.metal|c5n.large|c5n.xlarge|c5n.2xlarge|c5n.4xlarge|c5n.9xlarge|c5n.18xlarge|c5n.metal|c6g.medium|c6g.large|c6g.xlarge|c6g.2xlarge|c6g.4xlarge|c6g.8xlarge|c6g.12xlarge|c6g.16xlarge|c6g.metal|c6gd.medium|c6gd.large|c6gd.xlarge|c6gd.2xlarge|c6gd.4xlarge|c6gd.8xlarge|c6gd.12xlarge|c6gd.16xlarge|c6gd.metal|c6gn.medium|c6gn.large|c6gn.xlarge|c6gn.2xlarge|c6gn.4xlarge|c6gn.8xlarge|c6gn.12xlarge|c6gn.16xlarge|c6i.large|c6i.xlarge|c6i.2xlarge|c6i.4xlarge|c6i.8xlarge|c6i.12xlarge|c6i.16xlarge|c6i.24xlarge|c6i.32xlarge|c6i.metal|cc1.4xlarge|cc2.8xlarge|cg1.4xlarge|cr1.8xlarge|d2.xlarge|d2.2xlarge|d2.4xlarge|d2.8xlarge|d3.xlarge|d3.2xlarge|d3.4xlarge|d3.8xlarge|d3en.xlarge|d3en.2xlarge|d3en.4xlarge|d3en.6xlarge|d3en.8xlarge|d3en.12xlarge|dl1.24xlarge|f1.2xlarge|f1.4xlarge|f1.16xlarge|g2.2xlarge|g2.8xlarge|g3.4xlarge|g3.8xlarge|g3.16xlarge|g3s.xlarge|g4ad.xlarge|g4ad.2xlarge|g4ad.4xlarge|g4ad.8xlarge|g4ad.16xlarge|g4dn.xlarge|g4dn.2xlarge|g4dn.4xlarge|g4dn.8xlarge|g4dn.12xlarge|g4dn.16xlarge|g4dn.metal|g5.xlarge|g5.2xlarge|g5.4xlarge|g5.8xlarge|g5.12xlarge|g5.16xlarge|g5.24xlarge|g5.48xlarge|g5g.xlarge|g5g.2xlarge|g5g.4xlarge|g5g.8xlarge|g5g.16xlarge|g5g.metal|hi1.4xlarge|hpc6a.48xlarge|hs1.8xlarge|h1.2xlarge|h1.4xlarge|h1.8xlarge|h1.16xlarge|i2.xlarge|i2.2xlarge|i2.4xlarge|i2.8xlarge|i3.large|i3.xlarge|i3.2xlarge|i3.4xlarge|i3.8xlarge|i3.16xlarge|i3.metal|i3en.large|i3en.xlarge|i3en.2xlarge|i3en.3xlarge|i3en.6xlarge|i3en.12xlarge|i3en.24xlarge|i3en.metal|im4gn.large|im4gn.xlarge|im4gn.2xlarge|im4gn.4xlarge|im4gn.8xlarge|im4gn.16xlarge|inf1.xlarge|inf1.2xlarge|inf1.6xlarge|inf1.24xlarge|is4gen.medium|is4gen.large|is4gen.xlarge|is4gen.2xlarge|is4gen.4xlarge|is4gen.8xlarge|m1.small|m1.medium|m1.large|m1.xlarge|m2.xlarge|m2.2xlarge|m2.4xlarge|m3.medium|m3.large|m3.xlarge|m3.2xlarge|m4.large|m4.xlarge|m4.2xlarge|m4.4xlarge|m4.10xlarge|m4.16xlarge|m5.large|m5.xlarge|m5.2xlarge|m5.4xlarge|m5.8xlarge|m5.12xlarge|m5.16xlarge|m5.24xlarge|m5.metal|m5a.large|m5a.xlarge|m5a.2xlarge|m5a.4xlarge|m5a.8xlarge|m5a.12xlarge|m5a.16xlarge|m5a.24xlarge|m5ad.large|m5ad.xlarge|m5ad.2xlarge|m5ad.4xlarge|m5ad.8xlarge|m5ad.12xlarge|m5ad.16xlarge|m5ad.24xlarge|m5d.large|m5d.xlarge|m5d.2xlarge|m5d.4xlarge|m5d.8xlarge|m5d.12xlarge|m5d.16xlarge|m5d.24xlarge|m5d.metal|m5dn.large|m5dn.xlarge|m5dn.2xlarge|m5dn.4xlarge|m5dn.8xlarge|m5dn.12xlarge|m5dn.16xlarge|m5dn.24xlarge|m5dn.metal|m5n.large|m5n.xlarge|m5n.2xlarge|m5n.4xlarge|m5n.8xlarge|m5n.12xlarge|m5n.16xlarge|m5n.24xlarge|m5n.metal|m5zn.large|m5zn.xlarge|m5zn.2xlarge|m5zn.3xlarge|m5zn.6xlarge|m5zn.12xlarge|m5zn.metal|m6a.large|m6a.xlarge|m6a.2xlarge|m6a.4xlarge|m6a.8xlarge|m6a.12xlarge|m6a.16xlarge|m6a.24xlarge|m6a.32xlarge|m6a.48xlarge|m6g.metal|m6g.medium|m6g.large|m6g.xlarge|m6g.2xlarge|m6g.4xlarge|m6g.8xlarge|m6g.12xlarge|m6g.16xlarge|m6gd.metal|m6gd.medium|m6gd.large|m6gd.xlarge|m6gd.2xlarge|m6gd.4xlarge|m6gd.8xlarge|m6gd.12xlarge|m6gd.16xlarge|m6i.large|m6i.xlarge|m6i.2xlarge|m6i.4xlarge|m6i.8xlarge|m6i.12xlarge|m6i.16xlarge|m6i.24xlarge|m6i.32xlarge|m6i.metal|mac1.metal|p2.xlarge|p2.8xlarge|p2.16xlarge|p3.2xlarge|p3.8xlarge|p3.16xlarge|p3dn.24xlarge|p4d.24xlarge|r3.large|r3.xlarge|r3.2xlarge|r3.4xlarge|r3.8xlarge|r4.large|r4.xlarge|r4.2xlarge|r4.4xlarge|r4.8xlarge|r4.16xlarge|r5.large|r5.xlarge|r5.2xlarge|r5.4xlarge|r5.8xlarge|r5.12xlarge|r5.16xlarge|r5.24xlarge|r5.metal|r5a.large|r5a.xlarge|r5a.2xlarge|r5a.4xlarge|r5a.8xlarge|r5a.12xlarge|r5a.16xlarge|r5a.24xlarge|r5ad.large|r5ad.xlarge|r5ad.2xlarge|r5ad.4xlarge|r5ad.8xlarge|r5ad.12xlarge|r5ad.16xlarge|r5ad.24xlarge|r5b.large|r5b.xlarge|r5b.2xlarge|r5b.4xlarge|r5b.8xlarge|r5b.12xlarge|r5b.16xlarge|r5b.24xlarge|r5b.metal|r5d.large|r5d.xlarge|r5d.2xlarge|r5d.4xlarge|r5d.8xlarge|r5d.12xlarge|r5d.16xlarge|r5d.24xlarge|r5d.metal|r5dn.large|r5dn.xlarge|r5dn.2xlarge|r5dn.4xlarge|r5dn.8xlarge|r5dn.12xlarge|r5dn.16xlarge|r5dn.24xlarge|r5dn.metal|r5n.large|r5n.xlarge|r5n.2xlarge|r5n.4xlarge|r5n.8xlarge|r5n.12xlarge|r5n.16xlarge|r5n.24xlarge|r5n.metal|r6g.medium|r6g.large|r6g.xlarge|r6g.2xlarge|r6g.4xlarge|r6g.8xlarge|r6g.12xlarge|r6g.16xlarge|r6g.metal|r6gd.medium|r6gd.large|r6gd.xlarge|r6gd.2xlarge|r6gd.4xlarge|r6gd.8xlarge|r6gd.12xlarge|r6gd.16xlarge|r6gd.metal|r6i.large|r6i.xlarge|r6i.2xlarge|r6i.4xlarge|r6i.8xlarge|r6i.12xlarge|r6i.16xlarge|r6i.24xlarge|r6i.32xlarge|r6i.metal|t1.micro|t2.nano|t2.micro|t2.small|t2.medium|t2.large|t2.xlarge|t2.2xlarge|t3.nano|t3.micro|t3.small|t3.medium|t3.large|t3.xlarge|t3.2xlarge|t3a.nano|t3a.micro|t3a.small|t3a.medium|t3a.large|t3a.xlarge|t3a.2xlarge|t4g.nano|t4g.micro|t4g.small|t4g.medium|t4g.large|t4g.xlarge|t4g.2xlarge|u-6tb1.56xlarge|u-6tb1.112xlarge|u-9tb1.112xlarge|u-12tb1.112xlarge|u-6tb1.metal|u-9tb1.metal|u-12tb1.metal|u-18tb1.metal|u-24tb1.metal|vt1.3xlarge|vt1.6xlarge|vt1.24xlarge|x1.16xlarge|x1.32xlarge|x1e.xlarge|x1e.2xlarge|x1e.4xlarge|x1e.8xlarge|x1e.16xlarge|x1e.32xlarge|x2iezn.2xlarge|x2iezn.4xlarge|x2iezn.6xlarge|x2iezn.8xlarge|x2iezn.12xlarge|x2iezn.metal|x2gd.medium|x2gd.large|x2gd.xlarge|x2gd.2xlarge|x2gd.4xlarge|x2gd.8xlarge|x2gd.12xlarge|x2gd.16xlarge|x2gd.metal|z1d.large|z1d.xlarge|z1d.2xlarge|z1d.3xlarge|z1d.6xlarge|z1d.12xlarge|z1d.metal|x2idn.16xlarge|x2idn.24xlarge|x2idn.32xlarge|x2iedn.xlarge|x2iedn.2xlarge|x2iedn.4xlarge|x2iedn.8xlarge|x2iedn.16xlarge|x2iedn.24xlarge|x2iedn.32xlarge|c6a.large|c6a.xlarge|c6a.2xlarge|c6a.4xlarge|c6a.8xlarge|c6a.12xlarge|c6a.16xlarge|c6a.24xlarge|c6a.32xlarge|c6a.48xlarge|c6a.metal|m6a.metal|i4i.large|i4i.xlarge|i4i.2xlarge|i4i.4xlarge|i4i.8xlarge|i4i.16xlarge|i4i.32xlarge|i4i.metal|x2idn.metal|x2iedn.metal|c7g.medium|c7g.large|c7g.xlarge|c7g.2xlarge|c7g.4xlarge|c7g.8xlarge|c7g.12xlarge|c7g.16xlarge|mac2.metal|c6id.large|c6id.xlarge|c6id.2xlarge|c6id.4xlarge|c6id.8xlarge|c6id.12xlarge|c6id.16xlarge|c6id.24xlarge|c6id.32xlarge|c6id.metal|m6id.large|m6id.xlarge|m6id.2xlarge|m6id.4xlarge|m6id.8xlarge|m6id.12xlarge|m6id.16xlarge|m6id.24xlarge|m6id.32xlarge|m6id.metal|r6id.large|r6id.xlarge|r6id.2xlarge|r6id.4xlarge|r6id.8xlarge|r6id.12xlarge|r6id.16xlarge|r6id.24xlarge|r6id.32xlarge|r6id.metal|r6a.large|r6a.xlarge|r6a.2xlarge|r6a.4xlarge|r6a.8xlarge|r6a.12xlarge|r6a.16xlarge|r6a.24xlarge|r6a.32xlarge|r6a.48xlarge|r6a.metal|p4de.24xlarge|u-3tb1.56xlarge|u-18tb1.112xlarge|u-24tb1.112xlarge|trn1.2xlarge|trn1.32xlarge|hpc6id.32xlarge|c6in.large|c6in.xlarge|c6in.2xlarge|c6in.4xlarge|c6in.8xlarge|c6in.12xlarge|c6in.16xlarge|c6in.24xlarge|c6in.32xlarge|m6in.large|m6in.xlarge|m6in.2xlarge|m6in.4xlarge|m6in.8xlarge|m6in.12xlarge|m6in.16xlarge|m6in.24xlarge|m6in.32xlarge|m6idn.large|m6idn.xlarge|m6idn.2xlarge|m6idn.4xlarge|m6idn.8xlarge|m6idn.12xlarge|m6idn.16xlarge|m6idn.24xlarge|m6idn.32xlarge|r6in.large|r6in.xlarge|r6in.2xlarge|r6in.4xlarge|r6in.8xlarge|r6in.12xlarge|r6in.16xlarge|r6in.24xlarge|r6in.32xlarge|r6idn.large|r6idn.xlarge|r6idn.2xlarge|r6idn.4xlarge|r6idn.8xlarge|r6idn.12xlarge|r6idn.16xlarge|r6idn.24xlarge|r6idn.32xlarge|c7g.metal|m7g.medium|m7g.large|m7g.xlarge|m7g.2xlarge|m7g.4xlarge|m7g.8xlarge|m7g.12xlarge|m7g.16xlarge|m7g.metal|r7g.medium|r7g.large|r7g.xlarge|r7g.2xlarge|r7g.4xlarge|r7g.8xlarge|r7g.12xlarge|r7g.16xlarge|r7g.metal|c6in.metal|m6in.metal|m6idn.metal|r6in.metal|r6idn.metal|inf2.xlarge|inf2.8xlarge|inf2.24xlarge|inf2.48xlarge|trn1n.32xlarge|i4g.large|i4g.xlarge|i4g.2xlarge|i4g.4xlarge|i4g.8xlarge|i4g.16xlarge|hpc7g.4xlarge|hpc7g.8xlarge|hpc7g.16xlarge|c7gn.medium|c7gn.large|c7gn.xlarge|c7gn.2xlarge|c7gn.4xlarge|c7gn.8xlarge|c7gn.12xlarge|c7gn.16xlarge|p5.48xlarge|m7i.large|m7i.xlarge|m7i.2xlarge|m7i.4xlarge|m7i.8xlarge|m7i.12xlarge|m7i.16xlarge|m7i.24xlarge|m7i.48xlarge|m7i-flex.large|m7i-flex.xlarge|m7i-flex.2xlarge|m7i-flex.4xlarge|m7i-flex.8xlarge|m7a.medium|m7a.large|m7a.xlarge|m7a.2xlarge|m7a.4xlarge|m7a.8xlarge|m7a.12xlarge|m7a.16xlarge|m7a.24xlarge|m7a.32xlarge|m7a.48xlarge|m7a.metal-48xl|hpc7a.12xlarge|hpc7a.24xlarge|hpc7a.48xlarge|hpc7a.96xlarge|c7gd.medium|c7gd.large|c7gd.xlarge|c7gd.2xlarge|c7gd.4xlarge|c7gd.8xlarge|c7gd.12xlarge|c7gd.16xlarge|m7gd.medium|m7gd.large|m7gd.xlarge|m7gd.2xlarge|m7gd.4xlarge|m7gd.8xlarge|m7gd.12xlarge|m7gd.16xlarge|r7gd.medium|r7gd.large|r7gd.xlarge|r7gd.2xlarge|r7gd.4xlarge|r7gd.8xlarge|r7gd.12xlarge|r7gd.16xlarge|r7a.medium|r7a.large|r7a.xlarge|r7a.2xlarge|r7a.4xlarge|r7a.8xlarge|r7a.12xlarge|r7a.16xlarge|r7a.24xlarge|r7a.32xlarge|r7a.48xlarge|c7i.large|c7i.xlarge|c7i.2xlarge|c7i.4xlarge|c7i.8xlarge|c7i.12xlarge|c7i.16xlarge|c7i.24xlarge|c7i.48xlarge|mac2-m2pro.metal|r7iz.large|r7iz.xlarge|r7iz.2xlarge|r7iz.4xlarge|r7iz.8xlarge|r7iz.12xlarge|r7iz.16xlarge|r7iz.32xlarge|c7a.medium|c7a.large|c7a.xlarge|c7a.2xlarge|c7a.4xlarge|c7a.8xlarge|c7a.12xlarge|c7a.16xlarge|c7a.24xlarge|c7a.32xlarge|c7a.48xlarge|c7a.metal-48xl|r7a.metal-48xl|r7i.large|r7i.xlarge|r7i.2xlarge|r7i.4xlarge|r7i.8xlarge|r7i.12xlarge|r7i.16xlarge|r7i.24xlarge|r7i.48xlarge|dl2q.24xlarge|mac2-m2.metal|i4i.12xlarge|i4i.24xlarge|c7i.metal-24xl|c7i.metal-48xl|m7i.metal-24xl|m7i.metal-48xl|r7i.metal-24xl|r7i.metal-48xl|r7iz.metal-16xl|r7iz.metal-32xl|c7gd.metal|m7gd.metal|r7gd.metal|g6.xlarge|g6.2xlarge|g6.4xlarge|g6.8xlarge|g6.12xlarge|g6.16xlarge|g6.24xlarge|g6.48xlarge|gr6.4xlarge|gr6.8xlarge|c7i-flex.large|c7i-flex.xlarge|c7i-flex.2xlarge|c7i-flex.4xlarge|c7i-flex.8xlarge|u7i-12tb.224xlarge|u7in-16tb.224xlarge|u7in-24tb.224xlarge|u7in-32tb.224xlarge|u7ib-12tb.224xlarge|c7gn.metal|r8g.medium|r8g.large|r8g.xlarge|r8g.2xlarge|r8g.4xlarge|r8g.8xlarge|r8g.12xlarge|r8g.16xlarge|r8g.24xlarge|r8g.48xlarge|r8g.metal-24xl|r8g.metal-48xl|mac2-m1ultra.metal|g6e.xlarge|g6e.2xlarge|g6e.4xlarge|g6e.8xlarge|g6e.12xlarge|g6e.16xlarge|g6e.24xlarge|g6e.48xlarge|c8g.medium|c8g.large|c8g.xlarge|c8g.2xlarge|c8g.4xlarge|c8g.8xlarge|c8g.12xlarge|c8g.16xlarge|c8g.24xlarge|c8g.48xlarge|c8g.metal-24xl|c8g.metal-48xl|m8g.medium|m8g.large|m8g.xlarge|m8g.2xlarge|m8g.4xlarge|m8g.8xlarge|m8g.12xlarge|m8g.16xlarge|m8g.24xlarge|m8g.48xlarge|m8g.metal-24xl|m8g.metal-48xl|x8g.medium|x8g.large|x8g.xlarge|x8g.2xlarge|x8g.4xlarge|x8g.8xlarge|x8g.12xlarge|x8g.16xlarge|x8g.24xlarge|x8g.48xlarge|x8g.metal-24xl|x8g.metal-48xl|i7ie.large|i7ie.xlarge|i7ie.2xlarge|i7ie.3xlarge|i7ie.6xlarge|i7ie.12xlarge|i7ie.18xlarge|i7ie.24xlarge|i7ie.48xlarge|i8g.large|i8g.xlarge|i8g.2xlarge|i8g.4xlarge|i8g.8xlarge|i8g.12xlarge|i8g.16xlarge|i8g.24xlarge|i8g.metal-24xl|u7i-6tb.112xlarge|u7i-8tb.112xlarge|u7inh-32tb.480xlarge|p5e.48xlarge|p5en.48xlarge|f2.12xlarge|f2.48xlarge|trn2.48xlarge',
                    '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|declarative-policies-report|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|verified-access-endpoint-target|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|declarative-policies-report|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|verified-access-endpoint-target|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|declarative-policies-report|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|verified-access-endpoint-target|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|declarative-policies-report|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|verified-access-endpoint-target|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|declarative-policies-report|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|verified-access-endpoint-target|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|declarative-policies-report|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|verified-access-endpoint-target|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|declarative-policies-report|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|verified-access-endpoint-target|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|declarative-policies-report|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|verified-access-endpoint-target|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|declarative-policies-report|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|verified-access-endpoint-target|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|declarative-policies-report|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|verified-access-endpoint-target|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|declarative-policies-report|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|verified-access-endpoint-target|ipam-external-resource-verification-token',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
]);

Parameter Details

Members
ClientToken
Type: string

A client token for the IPAM resource discovery.

Description
Type: string

A description for the IPAM resource discovery.

DryRun
Type: boolean

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

OperatingRegions
Type: Array of AddIpamOperatingRegion structures

Operating Regions for the IPAM resource discovery. Operating Regions are Amazon Web Services Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only discovers and monitors resources in the Amazon Web Services Regions you select as operating Regions.

TagSpecifications
Type: Array of TagSpecification structures

Tag specifications for the IPAM resource discovery.

Result Syntax

[
    'IpamResourceDiscovery' => [
        'Description' => '<string>',
        'IpamResourceDiscoveryArn' => '<string>',
        'IpamResourceDiscoveryId' => '<string>',
        'IpamResourceDiscoveryRegion' => '<string>',
        'IsDefault' => true || false,
        'OperatingRegions' => [
            [
                'RegionName' => '<string>',
            ],
            // ...
        ],
        'OrganizationalUnitExclusions' => [
            [
                'OrganizationsEntityPath' => '<string>',
            ],
            // ...
        ],
        'OwnerId' => '<string>',
        'State' => 'create-in-progress|create-complete|create-failed|modify-in-progress|modify-complete|modify-failed|delete-in-progress|delete-complete|delete-failed|isolate-in-progress|isolate-complete|restore-in-progress',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
    ],
]

Result Details

Members
IpamResourceDiscovery
Type: IpamResourceDiscovery structure

An IPAM resource discovery.

Errors

There are no errors described for this operation.

CreateIpamScope

$result = $client->createIpamScope([/* ... */]);
$promise = $client->createIpamScopeAsync([/* ... */]);

Create an IPAM scope. In IPAM, a scope is the highest-level container within IPAM. An IPAM contains two default scopes. Each scope represents the IP space for a single network. The private scope is intended for all private IP address space. The public scope is intended for all public IP address space. Scopes enable you to reuse IP addresses across multiple unconnected networks without causing IP address overlap or conflict.

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

Parameter Syntax

$result = $client->createIpamScope([
    'ClientToken' => '<string>',
    'Description' => '<string>',
    'DryRun' => true || false,
    'IpamId' => '<string>', // REQUIRED
    'TagSpecifications' => [
        [
            'ResourceType' => 'capacity-reservation|client-vpn-endpoint|customer-gateway|carrier-gateway|coip-pool|declarative-policies-report|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|verified-access-endpoint-target|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|declarative-policies-report|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|verified-access-endpoint-target|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 Store instance launch parameters in Amazon EC2 launch templates in the Amazon EC2 User Guide.

To clone an existing launch template as the basis for a new launch template, use the Amazon EC2 console. The API, SDKs, and CLI do not support cloning a template. For more information, see Create a launch template from an existing launch template in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->createLaunchTemplate([
    'ClientToken' => '<string>',
    'DryRun' => true || false,
    'LaunchTemplateData' => [ // REQUIRED
        'BlockDeviceMappings' => [
            [
                'DeviceName' => '<string>',
                'Ebs' => [
                    'DeleteOnTermination' => true || false,
                    'Encrypted' => true || false,
                    'Iops' => <integer>,
                    'KmsKeyId' => '<string>',
                    'SnapshotId' => '<string>',
                    'Throughput' => <integer>,
                    'VolumeSize' => <integer>,
                    'VolumeType' => 'standard|io1|io2|gp2|sc1|st1|gp3',
                ],
                'NoDevice' => '<string>',
                'VirtualName' => '<string>',
            ],
            // ...
        ],
        'CapacityReservationSpecification' => [
            'CapacityReservationPreference' => 'capacity-reservations-only|open|none',
            'CapacityReservationTarget' => [
                'CapacityReservationId' => '<string>',
                'CapacityReservationResourceGroupArn' => '<string>',
            ],
        ],
        'CpuOptions' => [
            'AmdSevSnp' => 'enabled|disabled',
            'CoreCount' => <integer>,
            'ThreadsPerCore' => <integer>,
        ],
        'CreditSpecification' => [
            'CpuCredits' => '<string>', // REQUIRED
        ],
        'DisableApiStop' => true || false,
        'DisableApiTermination' => true || false,
        'EbsOptimized' => true || false,
        'ElasticGpuSpecifications' => [
            [
                'Type' => '<string>', // REQUIRED
            ],
            // ...
        ],
        'ElasticInferenceAccelerators' => [
            [
                'Count' => <integer>,
                'Type' => '<string>', // REQUIRED
            ],
            // ...
        ],
        'EnclaveOptions' => [
            'Enabled' => true || false,
        ],
        'HibernationOptions' => [
            'Configured' => true || false,
        ],
        'IamInstanceProfile' => [
            'Arn' => '<string>',
            'Name' => '<string>',
        ],
        'ImageId' => '<string>',
        'InstanceInitiatedShutdownBehavior' => 'stop|terminate',
        'InstanceMarketOptions' => [
            'MarketType' => 'spot|capacity-block',
            'SpotOptions' => [
                'BlockDurationMinutes' => <integer>,
                'InstanceInterruptionBehavior' => 'hibernate|stop|terminate',
                'MaxPrice' => '<string>',
                'SpotInstanceType' => 'one-time|persistent',
                'ValidUntil' => <integer || string || DateTime>,
            ],
        ],
        'InstanceRequirements' => [
            'AcceleratorCount' => [
                'Max' => <integer>,
                'Min' => <integer>,
            ],
            'AcceleratorManufacturers' => ['<string>', ...],
            'AcceleratorNames' => ['<string>', ...],
            'AcceleratorTotalMemoryMiB' => [
                'Max' => <integer>,
                'Min' => <integer>,
            ],
            'AcceleratorTypes' => ['<string>', ...],
            'AllowedInstanceTypes' => ['<string>', ...],
            'BareMetal' => 'included|required|excluded',
            'BaselineEbsBandwidthMbps' => [
                'Max' => <integer>,
                'Min' => <integer>,
            ],
            'BaselinePerformanceFactors' => [
                'Cpu' => [
                    'References' => [
                        [
                            'InstanceFamily' => '<string>',
                        ],
                        // ...
                    ],
                ],
            ],
            'BurstablePerformance' => 'included|required|excluded',
            'CpuManufacturers' => ['<string>', ...],
            'ExcludedInstanceTypes' => ['<string>', ...],
            'InstanceGenerations' => ['<string>', ...],
            'LocalStorage' => 'included|required|excluded',
            'LocalStorageTypes' => ['<string>', ...],
            'MaxSpotPriceAsPercentageOfOptimalOnDemandPrice' => <integer>,
            'MemoryGiBPerVCpu' => [
                'Max' => <float>,
                'Min' => <float>,
            ],
            'MemoryMiB' => [ // REQUIRED
                'Max' => <integer>,
                'Min' => <integer>, // REQUIRED
            ],
            'NetworkBandwidthGbps' => [
                'Max' => <float>,
                'Min' => <float>,
            ],
            'NetworkInterfaceCount' => [
                'Max' => <integer>,
                'Min' => <integer>,
            ],
            'OnDemandMaxPricePercentageOverLowestPrice' => <integer>,
            'RequireHibernateSupport' => true || false,
            'SpotMaxPricePercentageOverLowestPrice' => <integer>,
            'TotalLocalStorageGB' => [
                'Max' => <float>,
                'Min' => <float>,
            ],
            'VCpuCount' => [ // REQUIRED
                'Max' => <integer>,
                'Min' => <integer>, // REQUIRED
            ],
        ],
        'InstanceType' => 'a1.medium|a1.large|a1.xlarge|a1.2xlarge|a1.4xlarge|a1.metal|c1.medium|c1.xlarge|c3.large|c3.xlarge|c3.2xlarge|c3.4xlarge|c3.8xlarge|c4.large|c4.xlarge|c4.2xlarge|c4.4xlarge|c4.8xlarge|c5.large|c5.xlarge|c5.2xlarge|c5.4xlarge|c5.9xlarge|c5.12xlarge|c5.18xlarge|c5.24xlarge|c5.metal|c5a.large|c5a.xlarge|c5a.2xlarge|c5a.4xlarge|c5a.8xlarge|c5a.12xlarge|c5a.16xlarge|c5a.24xlarge|c5ad.large|c5ad.xlarge|c5ad.2xlarge|c5ad.4xlarge|c5ad.8xlarge|c5ad.12xlarge|c5ad.16xlarge|c5ad.24xlarge|c5d.large|c5d.xlarge|c5d.2xlarge|c5d.4xlarge|c5d.9xlarge|c5d.12xlarge|c5d.18xlarge|c5d.24xlarge|c5d.metal|c5n.large|c5n.xlarge|c5n.2xlarge|c5n.4xlarge|c5n.9xlarge|c5n.18xlarge|c5n.metal|c6g.medium|c6g.large|c6g.xlarge|c6g.2xlarge|c6g.4xlarge|c6g.8xlarge|c6g.12xlarge|c6g.16xlarge|c6g.metal|c6gd.medium|c6gd.large|c6gd.xlarge|c6gd.2xlarge|c6gd.4xlarge|c6gd.8xlarge|c6gd.12xlarge|c6gd.16xlarge|c6gd.metal|c6gn.medium|c6gn.large|c6gn.xlarge|c6gn.2xlarge|c6gn.4xlarge|c6gn.8xlarge|c6gn.12xlarge|c6gn.16xlarge|c6i.large|c6i.xlarge|c6i.2xlarge|c6i.4xlarge|c6i.8xlarge|c6i.12xlarge|c6i.16xlarge|c6i.24xlarge|c6i.32xlarge|c6i.metal|cc1.4xlarge|cc2.8xlarge|cg1.4xlarge|cr1.8xlarge|d2.xlarge|d2.2xlarge|d2.4xlarge|d2.8xlarge|d3.xlarge|d3.2xlarge|d3.4xlarge|d3.8xlarge|d3en.xlarge|d3en.2xlarge|d3en.4xlarge|d3en.6xlarge|d3en.8xlarge|d3en.12xlarge|dl1.24xlarge|f1.2xlarge|f1.4xlarge|f1.16xlarge|g2.2xlarge|g2.8xlarge|g3.4xlarge|g3.8xlarge|g3.16xlarge|g3s.xlarge|g4ad.xlarge|g4ad.2xlarge|g4ad.4xlarge|g4ad.8xlarge|g4ad.16xlarge|g4dn.xlarge|g4dn.2xlarge|g4dn.4xlarge|g4dn.8xlarge|g4dn.12xlarge|g4dn.16xlarge|g4dn.metal|g5.xlarge|g5.2xlarge|g5.4xlarge|g5.8xlarge|g5.12xlarge|g5.16xlarge|g5.24xlarge|g5.48xlarge|g5g.xlarge|g5g.2xlarge|g5g.4xlarge|g5g.8xlarge|g5g.16xlarge|g5g.metal|hi1.4xlarge|hpc6a.48xlarge|hs1.8xlarge|h1.2xlarge|h1.4xlarge|h1.8xlarge|h1.16xlarge|i2.xlarge|i2.2xlarge|i2.4xlarge|i2.8xlarge|i3.large|i3.xlarge|i3.2xlarge|i3.4xlarge|i3.8xlarge|i3.16xlarge|i3.metal|i3en.large|i3en.xlarge|i3en.2xlarge|i3en.3xlarge|i3en.6xlarge|i3en.12xlarge|i3en.24xlarge|i3en.metal|im4gn.large|im4gn.xlarge|im4gn.2xlarge|im4gn.4xlarge|im4gn.8xlarge|im4gn.16xlarge|inf1.xlarge|inf1.2xlarge|inf1.6xlarge|inf1.24xlarge|is4gen.medium|is4gen.large|is4gen.xlarge|is4gen.2xlarge|is4gen.4xlarge|is4gen.8xlarge|m1.small|m1.medium|m1.large|m1.xlarge|m2.xlarge|m2.2xlarge|m2.4xlarge|m3.medium|m3.large|m3.xlarge|m3.2xlarge|m4.large|m4.xlarge|m4.2xlarge|m4.4xlarge|m4.10xlarge|m4.16xlarge|m5.large|m5.xlarge|m5.2xlarge|m5.4xlarge|m5.8xlarge|m5.12xlarge|m5.16xlarge|m5.24xlarge|m5.metal|m5a.large|m5a.xlarge|m5a.2xlarge|m5a.4xlarge|m5a.8xlarge|m5a.12xlarge|m5a.16xlarge|m5a.24xlarge|m5ad.large|m5ad.xlarge|m5ad.2xlarge|m5ad.4xlarge|m5ad.8xlarge|m5ad.12xlarge|m5ad.16xlarge|m5ad.24xlarge|m5d.large|m5d.xlarge|m5d.2xlarge|m5d.4xlarge|m5d.8xlarge|m5d.12xlarge|m5d.16xlarge|m5d.24xlarge|m5d.metal|m5dn.large|m5dn.xlarge|m5dn.2xlarge|m5dn.4xlarge|m5dn.8xlarge|m5dn.12xlarge|m5dn.16xlarge|m5dn.24xlarge|m5dn.metal|m5n.large|m5n.xlarge|m5n.2xlarge|m5n.4xlarge|m5n.8xlarge|m5n.12xlarge|m5n.16xlarge|m5n.24xlarge|m5n.metal|m5zn.large|m5zn.xlarge|m5zn.2xlarge|m5zn.3xlarge|m5zn.6xlarge|m5zn.12xlarge|m5zn.metal|m6a.large|m6a.xlarge|m6a.2xlarge|m6a.4xlarge|m6a.8xlarge|m6a.12xlarge|m6a.16xlarge|m6a.24xlarge|m6a.32xlarge|m6a.48xlarge|m6g.metal|m6g.medium|m6g.large|m6g.xlarge|m6g.2xlarge|m6g.4xlarge|m6g.8xlarge|m6g.12xlarge|m6g.16xlarge|m6gd.metal|m6gd.medium|m6gd.large|m6gd.xlarge|m6gd.2xlarge|m6gd.4xlarge|m6gd.8xlarge|m6gd.12xlarge|m6gd.16xlarge|m6i.large|m6i.xlarge|m6i.2xlarge|m6i.4xlarge|m6i.8xlarge|m6i.12xlarge|m6i.16xlarge|m6i.24xlarge|m6i.32xlarge|m6i.metal|mac1.metal|p2.xlarge|p2.8xlarge|p2.16xlarge|p3.2xlarge|p3.8xlarge|p3.16xlarge|p3dn.24xlarge|p4d.24xlarge|r3.large|r3.xlarge|r3.2xlarge|r3.4xlarge|r3.8xlarge|r4.large|r4.xlarge|r4.2xlarge|r4.4xlarge|r4.8xlarge|r4.16xlarge|r5.large|r5.xlarge|r5.2xlarge|r5.4xlarge|r5.8xlarge|r5.12xlarge|r5.16xlarge|r5.24xlarge|r5.metal|r5a.large|r5a.xlarge|r5a.2xlarge|r5a.4xlarge|r5a.8xlarge|r5a.12xlarge|r5a.16xlarge|r5a.24xlarge|r5ad.large|r5ad.xlarge|r5ad.2xlarge|r5ad.4xlarge|r5ad.8xlarge|r5ad.12xlarge|r5ad.16xlarge|r5ad.24xlarge|r5b.large|r5b.xlarge|r5b.2xlarge|r5b.4xlarge|r5b.8xlarge|r5b.12xlarge|r5b.16xlarge|r5b.24xlarge|r5b.metal|r5d.large|r5d.xlarge|r5d.2xlarge|r5d.4xlarge|r5d.8xlarge|r5d.12xlarge|r5d.16xlarge|r5d.24xlarge|r5d.metal|r5dn.large|r5dn.xlarge|r5dn.2xlarge|r5dn.4xlarge|r5dn.8xlarge|r5dn.12xlarge|r5dn.16xlarge|r5dn.24xlarge|r5dn.metal|r5n.large|r5n.xlarge|r5n.2xlarge|r5n.4xlarge|r5n.8xlarge|r5n.12xlarge|r5n.16xlarge|r5n.24xlarge|r5n.metal|r6g.medium|r6g.large|r6g.xlarge|r6g.2xlarge|r6g.4xlarge|r6g.8xlarge|r6g.12xlarge|r6g.16xlarge|r6g.metal|r6gd.medium|r6gd.large|r6gd.xlarge|r6gd.2xlarge|r6gd.4xlarge|r6gd.8xlarge|r6gd.12xlarge|r6gd.16xlarge|r6gd.metal|r6i.large|r6i.xlarge|r6i.2xlarge|r6i.4xlarge|r6i.8xlarge|r6i.12xlarge|r6i.16xlarge|r6i.24xlarge|r6i.32xlarge|r6i.metal|t1.micro|t2.nano|t2.micro|t2.small|t2.medium|t2.large|t2.xlarge|t2.2xlarge|t3.nano|t3.micro|t3.small|t3.medium|t3.large|t3.xlarge|t3.2xlarge|t3a.nano|t3a.micro|t3a.small|t3a.medium|t3a.large|t3a.xlarge|t3a.2xlarge|t4g.nano|t4g.micro|t4g.small|t4g.medium|t4g.large|t4g.xlarge|t4g.2xlarge|u-6tb1.56xlarge|u-6tb1.112xlarge|u-9tb1.112xlarge|u-12tb1.112xlarge|u-6tb1.metal|u-9tb1.metal|u-12tb1.metal|u-18tb1.metal|u-24tb1.metal|vt1.3xlarge|vt1.6xlarge|vt1.24xlarge|x1.16xlarge|x1.32xlarge|x1e.xlarge|x1e.2xlarge|x1e.4xlarge|x1e.8xlarge|x1e.16xlarge|x1e.32xlarge|x2iezn.2xlarge|x2iezn.4xlarge|x2iezn.6xlarge|x2iezn.8xlarge|x2iezn.12xlarge|x2iezn.metal|x2gd.medium|x2gd.large|x2gd.xlarge|x2gd.2xlarge|x2gd.4xlarge|x2gd.8xlarge|x2gd.12xlarge|x2gd.16xlarge|x2gd.metal|z1d.large|z1d.xlarge|z1d.2xlarge|z1d.3xlarge|z1d.6xlarge|z1d.12xlarge|z1d.metal|x2idn.16xlarge|x2idn.24xlarge|x2idn.32xlarge|x2iedn.xlarge|x2iedn.2xlarge|x2iedn.4xlarge|x2iedn.8xlarge|x2iedn.16xlarge|x2iedn.24xlarge|x2iedn.32xlarge|c6a.large|c6a.xlarge|c6a.2xlarge|c6a.4xlarge|c6a.8xlarge|c6a.12xlarge|c6a.16xlarge|c6a.24xlarge|c6a.32xlarge|c6a.48xlarge|c6a.metal|m6a.metal|i4i.large|i4i.xlarge|i4i.2xlarge|i4i.4xlarge|i4i.8xlarge|i4i.16xlarge|i4i.32xlarge|i4i.metal|x2idn.metal|x2iedn.metal|c7g.medium|c7g.large|c7g.xlarge|c7g.2xlarge|c7g.4xlarge|c7g.8xlarge|c7g.12xlarge|c7g.16xlarge|mac2.metal|c6id.large|c6id.xlarge|c6id.2xlarge|c6id.4xlarge|c6id.8xlarge|c6id.12xlarge|c6id.16xlarge|c6id.24xlarge|c6id.32xlarge|c6id.metal|m6id.large|m6id.xlarge|m6id.2xlarge|m6id.4xlarge|m6id.8xlarge|m6id.12xlarge|m6id.16xlarge|m6id.24xlarge|m6id.32xlarge|m6id.metal|r6id.large|r6id.xlarge|r6id.2xlarge|r6id.4xlarge|r6id.8xlarge|r6id.12xlarge|r6id.16xlarge|r6id.24xlarge|r6id.32xlarge|r6id.metal|r6a.large|r6a.xlarge|r6a.2xlarge|r6a.4xlarge|r6a.8xlarge|r6a.12xlarge|r6a.16xlarge|r6a.24xlarge|r6a.32xlarge|r6a.48xlarge|r6a.metal|p4de.24xlarge|u-3tb1.56xlarge|u-18tb1.112xlarge|u-24tb1.112xlarge|trn1.2xlarge|trn1.32xlarge|hpc6id.32xlarge|c6in.large|c6in.xlarge|c6in.2xlarge|c6in.4xlarge|c6in.8xlarge|c6in.12xlarge|c6in.16xlarge|c6in.24xlarge|c6in.32xlarge|m6in.large|m6in.xlarge|m6in.2xlarge|m6in.4xlarge|m6in.8xlarge|m6in.12xlarge|m6in.16xlarge|m6in.24xlarge|m6in.32xlarge|m6idn.large|m6idn.xlarge|m6idn.2xlarge|m6idn.4xlarge|m6idn.8xlarge|m6idn.12xlarge|m6idn.16xlarge|m6idn.24xlarge|m6idn.32xlarge|r6in.large|r6in.xlarge|r6in.2xlarge|r6in.4xlarge|r6in.8xlarge|r6in.12xlarge|r6in.16xlarge|r6in.24xlarge|r6in.32xlarge|r6idn.large|r6idn.xlarge|r6idn.2xlarge|r6idn.4xlarge|r6idn.8xlarge|r6idn.12xlarge|r6idn.16xlarge|r6idn.24xlarge|r6idn.32xlarge|c7g.metal|m7g.medium|m7g.large|m7g.xlarge|m7g.2xlarge|m7g.4xlarge|m7g.8xlarge|m7g.12xlarge|m7g.16xlarge|m7g.metal|r7g.medium|r7g.large|r7g.xlarge|r7g.2xlarge|r7g.4xlarge|r7g.8xlarge|r7g.12xlarge|r7g.16xlarge|r7g.metal|c6in.metal|m6in.metal|m6idn.metal|r6in.metal|r6idn.metal|inf2.xlarge|inf2.8xlarge|inf2.24xlarge|inf2.48xlarge|trn1n.32xlarge|i4g.large|i4g.xlarge|i4g.2xlarge|i4g.4xlarge|i4g.8xlarge|i4g.16xlarge|hpc7g.4xlarge|hpc7g.8xlarge|hpc7g.16xlarge|c7gn.medium|c7gn.large|c7gn.xlarge|c7gn.2xlarge|c7gn.4xlarge|c7gn.8xlarge|c7gn.12xlarge|c7gn.16xlarge|p5.48xlarge|m7i.large|m7i.xlarge|m7i.2xlarge|m7i.4xlarge|m7i.8xlarge|m7i.12xlarge|m7i.16xlarge|m7i.24xlarge|m7i.48xlarge|m7i-flex.large|m7i-flex.xlarge|m7i-flex.2xlarge|m7i-flex.4xlarge|m7i-flex.8xlarge|m7a.medium|m7a.large|m7a.xlarge|m7a.2xlarge|m7a.4xlarge|m7a.8xlarge|m7a.12xlarge|m7a.16xlarge|m7a.24xlarge|m7a.32xlarge|m7a.48xlarge|m7a.metal-48xl|hpc7a.12xlarge|hpc7a.24xlarge|hpc7a.48xlarge|hpc7a.96xlarge|c7gd.medium|c7gd.large|c7gd.xlarge|c7gd.2xlarge|c7gd.4xlarge|c7gd.8xlarge|c7gd.12xlarge|c7gd.16xlarge|m7gd.medium|m7gd.large|m7gd.xlarge|m7gd.2xlarge|m7gd.4xlarge|m7gd.8xlarge|m7gd.12xlarge|m7gd.16xlarge|r7gd.medium|r7gd.large|r7gd.xlarge|r7gd.2xlarge|r7gd.4xlarge|r7gd.8xlarge|r7gd.12xlarge|r7gd.16xlarge|r7a.medium|r7a.large|r7a.xlarge|r7a.2xlarge|r7a.4xlarge|r7a.8xlarge|r7a.12xlarge|r7a.16xlarge|r7a.24xlarge|r7a.32xlarge|r7a.48xlarge|c7i.large|c7i.xlarge|c7i.2xlarge|c7i.4xlarge|c7i.8xlarge|c7i.12xlarge|c7i.16xlarge|c7i.24xlarge|c7i.48xlarge|mac2-m2pro.metal|r7iz.large|r7iz.xlarge|r7iz.2xlarge|r7iz.4xlarge|r7iz.8xlarge|r7iz.12xlarge|r7iz.16xlarge|r7iz.32xlarge|c7a.medium|c7a.large|c7a.xlarge|c7a.2xlarge|c7a.4xlarge|c7a.8xlarge|c7a.12xlarge|c7a.16xlarge|c7a.24xlarge|c7a.32xlarge|c7a.48xlarge|c7a.metal-48xl|r7a.metal-48xl|r7i.large|r7i.xlarge|r7i.2xlarge|r7i.4xlarge|r7i.8xlarge|r7i.12xlarge|r7i.16xlarge|r7i.24xlarge|r7i.48xlarge|dl2q.24xlarge|mac2-m2.metal|i4i.12xlarge|i4i.24xlarge|c7i.metal-24xl|c7i.metal-48xl|m7i.metal-24xl|m7i.metal-48xl|r7i.metal-24xl|r7i.metal-48xl|r7iz.metal-16xl|r7iz.metal-32xl|c7gd.metal|m7gd.metal|r7gd.metal|g6.xlarge|g6.2xlarge|g6.4xlarge|g6.8xlarge|g6.12xlarge|g6.16xlarge|g6.24xlarge|g6.48xlarge|gr6.4xlarge|gr6.8xlarge|c7i-flex.large|c7i-flex.xlarge|c7i-flex.2xlarge|c7i-flex.4xlarge|c7i-flex.8xlarge|u7i-12tb.224xlarge|u7in-16tb.224xlarge|u7in-24tb.224xlarge|u7in-32tb.224xlarge|u7ib-12tb.224xlarge|c7gn.metal|r8g.medium|r8g.large|r8g.xlarge|r8g.2xlarge|r8g.4xlarge|r8g.8xlarge|r8g.12xlarge|r8g.16xlarge|r8g.24xlarge|r8g.48xlarge|r8g.metal-24xl|r8g.metal-48xl|mac2-m1ultra.metal|g6e.xlarge|g6e.2xlarge|g6e.4xlarge|g6e.8xlarge|g6e.12xlarge|g6e.16xlarge|g6e.24xlarge|g6e.48xlarge|c8g.medium|c8g.large|c8g.xlarge|c8g.2xlarge|c8g.4xlarge|c8g.8xlarge|c8g.12xlarge|c8g.16xlarge|c8g.24xlarge|c8g.48xlarge|c8g.metal-24xl|c8g.metal-48xl|m8g.medium|m8g.large|m8g.xlarge|m8g.2xlarge|m8g.4xlarge|m8g.8xlarge|m8g.12xlarge|m8g.16xlarge|m8g.24xlarge|m8g.48xlarge|m8g.metal-24xl|m8g.metal-48xl|x8g.medium|x8g.large|x8g.xlarge|x8g.2xlarge|x8g.4xlarge|x8g.8xlarge|x8g.12xlarge|x8g.16xlarge|x8g.24xlarge|x8g.48xlarge|x8g.metal-24xl|x8g.metal-48xl|i7ie.large|i7ie.xlarge|i7ie.2xlarge|i7ie.3xlarge|i7ie.6xlarge|i7ie.12xlarge|i7ie.18xlarge|i7ie.24xlarge|i7ie.48xlarge|i8g.large|i8g.xlarge|i8g.2xlarge|i8g.4xlarge|i8g.8xlarge|i8g.12xlarge|i8g.16xlarge|i8g.24xlarge|i8g.metal-24xl|u7i-6tb.112xlarge|u7i-8tb.112xlarge|u7inh-32tb.480xlarge|p5e.48xlarge|p5en.48xlarge|f2.12xlarge|f2.48xlarge|trn2.48xlarge',
        '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>',
            ],
            // ...
        ],
        'NetworkPerformanceOptions' => [
            'BandwidthWeighting' => 'default|vpc-1|ebs-1',
        ],
        'Operator' => [
            'Principal' => '<string>',
        ],
        'Placement' => [
            'Affinity' => '<string>',
            'AvailabilityZone' => '<string>',
            'GroupId' => '<string>',
            'GroupName' => '<string>',
            'HostId' => '<string>',
            'HostResourceGroupArn' => '<string>',
            'PartitionNumber' => <integer>,
            'SpreadDomain' => '<string>',
            'Tenancy' => 'default|dedicated|host',
        ],
        'PrivateDnsNameOptions' => [
            'EnableResourceNameDnsAAAARecord' => true || false,
            'EnableResourceNameDnsARecord' => true || false,
            'HostnameType' => 'ip-name|resource-name',
        ],
        'RamDiskId' => '<string>',
        'SecurityGroupIds' => ['<string>', ...],
        'SecurityGroups' => ['<string>', ...],
        'TagSpecifications' => [
            [
                'ResourceType' => 'capacity-reservation|client-vpn-endpoint|customer-gateway|carrier-gateway|coip-pool|declarative-policies-report|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|verified-access-endpoint-target|ipam-external-resource-verification-token',
                'Tags' => [
                    [
                        'Key' => '<string>',
                        'Value' => '<string>',
                    ],
                    // ...
                ],
            ],
            // ...
        ],
        'UserData' => '<string>',
    ],
    'LaunchTemplateName' => '<string>', // REQUIRED
    'Operator' => [
        'Principal' => '<string>',
    ],
    'TagSpecifications' => [
        [
            'ResourceType' => 'capacity-reservation|client-vpn-endpoint|customer-gateway|carrier-gateway|coip-pool|declarative-policies-report|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|verified-access-endpoint-target|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. If a client token isn't specified, a randomly generated token is used in the request to ensure idempotency.

For more information, see Ensuring idempotency.

Constraint: Maximum 128 ASCII characters.

DryRun
Type: boolean

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

LaunchTemplateData
Required: Yes
Type: RequestLaunchTemplateData structure

The information for the launch template.

LaunchTemplateName
Required: Yes
Type: string

A name for the launch template.

Operator
Type: OperatorRequest structure

Reserved for internal use.

TagSpecifications
Type: Array of TagSpecification structures

The tags to apply to the launch template on creation. To tag the launch template, the resource type must be launch-template.

To specify the tags for the resources that are created when an instance is launched, you must use the TagSpecifications parameter in the launch template data structure.

VersionDescription
Type: string

A description for the first version of the launch template.

Result Syntax

[
    'LaunchTemplate' => [
        'CreateTime' => <DateTime>,
        'CreatedBy' => '<string>',
        'DefaultVersionNumber' => <integer>,
        'LatestVersionNumber' => <integer>,
        'LaunchTemplateId' => '<string>',
        'LaunchTemplateName' => '<string>',
        'Operator' => [
            'Managed' => true || false,
            'Principal' => '<string>',
        ],
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
    ],
    'Warning' => [
        'Errors' => [
            [
                'Code' => '<string>',
                'Message' => '<string>',
            ],
            // ...
        ],
    ],
]

Result Details

Members
LaunchTemplate
Type: LaunchTemplate structure

Information about the launch template.

Warning
Type: ValidationWarning structure

If the launch template contains parameters or parameter combinations that are not valid, an error code and an error message are returned for each issue that's found.

Errors

There are no errors described for this operation.

Examples

Example 1: To create a launch template

This example creates a launch template that specifies the subnet in which to launch the instance, assigns a public IP address and an IPv6 address to the instance, and creates a tag for the instance.

$result = $client->createLaunchTemplate([
    'LaunchTemplateData' => [
        'ImageId' => 'ami-8c1be5f6',
        'InstanceType' => 't2.small',
        'NetworkInterfaces' => [
            [
                'AssociatePublicIpAddress' => 1,
                'DeviceIndex' => 0,
                'Ipv6AddressCount' => 1,
                'SubnetId' => 'subnet-7b16de0c',
            ],
        ],
        'TagSpecifications' => [
            [
                'ResourceType' => 'instance',
                'Tags' => [
                    [
                        'Key' => 'Name',
                        'Value' => 'webserver',
                    ],
                ],
            ],
        ],
    ],
    'LaunchTemplateName' => 'my-template',
    'VersionDescription' => 'WebVersion1',
]);

Result syntax:

[
    'LaunchTemplate' => [
        'CreateTime' => ,
        'CreatedBy' => 'arn:aws:iam::123456789012:root',
        'DefaultVersionNumber' => 1,
        'LatestVersionNumber' => 1,
        'LaunchTemplateId' => 'lt-01238c059e3466abc',
        'LaunchTemplateName' => 'my-template',
    ],
]

CreateLaunchTemplateVersion

$result = $client->createLaunchTemplateVersion([/* ... */]);
$promise = $client->createLaunchTemplateVersionAsync([/* ... */]);

Creates a new version of a launch template. You must specify an existing launch template, either by name or ID. You can determine whether the new version inherits parameters from a source version, and add or overwrite parameters as needed.

Launch template versions are numbered in the order in which they are created. You can't specify, change, or replace the numbering of launch template versions.

Launch templates are immutable; after you create a launch template, you can't modify it. Instead, you can create a new version of the launch template that includes the changes that you require.

For more information, see Modify a launch template (manage launch template versions) in the Amazon EC2 User Guide.

Parameter Syntax

$result = $client->createLaunchTemplateVersion([
    'ClientToken' => '<string>',
    'DryRun' => true || false,
    'LaunchTemplateData' => [ // REQUIRED
        'BlockDeviceMappings' => [
            [
                'DeviceName' => '<string>',
                'Ebs' => [
                    'DeleteOnTermination' => true || false,
                    'Encrypted' => true || false,
                    'Iops' => <integer>,
                    'KmsKeyId' => '<string>',
                    'SnapshotId' => '<string>',
                    'Throughput' => <integer>,
                    'VolumeSize' => <integer>,
                    'VolumeType' => 'standard|io1|io2|gp2|sc1|st1|gp3',
                ],
                'NoDevice' => '<string>',
                'VirtualName' => '<string>',
            ],
            // ...
        ],
        'CapacityReservationSpecification' => [
            'CapacityReservationPreference' => 'capacity-reservations-only|open|none',
            'CapacityReservationTarget' => [
                'CapacityReservationId' => '<string>',
                'CapacityReservationResourceGroupArn' => '<string>',
            ],
        ],
        'CpuOptions' => [
            'AmdSevSnp' => 'enabled|disabled',
            'CoreCount' => <integer>,
            'ThreadsPerCore' => <integer>,
        ],
        'CreditSpecification' => [
            'CpuCredits' => '<string>', // REQUIRED
        ],
        'DisableApiStop' => true || false,
        'DisableApiTermination' => true || false,
        'EbsOptimized' => true || false,
        'ElasticGpuSpecifications' => [
            [
                'Type' => '<string>', // REQUIRED
            ],
            // ...
        ],
        'ElasticInferenceAccelerators' => [
            [
                'Count' => <integer>,
                'Type' => '<string>', // REQUIRED
            ],
            // ...
        ],
        'EnclaveOptions' => [
            'Enabled' => true || false,
        ],
        'HibernationOptions' => [
            'Configured' => true || false,
        ],
        'IamInstanceProfile' => [
            'Arn' => '<string>',
            'Name' => '<string>',
        ],
        'ImageId' => '<string>',
        'InstanceInitiatedShutdownBehavior' => 'stop|terminate',
        'InstanceMarketOptions' => [
            'MarketType' => 'spot|capacity-block',
            'SpotOptions' => [
                'BlockDurationMinutes' => <integer>,
                'InstanceInterruptionBehavior' => 'hibernate|stop|terminate',
                'MaxPrice' => '<string>',
                'SpotInstanceType' => 'one-time|persistent',
                'ValidUntil' => <integer || string || DateTime>,
            ],
        ],
        'InstanceRequirements' => [
            'AcceleratorCount' => [
                'Max' => <integer>,
                'Min' => <integer>,
            ],
            'AcceleratorManufacturers' => ['<string>', ...],
            'AcceleratorNames' => ['<string>', ...],
            'AcceleratorTotalMemoryMiB' => [
                'Max' => <integer>,
                'Min' => <integer>,
            ],
            'AcceleratorTypes' => ['<string>', ...],
            'AllowedInstanceTypes' => ['<string>', ...],
            'BareMetal' => 'included|required|excluded',
            'BaselineEbsBandwidthMbps' => [
                'Max' => <integer>,
                'Min' => <integer>,
            ],
            'BaselinePerformanceFactors' => [
                'Cpu' => [
                    'References' => [
                        [
                            'InstanceFamily' => '<string>',
                        ],
                        // ...
                    ],
                ],
            ],
            'BurstablePerformance' => 'included|required|excluded',
            'CpuManufacturers' => ['<string>', ...],
            'ExcludedInstanceTypes' => ['<string>', ...],
            'InstanceGenerations' => ['<string>', ...],
            'LocalStorage' => 'included|required|excluded',
            'LocalStorageTypes' => ['<string>', ...],
            'MaxSpotPriceAsPercentageOfOptimalOnDemandPrice' => <integer>,
            'MemoryGiBPerVCpu' => [
                'Max' => <float>,
                'Min' => <float>,
            ],
            'MemoryMiB' => [ // REQUIRED
                'Max' => <integer>,
                'Min' => <integer>, // REQUIRED
            ],
            'NetworkBandwidthGbps' => [
                'Max' => <float>,
                'Min' => <float>,
            ],
            'NetworkInterfaceCount' => [
                'Max' => <integer>,
                'Min' => <integer>,
            ],
            'OnDemandMaxPricePercentageOverLowestPrice' => <integer>,
            'RequireHibernateSupport' => true || false,
            'SpotMaxPricePercentageOverLowestPrice' => <integer>,
            'TotalLocalStorageGB' => [
                'Max' => <float>,
                'Min' => <float>,
            ],
            'VCpuCount' => [ // REQUIRED
                'Max' => <integer>,
                'Min' => <integer>, // REQUIRED
            ],
        ],
        'InstanceType' => 'a1.medium|a1.large|a1.xlarge|a1.2xlarge|a1.4xlarge|a1.metal|c1.medium|c1.xlarge|c3.large|c3.xlarge|c3.2xlarge|c3.4xlarge|c3.8xlarge|c4.large|c4.xlarge|c4.2xlarge|c4.4xlarge|c4.8xlarge|c5.large|c5.xlarge|c5.2xlarge|c5.4xlarge|c5.9xlarge|c5.12xlarge|c5.18xlarge|c5.24xlarge|c5.metal|c5a.large|c5a.xlarge|c5a.2xlarge|c5a.4xlarge|c5a.8xlarge|c5a.12xlarge|c5a.16xlarge|c5a.24xlarge|c5ad.large|c5ad.xlarge|c5ad.2xlarge|c5ad.4xlarge|c5ad.8xlarge|c5ad.12xlarge|c5ad.16xlarge|c5ad.24xlarge|c5d.large|c5d.xlarge|c5d.2xlarge|c5d.4xlarge|c5d.9xlarge|c5d.12xlarge|c5d.18xlarge|c5d.24xlarge|c5d.metal|c5n.large|c5n.xlarge|c5n.2xlarge|c5n.4xlarge|c5n.9xlarge|c5n.18xlarge|c5n.metal|c6g.medium|c6g.large|c6g.xlarge|c6g.2xlarge|c6g.4xlarge|c6g.8xlarge|c6g.12xlarge|c6g.16xlarge|c6g.metal|c6gd.medium|c6gd.large|c6gd.xlarge|c6gd.2xlarge|c6gd.4xlarge|c6gd.8xlarge|c6gd.12xlarge|c6gd.16xlarge|c6gd.metal|c6gn.medium|c6gn.large|c6gn.xlarge|c6gn.2xlarge|c6gn.4xlarge|c6gn.8xlarge|c6gn.12xlarge|c6gn.16xlarge|c6i.large|c6i.xlarge|c6i.2xlarge|c6i.4xlarge|c6i.8xlarge|c6i.12xlarge|c6i.16xlarge|c6i.24xlarge|c6i.32xlarge|c6i.metal|cc1.4xlarge|cc2.8xlarge|cg1.4xlarge|cr1.8xlarge|d2.xlarge|d2.2xlarge|d2.4xlarge|d2.8xlarge|d3.xlarge|d3.2xlarge|d3.4xlarge|d3.8xlarge|d3en.xlarge|d3en.2xlarge|d3en.4xlarge|d3en.6xlarge|d3en.8xlarge|d3en.12xlarge|dl1.24xlarge|f1.2xlarge|f1.4xlarge|f1.16xlarge|g2.2xlarge|g2.8xlarge|g3.4xlarge|g3.8xlarge|g3.16xlarge|g3s.xlarge|g4ad.xlarge|g4ad.2xlarge|g4ad.4xlarge|g4ad.8xlarge|g4ad.16xlarge|g4dn.xlarge|g4dn.2xlarge|g4dn.4xlarge|g4dn.8xlarge|g4dn.12xlarge|g4dn.16xlarge|g4dn.metal|g5.xlarge|g5.2xlarge|g5.4xlarge|g5.8xlarge|g5.12xlarge|g5.16xlarge|g5.24xlarge|g5.48xlarge|g5g.xlarge|g5g.2xlarge|g5g.4xlarge|g5g.8xlarge|g5g.16xlarge|g5g.metal|hi1.4xlarge|hpc6a.48xlarge|hs1.8xlarge|h1.2xlarge|h1.4xlarge|h1.8xlarge|h1.16xlarge|i2.xlarge|i2.2xlarge|i2.4xlarge|i2.8xlarge|i3.large|i3.xlarge|i3.2xlarge|i3.4xlarge|i3.8xlarge|i3.16xlarge|i3.metal|i3en.large|i3en.xlarge|i3en.2xlarge|i3en.3xlarge|i3en.6xlarge|i3en.12xlarge|i3en.24xlarge|i3en.metal|im4gn.large|im4gn.xlarge|im4gn.2xlarge|im4gn.4xlarge|im4gn.8xlarge|im4gn.16xlarge|inf1.xlarge|inf1.2xlarge|inf1.6xlarge|inf1.24xlarge|is4gen.medium|is4gen.large|is4gen.xlarge|is4gen.2xlarge|is4gen.4xlarge|is4gen.8xlarge|m1.small|m1.medium|m1.large|m1.xlarge|m2.xlarge|m2.2xlarge|m2.4xlarge|m3.medium|m3.large|m3.xlarge|m3.2xlarge|m4.large|m4.xlarge|m4.2xlarge|m4.4xlarge|m4.10xlarge|m4.16xlarge|m5.large|m5.xlarge|m5.2xlarge|m5.4xlarge|m5.8xlarge|m5.12xlarge|m5.16xlarge|m5.24xlarge|m5.metal|m5a.large|m5a.xlarge|m5a.2xlarge|m5a.4xlarge|m5a.8xlarge|m5a.12xlarge|m5a.16xlarge|m5a.24xlarge|m5ad.large|m5ad.xlarge|m5ad.2xlarge|m5ad.4xlarge|m5ad.8xlarge|m5ad.12xlarge|m5ad.16xlarge|m5ad.24xlarge|m5d.large|m5d.xlarge|m5d.2xlarge|m5d.4xlarge|m5d.8xlarge|m5d.12xlarge|m5d.16xlarge|m5d.24xlarge|m5d.metal|m5dn.large|m5dn.xlarge|m5dn.2xlarge|m5dn.4xlarge|m5dn.8xlarge|m5dn.12xlarge|m5dn.16xlarge|m5dn.24xlarge|m5dn.metal|m5n.large|m5n.xlarge|m5n.2xlarge|m5n.4xlarge|m5n.8xlarge|m5n.12xlarge|m5n.16xlarge|m5n.24xlarge|m5n.metal|m5zn.large|m5zn.xlarge|m5zn.2xlarge|m5zn.3xlarge|m5zn.6xlarge|m5zn.12xlarge|m5zn.metal|m6a.large|m6a.xlarge|m6a.2xlarge|m6a.4xlarge|m6a.8xlarge|m6a.12xlarge|m6a.16xlarge|m6a.24xlarge|m6a.32xlarge|m6a.48xlarge|m6g.metal|m6g.medium|m6g.large|m6g.xlarge|m6g.2xlarge|m6g.4xlarge|m6g.8xlarge|m6g.12xlarge|m6g.16xlarge|m6gd.metal|m6gd.medium|m6gd.large|m6gd.xlarge|m6gd.2xlarge|m6gd.4xlarge|m6gd.8xlarge|m6gd.12xlarge|m6gd.16xlarge|m6i.large|m6i.xlarge|m6i.2xlarge|m6i.4xlarge|m6i.8xlarge|m6i.12xlarge|m6i.16xlarge|m6i.24xlarge|m6i.32xlarge|m6i.metal|mac1.metal|p2.xlarge|p2.8xlarge|p2.16xlarge|p3.2xlarge|p3.8xlarge|p3.16xlarge|p3dn.24xlarge|p4d.24xlarge|r3.large|r3.xlarge|r3.2xlarge|r3.4xlarge|r3.8xlarge|r4.large|r4.xlarge|r4.2xlarge|r4.4xlarge|r4.8xlarge|r4.16xlarge|r5.large|r5.xlarge|r5.2xlarge|r5.4xlarge|r5.8xlarge|r5.12xlarge|r5.16xlarge|r5.24xlarge|r5.metal|r5a.large|r5a.xlarge|r5a.2xlarge|r5a.4xlarge|r5a.8xlarge|r5a.12xlarge|r5a.16xlarge|r5a.24xlarge|r5ad.large|r5ad.xlarge|r5ad.2xlarge|r5ad.4xlarge|r5ad.8xlarge|r5ad.12xlarge|r5ad.16xlarge|r5ad.24xlarge|r5b.large|r5b.xlarge|r5b.2xlarge|r5b.4xlarge|r5b.8xlarge|r5b.12xlarge|r5b.16xlarge|r5b.24xlarge|r5b.metal|r5d.large|r5d.xlarge|r5d.2xlarge|r5d.4xlarge|r5d.8xlarge|r5d.12xlarge|r5d.16xlarge|r5d.24xlarge|r5d.metal|r5dn.large|r5dn.xlarge|r5dn.2xlarge|r5dn.4xlarge|r5dn.8xlarge|r5dn.12xlarge|r5dn.16xlarge|r5dn.24xlarge|r5dn.metal|r5n.large|r5n.xlarge|r5n.2xlarge|r5n.4xlarge|r5n.8xlarge|r5n.12xlarge|r5n.16xlarge|r5n.24xlarge|r5n.metal|r6g.medium|r6g.large|r6g.xlarge|r6g.2xlarge|r6g.4xlarge|r6g.8xlarge|r6g.12xlarge|r6g.16xlarge|r6g.metal|r6gd.medium|r6gd.large|r6gd.xlarge|r6gd.2xlarge|r6gd.4xlarge|r6gd.8xlarge|r6gd.12xlarge|r6gd.16xlarge|r6gd.metal|r6i.large|r6i.xlarge|r6i.2xlarge|r6i.4xlarge|r6i.8xlarge|r6i.12xlarge|r6i.16xlarge|r6i.24xlarge|r6i.32xlarge|r6i.metal|t1.micro|t2.nano|t2.micro|t2.small|t2.medium|t2.large|t2.xlarge|t2.2xlarge|t3.nano|t3.micro|t3.small|t3.medium|t3.large|t3.xlarge|t3.2xlarge|t3a.nano|t3a.micro|t3a.small|t3a.medium|t3a.large|t3a.xlarge|t3a.2xlarge|t4g.nano|t4g.micro|t4g.small|t4g.medium|t4g.large|t4g.xlarge|t4g.2xlarge|u-6tb1.56xlarge|u-6tb1.112xlarge|u-9tb1.112xlarge|u-12tb1.112xlarge|u-6tb1.metal|u-9tb1.metal|u-12tb1.metal|u-18tb1.metal|u-24tb1.metal|vt1.3xlarge|vt1.6xlarge|vt1.24xlarge|x1.16xlarge|x1.32xlarge|x1e.xlarge|x1e.2xlarge|x1e.4xlarge|x1e.8xlarge|x1e.16xlarge|x1e.32xlarge|x2iezn.2xlarge|x2iezn.4xlarge|x2iezn.6xlarge|x2iezn.8xlarge|x2iezn.12xlarge|x2iezn.metal|x2gd.medium|x2gd.large|x2gd.xlarge|x2gd.2xlarge|x2gd.4xlarge|x2gd.8xlarge|x2gd.12xlarge|x2gd.16xlarge|x2gd.metal|z1d.large|z1d.xlarge|z1d.2xlarge|z1d.3xlarge|z1d.6xlarge|z1d.12xlarge|z1d.metal|x2idn.16xlarge|x2idn.24xlarge|x2idn.32xlarge|x2iedn.xlarge|x2iedn.2xlarge|x2iedn.4xlarge|x2iedn.8xlarge|x2iedn.16xlarge|x2iedn.24xlarge|x2iedn.32xlarge|c6a.large|c6a.xlarge|c6a.2xlarge|c6a.4xlarge|c6a.8xlarge|c6a.12xlarge|c6a.16xlarge|c6a.24xlarge|c6a.32xlarge|c6a.48xlarge|c6a.metal|m6a.metal|i4i.large|i4i.xlarge|i4i.2xlarge|i4i.4xlarge|i4i.8xlarge|i4i.16xlarge|i4i.32xlarge|i4i.metal|x2idn.metal|x2iedn.metal|c7g.medium|c7g.large|c7g.xlarge|c7g.2xlarge|c7g.4xlarge|c7g.8xlarge|c7g.12xlarge|c7g.16xlarge|mac2.metal|c6id.large|c6id.xlarge|c6id.2xlarge|c6id.4xlarge|c6id.8xlarge|c6id.12xlarge|c6id.16xlarge|c6id.24xlarge|c6id.32xlarge|c6id.metal|m6id.large|m6id.xlarge|m6id.2xlarge|m6id.4xlarge|m6id.8xlarge|m6id.12xlarge|m6id.16xlarge|m6id.24xlarge|m6id.32xlarge|m6id.metal|r6id.large|r6id.xlarge|r6id.2xlarge|r6id.4xlarge|r6id.8xlarge|r6id.12xlarge|r6id.16xlarge|r6id.24xlarge|r6id.32xlarge|r6id.metal|r6a.large|r6a.xlarge|r6a.2xlarge|r6a.4xlarge|r6a.8xlarge|r6a.12xlarge|r6a.16xlarge|r6a.24xlarge|r6a.32xlarge|r6a.48xlarge|r6a.metal|p4de.24xlarge|u-3tb1.56xlarge|u-18tb1.112xlarge|u-24tb1.112xlarge|trn1.2xlarge|trn1.32xlarge|hpc6id.32xlarge|c6in.large|c6in.xlarge|c6in.2xlarge|c6in.4xlarge|c6in.8xlarge|c6in.12xlarge|c6in.16xlarge|c6in.24xlarge|c6in.32xlarge|m6in.large|m6in.xlarge|m6in.2xlarge|m6in.4xlarge|m6in.8xlarge|m6in.12xlarge|m6in.16xlarge|m6in.24xlarge|m6in.32xlarge|m6idn.large|m6idn.xlarge|m6idn.2xlarge|m6idn.4xlarge|m6idn.8xlarge|m6idn.12xlarge|m6idn.16xlarge|m6idn.24xlarge|m6idn.32xlarge|r6in.large|r6in.xlarge|r6in.2xlarge|r6in.4xlarge|r6in.8xlarge|r6in.12xlarge|r6in.16xlarge|r6in.24xlarge|r6in.32xlarge|r6idn.large|r6idn.xlarge|r6idn.2xlarge|r6idn.4xlarge|r6idn.8xlarge|r6idn.12xlarge|r6idn.16xlarge|r6idn.24xlarge|r6idn.32xlarge|c7g.metal|m7g.medium|m7g.large|m7g.xlarge|m7g.2xlarge|m7g.4xlarge|m7g.8xlarge|m7g.12xlarge|m7g.16xlarge|m7g.metal|r7g.medium|r7g.large|r7g.xlarge|r7g.2xlarge|r7g.4xlarge|r7g.8xlarge|r7g.12xlarge|r7g.16xlarge|r7g.metal|c6in.metal|m6in.metal|m6idn.metal|r6in.metal|r6idn.metal|inf2.xlarge|inf2.8xlarge|inf2.24xlarge|inf2.48xlarge|trn1n.32xlarge|i4g.large|i4g.xlarge|i4g.2xlarge|i4g.4xlarge|i4g.8xlarge|i4g.16xlarge|hpc7g.4xlarge|hpc7g.8xlarge|hpc7g.16xlarge|c7gn.medium|c7gn.large|c7gn.xlarge|c7gn.2xlarge|c7gn.4xlarge|c7gn.8xlarge|c7gn.12xlarge|c7gn.16xlarge|p5.48xlarge|m7i.large|m7i.xlarge|m7i.2xlarge|m7i.4xlarge|m7i.8xlarge|m7i.12xlarge|m7i.16xlarge|m7i.24xlarge|m7i.48xlarge|m7i-flex.large|m7i-flex.xlarge|m7i-flex.2xlarge|m7i-flex.4xlarge|m7i-flex.8xlarge|m7a.medium|m7a.large|m7a.xlarge|m7a.2xlarge|m7a.4xlarge|m7a.8xlarge|m7a.12xlarge|m7a.16xlarge|m7a.24xlarge|m7a.32xlarge|m7a.48xlarge|m7a.metal-48xl|hpc7a.12xlarge|hpc7a.24xlarge|hpc7a.48xlarge|hpc7a.96xlarge|c7gd.medium|c7gd.large|c7gd.xlarge|c7gd.2xlarge|c7gd.4xlarge|c7gd.8xlarge|c7gd.12xlarge|c7gd.16xlarge|m7gd.medium|m7gd.large|m7gd.xlarge|m7gd.2xlarge|m7gd.4xlarge|m7gd.8xlarge|m7gd.12xlarge|m7gd.16xlarge|r7gd.medium|r7gd.large|r7gd.xlarge|r7gd.2xlarge|r7gd.4xlarge|r7gd.8xlarge|r7gd.12xlarge|r7gd.16xlarge|r7a.medium|r7a.large|r7a.xlarge|r7a.2xlarge|r7a.4xlarge|r7a.8xlarge|r7a.12xlarge|r7a.16xlarge|r7a.24xlarge|r7a.32xlarge|r7a.48xlarge|c7i.large|c7i.xlarge|c7i.2xlarge|c7i.4xlarge|c7i.8xlarge|c7i.12xlarge|c7i.16xlarge|c7i.24xlarge|c7i.48xlarge|mac2-m2pro.metal|r7iz.large|r7iz.xlarge|r7iz.2xlarge|r7iz.4xlarge|r7iz.8xlarge|r7iz.12xlarge|r7iz.16xlarge|r7iz.32xlarge|c7a.medium|c7a.large|c7a.xlarge|c7a.2xlarge|c7a.4xlarge|c7a.8xlarge|c7a.12xlarge|c7a.16xlarge|c7a.24xlarge|c7a.32xlarge|c7a.48xlarge|c7a.metal-48xl|r7a.metal-48xl|r7i.large|r7i.xlarge|r7i.2xlarge|r7i.4xlarge|r7i.8xlarge|r7i.12xlarge|r7i.16xlarge|r7i.24xlarge|r7i.48xlarge|dl2q.24xlarge|mac2-m2.metal|i4i.12xlarge|i4i.24xlarge|c7i.metal-24xl|c7i.metal-48xl|m7i.metal-24xl|m7i.metal-48xl|r7i.metal-24xl|r7i.metal-48xl|r7iz.metal-16xl|r7iz.metal-32xl|c7gd.metal|m7gd.metal|r7gd.metal|g6.xlarge|g6.2xlarge|g6.4xlarge|g6.8xlarge|g6.12xlarge|g6.16xlarge|g6.24xlarge|g6.48xlarge|gr6.4xlarge|gr6.8xlarge|c7i-flex.large|c7i-flex.xlarge|c7i-flex.2xlarge|c7i-flex.4xlarge|c7i-flex.8xlarge|u7i-12tb.224xlarge|u7in-16tb.224xlarge|u7in-24tb.224xlarge|u7in-32tb.224xlarge|u7ib-12tb.224xlarge|c7gn.metal|r8g.medium|r8g.large|r8g.xlarge|r8g.2xlarge|r8g.4xlarge|r8g.8xlarge|r8g.12xlarge|r8g.16xlarge|r8g.24xlarge|r8g.48xlarge|r8g.metal-24xl|r8g.metal-48xl|mac2-m1ultra.metal|g6e.xlarge|g6e.2xlarge|g6e.4xlarge|g6e.8xlarge|g6e.12xlarge|g6e.16xlarge|g6e.24xlarge|g6e.48xlarge|c8g.medium|c8g.large|c8g.xlarge|c8g.2xlarge|c8g.4xlarge|c8g.8xlarge|c8g.12xlarge|c8g.16xlarge|c8g.24xlarge|c8g.48xlarge|c8g.metal-24xl|c8g.metal-48xl|m8g.medium|m8g.large|m8g.xlarge|m8g.2xlarge|m8g.4xlarge|m8g.8xlarge|m8g.12xlarge|m8g.16xlarge|m8g.24xlarge|m8g.48xlarge|m8g.metal-24xl|m8g.metal-48xl|x8g.medium|x8g.large|x8g.xlarge|x8g.2xlarge|x8g.4xlarge|x8g.8xlarge|x8g.12xlarge|x8g.16xlarge|x8g.24xlarge|x8g.48xlarge|x8g.metal-24xl|x8g.metal-48xl|i7ie.large|i7ie.xlarge|i7ie.2xlarge|i7ie.3xlarge|i7ie.6xlarge|i7ie.12xlarge|i7ie.18xlarge|i7ie.24xlarge|i7ie.48xlarge|i8g.large|i8g.xlarge|i8g.2xlarge|i8g.4xlarge|i8g.8xlarge|i8g.12xlarge|i8g.16xlarge|i8g.24xlarge|i8g.metal-24xl|u7i-6tb.112xlarge|u7i-8tb.112xlarge|u7inh-32tb.480xlarge|p5e.48xlarge|p5en.48xlarge|f2.12xlarge|f2.48xlarge|trn2.48xlarge',
        '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>',
            ],
            // ...
        ],
        'NetworkPerformanceOptions' => [
            'BandwidthWeighting' => 'default|vpc-1|ebs-1',
        ],
        'Operator' => [
            'Principal' => '<string>',
        ],
        'Placement' => [
            'Affinity' => '<string>',
            'AvailabilityZone' => '<string>',
            'GroupId' => '<string>',
            'GroupName' => '<string>',
            'HostId' => '<string>',
            'HostResourceGroupArn' => '<string>',
            'PartitionNumber' => <integer>,
            'SpreadDomain' => '<string>',
            'Tenancy' => 'default|dedicated|host',
        ],
        'PrivateDnsNameOptions' => [
            'EnableResourceNameDnsAAAARecord' => true || false,
            'EnableResourceNameDnsARecord' => true || false,
            'HostnameType' => 'ip-name|resource-name',
        ],
        'RamDiskId' => '<string>',
        'SecurityGroupIds' => ['<string>', ...],
        'SecurityGroups' => ['<string>', ...],
        'TagSpecifications' => [
            [
                'ResourceType' => 'capacity-reservation|client-vpn-endpoint|customer-gateway|carrier-gateway|coip-pool|declarative-policies-report|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|verified-access-endpoint-target|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. If a client token isn't specified, a randomly generated token is used in the request to ensure idempotency.

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' => 'capacity-reservations-only|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>,
                ],
                'BaselinePerformanceFactors' => [
                    'Cpu' => [
                        'References' => [
                            [
                                'InstanceFamily' => '<string>',
                            ],
                            // ...
                        ],
                    ],
                ],
                'BurstablePerformance' => 'included|required|excluded',
                'CpuManufacturers' => ['<string>', ...],
                'ExcludedInstanceTypes' => ['<string>', ...],
                'InstanceGenerations' => ['<string>', ...],
                'LocalStorage' => 'included|required|excluded',
                'LocalStorageTypes' => ['<string>', ...],
                'MaxSpotPriceAsPercentageOfOptimalOnDemandPrice' => <integer>,
                'MemoryGiBPerVCpu' => [
                    'Max' => <float>,
                    'Min' => <float>,
                ],
                'MemoryMiB' => [
                    'Max' => <integer>,
                    'Min' => <integer>,
                ],
                'NetworkBandwidthGbps' => [
                    'Max' => <float>,
                    'Min' => <float>,
                ],
                'NetworkInterfaceCount' => [
                    'Max' => <integer>,
                    'Min' => <integer>,
                ],
                'OnDemandMaxPricePercentageOverLowestPrice' => <integer>,
                'RequireHibernateSupport' => true || false,
                'SpotMaxPricePercentageOverLowestPrice' => <integer>,
                'TotalLocalStorageGB' => [
                    'Max' => <float>,
                    'Min' => <float>,
                ],
                'VCpuCount' => [
                    'Max' => <integer>,
                    'Min' => <integer>,
                ],
            ],
            'InstanceType' => 'a1.medium|a1.large|a1.xlarge|a1.2xlarge|a1.4xlarge|a1.metal|c1.medium|c1.xlarge|c3.large|c3.xlarge|c3.2xlarge|c3.4xlarge|c3.8xlarge|c4.large|c4.xlarge|c4.2xlarge|c4.4xlarge|c4.8xlarge|c5.large|c5.xlarge|c5.2xlarge|c5.4xlarge|c5.9xlarge|c5.12xlarge|c5.18xlarge|c5.24xlarge|c5.metal|c5a.large|c5a.xlarge|c5a.2xlarge|c5a.4xlarge|c5a.8xlarge|c5a.12xlarge|c5a.16xlarge|c5a.24xlarge|c5ad.large|c5ad.xlarge|c5ad.2xlarge|c5ad.4xlarge|c5ad.8xlarge|c5ad.12xlarge|c5ad.16xlarge|c5ad.24xlarge|c5d.large|c5d.xlarge|c5d.2xlarge|c5d.4xlarge|c5d.9xlarge|c5d.12xlarge|c5d.18xlarge|c5d.24xlarge|c5d.metal|c5n.large|c5n.xlarge|c5n.2xlarge|c5n.4xlarge|c5n.9xlarge|c5n.18xlarge|c5n.metal|c6g.medium|c6g.large|c6g.xlarge|c6g.2xlarge|c6g.4xlarge|c6g.8xlarge|c6g.12xlarge|c6g.16xlarge|c6g.metal|c6gd.medium|c6gd.large|c6gd.xlarge|c6gd.2xlarge|c6gd.4xlarge|c6gd.8xlarge|c6gd.12xlarge|c6gd.16xlarge|c6gd.metal|c6gn.medium|c6gn.large|c6gn.xlarge|c6gn.2xlarge|c6gn.4xlarge|c6gn.8xlarge|c6gn.12xlarge|c6gn.16xlarge|c6i.large|c6i.xlarge|c6i.2xlarge|c6i.4xlarge|c6i.8xlarge|c6i.12xlarge|c6i.16xlarge|c6i.24xlarge|c6i.32xlarge|c6i.metal|cc1.4xlarge|cc2.8xlarge|cg1.4xlarge|cr1.8xlarge|d2.xlarge|d2.2xlarge|d2.4xlarge|d2.8xlarge|d3.xlarge|d3.2xlarge|d3.4xlarge|d3.8xlarge|d3en.xlarge|d3en.2xlarge|d3en.4xlarge|d3en.6xlarge|d3en.8xlarge|d3en.12xlarge|dl1.24xlarge|f1.2xlarge|f1.4xlarge|f1.16xlarge|g2.2xlarge|g2.8xlarge|g3.4xlarge|g3.8xlarge|g3.16xlarge|g3s.xlarge|g4ad.xlarge|g4ad.2xlarge|g4ad.4xlarge|g4ad.8xlarge|g4ad.16xlarge|g4dn.xlarge|g4dn.2xlarge|g4dn.4xlarge|g4dn.8xlarge|g4dn.12xlarge|g4dn.16xlarge|g4dn.metal|g5.xlarge|g5.2xlarge|g5.4xlarge|g5.8xlarge|g5.12xlarge|g5.16xlarge|g5.24xlarge|g5.48xlarge|g5g.xlarge|g5g.2xlarge|g5g.4xlarge|g5g.8xlarge|g5g.16xlarge|g5g.metal|hi1.4xlarge|hpc6a.48xlarge|hs1.8xlarge|h1.2xlarge|h1.4xlarge|h1.8xlarge|h1.16xlarge|i2.xlarge|i2.2xlarge|i2.4xlarge|i2.8xlarge|i3.large|i3.xlarge|i3.2xlarge|i3.4xlarge|i3.8xlarge|i3.16xlarge|i3.metal|i3en.large|i3en.xlarge|i3en.2xlarge|i3en.3xlarge|i3en.6xlarge|i3en.12xlarge|i3en.24xlarge|i3en.metal|im4gn.large|im4gn.xlarge|im4gn.2xlarge|im4gn.4xlarge|im4gn.8xlarge|im4gn.16xlarge|inf1.xlarge|inf1.2xlarge|inf1.6xlarge|inf1.24xlarge|is4gen.medium|is4gen.large|is4gen.xlarge|is4gen.2xlarge|is4gen.4xlarge|is4gen.8xlarge|m1.small|m1.medium|m1.large|m1.xlarge|m2.xlarge|m2.2xlarge|m2.4xlarge|m3.medium|m3.large|m3.xlarge|m3.2xlarge|m4.large|m4.xlarge|m4.2xlarge|m4.4xlarge|m4.10xlarge|m4.16xlarge|m5.large|m5.xlarge|m5.2xlarge|m5.4xlarge|m5.8xlarge|m5.12xlarge|m5.16xlarge|m5.24xlarge|m5.metal|m5a.large|m5a.xlarge|m5a.2xlarge|m5a.4xlarge|m5a.8xlarge|m5a.12xlarge|m5a.16xlarge|m5a.24xlarge|m5ad.large|m5ad.xlarge|m5ad.2xlarge|m5ad.4xlarge|m5ad.8xlarge|m5ad.12xlarge|m5ad.16xlarge|m5ad.24xlarge|m5d.large|m5d.xlarge|m5d.2xlarge|m5d.4xlarge|m5d.8xlarge|m5d.12xlarge|m5d.16xlarge|m5d.24xlarge|m5d.metal|m5dn.large|m5dn.xlarge|m5dn.2xlarge|m5dn.4xlarge|m5dn.8xlarge|m5dn.12xlarge|m5dn.16xlarge|m5dn.24xlarge|m5dn.metal|m5n.large|m5n.xlarge|m5n.2xlarge|m5n.4xlarge|m5n.8xlarge|m5n.12xlarge|m5n.16xlarge|m5n.24xlarge|m5n.metal|m5zn.large|m5zn.xlarge|m5zn.2xlarge|m5zn.3xlarge|m5zn.6xlarge|m5zn.12xlarge|m5zn.metal|m6a.large|m6a.xlarge|m6a.2xlarge|m6a.4xlarge|m6a.8xlarge|m6a.12xlarge|m6a.16xlarge|m6a.24xlarge|m6a.32xlarge|m6a.48xlarge|m6g.metal|m6g.medium|m6g.large|m6g.xlarge|m6g.2xlarge|m6g.4xlarge|m6g.8xlarge|m6g.12xlarge|m6g.16xlarge|m6gd.metal|m6gd.medium|m6gd.large|m6gd.xlarge|m6gd.2xlarge|m6gd.4xlarge|m6gd.8xlarge|m6gd.12xlarge|m6gd.16xlarge|m6i.large|m6i.xlarge|m6i.2xlarge|m6i.4xlarge|m6i.8xlarge|m6i.12xlarge|m6i.16xlarge|m6i.24xlarge|m6i.32xlarge|m6i.metal|mac1.metal|p2.xlarge|p2.8xlarge|p2.16xlarge|p3.2xlarge|p3.8xlarge|p3.16xlarge|p3dn.24xlarge|p4d.24xlarge|r3.large|r3.xlarge|r3.2xlarge|r3.4xlarge|r3.8xlarge|r4.large|r4.xlarge|r4.2xlarge|r4.4xlarge|r4.8xlarge|r4.16xlarge|r5.large|r5.xlarge|r5.2xlarge|r5.4xlarge|r5.8xlarge|r5.12xlarge|r5.16xlarge|r5.24xlarge|r5.metal|r5a.large|r5a.xlarge|r5a.2xlarge|r5a.4xlarge|r5a.8xlarge|r5a.12xlarge|r5a.16xlarge|r5a.24xlarge|r5ad.large|r5ad.xlarge|r5ad.2xlarge|r5ad.4xlarge|r5ad.8xlarge|r5ad.12xlarge|r5ad.16xlarge|r5ad.24xlarge|r5b.large|r5b.xlarge|r5b.2xlarge|r5b.4xlarge|r5b.8xlarge|r5b.12xlarge|r5b.16xlarge|r5b.24xlarge|r5b.metal|r5d.large|r5d.xlarge|r5d.2xlarge|r5d.4xlarge|r5d.8xlarge|r5d.12xlarge|r5d.16xlarge|r5d.24xlarge|r5d.metal|r5dn.large|r5dn.xlarge|r5dn.2xlarge|r5dn.4xlarge|r5dn.8xlarge|r5dn.12xlarge|r5dn.16xlarge|r5dn.24xlarge|r5dn.metal|r5n.large|r5n.xlarge|r5n.2xlarge|r5n.4xlarge|r5n.8xlarge|r5n.12xlarge|r5n.16xlarge|r5n.24xlarge|r5n.metal|r6g.medium|r6g.large|r6g.xlarge|r6g.2xlarge|r6g.4xlarge|r6g.8xlarge|r6g.12xlarge|r6g.16xlarge|r6g.metal|r6gd.medium|r6gd.large|r6gd.xlarge|r6gd.2xlarge|r6gd.4xlarge|r6gd.8xlarge|r6gd.12xlarge|r6gd.16xlarge|r6gd.metal|r6i.large|r6i.xlarge|r6i.2xlarge|r6i.4xlarge|r6i.8xlarge|r6i.12xlarge|r6i.16xlarge|r6i.24xlarge|r6i.32xlarge|r6i.metal|t1.micro|t2.nano|t2.micro|t2.small|t2.medium|t2.large|t2.xlarge|t2.2xlarge|t3.nano|t3.micro|t3.small|t3.medium|t3.large|t3.xlarge|t3.2xlarge|t3a.nano|t3a.micro|t3a.small|t3a.medium|t3a.large|t3a.xlarge|t3a.2xlarge|t4g.nano|t4g.micro|t4g.small|t4g.medium|t4g.large|t4g.xlarge|t4g.2xlarge|u-6tb1.56xlarge|u-6tb1.112xlarge|u-9tb1.112xlarge|u-12tb1.112xlarge|u-6tb1.metal|u-9tb1.metal|u-12tb1.metal|u-18tb1.metal|u-24tb1.metal|vt1.3xlarge|vt1.6xlarge|vt1.24xlarge|x1.16xlarge|x1.32xlarge|x1e.xlarge|x1e.2xlarge|x1e.4xlarge|x1e.8xlarge|x1e.16xlarge|x1e.32xlarge|x2iezn.2xlarge|x2iezn.4xlarge|x2iezn.6xlarge|x2iezn.8xlarge|x2iezn.12xlarge|x2iezn.metal|x2gd.medium|x2gd.large|x2gd.xlarge|x2gd.2xlarge|x2gd.4xlarge|x2gd.8xlarge|x2gd.12xlarge|x2gd.16xlarge|x2gd.metal|z1d.large|z1d.xlarge|z1d.2xlarge|z1d.3xlarge|z1d.6xlarge|z1d.12xlarge|z1d.metal|x2idn.16xlarge|x2idn.24xlarge|x2idn.32xlarge|x2iedn.xlarge|x2iedn.2xlarge|x2iedn.4xlarge|x2iedn.8xlarge|x2iedn.16xlarge|x2iedn.24xlarge|x2iedn.32xlarge|c6a.large|c6a.xlarge|c6a.2xlarge|c6a.4xlarge|c6a.8xlarge|c6a.12xlarge|c6a.16xlarge|c6a.24xlarge|c6a.32xlarge|c6a.48xlarge|c6a.metal|m6a.metal|i4i.large|i4i.xlarge|i4i.2xlarge|i4i.4xlarge|i4i.8xlarge|i4i.16xlarge|i4i.32xlarge|i4i.metal|x2idn.metal|x2iedn.metal|c7g.medium|c7g.large|c7g.xlarge|c7g.2xlarge|c7g.4xlarge|c7g.8xlarge|c7g.12xlarge|c7g.16xlarge|mac2.metal|c6id.large|c6id.xlarge|c6id.2xlarge|c6id.4xlarge|c6id.8xlarge|c6id.12xlarge|c6id.16xlarge|c6id.24xlarge|c6id.32xlarge|c6id.metal|m6id.large|m6id.xlarge|m6id.2xlarge|m6id.4xlarge|m6id.8xlarge|m6id.12xlarge|m6id.16xlarge|m6id.24xlarge|m6id.32xlarge|m6id.metal|r6id.large|r6id.xlarge|r6id.2xlarge|r6id.4xlarge|r6id.8xlarge|r6id.12xlarge|r6id.16xlarge|r6id.24xlarge|r6id.32xlarge|r6id.metal|r6a.large|r6a.xlarge|r6a.2xlarge|r6a.4xlarge|r6a.8xlarge|r6a.12xlarge|r6a.16xlarge|r6a.24xlarge|r6a.32xlarge|r6a.48xlarge|r6a.metal|p4de.24xlarge|u-3tb1.56xlarge|u-18tb1.112xlarge|u-24tb1.112xlarge|trn1.2xlarge|trn1.32xlarge|hpc6id.32xlarge|c6in.large|c6in.xlarge|c6in.2xlarge|c6in.4xlarge|c6in.8xlarge|c6in.12xlarge|c6in.16xlarge|c6in.24xlarge|c6in.32xlarge|m6in.large|m6in.xlarge|m6in.2xlarge|m6in.4xlarge|m6in.8xlarge|m6in.12xlarge|m6in.16xlarge|m6in.24xlarge|m6in.32xlarge|m6idn.large|m6idn.xlarge|m6idn.2xlarge|m6idn.4xlarge|m6idn.8xlarge|m6idn.12xlarge|m6idn.16xlarge|m6idn.24xlarge|m6idn.32xlarge|r6in.large|r6in.xlarge|r6in.2xlarge|r6in.4xlarge|r6in.8xlarge|r6in.12xlarge|r6in.16xlarge|r6in.24xlarge|r6in.32xlarge|r6idn.large|r6idn.xlarge|r6idn.2xlarge|r6idn.4xlarge|r6idn.8xlarge|r6idn.12xlarge|r6idn.16xlarge|r6idn.24xlarge|r6idn.32xlarge|c7g.metal|m7g.medium|m7g.large|m7g.xlarge|m7g.2xlarge|m7g.4xlarge|m7g.8xlarge|m7g.12xlarge|m7g.16xlarge|m7g.metal|r7g.medium|r7g.large|r7g.xlarge|r7g.2xlarge|r7g.4xlarge|r7g.8xlarge|r7g.12xlarge|r7g.16xlarge|r7g.metal|c6in.metal|m6in.metal|m6idn.metal|r6in.metal|r6idn.metal|inf2.xlarge|inf2.8xlarge|inf2.24xlarge|inf2.48xlarge|trn1n.32xlarge|i4g.large|i4g.xlarge|i4g.2xlarge|i4g.4xlarge|i4g.8xlarge|i4g.16xlarge|hpc7g.4xlarge|hpc7g.8xlarge|hpc7g.16xlarge|c7gn.medium|c7gn.large|c7gn.xlarge|c7gn.2xlarge|c7gn.4xlarge|c7gn.8xlarge|c7gn.12xlarge|c7gn.16xlarge|p5.48xlarge|m7i.large|m7i.xlarge|m7i.2xlarge|m7i.4xlarge|m7i.8xlarge|m7i.12xlarge|m7i.16xlarge|m7i.24xlarge|m7i.48xlarge|m7i-flex.large|m7i-flex.xlarge|m7i-flex.2xlarge|m7i-flex.4xlarge|m7i-flex.8xlarge|m7a.medium|m7a.large|m7a.xlarge|m7a.2xlarge|m7a.4xlarge|m7a.8xlarge|m7a.12xlarge|m7a.16xlarge|m7a.24xlarge|m7a.32xlarge|m7a.48xlarge|m7a.metal-48xl|hpc7a.12xlarge|hpc7a.24xlarge|hpc7a.48xlarge|hpc7a.96xlarge|c7gd.medium|c7gd.large|c7gd.xlarge|c7gd.2xlarge|c7gd.4xlarge|c7gd.8xlarge|c7gd.12xlarge|c7gd.16xlarge|m7gd.medium|m7gd.large|m7gd.xlarge|m7gd.2xlarge|m7gd.4xlarge|m7gd.8xlarge|m7gd.12xlarge|m7gd.16xlarge|r7gd.medium|r7gd.large|r7gd.xlarge|r7gd.2xlarge|r7gd.4xlarge|r7gd.8xlarge|r7gd.12xlarge|r7gd.16xlarge|r7a.medium|r7a.large|r7a.xlarge|r7a.2xlarge|r7a.4xlarge|r7a.8xlarge|r7a.12xlarge|r7a.16xlarge|r7a.24xlarge|r7a.32xlarge|r7a.48xlarge|c7i.large|c7i.xlarge|c7i.2xlarge|c7i.4xlarge|c7i.8xlarge|c7i.12xlarge|c7i.16xlarge|c7i.24xlarge|c7i.48xlarge|mac2-m2pro.metal|r7iz.large|r7iz.xlarge|r7iz.2xlarge|r7iz.4xlarge|r7iz.8xlarge|r7iz.12xlarge|r7iz.16xlarge|r7iz.32xlarge|c7a.medium|c7a.large|c7a.xlarge|c7a.2xlarge|c7a.4xlarge|c7a.8xlarge|c7a.12xlarge|c7a.16xlarge|c7a.24xlarge|c7a.32xlarge|c7a.48xlarge|c7a.metal-48xl|r7a.metal-48xl|r7i.large|r7i.xlarge|r7i.2xlarge|r7i.4xlarge|r7i.8xlarge|r7i.12xlarge|r7i.16xlarge|r7i.24xlarge|r7i.48xlarge|dl2q.24xlarge|mac2-m2.metal|i4i.12xlarge|i4i.24xlarge|c7i.metal-24xl|c7i.metal-48xl|m7i.metal-24xl|m7i.metal-48xl|r7i.metal-24xl|r7i.metal-48xl|r7iz.metal-16xl|r7iz.metal-32xl|c7gd.metal|m7gd.metal|r7gd.metal|g6.xlarge|g6.2xlarge|g6.4xlarge|g6.8xlarge|g6.12xlarge|g6.16xlarge|g6.24xlarge|g6.48xlarge|gr6.4xlarge|gr6.8xlarge|c7i-flex.large|c7i-flex.xlarge|c7i-flex.2xlarge|c7i-flex.4xlarge|c7i-flex.8xlarge|u7i-12tb.224xlarge|u7in-16tb.224xlarge|u7in-24tb.224xlarge|u7in-32tb.224xlarge|u7ib-12tb.224xlarge|c7gn.metal|r8g.medium|r8g.large|r8g.xlarge|r8g.2xlarge|r8g.4xlarge|r8g.8xlarge|r8g.12xlarge|r8g.16xlarge|r8g.24xlarge|r8g.48xlarge|r8g.metal-24xl|r8g.metal-48xl|mac2-m1ultra.metal|g6e.xlarge|g6e.2xlarge|g6e.4xlarge|g6e.8xlarge|g6e.12xlarge|g6e.16xlarge|g6e.24xlarge|g6e.48xlarge|c8g.medium|c8g.large|c8g.xlarge|c8g.2xlarge|c8g.4xlarge|c8g.8xlarge|c8g.12xlarge|c8g.16xlarge|c8g.24xlarge|c8g.48xlarge|c8g.metal-24xl|c8g.metal-48xl|m8g.medium|m8g.large|m8g.xlarge|m8g.2xlarge|m8g.4xlarge|m8g.8xlarge|m8g.12xlarge|m8g.16xlarge|m8g.24xlarge|m8g.48xlarge|m8g.metal-24xl|m8g.metal-48xl|x8g.medium|x8g.large|x8g.xlarge|x8g.2xlarge|x8g.4xlarge|x8g.8xlarge|x8g.12xlarge|x8g.16xlarge|x8g.24xlarge|x8g.48xlarge|x8g.metal-24xl|x8g.metal-48xl|i7ie.large|i7ie.xlarge|i7ie.2xlarge|i7ie.3xlarge|i7ie.6xlarge|i7ie.12xlarge|i7ie.18xlarge|i7ie.24xlarge|i7ie.48xlarge|i8g.large|i8g.xlarge|i8g.2xlarge|i8g.4xlarge|i8g.8xlarge|i8g.12xlarge|i8g.16xlarge|i8g.24xlarge|i8g.metal-24xl|u7i-6tb.112xlarge|u7i-8tb.112xlarge|u7inh-32tb.480xlarge|p5e.48xlarge|p5en.48xlarge|f2.12xlarge|f2.48xlarge|trn2.48xlarge',
            '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>',
                ],
                // ...
            ],
            'NetworkPerformanceOptions' => [
                'BandwidthWeighting' => 'default|vpc-1|ebs-1',
            ],
            'Operator' => [
                'Managed' => true || false,
                'Principal' => '<string>',
            ],
            'Placement' => [
                'Affinity' => '<string>',
                'AvailabilityZone' => '<string>',
                'GroupId' => '<string>',
                'GroupName' => '<string>',
                'HostId' => '<string>',
                'HostResourceGroupArn' => '<string>',
                'PartitionNumber' => <integer>,
                'SpreadDomain' => '<string>',
                'Tenancy' => 'default|dedicated|host',
            ],
            'PrivateDnsNameOptions' => [
                'EnableResourceNameDnsAAAARecord' => true || false,
                'EnableResourceNameDnsARecord' => true || false,
                'HostnameType' => 'ip-name|resource-name',
            ],
            'RamDiskId' => '<string>',
            'SecurityGroupIds' => ['<string>', ...],
            'SecurityGroups' => ['<string>', ...],
            'TagSpecifications' => [
                [
                    'ResourceType' => 'capacity-reservation|client-vpn-endpoint|customer-gateway|carrier-gateway|coip-pool|declarative-policies-report|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|verified-access-endpoint-target|ipam-external-resource-verification-token',
                    'Tags' => [
                        [
                            'Key' => '<string>',
                            'Value' => '<string>',
                        ],
                        // ...
                    ],
                ],
                // ...
            ],
            'UserData' => '<string>',
        ],
        'LaunchTemplateId' => '<string>',
        'LaunchTemplateName' => '<string>',
        'Operator' => [
            'Managed' => true || false,
            'Principal' => '<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|declarative-policies-report|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|verified-access-endpoint-target|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|declarative-policies-report|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|verified-access-endpoint-target|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|declarative-policies-report|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|verified-access-endpoint-target|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 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|declarative-policies-report|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|verified-access-endpoint-target|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|declarative-policies-report|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|verified-access-endpoint-target|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|declarative-policies-report|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|verified-access-endpoint-target|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|declarative-policies-report|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|verified-access-endpoint-target|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|declarative-policies-report|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|verified-access-endpoint-target|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>',
        ],
        // ...
    ],
    'Operator' => [
        'Principal' => '<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|declarative-policies-report|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|verified-access-endpoint-target|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 the 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.

Operator
Type: OperatorRequest structure

Reserved for internal use.

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>',
        'Operator' => [
            'Managed' => true || false,
            'Principal' => '<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|declarative-policies-report|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|verified-access-endpoint-target|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|declarative-policies-report|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|verified-access-endpoint-target|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|declarative-policies-report|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|verified-access-endpoint-target|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|declarative-policies-report|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|verified-access-endpoint-target|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|declarative-policies-report|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|verified-access-endpoint-target|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|declarative-policies-report|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|verified-access-endpoint-target|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. Names are case-insensitive and must be unique within the VPC.

Constraints: Up to 255 characters in length. Can't 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.

The location of the source EBS volume determines where you can create the snapshot.

  • If the source volume is in a Region, you must create the snapshot in the same Region as the volume.

  • If the source volume is in a Local Zone, you can create the snapshot in the same Local Zone or in its parent Amazon Web Services Region.

  • If the source volume is on an Outpost, you can create the snapshot on the same Outpost or in its parent Amazon Web Services Region.

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. For more information, see Amazon EBS encryption in the Amazon EBS User Guide.

Parameter Syntax

$result = $client->createSnapshot([
    'Description' => '<string>',
    'DryRun' => true || false,
    'Location' => 'regional|local',
    'OutpostArn' => '<string>',
    'TagSpecifications' => [
        [
            'ResourceType' => 'capacity-reservation|client-vpn-endpoint|customer-gateway|carrier-gateway|coip-pool|declarative-policies-report|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|verified-access-endpoint-target|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.

Location
Type: string

Only supported for volumes in Local Zones. If the source volume is not in a Local Zone, omit this parameter.

  • To create a local snapshot in the same Local Zone as the source volume, specify local.

  • To create a regional snapshot in the parent Region of the Local Zone, specify regional or omit this parameter.

Default value: regional

OutpostArn
Type: string

Only supported for volumes on Outposts. If the source volume is not on an Outpost, omit this parameter.

  • To create the snapshot on the same Outpost as the source volume, specify the ARN of that Outpost. The snapshot must be created on the same Outpost as the volume.

  • To create the snapshot in the parent Region of the Outpost, omit this parameter.

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

[
    'AvailabilityZone' => '<string>',
    'CompletionDurationMinutes' => <integer>,
    'CompletionTime' => <DateTime>,
    'DataEncryptionKeyId' => '<string>',
    'Description' => '<string>',
    'Encrypted' => true || false,
    'FullSnapshotSizeInBytes' => <integer>,
    '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>',
        ],
        // ...
    ],
    'TransferType' => 'time-based|standard',
    'VolumeId' => '<string>',
    'VolumeSize' => <integer>,
]

Result Details

Members
AvailabilityZone
Type: string

The Availability Zone or Local Zone of the snapshot. For example, us-west-1a (Availability Zone) or us-west-2-lax-1a (Local Zone).

CompletionDurationMinutes
Type: int

Only for snapshot copies created with time-based snapshot copy operations.

The completion duration requested for the time-based snapshot copy operation.

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

The time stamp when the snapshot was completed.

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.

FullSnapshotSizeInBytes
Type: long (int|float)

The full size of the snapshot, in bytes.

This is not the incremental size of the snapshot. This is the full snapshot size and represents the size of all the blocks that were written to the source volume at the time the snapshot was created.

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.

TransferType
Type: string

Only for snapshot copies.

Indicates whether the snapshot copy was created with a standard or time-based snapshot copy operation. Time-based snapshot copy operations complete within the completion duration specified in the request. Standard snapshot copy operations are completed on a best-effort basis.

  • standard - The snapshot copy was created with a standard snapshot copy operation.

  • time-based - The snapshot copy was created with a time-based snapshot copy operation.

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 attached to an Amazon EC2 instance. Volumes are chosen by specifying an instance. Each volume attached to the specified instance will produce one snapshot 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.

The location of the source instance determines where you can create the snapshots.

  • If the source instance is in a Region, you must create the snapshots in the same Region as the instance.

  • If the source instance is in a Local Zone, you can create the snapshots in the same Local Zone or in its parent Amazon Web Services Region.

  • If the source instance is on an Outpost, you can create the snapshots on the same Outpost or in its parent Amazon Web Services Region.

Parameter Syntax

$result = $client->createSnapshots([
    'CopyTagsFromSource' => 'volume',
    'Description' => '<string>',
    'DryRun' => true || false,
    'InstanceSpecification' => [ // REQUIRED
        'ExcludeBootVolume' => true || false,
        'ExcludeDataVolumeIds' => ['<string>', ...],
        'InstanceId' => '<string>', // REQUIRED
    ],
    'Location' => 'regional|local',
    'OutpostArn' => '<string>',
    'TagSpecifications' => [
        [
            'ResourceType' => 'capacity-reservation|client-vpn-endpoint|customer-gateway|carrier-gateway|coip-pool|declarative-policies-report|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|verified-access-endpoint-target|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.

Location
Type: string

Only supported for instances in Local Zones. If the source instance is not in a Local Zone, omit this parameter.

  • To create local snapshots in the same Local Zone as the source instance, specify local.

  • To create a regional snapshots in the parent Region of the Local Zone, specify regional or omit this parameter.

Default value: regional

OutpostArn
Type: string

Only supported for instances on Outposts. If the source instance is not on an Outpost, omit this parameter.

  • To create the snapshots on the same Outpost as the source instance, specify the ARN of that Outpost. The snapshots must be created on the same Outpost as the instance.

  • To create the snapshots in the parent Region of the Outpost, omit this parameter.

For more information, see Create local snapshots from volumes 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' => [
        [
            'AvailabilityZone' => '<string>',
            '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|declarative-policies-report|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|verified-access-endpoint-target|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>,
        'BlockPublicAccessStates' => [
            'InternetGatewayBlockMode' => 'off|block-bidirectional|block-ingress',
        ],
        'CidrBlock' => '<string>',
        'CustomerOwnedIpv4Pool' => '<string>',
        'DefaultForAz' => true || false,
        'EnableDns64' => true || false,
        'EnableLniAtDeviceIndex' => <integer>,
        'Ipv6CidrBlockAssociationSet' => [
            [
                'AssociationId' => '<string>',
                'IpSource' => 'amazon|byoip|none',
                'Ipv6AddressAttribute' => 'public|private',
                'Ipv6CidrBlock' => '<string>',
                'Ipv6CidrBlockState' => [
                    'State' => 'associating|associated|disassociating|disassociated|failing|failed',
                    'StatusMessage' => '<string>',
                ],
            ],
            // ...
        ],
        'Ipv6Native' => true || false,
        'MapCustomerOwnedIpOnLaunch' => true || false,
        'MapPublicIpOnLaunch' => true || false,
        'OutpostArn' => '<string>',
        'OwnerId' => '<string>',
        'PrivateDnsNameOptionsOnLaunch' => [
            'EnableResourceNameDnsAAAARecord' => true || false,
            'EnableResourceNameDnsARecord' => true || false,
            'HostnameType' => 'ip-name|resource-name',
        ],
        'State' => 'pending|available|unavailable',
        'SubnetArn' => '<string>',
        'SubnetId' => '<string>',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'VpcId' => '<string>',
    ],
]

Result Details

Members
Subnet
Type: Subnet structure

Information about the subnet.

Errors

There are no errors described for this operation.

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|declarative-policies-report|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|verified-access-endpoint-target|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|declarative-policies-report|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|verified-access-endpoint-target|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|declarative-policies-report|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|verified-access-endpoint-target|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|declarative-policies-report|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|verified-access-endpoint-target|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|declarative-policies-report|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|verified-access-endpoint-target|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|declarative-policies-report|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|verified-access-endpoint-target|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|declarative-policies-report|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|verified-access-endpoint-target|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|declarative-policies-report|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|verified-access-endpoint-target|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|declarative-policies-report|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|verified-access-endpoint-target|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|declarative-policies-report|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|verified-access-endpoint-target|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|declarative-policies-report|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|verified-access-endpoint-target|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|declarative-policies-report|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|verified-access-endpoint-target|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|declarative-policies-report|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|verified-access-endpoint-target|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|declarative-policies-report|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|verified-access-endpoint-target|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>',
    'AttachmentType' => 'vpc', // REQUIRED
    'CidrOptions' => [
        'Cidr' => '<string>',
        'PortRanges' => [
            [
                'FromPort' => <integer>,
                'ToPort' => <integer>,
            ],
            // ...
        ],
        'Protocol' => 'http|https|tcp',
        'SubnetIds' => ['<string>', ...],
    ],
    'ClientToken' => '<string>',
    'Description' => '<string>',
    'DomainCertificateArn' => '<string>',
    'DryRun' => true || false,
    'EndpointDomainPrefix' => '<string>',
    'EndpointType' => 'load-balancer|network-interface|rds|cidr', // REQUIRED
    'LoadBalancerOptions' => [
        'LoadBalancerArn' => '<string>',
        'Port' => <integer>,
        'PortRanges' => [
            [
                'FromPort' => <integer>,
                'ToPort' => <integer>,
            ],
            // ...
        ],
        'Protocol' => 'http|https|tcp',
        'SubnetIds' => ['<string>', ...],
    ],
    'NetworkInterfaceOptions' => [
        'NetworkInterfaceId' => '<string>',
        'Port' => <integer>,
        'PortRanges' => [
            [
                'FromPort' => <integer>,
                'ToPort' => <integer>,
            ],
            // ...
        ],
        'Protocol' => 'http|https|tcp',
    ],
    'PolicyDocument' => '<string>',
    'RdsOptions' => [
        'Port' => <integer>,
        'Protocol' => 'http|https|tcp',
        'RdsDbClusterArn' => '<string>',
        'RdsDbInstanceArn' => '<string>',
        'RdsDbProxyArn' => '<string>',
        'RdsEndpoint' => '<string>',
        'SubnetIds' => ['<string>', ...],
    ],
    'SecurityGroupIds' => ['<string>', ...],
    'SseSpecification' => [
        'CustomerManagedKeyEnabled' => true || false,
        'KmsKeyArn' => '<string>',
    ],
    'TagSpecifications' => [
        [
            'ResourceType' => 'capacity-reservation|client-vpn-endpoint|customer-gateway|carrier-gateway|coip-pool|declarative-policies-report|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|verified-access-endpoint-target|ipam-external-resource-verification-token',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'VerifiedAccessGroupId' => '<string>', // REQUIRED
]);

Parameter Details

Members
ApplicationDomain
Type: string

The DNS name for users to reach your application.

AttachmentType
Required: Yes
Type: string

The type of attachment.

CidrOptions

The CIDR options. This parameter is required if the endpoint type is cidr.

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

RdsOptions

The RDS details. This parameter is required if the endpoint type is rds.

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',
        'CidrOptions' => [
            'Cidr' => '<string>',
            'PortRanges' => [
                [
                    'FromPort' => <integer>,
                    'ToPort' => <integer>,
                ],
                // ...
            ],
            'Protocol' => 'http|https|tcp',
            'SubnetIds' => ['<string>', ...],
        ],
        'CreationTime' => '<string>',
        'DeletionTime' => '<string>',
        'Description' => '<string>',
        'DeviceValidationDomain' => '<string>',
        'DomainCertificateArn' => '<string>',
        'EndpointDomain' => '<string>',
        'EndpointType' => 'load-balancer|network-interface|rds|cidr',
        'LastUpdatedTime' => '<string>',
        'LoadBalancerOptions' => [
            'LoadBalancerArn' => '<string>',
            'Port' => <integer>,
            'PortRanges' => [
                [
                    'FromPort' => <integer>,
                    'ToPort' => <integer>,
                ],
                // ...
            ],
            'Protocol' => 'http|https|tcp',
            'SubnetIds' => ['<string>', ...],
        ],
        'NetworkInterfaceOptions' => [
            'NetworkInterfaceId' => '<string>',
            'Port' => <integer>,
            'PortRanges' => [
                [
                    'FromPort' => <integer>,
                    'ToPort' => <integer>,
                ],
                // ...
            ],
            'Protocol' => 'http|https|tcp',
        ],
        'RdsOptions' => [
            'Port' => <integer>,
            'Protocol' => 'http|https|tcp',
            'RdsDbClusterArn' => '<string>',
            'RdsDbInstanceArn' => '<string>',
            'RdsDbProxyArn' => '<string>',
            'RdsEndpoint' => '<string>',
            'SubnetIds' => ['<string>', ...],
        ],
        '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|declarative-policies-report|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|verified-access-endpoint-target|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([
    'CidrEndpointsCustomSubDomain' => '<string>',
    'ClientToken' => '<string>',
    'Description' => '<string>',
    'DryRun' => true || false,
    'FIPSEnabled' => true || false,
    'TagSpecifications' => [
        [
            'ResourceType' => 'capacity-reservation|client-vpn-endpoint|customer-gateway|carrier-gateway|coip-pool|declarative-policies-report|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|verified-access-endpoint-target|ipam-external-resource-verification-token',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
]);

Parameter Details

Members
CidrEndpointsCustomSubDomain
Type: string

The custom subdomain.

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' => [
        'CidrEndpointsCustomSubDomain' => [
            'Nameservers' => ['<string>', ...],
            'SubDomain' => '<string>',
        ],
        '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,
    'NativeApplicationOidcOptions' => [
        'AuthorizationEndpoint' => '<string>',
        'ClientId' => '<string>',
        'ClientSecret' => '<string>',
        'Issuer' => '<string>',
        'PublicSigningKeyEndpoint' => '<string>',
        'Scope' => '<string>',
        'TokenEndpoint' => '<string>',
        'UserInfoEndpoint' => '<string>',
    ],
    '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|declarative-policies-report|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|verified-access-endpoint-target|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.

NativeApplicationOidcOptions

The OpenID Connect (OIDC) options.

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>',
        'NativeApplicationOidcOptions' => [
            'AuthorizationEndpoint' => '<string>',
            'ClientId' => '<string>',
            'Issuer' => '<string>',
            'PublicSigningKeyEndpoint' => '<string>',
            'Scope' => '<string>',
            'TokenEndpoint' => '<string>',
            'UserInfoEndpoint' => '<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,
    'Operator' => [
        'Principal' => '<string>',
    ],
    'OutpostArn' => '<string>',
    'Size' => <integer>,
    'SnapshotId' => '<string>',
    'TagSpecifications' => [
        [
            'ResourceType' => 'capacity-reservation|client-vpn-endpoint|customer-gateway|carrier-gateway|coip-pool|declarative-policies-report|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|verified-access-endpoint-target|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.

Operator
Type: OperatorRequest structure

Reserved for internal use.

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,
    'Operator' => [
        'Managed' => true || false,
        'Principal' => '<string>',
    ],
    '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.

Operator
Type: OperatorResponse structure

The service provider that manages the volume.

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|declarative-policies-report|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|verified-access-endpoint-target|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' => [
        'BlockPublicAccessStates' => [
            'InternetGatewayBlockMode' => 'off|block-bidirectional|block-ingress',
        ],
        'CidrBlock' => '<string>',
        'CidrBlockAssociationSet' => [
            [
                'AssociationId' => '<string>',
                'CidrBlock' => '<string>',
                'CidrBlockState' => [
                    'State' => 'associating|associated|disassociating|disassociated|failing|failed',
                    'StatusMessage' => '<string>',
                ],
            ],
            // ...
        ],
        'DhcpOptionsId' => '<string>',
        'EncryptionControl' => [
            'Mode' => 'monitor|enforce',
            'ResourceExclusions' => [
                'EgressOnlyInternetGateway' => [
                    'State' => 'enabling|enabled|disabling|disabled',
                    'StateMessage' => '<string>',
                ],
                'InternetGateway' => [
                    'State' => 'enabling|enabled|disabling|disabled',
                    'StateMessage' => '<string>',
                ],
                'NatGateway' => [
                    'State' => 'enabling|enabled|disabling|disabled',
                    'StateMessage' => '<string>',
                ],
                'VirtualPrivateGateway' => [
                    'State' => 'enabling|enabled|disabling|disabled',
                    'StateMessage' => '<string>',
                ],
                'VpcPeering' => [
                    'State' => 'enabling|enabled|disabling|disabled',
                    'StateMessage' => '<string>',
                ],
            ],
            'State' => 'enforce-in-progress|monitor-in-progress|enforce-failed|monitor-failed|deleting|deleted|available',
            'StateMessage' => '<string>',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'VpcEncryptionControlId' => '<string>',
            'VpcId' => '<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',
    ],
]

CreateVpcBlockPublicAccessExclusion

$result = $client->createVpcBlockPublicAccessExclusion([/* ... */]);
$promise = $client->createVpcBlockPublicAccessExclusionAsync([/* ... */]);

Create a VPC Block Public Access (BPA) exclusion. A VPC BPA exclusion is a mode that can be applied to a single VPC or subnet that exempts it from the account’s BPA mode and will allow bidirectional or egress-only access. You can create BPA exclusions for VPCs and subnets even when BPA is not enabled on the account to ensure that there is no traffic disruption to the exclusions when VPC BPA is turned on. To learn more about VPC BPA, see Block public access to VPCs and subnets in the Amazon VPC User Guide.

Parameter Syntax

$result = $client->createVpcBlockPublicAccessExclusion([
    'DryRun' => true || false,
    'InternetGatewayExclusionMode' => 'allow-bidirectional|allow-egress', // REQUIRED
    'SubnetId' => '<string>',
    'TagSpecifications' => [
        [
            'ResourceType' => 'capacity-reservation|client-vpn-endpoint|customer-gateway|carrier-gateway|coip-pool|declarative-policies-report|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|verified-access-endpoint-target|ipam-external-resource-verification-token',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'VpcId' => '<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.

InternetGatewayExclusionMode
Required: Yes
Type: string

The exclusion mode for internet gateway traffic.

  • allow-bidirectional: Allow all internet traffic to and from the excluded VPCs and subnets.

  • allow-egress: Allow outbound internet traffic from the excluded VPCs and subnets. Block inbound internet traffic to the excluded VPCs and subnets. Only applies when VPC Block Public Access is set to Bidirectional.

SubnetId
Type: string

A subnet ID.

TagSpecifications
Type: Array of TagSpecification structures

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

VpcId
Type: string

A VPC ID.

Result Syntax

[
    'VpcBlockPublicAccessExclusion' => [
        'CreationTimestamp' => <DateTime>,
        'DeletionTimestamp' => <DateTime>,
        'ExclusionId' => '<string>',
        'InternetGatewayExclusionMode' => 'allow-bidirectional|allow-egress',
        'LastUpdateTimestamp' => <DateTime>,
        'Reason' => '<string>',
        'ResourceArn' => '<string>',
        'State' => 'create-in-progress|create-complete|create-failed|update-in-progress|update-complete|update-failed|delete-in-progress|delete-complete|disable-in-progress|disable-complete',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
    ],
]

Result Details

Members
VpcBlockPublicAccessExclusion

Details about an exclusion.

Errors

There are no errors described for this operation.

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,
    'ResourceConfigurationArn' => '<string>',
    'RouteTableIds' => ['<string>', ...],
    'SecurityGroupIds' => ['<string>', ...],
    'ServiceName' => '<string>',
    'ServiceNetworkArn' => '<string>',
    'ServiceRegion' => '<string>',
    'SubnetConfigurations' => [
        [
            'Ipv4' => '<string>',
            'Ipv6' => '<string>',
            'SubnetId' => '<string>',
        ],
        // ...
    ],
    'SubnetIds' => ['<string>', ...],
    'TagSpecifications' => [
        [
            'ResourceType' => 'capacity-reservation|client-vpn-endpoint|customer-gateway|carrier-gateway|coip-pool|declarative-policies-report|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|verified-access-endpoint-target|ipam-external-resource-verification-token',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'VpcEndpointType' => 'Interface|Gateway|GatewayLoadBalancer|Resource|ServiceNetwork',
    '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

ResourceConfigurationArn
Type: string

The Amazon Resource Name (ARN) of a resource configuration that will be associated with the VPC endpoint of type resource.

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

The name of the endpoint service.

ServiceNetworkArn
Type: string

The Amazon Resource Name (ARN) of a service network that will be associated with the VPC endpoint of type service-network.

ServiceRegion
Type: string

The Region where the service is hosted. The default is the current Region.

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,
        ],
        'FailureReason' => '<string>',
        'Groups' => [
            [
                'GroupId' => '<string>',
                'GroupName' => '<string>',
            ],
            // ...
        ],
        'IpAddressType' => 'ipv4|dualstack|ipv6',
        'Ipv4Prefixes' => [
            [
                'IpPrefixes' => ['<string>', ...],
                'SubnetId' => '<string>',
            ],
            // ...
        ],
        'Ipv6Prefixes' => [
            [
                'IpPrefixes' => ['<string>', ...],
                'SubnetId' => '<string>',
            ],
            // ...
        ],
        'LastError' => [
            'Code' => '<string>',
            'Message' => '<string>',
        ],
        'NetworkInterfaceIds' => ['<string>', ...],
        'OwnerId' => '<string>',
        'PolicyDocument' => '<string>',
        'PrivateDnsEnabled' => true || false,
        'RequesterManaged' => true || false,
        'ResourceConfigurationArn' => '<string>',
        'RouteTableIds' => ['<string>', ...],
        'ServiceName' => '<string>',
        'ServiceNetworkArn' => '<string>',
        'ServiceRegion' => '<string>',
        'State' => 'PendingAcceptance|Pending|Available|Deleting|Deleted|Rejected|Failed|Expired|Partial',
        'SubnetIds' => ['<string>', ...],
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'VpcEndpointId' => '<string>',
        'VpcEndpointType' => 'Interface|Gateway|GatewayLoadBalancer|Resource|ServiceNetwork',
        '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>',
        'ServiceRegion' => '<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>', ...],
    'SupportedRegions' => ['<string>', ...],
    'TagSpecifications' => [
        [
            'ResourceType' => 'capacity-reservation|client-vpn-endpoint|customer-gateway|carrier-gateway|coip-pool|declarative-policies-report|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|verified-access-endpoint-target|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.

SupportedRegions
Type: Array of strings

The Regions from which service consumers can access the service.

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>',
        ],
        'RemoteAccessEnabled' => true || false,
        'ServiceId' => '<string>',
        'ServiceName' => '<string>',
        'ServiceState' => 'Pending|Available|Deleting|Deleted|Failed',
        'ServiceType' => [
            [
                'ServiceType' => 'Interface|Gateway|GatewayLoadBalancer',
            ],
            // ...
        ],
        'SupportedIpAddressTypes' => ['<string>', ...],
        'SupportedRegions' => [
            [
                'Region' => '<string>',
                'ServiceState' => '<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|declarative-policies-report|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|verified-access-endpoint-target|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|declarative-policies-report|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|verified-access-endpoint-target|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|declarative-policies-report|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|verified-access-endpoint-target|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 Fleet request.

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

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

A deleted instant fleet with running instances is not supported. When you delete an instant fleet, Amazon EC2 automatically terminates all its instances. For fleets with more than 1000 instances, the deletion request might fail. If your fleet has more than 1000 instances, first terminate most of the instances manually, leaving 1000 or fewer. Then delete the fleet, and the remaining instances will be terminated automatically.

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 request and the instances in the 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>',
            ],
            // ...
        ],
        'OrganizationalUnitExclusions' => [
            [
                'OrganizationsEntityPath' => '<string>',
            ],
            // ...
        ],
        'OwnerId' => '<string>',
        'State' => 'create-in-progress|create-complete|create-failed|modify-in-progress|modify-complete|modify-failed|delete-in-progress|delete-complete|delete-failed|isolate-in-progress|isolate-complete|restore-in-progress',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
    ],
]

Result Details

Members
IpamResourceDiscovery
Type: IpamResourceDiscovery structure

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>',
        'Operator' => [
            'Managed' => true || false,
            'Principal' => '<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

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

Result Details

Members
GroupId
Type: string

The ID of the deleted security group.

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 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 deregister 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',
        'CidrOptions' => [
            'Cidr' => '<string>',
            'PortRanges' => [
                [
                    'FromPort' => <integer>,
                    'ToPort' => <integer>,
                ],
                // ...
            ],
            'Protocol' => 'http|https|tcp',
            'SubnetIds' => ['<string>', ...],
        ],
        'CreationTime' => '<string>',
        'DeletionTime' => '<string>',
        'Description' => '<string>',
        'DeviceValidationDomain' => '<string>',
        'DomainCertificateArn' => '<string>',
        'EndpointDomain' => '<string>',
        'EndpointType' => 'load-balancer|network-interface|rds|cidr',
        'LastUpdatedTime' => '<string>',
        'LoadBalancerOptions' => [
            'LoadBalancerArn' => '<string>',
            'Port' => <integer>,
            'PortRanges' => [
                [
                    'FromPort' => <integer>,
                    'ToPort' => <integer>,
                ],
                // ...
            ],
            'Protocol' => 'http|https|tcp',
            'SubnetIds' => ['<string>', ...],
        ],
        'NetworkInterfaceOptions' => [
            'NetworkInterfaceId' => '<string>',
            'Port' => <integer>,
            'PortRanges' => [
                [
                    'FromPort' => <integer>,
                    'ToPort' => <integer>,
                ],
                // ...
            ],
            'Protocol' => 'http|https|tcp',
        ],
        'RdsOptions' => [
            'Port' => <integer>,
            'Protocol' => 'http|https|tcp',
            'RdsDbClusterArn' => '<string>',
            'RdsDbInstanceArn' => '<string>',
            'RdsDbProxyArn' => '<string>',
            'RdsEndpoint' => '<string>',
            'SubnetIds' => ['<string>', ...],
        ],
        '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' => [
        'CidrEndpointsCustomSubDomain' => [
            'Nameservers' => ['<string>', ...],
            'SubDomain' => '<string>',
        ],
        '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>',
        'NativeApplicationOidcOptions' => [
            'AuthorizationEndpoint' => '<string>',
            'ClientId' => '<string>',
            'Issuer' => '<string>',
            'PublicSigningKeyEndpoint' => '<string>',
            'Scope' => '<string>',
            'TokenEndpoint' => '<string>',
            'UserInfoEndpoint' => '<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',
]);

DeleteVpcBlockPublicAccessExclusion

$result = $client->deleteVpcBlockPublicAccessExclusion([/* ... */]);
$promise = $client->deleteVpcBlockPublicAccessExclusionAsync([/* ... */]);

Delete a VPC Block Public Access (BPA) exclusion. A VPC BPA exclusion is a mode that can be applied to a single VPC or subnet that exempts it from the account’s BPA mode and will allow bidirectional or egress-only access. You can create BPA exclusions for VPCs and subnets even when BPA is not enabled on the account to ensure that there is no traffic disruption to the exclusions when VPC BPA is turned on. To learn more about VPC BPA, see Block public access to VPCs and subnets in the Amazon VPC User Guide.

Parameter Syntax

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

ExclusionId
Required: Yes
Type: string

The ID of the exclusion.

Result Syntax

[
    'VpcBlockPublicAccessExclusion' => [
        'CreationTimestamp' => <DateTime>,
        'DeletionTimestamp' => <DateTime>,
        'ExclusionId' => '<string>',
        'InternetGatewayExclusionMode' => 'allow-bidirectional|allow-egress',
        'LastUpdateTimestamp' => <DateTime>,
        'Reason' => '<string>',
        'ResourceArn' => '<string>',
        'State' => 'create-in-progress|create-complete|create-failed|update-in-progress|update-complete|update-failed|delete-in-progress|delete-complete|disable-in-progress|disable-complete',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
    ],
]

Result Details

Members
VpcBlockPublicAccessExclusion

Details about an exclusion.

Errors

There are no errors described for this operation.

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>',
            'ServiceManaged' => 'alb|nlb',
            '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.

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-long-name - The long name of the zone group for the Availability Zone (for example, US West (Oregon) 1), the Local Zone (for example, for Zone group us-west-2-lax-1, it is US West (Los Angeles), or the Wavelength Zone (for example, for Zone group us-east-1-wl1, it is US East (Verizon).

  • group-name - The name of the zone group for the Availability Zone (for example, us-east-1-zg-1), the Local Zone (for example, us-west-2-lax-1), or 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' => [
        [
            'GroupLongName' => '<string>',
            '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.

DescribeCapacityBlockExtensionHistory

$result = $client->describeCapacityBlockExtensionHistory([/* ... */]);
$promise = $client->describeCapacityBlockExtensionHistoryAsync([/* ... */]);

Describes the events for the specified Capacity Block extension during the specified time.

Parameter Syntax

$result = $client->describeCapacityBlockExtensionHistory([
    'CapacityReservationIds' => ['<string>', ...],
    'DryRun' => true || false,
    'Filters' => [
        [
            'Name' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
CapacityReservationIds
Type: Array of strings

The IDs of Capacity Block reservations that you want to display the history for.

DryRun
Type: boolean

Checks whether you have the required permissions for the action, without 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 of the extension.

  • availability-zone-id - The Availability Zone ID of the extension.

  • capacity-block-extension-offering-id - The ID of the extension offering.

  • capacity-block-extension-status - The status of the extension (payment-pending | payment-failed | payment-succeeded).

  • capacity-reservation-id - The reservation ID of the extension.

  • instance-type - The instance type of the extension.

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

[
    'CapacityBlockExtensions' => [
        [
            'AvailabilityZone' => '<string>',
            'AvailabilityZoneId' => '<string>',
            'CapacityBlockExtensionDurationHours' => <integer>,
            'CapacityBlockExtensionEndDate' => <DateTime>,
            'CapacityBlockExtensionOfferingId' => '<string>',
            'CapacityBlockExtensionPurchaseDate' => <DateTime>,
            'CapacityBlockExtensionStartDate' => <DateTime>,
            'CapacityBlockExtensionStatus' => 'payment-pending|payment-failed|payment-succeeded',
            'CapacityReservationId' => '<string>',
            'CurrencyCode' => '<string>',
            'InstanceCount' => <integer>,
            'InstanceType' => '<string>',
            'UpfrontFee' => '<string>',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
CapacityBlockExtensions
Type: Array of CapacityBlockExtension structures

Describes one or more of your Capacity Block extensions. The results describe only the Capacity Block extensions in the Amazon Web Services Region that you're currently using.

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.

DescribeCapacityBlockExtensionOfferings

$result = $client->describeCapacityBlockExtensionOfferings([/* ... */]);
$promise = $client->describeCapacityBlockExtensionOfferingsAsync([/* ... */]);

Describes Capacity Block extension offerings available for purchase in the Amazon Web Services Region that you're currently using.

Parameter Syntax

$result = $client->describeCapacityBlockExtensionOfferings([
    'CapacityBlockExtensionDurationHours' => <integer>, // REQUIRED
    'CapacityReservationId' => '<string>', // REQUIRED
    'DryRun' => true || false,
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
CapacityBlockExtensionDurationHours
Required: Yes
Type: int

The duration of the Capacity Block extension offering in hours.

CapacityReservationId
Required: Yes
Type: string

The ID of the Capacity reservation to be extended.

DryRun
Type: boolean

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

[
    'CapacityBlockExtensionOfferings' => [
        [
            'AvailabilityZone' => '<string>',
            'AvailabilityZoneId' => '<string>',
            'CapacityBlockExtensionDurationHours' => <integer>,
            'CapacityBlockExtensionEndDate' => <DateTime>,
            'CapacityBlockExtensionOfferingId' => '<string>',
            'CapacityBlockExtensionStartDate' => <DateTime>,
            'CurrencyCode' => '<string>',
            'InstanceCount' => <integer>,
            'InstanceType' => '<string>',
            'StartDate' => <DateTime>,
            'Tenancy' => 'default|dedicated',
            'UpfrontFee' => '<string>',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
CapacityBlockExtensionOfferings
Type: Array of CapacityBlockExtensionOffering structures

The recommended Capacity Block extension offerings 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.

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.

To search for an available Capacity Block offering, you specify a reservation duration and instance count. You must select one of the following options.

  • For reservation durations 1-day increments up 14 days and 7-day increments up to 182 days total

  • For instance count 1, 2, 4, 8, 16, 32, or 64 instances

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>,
            'CapacityBlockDurationMinutes' => <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|i7ie.large|i7ie.xlarge|i7ie.2xlarge|i7ie.3xlarge|i7ie.6xlarge|i7ie.12xlarge|i7ie.18xlarge|i7ie.24xlarge|i7ie.48xlarge|i8g.large|i8g.xlarge|i8g.2xlarge|i8g.4xlarge|i8g.8xlarge|i8g.12xlarge|i8g.16xlarge|i8g.24xlarge|i8g.metal-24xl|u7i-6tb.112xlarge|u7i-8tb.112xlarge|u7inh-32tb.480xlarge|p5e.48xlarge|p5en.48xlarge|f2.12xlarge|f2.48xlarge|trn2.48xlarge',
                    '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|future',
                    'Count' => <integer>,
                ],
                // ...
            ],
            'CapacityReservationArn' => '<string>',
            'CapacityReservationFleetId' => '<string>',
            'CapacityReservationId' => '<string>',
            'CommitmentInfo' => [
                'CommitmentEndDate' => <DateTime>,
                'CommittedInstanceCount' => <integer>,
            ],
            'CreateDate' => <DateTime>,
            'DeliveryPreference' => 'fixed|incremental',
            'EbsOptimized' => true || false,
            'EndDate' => <DateTime>,
            'EndDateType' => 'unlimited|limited',
            'EphemeralStorage' => true || false,
            'InstanceMatchCriteria' => 'open|targeted',
            'InstancePlatform' => 'Linux/UNIX|Red Hat Enterprise Linux|SUSE Linux|Windows|Windows with SQL Server|Windows with SQL Server Enterprise|Windows with SQL Server Standard|Windows with SQL Server Web|Linux with SQL Server Standard|Linux with SQL Server Web|Linux with SQL Server Enterprise|RHEL with SQL Server Standard|RHEL with SQL Server Enterprise|RHEL with SQL Server Web|RHEL with HA|RHEL with HA and SQL Server Standard|RHEL with HA and SQL Server Enterprise|Ubuntu Pro',
            'InstanceType' => '<string>',
            'OutpostArn' => '<string>',
            'OwnerId' => '<string>',
            'PlacementGroupArn' => '<string>',
            'ReservationType' => 'default|capacity-block',
            'StartDate' => <DateTime>,
            'State' => 'active|expired|cancelled|pending|failed|scheduled|payment-pending|payment-failed|assessing|delayed|unsupported',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'Tenancy' => 'default|dedicated',
            'TotalInstanceCount' => <integer>,
            'UnusedReservationBillingOwnerId' => '<string>',
        ],
        // ...
    ],
    '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 - 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>',
            'DisconnectOnSessionTimeout' => true || false,
            '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',
        ],
    ],
]

DescribeDeclarativePoliciesReports

$result = $client->describeDeclarativePoliciesReports([/* ... */]);
$promise = $client->describeDeclarativePoliciesReportsAsync([/* ... */]);

Describes the metadata of an account status report, including the status of the report.

To view the full report, download it from the Amazon S3 bucket where it was saved. Reports are accessible only when they have the complete status. Reports with other statuses (running, cancelled, or error) are not available in the S3 bucket. For more information about downloading objects from an S3 bucket, see Downloading objects in the Amazon Simple Storage Service User Guide.

For more information, see Generating the account status report for declarative policies in the Amazon Web Services Organizations User Guide.

Parameter Syntax

$result = $client->describeDeclarativePoliciesReports([
    'DryRun' => true || false,
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'ReportIds' => ['<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.

ReportIds
Type: Array of strings

One or more report IDs.

Result Syntax

[
    'NextToken' => '<string>',
    'Reports' => [
        [
            'EndTime' => <DateTime>,
            'ReportId' => '<string>',
            'S3Bucket' => '<string>',
            'S3Prefix' => '<string>',
            'StartTime' => <DateTime>,
            'Status' => 'running|cancelled|complete|error',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'TargetId' => '<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.

Reports
Type: Array of DeclarativePoliciesReport structures

The report metadata.

Errors

There are no errors described for this operation.

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

When Allowed AMIs is set to enabled, only allowed images are returned in the results, with the imageAllowed field set to true for each image. In audit-mode, the imageAllowed field is set to true for images that meet the account's Allowed AMIs criteria, and false for images that don't meet the criteria. For more information, see EnableAllowedImagesSettings.

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-allowed - A Boolean that indicates whether the image meets the criteria specified for Allowed AMIs.

  • 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-image-id - The ID of the source AMI from which the AMI was created.

  • source-image-region - The Region of the source AMI.

  • 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',
            'ImageAllowed' => true || false,
            '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.

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 that the enaSupport attribute is not supported.

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,
                'Operator' => [
                    'Managed' => true || false,
                    'Principal' => '<string>',
                ],
                '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

Indicates whether stop protection is enabled for the instance.

DisableApiTermination
Type: AttributeBooleanValue structure

Indicates whether termination protection is enabled. If the value is true, you can't terminate the instance using the Amazon EC2 console, command line tools, or API.

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

Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves.

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

The 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

Indicates whether source/destination checks are enabled.

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, made private (no longer public or shared with your account), or not allowed.

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.

  • image-allowed - A Boolean that indicates whether the image meets the criteria specified for Allowed AMIs.

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

  • owner-alias - The owner alias (amazon | aws-marketplace | aws-backup-vault). 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.

  • 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>',
                'ImageAllowed' => true || false,
                '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|i7ie.large|i7ie.xlarge|i7ie.2xlarge|i7ie.3xlarge|i7ie.6xlarge|i7ie.12xlarge|i7ie.18xlarge|i7ie.24xlarge|i7ie.48xlarge|i8g.large|i8g.xlarge|i8g.2xlarge|i8g.4xlarge|i8g.8xlarge|i8g.12xlarge|i8g.16xlarge|i8g.24xlarge|i8g.metal-24xl|u7i-6tb.112xlarge|u7i-8tb.112xlarge|u7inh-32tb.480xlarge|p5e.48xlarge|p5en.48xlarge|f2.12xlarge|f2.48xlarge|trn2.48xlarge',
            'LaunchTime' => <DateTime>,
            'Operator' => [
                'Managed' => true || false,
                'Principal' => '<string>',
            ],
            '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).

  • operator.managed - A Boolean that indicates whether this is a managed instance.

  • operator.principal - The principal that manages the instance. Only valid for managed instances, where managed is true.

  • 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',
            ],
            'Operator' => [
                'Managed' => true || false,
                'Principal' => '<string>',
            ],
            '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 | p5en.48xlarge

    • trn1.2xlarge | trn1.32xlarge | trn1n.32xlarge | trn2.48xlarge | trn2u.48xlarge

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|i7ie.large|i7ie.xlarge|i7ie.2xlarge|i7ie.3xlarge|i7ie.6xlarge|i7ie.12xlarge|i7ie.18xlarge|i7ie.24xlarge|i7ie.48xlarge|i8g.large|i8g.xlarge|i8g.2xlarge|i8g.4xlarge|i8g.8xlarge|i8g.12xlarge|i8g.16xlarge|i8g.24xlarge|i8g.metal-24xl|u7i-6tb.112xlarge|u7i-8tb.112xlarge|u7inh-32tb.480xlarge|p5e.48xlarge|p5en.48xlarge|f2.12xlarge|f2.48xlarge|trn2.48xlarge',
            '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.bandwidth-weightings - For instances that support bandwidth weighting to boost performance (default, vpc-1, ebs-1).

  • 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|i7ie.large|i7ie.xlarge|i7ie.2xlarge|i7ie.3xlarge|i7ie.6xlarge|i7ie.12xlarge|i7ie.18xlarge|i7ie.24xlarge|i7ie.48xlarge|i8g.large|i8g.xlarge|i8g.2xlarge|i8g.4xlarge|i8g.8xlarge|i8g.12xlarge|i8g.16xlarge|i8g.24xlarge|i8g.metal-24xl|u7i-6tb.112xlarge|u7i-8tb.112xlarge|u7inh-32tb.480xlarge|p5e.48xlarge|p5en.48xlarge|f2.12xlarge|f2.48xlarge|trn2.48xlarge',
            'MediaAcceleratorInfo' => [
                'Accelerators' => [
                    [
                        'Count' => <integer>,
                        'Manufacturer' => '<string>',
                        'MemoryInfo' => [
                            'SizeInMiB' => <integer>,
                        ],
                        'Name' => '<string>',
                    ],
                    // ...
                ],
                'TotalMediaMemoryInMiB' => <integer>,
            ],
            'MemoryInfo' => [
                'SizeInMiB' => <integer>,
            ],
            'NetworkInfo' => [
                'BandwidthWeightings' => ['<string>', ...],
                '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.operator.managed - A Boolean that indicates whether the instance has a managed network interface.

  • network-interface.operator.principal - The principal that manages the network interface. Only valid for instances with managed network interfaces, where managed is true.

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

  • network-performance-options.bandwidth-weighting - Where the performance boost is applied, if applicable. Valid values: default, vpc-1, ebs-1.

  • operator.managed - A Boolean that indicates whether this is a managed instance.

  • operator.principal - The principal that manages the instance. Only valid for managed instances, where managed is true.

  • 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,
                                'Operator' => [
                                    'Managed' => true || false,
                                    'Principal' => '<string>',
                                ],
                                'Status' => 'attaching|attached|detaching|detached',
                                'VolumeId' => '<string>',
                                'VolumeOwnerId' => '<string>',
                            ],
                        ],
                        // ...
                    ],
                    'BootMode' => 'legacy-bios|uefi|uefi-preferred',
                    'CapacityReservationId' => '<string>',
                    'CapacityReservationSpecification' => [
                        'CapacityReservationPreference' => 'capacity-reservations-only|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|i7ie.large|i7ie.xlarge|i7ie.2xlarge|i7ie.3xlarge|i7ie.6xlarge|i7ie.12xlarge|i7ie.18xlarge|i7ie.24xlarge|i7ie.48xlarge|i8g.large|i8g.xlarge|i8g.2xlarge|i8g.4xlarge|i8g.8xlarge|i8g.12xlarge|i8g.16xlarge|i8g.24xlarge|i8g.metal-24xl|u7i-6tb.112xlarge|u7i-8tb.112xlarge|u7inh-32tb.480xlarge|p5e.48xlarge|p5en.48xlarge|f2.12xlarge|f2.48xlarge|trn2.48xlarge',
                    '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>',
                            'Operator' => [
                                'Managed' => true || false,
                                'Principal' => '<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>',
                        ],
                        // ...
                    ],
                    'NetworkPerformanceOptions' => [
                        'BandwidthWeighting' => 'default|vpc-1|ebs-1',
                    ],
                    'Operator' => [
                        'Managed' => true || false,
                        'Principal' => '<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 - 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>',
                ],
                // ...
            ],
            'OrganizationalUnitExclusions' => [
                [
                    'OrganizationsEntityPath' => '<string>',
                ],
                // ...
            ],
            'OwnerId' => '<string>',
            'State' => 'create-in-progress|create-complete|create-failed|modify-in-progress|modify-complete|modify-failed|delete-in-progress|delete-complete|delete-failed|isolate-in-progress|isolate-complete|restore-in-progress',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    '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' => 'capacity-reservations-only|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>,
                    ],
                    'BaselinePerformanceFactors' => [
                        'Cpu' => [
                            'References' => [
                                [
                                    'InstanceFamily' => '<string>',
                                ],
                                // ...
                            ],
                        ],
                    ],
                    'BurstablePerformance' => 'included|required|excluded',
                    'CpuManufacturers' => ['<string>', ...],
                    'ExcludedInstanceTypes' => ['<string>', ...],
                    'InstanceGenerations' => ['<string>', ...],
                    'LocalStorage' => 'included|required|excluded',
                    'LocalStorageTypes' => ['<string>', ...],
                    'MaxSpotPriceAsPercentageOfOptimalOnDemandPrice' => <integer>,
                    'MemoryGiBPerVCpu' => [
                        'Max' => <float>,
                        'Min' => <float>,
                    ],
                    'MemoryMiB' => [
                        'Max' => <integer>,
                        'Min' => <integer>,
                    ],
                    'NetworkBandwidthGbps' => [
                        'Max' => <float>,
                        'Min' => <float>,
                    ],
                    'NetworkInterfaceCount' => [
                        'Max' => <integer>,
                        'Min' => <integer>,
                    ],
                    'OnDemandMaxPricePercentageOverLowestPrice' => <integer>,
                    'RequireHibernateSupport' => true || false,
                    'SpotMaxPricePercentageOverLowestPrice' => <integer>,
                    'TotalLocalStorageGB' => [
                        'Max' => <float>,
                        'Min' => <float>,
                    ],
                    'VCpuCount' => [
                        'Max' => <integer>,
                        'Min' => <integer>,
                    ],
                ],
                'InstanceType' => 'a1.medium|a1.large|a1.xlarge|a1.2xlarge|a1.4xlarge|a1.metal|c1.medium|c1.xlarge|c3.large|c3.xlarge|c3.2xlarge|c3.4xlarge|c3.8xlarge|c4.large|c4.xlarge|c4.2xlarge|c4.4xlarge|c4.8xlarge|c5.large|c5.xlarge|c5.2xlarge|c5.4xlarge|c5.9xlarge|c5.12xlarge|c5.18xlarge|c5.24xlarge|c5.metal|c5a.large|c5a.xlarge|c5a.2xlarge|c5a.4xlarge|c5a.8xlarge|c5a.12xlarge|c5a.16xlarge|c5a.24xlarge|c5ad.large|c5ad.xlarge|c5ad.2xlarge|c5ad.4xlarge|c5ad.8xlarge|c5ad.12xlarge|c5ad.16xlarge|c5ad.24xlarge|c5d.large|c5d.xlarge|c5d.2xlarge|c5d.4xlarge|c5d.9xlarge|c5d.12xlarge|c5d.18xlarge|c5d.24xlarge|c5d.metal|c5n.large|c5n.xlarge|c5n.2xlarge|c5n.4xlarge|c5n.9xlarge|c5n.18xlarge|c5n.metal|c6g.medium|c6g.large|c6g.xlarge|c6g.2xlarge|c6g.4xlarge|c6g.8xlarge|c6g.12xlarge|c6g.16xlarge|c6g.metal|c6gd.medium|c6gd.large|c6gd.xlarge|c6gd.2xlarge|c6gd.4xlarge|c6gd.8xlarge|c6gd.12xlarge|c6gd.16xlarge|c6gd.metal|c6gn.medium|c6gn.large|c6gn.xlarge|c6gn.2xlarge|c6gn.4xlarge|c6gn.8xlarge|c6gn.12xlarge|c6gn.16xlarge|c6i.large|c6i.xlarge|c6i.2xlarge|c6i.4xlarge|c6i.8xlarge|c6i.12xlarge|c6i.16xlarge|c6i.24xlarge|c6i.32xlarge|c6i.metal|cc1.4xlarge|cc2.8xlarge|cg1.4xlarge|cr1.8xlarge|d2.xlarge|d2.2xlarge|d2.4xlarge|d2.8xlarge|d3.xlarge|d3.2xlarge|d3.4xlarge|d3.8xlarge|d3en.xlarge|d3en.2xlarge|d3en.4xlarge|d3en.6xlarge|d3en.8xlarge|d3en.12xlarge|dl1.24xlarge|f1.2xlarge|f1.4xlarge|f1.16xlarge|g2.2xlarge|g2.8xlarge|g3.4xlarge|g3.8xlarge|g3.16xlarge|g3s.xlarge|g4ad.xlarge|g4ad.2xlarge|g4ad.4xlarge|g4ad.8xlarge|g4ad.16xlarge|g4dn.xlarge|g4dn.2xlarge|g4dn.4xlarge|g4dn.8xlarge|g4dn.12xlarge|g4dn.16xlarge|g4dn.metal|g5.xlarge|g5.2xlarge|g5.4xlarge|g5.8xlarge|g5.12xlarge|g5.16xlarge|g5.24xlarge|g5.48xlarge|g5g.xlarge|g5g.2xlarge|g5g.4xlarge|g5g.8xlarge|g5g.16xlarge|g5g.metal|hi1.4xlarge|hpc6a.48xlarge|hs1.8xlarge|h1.2xlarge|h1.4xlarge|h1.8xlarge|h1.16xlarge|i2.xlarge|i2.2xlarge|i2.4xlarge|i2.8xlarge|i3.large|i3.xlarge|i3.2xlarge|i3.4xlarge|i3.8xlarge|i3.16xlarge|i3.metal|i3en.large|i3en.xlarge|i3en.2xlarge|i3en.3xlarge|i3en.6xlarge|i3en.12xlarge|i3en.24xlarge|i3en.metal|im4gn.large|im4gn.xlarge|im4gn.2xlarge|im4gn.4xlarge|im4gn.8xlarge|im4gn.16xlarge|inf1.xlarge|inf1.2xlarge|inf1.6xlarge|inf1.24xlarge|is4gen.medium|is4gen.large|is4gen.xlarge|is4gen.2xlarge|is4gen.4xlarge|is4gen.8xlarge|m1.small|m1.medium|m1.large|m1.xlarge|m2.xlarge|m2.2xlarge|m2.4xlarge|m3.medium|m3.large|m3.xlarge|m3.2xlarge|m4.large|m4.xlarge|m4.2xlarge|m4.4xlarge|m4.10xlarge|m4.16xlarge|m5.large|m5.xlarge|m5.2xlarge|m5.4xlarge|m5.8xlarge|m5.12xlarge|m5.16xlarge|m5.24xlarge|m5.metal|m5a.large|m5a.xlarge|m5a.2xlarge|m5a.4xlarge|m5a.8xlarge|m5a.12xlarge|m5a.16xlarge|m5a.24xlarge|m5ad.large|m5ad.xlarge|m5ad.2xlarge|m5ad.4xlarge|m5ad.8xlarge|m5ad.12xlarge|m5ad.16xlarge|m5ad.24xlarge|m5d.large|m5d.xlarge|m5d.2xlarge|m5d.4xlarge|m5d.8xlarge|m5d.12xlarge|m5d.16xlarge|m5d.24xlarge|m5d.metal|m5dn.large|m5dn.xlarge|m5dn.2xlarge|m5dn.4xlarge|m5dn.8xlarge|m5dn.12xlarge|m5dn.16xlarge|m5dn.24xlarge|m5dn.metal|m5n.large|m5n.xlarge|m5n.2xlarge|m5n.4xlarge|m5n.8xlarge|m5n.12xlarge|m5n.16xlarge|m5n.24xlarge|m5n.metal|m5zn.large|m5zn.xlarge|m5zn.2xlarge|m5zn.3xlarge|m5zn.6xlarge|m5zn.12xlarge|m5zn.metal|m6a.large|m6a.xlarge|m6a.2xlarge|m6a.4xlarge|m6a.8xlarge|m6a.12xlarge|m6a.16xlarge|m6a.24xlarge|m6a.32xlarge|m6a.48xlarge|m6g.metal|m6g.medium|m6g.large|m6g.xlarge|m6g.2xlarge|m6g.4xlarge|m6g.8xlarge|m6g.12xlarge|m6g.16xlarge|m6gd.metal|m6gd.medium|m6gd.large|m6gd.xlarge|m6gd.2xlarge|m6gd.4xlarge|m6gd.8xlarge|m6gd.12xlarge|m6gd.16xlarge|m6i.large|m6i.xlarge|m6i.2xlarge|m6i.4xlarge|m6i.8xlarge|m6i.12xlarge|m6i.16xlarge|m6i.24xlarge|m6i.32xlarge|m6i.metal|mac1.metal|p2.xlarge|p2.8xlarge|p2.16xlarge|p3.2xlarge|p3.8xlarge|p3.16xlarge|p3dn.24xlarge|p4d.24xlarge|r3.large|r3.xlarge|r3.2xlarge|r3.4xlarge|r3.8xlarge|r4.large|r4.xlarge|r4.2xlarge|r4.4xlarge|r4.8xlarge|r4.16xlarge|r5.large|r5.xlarge|r5.2xlarge|r5.4xlarge|r5.8xlarge|r5.12xlarge|r5.16xlarge|r5.24xlarge|r5.metal|r5a.large|r5a.xlarge|r5a.2xlarge|r5a.4xlarge|r5a.8xlarge|r5a.12xlarge|r5a.16xlarge|r5a.24xlarge|r5ad.large|r5ad.xlarge|r5ad.2xlarge|r5ad.4xlarge|r5ad.8xlarge|r5ad.12xlarge|r5ad.16xlarge|r5ad.24xlarge|r5b.large|r5b.xlarge|r5b.2xlarge|r5b.4xlarge|r5b.8xlarge|r5b.12xlarge|r5b.16xlarge|r5b.24xlarge|r5b.metal|r5d.large|r5d.xlarge|r5d.2xlarge|r5d.4xlarge|r5d.8xlarge|r5d.12xlarge|r5d.16xlarge|r5d.24xlarge|r5d.metal|r5dn.large|r5dn.xlarge|r5dn.2xlarge|r5dn.4xlarge|r5dn.8xlarge|r5dn.12xlarge|r5dn.16xlarge|r5dn.24xlarge|r5dn.metal|r5n.large|r5n.xlarge|r5n.2xlarge|r5n.4xlarge|r5n.8xlarge|r5n.12xlarge|r5n.16xlarge|r5n.24xlarge|r5n.metal|r6g.medium|r6g.large|r6g.xlarge|r6g.2xlarge|r6g.4xlarge|r6g.8xlarge|r6g.12xlarge|r6g.16xlarge|r6g.metal|r6gd.medium|r6gd.large|r6gd.xlarge|r6gd.2xlarge|r6gd.4xlarge|r6gd.8xlarge|r6gd.12xlarge|r6gd.16xlarge|r6gd.metal|r6i.large|r6i.xlarge|r6i.2xlarge|r6i.4xlarge|r6i.8xlarge|r6i.12xlarge|r6i.16xlarge|r6i.24xlarge|r6i.32xlarge|r6i.metal|t1.micro|t2.nano|t2.micro|t2.small|t2.medium|t2.large|t2.xlarge|t2.2xlarge|t3.nano|t3.micro|t3.small|t3.medium|t3.large|t3.xlarge|t3.2xlarge|t3a.nano|t3a.micro|t3a.small|t3a.medium|t3a.large|t3a.xlarge|t3a.2xlarge|t4g.nano|t4g.micro|t4g.small|t4g.medium|t4g.large|t4g.xlarge|t4g.2xlarge|u-6tb1.56xlarge|u-6tb1.112xlarge|u-9tb1.112xlarge|u-12tb1.112xlarge|u-6tb1.metal|u-9tb1.metal|u-12tb1.metal|u-18tb1.metal|u-24tb1.metal|vt1.3xlarge|vt1.6xlarge|vt1.24xlarge|x1.16xlarge|x1.32xlarge|x1e.xlarge|x1e.2xlarge|x1e.4xlarge|x1e.8xlarge|x1e.16xlarge|x1e.32xlarge|x2iezn.2xlarge|x2iezn.4xlarge|x2iezn.6xlarge|x2iezn.8xlarge|x2iezn.12xlarge|x2iezn.metal|x2gd.medium|x2gd.large|x2gd.xlarge|x2gd.2xlarge|x2gd.4xlarge|x2gd.8xlarge|x2gd.12xlarge|x2gd.16xlarge|x2gd.metal|z1d.large|z1d.xlarge|z1d.2xlarge|z1d.3xlarge|z1d.6xlarge|z1d.12xlarge|z1d.metal|x2idn.16xlarge|x2idn.24xlarge|x2idn.32xlarge|x2iedn.xlarge|x2iedn.2xlarge|x2iedn.4xlarge|x2iedn.8xlarge|x2iedn.16xlarge|x2iedn.24xlarge|x2iedn.32xlarge|c6a.large|c6a.xlarge|c6a.2xlarge|c6a.4xlarge|c6a.8xlarge|c6a.12xlarge|c6a.16xlarge|c6a.24xlarge|c6a.32xlarge|c6a.48xlarge|c6a.metal|m6a.metal|i4i.large|i4i.xlarge|i4i.2xlarge|i4i.4xlarge|i4i.8xlarge|i4i.16xlarge|i4i.32xlarge|i4i.metal|x2idn.metal|x2iedn.metal|c7g.medium|c7g.large|c7g.xlarge|c7g.2xlarge|c7g.4xlarge|c7g.8xlarge|c7g.12xlarge|c7g.16xlarge|mac2.metal|c6id.large|c6id.xlarge|c6id.2xlarge|c6id.4xlarge|c6id.8xlarge|c6id.12xlarge|c6id.16xlarge|c6id.24xlarge|c6id.32xlarge|c6id.metal|m6id.large|m6id.xlarge|m6id.2xlarge|m6id.4xlarge|m6id.8xlarge|m6id.12xlarge|m6id.16xlarge|m6id.24xlarge|m6id.32xlarge|m6id.metal|r6id.large|r6id.xlarge|r6id.2xlarge|r6id.4xlarge|r6id.8xlarge|r6id.12xlarge|r6id.16xlarge|r6id.24xlarge|r6id.32xlarge|r6id.metal|r6a.large|r6a.xlarge|r6a.2xlarge|r6a.4xlarge|r6a.8xlarge|r6a.12xlarge|r6a.16xlarge|r6a.24xlarge|r6a.32xlarge|r6a.48xlarge|r6a.metal|p4de.24xlarge|u-3tb1.56xlarge|u-18tb1.112xlarge|u-24tb1.112xlarge|trn1.2xlarge|trn1.32xlarge|hpc6id.32xlarge|c6in.large|c6in.xlarge|c6in.2xlarge|c6in.4xlarge|c6in.8xlarge|c6in.12xlarge|c6in.16xlarge|c6in.24xlarge|c6in.32xlarge|m6in.large|m6in.xlarge|m6in.2xlarge|m6in.4xlarge|m6in.8xlarge|m6in.12xlarge|m6in.16xlarge|m6in.24xlarge|m6in.32xlarge|m6idn.large|m6idn.xlarge|m6idn.2xlarge|m6idn.4xlarge|m6idn.8xlarge|m6idn.12xlarge|m6idn.16xlarge|m6idn.24xlarge|m6idn.32xlarge|r6in.large|r6in.xlarge|r6in.2xlarge|r6in.4xlarge|r6in.8xlarge|r6in.12xlarge|r6in.16xlarge|r6in.24xlarge|r6in.32xlarge|r6idn.large|r6idn.xlarge|r6idn.2xlarge|r6idn.4xlarge|r6idn.8xlarge|r6idn.12xlarge|r6idn.16xlarge|r6idn.24xlarge|r6idn.32xlarge|c7g.metal|m7g.medium|m7g.large|m7g.xlarge|m7g.2xlarge|m7g.4xlarge|m7g.8xlarge|m7g.12xlarge|m7g.16xlarge|m7g.metal|r7g.medium|r7g.large|r7g.xlarge|r7g.2xlarge|r7g.4xlarge|r7g.8xlarge|r7g.12xlarge|r7g.16xlarge|r7g.metal|c6in.metal|m6in.metal|m6idn.metal|r6in.metal|r6idn.metal|inf2.xlarge|inf2.8xlarge|inf2.24xlarge|inf2.48xlarge|trn1n.32xlarge|i4g.large|i4g.xlarge|i4g.2xlarge|i4g.4xlarge|i4g.8xlarge|i4g.16xlarge|hpc7g.4xlarge|hpc7g.8xlarge|hpc7g.16xlarge|c7gn.medium|c7gn.large|c7gn.xlarge|c7gn.2xlarge|c7gn.4xlarge|c7gn.8xlarge|c7gn.12xlarge|c7gn.16xlarge|p5.48xlarge|m7i.large|m7i.xlarge|m7i.2xlarge|m7i.4xlarge|m7i.8xlarge|m7i.12xlarge|m7i.16xlarge|m7i.24xlarge|m7i.48xlarge|m7i-flex.large|m7i-flex.xlarge|m7i-flex.2xlarge|m7i-flex.4xlarge|m7i-flex.8xlarge|m7a.medium|m7a.large|m7a.xlarge|m7a.2xlarge|m7a.4xlarge|m7a.8xlarge|m7a.12xlarge|m7a.16xlarge|m7a.24xlarge|m7a.32xlarge|m7a.48xlarge|m7a.metal-48xl|hpc7a.12xlarge|hpc7a.24xlarge|hpc7a.48xlarge|hpc7a.96xlarge|c7gd.medium|c7gd.large|c7gd.xlarge|c7gd.2xlarge|c7gd.4xlarge|c7gd.8xlarge|c7gd.12xlarge|c7gd.16xlarge|m7gd.medium|m7gd.large|m7gd.xlarge|m7gd.2xlarge|m7gd.4xlarge|m7gd.8xlarge|m7gd.12xlarge|m7gd.16xlarge|r7gd.medium|r7gd.large|r7gd.xlarge|r7gd.2xlarge|r7gd.4xlarge|r7gd.8xlarge|r7gd.12xlarge|r7gd.16xlarge|r7a.medium|r7a.large|r7a.xlarge|r7a.2xlarge|r7a.4xlarge|r7a.8xlarge|r7a.12xlarge|r7a.16xlarge|r7a.24xlarge|r7a.32xlarge|r7a.48xlarge|c7i.large|c7i.xlarge|c7i.2xlarge|c7i.4xlarge|c7i.8xlarge|c7i.12xlarge|c7i.16xlarge|c7i.24xlarge|c7i.48xlarge|mac2-m2pro.metal|r7iz.large|r7iz.xlarge|r7iz.2xlarge|r7iz.4xlarge|r7iz.8xlarge|r7iz.12xlarge|r7iz.16xlarge|r7iz.32xlarge|c7a.medium|c7a.large|c7a.xlarge|c7a.2xlarge|c7a.4xlarge|c7a.8xlarge|c7a.12xlarge|c7a.16xlarge|c7a.24xlarge|c7a.32xlarge|c7a.48xlarge|c7a.metal-48xl|r7a.metal-48xl|r7i.large|r7i.xlarge|r7i.2xlarge|r7i.4xlarge|r7i.8xlarge|r7i.12xlarge|r7i.16xlarge|r7i.24xlarge|r7i.48xlarge|dl2q.24xlarge|mac2-m2.metal|i4i.12xlarge|i4i.24xlarge|c7i.metal-24xl|c7i.metal-48xl|m7i.metal-24xl|m7i.metal-48xl|r7i.metal-24xl|r7i.metal-48xl|r7iz.metal-16xl|r7iz.metal-32xl|c7gd.metal|m7gd.metal|r7gd.metal|g6.xlarge|g6.2xlarge|g6.4xlarge|g6.8xlarge|g6.12xlarge|g6.16xlarge|g6.24xlarge|g6.48xlarge|gr6.4xlarge|gr6.8xlarge|c7i-flex.large|c7i-flex.xlarge|c7i-flex.2xlarge|c7i-flex.4xlarge|c7i-flex.8xlarge|u7i-12tb.224xlarge|u7in-16tb.224xlarge|u7in-24tb.224xlarge|u7in-32tb.224xlarge|u7ib-12tb.224xlarge|c7gn.metal|r8g.medium|r8g.large|r8g.xlarge|r8g.2xlarge|r8g.4xlarge|r8g.8xlarge|r8g.12xlarge|r8g.16xlarge|r8g.24xlarge|r8g.48xlarge|r8g.metal-24xl|r8g.metal-48xl|mac2-m1ultra.metal|g6e.xlarge|g6e.2xlarge|g6e.4xlarge|g6e.8xlarge|g6e.12xlarge|g6e.16xlarge|g6e.24xlarge|g6e.48xlarge|c8g.medium|c8g.large|c8g.xlarge|c8g.2xlarge|c8g.4xlarge|c8g.8xlarge|c8g.12xlarge|c8g.16xlarge|c8g.24xlarge|c8g.48xlarge|c8g.metal-24xl|c8g.metal-48xl|m8g.medium|m8g.large|m8g.xlarge|m8g.2xlarge|m8g.4xlarge|m8g.8xlarge|m8g.12xlarge|m8g.16xlarge|m8g.24xlarge|m8g.48xlarge|m8g.metal-24xl|m8g.metal-48xl|x8g.medium|x8g.large|x8g.xlarge|x8g.2xlarge|x8g.4xlarge|x8g.8xlarge|x8g.12xlarge|x8g.16xlarge|x8g.24xlarge|x8g.48xlarge|x8g.metal-24xl|x8g.metal-48xl|i7ie.large|i7ie.xlarge|i7ie.2xlarge|i7ie.3xlarge|i7ie.6xlarge|i7ie.12xlarge|i7ie.18xlarge|i7ie.24xlarge|i7ie.48xlarge|i8g.large|i8g.xlarge|i8g.2xlarge|i8g.4xlarge|i8g.8xlarge|i8g.12xlarge|i8g.16xlarge|i8g.24xlarge|i8g.metal-24xl|u7i-6tb.112xlarge|u7i-8tb.112xlarge|u7inh-32tb.480xlarge|p5e.48xlarge|p5en.48xlarge|f2.12xlarge|f2.48xlarge|trn2.48xlarge',
                '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>',
                    ],
                    // ...
                ],
                'NetworkPerformanceOptions' => [
                    'BandwidthWeighting' => 'default|vpc-1|ebs-1',
                ],
                'Operator' => [
                    'Managed' => true || false,
                    'Principal' => '<string>',
                ],
                'Placement' => [
                    'Affinity' => '<string>',
                    'AvailabilityZone' => '<string>',
                    'GroupId' => '<string>',
                    'GroupName' => '<string>',
                    'HostId' => '<string>',
                    'HostResourceGroupArn' => '<string>',
                    'PartitionNumber' => <integer>,
                    'SpreadDomain' => '<string>',
                    'Tenancy' => 'default|dedicated|host',
                ],
                'PrivateDnsNameOptions' => [
                    'EnableResourceNameDnsAAAARecord' => true || false,
                    'EnableResourceNameDnsARecord' => true || false,
                    'HostnameType' => 'ip-name|resource-name',
                ],
                'RamDiskId' => '<string>',
                'SecurityGroupIds' => ['<string>', ...],
                'SecurityGroups' => ['<string>', ...],
                'TagSpecifications' => [
                    [
                        'ResourceType' => 'capacity-reservation|client-vpn-endpoint|customer-gateway|carrier-gateway|coip-pool|declarative-policies-report|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|verified-access-endpoint-target|ipam-external-resource-verification-token',
                        'Tags' => [
                            [
                                'Key' => '<string>',
                                'Value' => '<string>',
                            ],
                            // ...
                        ],
                    ],
                    // ...
                ],
                'UserData' => '<string>',
            ],
            'LaunchTemplateId' => '<string>',
            'LaunchTemplateName' => '<string>',
            'Operator' => [
                'Managed' => true || false,
                'Principal' => '<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>',
            'Operator' => [
                'Managed' => true || false,
                'Principal' => '<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 - 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 - 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 the specified network interfaces or all 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, 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.

  • operator.managed - A Boolean that indicates whether this is a managed network interface.

  • operator.principal - The principal that manages the network interface. Only valid for managed network interfaces, where managed is true.

  • 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>',
            'Operator' => [
                'Managed' => true || false,
                'Principal' => '<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|i7ie.large|i7ie.xlarge|i7ie.2xlarge|i7ie.3xlarge|i7ie.6xlarge|i7ie.12xlarge|i7ie.18xlarge|i7ie.24xlarge|i7ie.48xlarge|i8g.large|i8g.xlarge|i8g.2xlarge|i8g.4xlarge|i8g.8xlarge|i8g.12xlarge|i8g.16xlarge|i8g.24xlarge|i8g.metal-24xl|u7i-6tb.112xlarge|u7i-8tb.112xlarge|u7inh-32tb.480xlarge|p5e.48xlarge|p5en.48xlarge|f2.12xlarge|f2.48xlarge|trn2.48xlarge',
            '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|i7ie.large|i7ie.xlarge|i7ie.2xlarge|i7ie.3xlarge|i7ie.6xlarge|i7ie.12xlarge|i7ie.18xlarge|i7ie.24xlarge|i7ie.48xlarge|i8g.large|i8g.xlarge|i8g.2xlarge|i8g.4xlarge|i8g.8xlarge|i8g.12xlarge|i8g.16xlarge|i8g.24xlarge|i8g.metal-24xl|u7i-6tb.112xlarge|u7i-8tb.112xlarge|u7inh-32tb.480xlarge|p5e.48xlarge|p5en.48xlarge|f2.12xlarge|f2.48xlarge|trn2.48xlarge',
                        '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|i7ie.large|i7ie.xlarge|i7ie.2xlarge|i7ie.3xlarge|i7ie.6xlarge|i7ie.12xlarge|i7ie.18xlarge|i7ie.24xlarge|i7ie.48xlarge|i8g.large|i8g.xlarge|i8g.2xlarge|i8g.4xlarge|i8g.8xlarge|i8g.12xlarge|i8g.16xlarge|i8g.24xlarge|i8g.metal-24xl|u7i-6tb.112xlarge|u7i-8tb.112xlarge|u7inh-32tb.480xlarge|p5e.48xlarge|p5en.48xlarge|f2.12xlarge|f2.48xlarge|trn2.48xlarge',
    '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|i7ie.large|i7ie.xlarge|i7ie.2xlarge|i7ie.3xlarge|i7ie.6xlarge|i7ie.12xlarge|i7ie.18xlarge|i7ie.24xlarge|i7ie.48xlarge|i8g.large|i8g.xlarge|i8g.2xlarge|i8g.4xlarge|i8g.8xlarge|i8g.12xlarge|i8g.16xlarge|i8g.24xlarge|i8g.metal-24xl|u7i-6tb.112xlarge|u7i-8tb.112xlarge|u7inh-32tb.480xlarge|p5e.48xlarge|p5en.48xlarge|f2.12xlarge|f2.48xlarge|trn2.48xlarge',
            '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 - 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).

  • transfer-type - The type of operation used to create the snapshot (time-based | 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' => [
        [
            'AvailabilityZone' => '<string>',
            'CompletionDurationMinutes' => <integer>,
            'CompletionTime' => <DateTime>,
            'DataEncryptionKeyId' => '<string>',
            'Description' => '<string>',
            'Encrypted' => true || false,
            'FullSnapshotSizeInBytes' => <integer>,
            '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>',
                ],
                // ...
            ],
            'TransferType' => 'time-based|standard',
            '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>,
                            ],
                            'BaselinePerformanceFactors' => [
                                'Cpu' => [
                                    'References' => [
                                        [
                                            'InstanceFamily' => '<string>',
                                        ],
                                        // ...
                                    ],
                                ],
                            ],
                            'BurstablePerformance' => 'included|required|excluded',
                            'CpuManufacturers' => ['<string>', ...],
                            'ExcludedInstanceTypes' => ['<string>', ...],
                            'InstanceGenerations' => ['<string>', ...],
                            'LocalStorage' => 'included|required|excluded',
                            'LocalStorageTypes' => ['<string>', ...],
                            'MaxSpotPriceAsPercentageOfOptimalOnDemandPrice' => <integer>,
                            'MemoryGiBPerVCpu' => [
                                'Max' => <float>,
                                'Min' => <float>,
                            ],
                            'MemoryMiB' => [
                                'Max' => <integer>,
                                'Min' => <integer>,
                            ],
                            'NetworkBandwidthGbps' => [
                                'Max' => <float>,
                                'Min' => <float>,
                            ],
                            'NetworkInterfaceCount' => [
                                'Max' => <integer>,
                                'Min' => <integer>,
                            ],
                            'OnDemandMaxPricePercentageOverLowestPrice' => <integer>,
                            'RequireHibernateSupport' => true || false,
                            'SpotMaxPricePercentageOverLowestPrice' => <integer>,
                            'TotalLocalStorageGB' => [
                                'Max' => <float>,
                                'Min' => <float>,
                            ],
                            'VCpuCount' => [
                                'Max' => <integer>,
                                'Min' => <integer>,
                            ],
                        ],
                        'InstanceType' => 'a1.medium|a1.large|a1.xlarge|a1.2xlarge|a1.4xlarge|a1.metal|c1.medium|c1.xlarge|c3.large|c3.xlarge|c3.2xlarge|c3.4xlarge|c3.8xlarge|c4.large|c4.xlarge|c4.2xlarge|c4.4xlarge|c4.8xlarge|c5.large|c5.xlarge|c5.2xlarge|c5.4xlarge|c5.9xlarge|c5.12xlarge|c5.18xlarge|c5.24xlarge|c5.metal|c5a.large|c5a.xlarge|c5a.2xlarge|c5a.4xlarge|c5a.8xlarge|c5a.12xlarge|c5a.16xlarge|c5a.24xlarge|c5ad.large|c5ad.xlarge|c5ad.2xlarge|c5ad.4xlarge|c5ad.8xlarge|c5ad.12xlarge|c5ad.16xlarge|c5ad.24xlarge|c5d.large|c5d.xlarge|c5d.2xlarge|c5d.4xlarge|c5d.9xlarge|c5d.12xlarge|c5d.18xlarge|c5d.24xlarge|c5d.metal|c5n.large|c5n.xlarge|c5n.2xlarge|c5n.4xlarge|c5n.9xlarge|c5n.18xlarge|c5n.metal|c6g.medium|c6g.large|c6g.xlarge|c6g.2xlarge|c6g.4xlarge|c6g.8xlarge|c6g.12xlarge|c6g.16xlarge|c6g.metal|c6gd.medium|c6gd.large|c6gd.xlarge|c6gd.2xlarge|c6gd.4xlarge|c6gd.8xlarge|c6gd.12xlarge|c6gd.16xlarge|c6gd.metal|c6gn.medium|c6gn.large|c6gn.xlarge|c6gn.2xlarge|c6gn.4xlarge|c6gn.8xlarge|c6gn.12xlarge|c6gn.16xlarge|c6i.large|c6i.xlarge|c6i.2xlarge|c6i.4xlarge|c6i.8xlarge|c6i.12xlarge|c6i.16xlarge|c6i.24xlarge|c6i.32xlarge|c6i.metal|cc1.4xlarge|cc2.8xlarge|cg1.4xlarge|cr1.8xlarge|d2.xlarge|d2.2xlarge|d2.4xlarge|d2.8xlarge|d3.xlarge|d3.2xlarge|d3.4xlarge|d3.8xlarge|d3en.xlarge|d3en.2xlarge|d3en.4xlarge|d3en.6xlarge|d3en.8xlarge|d3en.12xlarge|dl1.24xlarge|f1.2xlarge|f1.4xlarge|f1.16xlarge|g2.2xlarge|g2.8xlarge|g3.4xlarge|g3.8xlarge|g3.16xlarge|g3s.xlarge|g4ad.xlarge|g4ad.2xlarge|g4ad.4xlarge|g4ad.8xlarge|g4ad.16xlarge|g4dn.xlarge|g4dn.2xlarge|g4dn.4xlarge|g4dn.8xlarge|g4dn.12xlarge|g4dn.16xlarge|g4dn.metal|g5.xlarge|g5.2xlarge|g5.4xlarge|g5.8xlarge|g5.12xlarge|g5.16xlarge|g5.24xlarge|g5.48xlarge|g5g.xlarge|g5g.2xlarge|g5g.4xlarge|g5g.8xlarge|g5g.16xlarge|g5g.metal|hi1.4xlarge|hpc6a.48xlarge|hs1.8xlarge|h1.2xlarge|h1.4xlarge|h1.8xlarge|h1.16xlarge|i2.xlarge|i2.2xlarge|i2.4xlarge|i2.8xlarge|i3.large|i3.xlarge|i3.2xlarge|i3.4xlarge|i3.8xlarge|i3.16xlarge|i3.metal|i3en.large|i3en.xlarge|i3en.2xlarge|i3en.3xlarge|i3en.6xlarge|i3en.12xlarge|i3en.24xlarge|i3en.metal|im4gn.large|im4gn.xlarge|im4gn.2xlarge|im4gn.4xlarge|im4gn.8xlarge|im4gn.16xlarge|inf1.xlarge|inf1.2xlarge|inf1.6xlarge|inf1.24xlarge|is4gen.medium|is4gen.large|is4gen.xlarge|is4gen.2xlarge|is4gen.4xlarge|is4gen.8xlarge|m1.small|m1.medium|m1.large|m1.xlarge|m2.xlarge|m2.2xlarge|m2.4xlarge|m3.medium|m3.large|m3.xlarge|m3.2xlarge|m4.large|m4.xlarge|m4.2xlarge|m4.4xlarge|m4.10xlarge|m4.16xlarge|m5.large|m5.xlarge|m5.2xlarge|m5.4xlarge|m5.8xlarge|m5.12xlarge|m5.16xlarge|m5.24xlarge|m5.metal|m5a.large|m5a.xlarge|m5a.2xlarge|m5a.4xlarge|m5a.8xlarge|m5a.12xlarge|m5a.16xlarge|m5a.24xlarge|m5ad.large|m5ad.xlarge|m5ad.2xlarge|m5ad.4xlarge|m5ad.8xlarge|m5ad.12xlarge|m5ad.16xlarge|m5ad.24xlarge|m5d.large|m5d.xlarge|m5d.2xlarge|m5d.4xlarge|m5d.8xlarge|m5d.12xlarge|m5d.16xlarge|m5d.24xlarge|m5d.metal|m5dn.large|m5dn.xlarge|m5dn.2xlarge|m5dn.4xlarge|m5dn.8xlarge|m5dn.12xlarge|m5dn.16xlarge|m5dn.24xlarge|m5dn.metal|m5n.large|m5n.xlarge|m5n.2xlarge|m5n.4xlarge|m5n.8xlarge|m5n.12xlarge|m5n.16xlarge|m5n.24xlarge|m5n.metal|m5zn.large|m5zn.xlarge|m5zn.2xlarge|m5zn.3xlarge|m5zn.6xlarge|m5zn.12xlarge|m5zn.metal|m6a.large|m6a.xlarge|m6a.2xlarge|m6a.4xlarge|m6a.8xlarge|m6a.12xlarge|m6a.16xlarge|m6a.24xlarge|m6a.32xlarge|m6a.48xlarge|m6g.metal|m6g.medium|m6g.large|m6g.xlarge|m6g.2xlarge|m6g.4xlarge|m6g.8xlarge|m6g.12xlarge|m6g.16xlarge|m6gd.metal|m6gd.medium|m6gd.large|m6gd.xlarge|m6gd.2xlarge|m6gd.4xlarge|m6gd.8xlarge|m6gd.12xlarge|m6gd.16xlarge|m6i.large|m6i.xlarge|m6i.2xlarge|m6i.4xlarge|m6i.8xlarge|m6i.12xlarge|m6i.16xlarge|m6i.24xlarge|m6i.32xlarge|m6i.metal|mac1.metal|p2.xlarge|p2.8xlarge|p2.16xlarge|p3.2xlarge|p3.8xlarge|p3.16xlarge|p3dn.24xlarge|p4d.24xlarge|r3.large|r3.xlarge|r3.2xlarge|r3.4xlarge|r3.8xlarge|r4.large|r4.xlarge|r4.2xlarge|r4.4xlarge|r4.8xlarge|r4.16xlarge|r5.large|r5.xlarge|r5.2xlarge|r5.4xlarge|r5.8xlarge|r5.12xlarge|r5.16xlarge|r5.24xlarge|r5.metal|r5a.large|r5a.xlarge|r5a.2xlarge|r5a.4xlarge|r5a.8xlarge|r5a.12xlarge|r5a.16xlarge|r5a.24xlarge|r5ad.large|r5ad.xlarge|r5ad.2xlarge|r5ad.4xlarge|r5ad.8xlarge|r5ad.12xlarge|r5ad.16xlarge|r5ad.24xlarge|r5b.large|r5b.xlarge|r5b.2xlarge|r5b.4xlarge|r5b.8xlarge|r5b.12xlarge|r5b.16xlarge|r5b.24xlarge|r5b.metal|r5d.large|r5d.xlarge|r5d.2xlarge|r5d.4xlarge|r5d.8xlarge|r5d.12xlarge|r5d.16xlarge|r5d.24xlarge|r5d.metal|r5dn.large|r5dn.xlarge|r5dn.2xlarge|r5dn.4xlarge|r5dn.8xlarge|r5dn.12xlarge|r5dn.16xlarge|r5dn.24xlarge|r5dn.metal|r5n.large|r5n.xlarge|r5n.2xlarge|r5n.4xlarge|r5n.8xlarge|r5n.12xlarge|r5n.16xlarge|r5n.24xlarge|r5n.metal|r6g.medium|r6g.large|r6g.xlarge|r6g.2xlarge|r6g.4xlarge|r6g.8xlarge|r6g.12xlarge|r6g.16xlarge|r6g.metal|r6gd.medium|r6gd.large|r6gd.xlarge|r6gd.2xlarge|r6gd.4xlarge|r6gd.8xlarge|r6gd.12xlarge|r6gd.16xlarge|r6gd.metal|r6i.large|r6i.xlarge|r6i.2xlarge|r6i.4xlarge|r6i.8xlarge|r6i.12xlarge|r6i.16xlarge|r6i.24xlarge|r6i.32xlarge|r6i.metal|t1.micro|t2.nano|t2.micro|t2.small|t2.medium|t2.large|t2.xlarge|t2.2xlarge|t3.nano|t3.micro|t3.small|t3.medium|t3.large|t3.xlarge|t3.2xlarge|t3a.nano|t3a.micro|t3a.small|t3a.medium|t3a.large|t3a.xlarge|t3a.2xlarge|t4g.nano|t4g.micro|t4g.small|t4g.medium|t4g.large|t4g.xlarge|t4g.2xlarge|u-6tb1.56xlarge|u-6tb1.112xlarge|u-9tb1.112xlarge|u-12tb1.112xlarge|u-6tb1.metal|u-9tb1.metal|u-12tb1.metal|u-18tb1.metal|u-24tb1.metal|vt1.3xlarge|vt1.6xlarge|vt1.24xlarge|x1.16xlarge|x1.32xlarge|x1e.xlarge|x1e.2xlarge|x1e.4xlarge|x1e.8xlarge|x1e.16xlarge|x1e.32xlarge|x2iezn.2xlarge|x2iezn.4xlarge|x2iezn.6xlarge|x2iezn.8xlarge|x2iezn.12xlarge|x2iezn.metal|x2gd.medium|x2gd.large|x2gd.xlarge|x2gd.2xlarge|x2gd.4xlarge|x2gd.8xlarge|x2gd.12xlarge|x2gd.16xlarge|x2gd.metal|z1d.large|z1d.xlarge|z1d.2xlarge|z1d.3xlarge|z1d.6xlarge|z1d.12xlarge|z1d.metal|x2idn.16xlarge|x2idn.24xlarge|x2idn.32xlarge|x2iedn.xlarge|x2iedn.2xlarge|x2iedn.4xlarge|x2iedn.8xlarge|x2iedn.16xlarge|x2iedn.24xlarge|x2iedn.32xlarge|c6a.large|c6a.xlarge|c6a.2xlarge|c6a.4xlarge|c6a.8xlarge|c6a.12xlarge|c6a.16xlarge|c6a.24xlarge|c6a.32xlarge|c6a.48xlarge|c6a.metal|m6a.metal|i4i.large|i4i.xlarge|i4i.2xlarge|i4i.4xlarge|i4i.8xlarge|i4i.16xlarge|i4i.32xlarge|i4i.metal|x2idn.metal|x2iedn.metal|c7g.medium|c7g.large|c7g.xlarge|c7g.2xlarge|c7g.4xlarge|c7g.8xlarge|c7g.12xlarge|c7g.16xlarge|mac2.metal|c6id.large|c6id.xlarge|c6id.2xlarge|c6id.4xlarge|c6id.8xlarge|c6id.12xlarge|c6id.16xlarge|c6id.24xlarge|c6id.32xlarge|c6id.metal|m6id.large|m6id.xlarge|m6id.2xlarge|m6id.4xlarge|m6id.8xlarge|m6id.12xlarge|m6id.16xlarge|m6id.24xlarge|m6id.32xlarge|m6id.metal|r6id.large|r6id.xlarge|r6id.2xlarge|r6id.4xlarge|r6id.8xlarge|r6id.12xlarge|r6id.16xlarge|r6id.24xlarge|r6id.32xlarge|r6id.metal|r6a.large|r6a.xlarge|r6a.2xlarge|r6a.4xlarge|r6a.8xlarge|r6a.12xlarge|r6a.16xlarge|r6a.24xlarge|r6a.32xlarge|r6a.48xlarge|r6a.metal|p4de.24xlarge|u-3tb1.56xlarge|u-18tb1.112xlarge|u-24tb1.112xlarge|trn1.2xlarge|trn1.32xlarge|hpc6id.32xlarge|c6in.large|c6in.xlarge|c6in.2xlarge|c6in.4xlarge|c6in.8xlarge|c6in.12xlarge|c6in.16xlarge|c6in.24xlarge|c6in.32xlarge|m6in.large|m6in.xlarge|m6in.2xlarge|m6in.4xlarge|m6in.8xlarge|m6in.12xlarge|m6in.16xlarge|m6in.24xlarge|m6in.32xlarge|m6idn.large|m6idn.xlarge|m6idn.2xlarge|m6idn.4xlarge|m6idn.8xlarge|m6idn.12xlarge|m6idn.16xlarge|m6idn.24xlarge|m6idn.32xlarge|r6in.large|r6in.xlarge|r6in.2xlarge|r6in.4xlarge|r6in.8xlarge|r6in.12xlarge|r6in.16xlarge|r6in.24xlarge|r6in.32xlarge|r6idn.large|r6idn.xlarge|r6idn.2xlarge|r6idn.4xlarge|r6idn.8xlarge|r6idn.12xlarge|r6idn.16xlarge|r6idn.24xlarge|r6idn.32xlarge|c7g.metal|m7g.medium|m7g.large|m7g.xlarge|m7g.2xlarge|m7g.4xlarge|m7g.8xlarge|m7g.12xlarge|m7g.16xlarge|m7g.metal|r7g.medium|r7g.large|r7g.xlarge|r7g.2xlarge|r7g.4xlarge|r7g.8xlarge|r7g.12xlarge|r7g.16xlarge|r7g.metal|c6in.metal|m6in.metal|m6idn.metal|r6in.metal|r6idn.metal|inf2.xlarge|inf2.8xlarge|inf2.24xlarge|inf2.48xlarge|trn1n.32xlarge|i4g.large|i4g.xlarge|i4g.2xlarge|i4g.4xlarge|i4g.8xlarge|i4g.16xlarge|hpc7g.4xlarge|hpc7g.8xlarge|hpc7g.16xlarge|c7gn.medium|c7gn.large|c7gn.xlarge|c7gn.2xlarge|c7gn.4xlarge|c7gn.8xlarge|c7gn.12xlarge|c7gn.16xlarge|p5.48xlarge|m7i.large|m7i.xlarge|m7i.2xlarge|m7i.4xlarge|m7i.8xlarge|m7i.12xlarge|m7i.16xlarge|m7i.24xlarge|m7i.48xlarge|m7i-flex.large|m7i-flex.xlarge|m7i-flex.2xlarge|m7i-flex.4xlarge|m7i-flex.8xlarge|m7a.medium|m7a.large|m7a.xlarge|m7a.2xlarge|m7a.4xlarge|m7a.8xlarge|m7a.12xlarge|m7a.16xlarge|m7a.24xlarge|m7a.32xlarge|m7a.48xlarge|m7a.metal-48xl|hpc7a.12xlarge|hpc7a.24xlarge|hpc7a.48xlarge|hpc7a.96xlarge|c7gd.medium|c7gd.large|c7gd.xlarge|c7gd.2xlarge|c7gd.4xlarge|c7gd.8xlarge|c7gd.12xlarge|c7gd.16xlarge|m7gd.medium|m7gd.large|m7gd.xlarge|m7gd.2xlarge|m7gd.4xlarge|m7gd.8xlarge|m7gd.12xlarge|m7gd.16xlarge|r7gd.medium|r7gd.large|r7gd.xlarge|r7gd.2xlarge|r7gd.4xlarge|r7gd.8xlarge|r7gd.12xlarge|r7gd.16xlarge|r7a.medium|r7a.large|r7a.xlarge|r7a.2xlarge|r7a.4xlarge|r7a.8xlarge|r7a.12xlarge|r7a.16xlarge|r7a.24xlarge|r7a.32xlarge|r7a.48xlarge|c7i.large|c7i.xlarge|c7i.2xlarge|c7i.4xlarge|c7i.8xlarge|c7i.12xlarge|c7i.16xlarge|c7i.24xlarge|c7i.48xlarge|mac2-m2pro.metal|r7iz.large|r7iz.xlarge|r7iz.2xlarge|r7iz.4xlarge|r7iz.8xlarge|r7iz.12xlarge|r7iz.16xlarge|r7iz.32xlarge|c7a.medium|c7a.large|c7a.xlarge|c7a.2xlarge|c7a.4xlarge|c7a.8xlarge|c7a.12xlarge|c7a.16xlarge|c7a.24xlarge|c7a.32xlarge|c7a.48xlarge|c7a.metal-48xl|r7a.metal-48xl|r7i.large|r7i.xlarge|r7i.2xlarge|r7i.4xlarge|r7i.8xlarge|r7i.12xlarge|r7i.16xlarge|r7i.24xlarge|r7i.48xlarge|dl2q.24xlarge|mac2-m2.metal|i4i.12xlarge|i4i.24xlarge|c7i.metal-24xl|c7i.metal-48xl|m7i.metal-24xl|m7i.metal-48xl|r7i.metal-24xl|r7i.metal-48xl|r7iz.metal-16xl|r7iz.metal-32xl|c7gd.metal|m7gd.metal|r7gd.metal|g6.xlarge|g6.2xlarge|g6.4xlarge|g6.8xlarge|g6.12xlarge|g6.16xlarge|g6.24xlarge|g6.48xlarge|gr6.4xlarge|gr6.8xlarge|c7i-flex.large|c7i-flex.xlarge|c7i-flex.2xlarge|c7i-flex.4xlarge|c7i-flex.8xlarge|u7i-12tb.224xlarge|u7in-16tb.224xlarge|u7in-24tb.224xlarge|u7in-32tb.224xlarge|u7ib-12tb.224xlarge|c7gn.metal|r8g.medium|r8g.large|r8g.xlarge|r8g.2xlarge|r8g.4xlarge|r8g.8xlarge|r8g.12xlarge|r8g.16xlarge|r8g.24xlarge|r8g.48xlarge|r8g.metal-24xl|r8g.metal-48xl|mac2-m1ultra.metal|g6e.xlarge|g6e.2xlarge|g6e.4xlarge|g6e.8xlarge|g6e.12xlarge|g6e.16xlarge|g6e.24xlarge|g6e.48xlarge|c8g.medium|c8g.large|c8g.xlarge|c8g.2xlarge|c8g.4xlarge|c8g.8xlarge|c8g.12xlarge|c8g.16xlarge|c8g.24xlarge|c8g.48xlarge|c8g.metal-24xl|c8g.metal-48xl|m8g.medium|m8g.large|m8g.xlarge|m8g.2xlarge|m8g.4xlarge|m8g.8xlarge|m8g.12xlarge|m8g.16xlarge|m8g.24xlarge|m8g.48xlarge|m8g.metal-24xl|m8g.metal-48xl|x8g.medium|x8g.large|x8g.xlarge|x8g.2xlarge|x8g.4xlarge|x8g.8xlarge|x8g.12xlarge|x8g.16xlarge|x8g.24xlarge|x8g.48xlarge|x8g.metal-24xl|x8g.metal-48xl|i7ie.large|i7ie.xlarge|i7ie.2xlarge|i7ie.3xlarge|i7ie.6xlarge|i7ie.12xlarge|i7ie.18xlarge|i7ie.24xlarge|i7ie.48xlarge|i8g.large|i8g.xlarge|i8g.2xlarge|i8g.4xlarge|i8g.8xlarge|i8g.12xlarge|i8g.16xlarge|i8g.24xlarge|i8g.metal-24xl|u7i-6tb.112xlarge|u7i-8tb.112xlarge|u7inh-32tb.480xlarge|p5e.48xlarge|p5en.48xlarge|f2.12xlarge|f2.48xlarge|trn2.48xlarge',
                        '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|declarative-policies-report|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|verified-access-endpoint-target|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>,
                                    ],
                                    'BaselinePerformanceFactors' => [
                                        'Cpu' => [
                                            'References' => [
                                                [
                                                    'InstanceFamily' => '<string>',
                                                ],
                                                // ...
                                            ],
                                        ],
                                    ],
                                    'BurstablePerformance' => 'included|required|excluded',
                                    'CpuManufacturers' => ['<string>', ...],
                                    'ExcludedInstanceTypes' => ['<string>', ...],
                                    'InstanceGenerations' => ['<string>', ...],
                                    'LocalStorage' => 'included|required|excluded',
                                    'LocalStorageTypes' => ['<string>', ...],
                                    'MaxSpotPriceAsPercentageOfOptimalOnDemandPrice' => <integer>,
                                    'MemoryGiBPerVCpu' => [
                                        'Max' => <float>,
                                        'Min' => <float>,
                                    ],
                                    'MemoryMiB' => [
                                        'Max' => <integer>,
                                        'Min' => <integer>,
                                    ],
                                    'NetworkBandwidthGbps' => [
                                        'Max' => <float>,
                                        'Min' => <float>,
                                    ],
                                    'NetworkInterfaceCount' => [
                                        'Max' => <integer>,
                                        'Min' => <integer>,
                                    ],
                                    'OnDemandMaxPricePercentageOverLowestPrice' => <integer>,
                                    'RequireHibernateSupport' => true || false,
                                    'SpotMaxPricePercentageOverLowestPrice' => <integer>,
                                    'TotalLocalStorageGB' => [
                                        'Max' => <float>,
                                        'Min' => <float>,
                                    ],
                                    'VCpuCount' => [
                                        'Max' => <integer>,
                                        'Min' => <integer>,
                                    ],
                                ],
                                'InstanceType' => 'a1.medium|a1.large|a1.xlarge|a1.2xlarge|a1.4xlarge|a1.metal|c1.medium|c1.xlarge|c3.large|c3.xlarge|c3.2xlarge|c3.4xlarge|c3.8xlarge|c4.large|c4.xlarge|c4.2xlarge|c4.4xlarge|c4.8xlarge|c5.large|c5.xlarge|c5.2xlarge|c5.4xlarge|c5.9xlarge|c5.12xlarge|c5.18xlarge|c5.24xlarge|c5.metal|c5a.large|c5a.xlarge|c5a.2xlarge|c5a.4xlarge|c5a.8xlarge|c5a.12xlarge|c5a.16xlarge|c5a.24xlarge|c5ad.large|c5ad.xlarge|c5ad.2xlarge|c5ad.4xlarge|c5ad.8xlarge|c5ad.12xlarge|c5ad.16xlarge|c5ad.24xlarge|c5d.large|c5d.xlarge|c5d.2xlarge|c5d.4xlarge|c5d.9xlarge|c5d.12xlarge|c5d.18xlarge|c5d.24xlarge|c5d.metal|c5n.large|c5n.xlarge|c5n.2xlarge|c5n.4xlarge|c5n.9xlarge|c5n.18xlarge|c5n.metal|c6g.medium|c6g.large|c6g.xlarge|c6g.2xlarge|c6g.4xlarge|c6g.8xlarge|c6g.12xlarge|c6g.16xlarge|c6g.metal|c6gd.medium|c6gd.large|c6gd.xlarge|c6gd.2xlarge|c6gd.4xlarge|c6gd.8xlarge|c6gd.12xlarge|c6gd.16xlarge|c6gd.metal|c6gn.medium|c6gn.large|c6gn.xlarge|c6gn.2xlarge|c6gn.4xlarge|c6gn.8xlarge|c6gn.12xlarge|c6gn.16xlarge|c6i.large|c6i.xlarge|c6i.2xlarge|c6i.4xlarge|c6i.8xlarge|c6i.12xlarge|c6i.16xlarge|c6i.24xlarge|c6i.32xlarge|c6i.metal|cc1.4xlarge|cc2.8xlarge|cg1.4xlarge|cr1.8xlarge|d2.xlarge|d2.2xlarge|d2.4xlarge|d2.8xlarge|d3.xlarge|d3.2xlarge|d3.4xlarge|d3.8xlarge|d3en.xlarge|d3en.2xlarge|d3en.4xlarge|d3en.6xlarge|d3en.8xlarge|d3en.12xlarge|dl1.24xlarge|f1.2xlarge|f1.4xlarge|f1.16xlarge|g2.2xlarge|g2.8xlarge|g3.4xlarge|g3.8xlarge|g3.16xlarge|g3s.xlarge|g4ad.xlarge|g4ad.2xlarge|g4ad.4xlarge|g4ad.8xlarge|g4ad.16xlarge|g4dn.xlarge|g4dn.2xlarge|g4dn.4xlarge|g4dn.8xlarge|g4dn.12xlarge|g4dn.16xlarge|g4dn.metal|g5.xlarge|g5.2xlarge|g5.4xlarge|g5.8xlarge|g5.12xlarge|g5.16xlarge|g5.24xlarge|g5.48xlarge|g5g.xlarge|g5g.2xlarge|g5g.4xlarge|g5g.8xlarge|g5g.16xlarge|g5g.metal|hi1.4xlarge|hpc6a.48xlarge|hs1.8xlarge|h1.2xlarge|h1.4xlarge|h1.8xlarge|h1.16xlarge|i2.xlarge|i2.2xlarge|i2.4xlarge|i2.8xlarge|i3.large|i3.xlarge|i3.2xlarge|i3.4xlarge|i3.8xlarge|i3.16xlarge|i3.metal|i3en.large|i3en.xlarge|i3en.2xlarge|i3en.3xlarge|i3en.6xlarge|i3en.12xlarge|i3en.24xlarge|i3en.metal|im4gn.large|im4gn.xlarge|im4gn.2xlarge|im4gn.4xlarge|im4gn.8xlarge|im4gn.16xlarge|inf1.xlarge|inf1.2xlarge|inf1.6xlarge|inf1.24xlarge|is4gen.medium|is4gen.large|is4gen.xlarge|is4gen.2xlarge|is4gen.4xlarge|is4gen.8xlarge|m1.small|m1.medium|m1.large|m1.xlarge|m2.xlarge|m2.2xlarge|m2.4xlarge|m3.medium|m3.large|m3.xlarge|m3.2xlarge|m4.large|m4.xlarge|m4.2xlarge|m4.4xlarge|m4.10xlarge|m4.16xlarge|m5.large|m5.xlarge|m5.2xlarge|m5.4xlarge|m5.8xlarge|m5.12xlarge|m5.16xlarge|m5.24xlarge|m5.metal|m5a.large|m5a.xlarge|m5a.2xlarge|m5a.4xlarge|m5a.8xlarge|m5a.12xlarge|m5a.16xlarge|m5a.24xlarge|m5ad.large|m5ad.xlarge|m5ad.2xlarge|m5ad.4xlarge|m5ad.8xlarge|m5ad.12xlarge|m5ad.16xlarge|m5ad.24xlarge|m5d.large|m5d.xlarge|m5d.2xlarge|m5d.4xlarge|m5d.8xlarge|m5d.12xlarge|m5d.16xlarge|m5d.24xlarge|m5d.metal|m5dn.large|m5dn.xlarge|m5dn.2xlarge|m5dn.4xlarge|m5dn.8xlarge|m5dn.12xlarge|m5dn.16xlarge|m5dn.24xlarge|m5dn.metal|m5n.large|m5n.xlarge|m5n.2xlarge|m5n.4xlarge|m5n.8xlarge|m5n.12xlarge|m5n.16xlarge|m5n.24xlarge|m5n.metal|m5zn.large|m5zn.xlarge|m5zn.2xlarge|m5zn.3xlarge|m5zn.6xlarge|m5zn.12xlarge|m5zn.metal|m6a.large|m6a.xlarge|m6a.2xlarge|m6a.4xlarge|m6a.8xlarge|m6a.12xlarge|m6a.16xlarge|m6a.24xlarge|m6a.32xlarge|m6a.48xlarge|m6g.metal|m6g.medium|m6g.large|m6g.xlarge|m6g.2xlarge|m6g.4xlarge|m6g.8xlarge|m6g.12xlarge|m6g.16xlarge|m6gd.metal|m6gd.medium|m6gd.large|m6gd.xlarge|m6gd.2xlarge|m6gd.4xlarge|m6gd.8xlarge|m6gd.12xlarge|m6gd.16xlarge|m6i.large|m6i.xlarge|m6i.2xlarge|m6i.4xlarge|m6i.8xlarge|m6i.12xlarge|m6i.16xlarge|m6i.24xlarge|m6i.32xlarge|m6i.metal|mac1.metal|p2.xlarge|p2.8xlarge|p2.16xlarge|p3.2xlarge|p3.8xlarge|p3.16xlarge|p3dn.24xlarge|p4d.24xlarge|r3.large|r3.xlarge|r3.2xlarge|r3.4xlarge|r3.8xlarge|r4.large|r4.xlarge|r4.2xlarge|r4.4xlarge|r4.8xlarge|r4.16xlarge|r5.large|r5.xlarge|r5.2xlarge|r5.4xlarge|r5.8xlarge|r5.12xlarge|r5.16xlarge|r5.24xlarge|r5.metal|r5a.large|r5a.xlarge|r5a.2xlarge|r5a.4xlarge|r5a.8xlarge|r5a.12xlarge|r5a.16xlarge|r5a.24xlarge|r5ad.large|r5ad.xlarge|r5ad.2xlarge|r5ad.4xlarge|r5ad.8xlarge|r5ad.12xlarge|r5ad.16xlarge|r5ad.24xlarge|r5b.large|r5b.xlarge|r5b.2xlarge|r5b.4xlarge|r5b.8xlarge|r5b.12xlarge|r5b.16xlarge|r5b.24xlarge|r5b.metal|r5d.large|r5d.xlarge|r5d.2xlarge|r5d.4xlarge|r5d.8xlarge|r5d.12xlarge|r5d.16xlarge|r5d.24xlarge|r5d.metal|r5dn.large|r5dn.xlarge|r5dn.2xlarge|r5dn.4xlarge|r5dn.8xlarge|r5dn.12xlarge|r5dn.16xlarge|r5dn.24xlarge|r5dn.metal|r5n.large|r5n.xlarge|r5n.2xlarge|r5n.4xlarge|r5n.8xlarge|r5n.12xlarge|r5n.16xlarge|r5n.24xlarge|r5n.metal|r6g.medium|r6g.large|r6g.xlarge|r6g.2xlarge|r6g.4xlarge|r6g.8xlarge|r6g.12xlarge|r6g.16xlarge|r6g.metal|r6gd.medium|r6gd.large|r6gd.xlarge|r6gd.2xlarge|r6gd.4xlarge|r6gd.8xlarge|r6gd.12xlarge|r6gd.16xlarge|r6gd.metal|r6i.large|r6i.xlarge|r6i.2xlarge|r6i.4xlarge|r6i.8xlarge|r6i.12xlarge|r6i.16xlarge|r6i.24xlarge|r6i.32xlarge|r6i.metal|t1.micro|t2.nano|t2.micro|t2.small|t2.medium|t2.large|t2.xlarge|t2.2xlarge|t3.nano|t3.micro|t3.small|t3.medium|t3.large|t3.xlarge|t3.2xlarge|t3a.nano|t3a.micro|t3a.small|t3a.medium|t3a.large|t3a.xlarge|t3a.2xlarge|t4g.nano|t4g.micro|t4g.small|t4g.medium|t4g.large|t4g.xlarge|t4g.2xlarge|u-6tb1.56xlarge|u-6tb1.112xlarge|u-9tb1.112xlarge|u-12tb1.112xlarge|u-6tb1.metal|u-9tb1.metal|u-12tb1.metal|u-18tb1.metal|u-24tb1.metal|vt1.3xlarge|vt1.6xlarge|vt1.24xlarge|x1.16xlarge|x1.32xlarge|x1e.xlarge|x1e.2xlarge|x1e.4xlarge|x1e.8xlarge|x1e.16xlarge|x1e.32xlarge|x2iezn.2xlarge|x2iezn.4xlarge|x2iezn.6xlarge|x2iezn.8xlarge|x2iezn.12xlarge|x2iezn.metal|x2gd.medium|x2gd.large|x2gd.xlarge|x2gd.2xlarge|x2gd.4xlarge|x2gd.8xlarge|x2gd.12xlarge|x2gd.16xlarge|x2gd.metal|z1d.large|z1d.xlarge|z1d.2xlarge|z1d.3xlarge|z1d.6xlarge|z1d.12xlarge|z1d.metal|x2idn.16xlarge|x2idn.24xlarge|x2idn.32xlarge|x2iedn.xlarge|x2iedn.2xlarge|x2iedn.4xlarge|x2iedn.8xlarge|x2iedn.16xlarge|x2iedn.24xlarge|x2iedn.32xlarge|c6a.large|c6a.xlarge|c6a.2xlarge|c6a.4xlarge|c6a.8xlarge|c6a.12xlarge|c6a.16xlarge|c6a.24xlarge|c6a.32xlarge|c6a.48xlarge|c6a.metal|m6a.metal|i4i.large|i4i.xlarge|i4i.2xlarge|i4i.4xlarge|i4i.8xlarge|i4i.16xlarge|i4i.32xlarge|i4i.metal|x2idn.metal|x2iedn.metal|c7g.medium|c7g.large|c7g.xlarge|c7g.2xlarge|c7g.4xlarge|c7g.8xlarge|c7g.12xlarge|c7g.16xlarge|mac2.metal|c6id.large|c6id.xlarge|c6id.2xlarge|c6id.4xlarge|c6id.8xlarge|c6id.12xlarge|c6id.16xlarge|c6id.24xlarge|c6id.32xlarge|c6id.metal|m6id.large|m6id.xlarge|m6id.2xlarge|m6id.4xlarge|m6id.8xlarge|m6id.12xlarge|m6id.16xlarge|m6id.24xlarge|m6id.32xlarge|m6id.metal|r6id.large|r6id.xlarge|r6id.2xlarge|r6id.4xlarge|r6id.8xlarge|r6id.12xlarge|r6id.16xlarge|r6id.24xlarge|r6id.32xlarge|r6id.metal|r6a.large|r6a.xlarge|r6a.2xlarge|r6a.4xlarge|r6a.8xlarge|r6a.12xlarge|r6a.16xlarge|r6a.24xlarge|r6a.32xlarge|r6a.48xlarge|r6a.metal|p4de.24xlarge|u-3tb1.56xlarge|u-18tb1.112xlarge|u-24tb1.112xlarge|trn1.2xlarge|trn1.32xlarge|hpc6id.32xlarge|c6in.large|c6in.xlarge|c6in.2xlarge|c6in.4xlarge|c6in.8xlarge|c6in.12xlarge|c6in.16xlarge|c6in.24xlarge|c6in.32xlarge|m6in.large|m6in.xlarge|m6in.2xlarge|m6in.4xlarge|m6in.8xlarge|m6in.12xlarge|m6in.16xlarge|m6in.24xlarge|m6in.32xlarge|m6idn.large|m6idn.xlarge|m6idn.2xlarge|m6idn.4xlarge|m6idn.8xlarge|m6idn.12xlarge|m6idn.16xlarge|m6idn.24xlarge|m6idn.32xlarge|r6in.large|r6in.xlarge|r6in.2xlarge|r6in.4xlarge|r6in.8xlarge|r6in.12xlarge|r6in.16xlarge|r6in.24xlarge|r6in.32xlarge|r6idn.large|r6idn.xlarge|r6idn.2xlarge|r6idn.4xlarge|r6idn.8xlarge|r6idn.12xlarge|r6idn.16xlarge|r6idn.24xlarge|r6idn.32xlarge|c7g.metal|m7g.medium|m7g.large|m7g.xlarge|m7g.2xlarge|m7g.4xlarge|m7g.8xlarge|m7g.12xlarge|m7g.16xlarge|m7g.metal|r7g.medium|r7g.large|r7g.xlarge|r7g.2xlarge|r7g.4xlarge|r7g.8xlarge|r7g.12xlarge|r7g.16xlarge|r7g.metal|c6in.metal|m6in.metal|m6idn.metal|r6in.metal|r6idn.metal|inf2.xlarge|inf2.8xlarge|inf2.24xlarge|inf2.48xlarge|trn1n.32xlarge|i4g.large|i4g.xlarge|i4g.2xlarge|i4g.4xlarge|i4g.8xlarge|i4g.16xlarge|hpc7g.4xlarge|hpc7g.8xlarge|hpc7g.16xlarge|c7gn.medium|c7gn.large|c7gn.xlarge|c7gn.2xlarge|c7gn.4xlarge|c7gn.8xlarge|c7gn.12xlarge|c7gn.16xlarge|p5.48xlarge|m7i.large|m7i.xlarge|m7i.2xlarge|m7i.4xlarge|m7i.8xlarge|m7i.12xlarge|m7i.16xlarge|m7i.24xlarge|m7i.48xlarge|m7i-flex.large|m7i-flex.xlarge|m7i-flex.2xlarge|m7i-flex.4xlarge|m7i-flex.8xlarge|m7a.medium|m7a.large|m7a.xlarge|m7a.2xlarge|m7a.4xlarge|m7a.8xlarge|m7a.12xlarge|m7a.16xlarge|m7a.24xlarge|m7a.32xlarge|m7a.48xlarge|m7a.metal-48xl|hpc7a.12xlarge|hpc7a.24xlarge|hpc7a.48xlarge|hpc7a.96xlarge|c7gd.medium|c7gd.large|c7gd.xlarge|c7gd.2xlarge|c7gd.4xlarge|c7gd.8xlarge|c7gd.12xlarge|c7gd.16xlarge|m7gd.medium|m7gd.large|m7gd.xlarge|m7gd.2xlarge|m7gd.4xlarge|m7gd.8xlarge|m7gd.12xlarge|m7gd.16xlarge|r7gd.medium|r7gd.large|r7gd.xlarge|r7gd.2xlarge|r7gd.4xlarge|r7gd.8xlarge|r7gd.12xlarge|r7gd.16xlarge|r7a.medium|r7a.large|r7a.xlarge|r7a.2xlarge|r7a.4xlarge|r7a.8xlarge|r7a.12xlarge|r7a.16xlarge|r7a.24xlarge|r7a.32xlarge|r7a.48xlarge|c7i.large|c7i.xlarge|c7i.2xlarge|c7i.4xlarge|c7i.8xlarge|c7i.12xlarge|c7i.16xlarge|c7i.24xlarge|c7i.48xlarge|mac2-m2pro.metal|r7iz.large|r7iz.xlarge|r7iz.2xlarge|r7iz.4xlarge|r7iz.8xlarge|r7iz.12xlarge|r7iz.16xlarge|r7iz.32xlarge|c7a.medium|c7a.large|c7a.xlarge|c7a.2xlarge|c7a.4xlarge|c7a.8xlarge|c7a.12xlarge|c7a.16xlarge|c7a.24xlarge|c7a.32xlarge|c7a.48xlarge|c7a.metal-48xl|r7a.metal-48xl|r7i.large|r7i.xlarge|r7i.2xlarge|r7i.4xlarge|r7i.8xlarge|r7i.12xlarge|r7i.16xlarge|r7i.24xlarge|r7i.48xlarge|dl2q.24xlarge|mac2-m2.metal|i4i.12xlarge|i4i.24xlarge|c7i.metal-24xl|c7i.metal-48xl|m7i.metal-24xl|m7i.metal-48xl|r7i.metal-24xl|r7i.metal-48xl|r7iz.metal-16xl|r7iz.metal-32xl|c7gd.metal|m7gd.metal|r7gd.metal|g6.xlarge|g6.2xlarge|g6.4xlarge|g6.8xlarge|g6.12xlarge|g6.16xlarge|g6.24xlarge|g6.48xlarge|gr6.4xlarge|gr6.8xlarge|c7i-flex.large|c7i-flex.xlarge|c7i-flex.2xlarge|c7i-flex.4xlarge|c7i-flex.8xlarge|u7i-12tb.224xlarge|u7in-16tb.224xlarge|u7in-24tb.224xlarge|u7in-32tb.224xlarge|u7ib-12tb.224xlarge|c7gn.metal|r8g.medium|r8g.large|r8g.xlarge|r8g.2xlarge|r8g.4xlarge|r8g.8xlarge|r8g.12xlarge|r8g.16xlarge|r8g.24xlarge|r8g.48xlarge|r8g.metal-24xl|r8g.metal-48xl|mac2-m1ultra.metal|g6e.xlarge|g6e.2xlarge|g6e.4xlarge|g6e.8xlarge|g6e.12xlarge|g6e.16xlarge|g6e.24xlarge|g6e.48xlarge|c8g.medium|c8g.large|c8g.xlarge|c8g.2xlarge|c8g.4xlarge|c8g.8xlarge|c8g.12xlarge|c8g.16xlarge|c8g.24xlarge|c8g.48xlarge|c8g.metal-24xl|c8g.metal-48xl|m8g.medium|m8g.large|m8g.xlarge|m8g.2xlarge|m8g.4xlarge|m8g.8xlarge|m8g.12xlarge|m8g.16xlarge|m8g.24xlarge|m8g.48xlarge|m8g.metal-24xl|m8g.metal-48xl|x8g.medium|x8g.large|x8g.xlarge|x8g.2xlarge|x8g.4xlarge|x8g.8xlarge|x8g.12xlarge|x8g.16xlarge|x8g.24xlarge|x8g.48xlarge|x8g.metal-24xl|x8g.metal-48xl|i7ie.large|i7ie.xlarge|i7ie.2xlarge|i7ie.3xlarge|i7ie.6xlarge|i7ie.12xlarge|i7ie.18xlarge|i7ie.24xlarge|i7ie.48xlarge|i8g.large|i8g.xlarge|i8g.2xlarge|i8g.4xlarge|i8g.8xlarge|i8g.12xlarge|i8g.16xlarge|i8g.24xlarge|i8g.metal-24xl|u7i-6tb.112xlarge|u7i-8tb.112xlarge|u7inh-32tb.480xlarge|p5e.48xlarge|p5en.48xlarge|f2.12xlarge|f2.48xlarge|trn2.48xlarge',
                                '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|declarative-policies-report|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|verified-access-endpoint-target|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|i7ie.large|i7ie.xlarge|i7ie.2xlarge|i7ie.3xlarge|i7ie.6xlarge|i7ie.12xlarge|i7ie.18xlarge|i7ie.24xlarge|i7ie.48xlarge|i8g.large|i8g.xlarge|i8g.2xlarge|i8g.4xlarge|i8g.8xlarge|i8g.12xlarge|i8g.16xlarge|i8g.24xlarge|i8g.metal-24xl|u7i-6tb.112xlarge|u7i-8tb.112xlarge|u7inh-32tb.480xlarge|p5e.48xlarge|p5en.48xlarge|f2.12xlarge|f2.48xlarge|trn2.48xlarge',
                '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|i7ie.large|i7ie.xlarge|i7ie.2xlarge|i7ie.3xlarge|i7ie.6xlarge|i7ie.12xlarge|i7ie.18xlarge|i7ie.24xlarge|i7ie.48xlarge|i8g.large|i8g.xlarge|i8g.2xlarge|i8g.4xlarge|i8g.8xlarge|i8g.12xlarge|i8g.16xlarge|i8g.24xlarge|i8g.metal-24xl|u7i-6tb.112xlarge|u7i-8tb.112xlarge|u7inh-32tb.480xlarge|p5e.48xlarge|p5en.48xlarge|f2.12xlarge|f2.48xlarge|trn2.48xlarge',
            '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 - 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>,
            'BlockPublicAccessStates' => [
                'InternetGatewayBlockMode' => 'off|block-bidirectional|block-ingress',
            ],
            'CidrBlock' => '<string>',
            'CustomerOwnedIpv4Pool' => '<string>',
            'DefaultForAz' => true || false,
            'EnableDns64' => true || false,
            'EnableLniAtDeviceIndex' => <integer>,
            'Ipv6CidrBlockAssociationSet' => [
                [
                    'AssociationId' => '<string>',
                    'IpSource' => 'amazon|byoip|none',
                    'Ipv6AddressAttribute' => 'public|private',
                    'Ipv6CidrBlock' => '<string>',
                    'Ipv6CidrBlockState' => [
                        'State' => 'associating|associated|disassociating|disassociated|failing|failed',
                        'StatusMessage' => '<string>',
                    ],
                ],
                // ...
            ],
            'Ipv6Native' => true || false,
            'MapCustomerOwnedIpOnLaunch' => true || false,
            'MapPublicIpOnLaunch' => true || false,
            'OutpostArn' => '<string>',
            'OwnerId' => '<string>',
            'PrivateDnsNameOptionsOnLaunch' => [
                'EnableResourceNameDnsAAAARecord' => true || false,
                'EnableResourceNameDnsARecord' => true || false,
                'HostnameType' => 'ip-name|resource-name',
            ],
            'State' => 'pending|available|unavailable',
            'SubnetArn' => '<string>',
            'SubnetId' => '<string>',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'VpcId' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
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|declarative-policies-report|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|verified-access-endpoint-target|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',
            'CidrOptions' => [
                'Cidr' => '<string>',
                'PortRanges' => [
                    [
                        'FromPort' => <integer>,
                        'ToPort' => <integer>,
                    ],
                    // ...
                ],
                'Protocol' => 'http|https|tcp',
                'SubnetIds' => ['<string>', ...],
            ],
            'CreationTime' => '<string>',
            'DeletionTime' => '<string>',
            'Description' => '<string>',
            'DeviceValidationDomain' => '<string>',
            'DomainCertificateArn' => '<string>',
            'EndpointDomain' => '<string>',
            'EndpointType' => 'load-balancer|network-interface|rds|cidr',
            'LastUpdatedTime' => '<string>',
            'LoadBalancerOptions' => [
                'LoadBalancerArn' => '<string>',
                'Port' => <integer>,
                'PortRanges' => [
                    [
                        'FromPort' => <integer>,
                        'ToPort' => <integer>,
                    ],
                    // ...
                ],
                'Protocol' => 'http|https|tcp',
                'SubnetIds' => ['<string>', ...],
            ],
            'NetworkInterfaceOptions' => [
                'NetworkInterfaceId' => '<string>',
                'Port' => <integer>,
                'PortRanges' => [
                    [
                        'FromPort' => <integer>,
                        'ToPort' => <integer>,
                    ],
                    // ...
                ],
                'Protocol' => 'http|https|tcp',
            ],
            'RdsOptions' => [
                'Port' => <integer>,
                'Protocol' => 'http|https|tcp',
                'RdsDbClusterArn' => '<string>',
                'RdsDbInstanceArn' => '<string>',
                'RdsDbProxyArn' => '<string>',
                'RdsEndpoint' => '<string>',
                'SubnetIds' => ['<string>', ...],
            ],
            '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' => [
        [
            'CidrEndpointsCustomSubDomain' => [
                'Nameservers' => ['<string>', ...],
                'SubDomain' => '<string>',
            ],
            '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>',
            'NativeApplicationOidcOptions' => [
                'AuthorizationEndpoint' => '<string>',
                'ClientId' => '<string>',
                'Issuer' => '<string>',
                'PublicSigningKeyEndpoint' => '<string>',
                'Scope' => '<string>',
                'TokenEndpoint' => '<string>',
                'UserInfoEndpoint' => '<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)

  • fast-restored - Indicates whether the volume was created from a snapshot that is enabled for fast snapshot restore (true | false).

  • multi-attach-enabled - Indicates whether the volume is enabled for Multi-Attach (true | false)

  • operator.managed - A Boolean that indicates whether this is a managed volume.

  • operator.principal - The principal that manages the volume. Only valid for managed volumes, where managed is true.

  • 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,
            'Operator' => [
                'Managed' => true || false,
                'Principal' => '<string>',
            ],
            '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',
]

DescribeVpcBlockPublicAccessExclusions

$result = $client->describeVpcBlockPublicAccessExclusions([/* ... */]);
$promise = $client->describeVpcBlockPublicAccessExclusionsAsync([/* ... */]);

Describe VPC Block Public Access (BPA) exclusions. A VPC BPA exclusion is a mode that can be applied to a single VPC or subnet that exempts it from the account’s BPA mode and will allow bidirectional or egress-only access. You can create BPA exclusions for VPCs and subnets even when BPA is not enabled on the account to ensure that there is no traffic disruption to the exclusions when VPC BPA is turned on. To learn more about VPC BPA, see Block public access to VPCs and subnets in the Amazon VPC User Guide.

Parameter Syntax

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

ExclusionIds
Type: Array of strings

IDs of exclusions.

Filters
Type: Array of Filter structures

Filters for the request:

  • resource-arn - The Amazon Resource Name (ARN) of a exclusion.

  • internet-gateway-exclusion-mode - The mode of a VPC BPA exclusion. Possible values: allow-bidirectional | allow-egress.

  • state - The state of VPC BPA. Possible values: create-in-progress | create-complete | update-in-progress | update-complete | delete-in-progress | deleted-complete | disable-in-progress | disable-complete

  • tag - 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 assigned a tag with a specific value, regardless of the tag key.

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>',
    'VpcBlockPublicAccessExclusions' => [
        [
            'CreationTimestamp' => <DateTime>,
            'DeletionTimestamp' => <DateTime>,
            'ExclusionId' => '<string>',
            'InternetGatewayExclusionMode' => 'allow-bidirectional|allow-egress',
            'LastUpdateTimestamp' => <DateTime>,
            'Reason' => '<string>',
            'ResourceArn' => '<string>',
            'State' => 'create-in-progress|create-complete|create-failed|update-in-progress|update-complete|update-failed|delete-in-progress|delete-complete|disable-in-progress|disable-complete',
            '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.

VpcBlockPublicAccessExclusions
Type: Array of VpcBlockPublicAccessExclusion structures

Details related to the exclusions.

Errors

There are no errors described for this operation.

DescribeVpcBlockPublicAccessOptions

$result = $client->describeVpcBlockPublicAccessOptions([/* ... */]);
$promise = $client->describeVpcBlockPublicAccessOptionsAsync([/* ... */]);

Describe VPC Block Public Access (BPA) options. VPC Block Public Access (BPA) enables you to block resources in VPCs and subnets that you own in a Region from reaching or being reached from the internet through internet gateways and egress-only internet gateways. To learn more about VPC BPA, see Block public access to VPCs and subnets in the Amazon VPC User Guide.

Parameter Syntax

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

[
    'VpcBlockPublicAccessOptions' => [
        'AwsAccountId' => '<string>',
        'AwsRegion' => '<string>',
        'ExclusionsAllowed' => 'allowed|not-allowed',
        'InternetGatewayBlockMode' => 'off|block-bidirectional|block-ingress',
        'LastUpdateTimestamp' => <DateTime>,
        'ManagedBy' => 'account|declarative-policy',
        'Reason' => '<string>',
        'State' => 'default-state|update-in-progress|update-complete',
    ],
]

Result Details

Members
VpcBlockPublicAccessOptions
Type: VpcBlockPublicAccessOptions structure

Details related to the options.

Errors

There are no errors described for this operation.

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

DescribeVpcEndpointAssociations

$result = $client->describeVpcEndpointAssociations([/* ... */]);
$promise = $client->describeVpcEndpointAssociationsAsync([/* ... */]);

Describes the VPC resources, VPC endpoint services, Amazon Lattice services, or service networks associated with the VPC endpoint.

Parameter Syntax

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

  • vpc-endpoint-id - The ID of the VPC endpoint.

  • associated-resource-accessibility - The association state. When the state is accessible, it returns AVAILABLE. When the state is inaccessible, it returns PENDING or FAILED.

  • association-id - The ID of the VPC endpoint association.

  • associated-resource-id - The ID of the associated resource configuration.

  • service-network-arn - The Amazon Resource Name (ARN) of the associated service network. Only VPC endpoints of type service network will be returned.

  • resource-configuration-group-arn - The Amazon Resource Name (ARN) of the resource configuration of type GROUP.

  • service-network-resource-association-id - The ID of the association.

MaxResults
Type: int

The maximum page size.

NextToken
Type: string

The pagination token.

VpcEndpointIds
Type: Array of strings

The IDs of the VPC endpoints.

Result Syntax

[
    'NextToken' => '<string>',
    'VpcEndpointAssociations' => [
        [
            'AssociatedResourceAccessibility' => '<string>',
            'AssociatedResourceArn' => '<string>',
            'DnsEntry' => [
                'DnsName' => '<string>',
                'HostedZoneId' => '<string>',
            ],
            'FailureCode' => '<string>',
            'FailureReason' => '<string>',
            'Id' => '<string>',
            'PrivateDnsEntry' => [
                'DnsName' => '<string>',
                'HostedZoneId' => '<string>',
            ],
            'ResourceConfigurationGroupArn' => '<string>',
            'ServiceNetworkArn' => '<string>',
            'ServiceNetworkName' => '<string>',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'VpcEndpointId' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The pagination token.

VpcEndpointAssociations
Type: Array of VpcEndpointAssociation structures

Details of the endpoint associations.

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>',
            'ServiceRegion' => '<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-region - The Region of the endpoint or cross-region to find endpoints for other Regions.

  • 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>',
            'VpcEndpointRegion' => '<string>',
            'VpcEndpointState' => 'PendingAcceptance|Pending|Available|Deleting|Deleted|Rejected|Failed|Expired|Partial',
        ],
        // ...
    ],
]

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>',
            ],
            'RemoteAccessEnabled' => true || false,
            'ServiceId' => '<string>',
            'ServiceName' => '<string>',
            'ServiceState' => 'Pending|Available|Deleting|Deleted|Failed',
            'ServiceType' => [
                [
                    'ServiceType' => 'Interface|Gateway|GatewayLoadBalancer',
                ],
                // ...
            ],
            'SupportedIpAddressTypes' => ['<string>', ...],
            'SupportedRegions' => [
                [
                    'Region' => '<string>',
                    'ServiceState' => '<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>', ...],
    'ServiceRegions' => ['<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-region - The Region 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.

ServiceRegions
Type: Array of strings

The service Regions.

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>',
            'ServiceRegion' => '<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.

  • service-region - The Region 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 | Resource | ServiceNetwork).

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,
            ],
            'FailureReason' => '<string>',
            'Groups' => [
                [
                    'GroupId' => '<string>',
                    'GroupName' => '<string>',
                ],
                // ...
            ],
            'IpAddressType' => 'ipv4|dualstack|ipv6',
            'Ipv4Prefixes' => [
                [
                    'IpPrefixes' => ['<string>', ...],
                    'SubnetId' => '<string>',
                ],
                // ...
            ],
            'Ipv6Prefixes' => [
                [
                    'IpPrefixes' => ['<string>', ...],
                    'SubnetId' => '<string>',
                ],
                // ...
            ],
            'LastError' => [
                'Code' => '<string>',
                'Message' => '<string>',
            ],
            'NetworkInterfaceIds' => ['<string>', ...],
            'OwnerId' => '<string>',
            'PolicyDocument' => '<string>',
            'PrivateDnsEnabled' => true || false,
            'RequesterManaged' => true || false,
            'ResourceConfigurationArn' => '<string>',
            'RouteTableIds' => ['<string>', ...],
            'ServiceName' => '<string>',
            'ServiceNetworkArn' => '<string>',
            'ServiceRegion' => '<string>',
            'State' => 'PendingAcceptance|Pending|Available|Deleting|Deleted|Rejected|Failed|Expired|Partial',
            'SubnetIds' => ['<string>', ...],
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'VpcEndpointId' => '<string>',
            'VpcEndpointType' => 'Interface|Gateway|GatewayLoadBalancer|Resource|ServiceNetwork',
            '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 - 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 - 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' => [
        [
            'BlockPublicAccessStates' => [
                'InternetGatewayBlockMode' => 'off|block-bidirectional|block-ingress',
            ],
            'CidrBlock' => '<string>',
            'CidrBlockAssociationSet' => [
                [
                    'AssociationId' => '<string>',
                    'CidrBlock' => '<string>',
                    'CidrBlockState' => [
                        'State' => 'associating|associated|disassociating|disassociated|failing|failed',
                        'StatusMessage' => '<string>',
                    ],
                ],
                // ...
            ],
            'DhcpOptionsId' => '<string>',
            'EncryptionControl' => [
                'Mode' => 'monitor|enforce',
                'ResourceExclusions' => [
                    'EgressOnlyInternetGateway' => [
                        'State' => 'enabling|enabled|disabling|disabled',
                        'StateMessage' => '<string>',
                    ],
                    'InternetGateway' => [
                        'State' => 'enabling|enabled|disabling|disabled',
                        'StateMessage' => '<string>',
                    ],
                    'NatGateway' => [
                        'State' => 'enabling|enabled|disabling|disabled',
                        'StateMessage' => '<string>',
                    ],
                    'VirtualPrivateGateway' => [
                        'State' => 'enabling|enabled|disabling|disabled',
                        'StateMessage' => '<string>',
                    ],
                    'VpcPeering' => [
                        'State' => 'enabling|enabled|disabling|disabled',
                        'StateMessage' => '<string>',
                    ],
                ],
                'State' => 'enforce-in-progress|monitor-in-progress|enforce-failed|monitor-failed|deleting|deleted|available',
                'StateMessage' => '<string>',
                'Tags' => [
                    [
                        'Key' => '<string>',
                        'Value' => '<string>',
                    ],
                    // ...
                ],
                'VpcEncryptionControlId' => '<string>',
                'VpcId' => '<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' => [
        'CidrEndpointsCustomSubDomain' => [
            'Nameservers' => ['<string>', ...],
            'SubDomain' => '<string>',
        ],
        '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>',
        'NativeApplicationOidcOptions' => [
            'AuthorizationEndpoint' => '<string>',
            'ClientId' => '<string>',
            'Issuer' => '<string>',
            'PublicSigningKeyEndpoint' => '<string>',
            'Scope' => '<string>',
            'TokenEndpoint' => '<string>',
            'UserInfoEndpoint' => '<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.

DisableAllowedImagesSettings

$result = $client->disableAllowedImagesSettings([/* ... */]);
$promise = $client->disableAllowedImagesSettingsAsync([/* ... */]);

Disables Allowed AMIs for your account in the specified Amazon Web Services Region. When set to disabled, the image criteria in your Allowed AMIs settings do not apply, and no restrictions are placed on AMI discoverability or usage. Users in your account can launch instances using any public AMI or AMI shared with your account.

The Allowed AMIs feature does not restrict the AMIs owned by your account. Regardless of the criteria you set, the AMIs created by your account will always be discoverable and usable by users in your account.

For more information, see Control the discovery and use of AMIs in Amazon EC2 with Allowed AMIs in Amazon EC2 User Guide.

Parameter Syntax

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

[
    'AllowedImagesSettingsState' => 'disabled',
]

Result Details

Members
AllowedImagesSettingsState
Type: string

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

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.

EnableAllowedImagesSettings

$result = $client->enableAllowedImagesSettings([/* ... */]);
$promise = $client->enableAllowedImagesSettingsAsync([/* ... */]);

Enables Allowed AMIs for your account in the specified Amazon Web Services Region. Two values are accepted:

  • enabled: The image criteria in your Allowed AMIs settings are applied. As a result, only AMIs matching these criteria are discoverable and can be used by your account to launch instances.

  • audit-mode: The image criteria in your Allowed AMIs settings are not applied. No restrictions are placed on AMI discoverability or usage. Users in your account can launch instances using any public AMI or AMI shared with your account.

    The purpose of audit-mode is to indicate which AMIs will be affected when Allowed AMIs is enabled. In audit-mode, each AMI displays either "ImageAllowed": true or "ImageAllowed": false to indicate whether the AMI will be discoverable and available to users in the account when Allowed AMIs is enabled.

The Allowed AMIs feature does not restrict the AMIs owned by your account. Regardless of the criteria you set, the AMIs created by your account will always be discoverable and usable by users in your account.

For more information, see Control the discovery and use of AMIs in Amazon EC2 with Allowed AMIs in Amazon EC2 User Guide.

Parameter Syntax

$result = $client->enableAllowedImagesSettings([
    'AllowedImagesSettingsState' => 'enabled|audit-mode', // REQUIRED
    'DryRun' => true || false,
]);

Parameter Details

Members
AllowedImagesSettingsState
Required: Yes
Type: string

Specify enabled to apply the image criteria specified by the Allowed AMIs settings. Specify audit-mode so that you can check which AMIs will be allowed or not allowed by the image criteria.

DryRun
Type: boolean

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

[
    'AllowedImagesSettingsState' => 'enabled|audit-mode',
]

Result Details

Members
AllowedImagesSettingsState
Type: string

Returns enabled or audit-mode if the request succeeds; otherwise, it returns an error.

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|declarative-policies-report|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|verified-access-endpoint-target|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.

ExportVerifiedAccessInstanceClientConfiguration

$result = $client->exportVerifiedAccessInstanceClientConfiguration([/* ... */]);
$promise = $client->exportVerifiedAccessInstanceClientConfigurationAsync([/* ... */]);

Exports the client configuration for a Verified Access instance.

Parameter Syntax

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

VerifiedAccessInstanceId
Required: Yes
Type: string

The ID of the Verified Access instance.

Result Syntax

[
    'DeviceTrustProviders' => ['<string>', ...],
    'OpenVpnConfigurations' => [
        [
            'Config' => '<string>',
            'Routes' => [
                [
                    'Cidr' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'Region' => '<string>',
    'UserTrustProvider' => [
        'AuthorizationEndpoint' => '<string>',
        'ClientId' => '<string>',
        'ClientSecret' => '<string>',
        'Issuer' => '<string>',
        'PkceEnabled' => true || false,
        'PublicSigningKeyEndpoint' => '<string>',
        'Scopes' => '<string>',
        'TokenEndpoint' => '<string>',
        'Type' => 'iam-identity-center|oidc',
        'UserInfoEndpoint' => '<string>',
    ],
    'VerifiedAccessInstanceId' => '<string>',
    'Version' => '<string>',
]

Result Details

Members
DeviceTrustProviders
Type: Array of strings

The device trust providers.

OpenVpnConfigurations

The Open VPN configuration.

Region
Type: string

The Region.

UserTrustProvider

The user identity trust provider.

VerifiedAccessInstanceId
Type: string

The ID of the Verified Access instance.

Version
Type: string

The version.

Errors

There are no errors described for this operation.

GetAllowedImagesSettings

$result = $client->getAllowedImagesSettings([/* ... */]);
$promise = $client->getAllowedImagesSettingsAsync([/* ... */]);

Gets the current state of the Allowed AMIs setting and the list of Allowed AMIs criteria at the account level in the specified Region.

The Allowed AMIs feature does not restrict the AMIs owned by your account. Regardless of the criteria you set, the AMIs created by your account will always be discoverable and usable by users in your account.

For more information, see Control the discovery and use of AMIs in Amazon EC2 with Allowed AMIs in Amazon EC2 User Guide.

Parameter Syntax

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

[
    'ImageCriteria' => [
        [
            'ImageProviders' => ['<string>', ...],
        ],
        // ...
    ],
    'ManagedBy' => 'account|declarative-policy',
    'State' => '<string>',
]

Result Details

Members
ImageCriteria
Type: Array of ImageCriterion structures

The list of criteria for images that are discoverable and usable in the account in the specified Amazon Web Services Region.

ManagedBy
Type: string

The entity that manages the Allowed AMIs settings. Possible values include:

  • account - The Allowed AMIs settings is managed by the account.

  • declarative-policy - The Allowed AMIs settings is managed by a declarative policy and can't be modified by the account.

State
Type: string

The current state of the Allowed AMIs setting at the account level in the specified Amazon Web Services Region.

Possible values:

  • disabled: All AMIs are allowed.

  • audit-mode: All AMIs are allowed, but the ImageAllowed field is set to true if the AMI would be allowed with the current list of criteria if allowed AMIs was enabled.

  • enabled: Only AMIs matching the image criteria are discoverable and available for use.

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|assessing|delayed|unsupported',
    '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 is available for use.

  • expired - The Capacity Reservation expired automatically at the date and time specified in your reservation request. The reserved capacity is no longer available for your use.

  • cancelled - The Capacity Reservation was canceled. 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 can fail due to request parameters that are not valid, capacity constraints, or instance limit constraints. You can view a failed request for 60 minutes.

  • scheduled - (Future-dated Capacity Reservations only) The future-dated Capacity Reservation request was approved and the Capacity Reservation is scheduled for delivery on the requested start date.

  • assessing - (Future-dated Capacity Reservations only) Amazon EC2 is assessing your request for a future-dated Capacity Reservation.

  • delayed - (Future-dated Capacity Reservations only) Amazon EC2 encountered a delay in provisioning the requested future-dated Capacity Reservation. Amazon EC2 is unable to deliver the requested capacity by the requested start date and time.

  • unsupported - (Future-dated Capacity Reservations only) Amazon EC2 can't support the future-dated Capacity Reservation request due to capacity constraints. You can view unsupported requests for 30 days. The Capacity Reservation will not be delivered.

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.

GetDeclarativePoliciesReportSummary

$result = $client->getDeclarativePoliciesReportSummary([/* ... */]);
$promise = $client->getDeclarativePoliciesReportSummaryAsync([/* ... */]);

Retrieves a summary of the account status report.

To view the full report, download it from the Amazon S3 bucket where it was saved. Reports are accessible only when they have the complete status. Reports with other statuses (running, cancelled, or error) are not available in the S3 bucket. For more information about downloading objects from an S3 bucket, see Downloading objects in the Amazon Simple Storage Service User Guide.

For more information, see Generating the account status report for declarative policies in the Amazon Web Services Organizations User Guide.

Parameter Syntax

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

ReportId
Required: Yes
Type: string

The ID of the report.

Result Syntax

[
    'AttributeSummaries' => [
        [
            'AttributeName' => '<string>',
            'MostFrequentValue' => '<string>',
            'NumberOfMatchedAccounts' => <integer>,
            'NumberOfUnmatchedAccounts' => <integer>,
            'RegionalSummaries' => [
                [
                    'NumberOfMatchedAccounts' => <integer>,
                    'NumberOfUnmatchedAccounts' => <integer>,
                    'RegionName' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'EndTime' => <DateTime>,
    'NumberOfAccounts' => <integer>,
    'NumberOfFailedAccounts' => <integer>,
    'ReportId' => '<string>',
    'S3Bucket' => '<string>',
    'S3Prefix' => '<string>',
    'StartTime' => <DateTime>,
    'TargetId' => '<string>',
]

Result Details

Members
AttributeSummaries
Type: Array of AttributeSummary structures

The attributes described in the report.

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

The time when the report generation ended.

NumberOfAccounts
Type: int

The total number of accounts associated with the specified targetId.

NumberOfFailedAccounts
Type: int

The number of accounts where attributes could not be retrieved in any Region.

ReportId
Type: string

The ID of the report.

S3Bucket
Type: string

The name of the Amazon S3 bucket where the report is located.

S3Prefix
Type: string

The prefix for your S3 object.

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

The time when the report generation started.

TargetId
Type: string

The root ID, organizational unit ID, or account ID.

Format:

  • For root: r-ab12

  • For OU: ou-ab12-cdef1234

  • For account: 123456789012

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>',
    'ManagedBy' => 'account|declarative-policy',
]

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.

ManagedBy
Type: string

The entity that manages the state for block public access for AMIs. Possible values include:

  • account - The state is managed by the account.

  • declarative-policy - The state is managed by a declarative policy and can't be modified by the account.

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',
        'ManagedBy' => 'account|declarative-policy',
        'ManagedExceptionMessage' => '<string>',
    ],
]

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>,
        ],
        'BaselinePerformanceFactors' => [
            'Cpu' => [
                'References' => [
                    [
                        'InstanceFamily' => '<string>',
                    ],
                    // ...
                ],
            ],
        ],
        'BurstablePerformance' => 'included|required|excluded',
        'CpuManufacturers' => ['<string>', ...],
        'ExcludedInstanceTypes' => ['<string>', ...],
        'InstanceGenerations' => ['<string>', ...],
        'LocalStorage' => 'included|required|excluded',
        'LocalStorageTypes' => ['<string>', ...],
        'MaxSpotPriceAsPercentageOfOptimalOnDemandPrice' => <integer>,
        'MemoryGiBPerVCpu' => [
            'Max' => <float>,
            'Min' => <float>,
        ],
        'MemoryMiB' => [ // REQUIRED
            'Max' => <integer>,
            'Min' => <integer>, // REQUIRED
        ],
        'NetworkBandwidthGbps' => [
            'Max' => <float>,
            'Min' => <float>,
        ],
        'NetworkInterfaceCount' => [
            'Max' => <integer>,
            'Min' => <integer>,
        ],
        'OnDemandMaxPricePercentageOverLowestPrice' => <integer>,
        'RequireHibernateSupport' => true || false,
        'SpotMaxPricePercentageOverLowestPrice' => <integer>,
        'TotalLocalStorageGB' => [
            'Max' => <float>,
            'Min' => <float>,
        ],
        'VCpuCount' => [ // REQUIRED
            'Max' => <integer>,
            'Min' => <integer>, // REQUIRED
        ],
    ],
    '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>,
            'OrganizationalUnitId' => '<string>',
        ],
        // ...
    ],
    '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' => 'capacity-reservations-only|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>,
            ],
            'BaselinePerformanceFactors' => [
                'Cpu' => [
                    'References' => [
                        [
                            'InstanceFamily' => '<string>',
                        ],
                        // ...
                    ],
                ],
            ],
            'BurstablePerformance' => 'included|required|excluded',
            'CpuManufacturers' => ['<string>', ...],
            'ExcludedInstanceTypes' => ['<string>', ...],
            'InstanceGenerations' => ['<string>', ...],
            'LocalStorage' => 'included|required|excluded',
            'LocalStorageTypes' => ['<string>', ...],
            'MaxSpotPriceAsPercentageOfOptimalOnDemandPrice' => <integer>,
            'MemoryGiBPerVCpu' => [
                'Max' => <float>,
                'Min' => <float>,
            ],
            'MemoryMiB' => [
                'Max' => <integer>,
                'Min' => <integer>,
            ],
            'NetworkBandwidthGbps' => [
                'Max' => <float>,
                'Min' => <float>,
            ],
            'NetworkInterfaceCount' => [
                'Max' => <integer>,
                'Min' => <integer>,
            ],
            'OnDemandMaxPricePercentageOverLowestPrice' => <integer>,
            'RequireHibernateSupport' => true || false,
            'SpotMaxPricePercentageOverLowestPrice' => <integer>,
            'TotalLocalStorageGB' => [
                'Max' => <float>,
                'Min' => <float>,
            ],
            'VCpuCount' => [
                'Max' => <integer>,
                'Min' => <integer>,
            ],
        ],
        'InstanceType' => 'a1.medium|a1.large|a1.xlarge|a1.2xlarge|a1.4xlarge|a1.metal|c1.medium|c1.xlarge|c3.large|c3.xlarge|c3.2xlarge|c3.4xlarge|c3.8xlarge|c4.large|c4.xlarge|c4.2xlarge|c4.4xlarge|c4.8xlarge|c5.large|c5.xlarge|c5.2xlarge|c5.4xlarge|c5.9xlarge|c5.12xlarge|c5.18xlarge|c5.24xlarge|c5.metal|c5a.large|c5a.xlarge|c5a.2xlarge|c5a.4xlarge|c5a.8xlarge|c5a.12xlarge|c5a.16xlarge|c5a.24xlarge|c5ad.large|c5ad.xlarge|c5ad.2xlarge|c5ad.4xlarge|c5ad.8xlarge|c5ad.12xlarge|c5ad.16xlarge|c5ad.24xlarge|c5d.large|c5d.xlarge|c5d.2xlarge|c5d.4xlarge|c5d.9xlarge|c5d.12xlarge|c5d.18xlarge|c5d.24xlarge|c5d.metal|c5n.large|c5n.xlarge|c5n.2xlarge|c5n.4xlarge|c5n.9xlarge|c5n.18xlarge|c5n.metal|c6g.medium|c6g.large|c6g.xlarge|c6g.2xlarge|c6g.4xlarge|c6g.8xlarge|c6g.12xlarge|c6g.16xlarge|c6g.metal|c6gd.medium|c6gd.large|c6gd.xlarge|c6gd.2xlarge|c6gd.4xlarge|c6gd.8xlarge|c6gd.12xlarge|c6gd.16xlarge|c6gd.metal|c6gn.medium|c6gn.large|c6gn.xlarge|c6gn.2xlarge|c6gn.4xlarge|c6gn.8xlarge|c6gn.12xlarge|c6gn.16xlarge|c6i.large|c6i.xlarge|c6i.2xlarge|c6i.4xlarge|c6i.8xlarge|c6i.12xlarge|c6i.16xlarge|c6i.24xlarge|c6i.32xlarge|c6i.metal|cc1.4xlarge|cc2.8xlarge|cg1.4xlarge|cr1.8xlarge|d2.xlarge|d2.2xlarge|d2.4xlarge|d2.8xlarge|d3.xlarge|d3.2xlarge|d3.4xlarge|d3.8xlarge|d3en.xlarge|d3en.2xlarge|d3en.4xlarge|d3en.6xlarge|d3en.8xlarge|d3en.12xlarge|dl1.24xlarge|f1.2xlarge|f1.4xlarge|f1.16xlarge|g2.2xlarge|g2.8xlarge|g3.4xlarge|g3.8xlarge|g3.16xlarge|g3s.xlarge|g4ad.xlarge|g4ad.2xlarge|g4ad.4xlarge|g4ad.8xlarge|g4ad.16xlarge|g4dn.xlarge|g4dn.2xlarge|g4dn.4xlarge|g4dn.8xlarge|g4dn.12xlarge|g4dn.16xlarge|g4dn.metal|g5.xlarge|g5.2xlarge|g5.4xlarge|g5.8xlarge|g5.12xlarge|g5.16xlarge|g5.24xlarge|g5.48xlarge|g5g.xlarge|g5g.2xlarge|g5g.4xlarge|g5g.8xlarge|g5g.16xlarge|g5g.metal|hi1.4xlarge|hpc6a.48xlarge|hs1.8xlarge|h1.2xlarge|h1.4xlarge|h1.8xlarge|h1.16xlarge|i2.xlarge|i2.2xlarge|i2.4xlarge|i2.8xlarge|i3.large|i3.xlarge|i3.2xlarge|i3.4xlarge|i3.8xlarge|i3.16xlarge|i3.metal|i3en.large|i3en.xlarge|i3en.2xlarge|i3en.3xlarge|i3en.6xlarge|i3en.12xlarge|i3en.24xlarge|i3en.metal|im4gn.large|im4gn.xlarge|im4gn.2xlarge|im4gn.4xlarge|im4gn.8xlarge|im4gn.16xlarge|inf1.xlarge|inf1.2xlarge|inf1.6xlarge|inf1.24xlarge|is4gen.medium|is4gen.large|is4gen.xlarge|is4gen.2xlarge|is4gen.4xlarge|is4gen.8xlarge|m1.small|m1.medium|m1.large|m1.xlarge|m2.xlarge|m2.2xlarge|m2.4xlarge|m3.medium|m3.large|m3.xlarge|m3.2xlarge|m4.large|m4.xlarge|m4.2xlarge|m4.4xlarge|m4.10xlarge|m4.16xlarge|m5.large|m5.xlarge|m5.2xlarge|m5.4xlarge|m5.8xlarge|m5.12xlarge|m5.16xlarge|m5.24xlarge|m5.metal|m5a.large|m5a.xlarge|m5a.2xlarge|m5a.4xlarge|m5a.8xlarge|m5a.12xlarge|m5a.16xlarge|m5a.24xlarge|m5ad.large|m5ad.xlarge|m5ad.2xlarge|m5ad.4xlarge|m5ad.8xlarge|m5ad.12xlarge|m5ad.16xlarge|m5ad.24xlarge|m5d.large|m5d.xlarge|m5d.2xlarge|m5d.4xlarge|m5d.8xlarge|m5d.12xlarge|m5d.16xlarge|m5d.24xlarge|m5d.metal|m5dn.large|m5dn.xlarge|m5dn.2xlarge|m5dn.4xlarge|m5dn.8xlarge|m5dn.12xlarge|m5dn.16xlarge|m5dn.24xlarge|m5dn.metal|m5n.large|m5n.xlarge|m5n.2xlarge|m5n.4xlarge|m5n.8xlarge|m5n.12xlarge|m5n.16xlarge|m5n.24xlarge|m5n.metal|m5zn.large|m5zn.xlarge|m5zn.2xlarge|m5zn.3xlarge|m5zn.6xlarge|m5zn.12xlarge|m5zn.metal|m6a.large|m6a.xlarge|m6a.2xlarge|m6a.4xlarge|m6a.8xlarge|m6a.12xlarge|m6a.16xlarge|m6a.24xlarge|m6a.32xlarge|m6a.48xlarge|m6g.metal|m6g.medium|m6g.large|m6g.xlarge|m6g.2xlarge|m6g.4xlarge|m6g.8xlarge|m6g.12xlarge|m6g.16xlarge|m6gd.metal|m6gd.medium|m6gd.large|m6gd.xlarge|m6gd.2xlarge|m6gd.4xlarge|m6gd.8xlarge|m6gd.12xlarge|m6gd.16xlarge|m6i.large|m6i.xlarge|m6i.2xlarge|m6i.4xlarge|m6i.8xlarge|m6i.12xlarge|m6i.16xlarge|m6i.24xlarge|m6i.32xlarge|m6i.metal|mac1.metal|p2.xlarge|p2.8xlarge|p2.16xlarge|p3.2xlarge|p3.8xlarge|p3.16xlarge|p3dn.24xlarge|p4d.24xlarge|r3.large|r3.xlarge|r3.2xlarge|r3.4xlarge|r3.8xlarge|r4.large|r4.xlarge|r4.2xlarge|r4.4xlarge|r4.8xlarge|r4.16xlarge|r5.large|r5.xlarge|r5.2xlarge|r5.4xlarge|r5.8xlarge|r5.12xlarge|r5.16xlarge|r5.24xlarge|r5.metal|r5a.large|r5a.xlarge|r5a.2xlarge|r5a.4xlarge|r5a.8xlarge|r5a.12xlarge|r5a.16xlarge|r5a.24xlarge|r5ad.large|r5ad.xlarge|r5ad.2xlarge|r5ad.4xlarge|r5ad.8xlarge|r5ad.12xlarge|r5ad.16xlarge|r5ad.24xlarge|r5b.large|r5b.xlarge|r5b.2xlarge|r5b.4xlarge|r5b.8xlarge|r5b.12xlarge|r5b.16xlarge|r5b.24xlarge|r5b.metal|r5d.large|r5d.xlarge|r5d.2xlarge|r5d.4xlarge|r5d.8xlarge|r5d.12xlarge|r5d.16xlarge|r5d.24xlarge|r5d.metal|r5dn.large|r5dn.xlarge|r5dn.2xlarge|r5dn.4xlarge|r5dn.8xlarge|r5dn.12xlarge|r5dn.16xlarge|r5dn.24xlarge|r5dn.metal|r5n.large|r5n.xlarge|r5n.2xlarge|r5n.4xlarge|r5n.8xlarge|r5n.12xlarge|r5n.16xlarge|r5n.24xlarge|r5n.metal|r6g.medium|r6g.large|r6g.xlarge|r6g.2xlarge|r6g.4xlarge|r6g.8xlarge|r6g.12xlarge|r6g.16xlarge|r6g.metal|r6gd.medium|r6gd.large|r6gd.xlarge|r6gd.2xlarge|r6gd.4xlarge|r6gd.8xlarge|r6gd.12xlarge|r6gd.16xlarge|r6gd.metal|r6i.large|r6i.xlarge|r6i.2xlarge|r6i.4xlarge|r6i.8xlarge|r6i.12xlarge|r6i.16xlarge|r6i.24xlarge|r6i.32xlarge|r6i.metal|t1.micro|t2.nano|t2.micro|t2.small|t2.medium|t2.large|t2.xlarge|t2.2xlarge|t3.nano|t3.micro|t3.small|t3.medium|t3.large|t3.xlarge|t3.2xlarge|t3a.nano|t3a.micro|t3a.small|t3a.medium|t3a.large|t3a.xlarge|t3a.2xlarge|t4g.nano|t4g.micro|t4g.small|t4g.medium|t4g.large|t4g.xlarge|t4g.2xlarge|u-6tb1.56xlarge|u-6tb1.112xlarge|u-9tb1.112xlarge|u-12tb1.112xlarge|u-6tb1.metal|u-9tb1.metal|u-12tb1.metal|u-18tb1.metal|u-24tb1.metal|vt1.3xlarge|vt1.6xlarge|vt1.24xlarge|x1.16xlarge|x1.32xlarge|x1e.xlarge|x1e.2xlarge|x1e.4xlarge|x1e.8xlarge|x1e.16xlarge|x1e.32xlarge|x2iezn.2xlarge|x2iezn.4xlarge|x2iezn.6xlarge|x2iezn.8xlarge|x2iezn.12xlarge|x2iezn.metal|x2gd.medium|x2gd.large|x2gd.xlarge|x2gd.2xlarge|x2gd.4xlarge|x2gd.8xlarge|x2gd.12xlarge|x2gd.16xlarge|x2gd.metal|z1d.large|z1d.xlarge|z1d.2xlarge|z1d.3xlarge|z1d.6xlarge|z1d.12xlarge|z1d.metal|x2idn.16xlarge|x2idn.24xlarge|x2idn.32xlarge|x2iedn.xlarge|x2iedn.2xlarge|x2iedn.4xlarge|x2iedn.8xlarge|x2iedn.16xlarge|x2iedn.24xlarge|x2iedn.32xlarge|c6a.large|c6a.xlarge|c6a.2xlarge|c6a.4xlarge|c6a.8xlarge|c6a.12xlarge|c6a.16xlarge|c6a.24xlarge|c6a.32xlarge|c6a.48xlarge|c6a.metal|m6a.metal|i4i.large|i4i.xlarge|i4i.2xlarge|i4i.4xlarge|i4i.8xlarge|i4i.16xlarge|i4i.32xlarge|i4i.metal|x2idn.metal|x2iedn.metal|c7g.medium|c7g.large|c7g.xlarge|c7g.2xlarge|c7g.4xlarge|c7g.8xlarge|c7g.12xlarge|c7g.16xlarge|mac2.metal|c6id.large|c6id.xlarge|c6id.2xlarge|c6id.4xlarge|c6id.8xlarge|c6id.12xlarge|c6id.16xlarge|c6id.24xlarge|c6id.32xlarge|c6id.metal|m6id.large|m6id.xlarge|m6id.2xlarge|m6id.4xlarge|m6id.8xlarge|m6id.12xlarge|m6id.16xlarge|m6id.24xlarge|m6id.32xlarge|m6id.metal|r6id.large|r6id.xlarge|r6id.2xlarge|r6id.4xlarge|r6id.8xlarge|r6id.12xlarge|r6id.16xlarge|r6id.24xlarge|r6id.32xlarge|r6id.metal|r6a.large|r6a.xlarge|r6a.2xlarge|r6a.4xlarge|r6a.8xlarge|r6a.12xlarge|r6a.16xlarge|r6a.24xlarge|r6a.32xlarge|r6a.48xlarge|r6a.metal|p4de.24xlarge|u-3tb1.56xlarge|u-18tb1.112xlarge|u-24tb1.112xlarge|trn1.2xlarge|trn1.32xlarge|hpc6id.32xlarge|c6in.large|c6in.xlarge|c6in.2xlarge|c6in.4xlarge|c6in.8xlarge|c6in.12xlarge|c6in.16xlarge|c6in.24xlarge|c6in.32xlarge|m6in.large|m6in.xlarge|m6in.2xlarge|m6in.4xlarge|m6in.8xlarge|m6in.12xlarge|m6in.16xlarge|m6in.24xlarge|m6in.32xlarge|m6idn.large|m6idn.xlarge|m6idn.2xlarge|m6idn.4xlarge|m6idn.8xlarge|m6idn.12xlarge|m6idn.16xlarge|m6idn.24xlarge|m6idn.32xlarge|r6in.large|r6in.xlarge|r6in.2xlarge|r6in.4xlarge|r6in.8xlarge|r6in.12xlarge|r6in.16xlarge|r6in.24xlarge|r6in.32xlarge|r6idn.large|r6idn.xlarge|r6idn.2xlarge|r6idn.4xlarge|r6idn.8xlarge|r6idn.12xlarge|r6idn.16xlarge|r6idn.24xlarge|r6idn.32xlarge|c7g.metal|m7g.medium|m7g.large|m7g.xlarge|m7g.2xlarge|m7g.4xlarge|m7g.8xlarge|m7g.12xlarge|m7g.16xlarge|m7g.metal|r7g.medium|r7g.large|r7g.xlarge|r7g.2xlarge|r7g.4xlarge|r7g.8xlarge|r7g.12xlarge|r7g.16xlarge|r7g.metal|c6in.metal|m6in.metal|m6idn.metal|r6in.metal|r6idn.metal|inf2.xlarge|inf2.8xlarge|inf2.24xlarge|inf2.48xlarge|trn1n.32xlarge|i4g.large|i4g.xlarge|i4g.2xlarge|i4g.4xlarge|i4g.8xlarge|i4g.16xlarge|hpc7g.4xlarge|hpc7g.8xlarge|hpc7g.16xlarge|c7gn.medium|c7gn.large|c7gn.xlarge|c7gn.2xlarge|c7gn.4xlarge|c7gn.8xlarge|c7gn.12xlarge|c7gn.16xlarge|p5.48xlarge|m7i.large|m7i.xlarge|m7i.2xlarge|m7i.4xlarge|m7i.8xlarge|m7i.12xlarge|m7i.16xlarge|m7i.24xlarge|m7i.48xlarge|m7i-flex.large|m7i-flex.xlarge|m7i-flex.2xlarge|m7i-flex.4xlarge|m7i-flex.8xlarge|m7a.medium|m7a.large|m7a.xlarge|m7a.2xlarge|m7a.4xlarge|m7a.8xlarge|m7a.12xlarge|m7a.16xlarge|m7a.24xlarge|m7a.32xlarge|m7a.48xlarge|m7a.metal-48xl|hpc7a.12xlarge|hpc7a.24xlarge|hpc7a.48xlarge|hpc7a.96xlarge|c7gd.medium|c7gd.large|c7gd.xlarge|c7gd.2xlarge|c7gd.4xlarge|c7gd.8xlarge|c7gd.12xlarge|c7gd.16xlarge|m7gd.medium|m7gd.large|m7gd.xlarge|m7gd.2xlarge|m7gd.4xlarge|m7gd.8xlarge|m7gd.12xlarge|m7gd.16xlarge|r7gd.medium|r7gd.large|r7gd.xlarge|r7gd.2xlarge|r7gd.4xlarge|r7gd.8xlarge|r7gd.12xlarge|r7gd.16xlarge|r7a.medium|r7a.large|r7a.xlarge|r7a.2xlarge|r7a.4xlarge|r7a.8xlarge|r7a.12xlarge|r7a.16xlarge|r7a.24xlarge|r7a.32xlarge|r7a.48xlarge|c7i.large|c7i.xlarge|c7i.2xlarge|c7i.4xlarge|c7i.8xlarge|c7i.12xlarge|c7i.16xlarge|c7i.24xlarge|c7i.48xlarge|mac2-m2pro.metal|r7iz.large|r7iz.xlarge|r7iz.2xlarge|r7iz.4xlarge|r7iz.8xlarge|r7iz.12xlarge|r7iz.16xlarge|r7iz.32xlarge|c7a.medium|c7a.large|c7a.xlarge|c7a.2xlarge|c7a.4xlarge|c7a.8xlarge|c7a.12xlarge|c7a.16xlarge|c7a.24xlarge|c7a.32xlarge|c7a.48xlarge|c7a.metal-48xl|r7a.metal-48xl|r7i.large|r7i.xlarge|r7i.2xlarge|r7i.4xlarge|r7i.8xlarge|r7i.12xlarge|r7i.16xlarge|r7i.24xlarge|r7i.48xlarge|dl2q.24xlarge|mac2-m2.metal|i4i.12xlarge|i4i.24xlarge|c7i.metal-24xl|c7i.metal-48xl|m7i.metal-24xl|m7i.metal-48xl|r7i.metal-24xl|r7i.metal-48xl|r7iz.metal-16xl|r7iz.metal-32xl|c7gd.metal|m7gd.metal|r7gd.metal|g6.xlarge|g6.2xlarge|g6.4xlarge|g6.8xlarge|g6.12xlarge|g6.16xlarge|g6.24xlarge|g6.48xlarge|gr6.4xlarge|gr6.8xlarge|c7i-flex.large|c7i-flex.xlarge|c7i-flex.2xlarge|c7i-flex.4xlarge|c7i-flex.8xlarge|u7i-12tb.224xlarge|u7in-16tb.224xlarge|u7in-24tb.224xlarge|u7in-32tb.224xlarge|u7ib-12tb.224xlarge|c7gn.metal|r8g.medium|r8g.large|r8g.xlarge|r8g.2xlarge|r8g.4xlarge|r8g.8xlarge|r8g.12xlarge|r8g.16xlarge|r8g.24xlarge|r8g.48xlarge|r8g.metal-24xl|r8g.metal-48xl|mac2-m1ultra.metal|g6e.xlarge|g6e.2xlarge|g6e.4xlarge|g6e.8xlarge|g6e.12xlarge|g6e.16xlarge|g6e.24xlarge|g6e.48xlarge|c8g.medium|c8g.large|c8g.xlarge|c8g.2xlarge|c8g.4xlarge|c8g.8xlarge|c8g.12xlarge|c8g.16xlarge|c8g.24xlarge|c8g.48xlarge|c8g.metal-24xl|c8g.metal-48xl|m8g.medium|m8g.large|m8g.xlarge|m8g.2xlarge|m8g.4xlarge|m8g.8xlarge|m8g.12xlarge|m8g.16xlarge|m8g.24xlarge|m8g.48xlarge|m8g.metal-24xl|m8g.metal-48xl|x8g.medium|x8g.large|x8g.xlarge|x8g.2xlarge|x8g.4xlarge|x8g.8xlarge|x8g.12xlarge|x8g.16xlarge|x8g.24xlarge|x8g.48xlarge|x8g.metal-24xl|x8g.metal-48xl|i7ie.large|i7ie.xlarge|i7ie.2xlarge|i7ie.3xlarge|i7ie.6xlarge|i7ie.12xlarge|i7ie.18xlarge|i7ie.24xlarge|i7ie.48xlarge|i8g.large|i8g.xlarge|i8g.2xlarge|i8g.4xlarge|i8g.8xlarge|i8g.12xlarge|i8g.16xlarge|i8g.24xlarge|i8g.metal-24xl|u7i-6tb.112xlarge|u7i-8tb.112xlarge|u7inh-32tb.480xlarge|p5e.48xlarge|p5en.48xlarge|f2.12xlarge|f2.48xlarge|trn2.48xlarge',
        '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>',
            ],
            // ...
        ],
        'NetworkPerformanceOptions' => [
            'BandwidthWeighting' => 'default|vpc-1|ebs-1',
        ],
        'Operator' => [
            'Managed' => true || false,
            'Principal' => '<string>',
        ],
        'Placement' => [
            'Affinity' => '<string>',
            'AvailabilityZone' => '<string>',
            'GroupId' => '<string>',
            'GroupName' => '<string>',
            'HostId' => '<string>',
            'HostResourceGroupArn' => '<string>',
            'PartitionNumber' => <integer>,
            'SpreadDomain' => '<string>',
            'Tenancy' => 'default|dedicated|host',
        ],
        'PrivateDnsNameOptions' => [
            'EnableResourceNameDnsAAAARecord' => true || false,
            'EnableResourceNameDnsARecord' => true || false,
            'HostnameType' => 'ip-name|resource-name',
        ],
        'RamDiskId' => '<string>',
        'SecurityGroupIds' => ['<string>', ...],
        'SecurityGroups' => ['<string>', ...],
        'TagSpecifications' => [
            [
                'ResourceType' => 'capacity-reservation|client-vpn-endpoint|customer-gateway|carrier-gateway|coip-pool|declarative-policies-report|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|verified-access-endpoint-target|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

[
    'ManagedBy' => 'account|declarative-policy',
    'SerialConsoleAccessEnabled' => true || false,
]

Result Details

Members
ManagedBy
Type: string

The entity that manages access to the serial console. Possible values include:

  • account - Access is managed by the account.

  • declarative-policy - Access is managed by a declarative policy and can't be modified by the account.

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

[
    'ManagedBy' => 'account|declarative-policy',
    'State' => 'block-all-sharing|block-new-sharing|unblocked',
]

Result Details

Members
ManagedBy
Type: string

The entity that manages the state for block public access for snapshots. Possible values include:

  • account - The state is managed by the account.

  • declarative-policy - The state is managed by a declarative policy and can't be modified by the account.

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>,
            ],
            'BaselinePerformanceFactors' => [
                'Cpu' => [
                    'References' => [
                        [
                            'InstanceFamily' => '<string>',
                        ],
                        // ...
                    ],
                ],
            ],
            'BurstablePerformance' => 'included|required|excluded',
            'CpuManufacturers' => ['<string>', ...],
            'ExcludedInstanceTypes' => ['<string>', ...],
            'InstanceGenerations' => ['<string>', ...],
            'LocalStorage' => 'included|required|excluded',
            'LocalStorageTypes' => ['<string>', ...],
            'MaxSpotPriceAsPercentageOfOptimalOnDemandPrice' => <integer>,
            'MemoryGiBPerVCpu' => [
                'Max' => <float>,
                'Min' => <float>,
            ],
            'MemoryMiB' => [ // REQUIRED
                'Max' => <integer>,
                'Min' => <integer>, // REQUIRED
            ],
            'NetworkBandwidthGbps' => [
                'Max' => <float>,
                'Min' => <float>,
            ],
            'NetworkInterfaceCount' => [
                'Max' => <integer>,
                'Min' => <integer>,
            ],
            'OnDemandMaxPricePercentageOverLowestPrice' => <integer>,
            'RequireHibernateSupport' => true || false,
            'SpotMaxPricePercentageOverLowestPrice' => <integer>,
            'TotalLocalStorageGB' => [
                'Max' => <float>,
                'Min' => <float>,
            ],
            'VCpuCount' => [ // REQUIRED
                'Max' => <integer>,
                'Min' => <integer>, // REQUIRED
            ],
        ],
        '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.

GetVerifiedAccessEndpointTargets

$result = $client->getVerifiedAccessEndpointTargets([/* ... */]);
$promise = $client->getVerifiedAccessEndpointTargetsAsync([/* ... */]);

Gets the targets for the specified network CIDR endpoint for Verified Access.

Parameter Syntax

$result = $client->getVerifiedAccessEndpointTargets([
    'DryRun' => true || false,
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    '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.

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.

VerifiedAccessEndpointId
Required: Yes
Type: string

The ID of the network CIDR endpoint.

Result Syntax

[
    'NextToken' => '<string>',
    'VerifiedAccessEndpointTargets' => [
        [
            'VerifiedAccessEndpointId' => '<string>',
            'VerifiedAccessEndpointTargetDns' => '<string>',
            'VerifiedAccessEndpointTargetIpAddress' => '<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.

VerifiedAccessEndpointTargets
Type: Array of VerifiedAccessEndpointTarget structures

The Verified Access targets.

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|declarative-policies-report|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|verified-access-endpoint-target|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|i7ie.large|i7ie.xlarge|i7ie.2xlarge|i7ie.3xlarge|i7ie.6xlarge|i7ie.12xlarge|i7ie.18xlarge|i7ie.24xlarge|i7ie.48xlarge|i8g.large|i8g.xlarge|i8g.2xlarge|i8g.4xlarge|i8g.8xlarge|i8g.12xlarge|i8g.16xlarge|i8g.24xlarge|i8g.metal-24xl|u7i-6tb.112xlarge|u7i-8tb.112xlarge|u7inh-32tb.480xlarge|p5e.48xlarge|p5en.48xlarge|f2.12xlarge|f2.48xlarge|trn2.48xlarge',
        '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|declarative-policies-report|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|verified-access-endpoint-target|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|declarative-policies-report|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|verified-access-endpoint-target|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.

The allowed modifications depend on the state of the Capacity Reservation:

  • assessing or scheduled state - You can modify the tags only.

  • pending state - You can't modify the Capacity Reservation in any way.

  • active state but still within the commitment duration - You can't decrease the instance count or set an end date that is within the commitment duration. All other modifications are allowed.

  • active state with no commitment duration or elapsed commitment duration - All modifications are allowed.

  • expired, cancelled, unsupported, or failed state - You can't modify the Capacity Reservation in any way.

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>',
    'DisconnectOnSessionTimeout' => true || false,
    '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.

DisconnectOnSessionTimeout
Type: boolean

Indicates whether the client VPN session is disconnected after the maximum timeout specified in sessionTimeoutHours is reached. If true, users are prompted to reconnect client VPN. If false, client VPN attempts to reconnect automatically. The default value is false.

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>',
                    '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>',
                        ],
                        // ...
                    ],
                    'ImageId' => '<string>',
                    'InstanceRequirements' => [
                        'AcceleratorCount' => [
                            'Max' => <integer>,
                            'Min' => <integer>,
                        ],
                        'AcceleratorManufacturers' => ['<string>', ...],
                        'AcceleratorNames' => ['<string>', ...],
                        'AcceleratorTotalMemoryMiB' => [
                            'Max' => <integer>,
                            'Min' => <integer>,
                        ],
                        'AcceleratorTypes' => ['<string>', ...],
                        'AllowedInstanceTypes' => ['<string>', ...],
                        'BareMetal' => 'included|required|excluded',
                        'BaselineEbsBandwidthMbps' => [
                            'Max' => <integer>,
                            'Min' => <integer>,
                        ],
                        'BaselinePerformanceFactors' => [
                            'Cpu' => [
                                'References' => [
                                    [
                                        'InstanceFamily' => '<string>',
                                    ],
                                    // ...
                                ],
                            ],
                        ],
                        'BurstablePerformance' => 'included|required|excluded',
                        'CpuManufacturers' => ['<string>', ...],
                        'ExcludedInstanceTypes' => ['<string>', ...],
                        'InstanceGenerations' => ['<string>', ...],
                        'LocalStorage' => 'included|required|excluded',
                        'LocalStorageTypes' => ['<string>', ...],
                        'MaxSpotPriceAsPercentageOfOptimalOnDemandPrice' => <integer>,
                        'MemoryGiBPerVCpu' => [
                            'Max' => <float>,
                            'Min' => <float>,
                        ],
                        'MemoryMiB' => [ // REQUIRED
                            'Max' => <integer>,
                            'Min' => <integer>, // REQUIRED
                        ],
                        'NetworkBandwidthGbps' => [
                            'Max' => <float>,
                            'Min' => <float>,
                        ],
                        'NetworkInterfaceCount' => [
                            'Max' => <integer>,
                            'Min' => <integer>,
                        ],
                        'OnDemandMaxPricePercentageOverLowestPrice' => <integer>,
                        'RequireHibernateSupport' => true || false,
                        'SpotMaxPricePercentageOverLowestPrice' => <integer>,
                        'TotalLocalStorageGB' => [
                            'Max' => <float>,
                            'Min' => <float>,
                        ],
                        'VCpuCount' => [ // REQUIRED
                            'Max' => <integer>,
                            'Min' => <integer>, // REQUIRED
                        ],
                    ],
                    'InstanceType' => 'a1.medium|a1.large|a1.xlarge|a1.2xlarge|a1.4xlarge|a1.metal|c1.medium|c1.xlarge|c3.large|c3.xlarge|c3.2xlarge|c3.4xlarge|c3.8xlarge|c4.large|c4.xlarge|c4.2xlarge|c4.4xlarge|c4.8xlarge|c5.large|c5.xlarge|c5.2xlarge|c5.4xlarge|c5.9xlarge|c5.12xlarge|c5.18xlarge|c5.24xlarge|c5.metal|c5a.large|c5a.xlarge|c5a.2xlarge|c5a.4xlarge|c5a.8xlarge|c5a.12xlarge|c5a.16xlarge|c5a.24xlarge|c5ad.large|c5ad.xlarge|c5ad.2xlarge|c5ad.4xlarge|c5ad.8xlarge|c5ad.12xlarge|c5ad.16xlarge|c5ad.24xlarge|c5d.large|c5d.xlarge|c5d.2xlarge|c5d.4xlarge|c5d.9xlarge|c5d.12xlarge|c5d.18xlarge|c5d.24xlarge|c5d.metal|c5n.large|c5n.xlarge|c5n.2xlarge|c5n.4xlarge|c5n.9xlarge|c5n.18xlarge|c5n.metal|c6g.medium|c6g.large|c6g.xlarge|c6g.2xlarge|c6g.4xlarge|c6g.8xlarge|c6g.12xlarge|c6g.16xlarge|c6g.metal|c6gd.medium|c6gd.large|c6gd.xlarge|c6gd.2xlarge|c6gd.4xlarge|c6gd.8xlarge|c6gd.12xlarge|c6gd.16xlarge|c6gd.metal|c6gn.medium|c6gn.large|c6gn.xlarge|c6gn.2xlarge|c6gn.4xlarge|c6gn.8xlarge|c6gn.12xlarge|c6gn.16xlarge|c6i.large|c6i.xlarge|c6i.2xlarge|c6i.4xlarge|c6i.8xlarge|c6i.12xlarge|c6i.16xlarge|c6i.24xlarge|c6i.32xlarge|c6i.metal|cc1.4xlarge|cc2.8xlarge|cg1.4xlarge|cr1.8xlarge|d2.xlarge|d2.2xlarge|d2.4xlarge|d2.8xlarge|d3.xlarge|d3.2xlarge|d3.4xlarge|d3.8xlarge|d3en.xlarge|d3en.2xlarge|d3en.4xlarge|d3en.6xlarge|d3en.8xlarge|d3en.12xlarge|dl1.24xlarge|f1.2xlarge|f1.4xlarge|f1.16xlarge|g2.2xlarge|g2.8xlarge|g3.4xlarge|g3.8xlarge|g3.16xlarge|g3s.xlarge|g4ad.xlarge|g4ad.2xlarge|g4ad.4xlarge|g4ad.8xlarge|g4ad.16xlarge|g4dn.xlarge|g4dn.2xlarge|g4dn.4xlarge|g4dn.8xlarge|g4dn.12xlarge|g4dn.16xlarge|g4dn.metal|g5.xlarge|g5.2xlarge|g5.4xlarge|g5.8xlarge|g5.12xlarge|g5.16xlarge|g5.24xlarge|g5.48xlarge|g5g.xlarge|g5g.2xlarge|g5g.4xlarge|g5g.8xlarge|g5g.16xlarge|g5g.metal|hi1.4xlarge|hpc6a.48xlarge|hs1.8xlarge|h1.2xlarge|h1.4xlarge|h1.8xlarge|h1.16xlarge|i2.xlarge|i2.2xlarge|i2.4xlarge|i2.8xlarge|i3.large|i3.xlarge|i3.2xlarge|i3.4xlarge|i3.8xlarge|i3.16xlarge|i3.metal|i3en.large|i3en.xlarge|i3en.2xlarge|i3en.3xlarge|i3en.6xlarge|i3en.12xlarge|i3en.24xlarge|i3en.metal|im4gn.large|im4gn.xlarge|im4gn.2xlarge|im4gn.4xlarge|im4gn.8xlarge|im4gn.16xlarge|inf1.xlarge|inf1.2xlarge|inf1.6xlarge|inf1.24xlarge|is4gen.medium|is4gen.large|is4gen.xlarge|is4gen.2xlarge|is4gen.4xlarge|is4gen.8xlarge|m1.small|m1.medium|m1.large|m1.xlarge|m2.xlarge|m2.2xlarge|m2.4xlarge|m3.medium|m3.large|m3.xlarge|m3.2xlarge|m4.large|m4.xlarge|m4.2xlarge|m4.4xlarge|m4.10xlarge|m4.16xlarge|m5.large|m5.xlarge|m5.2xlarge|m5.4xlarge|m5.8xlarge|m5.12xlarge|m5.16xlarge|m5.24xlarge|m5.metal|m5a.large|m5a.xlarge|m5a.2xlarge|m5a.4xlarge|m5a.8xlarge|m5a.12xlarge|m5a.16xlarge|m5a.24xlarge|m5ad.large|m5ad.xlarge|m5ad.2xlarge|m5ad.4xlarge|m5ad.8xlarge|m5ad.12xlarge|m5ad.16xlarge|m5ad.24xlarge|m5d.large|m5d.xlarge|m5d.2xlarge|m5d.4xlarge|m5d.8xlarge|m5d.12xlarge|m5d.16xlarge|m5d.24xlarge|m5d.metal|m5dn.large|m5dn.xlarge|m5dn.2xlarge|m5dn.4xlarge|m5dn.8xlarge|m5dn.12xlarge|m5dn.16xlarge|m5dn.24xlarge|m5dn.metal|m5n.large|m5n.xlarge|m5n.2xlarge|m5n.4xlarge|m5n.8xlarge|m5n.12xlarge|m5n.16xlarge|m5n.24xlarge|m5n.metal|m5zn.large|m5zn.xlarge|m5zn.2xlarge|m5zn.3xlarge|m5zn.6xlarge|m5zn.12xlarge|m5zn.metal|m6a.large|m6a.xlarge|m6a.2xlarge|m6a.4xlarge|m6a.8xlarge|m6a.12xlarge|m6a.16xlarge|m6a.24xlarge|m6a.32xlarge|m6a.48xlarge|m6g.metal|m6g.medium|m6g.large|m6g.xlarge|m6g.2xlarge|m6g.4xlarge|m6g.8xlarge|m6g.12xlarge|m6g.16xlarge|m6gd.metal|m6gd.medium|m6gd.large|m6gd.xlarge|m6gd.2xlarge|m6gd.4xlarge|m6gd.8xlarge|m6gd.12xlarge|m6gd.16xlarge|m6i.large|m6i.xlarge|m6i.2xlarge|m6i.4xlarge|m6i.8xlarge|m6i.12xlarge|m6i.16xlarge|m6i.24xlarge|m6i.32xlarge|m6i.metal|mac1.metal|p2.xlarge|p2.8xlarge|p2.16xlarge|p3.2xlarge|p3.8xlarge|p3.16xlarge|p3dn.24xlarge|p4d.24xlarge|r3.large|r3.xlarge|r3.2xlarge|r3.4xlarge|r3.8xlarge|r4.large|r4.xlarge|r4.2xlarge|r4.4xlarge|r4.8xlarge|r4.16xlarge|r5.large|r5.xlarge|r5.2xlarge|r5.4xlarge|r5.8xlarge|r5.12xlarge|r5.16xlarge|r5.24xlarge|r5.metal|r5a.large|r5a.xlarge|r5a.2xlarge|r5a.4xlarge|r5a.8xlarge|r5a.12xlarge|r5a.16xlarge|r5a.24xlarge|r5ad.large|r5ad.xlarge|r5ad.2xlarge|r5ad.4xlarge|r5ad.8xlarge|r5ad.12xlarge|r5ad.16xlarge|r5ad.24xlarge|r5b.large|r5b.xlarge|r5b.2xlarge|r5b.4xlarge|r5b.8xlarge|r5b.12xlarge|r5b.16xlarge|r5b.24xlarge|r5b.metal|r5d.large|r5d.xlarge|r5d.2xlarge|r5d.4xlarge|r5d.8xlarge|r5d.12xlarge|r5d.16xlarge|r5d.24xlarge|r5d.metal|r5dn.large|r5dn.xlarge|r5dn.2xlarge|r5dn.4xlarge|r5dn.8xlarge|r5dn.12xlarge|r5dn.16xlarge|r5dn.24xlarge|r5dn.metal|r5n.large|r5n.xlarge|r5n.2xlarge|r5n.4xlarge|r5n.8xlarge|r5n.12xlarge|r5n.16xlarge|r5n.24xlarge|r5n.metal|r6g.medium|r6g.large|r6g.xlarge|r6g.2xlarge|r6g.4xlarge|r6g.8xlarge|r6g.12xlarge|r6g.16xlarge|r6g.metal|r6gd.medium|r6gd.large|r6gd.xlarge|r6gd.2xlarge|r6gd.4xlarge|r6gd.8xlarge|r6gd.12xlarge|r6gd.16xlarge|r6gd.metal|r6i.large|r6i.xlarge|r6i.2xlarge|r6i.4xlarge|r6i.8xlarge|r6i.12xlarge|r6i.16xlarge|r6i.24xlarge|r6i.32xlarge|r6i.metal|t1.micro|t2.nano|t2.micro|t2.small|t2.medium|t2.large|t2.xlarge|t2.2xlarge|t3.nano|t3.micro|t3.small|t3.medium|t3.large|t3.xlarge|t3.2xlarge|t3a.nano|t3a.micro|t3a.small|t3a.medium|t3a.large|t3a.xlarge|t3a.2xlarge|t4g.nano|t4g.micro|t4g.small|t4g.medium|t4g.large|t4g.xlarge|t4g.2xlarge|u-6tb1.56xlarge|u-6tb1.112xlarge|u-9tb1.112xlarge|u-12tb1.112xlarge|u-6tb1.metal|u-9tb1.metal|u-12tb1.metal|u-18tb1.metal|u-24tb1.metal|vt1.3xlarge|vt1.6xlarge|vt1.24xlarge|x1.16xlarge|x1.32xlarge|x1e.xlarge|x1e.2xlarge|x1e.4xlarge|x1e.8xlarge|x1e.16xlarge|x1e.32xlarge|x2iezn.2xlarge|x2iezn.4xlarge|x2iezn.6xlarge|x2iezn.8xlarge|x2iezn.12xlarge|x2iezn.metal|x2gd.medium|x2gd.large|x2gd.xlarge|x2gd.2xlarge|x2gd.4xlarge|x2gd.8xlarge|x2gd.12xlarge|x2gd.16xlarge|x2gd.metal|z1d.large|z1d.xlarge|z1d.2xlarge|z1d.3xlarge|z1d.6xlarge|z1d.12xlarge|z1d.metal|x2idn.16xlarge|x2idn.24xlarge|x2idn.32xlarge|x2iedn.xlarge|x2iedn.2xlarge|x2iedn.4xlarge|x2iedn.8xlarge|x2iedn.16xlarge|x2iedn.24xlarge|x2iedn.32xlarge|c6a.large|c6a.xlarge|c6a.2xlarge|c6a.4xlarge|c6a.8xlarge|c6a.12xlarge|c6a.16xlarge|c6a.24xlarge|c6a.32xlarge|c6a.48xlarge|c6a.metal|m6a.metal|i4i.large|i4i.xlarge|i4i.2xlarge|i4i.4xlarge|i4i.8xlarge|i4i.16xlarge|i4i.32xlarge|i4i.metal|x2idn.metal|x2iedn.metal|c7g.medium|c7g.large|c7g.xlarge|c7g.2xlarge|c7g.4xlarge|c7g.8xlarge|c7g.12xlarge|c7g.16xlarge|mac2.metal|c6id.large|c6id.xlarge|c6id.2xlarge|c6id.4xlarge|c6id.8xlarge|c6id.12xlarge|c6id.16xlarge|c6id.24xlarge|c6id.32xlarge|c6id.metal|m6id.large|m6id.xlarge|m6id.2xlarge|m6id.4xlarge|m6id.8xlarge|m6id.12xlarge|m6id.16xlarge|m6id.24xlarge|m6id.32xlarge|m6id.metal|r6id.large|r6id.xlarge|r6id.2xlarge|r6id.4xlarge|r6id.8xlarge|r6id.12xlarge|r6id.16xlarge|r6id.24xlarge|r6id.32xlarge|r6id.metal|r6a.large|r6a.xlarge|r6a.2xlarge|r6a.4xlarge|r6a.8xlarge|r6a.12xlarge|r6a.16xlarge|r6a.24xlarge|r6a.32xlarge|r6a.48xlarge|r6a.metal|p4de.24xlarge|u-3tb1.56xlarge|u-18tb1.112xlarge|u-24tb1.112xlarge|trn1.2xlarge|trn1.32xlarge|hpc6id.32xlarge|c6in.large|c6in.xlarge|c6in.2xlarge|c6in.4xlarge|c6in.8xlarge|c6in.12xlarge|c6in.16xlarge|c6in.24xlarge|c6in.32xlarge|m6in.large|m6in.xlarge|m6in.2xlarge|m6in.4xlarge|m6in.8xlarge|m6in.12xlarge|m6in.16xlarge|m6in.24xlarge|m6in.32xlarge|m6idn.large|m6idn.xlarge|m6idn.2xlarge|m6idn.4xlarge|m6idn.8xlarge|m6idn.12xlarge|m6idn.16xlarge|m6idn.24xlarge|m6idn.32xlarge|r6in.large|r6in.xlarge|r6in.2xlarge|r6in.4xlarge|r6in.8xlarge|r6in.12xlarge|r6in.16xlarge|r6in.24xlarge|r6in.32xlarge|r6idn.large|r6idn.xlarge|r6idn.2xlarge|r6idn.4xlarge|r6idn.8xlarge|r6idn.12xlarge|r6idn.16xlarge|r6idn.24xlarge|r6idn.32xlarge|c7g.metal|m7g.medium|m7g.large|m7g.xlarge|m7g.2xlarge|m7g.4xlarge|m7g.8xlarge|m7g.12xlarge|m7g.16xlarge|m7g.metal|r7g.medium|r7g.large|r7g.xlarge|r7g.2xlarge|r7g.4xlarge|r7g.8xlarge|r7g.12xlarge|r7g.16xlarge|r7g.metal|c6in.metal|m6in.metal|m6idn.metal|r6in.metal|r6idn.metal|inf2.xlarge|inf2.8xlarge|inf2.24xlarge|inf2.48xlarge|trn1n.32xlarge|i4g.large|i4g.xlarge|i4g.2xlarge|i4g.4xlarge|i4g.8xlarge|i4g.16xlarge|hpc7g.4xlarge|hpc7g.8xlarge|hpc7g.16xlarge|c7gn.medium|c7gn.large|c7gn.xlarge|c7gn.2xlarge|c7gn.4xlarge|c7gn.8xlarge|c7gn.12xlarge|c7gn.16xlarge|p5.48xlarge|m7i.large|m7i.xlarge|m7i.2xlarge|m7i.4xlarge|m7i.8xlarge|m7i.12xlarge|m7i.16xlarge|m7i.24xlarge|m7i.48xlarge|m7i-flex.large|m7i-flex.xlarge|m7i-flex.2xlarge|m7i-flex.4xlarge|m7i-flex.8xlarge|m7a.medium|m7a.large|m7a.xlarge|m7a.2xlarge|m7a.4xlarge|m7a.8xlarge|m7a.12xlarge|m7a.16xlarge|m7a.24xlarge|m7a.32xlarge|m7a.48xlarge|m7a.metal-48xl|hpc7a.12xlarge|hpc7a.24xlarge|hpc7a.48xlarge|hpc7a.96xlarge|c7gd.medium|c7gd.large|c7gd.xlarge|c7gd.2xlarge|c7gd.4xlarge|c7gd.8xlarge|c7gd.12xlarge|c7gd.16xlarge|m7gd.medium|m7gd.large|m7gd.xlarge|m7gd.2xlarge|m7gd.4xlarge|m7gd.8xlarge|m7gd.12xlarge|m7gd.16xlarge|r7gd.medium|r7gd.large|r7gd.xlarge|r7gd.2xlarge|r7gd.4xlarge|r7gd.8xlarge|r7gd.12xlarge|r7gd.16xlarge|r7a.medium|r7a.large|r7a.xlarge|r7a.2xlarge|r7a.4xlarge|r7a.8xlarge|r7a.12xlarge|r7a.16xlarge|r7a.24xlarge|r7a.32xlarge|r7a.48xlarge|c7i.large|c7i.xlarge|c7i.2xlarge|c7i.4xlarge|c7i.8xlarge|c7i.12xlarge|c7i.16xlarge|c7i.24xlarge|c7i.48xlarge|mac2-m2pro.metal|r7iz.large|r7iz.xlarge|r7iz.2xlarge|r7iz.4xlarge|r7iz.8xlarge|r7iz.12xlarge|r7iz.16xlarge|r7iz.32xlarge|c7a.medium|c7a.large|c7a.xlarge|c7a.2xlarge|c7a.4xlarge|c7a.8xlarge|c7a.12xlarge|c7a.16xlarge|c7a.24xlarge|c7a.32xlarge|c7a.48xlarge|c7a.metal-48xl|r7a.metal-48xl|r7i.large|r7i.xlarge|r7i.2xlarge|r7i.4xlarge|r7i.8xlarge|r7i.12xlarge|r7i.16xlarge|r7i.24xlarge|r7i.48xlarge|dl2q.24xlarge|mac2-m2.metal|i4i.12xlarge|i4i.24xlarge|c7i.metal-24xl|c7i.metal-48xl|m7i.metal-24xl|m7i.metal-48xl|r7i.metal-24xl|r7i.metal-48xl|r7iz.metal-16xl|r7iz.metal-32xl|c7gd.metal|m7gd.metal|r7gd.metal|g6.xlarge|g6.2xlarge|g6.4xlarge|g6.8xlarge|g6.12xlarge|g6.16xlarge|g6.24xlarge|g6.48xlarge|gr6.4xlarge|gr6.8xlarge|c7i-flex.large|c7i-flex.xlarge|c7i-flex.2xlarge|c7i-flex.4xlarge|c7i-flex.8xlarge|u7i-12tb.224xlarge|u7in-16tb.224xlarge|u7in-24tb.224xlarge|u7in-32tb.224xlarge|u7ib-12tb.224xlarge|c7gn.metal|r8g.medium|r8g.large|r8g.xlarge|r8g.2xlarge|r8g.4xlarge|r8g.8xlarge|r8g.12xlarge|r8g.16xlarge|r8g.24xlarge|r8g.48xlarge|r8g.metal-24xl|r8g.metal-48xl|mac2-m1ultra.metal|g6e.xlarge|g6e.2xlarge|g6e.4xlarge|g6e.8xlarge|g6e.12xlarge|g6e.16xlarge|g6e.24xlarge|g6e.48xlarge|c8g.medium|c8g.large|c8g.xlarge|c8g.2xlarge|c8g.4xlarge|c8g.8xlarge|c8g.12xlarge|c8g.16xlarge|c8g.24xlarge|c8g.48xlarge|c8g.metal-24xl|c8g.metal-48xl|m8g.medium|m8g.large|m8g.xlarge|m8g.2xlarge|m8g.4xlarge|m8g.8xlarge|m8g.12xlarge|m8g.16xlarge|m8g.24xlarge|m8g.48xlarge|m8g.metal-24xl|m8g.metal-48xl|x8g.medium|x8g.large|x8g.xlarge|x8g.2xlarge|x8g.4xlarge|x8g.8xlarge|x8g.12xlarge|x8g.16xlarge|x8g.24xlarge|x8g.48xlarge|x8g.metal-24xl|x8g.metal-48xl|i7ie.large|i7ie.xlarge|i7ie.2xlarge|i7ie.3xlarge|i7ie.6xlarge|i7ie.12xlarge|i7ie.18xlarge|i7ie.24xlarge|i7ie.48xlarge|i8g.large|i8g.xlarge|i8g.2xlarge|i8g.4xlarge|i8g.8xlarge|i8g.12xlarge|i8g.16xlarge|i8g.24xlarge|i8g.metal-24xl|u7i-6tb.112xlarge|u7i-8tb.112xlarge|u7inh-32tb.480xlarge|p5e.48xlarge|p5en.48xlarge|f2.12xlarge|f2.48xlarge|trn2.48xlarge',
                    '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

Enable or disable termination protection for the instance. If the value is true, you can't terminate the instance using the Amazon EC2 console, command line interface, or API. You can't enable termination protection 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, run in On-Demand Instance capacity, or only run in a Capacity Reservation.

Parameter Syntax

$result = $client->modifyInstanceCapacityReservationAttributes([
    'CapacityReservationSpecification' => [ // REQUIRED
        'CapacityReservationPreference' => 'capacity-reservations-only|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.

ModifyInstanceNetworkPerformanceOptions

$result = $client->modifyInstanceNetworkPerformanceOptions([/* ... */]);
$promise = $client->modifyInstanceNetworkPerformanceOptionsAsync([/* ... */]);

Change the configuration of the network performance options for an existing instance.

Parameter Syntax

$result = $client->modifyInstanceNetworkPerformanceOptions([
    'BandwidthWeighting' => 'default|vpc-1|ebs-1', // REQUIRED
    'DryRun' => true || false,
    'InstanceId' => '<string>', // REQUIRED
]);

Parameter Details

Members
BandwidthWeighting
Required: Yes
Type: string

Specify the bandwidth weighting option to boost the associated type of baseline bandwidth, as follows:

default

This option uses the standard bandwidth configuration for your instance type.

vpc-1

This option boosts your networking baseline bandwidth and reduces your EBS baseline bandwidth.

ebs-1

This option boosts your EBS baseline bandwidth and reduces your networking baseline bandwidth.

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.

Result Syntax

[
    'BandwidthWeighting' => 'default|vpc-1|ebs-1',
    'InstanceId' => '<string>',
]

Result Details

Members
BandwidthWeighting
Type: string

Contains the updated configuration for bandwidth weighting on the specified instance.

InstanceId
Type: string

The instance ID that was updated.

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>',
        ],
        // ...
    ],
    'AddOrganizationalUnitExclusions' => [
        [
            'OrganizationsEntityPath' => '<string>',
        ],
        // ...
    ],
    'Description' => '<string>',
    'DryRun' => true || false,
    'IpamResourceDiscoveryId' => '<string>', // REQUIRED
    'RemoveOperatingRegions' => [
        [
            'RegionName' => '<string>',
        ],
        // ...
    ],
    'RemoveOrganizationalUnitExclusions' => [
        [
            'OrganizationsEntityPath' => '<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.

AddOrganizationalUnitExclusions
Type: Array of AddIpamOrganizationalUnitExclusion structures

Add an Organizational Unit (OU) exclusion to your IPAM. If your IPAM is integrated with Amazon Web Services Organizations and you add an organizational unit (OU) exclusion, IPAM will not manage the IP addresses in accounts in that OU exclusion. There is a limit on the number of exclusions you can create. For more information, see Quotas for your IPAM in the Amazon VPC IPAM User Guide.

The resulting set of exclusions must not result in "overlap", meaning two or more OU exclusions must not exclude the same OU. For more information and examples, see the Amazon Web Services CLI request process in Add or remove OU exclusions in the Amazon VPC User Guide.

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.

RemoveOrganizationalUnitExclusions
Type: Array of RemoveIpamOrganizationalUnitExclusion structures

Remove an Organizational Unit (OU) exclusion to your IPAM. If your IPAM is integrated with Amazon Web Services Organizations and you add an organizational unit (OU) exclusion, IPAM will not manage the IP addresses in accounts in that OU exclusion. There is a limit on the number of exclusions you can create. For more information, see Quotas for your IPAM in the Amazon VPC IPAM User Guide.

The resulting set of exclusions must not result in "overlap", meaning two or more OU exclusions must not exclude the same OU. For more information and examples, see the Amazon Web Services CLI request process in Add or remove OU exclusions in the Amazon VPC User Guide.

Result Syntax

[
    'IpamResourceDiscovery' => [
        'Description' => '<string>',
        'IpamResourceDiscoveryArn' => '<string>',
        'IpamResourceDiscoveryId' => '<string>',
        'IpamResourceDiscoveryRegion' => '<string>',
        'IsDefault' => true || false,
        'OperatingRegions' => [
            [
                'RegionName' => '<string>',
            ],
            // ...
        ],
        'OrganizationalUnitExclusions' => [
            [
                'OrganizationsEntityPath' => '<string>',
            ],
            // ...
        ],
        'OwnerId' => '<string>',
        'State' => 'create-in-progress|create-complete|create-failed|modify-in-progress|modify-complete|modify-failed|delete-in-progress|delete-complete|delete-failed|isolate-in-progress|isolate-complete|restore-in-progress',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
    ],
]

Result Details

Members
IpamResourceDiscovery
Type: IpamResourceDiscovery structure

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. If a client token isn't specified, a randomly generated token is used in the request to ensure idempotency.

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>',
        'Operator' => [
            'Managed' => true || false,
            'Principal' => '<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|i7ie.large|i7ie.xlarge|i7ie.2xlarge|i7ie.3xlarge|i7ie.6xlarge|i7ie.12xlarge|i7ie.18xlarge|i7ie.24xlarge|i7ie.48xlarge|i8g.large|i8g.xlarge|i8g.2xlarge|i8g.4xlarge|i8g.8xlarge|i8g.12xlarge|i8g.16xlarge|i8g.24xlarge|i8g.metal-24xl|u7i-6tb.112xlarge|u7i-8tb.112xlarge|u7inh-32tb.480xlarge|p5e.48xlarge|p5en.48xlarge|f2.12xlarge|f2.48xlarge|trn2.48xlarge',
            '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>,
                        ],
                        'BaselinePerformanceFactors' => [
                            'Cpu' => [
                                'References' => [
                                    [
                                        'InstanceFamily' => '<string>',
                                    ],
                                    // ...
                                ],
                            ],
                        ],
                        'BurstablePerformance' => 'included|required|excluded',
                        'CpuManufacturers' => ['<string>', ...],
                        'ExcludedInstanceTypes' => ['<string>', ...],
                        'InstanceGenerations' => ['<string>', ...],
                        'LocalStorage' => 'included|required|excluded',
                        'LocalStorageTypes' => ['<string>', ...],
                        'MaxSpotPriceAsPercentageOfOptimalOnDemandPrice' => <integer>,
                        'MemoryGiBPerVCpu' => [
                            'Max' => <float>,
                            'Min' => <float>,
                        ],
                        'MemoryMiB' => [
                            'Max' => <integer>,
                            'Min' => <integer>,
                        ],
                        'NetworkBandwidthGbps' => [
                            'Max' => <float>,
                            'Min' => <float>,
                        ],
                        'NetworkInterfaceCount' => [
                            'Max' => <integer>,
                            'Min' => <integer>,
                        ],
                        'OnDemandMaxPricePercentageOverLowestPrice' => <integer>,
                        'RequireHibernateSupport' => true || false,
                        'SpotMaxPricePercentageOverLowestPrice' => <integer>,
                        'TotalLocalStorageGB' => [
                            'Max' => <float>,
                            'Min' => <float>,
                        ],
                        'VCpuCount' => [
                            'Max' => <integer>,
                            'Min' => <integer>,
                        ],
                    ],
                    'InstanceType' => 'a1.medium|a1.large|a1.xlarge|a1.2xlarge|a1.4xlarge|a1.metal|c1.medium|c1.xlarge|c3.large|c3.xlarge|c3.2xlarge|c3.4xlarge|c3.8xlarge|c4.large|c4.xlarge|c4.2xlarge|c4.4xlarge|c4.8xlarge|c5.large|c5.xlarge|c5.2xlarge|c5.4xlarge|c5.9xlarge|c5.12xlarge|c5.18xlarge|c5.24xlarge|c5.metal|c5a.large|c5a.xlarge|c5a.2xlarge|c5a.4xlarge|c5a.8xlarge|c5a.12xlarge|c5a.16xlarge|c5a.24xlarge|c5ad.large|c5ad.xlarge|c5ad.2xlarge|c5ad.4xlarge|c5ad.8xlarge|c5ad.12xlarge|c5ad.16xlarge|c5ad.24xlarge|c5d.large|c5d.xlarge|c5d.2xlarge|c5d.4xlarge|c5d.9xlarge|c5d.12xlarge|c5d.18xlarge|c5d.24xlarge|c5d.metal|c5n.large|c5n.xlarge|c5n.2xlarge|c5n.4xlarge|c5n.9xlarge|c5n.18xlarge|c5n.metal|c6g.medium|c6g.large|c6g.xlarge|c6g.2xlarge|c6g.4xlarge|c6g.8xlarge|c6g.12xlarge|c6g.16xlarge|c6g.metal|c6gd.medium|c6gd.large|c6gd.xlarge|c6gd.2xlarge|c6gd.4xlarge|c6gd.8xlarge|c6gd.12xlarge|c6gd.16xlarge|c6gd.metal|c6gn.medium|c6gn.large|c6gn.xlarge|c6gn.2xlarge|c6gn.4xlarge|c6gn.8xlarge|c6gn.12xlarge|c6gn.16xlarge|c6i.large|c6i.xlarge|c6i.2xlarge|c6i.4xlarge|c6i.8xlarge|c6i.12xlarge|c6i.16xlarge|c6i.24xlarge|c6i.32xlarge|c6i.metal|cc1.4xlarge|cc2.8xlarge|cg1.4xlarge|cr1.8xlarge|d2.xlarge|d2.2xlarge|d2.4xlarge|d2.8xlarge|d3.xlarge|d3.2xlarge|d3.4xlarge|d3.8xlarge|d3en.xlarge|d3en.2xlarge|d3en.4xlarge|d3en.6xlarge|d3en.8xlarge|d3en.12xlarge|dl1.24xlarge|f1.2xlarge|f1.4xlarge|f1.16xlarge|g2.2xlarge|g2.8xlarge|g3.4xlarge|g3.8xlarge|g3.16xlarge|g3s.xlarge|g4ad.xlarge|g4ad.2xlarge|g4ad.4xlarge|g4ad.8xlarge|g4ad.16xlarge|g4dn.xlarge|g4dn.2xlarge|g4dn.4xlarge|g4dn.8xlarge|g4dn.12xlarge|g4dn.16xlarge|g4dn.metal|g5.xlarge|g5.2xlarge|g5.4xlarge|g5.8xlarge|g5.12xlarge|g5.16xlarge|g5.24xlarge|g5.48xlarge|g5g.xlarge|g5g.2xlarge|g5g.4xlarge|g5g.8xlarge|g5g.16xlarge|g5g.metal|hi1.4xlarge|hpc6a.48xlarge|hs1.8xlarge|h1.2xlarge|h1.4xlarge|h1.8xlarge|h1.16xlarge|i2.xlarge|i2.2xlarge|i2.4xlarge|i2.8xlarge|i3.large|i3.xlarge|i3.2xlarge|i3.4xlarge|i3.8xlarge|i3.16xlarge|i3.metal|i3en.large|i3en.xlarge|i3en.2xlarge|i3en.3xlarge|i3en.6xlarge|i3en.12xlarge|i3en.24xlarge|i3en.metal|im4gn.large|im4gn.xlarge|im4gn.2xlarge|im4gn.4xlarge|im4gn.8xlarge|im4gn.16xlarge|inf1.xlarge|inf1.2xlarge|inf1.6xlarge|inf1.24xlarge|is4gen.medium|is4gen.large|is4gen.xlarge|is4gen.2xlarge|is4gen.4xlarge|is4gen.8xlarge|m1.small|m1.medium|m1.large|m1.xlarge|m2.xlarge|m2.2xlarge|m2.4xlarge|m3.medium|m3.large|m3.xlarge|m3.2xlarge|m4.large|m4.xlarge|m4.2xlarge|m4.4xlarge|m4.10xlarge|m4.16xlarge|m5.large|m5.xlarge|m5.2xlarge|m5.4xlarge|m5.8xlarge|m5.12xlarge|m5.16xlarge|m5.24xlarge|m5.metal|m5a.large|m5a.xlarge|m5a.2xlarge|m5a.4xlarge|m5a.8xlarge|m5a.12xlarge|m5a.16xlarge|m5a.24xlarge|m5ad.large|m5ad.xlarge|m5ad.2xlarge|m5ad.4xlarge|m5ad.8xlarge|m5ad.12xlarge|m5ad.16xlarge|m5ad.24xlarge|m5d.large|m5d.xlarge|m5d.2xlarge|m5d.4xlarge|m5d.8xlarge|m5d.12xlarge|m5d.16xlarge|m5d.24xlarge|m5d.metal|m5dn.large|m5dn.xlarge|m5dn.2xlarge|m5dn.4xlarge|m5dn.8xlarge|m5dn.12xlarge|m5dn.16xlarge|m5dn.24xlarge|m5dn.metal|m5n.large|m5n.xlarge|m5n.2xlarge|m5n.4xlarge|m5n.8xlarge|m5n.12xlarge|m5n.16xlarge|m5n.24xlarge|m5n.metal|m5zn.large|m5zn.xlarge|m5zn.2xlarge|m5zn.3xlarge|m5zn.6xlarge|m5zn.12xlarge|m5zn.metal|m6a.large|m6a.xlarge|m6a.2xlarge|m6a.4xlarge|m6a.8xlarge|m6a.12xlarge|m6a.16xlarge|m6a.24xlarge|m6a.32xlarge|m6a.48xlarge|m6g.metal|m6g.medium|m6g.large|m6g.xlarge|m6g.2xlarge|m6g.4xlarge|m6g.8xlarge|m6g.12xlarge|m6g.16xlarge|m6gd.metal|m6gd.medium|m6gd.large|m6gd.xlarge|m6gd.2xlarge|m6gd.4xlarge|m6gd.8xlarge|m6gd.12xlarge|m6gd.16xlarge|m6i.large|m6i.xlarge|m6i.2xlarge|m6i.4xlarge|m6i.8xlarge|m6i.12xlarge|m6i.16xlarge|m6i.24xlarge|m6i.32xlarge|m6i.metal|mac1.metal|p2.xlarge|p2.8xlarge|p2.16xlarge|p3.2xlarge|p3.8xlarge|p3.16xlarge|p3dn.24xlarge|p4d.24xlarge|r3.large|r3.xlarge|r3.2xlarge|r3.4xlarge|r3.8xlarge|r4.large|r4.xlarge|r4.2xlarge|r4.4xlarge|r4.8xlarge|r4.16xlarge|r5.large|r5.xlarge|r5.2xlarge|r5.4xlarge|r5.8xlarge|r5.12xlarge|r5.16xlarge|r5.24xlarge|r5.metal|r5a.large|r5a.xlarge|r5a.2xlarge|r5a.4xlarge|r5a.8xlarge|r5a.12xlarge|r5a.16xlarge|r5a.24xlarge|r5ad.large|r5ad.xlarge|r5ad.2xlarge|r5ad.4xlarge|r5ad.8xlarge|r5ad.12xlarge|r5ad.16xlarge|r5ad.24xlarge|r5b.large|r5b.xlarge|r5b.2xlarge|r5b.4xlarge|r5b.8xlarge|r5b.12xlarge|r5b.16xlarge|r5b.24xlarge|r5b.metal|r5d.large|r5d.xlarge|r5d.2xlarge|r5d.4xlarge|r5d.8xlarge|r5d.12xlarge|r5d.16xlarge|r5d.24xlarge|r5d.metal|r5dn.large|r5dn.xlarge|r5dn.2xlarge|r5dn.4xlarge|r5dn.8xlarge|r5dn.12xlarge|r5dn.16xlarge|r5dn.24xlarge|r5dn.metal|r5n.large|r5n.xlarge|r5n.2xlarge|r5n.4xlarge|r5n.8xlarge|r5n.12xlarge|r5n.16xlarge|r5n.24xlarge|r5n.metal|r6g.medium|r6g.large|r6g.xlarge|r6g.2xlarge|r6g.4xlarge|r6g.8xlarge|r6g.12xlarge|r6g.16xlarge|r6g.metal|r6gd.medium|r6gd.large|r6gd.xlarge|r6gd.2xlarge|r6gd.4xlarge|r6gd.8xlarge|r6gd.12xlarge|r6gd.16xlarge|r6gd.metal|r6i.large|r6i.xlarge|r6i.2xlarge|r6i.4xlarge|r6i.8xlarge|r6i.12xlarge|r6i.16xlarge|r6i.24xlarge|r6i.32xlarge|r6i.metal|t1.micro|t2.nano|t2.micro|t2.small|t2.medium|t2.large|t2.xlarge|t2.2xlarge|t3.nano|t3.micro|t3.small|t3.medium|t3.large|t3.xlarge|t3.2xlarge|t3a.nano|t3a.micro|t3a.small|t3a.medium|t3a.large|t3a.xlarge|t3a.2xlarge|t4g.nano|t4g.micro|t4g.small|t4g.medium|t4g.large|t4g.xlarge|t4g.2xlarge|u-6tb1.56xlarge|u-6tb1.112xlarge|u-9tb1.112xlarge|u-12tb1.112xlarge|u-6tb1.metal|u-9tb1.metal|u-12tb1.metal|u-18tb1.metal|u-24tb1.metal|vt1.3xlarge|vt1.6xlarge|vt1.24xlarge|x1.16xlarge|x1.32xlarge|x1e.xlarge|x1e.2xlarge|x1e.4xlarge|x1e.8xlarge|x1e.16xlarge|x1e.32xlarge|x2iezn.2xlarge|x2iezn.4xlarge|x2iezn.6xlarge|x2iezn.8xlarge|x2iezn.12xlarge|x2iezn.metal|x2gd.medium|x2gd.large|x2gd.xlarge|x2gd.2xlarge|x2gd.4xlarge|x2gd.8xlarge|x2gd.12xlarge|x2gd.16xlarge|x2gd.metal|z1d.large|z1d.xlarge|z1d.2xlarge|z1d.3xlarge|z1d.6xlarge|z1d.12xlarge|z1d.metal|x2idn.16xlarge|x2idn.24xlarge|x2idn.32xlarge|x2iedn.xlarge|x2iedn.2xlarge|x2iedn.4xlarge|x2iedn.8xlarge|x2iedn.16xlarge|x2iedn.24xlarge|x2iedn.32xlarge|c6a.large|c6a.xlarge|c6a.2xlarge|c6a.4xlarge|c6a.8xlarge|c6a.12xlarge|c6a.16xlarge|c6a.24xlarge|c6a.32xlarge|c6a.48xlarge|c6a.metal|m6a.metal|i4i.large|i4i.xlarge|i4i.2xlarge|i4i.4xlarge|i4i.8xlarge|i4i.16xlarge|i4i.32xlarge|i4i.metal|x2idn.metal|x2iedn.metal|c7g.medium|c7g.large|c7g.xlarge|c7g.2xlarge|c7g.4xlarge|c7g.8xlarge|c7g.12xlarge|c7g.16xlarge|mac2.metal|c6id.large|c6id.xlarge|c6id.2xlarge|c6id.4xlarge|c6id.8xlarge|c6id.12xlarge|c6id.16xlarge|c6id.24xlarge|c6id.32xlarge|c6id.metal|m6id.large|m6id.xlarge|m6id.2xlarge|m6id.4xlarge|m6id.8xlarge|m6id.12xlarge|m6id.16xlarge|m6id.24xlarge|m6id.32xlarge|m6id.metal|r6id.large|r6id.xlarge|r6id.2xlarge|r6id.4xlarge|r6id.8xlarge|r6id.12xlarge|r6id.16xlarge|r6id.24xlarge|r6id.32xlarge|r6id.metal|r6a.large|r6a.xlarge|r6a.2xlarge|r6a.4xlarge|r6a.8xlarge|r6a.12xlarge|r6a.16xlarge|r6a.24xlarge|r6a.32xlarge|r6a.48xlarge|r6a.metal|p4de.24xlarge|u-3tb1.56xlarge|u-18tb1.112xlarge|u-24tb1.112xlarge|trn1.2xlarge|trn1.32xlarge|hpc6id.32xlarge|c6in.large|c6in.xlarge|c6in.2xlarge|c6in.4xlarge|c6in.8xlarge|c6in.12xlarge|c6in.16xlarge|c6in.24xlarge|c6in.32xlarge|m6in.large|m6in.xlarge|m6in.2xlarge|m6in.4xlarge|m6in.8xlarge|m6in.12xlarge|m6in.16xlarge|m6in.24xlarge|m6in.32xlarge|m6idn.large|m6idn.xlarge|m6idn.2xlarge|m6idn.4xlarge|m6idn.8xlarge|m6idn.12xlarge|m6idn.16xlarge|m6idn.24xlarge|m6idn.32xlarge|r6in.large|r6in.xlarge|r6in.2xlarge|r6in.4xlarge|r6in.8xlarge|r6in.12xlarge|r6in.16xlarge|r6in.24xlarge|r6in.32xlarge|r6idn.large|r6idn.xlarge|r6idn.2xlarge|r6idn.4xlarge|r6idn.8xlarge|r6idn.12xlarge|r6idn.16xlarge|r6idn.24xlarge|r6idn.32xlarge|c7g.metal|m7g.medium|m7g.large|m7g.xlarge|m7g.2xlarge|m7g.4xlarge|m7g.8xlarge|m7g.12xlarge|m7g.16xlarge|m7g.metal|r7g.medium|r7g.large|r7g.xlarge|r7g.2xlarge|r7g.4xlarge|r7g.8xlarge|r7g.12xlarge|r7g.16xlarge|r7g.metal|c6in.metal|m6in.metal|m6idn.metal|r6in.metal|r6idn.metal|inf2.xlarge|inf2.8xlarge|inf2.24xlarge|inf2.48xlarge|trn1n.32xlarge|i4g.large|i4g.xlarge|i4g.2xlarge|i4g.4xlarge|i4g.8xlarge|i4g.16xlarge|hpc7g.4xlarge|hpc7g.8xlarge|hpc7g.16xlarge|c7gn.medium|c7gn.large|c7gn.xlarge|c7gn.2xlarge|c7gn.4xlarge|c7gn.8xlarge|c7gn.12xlarge|c7gn.16xlarge|p5.48xlarge|m7i.large|m7i.xlarge|m7i.2xlarge|m7i.4xlarge|m7i.8xlarge|m7i.12xlarge|m7i.16xlarge|m7i.24xlarge|m7i.48xlarge|m7i-flex.large|m7i-flex.xlarge|m7i-flex.2xlarge|m7i-flex.4xlarge|m7i-flex.8xlarge|m7a.medium|m7a.large|m7a.xlarge|m7a.2xlarge|m7a.4xlarge|m7a.8xlarge|m7a.12xlarge|m7a.16xlarge|m7a.24xlarge|m7a.32xlarge|m7a.48xlarge|m7a.metal-48xl|hpc7a.12xlarge|hpc7a.24xlarge|hpc7a.48xlarge|hpc7a.96xlarge|c7gd.medium|c7gd.large|c7gd.xlarge|c7gd.2xlarge|c7gd.4xlarge|c7gd.8xlarge|c7gd.12xlarge|c7gd.16xlarge|m7gd.medium|m7gd.large|m7gd.xlarge|m7gd.2xlarge|m7gd.4xlarge|m7gd.8xlarge|m7gd.12xlarge|m7gd.16xlarge|r7gd.medium|r7gd.large|r7gd.xlarge|r7gd.2xlarge|r7gd.4xlarge|r7gd.8xlarge|r7gd.12xlarge|r7gd.16xlarge|r7a.medium|r7a.large|r7a.xlarge|r7a.2xlarge|r7a.4xlarge|r7a.8xlarge|r7a.12xlarge|r7a.16xlarge|r7a.24xlarge|r7a.32xlarge|r7a.48xlarge|c7i.large|c7i.xlarge|c7i.2xlarge|c7i.4xlarge|c7i.8xlarge|c7i.12xlarge|c7i.16xlarge|c7i.24xlarge|c7i.48xlarge|mac2-m2pro.metal|r7iz.large|r7iz.xlarge|r7iz.2xlarge|r7iz.4xlarge|r7iz.8xlarge|r7iz.12xlarge|r7iz.16xlarge|r7iz.32xlarge|c7a.medium|c7a.large|c7a.xlarge|c7a.2xlarge|c7a.4xlarge|c7a.8xlarge|c7a.12xlarge|c7a.16xlarge|c7a.24xlarge|c7a.32xlarge|c7a.48xlarge|c7a.metal-48xl|r7a.metal-48xl|r7i.large|r7i.xlarge|r7i.2xlarge|r7i.4xlarge|r7i.8xlarge|r7i.12xlarge|r7i.16xlarge|r7i.24xlarge|r7i.48xlarge|dl2q.24xlarge|mac2-m2.metal|i4i.12xlarge|i4i.24xlarge|c7i.metal-24xl|c7i.metal-48xl|m7i.metal-24xl|m7i.metal-48xl|r7i.metal-24xl|r7i.metal-48xl|r7iz.metal-16xl|r7iz.metal-32xl|c7gd.metal|m7gd.metal|r7gd.metal|g6.xlarge|g6.2xlarge|g6.4xlarge|g6.8xlarge|g6.12xlarge|g6.16xlarge|g6.24xlarge|g6.48xlarge|gr6.4xlarge|gr6.8xlarge|c7i-flex.large|c7i-flex.xlarge|c7i-flex.2xlarge|c7i-flex.4xlarge|c7i-flex.8xlarge|u7i-12tb.224xlarge|u7in-16tb.224xlarge|u7in-24tb.224xlarge|u7in-32tb.224xlarge|u7ib-12tb.224xlarge|c7gn.metal|r8g.medium|r8g.large|r8g.xlarge|r8g.2xlarge|r8g.4xlarge|r8g.8xlarge|r8g.12xlarge|r8g.16xlarge|r8g.24xlarge|r8g.48xlarge|r8g.metal-24xl|r8g.metal-48xl|mac2-m1ultra.metal|g6e.xlarge|g6e.2xlarge|g6e.4xlarge|g6e.8xlarge|g6e.12xlarge|g6e.16xlarge|g6e.24xlarge|g6e.48xlarge|c8g.medium|c8g.large|c8g.xlarge|c8g.2xlarge|c8g.4xlarge|c8g.8xlarge|c8g.12xlarge|c8g.16xlarge|c8g.24xlarge|c8g.48xlarge|c8g.metal-24xl|c8g.metal-48xl|m8g.medium|m8g.large|m8g.xlarge|m8g.2xlarge|m8g.4xlarge|m8g.8xlarge|m8g.12xlarge|m8g.16xlarge|m8g.24xlarge|m8g.48xlarge|m8g.metal-24xl|m8g.metal-48xl|x8g.medium|x8g.large|x8g.xlarge|x8g.2xlarge|x8g.4xlarge|x8g.8xlarge|x8g.12xlarge|x8g.16xlarge|x8g.24xlarge|x8g.48xlarge|x8g.metal-24xl|x8g.metal-48xl|i7ie.large|i7ie.xlarge|i7ie.2xlarge|i7ie.3xlarge|i7ie.6xlarge|i7ie.12xlarge|i7ie.18xlarge|i7ie.24xlarge|i7ie.48xlarge|i8g.large|i8g.xlarge|i8g.2xlarge|i8g.4xlarge|i8g.8xlarge|i8g.12xlarge|i8g.16xlarge|i8g.24xlarge|i8g.metal-24xl|u7i-6tb.112xlarge|u7i-8tb.112xlarge|u7inh-32tb.480xlarge|p5e.48xlarge|p5en.48xlarge|f2.12xlarge|f2.48xlarge|trn2.48xlarge',
                    '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([
    'CidrOptions' => [
        'PortRanges' => [
            [
                'FromPort' => <integer>,
                'ToPort' => <integer>,
            ],
            // ...
        ],
    ],
    'ClientToken' => '<string>',
    'Description' => '<string>',
    'DryRun' => true || false,
    'LoadBalancerOptions' => [
        'Port' => <integer>,
        'PortRanges' => [
            [
                'FromPort' => <integer>,
                'ToPort' => <integer>,
            ],
            // ...
        ],
        'Protocol' => 'http|https|tcp',
        'SubnetIds' => ['<string>', ...],
    ],
    'NetworkInterfaceOptions' => [
        'Port' => <integer>,
        'PortRanges' => [
            [
                'FromPort' => <integer>,
                'ToPort' => <integer>,
            ],
            // ...
        ],
        'Protocol' => 'http|https|tcp',
    ],
    'RdsOptions' => [
        'Port' => <integer>,
        'RdsEndpoint' => '<string>',
        'SubnetIds' => ['<string>', ...],
    ],
    'VerifiedAccessEndpointId' => '<string>', // REQUIRED
    'VerifiedAccessGroupId' => '<string>',
]);

Parameter Details

Members
CidrOptions

The CIDR options.

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.

RdsOptions

The RDS 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',
        'CidrOptions' => [
            'Cidr' => '<string>',
            'PortRanges' => [
                [
                    'FromPort' => <integer>,
                    'ToPort' => <integer>,
                ],
                // ...
            ],
            'Protocol' => 'http|https|tcp',
            'SubnetIds' => ['<string>', ...],
        ],
        'CreationTime' => '<string>',
        'DeletionTime' => '<string>',
        'Description' => '<string>',
        'DeviceValidationDomain' => '<string>',
        'DomainCertificateArn' => '<string>',
        'EndpointDomain' => '<string>',
        'EndpointType' => 'load-balancer|network-interface|rds|cidr',
        'LastUpdatedTime' => '<string>',
        'LoadBalancerOptions' => [
            'LoadBalancerArn' => '<string>',
            'Port' => <integer>,
            'PortRanges' => [
                [
                    'FromPort' => <integer>,
                    'ToPort' => <integer>,
                ],
                // ...
            ],
            'Protocol' => 'http|https|tcp',
            'SubnetIds' => ['<string>', ...],
        ],
        'NetworkInterfaceOptions' => [
            'NetworkInterfaceId' => '<string>',
            'Port' => <integer>,
            'PortRanges' => [
                [
                    'FromPort' => <integer>,
                    'ToPort' => <integer>,
                ],
                // ...
            ],
            'Protocol' => 'http|https|tcp',
        ],
        'RdsOptions' => [
            'Port' => <integer>,
            'Protocol' => 'http|https|tcp',
            'RdsDbClusterArn' => '<string>',
            'RdsDbInstanceArn' => '<string>',
            'RdsDbProxyArn' => '<string>',
            'RdsEndpoint' => '<string>',
            'SubnetIds' => ['<string>', ...],
        ],
        '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([
    'CidrEndpointsCustomSubDomain' => '<string>',
    'ClientToken' => '<string>',
    'Description' => '<string>',
    'DryRun' => true || false,
    'VerifiedAccessInstanceId' => '<string>', // REQUIRED
]);

Parameter Details

Members
CidrEndpointsCustomSubDomain
Type: string

The custom subdomain.

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' => [
        'CidrEndpointsCustomSubDomain' => [
            'Nameservers' => ['<string>', ...],
            'SubDomain' => '<string>',
        ],
        '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,
    'NativeApplicationOidcOptions' => [
        'AuthorizationEndpoint' => '<string>',
        'ClientId' => '<string>',
        'ClientSecret' => '<string>',
        'Issuer' => '<string>',
        'PublicSigningKeyEndpoint' => '<string>',
        'Scope' => '<string>',
        'TokenEndpoint' => '<string>',
        'UserInfoEndpoint' => '<string>',
    ],
    '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.

NativeApplicationOidcOptions

The OpenID Connect (OIDC) options.

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>',
        'NativeApplicationOidcOptions' => [
            'AuthorizationEndpoint' => '<string>',
            'ClientId' => '<string>',
            'Issuer' => '<string>',
            'PublicSigningKeyEndpoint' => '<string>',
            'Scope' => '<string>',
            'TokenEndpoint' => '<string>',
            'UserInfoEndpoint' => '<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',
]);

ModifyVpcBlockPublicAccessExclusion

$result = $client->modifyVpcBlockPublicAccessExclusion([/* ... */]);
$promise = $client->modifyVpcBlockPublicAccessExclusionAsync([/* ... */]);

Modify VPC Block Public Access (BPA) exclusions. A VPC BPA exclusion is a mode that can be applied to a single VPC or subnet that exempts it from the account’s BPA mode and will allow bidirectional or egress-only access. You can create BPA exclusions for VPCs and subnets even when BPA is not enabled on the account to ensure that there is no traffic disruption to the exclusions when VPC BPA is turned on.

Parameter Syntax

$result = $client->modifyVpcBlockPublicAccessExclusion([
    'DryRun' => true || false,
    'ExclusionId' => '<string>', // REQUIRED
    'InternetGatewayExclusionMode' => 'allow-bidirectional|allow-egress', // 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.

ExclusionId
Required: Yes
Type: string

The ID of an exclusion.

InternetGatewayExclusionMode
Required: Yes
Type: string

The exclusion mode for internet gateway traffic.

  • allow-bidirectional: Allow all internet traffic to and from the excluded VPCs and subnets.

  • allow-egress: Allow outbound internet traffic from the excluded VPCs and subnets. Block inbound internet traffic to the excluded VPCs and subnets. Only applies when VPC Block Public Access is set to Bidirectional.

Result Syntax

[
    'VpcBlockPublicAccessExclusion' => [
        'CreationTimestamp' => <DateTime>,
        'DeletionTimestamp' => <DateTime>,
        'ExclusionId' => '<string>',
        'InternetGatewayExclusionMode' => 'allow-bidirectional|allow-egress',
        'LastUpdateTimestamp' => <DateTime>,
        'Reason' => '<string>',
        'ResourceArn' => '<string>',
        'State' => 'create-in-progress|create-complete|create-failed|update-in-progress|update-complete|update-failed|delete-in-progress|delete-complete|disable-in-progress|disable-complete',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
    ],
]

Result Details

Members
VpcBlockPublicAccessExclusion

Details related to the exclusion.

Errors

There are no errors described for this operation.

ModifyVpcBlockPublicAccessOptions

$result = $client->modifyVpcBlockPublicAccessOptions([/* ... */]);
$promise = $client->modifyVpcBlockPublicAccessOptionsAsync([/* ... */]);

Modify VPC Block Public Access (BPA) options. VPC Block Public Access (BPA) enables you to block resources in VPCs and subnets that you own in a Region from reaching or being reached from the internet through internet gateways and egress-only internet gateways. To learn more about VPC BPA, see Block public access to VPCs and subnets in the Amazon VPC User Guide.

Parameter Syntax

$result = $client->modifyVpcBlockPublicAccessOptions([
    'DryRun' => true || false,
    'InternetGatewayBlockMode' => 'off|block-bidirectional|block-ingress', // 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.

InternetGatewayBlockMode
Required: Yes
Type: string

The mode of VPC BPA.

  • off: VPC BPA is not enabled and traffic is allowed to and from internet gateways and egress-only internet gateways in this Region.

  • block-bidirectional: Block all traffic to and from internet gateways and egress-only internet gateways in this Region (except for excluded VPCs and subnets).

  • block-ingress: Block all internet traffic to the VPCs in this Region (except for VPCs or subnets which are excluded). Only traffic to and from NAT gateways and egress-only internet gateways is allowed because these gateways only allow outbound connections to be established.

Result Syntax

[
    'VpcBlockPublicAccessOptions' => [
        'AwsAccountId' => '<string>',
        'AwsRegion' => '<string>',
        'ExclusionsAllowed' => 'allowed|not-allowed',
        'InternetGatewayBlockMode' => 'off|block-bidirectional|block-ingress',
        'LastUpdateTimestamp' => <DateTime>,
        'ManagedBy' => 'account|declarative-policy',
        'Reason' => '<string>',
        'State' => 'default-state|update-in-progress|update-complete',
    ],
]

Result Details

Members
VpcBlockPublicAccessOptions
Type: VpcBlockPublicAccessOptions structure

Details related to the VPC Block Public Access (BPA) options.

Errors

There are no errors described for this operation.

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 the specified VPC endpoint service configuration.

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>', ...],
    'AddSupportedRegions' => ['<string>', ...],
    'DryRun' => true || false,
    'PrivateDnsName' => '<string>',
    'RemoveGatewayLoadBalancerArns' => ['<string>', ...],
    'RemoveNetworkLoadBalancerArns' => ['<string>', ...],
    'RemovePrivateDnsName' => true || false,
    'RemoveSupportedIpAddressTypes' => ['<string>', ...],
    'RemoveSupportedRegions' => ['<string>', ...],
    'ServiceId' => '<string>', // REQUIRED
]);

Parameter Details

Members
AcceptanceRequired
Type: boolean

Indicates whether requests to create an endpoint to the service must be accepted.

AddGatewayLoadBalancerArns
Type: Array of strings

The Amazon Resource Names (ARNs) of Gateway Load Balancers to add to the service configuration.

AddNetworkLoadBalancerArns
Type: Array of strings

The Amazon Resource Names (ARNs) of Network Load Balancers to add to the service configuration.

AddSupportedIpAddressTypes
Type: Array of strings

The IP address types to add to the service configuration.

AddSupportedRegions
Type: Array of strings

The supported Regions to add to the 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 the service configuration.

RemoveNetworkLoadBalancerArns
Type: Array of strings

The Amazon Resource Names (ARNs) of Network Load Balancers to remove from the 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 the service configuration.

RemoveSupportedRegions
Type: Array of strings

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

Result Details

Members
DestinationCapacityReservation
Type: CapacityReservation structure

Information about the destination Capacity Reservation.

InstanceCount
Type: int

The number of instances 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|declarative-policies-report|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|verified-access-endpoint-target|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|declarative-policies-report|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|verified-access-endpoint-target|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|future',
                'Count' => <integer>,
            ],
            // ...
        ],
        'CapacityReservationArn' => '<string>',
        'CapacityReservationFleetId' => '<string>',
        'CapacityReservationId' => '<string>',
        'CommitmentInfo' => [
            'CommitmentEndDate' => <DateTime>,
            'CommittedInstanceCount' => <integer>,
        ],
        'CreateDate' => <DateTime>,
        'DeliveryPreference' => 'fixed|incremental',
        'EbsOptimized' => true || false,
        'EndDate' => <DateTime>,
        'EndDateType' => 'unlimited|limited',
        'EphemeralStorage' => true || false,
        'InstanceMatchCriteria' => 'open|targeted',
        'InstancePlatform' => 'Linux/UNIX|Red Hat Enterprise Linux|SUSE Linux|Windows|Windows with SQL Server|Windows with SQL Server Enterprise|Windows with SQL Server Standard|Windows with SQL Server Web|Linux with SQL Server Standard|Linux with SQL Server Web|Linux with SQL Server Enterprise|RHEL with SQL Server Standard|RHEL with SQL Server Enterprise|RHEL with SQL Server Web|RHEL with HA|RHEL with HA and SQL Server Standard|RHEL with HA and SQL Server Enterprise|Ubuntu Pro',
        'InstanceType' => '<string>',
        'OutpostArn' => '<string>',
        'OwnerId' => '<string>',
        'PlacementGroupArn' => '<string>',
        'ReservationType' => 'default|capacity-block',
        'StartDate' => <DateTime>,
        'State' => 'active|expired|cancelled|pending|failed|scheduled|payment-pending|payment-failed|assessing|delayed|unsupported',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'Tenancy' => 'default|dedicated',
        'TotalInstanceCount' => <integer>,
        'UnusedReservationBillingOwnerId' => '<string>',
    ],
]

Result Details

Members
CapacityReservation
Type: CapacityReservation structure

The Capacity Reservation.

Errors

There are no errors described for this operation.

PurchaseCapacityBlockExtension

$result = $client->purchaseCapacityBlockExtension([/* ... */]);
$promise = $client->purchaseCapacityBlockExtensionAsync([/* ... */]);

Purchase the Capacity Block extension for use with your account. You must specify the ID of the Capacity Block extension offering you are purchasing.

Parameter Syntax

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

Parameter Details

Members
CapacityBlockExtensionOfferingId
Required: Yes
Type: string

The ID of the Capacity Block extension offering to purchase.

CapacityReservationId
Required: Yes
Type: string

The ID of the Capacity reservation to be extended.

DryRun
Type: boolean

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

[
    'CapacityBlockExtensions' => [
        [
            'AvailabilityZone' => '<string>',
            'AvailabilityZoneId' => '<string>',
            'CapacityBlockExtensionDurationHours' => <integer>,
            'CapacityBlockExtensionEndDate' => <DateTime>,
            'CapacityBlockExtensionOfferingId' => '<string>',
            'CapacityBlockExtensionPurchaseDate' => <DateTime>,
            'CapacityBlockExtensionStartDate' => <DateTime>,
            'CapacityBlockExtensionStatus' => 'payment-pending|payment-failed|payment-succeeded',
            'CapacityReservationId' => '<string>',
            'CurrencyCode' => '<string>',
            'InstanceCount' => <integer>,
            'InstanceType' => '<string>',
            'UpfrontFee' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
CapacityBlockExtensions
Type: Array of CapacityBlockExtension structures

The purchased Capacity Block extensions.

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|declarative-policies-report|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|verified-access-endpoint-target|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|declarative-policies-report|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|verified-access-endpoint-target|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.

ReplaceImageCriteriaInAllowedImagesSettings

$result = $client->replaceImageCriteriaInAllowedImagesSettings([/* ... */]);
$promise = $client->replaceImageCriteriaInAllowedImagesSettingsAsync([/* ... */]);

Sets or replaces the criteria for Allowed AMIs.

The Allowed AMIs feature does not restrict the AMIs owned by your account. Regardless of the criteria you set, the AMIs created by your account will always be discoverable and usable by users in your account.

For more information, see Control the discovery and use of AMIs in Amazon EC2 with Allowed AMIs in Amazon EC2 User Guide.

Parameter Syntax

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

ImageCriteria
Type: Array of ImageCriterionRequest structures

The list of criteria that are evaluated to determine whether AMIs are discoverable and usable in the account in the specified Amazon Web Services Region.

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.

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>,
                    ],
                    'BaselinePerformanceFactors' => [
                        'Cpu' => [
                            'References' => [
                                [
                                    'InstanceFamily' => '<string>',
                                ],
                                // ...
                            ],
                        ],
                    ],
                    'BurstablePerformance' => 'included|required|excluded',
                    'CpuManufacturers' => ['<string>', ...],
                    'ExcludedInstanceTypes' => ['<string>', ...],
                    'InstanceGenerations' => ['<string>', ...],
                    'LocalStorage' => 'included|required|excluded',
                    'LocalStorageTypes' => ['<string>', ...],
                    'MaxSpotPriceAsPercentageOfOptimalOnDemandPrice' => <integer>,
                    'MemoryGiBPerVCpu' => [
                        'Max' => <float>,
                        'Min' => <float>,
                    ],
                    'MemoryMiB' => [
                        'Max' => <integer>,
                        'Min' => <integer>,
                    ],
                    'NetworkBandwidthGbps' => [
                        'Max' => <float>,
                        'Min' => <float>,
                    ],
                    'NetworkInterfaceCount' => [
                        'Max' => <integer>,
                        'Min' => <integer>,
                    ],
                    'OnDemandMaxPricePercentageOverLowestPrice' => <integer>,
                    'RequireHibernateSupport' => true || false,
                    'SpotMaxPricePercentageOverLowestPrice' => <integer>,
                    'TotalLocalStorageGB' => [
                        'Max' => <float>,
                        'Min' => <float>,
                    ],
                    'VCpuCount' => [
                        'Max' => <integer>,
                        'Min' => <integer>,
                    ],
                ],
                'InstanceType' => 'a1.medium|a1.large|a1.xlarge|a1.2xlarge|a1.4xlarge|a1.metal|c1.medium|c1.xlarge|c3.large|c3.xlarge|c3.2xlarge|c3.4xlarge|c3.8xlarge|c4.large|c4.xlarge|c4.2xlarge|c4.4xlarge|c4.8xlarge|c5.large|c5.xlarge|c5.2xlarge|c5.4xlarge|c5.9xlarge|c5.12xlarge|c5.18xlarge|c5.24xlarge|c5.metal|c5a.large|c5a.xlarge|c5a.2xlarge|c5a.4xlarge|c5a.8xlarge|c5a.12xlarge|c5a.16xlarge|c5a.24xlarge|c5ad.large|c5ad.xlarge|c5ad.2xlarge|c5ad.4xlarge|c5ad.8xlarge|c5ad.12xlarge|c5ad.16xlarge|c5ad.24xlarge|c5d.large|c5d.xlarge|c5d.2xlarge|c5d.4xlarge|c5d.9xlarge|c5d.12xlarge|c5d.18xlarge|c5d.24xlarge|c5d.metal|c5n.large|c5n.xlarge|c5n.2xlarge|c5n.4xlarge|c5n.9xlarge|c5n.18xlarge|c5n.metal|c6g.medium|c6g.large|c6g.xlarge|c6g.2xlarge|c6g.4xlarge|c6g.8xlarge|c6g.12xlarge|c6g.16xlarge|c6g.metal|c6gd.medium|c6gd.large|c6gd.xlarge|c6gd.2xlarge|c6gd.4xlarge|c6gd.8xlarge|c6gd.12xlarge|c6gd.16xlarge|c6gd.metal|c6gn.medium|c6gn.large|c6gn.xlarge|c6gn.2xlarge|c6gn.4xlarge|c6gn.8xlarge|c6gn.12xlarge|c6gn.16xlarge|c6i.large|c6i.xlarge|c6i.2xlarge|c6i.4xlarge|c6i.8xlarge|c6i.12xlarge|c6i.16xlarge|c6i.24xlarge|c6i.32xlarge|c6i.metal|cc1.4xlarge|cc2.8xlarge|cg1.4xlarge|cr1.8xlarge|d2.xlarge|d2.2xlarge|d2.4xlarge|d2.8xlarge|d3.xlarge|d3.2xlarge|d3.4xlarge|d3.8xlarge|d3en.xlarge|d3en.2xlarge|d3en.4xlarge|d3en.6xlarge|d3en.8xlarge|d3en.12xlarge|dl1.24xlarge|f1.2xlarge|f1.4xlarge|f1.16xlarge|g2.2xlarge|g2.8xlarge|g3.4xlarge|g3.8xlarge|g3.16xlarge|g3s.xlarge|g4ad.xlarge|g4ad.2xlarge|g4ad.4xlarge|g4ad.8xlarge|g4ad.16xlarge|g4dn.xlarge|g4dn.2xlarge|g4dn.4xlarge|g4dn.8xlarge|g4dn.12xlarge|g4dn.16xlarge|g4dn.metal|g5.xlarge|g5.2xlarge|g5.4xlarge|g5.8xlarge|g5.12xlarge|g5.16xlarge|g5.24xlarge|g5.48xlarge|g5g.xlarge|g5g.2xlarge|g5g.4xlarge|g5g.8xlarge|g5g.16xlarge|g5g.metal|hi1.4xlarge|hpc6a.48xlarge|hs1.8xlarge|h1.2xlarge|h1.4xlarge|h1.8xlarge|h1.16xlarge|i2.xlarge|i2.2xlarge|i2.4xlarge|i2.8xlarge|i3.large|i3.xlarge|i3.2xlarge|i3.4xlarge|i3.8xlarge|i3.16xlarge|i3.metal|i3en.large|i3en.xlarge|i3en.2xlarge|i3en.3xlarge|i3en.6xlarge|i3en.12xlarge|i3en.24xlarge|i3en.metal|im4gn.large|im4gn.xlarge|im4gn.2xlarge|im4gn.4xlarge|im4gn.8xlarge|im4gn.16xlarge|inf1.xlarge|inf1.2xlarge|inf1.6xlarge|inf1.24xlarge|is4gen.medium|is4gen.large|is4gen.xlarge|is4gen.2xlarge|is4gen.4xlarge|is4gen.8xlarge|m1.small|m1.medium|m1.large|m1.xlarge|m2.xlarge|m2.2xlarge|m2.4xlarge|m3.medium|m3.large|m3.xlarge|m3.2xlarge|m4.large|m4.xlarge|m4.2xlarge|m4.4xlarge|m4.10xlarge|m4.16xlarge|m5.large|m5.xlarge|m5.2xlarge|m5.4xlarge|m5.8xlarge|m5.12xlarge|m5.16xlarge|m5.24xlarge|m5.metal|m5a.large|m5a.xlarge|m5a.2xlarge|m5a.4xlarge|m5a.8xlarge|m5a.12xlarge|m5a.16xlarge|m5a.24xlarge|m5ad.large|m5ad.xlarge|m5ad.2xlarge|m5ad.4xlarge|m5ad.8xlarge|m5ad.12xlarge|m5ad.16xlarge|m5ad.24xlarge|m5d.large|m5d.xlarge|m5d.2xlarge|m5d.4xlarge|m5d.8xlarge|m5d.12xlarge|m5d.16xlarge|m5d.24xlarge|m5d.metal|m5dn.large|m5dn.xlarge|m5dn.2xlarge|m5dn.4xlarge|m5dn.8xlarge|m5dn.12xlarge|m5dn.16xlarge|m5dn.24xlarge|m5dn.metal|m5n.large|m5n.xlarge|m5n.2xlarge|m5n.4xlarge|m5n.8xlarge|m5n.12xlarge|m5n.16xlarge|m5n.24xlarge|m5n.metal|m5zn.large|m5zn.xlarge|m5zn.2xlarge|m5zn.3xlarge|m5zn.6xlarge|m5zn.12xlarge|m5zn.metal|m6a.large|m6a.xlarge|m6a.2xlarge|m6a.4xlarge|m6a.8xlarge|m6a.12xlarge|m6a.16xlarge|m6a.24xlarge|m6a.32xlarge|m6a.48xlarge|m6g.metal|m6g.medium|m6g.large|m6g.xlarge|m6g.2xlarge|m6g.4xlarge|m6g.8xlarge|m6g.12xlarge|m6g.16xlarge|m6gd.metal|m6gd.medium|m6gd.large|m6gd.xlarge|m6gd.2xlarge|m6gd.4xlarge|m6gd.8xlarge|m6gd.12xlarge|m6gd.16xlarge|m6i.large|m6i.xlarge|m6i.2xlarge|m6i.4xlarge|m6i.8xlarge|m6i.12xlarge|m6i.16xlarge|m6i.24xlarge|m6i.32xlarge|m6i.metal|mac1.metal|p2.xlarge|p2.8xlarge|p2.16xlarge|p3.2xlarge|p3.8xlarge|p3.16xlarge|p3dn.24xlarge|p4d.24xlarge|r3.large|r3.xlarge|r3.2xlarge|r3.4xlarge|r3.8xlarge|r4.large|r4.xlarge|r4.2xlarge|r4.4xlarge|r4.8xlarge|r4.16xlarge|r5.large|r5.xlarge|r5.2xlarge|r5.4xlarge|r5.8xlarge|r5.12xlarge|r5.16xlarge|r5.24xlarge|r5.metal|r5a.large|r5a.xlarge|r5a.2xlarge|r5a.4xlarge|r5a.8xlarge|r5a.12xlarge|r5a.16xlarge|r5a.24xlarge|r5ad.large|r5ad.xlarge|r5ad.2xlarge|r5ad.4xlarge|r5ad.8xlarge|r5ad.12xlarge|r5ad.16xlarge|r5ad.24xlarge|r5b.large|r5b.xlarge|r5b.2xlarge|r5b.4xlarge|r5b.8xlarge|r5b.12xlarge|r5b.16xlarge|r5b.24xlarge|r5b.metal|r5d.large|r5d.xlarge|r5d.2xlarge|r5d.4xlarge|r5d.8xlarge|r5d.12xlarge|r5d.16xlarge|r5d.24xlarge|r5d.metal|r5dn.large|r5dn.xlarge|r5dn.2xlarge|r5dn.4xlarge|r5dn.8xlarge|r5dn.12xlarge|r5dn.16xlarge|r5dn.24xlarge|r5dn.metal|r5n.large|r5n.xlarge|r5n.2xlarge|r5n.4xlarge|r5n.8xlarge|r5n.12xlarge|r5n.16xlarge|r5n.24xlarge|r5n.metal|r6g.medium|r6g.large|r6g.xlarge|r6g.2xlarge|r6g.4xlarge|r6g.8xlarge|r6g.12xlarge|r6g.16xlarge|r6g.metal|r6gd.medium|r6gd.large|r6gd.xlarge|r6gd.2xlarge|r6gd.4xlarge|r6gd.8xlarge|r6gd.12xlarge|r6gd.16xlarge|r6gd.metal|r6i.large|r6i.xlarge|r6i.2xlarge|r6i.4xlarge|r6i.8xlarge|r6i.12xlarge|r6i.16xlarge|r6i.24xlarge|r6i.32xlarge|r6i.metal|t1.micro|t2.nano|t2.micro|t2.small|t2.medium|t2.large|t2.xlarge|t2.2xlarge|t3.nano|t3.micro|t3.small|t3.medium|t3.large|t3.xlarge|t3.2xlarge|t3a.nano|t3a.micro|t3a.small|t3a.medium|t3a.large|t3a.xlarge|t3a.2xlarge|t4g.nano|t4g.micro|t4g.small|t4g.medium|t4g.large|t4g.xlarge|t4g.2xlarge|u-6tb1.56xlarge|u-6tb1.112xlarge|u-9tb1.112xlarge|u-12tb1.112xlarge|u-6tb1.metal|u-9tb1.metal|u-12tb1.metal|u-18tb1.metal|u-24tb1.metal|vt1.3xlarge|vt1.6xlarge|vt1.24xlarge|x1.16xlarge|x1.32xlarge|x1e.xlarge|x1e.2xlarge|x1e.4xlarge|x1e.8xlarge|x1e.16xlarge|x1e.32xlarge|x2iezn.2xlarge|x2iezn.4xlarge|x2iezn.6xlarge|x2iezn.8xlarge|x2iezn.12xlarge|x2iezn.metal|x2gd.medium|x2gd.large|x2gd.xlarge|x2gd.2xlarge|x2gd.4xlarge|x2gd.8xlarge|x2gd.12xlarge|x2gd.16xlarge|x2gd.metal|z1d.large|z1d.xlarge|z1d.2xlarge|z1d.3xlarge|z1d.6xlarge|z1d.12xlarge|z1d.metal|x2idn.16xlarge|x2idn.24xlarge|x2idn.32xlarge|x2iedn.xlarge|x2iedn.2xlarge|x2iedn.4xlarge|x2iedn.8xlarge|x2iedn.16xlarge|x2iedn.24xlarge|x2iedn.32xlarge|c6a.large|c6a.xlarge|c6a.2xlarge|c6a.4xlarge|c6a.8xlarge|c6a.12xlarge|c6a.16xlarge|c6a.24xlarge|c6a.32xlarge|c6a.48xlarge|c6a.metal|m6a.metal|i4i.large|i4i.xlarge|i4i.2xlarge|i4i.4xlarge|i4i.8xlarge|i4i.16xlarge|i4i.32xlarge|i4i.metal|x2idn.metal|x2iedn.metal|c7g.medium|c7g.large|c7g.xlarge|c7g.2xlarge|c7g.4xlarge|c7g.8xlarge|c7g.12xlarge|c7g.16xlarge|mac2.metal|c6id.large|c6id.xlarge|c6id.2xlarge|c6id.4xlarge|c6id.8xlarge|c6id.12xlarge|c6id.16xlarge|c6id.24xlarge|c6id.32xlarge|c6id.metal|m6id.large|m6id.xlarge|m6id.2xlarge|m6id.4xlarge|m6id.8xlarge|m6id.12xlarge|m6id.16xlarge|m6id.24xlarge|m6id.32xlarge|m6id.metal|r6id.large|r6id.xlarge|r6id.2xlarge|r6id.4xlarge|r6id.8xlarge|r6id.12xlarge|r6id.16xlarge|r6id.24xlarge|r6id.32xlarge|r6id.metal|r6a.large|r6a.xlarge|r6a.2xlarge|r6a.4xlarge|r6a.8xlarge|r6a.12xlarge|r6a.16xlarge|r6a.24xlarge|r6a.32xlarge|r6a.48xlarge|r6a.metal|p4de.24xlarge|u-3tb1.56xlarge|u-18tb1.112xlarge|u-24tb1.112xlarge|trn1.2xlarge|trn1.32xlarge|hpc6id.32xlarge|c6in.large|c6in.xlarge|c6in.2xlarge|c6in.4xlarge|c6in.8xlarge|c6in.12xlarge|c6in.16xlarge|c6in.24xlarge|c6in.32xlarge|m6in.large|m6in.xlarge|m6in.2xlarge|m6in.4xlarge|m6in.8xlarge|m6in.12xlarge|m6in.16xlarge|m6in.24xlarge|m6in.32xlarge|m6idn.large|m6idn.xlarge|m6idn.2xlarge|m6idn.4xlarge|m6idn.8xlarge|m6idn.12xlarge|m6idn.16xlarge|m6idn.24xlarge|m6idn.32xlarge|r6in.large|r6in.xlarge|r6in.2xlarge|r6in.4xlarge|r6in.8xlarge|r6in.12xlarge|r6in.16xlarge|r6in.24xlarge|r6in.32xlarge|r6idn.large|r6idn.xlarge|r6idn.2xlarge|r6idn.4xlarge|r6idn.8xlarge|r6idn.12xlarge|r6idn.16xlarge|r6idn.24xlarge|r6idn.32xlarge|c7g.metal|m7g.medium|m7g.large|m7g.xlarge|m7g.2xlarge|m7g.4xlarge|m7g.8xlarge|m7g.12xlarge|m7g.16xlarge|m7g.metal|r7g.medium|r7g.large|r7g.xlarge|r7g.2xlarge|r7g.4xlarge|r7g.8xlarge|r7g.12xlarge|r7g.16xlarge|r7g.metal|c6in.metal|m6in.metal|m6idn.metal|r6in.metal|r6idn.metal|inf2.xlarge|inf2.8xlarge|inf2.24xlarge|inf2.48xlarge|trn1n.32xlarge|i4g.large|i4g.xlarge|i4g.2xlarge|i4g.4xlarge|i4g.8xlarge|i4g.16xlarge|hpc7g.4xlarge|hpc7g.8xlarge|hpc7g.16xlarge|c7gn.medium|c7gn.large|c7gn.xlarge|c7gn.2xlarge|c7gn.4xlarge|c7gn.8xlarge|c7gn.12xlarge|c7gn.16xlarge|p5.48xlarge|m7i.large|m7i.xlarge|m7i.2xlarge|m7i.4xlarge|m7i.8xlarge|m7i.12xlarge|m7i.16xlarge|m7i.24xlarge|m7i.48xlarge|m7i-flex.large|m7i-flex.xlarge|m7i-flex.2xlarge|m7i-flex.4xlarge|m7i-flex.8xlarge|m7a.medium|m7a.large|m7a.xlarge|m7a.2xlarge|m7a.4xlarge|m7a.8xlarge|m7a.12xlarge|m7a.16xlarge|m7a.24xlarge|m7a.32xlarge|m7a.48xlarge|m7a.metal-48xl|hpc7a.12xlarge|hpc7a.24xlarge|hpc7a.48xlarge|hpc7a.96xlarge|c7gd.medium|c7gd.large|c7gd.xlarge|c7gd.2xlarge|c7gd.4xlarge|c7gd.8xlarge|c7gd.12xlarge|c7gd.16xlarge|m7gd.medium|m7gd.large|m7gd.xlarge|m7gd.2xlarge|m7gd.4xlarge|m7gd.8xlarge|m7gd.12xlarge|m7gd.16xlarge|r7gd.medium|r7gd.large|r7gd.xlarge|r7gd.2xlarge|r7gd.4xlarge|r7gd.8xlarge|r7gd.12xlarge|r7gd.16xlarge|r7a.medium|r7a.large|r7a.xlarge|r7a.2xlarge|r7a.4xlarge|r7a.8xlarge|r7a.12xlarge|r7a.16xlarge|r7a.24xlarge|r7a.32xlarge|r7a.48xlarge|c7i.large|c7i.xlarge|c7i.2xlarge|c7i.4xlarge|c7i.8xlarge|c7i.12xlarge|c7i.16xlarge|c7i.24xlarge|c7i.48xlarge|mac2-m2pro.metal|r7iz.large|r7iz.xlarge|r7iz.2xlarge|r7iz.4xlarge|r7iz.8xlarge|r7iz.12xlarge|r7iz.16xlarge|r7iz.32xlarge|c7a.medium|c7a.large|c7a.xlarge|c7a.2xlarge|c7a.4xlarge|c7a.8xlarge|c7a.12xlarge|c7a.16xlarge|c7a.24xlarge|c7a.32xlarge|c7a.48xlarge|c7a.metal-48xl|r7a.metal-48xl|r7i.large|r7i.xlarge|r7i.2xlarge|r7i.4xlarge|r7i.8xlarge|r7i.12xlarge|r7i.16xlarge|r7i.24xlarge|r7i.48xlarge|dl2q.24xlarge|mac2-m2.metal|i4i.12xlarge|i4i.24xlarge|c7i.metal-24xl|c7i.metal-48xl|m7i.metal-24xl|m7i.metal-48xl|r7i.metal-24xl|r7i.metal-48xl|r7iz.metal-16xl|r7iz.metal-32xl|c7gd.metal|m7gd.metal|r7gd.metal|g6.xlarge|g6.2xlarge|g6.4xlarge|g6.8xlarge|g6.12xlarge|g6.16xlarge|g6.24xlarge|g6.48xlarge|gr6.4xlarge|gr6.8xlarge|c7i-flex.large|c7i-flex.xlarge|c7i-flex.2xlarge|c7i-flex.4xlarge|c7i-flex.8xlarge|u7i-12tb.224xlarge|u7in-16tb.224xlarge|u7in-24tb.224xlarge|u7in-32tb.224xlarge|u7ib-12tb.224xlarge|c7gn.metal|r8g.medium|r8g.large|r8g.xlarge|r8g.2xlarge|r8g.4xlarge|r8g.8xlarge|r8g.12xlarge|r8g.16xlarge|r8g.24xlarge|r8g.48xlarge|r8g.metal-24xl|r8g.metal-48xl|mac2-m1ultra.metal|g6e.xlarge|g6e.2xlarge|g6e.4xlarge|g6e.8xlarge|g6e.12xlarge|g6e.16xlarge|g6e.24xlarge|g6e.48xlarge|c8g.medium|c8g.large|c8g.xlarge|c8g.2xlarge|c8g.4xlarge|c8g.8xlarge|c8g.12xlarge|c8g.16xlarge|c8g.24xlarge|c8g.48xlarge|c8g.metal-24xl|c8g.metal-48xl|m8g.medium|m8g.large|m8g.xlarge|m8g.2xlarge|m8g.4xlarge|m8g.8xlarge|m8g.12xlarge|m8g.16xlarge|m8g.24xlarge|m8g.48xlarge|m8g.metal-24xl|m8g.metal-48xl|x8g.medium|x8g.large|x8g.xlarge|x8g.2xlarge|x8g.4xlarge|x8g.8xlarge|x8g.12xlarge|x8g.16xlarge|x8g.24xlarge|x8g.48xlarge|x8g.metal-24xl|x8g.metal-48xl|i7ie.large|i7ie.xlarge|i7ie.2xlarge|i7ie.3xlarge|i7ie.6xlarge|i7ie.12xlarge|i7ie.18xlarge|i7ie.24xlarge|i7ie.48xlarge|i8g.large|i8g.xlarge|i8g.2xlarge|i8g.4xlarge|i8g.8xlarge|i8g.12xlarge|i8g.16xlarge|i8g.24xlarge|i8g.metal-24xl|u7i-6tb.112xlarge|u7i-8tb.112xlarge|u7inh-32tb.480xlarge|p5e.48xlarge|p5en.48xlarge|f2.12xlarge|f2.48xlarge|trn2.48xlarge',
                '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|declarative-policies-report|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|verified-access-endpoint-target|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>,
                            ],
                            'BaselinePerformanceFactors' => [
                                'Cpu' => [
                                    'References' => [
                                        [
                                            'InstanceFamily' => '<string>',
                                        ],
                                        // ...
                                    ],
                                ],
                            ],
                            'BurstablePerformance' => 'included|required|excluded',
                            'CpuManufacturers' => ['<string>', ...],
                            'ExcludedInstanceTypes' => ['<string>', ...],
                            'InstanceGenerations' => ['<string>', ...],
                            'LocalStorage' => 'included|required|excluded',
                            'LocalStorageTypes' => ['<string>', ...],
                            'MaxSpotPriceAsPercentageOfOptimalOnDemandPrice' => <integer>,
                            'MemoryGiBPerVCpu' => [
                                'Max' => <float>,
                                'Min' => <float>,
                            ],
                            'MemoryMiB' => [
                                'Max' => <integer>,
                                'Min' => <integer>,
                            ],
                            'NetworkBandwidthGbps' => [
                                'Max' => <float>,
                                'Min' => <float>,
                            ],
                            'NetworkInterfaceCount' => [
                                'Max' => <integer>,
                                'Min' => <integer>,
                            ],
                            'OnDemandMaxPricePercentageOverLowestPrice' => <integer>,
                            'RequireHibernateSupport' => true || false,
                            'SpotMaxPricePercentageOverLowestPrice' => <integer>,
                            'TotalLocalStorageGB' => [
                                'Max' => <float>,
                                'Min' => <float>,
                            ],
                            'VCpuCount' => [
                                'Max' => <integer>,
                                'Min' => <integer>,
                            ],
                        ],
                        'InstanceType' => 'a1.medium|a1.large|a1.xlarge|a1.2xlarge|a1.4xlarge|a1.metal|c1.medium|c1.xlarge|c3.large|c3.xlarge|c3.2xlarge|c3.4xlarge|c3.8xlarge|c4.large|c4.xlarge|c4.2xlarge|c4.4xlarge|c4.8xlarge|c5.large|c5.xlarge|c5.2xlarge|c5.4xlarge|c5.9xlarge|c5.12xlarge|c5.18xlarge|c5.24xlarge|c5.metal|c5a.large|c5a.xlarge|c5a.2xlarge|c5a.4xlarge|c5a.8xlarge|c5a.12xlarge|c5a.16xlarge|c5a.24xlarge|c5ad.large|c5ad.xlarge|c5ad.2xlarge|c5ad.4xlarge|c5ad.8xlarge|c5ad.12xlarge|c5ad.16xlarge|c5ad.24xlarge|c5d.large|c5d.xlarge|c5d.2xlarge|c5d.4xlarge|c5d.9xlarge|c5d.12xlarge|c5d.18xlarge|c5d.24xlarge|c5d.metal|c5n.large|c5n.xlarge|c5n.2xlarge|c5n.4xlarge|c5n.9xlarge|c5n.18xlarge|c5n.metal|c6g.medium|c6g.large|c6g.xlarge|c6g.2xlarge|c6g.4xlarge|c6g.8xlarge|c6g.12xlarge|c6g.16xlarge|c6g.metal|c6gd.medium|c6gd.large|c6gd.xlarge|c6gd.2xlarge|c6gd.4xlarge|c6gd.8xlarge|c6gd.12xlarge|c6gd.16xlarge|c6gd.metal|c6gn.medium|c6gn.large|c6gn.xlarge|c6gn.2xlarge|c6gn.4xlarge|c6gn.8xlarge|c6gn.12xlarge|c6gn.16xlarge|c6i.large|c6i.xlarge|c6i.2xlarge|c6i.4xlarge|c6i.8xlarge|c6i.12xlarge|c6i.16xlarge|c6i.24xlarge|c6i.32xlarge|c6i.metal|cc1.4xlarge|cc2.8xlarge|cg1.4xlarge|cr1.8xlarge|d2.xlarge|d2.2xlarge|d2.4xlarge|d2.8xlarge|d3.xlarge|d3.2xlarge|d3.4xlarge|d3.8xlarge|d3en.xlarge|d3en.2xlarge|d3en.4xlarge|d3en.6xlarge|d3en.8xlarge|d3en.12xlarge|dl1.24xlarge|f1.2xlarge|f1.4xlarge|f1.16xlarge|g2.2xlarge|g2.8xlarge|g3.4xlarge|g3.8xlarge|g3.16xlarge|g3s.xlarge|g4ad.xlarge|g4ad.2xlarge|g4ad.4xlarge|g4ad.8xlarge|g4ad.16xlarge|g4dn.xlarge|g4dn.2xlarge|g4dn.4xlarge|g4dn.8xlarge|g4dn.12xlarge|g4dn.16xlarge|g4dn.metal|g5.xlarge|g5.2xlarge|g5.4xlarge|g5.8xlarge|g5.12xlarge|g5.16xlarge|g5.24xlarge|g5.48xlarge|g5g.xlarge|g5g.2xlarge|g5g.4xlarge|g5g.8xlarge|g5g.16xlarge|g5g.metal|hi1.4xlarge|hpc6a.48xlarge|hs1.8xlarge|h1.2xlarge|h1.4xlarge|h1.8xlarge|h1.16xlarge|i2.xlarge|i2.2xlarge|i2.4xlarge|i2.8xlarge|i3.large|i3.xlarge|i3.2xlarge|i3.4xlarge|i3.8xlarge|i3.16xlarge|i3.metal|i3en.large|i3en.xlarge|i3en.2xlarge|i3en.3xlarge|i3en.6xlarge|i3en.12xlarge|i3en.24xlarge|i3en.metal|im4gn.large|im4gn.xlarge|im4gn.2xlarge|im4gn.4xlarge|im4gn.8xlarge|im4gn.16xlarge|inf1.xlarge|inf1.2xlarge|inf1.6xlarge|inf1.24xlarge|is4gen.medium|is4gen.large|is4gen.xlarge|is4gen.2xlarge|is4gen.4xlarge|is4gen.8xlarge|m1.small|m1.medium|m1.large|m1.xlarge|m2.xlarge|m2.2xlarge|m2.4xlarge|m3.medium|m3.large|m3.xlarge|m3.2xlarge|m4.large|m4.xlarge|m4.2xlarge|m4.4xlarge|m4.10xlarge|m4.16xlarge|m5.large|m5.xlarge|m5.2xlarge|m5.4xlarge|m5.8xlarge|m5.12xlarge|m5.16xlarge|m5.24xlarge|m5.metal|m5a.large|m5a.xlarge|m5a.2xlarge|m5a.4xlarge|m5a.8xlarge|m5a.12xlarge|m5a.16xlarge|m5a.24xlarge|m5ad.large|m5ad.xlarge|m5ad.2xlarge|m5ad.4xlarge|m5ad.8xlarge|m5ad.12xlarge|m5ad.16xlarge|m5ad.24xlarge|m5d.large|m5d.xlarge|m5d.2xlarge|m5d.4xlarge|m5d.8xlarge|m5d.12xlarge|m5d.16xlarge|m5d.24xlarge|m5d.metal|m5dn.large|m5dn.xlarge|m5dn.2xlarge|m5dn.4xlarge|m5dn.8xlarge|m5dn.12xlarge|m5dn.16xlarge|m5dn.24xlarge|m5dn.metal|m5n.large|m5n.xlarge|m5n.2xlarge|m5n.4xlarge|m5n.8xlarge|m5n.12xlarge|m5n.16xlarge|m5n.24xlarge|m5n.metal|m5zn.large|m5zn.xlarge|m5zn.2xlarge|m5zn.3xlarge|m5zn.6xlarge|m5zn.12xlarge|m5zn.metal|m6a.large|m6a.xlarge|m6a.2xlarge|m6a.4xlarge|m6a.8xlarge|m6a.12xlarge|m6a.16xlarge|m6a.24xlarge|m6a.32xlarge|m6a.48xlarge|m6g.metal|m6g.medium|m6g.large|m6g.xlarge|m6g.2xlarge|m6g.4xlarge|m6g.8xlarge|m6g.12xlarge|m6g.16xlarge|m6gd.metal|m6gd.medium|m6gd.large|m6gd.xlarge|m6gd.2xlarge|m6gd.4xlarge|m6gd.8xlarge|m6gd.12xlarge|m6gd.16xlarge|m6i.large|m6i.xlarge|m6i.2xlarge|m6i.4xlarge|m6i.8xlarge|m6i.12xlarge|m6i.16xlarge|m6i.24xlarge|m6i.32xlarge|m6i.metal|mac1.metal|p2.xlarge|p2.8xlarge|p2.16xlarge|p3.2xlarge|p3.8xlarge|p3.16xlarge|p3dn.24xlarge|p4d.24xlarge|r3.large|r3.xlarge|r3.2xlarge|r3.4xlarge|r3.8xlarge|r4.large|r4.xlarge|r4.2xlarge|r4.4xlarge|r4.8xlarge|r4.16xlarge|r5.large|r5.xlarge|r5.2xlarge|r5.4xlarge|r5.8xlarge|r5.12xlarge|r5.16xlarge|r5.24xlarge|r5.metal|r5a.large|r5a.xlarge|r5a.2xlarge|r5a.4xlarge|r5a.8xlarge|r5a.12xlarge|r5a.16xlarge|r5a.24xlarge|r5ad.large|r5ad.xlarge|r5ad.2xlarge|r5ad.4xlarge|r5ad.8xlarge|r5ad.12xlarge|r5ad.16xlarge|r5ad.24xlarge|r5b.large|r5b.xlarge|r5b.2xlarge|r5b.4xlarge|r5b.8xlarge|r5b.12xlarge|r5b.16xlarge|r5b.24xlarge|r5b.metal|r5d.large|r5d.xlarge|r5d.2xlarge|r5d.4xlarge|r5d.8xlarge|r5d.12xlarge|r5d.16xlarge|r5d.24xlarge|r5d.metal|r5dn.large|r5dn.xlarge|r5dn.2xlarge|r5dn.4xlarge|r5dn.8xlarge|r5dn.12xlarge|r5dn.16xlarge|r5dn.24xlarge|r5dn.metal|r5n.large|r5n.xlarge|r5n.2xlarge|r5n.4xlarge|r5n.8xlarge|r5n.12xlarge|r5n.16xlarge|r5n.24xlarge|r5n.metal|r6g.medium|r6g.large|r6g.xlarge|r6g.2xlarge|r6g.4xlarge|r6g.8xlarge|r6g.12xlarge|r6g.16xlarge|r6g.metal|r6gd.medium|r6gd.large|r6gd.xlarge|r6gd.2xlarge|r6gd.4xlarge|r6gd.8xlarge|r6gd.12xlarge|r6gd.16xlarge|r6gd.metal|r6i.large|r6i.xlarge|r6i.2xlarge|r6i.4xlarge|r6i.8xlarge|r6i.12xlarge|r6i.16xlarge|r6i.24xlarge|r6i.32xlarge|r6i.metal|t1.micro|t2.nano|t2.micro|t2.small|t2.medium|t2.large|t2.xlarge|t2.2xlarge|t3.nano|t3.micro|t3.small|t3.medium|t3.large|t3.xlarge|t3.2xlarge|t3a.nano|t3a.micro|t3a.small|t3a.medium|t3a.large|t3a.xlarge|t3a.2xlarge|t4g.nano|t4g.micro|t4g.small|t4g.medium|t4g.large|t4g.xlarge|t4g.2xlarge|u-6tb1.56xlarge|u-6tb1.112xlarge|u-9tb1.112xlarge|u-12tb1.112xlarge|u-6tb1.metal|u-9tb1.metal|u-12tb1.metal|u-18tb1.metal|u-24tb1.metal|vt1.3xlarge|vt1.6xlarge|vt1.24xlarge|x1.16xlarge|x1.32xlarge|x1e.xlarge|x1e.2xlarge|x1e.4xlarge|x1e.8xlarge|x1e.16xlarge|x1e.32xlarge|x2iezn.2xlarge|x2iezn.4xlarge|x2iezn.6xlarge|x2iezn.8xlarge|x2iezn.12xlarge|x2iezn.metal|x2gd.medium|x2gd.large|x2gd.xlarge|x2gd.2xlarge|x2gd.4xlarge|x2gd.8xlarge|x2gd.12xlarge|x2gd.16xlarge|x2gd.metal|z1d.large|z1d.xlarge|z1d.2xlarge|z1d.3xlarge|z1d.6xlarge|z1d.12xlarge|z1d.metal|x2idn.16xlarge|x2idn.24xlarge|x2idn.32xlarge|x2iedn.xlarge|x2iedn.2xlarge|x2iedn.4xlarge|x2iedn.8xlarge|x2iedn.16xlarge|x2iedn.24xlarge|x2iedn.32xlarge|c6a.large|c6a.xlarge|c6a.2xlarge|c6a.4xlarge|c6a.8xlarge|c6a.12xlarge|c6a.16xlarge|c6a.24xlarge|c6a.32xlarge|c6a.48xlarge|c6a.metal|m6a.metal|i4i.large|i4i.xlarge|i4i.2xlarge|i4i.4xlarge|i4i.8xlarge|i4i.16xlarge|i4i.32xlarge|i4i.metal|x2idn.metal|x2iedn.metal|c7g.medium|c7g.large|c7g.xlarge|c7g.2xlarge|c7g.4xlarge|c7g.8xlarge|c7g.12xlarge|c7g.16xlarge|mac2.metal|c6id.large|c6id.xlarge|c6id.2xlarge|c6id.4xlarge|c6id.8xlarge|c6id.12xlarge|c6id.16xlarge|c6id.24xlarge|c6id.32xlarge|c6id.metal|m6id.large|m6id.xlarge|m6id.2xlarge|m6id.4xlarge|m6id.8xlarge|m6id.12xlarge|m6id.16xlarge|m6id.24xlarge|m6id.32xlarge|m6id.metal|r6id.large|r6id.xlarge|r6id.2xlarge|r6id.4xlarge|r6id.8xlarge|r6id.12xlarge|r6id.16xlarge|r6id.24xlarge|r6id.32xlarge|r6id.metal|r6a.large|r6a.xlarge|r6a.2xlarge|r6a.4xlarge|r6a.8xlarge|r6a.12xlarge|r6a.16xlarge|r6a.24xlarge|r6a.32xlarge|r6a.48xlarge|r6a.metal|p4de.24xlarge|u-3tb1.56xlarge|u-18tb1.112xlarge|u-24tb1.112xlarge|trn1.2xlarge|trn1.32xlarge|hpc6id.32xlarge|c6in.large|c6in.xlarge|c6in.2xlarge|c6in.4xlarge|c6in.8xlarge|c6in.12xlarge|c6in.16xlarge|c6in.24xlarge|c6in.32xlarge|m6in.large|m6in.xlarge|m6in.2xlarge|m6in.4xlarge|m6in.8xlarge|m6in.12xlarge|m6in.16xlarge|m6in.24xlarge|m6in.32xlarge|m6idn.large|m6idn.xlarge|m6idn.2xlarge|m6idn.4xlarge|m6idn.8xlarge|m6idn.12xlarge|m6idn.16xlarge|m6idn.24xlarge|m6idn.32xlarge|r6in.large|r6in.xlarge|r6in.2xlarge|r6in.4xlarge|r6in.8xlarge|r6in.12xlarge|r6in.16xlarge|r6in.24xlarge|r6in.32xlarge|r6idn.large|r6idn.xlarge|r6idn.2xlarge|r6idn.4xlarge|r6idn.8xlarge|r6idn.12xlarge|r6idn.16xlarge|r6idn.24xlarge|r6idn.32xlarge|c7g.metal|m7g.medium|m7g.large|m7g.xlarge|m7g.2xlarge|m7g.4xlarge|m7g.8xlarge|m7g.12xlarge|m7g.16xlarge|m7g.metal|r7g.medium|r7g.large|r7g.xlarge|r7g.2xlarge|r7g.4xlarge|r7g.8xlarge|r7g.12xlarge|r7g.16xlarge|r7g.metal|c6in.metal|m6in.metal|m6idn.metal|r6in.metal|r6idn.metal|inf2.xlarge|inf2.8xlarge|inf2.24xlarge|inf2.48xlarge|trn1n.32xlarge|i4g.large|i4g.xlarge|i4g.2xlarge|i4g.4xlarge|i4g.8xlarge|i4g.16xlarge|hpc7g.4xlarge|hpc7g.8xlarge|hpc7g.16xlarge|c7gn.medium|c7gn.large|c7gn.xlarge|c7gn.2xlarge|c7gn.4xlarge|c7gn.8xlarge|c7gn.12xlarge|c7gn.16xlarge|p5.48xlarge|m7i.large|m7i.xlarge|m7i.2xlarge|m7i.4xlarge|m7i.8xlarge|m7i.12xlarge|m7i.16xlarge|m7i.24xlarge|m7i.48xlarge|m7i-flex.large|m7i-flex.xlarge|m7i-flex.2xlarge|m7i-flex.4xlarge|m7i-flex.8xlarge|m7a.medium|m7a.large|m7a.xlarge|m7a.2xlarge|m7a.4xlarge|m7a.8xlarge|m7a.12xlarge|m7a.16xlarge|m7a.24xlarge|m7a.32xlarge|m7a.48xlarge|m7a.metal-48xl|hpc7a.12xlarge|hpc7a.24xlarge|hpc7a.48xlarge|hpc7a.96xlarge|c7gd.medium|c7gd.large|c7gd.xlarge|c7gd.2xlarge|c7gd.4xlarge|c7gd.8xlarge|c7gd.12xlarge|c7gd.16xlarge|m7gd.medium|m7gd.large|m7gd.xlarge|m7gd.2xlarge|m7gd.4xlarge|m7gd.8xlarge|m7gd.12xlarge|m7gd.16xlarge|r7gd.medium|r7gd.large|r7gd.xlarge|r7gd.2xlarge|r7gd.4xlarge|r7gd.8xlarge|r7gd.12xlarge|r7gd.16xlarge|r7a.medium|r7a.large|r7a.xlarge|r7a.2xlarge|r7a.4xlarge|r7a.8xlarge|r7a.12xlarge|r7a.16xlarge|r7a.24xlarge|r7a.32xlarge|r7a.48xlarge|c7i.large|c7i.xlarge|c7i.2xlarge|c7i.4xlarge|c7i.8xlarge|c7i.12xlarge|c7i.16xlarge|c7i.24xlarge|c7i.48xlarge|mac2-m2pro.metal|r7iz.large|r7iz.xlarge|r7iz.2xlarge|r7iz.4xlarge|r7iz.8xlarge|r7iz.12xlarge|r7iz.16xlarge|r7iz.32xlarge|c7a.medium|c7a.large|c7a.xlarge|c7a.2xlarge|c7a.4xlarge|c7a.8xlarge|c7a.12xlarge|c7a.16xlarge|c7a.24xlarge|c7a.32xlarge|c7a.48xlarge|c7a.metal-48xl|r7a.metal-48xl|r7i.large|r7i.xlarge|r7i.2xlarge|r7i.4xlarge|r7i.8xlarge|r7i.12xlarge|r7i.16xlarge|r7i.24xlarge|r7i.48xlarge|dl2q.24xlarge|mac2-m2.metal|i4i.12xlarge|i4i.24xlarge|c7i.metal-24xl|c7i.metal-48xl|m7i.metal-24xl|m7i.metal-48xl|r7i.metal-24xl|r7i.metal-48xl|r7iz.metal-16xl|r7iz.metal-32xl|c7gd.metal|m7gd.metal|r7gd.metal|g6.xlarge|g6.2xlarge|g6.4xlarge|g6.8xlarge|g6.12xlarge|g6.16xlarge|g6.24xlarge|g6.48xlarge|gr6.4xlarge|gr6.8xlarge|c7i-flex.large|c7i-flex.xlarge|c7i-flex.2xlarge|c7i-flex.4xlarge|c7i-flex.8xlarge|u7i-12tb.224xlarge|u7in-16tb.224xlarge|u7in-24tb.224xlarge|u7in-32tb.224xlarge|u7ib-12tb.224xlarge|c7gn.metal|r8g.medium|r8g.large|r8g.xlarge|r8g.2xlarge|r8g.4xlarge|r8g.8xlarge|r8g.12xlarge|r8g.16xlarge|r8g.24xlarge|r8g.48xlarge|r8g.metal-24xl|r8g.metal-48xl|mac2-m1ultra.metal|g6e.xlarge|g6e.2xlarge|g6e.4xlarge|g6e.8xlarge|g6e.12xlarge|g6e.16xlarge|g6e.24xlarge|g6e.48xlarge|c8g.medium|c8g.large|c8g.xlarge|c8g.2xlarge|c8g.4xlarge|c8g.8xlarge|c8g.12xlarge|c8g.16xlarge|c8g.24xlarge|c8g.48xlarge|c8g.metal-24xl|c8g.metal-48xl|m8g.medium|m8g.large|m8g.xlarge|m8g.2xlarge|m8g.4xlarge|m8g.8xlarge|m8g.12xlarge|m8g.16xlarge|m8g.24xlarge|m8g.48xlarge|m8g.metal-24xl|m8g.metal-48xl|x8g.medium|x8g.large|x8g.xlarge|x8g.2xlarge|x8g.4xlarge|x8g.8xlarge|x8g.12xlarge|x8g.16xlarge|x8g.24xlarge|x8g.48xlarge|x8g.metal-24xl|x8g.metal-48xl|i7ie.large|i7ie.xlarge|i7ie.2xlarge|i7ie.3xlarge|i7ie.6xlarge|i7ie.12xlarge|i7ie.18xlarge|i7ie.24xlarge|i7ie.48xlarge|i8g.large|i8g.xlarge|i8g.2xlarge|i8g.4xlarge|i8g.8xlarge|i8g.12xlarge|i8g.16xlarge|i8g.24xlarge|i8g.metal-24xl|u7i-6tb.112xlarge|u7i-8tb.112xlarge|u7inh-32tb.480xlarge|p5e.48xlarge|p5en.48xlarge|f2.12xlarge|f2.48xlarge|trn2.48xlarge',
                        '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|declarative-policies-report|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|verified-access-endpoint-target|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|i7ie.large|i7ie.xlarge|i7ie.2xlarge|i7ie.3xlarge|i7ie.6xlarge|i7ie.12xlarge|i7ie.18xlarge|i7ie.24xlarge|i7ie.48xlarge|i8g.large|i8g.xlarge|i8g.2xlarge|i8g.4xlarge|i8g.8xlarge|i8g.12xlarge|i8g.16xlarge|i8g.24xlarge|i8g.metal-24xl|u7i-6tb.112xlarge|u7i-8tb.112xlarge|u7inh-32tb.480xlarge|p5e.48xlarge|p5en.48xlarge|f2.12xlarge|f2.48xlarge|trn2.48xlarge',
        '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|declarative-policies-report|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|verified-access-endpoint-target|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|i7ie.large|i7ie.xlarge|i7ie.2xlarge|i7ie.3xlarge|i7ie.6xlarge|i7ie.12xlarge|i7ie.18xlarge|i7ie.24xlarge|i7ie.48xlarge|i8g.large|i8g.xlarge|i8g.2xlarge|i8g.4xlarge|i8g.8xlarge|i8g.12xlarge|i8g.16xlarge|i8g.24xlarge|i8g.metal-24xl|u7i-6tb.112xlarge|u7i-8tb.112xlarge|u7inh-32tb.480xlarge|p5e.48xlarge|p5en.48xlarge|f2.12xlarge|f2.48xlarge|trn2.48xlarge',
                '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' => 'capacity-reservations-only|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|i7ie.large|i7ie.xlarge|i7ie.2xlarge|i7ie.3xlarge|i7ie.6xlarge|i7ie.12xlarge|i7ie.18xlarge|i7ie.24xlarge|i7ie.48xlarge|i8g.large|i8g.xlarge|i8g.2xlarge|i8g.4xlarge|i8g.8xlarge|i8g.12xlarge|i8g.16xlarge|i8g.24xlarge|i8g.metal-24xl|u7i-6tb.112xlarge|u7i-8tb.112xlarge|u7inh-32tb.480xlarge|p5e.48xlarge|p5en.48xlarge|f2.12xlarge|f2.48xlarge|trn2.48xlarge',
    '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>',
        ],
        // ...
    ],
    'NetworkPerformanceOptions' => [
        'BandwidthWeighting' => 'default|vpc-1|ebs-1',
    ],
    'Operator' => [
        'Principal' => '<string>',
    ],
    'Placement' => [
        'Affinity' => '<string>',
        'AvailabilityZone' => '<string>',
        'GroupId' => '<string>',
        'GroupName' => '<string>',
        'HostId' => '<string>',
        'HostResourceGroupArn' => '<string>',
        'PartitionNumber' => <integer>,
        'SpreadDomain' => '<string>',
        'Tenancy' => 'default|dedicated|host',
    ],
    'PrivateDnsNameOptions' => [
        'EnableResourceNameDnsAAAARecord' => true || false,
        'EnableResourceNameDnsARecord' => true || false,
        'HostnameType' => 'ip-name|resource-name',
    ],
    'PrivateIpAddress' => '<string>',
    'RamdiskId' => '<string>',
    'SecurityGroupIds' => ['<string>', ...],
    'SecurityGroups' => ['<string>', ...],
    'SubnetId' => '<string>',
    'TagSpecifications' => [
        [
            'ResourceType' => 'capacity-reservation|client-vpn-endpoint|customer-gateway|carrier-gateway|coip-pool|declarative-policies-report|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|verified-access-endpoint-target|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, and tenancy).

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

Indicates whether termination protection is enabled for the instance. The default is false, which means that you can terminate the instance using the Amazon EC2 console, command line tools, or API. You can enable termination protection when you launch an instance, while the instance is running, or while the instance is stopped.

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.